8 |
|
|
9 |
|
class TRootMuon : public TRootParticle |
10 |
|
{ |
11 |
< |
|
11 |
> |
|
12 |
|
public: |
13 |
< |
|
13 |
> |
|
14 |
|
TRootMuon() : |
15 |
|
TRootParticle() |
16 |
|
,et_em_(-9999.) |
38 |
|
,direction_(-9999) |
39 |
|
,algo_(-9999) |
40 |
|
,id_(-9999) |
41 |
– |
,momentumMCMuon_() |
42 |
– |
,vertexMCMuon_() |
43 |
– |
,pdgIdMCMuon_(0) |
41 |
|
{;} |
42 |
< |
|
42 |
> |
|
43 |
|
TRootMuon(const TRootMuon& muon) : |
44 |
|
TRootParticle(muon) |
45 |
|
,et_em_(muon.et_em_) |
67 |
|
,direction_(muon.direction_) |
68 |
|
,algo_(muon.algo_) |
69 |
|
,id_(muon.id_) |
73 |
– |
,momentumMCMuon_(muon.momentumMCMuon_) |
74 |
– |
,vertexMCMuon_(muon.vertexMCMuon_) |
75 |
– |
,pdgIdMCMuon_(muon.pdgIdMCMuon_) |
70 |
|
{;} |
71 |
< |
|
71 |
> |
|
72 |
|
TRootMuon(Double_t px, Double_t py, Double_t pz, Double_t e) : |
73 |
|
TRootParticle(px,py,pz,e) |
74 |
|
,et_em_(-9999.) |
96 |
|
,direction_(-9999) |
97 |
|
,algo_(-9999) |
98 |
|
,id_(-9999) |
105 |
– |
,momentumMCMuon_() |
106 |
– |
,vertexMCMuon_() |
107 |
– |
,pdgIdMCMuon_(0) |
99 |
|
{;} |
100 |
< |
|
100 |
> |
|
101 |
|
TRootMuon(Double_t px, Double_t py, Double_t pz, Double_t e, Double_t vtx_x, Double_t vtx_y, Double_t vtx_z) : |
102 |
|
TRootParticle(px,py,pz,e,vtx_x,vtx_y,vtx_z) |
103 |
|
,et_em_(-9999.) |
125 |
|
,direction_(-9999) |
126 |
|
,algo_(-9999) |
127 |
|
,id_(-9999) |
137 |
– |
,momentumMCMuon_() |
138 |
– |
,vertexMCMuon_() |
139 |
– |
,pdgIdMCMuon_(0) |
128 |
|
{;} |
129 |
< |
|
129 |
> |
|
130 |
|
TRootMuon(Double_t px, Double_t py, Double_t pz, Double_t e, Double_t vtx_x, Double_t vtx_y, Double_t vtx_z, Int_t type, Float_t charge) : |
131 |
|
TRootParticle(px,py,pz,e,vtx_x,vtx_y,vtx_z,type,charge) |
132 |
|
,et_em_(-9999.) |
154 |
|
,direction_(-9999) |
155 |
|
,algo_(-9999) |
156 |
|
,id_(-9999) |
169 |
– |
,momentumMCMuon_() |
170 |
– |
,vertexMCMuon_() |
171 |
– |
,pdgIdMCMuon_(0) |
157 |
|
{;} |
158 |
< |
|
158 |
> |
|
159 |
|
TRootMuon(const TLorentzVector &momentum) : |
160 |
|
TRootParticle(momentum) |
161 |
|
,et_em_(-9999.) |
183 |
|
,direction_(-9999) |
184 |
|
,algo_(-9999) |
185 |
|
,id_(-9999) |
201 |
– |
,momentumMCMuon_() |
202 |
– |
,vertexMCMuon_() |
203 |
– |
,pdgIdMCMuon_(0) |
186 |
|
{;} |
187 |
< |
|
187 |
> |
|
188 |
|
TRootMuon(const TLorentzVector &momentum, const TVector3 &vertex, Int_t type, Float_t charge) : |
189 |
|
TRootParticle(momentum, vertex, type, charge) |
190 |
|
,et_em_(-9999.) |
212 |
|
,direction_(-9999) |
213 |
|
,algo_(-9999) |
214 |
|
,id_(-9999) |
233 |
– |
,momentumMCMuon_() |
234 |
– |
,vertexMCMuon_() |
235 |
– |
,pdgIdMCMuon_(0) |
215 |
|
{;} |
216 |
< |
|
216 |
> |
|
217 |
|
~TRootMuon() {;} |
218 |
< |
|
219 |
< |
|
218 |
> |
|
219 |
> |
|
220 |
|
Float_t et_em() const { return et_em_;} |
221 |
|
Float_t et_emS9() const { return et_emS9_;} |
222 |
|
Float_t et_had() const { return et_had_;} |
261 |
|
Bool_t idTM2DCompatibilityTight() const { return id_ & 64; } |
262 |
|
|
263 |
|
//TObject* genMuon() const { return genMuon_.GetObject() ;} |
285 |
– |
//Int_t muonMCIndex() const { return muonMCIndex_; } |
286 |
– |
TLorentzVector momentumMCMuon() const { return momentumMCMuon_; } |
287 |
– |
TVector3 vertexMCMuon() const { return vertexMCMuon_; } |
288 |
– |
Int_t pdgIdMCMuon() const { return pdgIdMCMuon_; } |
289 |
– |
|
264 |
|
virtual TString typeName() const { return "TRootMuon"; } |
265 |
|
|
266 |
|
|
316 |
|
) |
317 |
|
{ id_ = trackerMuonArbitrated*1 + allArbitrated*2 + globalMuonPromptTight*4 + tmLastStationLoose*8 + tmLastStationTight*16 + tm2DCompatibilityLoose*32 + tm2DCompatibilityTight*64; } |
318 |
|
|
345 |
– |
//void setMuonMCIndex(Int_t muonMCIndex) { muonMCIndex_ = muonMCIndex; } |
346 |
– |
void setMomentumMCMuon(Float_t px, Float_t py, Float_t pz , Float_t energy) { momentumMCMuon_ = TLorentzVector(px,py,pz,energy); } |
347 |
– |
void setVertexMCMuon(TVector3 vertexMCMuon) { vertexMCMuon_ = vertexMCMuon; } |
348 |
– |
void setPdgIdMCMuon(Int_t pdgIdMCMuon) { pdgIdMCMuon_ = pdgIdMCMuon; } |
349 |
– |
|
319 |
|
|
320 |
|
friend std::ostream& operator<< (std::ostream& stream, const TRootMuon& muon) { |
321 |
|
stream << "TRootMuon - Charge=" << muon.charge() << " (Et,eta,phi)=("<< muon.Et() <<","<< muon.Eta() <<","<< muon.Phi() << ") vertex(x,y,z)=("<< muon.vx() <<","<< muon.vy() <<","<< muon.vz() << ")" << endl |
365 |
|
// TMLastStationLoose=0001000 , TMLastStationTight=0010000 , TM2DCompatibilityLoose=0100000 , TM2DCompatibilityTight=1000000 |
366 |
|
Int_t id_; |
367 |
|
|
399 |
– |
TLorentzVector momentumMCMuon_; |
400 |
– |
TVector3 vertexMCMuon_; |
401 |
– |
Int_t pdgIdMCMuon_; |
402 |
– |
|
368 |
|
ClassDef (TRootMuon,1); |
369 |
|
}; |
370 |
|
|