8#ifndef CDCTRIGGERTRACK_H
9#define CDCTRIGGERTRACK_H
11#include <framework/dataobjects/Helix.h>
12#include <framework/geometry/BFieldManager.h>
39#pragma GCC diagnostic push
40#pragma GCC diagnostic ignored "-Wuninitialized"
42 const std::vector<bool>& foundoldtrack,
43 const std::vector<bool>& driftthreshold,
44 bool valstereobit =
false,
88 double z0,
double cotTheta,
double chi3D,
89 const std::vector<bool>& foundoldtrack = std::vector<bool>(6,
false),
90 const std::vector<bool>& driftthreshold = std::vector<bool>(9,
false),
91 bool valstereobit =
false,
93 const std::vector<unsigned>& tsvector = std::vector<unsigned>(9, 0),
94 short time = 0,
short quadrant = -1,
95 unsigned qualityvector = 0):
121 return getTransverseMomentum(bField);
164 void setRawOmega(
const int omega)
168 void setRawZ(
const int z)
172 void setRawTheta(
const int theta)
176 void setRawInput(
const std::vector<int> input)
180 void setNNTToGDL(
const bool nntgdl)
184 void setSTTToGDL(
const bool sttgdl)
188 int getRawPhi0()
const {
return m_rawphi0;}
189 int getRawOmega()
const {
return m_rawomega;}
190 int getRawZ()
const {
return m_rawz;}
191 int getRawTheta()
const {
return m_rawtheta;}
192 std::vector<int> getRawInput()
const {
return m_rawinput;}
193 bool getNNTToGDL()
const {
return m_nntgdl;}
194 bool getSTTToGDL()
const {
return m_sttgdl;}
238 std::vector<int> m_rawinput;
Track created by the CDC trigger.
ClassDef(CDCTriggerTrack, 14)
Needed to make the ROOT object storable.
bool m_valstereobit
store if at least 3 valid stereo ts were found in the NNInput
std::vector< bool > getFoundOldTrack() const
returns true, if old 2dtrack was found
float getTime() const
get the track found time
short m_quadrant
iTracker of the unpacked quadrant
void setRawPhi0(const int phi0)
setter and getter functions for raw track values
int m_expert
store value for used expert network
CDCTriggerTrack()
default constructor, initializing everything to 0.
int m_etf_unpacked
unpacked etf time from the unpacker
CDCTriggerTrack(double phi0, double omega, double chi2, const std::vector< bool > &foundoldtrack, const std::vector< bool > &driftthreshold, bool valstereobit=false, int expert=-1, short time=0, short quadrant=-1)
2D constructor, initializing 3D values to 0.
bool m_sttgdl
stt decision that the firmware passed to gdl
int getExpert() const
return sl pattern of neurotrack
float getChi3D() const
get chi2 value of 3D fitter
int m_etf_recalced
etf time recalculated from the hw input
unsigned m_qualityvector
store bits for different quality flags.
float m_chi3D
chi2 value from 3D fitter
bool getValidStereoBit() const
returns true, if at least 3 stereo ts were found
void setQualityVector(const unsigned newbits)
setter and getter for the quality vector.
int m_rawphi0
values to store the raw network and 2dfinder output
~CDCTriggerTrack()
destructor, empty because we don't allocate memory anywhere.
short getQuadrant() const
get the quadrant
std::vector< bool > m_driftthreshold
store if drift time was within the timing window
float getChi2D() const
get chi2 value of 2D fitter
std::vector< unsigned > getTSVector() const
return the vector of used Track Segments.
bool m_nntgdl
nnt decision that the firmware passed to gdl
int getETF_unpacked() const
getter and setter functions for etf timing
std::vector< unsigned > m_tsvector
store which track segments were used.
bool m_hasETFTime
chi2 value from 2D fitter
double getPt() const
get the absolute value of the transverse momentum at the perigee assuming d0 = 0
std::vector< bool > getDriftThreshold() const
returns true, if the drift time was fitted into the time window
CDCTriggerTrack(double phi0, double omega, double chi2D, double z0, double cotTheta, double chi3D, const std::vector< bool > &foundoldtrack=std::vector< bool >(6, false), const std::vector< bool > &driftthreshold=std::vector< bool >(9, false), bool valstereobit=false, int expert=-1, const std::vector< unsigned > &tsvector=std::vector< unsigned >(9, 0), short time=0, short quadrant=-1, unsigned qualityvector=0)
3D constructor
std::vector< bool > m_foundoldtrack
array to store whether an old 2dtrack was found
short m_time
number of trigger clocks of (the track output - L1 trigger)
double phi0(void) const
Return helix parameter phi0.
HepPoint3D x(double dPhi=0.) const
returns position after rotating angle dPhi in phi direction.
static const double T
[tesla]
static void getField(const double *pos, double *field)
return the magnetic field at a given position.
Abstract base class for different kinds of events.