ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/Morgan/interface/TRootTrack.h
Revision: 1.1
Committed: Mon Jun 2 16:31:24 2008 UTC (16 years, 11 months ago) by mlethuil
Content type: text/plain
Branch: MAIN
CVS Tags: cmssw_1_6_12
Log Message:
Add TRootTrack collection with PixelHits info
Tracker isolation for TRootPhoton

File Contents

# User Rev Content
1 mlethuil 1.1 #ifndef TRootTrack_h
2     #define TRootTrack_h
3    
4     #include "../interface/TRootParticle.h"
5    
6     #include "Rtypes.h"
7     #include "TObject.h"
8    
9    
10     using namespace std;
11    
12     class TRootTrack : public TRootParticle
13     {
14    
15     public:
16    
17     TRootTrack() :
18     TRootParticle()
19     ,numberOfValidPixelHits_(-1)
20     ,numberOfValidTrackerHits_(-1)
21     ,chi2_(-1.)
22     ,d0_(-99999.)
23     ,d0Error_(-99999.)
24     ,dz_(-99999.)
25     ,dzError_(-99999.)
26     {;}
27    
28     TRootTrack(const TRootTrack& track) :
29     TRootParticle(track)
30     ,numberOfValidPixelHits_(track.numberOfValidPixelHits_)
31     ,numberOfValidTrackerHits_(track.numberOfValidTrackerHits_)
32     ,chi2_(track.chi2_)
33     ,d0_(track.d0_)
34     ,d0Error_(track.d0Error_)
35     ,dz_(track.dz_)
36     ,dzError_(track.dzError_)
37     {;}
38    
39     TRootTrack(Double_t px, Double_t py, Double_t pz, Double_t e) :
40     TRootParticle(px,py,pz,e)
41     ,numberOfValidPixelHits_(-1)
42     ,numberOfValidTrackerHits_(-1)
43     ,chi2_(-1.)
44     ,d0_(-99999.)
45     ,d0Error_(-99999.)
46     ,dz_(-99999.)
47     ,dzError_(-99999.)
48     {;}
49    
50     TRootTrack(Double_t px, Double_t py, Double_t pz, Double_t e, Double_t vtx_x, Double_t vtx_y, Double_t vtx_z) :
51     TRootParticle(px,py,pz,e,vtx_x,vtx_y,vtx_z)
52     ,numberOfValidPixelHits_(-1)
53     ,numberOfValidTrackerHits_(-1)
54     ,chi2_(-1.)
55     ,d0_(-99999.)
56     ,d0Error_(-99999.)
57     ,dz_(-99999.)
58     ,dzError_(-99999.)
59     {;}
60    
61     TRootTrack(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) :
62     TRootParticle(px,py,pz,e,vtx_x,vtx_y,vtx_z,type,charge)
63     ,numberOfValidPixelHits_(-1)
64     ,numberOfValidTrackerHits_(-1)
65     ,chi2_(-1.)
66     ,d0_(-99999.)
67     ,d0Error_(-99999.)
68     ,dz_(-99999.)
69     ,dzError_(-99999.)
70     {;}
71    
72     TRootTrack(const TLorentzVector &momentum) :
73     TRootParticle(momentum)
74     ,numberOfValidPixelHits_(-1)
75     ,numberOfValidTrackerHits_(-1)
76     ,chi2_(-1.)
77     ,d0_(-99999.)
78     ,d0Error_(-99999.)
79     ,dz_(-99999.)
80     ,dzError_(-99999.)
81     {;}
82    
83     TRootTrack(const TLorentzVector &momentum, const TVector3 &vertex, Int_t type, Float_t charge) :
84     TRootParticle(momentum, vertex, type, charge)
85     ,numberOfValidPixelHits_(-1)
86     ,numberOfValidTrackerHits_(-1)
87     ,chi2_(-1.)
88     ,d0_(-99999.)
89     ,d0Error_(-99999.)
90     ,dz_(-99999.)
91     ,dzError_(-99999.)
92     {;}
93    
94     TRootTrack(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,
95     Int_t numberOfValidPixelHits, Int_t numberOfValidTrackerHits, Float_t chi2, Float_t d0, Float_t d0Error, Float_t dz, Float_t dzError) :
96     TRootParticle(px,py,pz,e,vtx_x,vtx_y,vtx_z,type,charge)
97     ,numberOfValidPixelHits_(numberOfValidPixelHits)
98     ,numberOfValidTrackerHits_(numberOfValidTrackerHits)
99     ,chi2_(chi2)
100     ,d0_(d0)
101     ,d0Error_(d0Error)
102     ,dz_(dz)
103     ,dzError_(dzError)
104     {;}
105    
106     ~TRootTrack() {;}
107    
108     Int_t numberOfValidPixelHits() const { return numberOfValidPixelHits_; }
109     Int_t numberOfValidTrackerHits() const { return numberOfValidTrackerHits_; }
110     Float_t chi2() const { return chi2_; }
111     Float_t d0() const { return d0_; }
112     Float_t d0Error() const { return d0Error_; }
113     Float_t dz() const { return dz_; }
114     Float_t dzError() const { return dzError_; }
115    
116     void setNumberOfValidPixelHits(Int_t numberOfValidPixelHits) { numberOfValidPixelHits_ = numberOfValidPixelHits; }
117     void setNumberOfValidTrackerHits(Int_t numberOfValidTrackerHits) { numberOfValidTrackerHits_ = numberOfValidTrackerHits; }
118     void setChi2(Float_t chi2) { chi2_ = chi2; }
119     void setD0(Float_t d0) { d0_ = d0; }
120     void setD0Error(Float_t d0Error) { d0Error_ = d0Error; }
121     void setDz(Float_t dz) { dz_ = dz; }
122     void setDzError(Float_t dzError) { dzError_ = dzError; }
123    
124     friend std::ostream& operator<< (std::ostream& stream, const TRootTrack& track) {
125     stream << "TRootTrack - Charge=" << track.charge() << " (Et,eta,phi)=("<< track.Et() <<","<< track.Eta() <<","<< track.Phi() << ")"
126     << " vertex(x,y,z)=("<< track.vx() <<","<< track.vy() <<","<< track.vz() << ")"
127     << " chi2="<< track.chi2() <<" nPixelHits="<< track.numberOfValidPixelHits() <<" nTrackerHits="<< track.numberOfValidTrackerHits()
128     << " d0="<< track.d0() <<" +- "<< track.d0Error() <<" dz="<< track.dz() << " +- " << track.dzError();
129     return stream;
130     };
131    
132    
133     private:
134    
135     Int_t numberOfValidPixelHits_;
136     Int_t numberOfValidTrackerHits_;
137     Float_t chi2_;
138     Float_t d0_;
139     Float_t d0Error_;
140     Float_t dz_;
141     Float_t dzError_;
142    
143     ClassDef (TRootTrack,2);
144     };
145    
146     #endif