8 #ifndef StPicoMcTrack_h
9 #define StPicoMcTrack_h
17 #include "TLorentzVector.h"
20 #include "StPicoHelix.h"
21 #include "StPicoPhysicalHelix.h"
23 #if defined (_VANILLA_ROOT_)
24 #include "SystemOfUnits.h"
25 #include "PhysicalConstants.h"
27 #include "StarClassLibrary/SystemOfUnits.h"
28 #include "StarClassLibrary/PhysicalConstants.h"
43 virtual void Print(
const Char_t *option =
"")
const;
46 enum EHIT {ktpc, ksvt, kssd, kctb, keem, kemc, kesm,
47 kftp, kgem, khpd, kist, kigt, kfst, kfgt,
48 kfpd, kmwc, kpgc, kpmd, ksmd, kpix, ktof,
49 kvpd, ketr, khca, kfts, keto, kstg, kwca,
57 Int_t
id()
const {
return mId; }
61 Int_t
geantId()
const {
return (Int_t)mGePid; }
63 Int_t
charge()
const {
return (Int_t)mCharge; }
65 TVector3
p()
const {
return TVector3(mPx, mPy, mPz); }
67 Float_t
pt()
const {
return p().Perp(); }
69 Float_t
ptot()
const {
return p().Mag(); }
71 Float_t
eta()
const {
return p().PseudoRapidity(); }
73 TLorentzVector
fourMomentum()
const {
return TLorentzVector(mPx,mPy,mPz,mE); }
75 Float_t
energy()
const {
return mE; }
88 { Int_t n=0;
for (Int_t i=ktpc; i<ktot; i++) n+=
nHits(i);
return n; }
90 UChar_t
nHits(Int_t k)
const {
return mHits[k]; }
92 UChar_t
nHitsCtb()
const {
return mHits[kctb]; }
98 UChar_t
nHitsEsm()
const {
return mHits[kesm]; }
161 void setId(Int_t
id);
169 void setNHits(Int_t k, UChar_t n) { mHits[k] = n; }
171 void setP(Float_t px, Float_t py, Float_t pz) { mPx = px; mPy = py; mPz = pz; }
173 void setE(Float_t e) { mE = e; }
206 Bool_t mIsFromShower;
217 #endif // #define StPicoMcTrack_h
void setE(Float_t e)
Set energy.
UChar_t nHitsEtr() const
Return number of hits in ETR.
UChar_t nHitsPxl() const
Return number of hits in PXL.
UChar_t nHitsMwc() const
Return number of hits in MWC.
StPicoMcTrack()
Default constructor.
Float_t pt() const
Return pT of the track.
void setIdVtxStop(Int_t id)
Set stop MC vertex index.
UChar_t nHitsBEmc() const
Return number of hits in BEMC.
UChar_t nHitsEpd() const
Return number of hits in EPD.
UChar_t nHitsPmd() const
Return number of hits in PMD.
UChar_t nHitsTpc() const
Return number of hits in TPC.
UChar_t nHitsBsmd() const
Return number of hits in BSMD.
Int_t geantId() const
Return particle ID defined by GEANT (accordingly to GPART)
UChar_t nHitsIgt() const
Return number of hits in IGT.
Int_t pdgId() const
Return particle ID defined by PDG.
UChar_t nHitsPgc() const
Return number of hits in PGC.
const Char_t * geName()
Return particle names (GEANT ID according to GPART)
UChar_t nHitsIst() const
Return number of hits in IST.
Int_t id() const
Return MC track ID (GEANT track ID)
UChar_t nHitsFtpc() const
Return number of hits in forward TPC.
void setIsFromShower(Bool_t isFrom)
Set flag if track comes from shower.
UChar_t nHitsTof() const
Return number of hits in TOF.
UChar_t nHitsFgt() const
Return number of hits in FGT.
UChar_t nHitsGem() const
Return number of hits in barrel GEM.
UChar_t nHitsStg() const
Return number of hits in STG.
UChar_t nHitsHca() const
Return number of hits in HCA.
Int_t idVtxStop() const
ID of stop MC vertex.
UChar_t nHitsWca() const
Return number of hits in WCA.
Int_t nHits() const
Return total number of hits.
UChar_t nHitsFpd() const
Return number of hits in FPD.
UChar_t nHitsSvt() const
Return number of hits in SVT.
void setId(Int_t id)
Set MC track ID (primary key/GEANT track ID)
Int_t correctGePid(Int_t id)
Return corrected GePid (to take embedding into account)
UChar_t nHitsFts() const
Return number of hits in FTS.
void setNHits(Int_t k, UChar_t n)
Int_t idVtxItrmd() const
ID of intermediate MC vertex.
Int_t idVtxStart() const
ID of start MC vertex.
UChar_t nHitsVpd() const
Return number of hits in VPD.
Float_t ptot() const
Return track total momentum.
Holds information about Monte Carlo track parameters.
UChar_t nHitsFst() const
Return number of hits in FST.
UChar_t nHitsEsm() const
Return number of hits in EEMC shower max detector.
virtual void Print(const Char_t *option="") const
Print MC track parameters.
Bool_t isFromShower() const
Check if track is from shower.
Float_t rapidity() const
Rapidity of the track.
Float_t energy() const
Energy of the track.
UChar_t nHitsCtb() const
Return number of hits in CTB.
TVector3 p() const
Return track three-momentum.
Int_t charge() const
Return charge of the particle.
UChar_t nHits(Int_t k) const
Return number of hits in a given detector.
virtual ~StPicoMcTrack()
Destructor.
void setIdVtxStart(Int_t id)
Set start MC vertex index.
UChar_t nHitsSsd() const
Return number of hits in SSD.
UChar_t nHitsPre() const
Return number of hits in PRE.
Float_t eta() const
Return pseudorapidity of the track.
UChar_t nHitsEto() const
Return number of hits in ETO.
TLorentzVector fourMomentum() const
Four-momentum of the track.
UChar_t nHitsHpd() const
Return number of hits in HPD.
void setIdVtxItrmd(Int_t id)
Set first intermediate MC vertex index.
UChar_t nHitsEEmc() const
Return number of hits in EEMC.
void setGeantId(Int_t id)
Set GEANT ID (according to GPART)
void setCharge(Int_t charge)
Set particle charge.
void setP(Float_t px, Float_t py, Float_t pz)
Set three-momentum.