ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/Morgan/interface/TRootMuon.h
(Generate patch)

Comparing UserCode/Morgan/interface/TRootMuon.h (file contents):
Revision 1.10 by lethuill, Fri Apr 17 15:17:38 2009 UTC vs.
Revision 1.12 by lethuill, Tue Apr 21 17:08:53 2009 UTC

# Line 37 | Line 37 | public:
37                  ,direction_(-9999)
38                  ,algo_(-9999)
39                  ,id_(-9999)
40 +                ,numberOfValidPixelHits_(-1)
41 +                ,numberOfValidTrackerHits_(-1)
42                  ,pixelLayersWithMeasurement_(-1)
43                  ,stripLayersWithMeasurement_(-1)
44                  ,d0_(-9999.)
# Line 48 | Line 50 | public:
50                  ,etaError_(-9999.)
51                  ,phiError_(-9999.)
52                  ,ip3DSignificance_(-9999.)
53 +                ,innerTrack_(0.,0.,0.,0.)
54 +                ,outerTrack_(0.,0.,0.,0.)
55 +                ,globalTrack_(0.,0.,0.,0.)
56                  {;}
57  
58          TRootMuon(const TRootMuon& muon) :
# Line 77 | Line 82 | public:
82                  ,direction_(muon.direction_)
83                  ,algo_(muon.algo_)
84                  ,id_(muon.id_)
85 +                ,numberOfValidPixelHits_(muon.numberOfValidPixelHits_)
86 +                ,numberOfValidTrackerHits_(muon.numberOfValidTrackerHits_)
87                  ,pixelLayersWithMeasurement_(muon.pixelLayersWithMeasurement_)
88                  ,stripLayersWithMeasurement_(muon.stripLayersWithMeasurement_)
89                  ,d0_(muon.d0_)
# Line 88 | Line 95 | public:
95                  ,etaError_(muon.etaError_)
96                  ,phiError_(muon.phiError_)
97                  ,ip3DSignificance_(muon.ip3DSignificance_)
98 +                ,innerTrack_(muon.innerTrack_)
99 +                ,outerTrack_(muon.outerTrack_)
100 +                ,globalTrack_(muon.globalTrack_)
101                  {;}
102  
103          TRootMuon(Double_t px, Double_t py, Double_t pz, Double_t e) :
# Line 117 | Line 127 | public:
127                  ,direction_(-9999)
128                  ,algo_(-9999)
129                  ,id_(-9999)
130 +                ,numberOfValidPixelHits_(-1)
131 +                ,numberOfValidTrackerHits_(-1)
132                  ,pixelLayersWithMeasurement_(-1)
133                  ,stripLayersWithMeasurement_(-1)
134                  ,d0_(-9999.)
# Line 128 | Line 140 | public:
140                  ,etaError_(-9999.)
141                  ,phiError_(-9999.)
142                  ,ip3DSignificance_(-9999.)
143 +                ,innerTrack_(0.,0.,0.,0.)
144 +                ,outerTrack_(0.,0.,0.,0.)
145 +                ,globalTrack_(0.,0.,0.,0.)
146                  {;}
147  
148          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) :
# Line 157 | Line 172 | public:
172                  ,direction_(-9999)
173                  ,algo_(-9999)
174                  ,id_(-9999)
175 +                ,numberOfValidPixelHits_(-1)
176 +                ,numberOfValidTrackerHits_(-1)
177                  ,pixelLayersWithMeasurement_(-1)
178                  ,stripLayersWithMeasurement_(-1)
179                  ,d0_(-9999.)
# Line 168 | Line 185 | public:
185                  ,etaError_(-9999.)
186                  ,phiError_(-9999.)
187                  ,ip3DSignificance_(-9999.)
188 +                ,innerTrack_(0.,0.,0.,0.)
189 +                ,outerTrack_(0.,0.,0.,0.)
190 +                ,globalTrack_(0.,0.,0.,0.)
191                  {;}
192  
193          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) :
# Line 197 | Line 217 | public:
217                  ,direction_(-9999)
218                  ,algo_(-9999)
219                  ,id_(-9999)
220 +                ,numberOfValidPixelHits_(-1)
221 +                ,numberOfValidTrackerHits_(-1)
222                  ,pixelLayersWithMeasurement_(-1)
223                  ,stripLayersWithMeasurement_(-1)
224                  ,d0_(-9999.)
# Line 208 | Line 230 | public:
230                  ,etaError_(-9999.)
231                  ,phiError_(-9999.)
232                  ,ip3DSignificance_(-9999.)
233 +                ,innerTrack_(0.,0.,0.,0.)
234 +                ,outerTrack_(0.,0.,0.,0.)
235 +                ,globalTrack_(0.,0.,0.,0.)
236                  {;}
237  
238          TRootMuon(const TLorentzVector &momentum) :
# Line 237 | Line 262 | public:
262                  ,direction_(-9999)
263                  ,algo_(-9999)
264                  ,id_(-9999)
265 +                ,numberOfValidPixelHits_(-1)
266 +                ,numberOfValidTrackerHits_(-1)
267                  ,pixelLayersWithMeasurement_(-1)
268                  ,stripLayersWithMeasurement_(-1)
269                  ,d0_(-9999.)
# Line 248 | Line 275 | public:
275                  ,etaError_(-9999.)
276                  ,phiError_(-9999.)
277                  ,ip3DSignificance_(-9999.)
278 +                ,innerTrack_(0.,0.,0.,0.)
279 +                ,outerTrack_(0.,0.,0.,0.)
280 +                ,globalTrack_(0.,0.,0.,0.)
281                  {;}
282  
283          TRootMuon(const TLorentzVector &momentum, const TVector3 &vertex, Int_t type, Float_t charge) :
# Line 277 | Line 307 | public:
307                  ,direction_(-9999)
308                  ,algo_(-9999)
309                  ,id_(-9999)
310 +                ,numberOfValidPixelHits_(-1)
311 +                ,numberOfValidTrackerHits_(-1)
312                  ,pixelLayersWithMeasurement_(-1)
313                  ,stripLayersWithMeasurement_(-1)
314                  ,d0_(-9999.)
# Line 288 | Line 320 | public:
320                  ,etaError_(-9999.)
321                  ,phiError_(-9999.)
322                  ,ip3DSignificance_(-9999.)
323 +                ,innerTrack_(0.,0.,0.,0.)
324 +                ,outerTrack_(0.,0.,0.,0.)
325 +                ,globalTrack_(0.,0.,0.,0.)
326                  {;}
327  
328          ~TRootMuon() {;}
# Line 336 | Line 371 | public:
371          Bool_t idTM2DCompatibilityLoose() const { return id_ & 32; }
372          Bool_t idTM2DCompatibilityTight() const { return id_ & 64; }
373  
374 +        Int_t numberOfValidPixelHits() const { return numberOfValidPixelHits_; }
375 +        Int_t numberOfValidTrackerHits() const { return numberOfValidTrackerHits_; }
376          Int_t pixelLayersWithMeasurement() const { return pixelLayersWithMeasurement_; }
377          Int_t stripLayersWithMeasurement() const { return stripLayersWithMeasurement_; }
378          Float_t d0() const { return d0_ ;}
# Line 348 | Line 385 | public:
385          Float_t phiError() const { return phiError_ ;}
386          Float_t ip3DSignificance() const { return ip3DSignificance_ ;}
387  
388 +        TLorentzVector innerTrack() const { return innerTrack_; }
389 +        TLorentzVector outerTrack() const { return outerTrack_; }
390 +        TLorentzVector globalTrack() const { return globalTrack_; }
391  
392          //TObject* genMuon() const { return genMuon_.GetObject() ;}
393          virtual TString typeName() const { return "TRootMuon"; }
# Line 405 | Line 445 | public:
445          )
446          { id_ = trackerMuonArbitrated*1 + allArbitrated*2 + globalMuonPromptTight*4 + tmLastStationLoose*8 + tmLastStationTight*16 + tm2DCompatibilityLoose*32 + tm2DCompatibilityTight*64; }
447  
448 +        void setNumberOfValidPixelHits(Int_t numberOfValidPixelHits) { numberOfValidPixelHits_ = numberOfValidPixelHits; }
449 +        void setNumberOfValidTrackerHits(Int_t numberOfValidTrackerHits) { numberOfValidTrackerHits_ = numberOfValidTrackerHits; }
450          void setPixelLayersWithMeasurement(Int_t pixelLayersWithMeasurement) { pixelLayersWithMeasurement_ = pixelLayersWithMeasurement; }
451          void setStripLayersWithMeasurement(Int_t stripLayersWithMeasurement) { stripLayersWithMeasurement_ = stripLayersWithMeasurement; }
452          void setD0(Float_t d0) { d0_ = d0; }
# Line 417 | Line 459 | public:
459          void setPhiError(Float_t phiError) { phiError_ = phiError; }
460          void setIP3DSignificance(Float_t ip3DSignificance) { ip3DSignificance_ = ip3DSignificance; }
461  
462 +        void setXYZTInnerTrack(Double_t x, Double_t y, Double_t z, Double_t t) { innerTrack_.SetXYZT(x,y,z,t); }
463 +        void setXYZTOuterTrack(Double_t x, Double_t y, Double_t z, Double_t t) { outerTrack_.SetXYZT(x,y,z,t); }
464 +        void setXYZTGlobalTrack(Double_t x, Double_t y, Double_t z, Double_t t) { globalTrack_.SetXYZT(x,y,z,t); }
465  
466          friend std::ostream& operator<< (std::ostream& stream, const TRootMuon& muon) {
467                  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
# Line 427 | Line 472 | public:
472                                  << "            Et_em=" << muon.et_em_ << " Et_emS9=" << muon.et_emS9_ << "  Et_had=" << muon.et_had_ << " Et_hadS9=" << muon.et_hadS9_ << "  Et_ho=" << muon.et_ho_ << "  Et_hoS9=" << muon.et_hoS9_ << endl
473                                  << "            isolation cone 0.3: Et_em=" << muon.isoR03_emEt_ << "  Et_had=" << muon.isoR03_hadEt_ <<"  Et_ho=" << muon.isoR03_hoEt_  << "  nTracks=" << muon.isoR03_nTracks_ <<"  nJets=" << muon.isoR03_nJets_ << endl
474                                  << "            isolation cone 0.5: Et_em=" << muon.isoR05_emEt_ << "  Et_had=" << muon.isoR05_hadEt_ <<"  Et_ho=" << muon.isoR05_hoEt_  << "  nTracks=" << muon.isoR05_nTracks_ <<"  nJets=" << muon.isoR05_nJets_ << endl
475 <                                << "            IP 3D Significance=" << muon.ip3DSignificance_;
475 >                                << "            d0=" << muon.d0_ << " +- " << muon.d0Error_ << "  dsz=" << muon.dsz_ << " +- " << muon.dszError_ << "   IP 3D Significance=" << muon.ip3DSignificance_;
476                  return stream;
477          };
478  
# Line 492 | Line 537 | public:
537                  This is usually true for Tracker tracks.
538                  - When the track has infinite or extremely high momentum */
539  
540 +        Int_t numberOfValidPixelHits_;     // Number of valid pixel hits
541 +        Int_t numberOfValidTrackerHits_;   // Number of valid tracker hits (pixel+strip) - More than 1 hit per layer (even mono) is possible due to modules overlap
542          Int_t pixelLayersWithMeasurement_; // Number of pixel layers with at least one valid hit
543          Int_t stripLayersWithMeasurement_; // Number of strip layers with at least one valid hit
544  
# Line 505 | Line 552 | public:
552       Float_t etaError_; // needed ?  etaError()
553       Float_t phiError_; // needed ?  phiError()
554  
555 <     Float_t ip3DSignificance_;
555 >     Float_t ip3DSignificance_;  // Significance of the impact parameter wrt to the selected primary vertex
556  
557 <        ClassDef (TRootMuon,3);
557 >        TLorentzVector innerTrack_; // Tracker only
558 >        TLorentzVector outerTrack_; // Muon detector only
559 >        TLorentzVector globalTrack_; // Tracker + Muon detector
560 >        
561 >        ClassDef (TRootMuon,5);
562   };
563  
564   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines