ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/Morgan/interface/TRootTrack.h
Revision: 1.4
Committed: Wed Dec 17 16:23:49 2008 UTC (16 years, 4 months ago) by lethuill
Content type: text/plain
Branch: MAIN
CVS Tags: pat_2_2_5_01, pat_2_1_12_02
Changes since 1.3: +1 -0 lines
Log Message:
Add reference (TRef) to mcParticle

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