Classes | Typedefs | Functions | Variables
bpfit Namespace Reference

Classes

class  BPException
 
class  BPFdEdxHistoMaker
 
class  BPFEnergy
 
class  BPFEnergyAna
 
class  BPFEnergyEstimator
 
class  BPFEnergyEstimatorOnly
 
class  BPFPId
 
class  BPFPIdMaker
 
class  BPFTmvaTrainer
 
class  BreakPoint
 
class  BreakPointAna
 
class  BreakPointProtonAna
 
class  dEdxCalculator
 
class  dEdxTable
 Tables of mean energy loss in NOvA materials. More...
 
class  DimuonFitter
 
class  Hit3D
 
class  HitList3D
 Essential 3D information for tracking. More...
 
class  Lutz
 Break-point track fitter. More...
 
class  Path
 Track parameters (s, X0, KE, beta, ...) along a particular path in the detector. More...
 
class  ScatteringSurfaces
 Construct scattering surfaces for Lutz. More...
 
class  TrackBasis
 

Typedefs

typedef void(* Interp3D) (Hit3D &h, HitList3D &hl)
 

Functions

unsigned int HighestPIDTrack (const std::vector< art::Ptr< rb::Track > > &sliceTracks, const std::string &bpfpidModuleLabel, const int &pdg, const art::Event &e)
 

Variables

const unsigned int kBAD_KE = 1
 negative KE value < tol More...
 
const unsigned int kBAD_RADL = 2
 non-positive radiation length More...
 
const unsigned int kNn = 3
 number of scat surf >= number of measurements More...
 
const unsigned int kINDEX = 4
 index problem More...
 
const unsigned int kNAN = 5
 nan encountered More...
 
const unsigned int kSIGX = 6
 non-positive value of sigx More...
 
const unsigned int kSIGSJ = 7
 non-positive value of sigSJ More...
 
const unsigned int kBAD_P = 8
 negative value for p More...
 
const unsigned int kBAD_BETA = 9
 negative value for beta More...
 
const unsigned int kBAD_NDOF = 10
 too few hits used to make the track More...
 
const unsigned int kNPLANES = 11
 too few planes in one (or both) views More...
 
const unsigned int kBAD_TRACK = 12
 a generic catch-all category for tracking failures More...
 

Typedef Documentation

typedef void(* bpfit::Interp3D) (Hit3D &h, HitList3D &hl)

Definition at line 55 of file HitList3D.h.

Function Documentation

unsigned int bpfit::HighestPIDTrack ( const std::vector< art::Ptr< rb::Track > > &  sliceTracks,
const std::string bpfpidModuleLabel,
const int pdg,
const art::Event e 
)

Function which finds index of the best BPF track among a vector of tracks. Requires the event to fetch associated BPF objects and the module label

Definition at line 45 of file BPFPId.cxx.

References plot_validation_datamc::c, geo::kXorY, make_root_from_grid_output::pdg, and POTSpillRate::view.

50  {
51  int bestTrack = -1;
52  double highestPID = -2.0;
53  // double bestTrackLength = 0.0;
54  // double bestStartZ = std::numeric_limits<double>::max();
55  // double bestADC = std::numeric_limits<double>::max();
56 
57  art::FindManyP<bpfit::BPFPId> tracksToBPFPId(sliceTracks, e, bpfpidModuleLabel);
58 
59  for(size_t c = 0; c < sliceTracks.size(); ++c){
60  geo::View_t view = sliceTracks[c]->View();
61  //Only use 3D tracks
62  if (view != geo::kXorY){
63  continue;
64  } //End of loop over 2d tracks
65 
66  if(tracksToBPFPId.isValid()){
67  std::vector<art::Ptr<bpfit::BPFPId > > trackBPFPId = tracksToBPFPId.at(c);
68  // If the PID is lower, we can bail, nothing to update
69  if(trackBPFPId.size() == 0) continue;
70  if(trackBPFPId.at(0)->Pdg() != pdg) continue;
71  if(trackBPFPId.at(0)->Value() > highestPID){
72 
73  highestPID = trackBPFPId.at(0)->Value();
74  // bestTrackLength = sliceTracks[c]->TotalLength();
75  // bestStartZ = sliceTracks[c]->Start().Z();
76  // bestADC = sliceTracks[c]->TotalADC();
77  bestTrack = c;
78  }
79  //else -- handle a tie between two BPFPId scores //FIXME
80 
81 
82  }//End of valid BPFPId object
83 
84  }//End of for loop over tracks
85 
86 
87  if (bestTrack < 0)
88  return 999;
89 
90  return (unsigned int)bestTrack;
91 
92  }
X or Y views.
Definition: PlaneGeo.h:30
enum geo::_plane_proj View_t
Enumerate the possible plane projections.

Variable Documentation

const unsigned int bpfit::kBAD_BETA = 9

negative value for beta

Definition at line 26 of file BPException.h.

Referenced by bpfit::BPException::Print().

const unsigned int bpfit::kBAD_KE = 1

negative KE value < tol

Definition at line 18 of file BPException.h.

Referenced by bpfit::Path::Interp(), bpfit::BPException::Print(), and bpfit::Path::TPBG().

const unsigned int bpfit::kBAD_NDOF = 10

too few hits used to make the track

Definition at line 27 of file BPException.h.

Referenced by bpfit::BreakPoint::FitTracks(), and bpfit::BPException::Print().

const unsigned int bpfit::kBAD_P = 8

negative value for p

Definition at line 25 of file BPException.h.

Referenced by bpfit::ScatteringSurfaces::CheckLimits(), and bpfit::BPException::Print().

const unsigned int bpfit::kBAD_RADL = 2

non-positive radiation length

Definition at line 19 of file BPException.h.

Referenced by bpfit::Path::IntegrateLeg(), and bpfit::BPException::Print().

const unsigned int bpfit::kBAD_TRACK = 12

a generic catch-all category for tracking failures

Definition at line 29 of file BPException.h.

Referenced by bpfit::Path::Dir(), and bpfit::BPException::Print().

const unsigned int bpfit::kINDEX = 4
const unsigned int bpfit::kNAN = 5

nan encountered

Definition at line 22 of file BPException.h.

Referenced by bpfit::BPException::Print(), bpfit::Lutz::SetMeasurement(), and bpfit::Lutz::SetScatteringPlane().

const unsigned int bpfit::kNn = 3

number of scat surf >= number of measurements

Definition at line 20 of file BPException.h.

Referenced by bpfit::Lutz::Lutz(), and bpfit::BPException::Print().

const unsigned int bpfit::kNPLANES = 11

too few planes in one (or both) views

Definition at line 28 of file BPException.h.

Referenced by bpfit::BreakPoint::FitTracks(), and bpfit::BPException::Print().

const unsigned int bpfit::kSIGSJ = 7

non-positive value of sigSJ

Definition at line 24 of file BPException.h.

Referenced by bpfit::BPException::Print(), and bpfit::Lutz::SetScatteringPlane().

const unsigned int bpfit::kSIGX = 6

non-positive value of sigx

Definition at line 23 of file BPException.h.

Referenced by bpfit::BPException::Print(), and bpfit::Lutz::SetMeasurement().