BmnRoot
Loading...
Searching...
No Matches
BmnGlobalTrack.h
Go to the documentation of this file.
1
8#ifndef BmnGlobalTrack_H_
9#define BmnGlobalTrack_H_ 1
10
11#include "BmnTrack.h"
12
25
26class BmnGlobalTrack : public BmnTrack
27{
28 public:
31
33 virtual ~BmnGlobalTrack();
34
36 Int_t GetGemTrackIndex() const { return fGemTrack; }
37 Int_t GetSilTrackIndex() const { return fSilTrack; }
38 Int_t GetSsdTrackIndex() const { return fSsdTrack; }
39 Int_t GetSilHitIndex() const { return -1; }
40 Int_t GetTof1HitIndex() const { return fTof1Hit; }
41 Int_t GetTof2HitIndex() const { return fTof2Hit; }
42 Int_t GetDch1TrackIndex() const { return fDch1Track; }
43 Int_t GetDch2TrackIndex() const { return fDch2Track; }
44 Int_t GetDchTrackIndex() const { return fDchTrack; }
45 vector<Int_t> GetVectorCscHitIndices() const { return fCscHit; }
46 Int_t GetCscHitIndex(Int_t idx) const { return fCscHit.at(idx); }
47 Int_t GetScWallCellId() const { return fScWallCellId; }
48
49 Double_t GetBeta(Int_t tofID) const { return (tofID == 1) ? fBeta400 : (tofID == 2) ? fBeta700 : -1000.0; }
50 Double_t GetMass2(Int_t tofID);
51 Double_t GetScWallSignal() const { return fScWallSignal; }
52 Double_t GetdQdNUpper() const { return fdQdNUpper; }
53 Double_t GetdQdNLower() const { return fdQdNLower; }
54 Int_t GetA() { return fA; }
55 Int_t GetZ() { return fZ; }
56 Double_t GetAoverZ() { return (Double_t)fA / fZ; }
57 Int_t GetPDG() { return fPDG; }
58 Double_t GetPx();
59 Double_t GetPy();
60 Double_t GetPz();
61 Double_t GetPt();
62 Double_t GetEta();
63 Double_t GetPhi();
64 Double_t GetTheta();
65
66 vector<Double_t> GetPidVectorTof400() { return fPidTof400; }
67 vector<Double_t> GetPidVectorTof700() { return fPidTof700; }
68
72
73 Int_t GetRefIndex() { return fRefIndex; }
74 Double_t GetChi2InVertex() { return fChi2InVertex; }
75 Double_t GetDCAInVertex() { return fDCAInVertex; }
76
77 Bool_t IsPrimary() const { return fIsPrimary; }
78
80 void SetGemTrackIndex(Int_t iGem) { fGemTrack = iGem; }
81 void SetSilTrackIndex(Int_t iSil) { fSilTrack = iSil; }
82 void SetSsdTrackIndex(Int_t iSsd) { fSsdTrack = iSsd; }
83 void SetTof1HitIndex(Int_t iTof1Hit) { fTof1Hit = iTof1Hit; }
84 void SetTof2HitIndex(Int_t iTof2Hit) { fTof2Hit = iTof2Hit; }
85 void SetDch1TrackIndex(Int_t iDch1Track) { fDch1Track = iDch1Track; }
86 void SetDch2TrackIndex(Int_t iDch2Track) { fDch2Track = iDch2Track; }
87 void SetDchTrackIndex(Int_t iDch) { fDchTrack = iDch; }
88 void SetScWallCellId(Int_t iScWall) { fScWallCellId = iScWall; }
89 // void SetCscHitIndex(Int_t iCsc) { fCscHit = iCsc; }
90 void AddCscHitIndex(Int_t i, Int_t iCsc) { fCscHit[i] = iCsc; }
91 void SetScWallSignal(Double_t sig) { fScWallSignal = sig; }
92
93 void SetBeta(Double_t b, Int_t tofID);
94 void SetA(Int_t a) { fA = a; }
95 void SetZ(Int_t z) { fZ = z; }
96 void SetPDG(Int_t pdg) { fPDG = pdg; }
97 void SetdQdNLower(Double_t q) { fdQdNLower = q; }
98 void SetdQdNUpper(Double_t q) { fdQdNUpper = q; }
99
100 void SetPrimaryMark(Bool_t p) { fIsPrimary = p; }
101
102 void SetPidVectorTof400(vector<Double_t> v) { fPidTof400 = v; }
103 void SetPidVectorTof700(vector<Double_t> v) { fPidTof700 = v; }
104
105 void SetRefIndex(Int_t idx) { fRefIndex = idx; }
106 void SetChi2InVertex(Double_t chi) { fChi2InVertex = chi; }
107 void SetDCAInVertex(Double_t chi) { fDCAInVertex = chi; }
108
110 // void Print() const;
111
112 private:
114 Int_t fGemTrack;
115 Int_t fSsdTrack;
116 Int_t fSilTrack;
117 Int_t fTof1Hit;
118 Int_t fTof2Hit;
119 Int_t fDch1Track;
120 Int_t fDch2Track;
121 Int_t fDchTrack;
122 Int_t fScWallCellId;
123
124 // vector of indices for 4 zones:
125 // 0. Left small CSC between Magnet and TOF400
126 // 1. Right small CSC between Magnet and TOF400
127 // 2. Left small CSC between TOF400 and TOF700
128 // 3. Right small CSC between TOF400 and TOF700
129 // 4. Large CSC
130 // So size of vector is 5
131 vector<Int_t> fCscHit;
132
133 // members for PID
134 Double_t fScWallSignal;
135 Double_t fBeta400; // l/t/c //for tof-400
136 Double_t fBeta700; // l/t/c //for tof-700
137 Double_t fdQdNUpper; // cluster charge over number of hits in GEM detector for
138 // X' strips
139 Double_t fdQdNLower; // cluster charge over number of hits in GEM detector for
140 // X strips
141 Int_t fA;
142 Int_t fZ;
143 Int_t fPDG;
144 Double_t fChi2InVertex;
145 Double_t fDCAInVertex;
146
147 // fPidTof400 - probability for particle species TOF400
148 // fPidTof700 - probability for particle species TOF700
149 vector<Double_t> fPidTof400;
150 vector<Double_t> fPidTof700;
151
152 Bool_t fIsPrimary; // decision after vertex finder task
153
154 Int_t fRefIndex; // Index of MC track
155
156 ClassDef(BmnGlobalTrack, 4);
157};
158
159#endif
__m128 v
Definition P4_F32vec4.h:1
int i
Definition P4_F32vec4.h:22
PidParticles
void SetPidVectorTof400(vector< Double_t > v)
virtual ~BmnGlobalTrack()
void SetSilTrackIndex(Int_t iSil)
void SetChi2InVertex(Double_t chi)
Double_t GetPt()
void SetScWallSignal(Double_t sig)
Double_t GetMass2(Int_t tofID)
Int_t GetSilHitIndex() const
Double_t GetPz()
vector< Int_t > GetVectorCscHitIndices() const
void SetPrimaryMark(Bool_t p)
Double_t GetdQdNUpper() const
void SetGemTrackIndex(Int_t iGem)
Double_t GetChi2InVertex()
Int_t GetSsdTrackIndex() const
void SetZ(Int_t z)
void AddCscHitIndex(Int_t i, Int_t iCsc)
Int_t GetTof2HitIndex() const
Int_t GetDchTrackIndex() const
vector< Double_t > GetPidVectorTof700()
Double_t GetDCAInVertex()
Int_t GetDch2TrackIndex() const
void SetA(Int_t a)
void SetDch1TrackIndex(Int_t iDch1Track)
PidParticles GetParticleTof400()
Double_t GetPhi()
void SetTof2HitIndex(Int_t iTof2Hit)
void SetDchTrackIndex(Int_t iDch)
Int_t GetCscHitIndex(Int_t idx) const
void SetDCAInVertex(Double_t chi)
void SetSsdTrackIndex(Int_t iSsd)
void SetdQdNUpper(Double_t q)
Int_t GetGemTrackIndex() const
Double_t GetBeta(Int_t tofID) const
PidParticles GetParticle()
Bool_t IsPrimary() const
Double_t GetPy()
void SetPidVectorTof700(vector< Double_t > v)
void SetBeta(Double_t b, Int_t tofID)
Int_t GetSilTrackIndex() const
Double_t GetScWallSignal() const
Double_t GetPx()
PidParticles GetParticleTof700()
Int_t GetTof1HitIndex() const
void SetRefIndex(Int_t idx)
void SetdQdNLower(Double_t q)
Double_t GetEta()
Double_t GetTheta()
void SetDch2TrackIndex(Int_t iDch2Track)
void SetScWallCellId(Int_t iScWall)
void SetPDG(Int_t pdg)
vector< Double_t > GetPidVectorTof400()
Double_t GetAoverZ()
Int_t GetDch1TrackIndex() const
Double_t GetdQdNLower() const
void SetTof1HitIndex(Int_t iTof1Hit)
Int_t GetScWallCellId() const
PidParticles
@ PidDeuteron
@ PidKaon
@ PidTriton
@ PidProton
@ EndPidEnum
@ PidHelium4
@ PidElectron
@ PidPion
@ PidHelium3