Belle II Software  release-05-02-19
CDCTriggerTrack.h
1 #ifndef CDCTRIGGERTRACK_H
2 #define CDCTRIGGERTRACK_H
3 
4 #include <framework/dataobjects/Helix.h>
5 #include <framework/geometry/BFieldManager.h>
6 #include <TVector3.h>
7 
8 namespace Belle2 {
15  class CDCTriggerTrack : public Helix {
16  public:
19  false), m_valstereobit(false) , m_expert(-1), m_tsvector(9, false) { }
20 
29  CDCTriggerTrack(double phi0, double omega, double chi2, std::vector<bool> foundoldtrack, std::vector<bool> driftthreshold,
30  bool valstereobit, int expert = -1, short time = 0, short quadrant = -1):
31  Helix(0., phi0, omega, 0., 0.), m_chi2D(chi2), m_chi3D(0.), m_time(time), m_quadrant(quadrant), m_foundoldtrack(foundoldtrack),
32  m_driftthreshold(driftthreshold), m_valstereobit(valstereobit), m_expert(expert), m_tsvector(9, false) { }
33 
34  CDCTriggerTrack(double phi0, double omega, double chi2D, double z0, double cotTheta, double chi3D, std::vector<bool> foundoldtrack,
35  std::vector<bool> driftthreshold,
36  bool valstereobit, int expert, std::vector<bool> tsvector, short time = 0, short quadrant = -1):
37  Helix(0., phi0, omega, z0, cotTheta), m_chi2D(chi2D), m_chi3D(chi3D), m_time(time), m_quadrant(quadrant),
38  m_foundoldtrack(foundoldtrack),
39  m_driftthreshold(driftthreshold), m_valstereobit(valstereobit), m_expert(expert), m_tsvector(tsvector) { }
40 
41  CDCTriggerTrack(double phi0, double omega, double chi2, short time = 0, short quadrant = -1):
42  Helix(0., phi0, omega, 0., 0.), m_chi2D(chi2), m_chi3D(0.), m_time(time), m_quadrant(quadrant), m_foundoldtrack(6, false),
43  m_driftthreshold(9, false), m_valstereobit(false), m_expert(-1), m_tsvector(9, false) { }
44 
55  CDCTriggerTrack(double phi0, double omega, double chi2D,
56  double z0, double cotTheta, double chi3D, short time = 0, short quadrant = -1):
57  Helix(0., phi0, omega, z0, cotTheta), m_chi2D(chi2D), m_chi3D(chi3D), m_time(time), m_quadrant(quadrant), m_foundoldtrack(6, false),
58  m_driftthreshold(9, false), m_valstereobit(false), m_expert(-1), m_tsvector(9, false) { }
59 
62 
63  // accessors
65  float getChi2D() const { return m_chi2D; }
67  float getChi3D() const { return m_chi3D; }
69  float getTime() const { return m_time; }
73  double getPt() const
74  {
75  const double bField = BFieldManager::getField(TVector3(0, 0, getZ0())).Z() / Unit::T;
76  return getTransverseMomentum(bField);
77  }
79  short getQuadrant()
80  {
81  return m_quadrant;
82  }
84  std::vector<bool> getFoundOldTrack() const {return m_foundoldtrack;}
85 
87  bool getValidStereoBit() const {return m_valstereobit;}
88 
90  std::vector<bool> getDriftThreshold() const {return m_driftthreshold;}
91 
93  int getExpert() const {return m_expert;}
94 
97  std::vector<bool> getTSVector() const {return m_tsvector;}
98 
99  protected:
101  float m_chi2D;
103  float m_chi3D;
105  short m_time;
107  short m_quadrant;
109  std::vector<bool> m_foundoldtrack;
111  std::vector<bool> m_driftthreshold;
115  int m_expert;
118  std::vector<bool> m_tsvector;
121  };
123 }
124 #endif
Belle2::CDCTriggerTrack::m_foundoldtrack
std::vector< bool > m_foundoldtrack
array to store wether an old 2dtrack was found
Definition: CDCTriggerTrack.h:109
Belle2::BFieldManager::getField
static void getField(const double *pos, double *field)
return the magnetic field at a given position.
Definition: BFieldManager.h:110
Belle2::CDC::Helix::phi0
double phi0(void) const
Return helix parameter phi0.
Definition: Helix.h:391
Belle2::CDCTriggerTrack::getExpert
int getExpert() const
return sl pattern of neurotrack
Definition: CDCTriggerTrack.h:93
Belle2::CDCTriggerTrack
Track created by the CDC trigger.
Definition: CDCTriggerTrack.h:15
Belle2::CDCTriggerTrack::m_chi2D
float m_chi2D
chi2 value from 2D fitter
Definition: CDCTriggerTrack.h:101
Belle2::CDCTriggerTrack::m_tsvector
std::vector< bool > m_tsvector
store which track segments were used.
Definition: CDCTriggerTrack.h:118
Belle2::CDCTriggerTrack::CDCTriggerTrack
CDCTriggerTrack()
default constructor, initializing everything to 0.
Definition: CDCTriggerTrack.h:18
Belle2::CDCTriggerTrack::m_time
short m_time
number of trigger clocks of (the track output - L1 trigger)
Definition: CDCTriggerTrack.h:105
Belle2::CDCTriggerTrack::CDCTriggerTrack
CDCTriggerTrack(double phi0, double omega, double chi2, std::vector< bool > foundoldtrack, std::vector< bool > driftthreshold, bool valstereobit, int expert=-1, short time=0, short quadrant=-1)
2D constructor, initializing 3D values to 0.
Definition: CDCTriggerTrack.h:29
Belle2::CDCTriggerTrack::getTime
float getTime() const
get the track found time
Definition: CDCTriggerTrack.h:69
Belle2::CDCTriggerTrack::getQuadrant
short getQuadrant()
get the quadrant
Definition: CDCTriggerTrack.h:79
Belle2::CDCTriggerTrack::getChi3D
float getChi3D() const
get chi2 value of 3D fitter
Definition: CDCTriggerTrack.h:67
Belle2::CDCTriggerTrack::m_chi3D
float m_chi3D
chi2 value from 3D fitter
Definition: CDCTriggerTrack.h:103
Belle2::Unit::T
static const double T
[tesla]
Definition: Unit.h:130
Belle2::CDCTriggerTrack::getChi2D
float getChi2D() const
get chi2 value of 2D fitter
Definition: CDCTriggerTrack.h:65
Belle2::CDCTriggerTrack::m_driftthreshold
std::vector< bool > m_driftthreshold
store if drift time was within the timing window
Definition: CDCTriggerTrack.h:111
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::CDCTriggerTrack::getPt
double getPt() const
get the absolute value of the transverse momentum at the perigee assuming d0 = 0
Definition: CDCTriggerTrack.h:73
Belle2::CDCTriggerTrack::CDCTriggerTrack
CDCTriggerTrack(double phi0, double omega, double chi2D, double z0, double cotTheta, double chi3D, short time=0, short quadrant=-1)
3D constructor
Definition: CDCTriggerTrack.h:55
Belle2::CDCTriggerTrack::m_expert
int m_expert
store value for used expert network
Definition: CDCTriggerTrack.h:115
Belle2::CDC::Helix
Helix parameter class.
Definition: Helix.h:51
Belle2::CDCTriggerTrack::ClassDef
ClassDef(CDCTriggerTrack, 8)
Needed to make the ROOT object storable.
Belle2::CDCTriggerTrack::getDriftThreshold
std::vector< bool > getDriftThreshold() const
returns true, if the drift time was fitted into the time window
Definition: CDCTriggerTrack.h:90
Belle2::CDCTriggerTrack::getFoundOldTrack
std::vector< bool > getFoundOldTrack() const
returns true, if old 2dtrack was found
Definition: CDCTriggerTrack.h:84
Belle2::CDCTriggerTrack::m_valstereobit
bool m_valstereobit
store if at least 3 valid stereo ts were found in the NNInput
Definition: CDCTriggerTrack.h:113
Belle2::CDCTriggerTrack::~CDCTriggerTrack
~CDCTriggerTrack()
destructor, empty because we don't allocate memory anywhere.
Definition: CDCTriggerTrack.h:61
Belle2::CDC::Helix::Helix
Helix(const HepPoint3D &pivot, const HepVector &a, const HepSymMatrix &Ea)
Constructor with pivot, helix parameter a, and its error matrix.
Definition: Helix.cc:134
Belle2::CDCTriggerTrack::getValidStereoBit
bool getValidStereoBit() const
returns true, if at least 3 stereo ts were found
Definition: CDCTriggerTrack.h:87
Belle2::CDCTriggerTrack::getTSVector
std::vector< bool > getTSVector() const
return the vector of used Track Segments.
Definition: CDCTriggerTrack.h:97
Belle2::CDCTriggerTrack::m_quadrant
short m_quadrant
iTracker of the unpacked quadrant
Definition: CDCTriggerTrack.h:107