19 #include "StPicoHelix.h"
20 #include "StPicoPhysicalHelix.h"
22 #if defined (_VANILLA_ROOT_)
23 #include "SystemOfUnits.h"
24 #include "PhysicalConstants.h"
26 #include "StarClassLibrary/SystemOfUnits.h"
27 #include "StarClassLibrary/PhysicalConstants.h"
30 #if defined (__TFG__VERSION__)
31 #include "StPicoTrackCovMatrix.h"
45 virtual void Print(
const Char_t *option =
"")
const;
47 #if defined (__TFG__VERSION__)
48 enum { eTopologyMap = 3 };
50 enum { eTopologyMap = 2 };
58 Int_t
id()
const {
return mId; }
68 Float_t
gPt()
const {
return gMom().Perp(); }
76 TVector3
gMom(TVector3 pVtx, Float_t B)
const;
90 Float_t
gDCAxy(Float_t pVtxX, Float_t pVtxY)
const;
92 Float_t
gDCA(Float_t pVtxX, Float_t pVtxY, Float_t pVtxZ)
const;
94 TVector3
gDCA(TVector3 pVtx)
const;
100 Float_t
gDCAs(TVector3 pVtx)
const;
120 #if defined (__TFG__VERSION__)
121 Float_t dEdxPull(Float_t mass, UChar_t fit = 1, Int_t
charge = 1)
const;
122 Float_t dEdxPullToF(Float_t mass, UChar_t fit = 1, Int_t
charge = 1)
const;
123 Float_t dEdxPullPion()
const {
return dEdxPull(0.13956995,1); }
124 Float_t dEdxPullKaon()
const {
return dEdxPull(0.493677,1); }
125 Float_t dEdxPullProton()
const {
return dEdxPull(0.93827231,1); }
126 Float_t dEdxPullElectron()
const {
return dEdxPull(0.51099907e-3,1); }
146 #if !defined (__TFG__VERSION__)
275 #if !defined (__TFG__VERSION__)
360 #if !defined (__TFG__VERSION__)
377 #if !defined (__TFG__VERSION__)
Float_t gPtot() const
Return global total momentum (GeV/c)
Bool_t isPrimary() const
Return if track is primary.
Float_t dEdxError() const
Return dE/dx error of the track (in GeV/cm)
UChar_t mNHitsMax
Possible number of hits (in TPC)
ULong64_t mTopoMap_iTpc
Topology map for the iTPC.
void setNSigmaKaon(Float_t ns)
Set nSigma(kaon)
Short_t mBEmcPidTraitsIndex
Index of the BEMC pidTratis in the event.
UInt_t topologyMap(UInt_t idx) const
Return track topology map (return 0 in case when requested index is >1)
Float_t mOriginX
Track origin x (DCAx to the primary vertex) in cm.
void setStatus(Char_t k=0)
Set status of the track (0 - not fitted to any vertex, 1 - fitted to a vertex)
StPicoTrack()
Default constructor.
Short_t mNSigmaPion
nSigma(pion) (encoding = nsigma * 1000)
Short_t mNSigmaElectron
nSigma(electron) (encoding = nsigma * 1000)
Float_t mDnDx
Fitted dN/dx.
Float_t mPMomentumY
Py momentum (GeV/c) of the primary track ( 0 if not primary )
Float_t nSigmaKaon() const
Return nSigma(kaon)
Short_t mNSigmaProton
nSigma(proton) (encoding = nsigma * 1000)
UShort_t mChi2
Chi2 of the track (encoding = chi2*1000)
Float_t pPt() const
Return transverse momentum (GeV/c) of the primary track.
Float_t nSigmaPion() const
Return nSigma(pion)
void setTopologyMap(Int_t id, UInt_t word)
Set topology map (2 words)
Bool_t hasSstHit() const
Return if the track has an inner SST hit.
void setDedx(Float_t dEdx)
Set dE/dx of the track.
Bool_t hasHft4Layers() const
Return if track has hits in all 4 layers of silicon.
Float_t dNdxError() const
Return dN/dx error of the track.
void setNSigmaProton(Float_t ns)
Set nSigma(proton)
Short_t mMtdPidTraitsIndex
Index of the MTD pidTratis in the event.
Bool_t isMtdTrack() const
Return if track has MTD hit.
UChar_t mNHitsDedx
Number of hits used for dE/dx estimation (in TPC)
void setiTpcTopologyMap(ULong64_t map)
Set iTPC topology map.
void setGlobalMomentum(TVector3 mom)
Set momentum of the global track.
Int_t nHitsPoss() const
Return number of hits possible.
Float_t mOriginY
Track origin y (DCAy to the primary vertex) in cm.
void setOrigin(Float_t x, Float_t y, Float_t z)
Set origin of the track (DCA point to the primary vertex)
Float16_t mDedxError
dE/dx error (in GeV/cm)
Float_t mDnDxError
Fitted dN/dx error.
void setMcTruth(Int_t index, Int_t qa)
Set index of the corresonding MC track.
void setNSigmaPion(Float_t ns)
Set nSigma(pion)
Bool_t isHft() const
Return if trach has hit in HFT.
Int_t eTofPidTraitsIndex() const
Return index to the corresponding ETOF PID trait.
void setMtdPidTraitsIndex(Int_t index)
Set index to MTD PID traits.
Int_t bemcTowerIndex() const
TVector3 gMom() const
Return momentum (GeV/c) of the global tracks at the point of DCA to the primary vertex.
Float_t dNdx() const
Return dN/dx of the track.
Float_t gDCAs(TVector3 pVtx) const
void setOrigin(Double_t x, Double_t y, Double_t z)
Set origin of the track (DCA point to the primary vertex)
void setChi2(Float_t chi2)
Set chi2 of the track.
Int_t bemcPidTraitsIndex() const
Return index to the corresponding BEMC PID trait.
Bool_t isBemcMatchedExact() const
Float_t gDCAy(Float_t pVtxY) const
Return signed distance in y direction between the value and y position of the DCA point (gDCAy - y) ...
Holds information about track parameters.
Short_t mNSigmaKaon
nSigma(kaon) (encoding = nsigma * 1000)
UInt_t hftHitsMap() const
Return a map of hits in HFT.
Bool_t hasPxl1Hit() const
Return if the track has an inner PXL hit.
Bool_t hasPxl2Hit() const
Return if the track has an outer PXL hit.
void setNHitsPossible(Int_t nhits)
Set nHitsPoss.
Float_t gDCAx(Float_t pVtxX) const
Return signed distance in x direction (cm) between the value and x position of the DCA point (gDCAx -...
void setNSigmaElectron(Float_t ns)
Set nSigma(electron)
TVector3 origin() const
Return space coordinate (cm) of DCA to the primary vertex.
Float_t mGMomentumX
Px component of the momentum (GeV/c) of the global track at DCA to primary vertex.
UShort_t mIdTruth
MC track id.
Float_t chi2() const
Return chi2 of the track.
Short_t mBTofPidTraitsIndex
Index of the BTOF pidTratis in the event.
UShort_t mQATruth
MC track quality (percentage of hits coming from corresponding MC track)
Float_t gDCAxy(Float_t pVtxX, Float_t pVtxY) const
Return distance in xy direction (cm) between the (x,y) point and the DCA point to primary vertex...
void setPrimaryMomentum(Float_t px, Float_t py, Float_t pz)
Set momentum of the primary track.
void setDedxError(Float_t dEdxError)
Set dE/dx error of the track.
Float_t nSigmaElectron() const
Return nSigma(electron)
void setNHitsFit(Int_t nhits)
Set nHitsFit ( charge * nHitsFit )
Bool_t isHFTTrack() const
Return if trach has hit in HFT.
void setETofPidTraitsIndex(Int_t index)
Set index to ETOF PID traits.
void setNHitsMax(Int_t nhits)
Set nHitsPoss.
void setBTofPidTraitsIndex(Int_t index)
Set index to BTOF PID traits.
Int_t nHitsDedx() const
Return number of hits used for dE/dx measurement.
Char_t status() const
Return if the track was fitted to any vertex (0 - not fitted, 1 - fitted)
Int_t vertexIndex() const
Return parent vertex index (-2 if not fitted to any vertex)
Float_t gPt() const
Return global tranverse momentum (GeV/c)
void setNHitsDedx(Int_t nhits)
Set nHitsDedx.
void setBEmcPidTraitsIndex(Int_t index)
Set index to BEMC PID traits.
void setDndx(Float_t dNdx)
Set dN/dx of the track.
Float_t mPMomentumZ
Pz momentum (GeV/c) of the primary track ( 0 if not primary )
TVector3 pMom() const
Return momentum (GeV/c) of the primary track. Return (0,0,0) if not primary track.
Float_t dEdx() const
Return dE/dx (in keV/cm) of the track.
Helis parametrization for the particle.
void setVertexIndex(Int_t index)
Set vertex index to which the track was fitted.
Float_t pPtot() const
Return total momentum (GeV/c) of the primary track.
Bool_t isBemcTrack() const
Return if track has BEMC hit.
Float_t mGMomentumZ
Pz component of the momentum (GeV/c) of the global track at DCA to primary vertex.
void setGlobalMomentum(Double_t px, Double_t py, Double_t pz)
Set momentum of the global track.
Float_t mGMomentumY
Py component of the momentum (GeV/c) of the global track at DCA to primary vertex.
Float_t nSigmaProton() const
Return nSigma(proton)
Bool_t isBemcMatchedTrack() const
Checks if track matches any BEMC tower.
void setId(Int_t id)
Set track ID.
Bool_t isETofTrack() const
Return if track has ETOF hit.
Float16_t mDedx
dE/dx in KeV/cm (dE/dx * 1e6)
void setPrimaryMomentum(Double_t px, Double_t py, Double_t pz)
Set momentum of the primary track.
Int_t nHitsFit() const
Return number of hits fit.
Float_t gDCA(Float_t pVtxX, Float_t pVtxY, Float_t pVtxZ) const
Return distance in xyz direction (cm) between the (x,y,z) point and the DCA point to primary vertex...
Int_t qaTruth() const
Qualtiy of the MC track.
Float_t mOriginZ
Track origin z (DCAy to the primary vertex) in cm.
Float_t gDCAz(Float_t pVtxZ) const
Return signed distance in z direction (cm) between the value and z position of the DCA point (gDCAz -...
virtual ~StPicoTrack()
Destructor.
Bool_t hasIstHit() const
Return if the track has an IST hit.
Short_t mETofPidTraitsIndex
Index of the ETOF pidTratis in the event.
Int_t idTruth() const
Index of the corresponding MC track.
void setGlobalMomentum(Float_t px, Float_t py, Float_t pz)
Set momentum of the global track.
Int_t nHitsMax() const
Return number of hits possible.
Bool_t isTofTrack() const
Return if track has TOF hit.
UInt_t mTopologyMap[eTopologyMap]
Toplogy Map data0 and data1. See StEvent/StTrackTopologyMap.cxx.
void setBEmcMatchedTowerIndex(Int_t index)
Set index of the BEMC tower that matches the track.
Int_t id() const
Return unique Id of the track.
Char_t mNHitsFit
Charge * nHitsFit.
void setOrigin(TVector3 orig)
Set origin of the track (DCA point to the primary vertex)
Int_t mtdPidTraitsIndex() const
Return index to the corresponding MTD PID trait.
virtual void Print(const Char_t *option="") const
Print track parameters.
UShort_t mId
Unique track ID.
Int_t bTofPidTraitsIndex() const
Return index to the corresponding BTOF PID trait.
Int_t nHits() const
Return number of hits.
Short_t mBEmcMatchedTowerIndex
Float_t mPMomentumX
Px momentum (GeV/c) of the primary track ( 0 if not primary )
Char_t mVertexIndex
Parent vertex index. -2 if no vertex.
void setPrimaryMomentum(TVector3 mom)
Set momentum of the primary track.
StPicoPhysicalHelix helix(Float_t const B) const
Helix at point of DCA to StPicoEvent::mPrimaryVertex.
void setDndxError(Float_t dNdxError)
Set dN/dx error of the track.
Short_t charge() const
Return charge of the track (encoded in nHitsFit as: nHitsFit * charge)
ULong64_t iTpcTopologyMap() const
Return topology map for iTPC.