ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/Morgan/interface/TRootTrack.h
Revision: 1.7
Committed: Wed Jun 10 11:17:06 2009 UTC (15 years, 10 months ago) by lethuill
Content type: text/plain
Branch: MAIN
CVS Tags: all_3_3_2_01, all_3_2_5_02, all_3_2_5_01, all_2_2_9_03, all_2_2_9_02, all_2_2_9_01, HEAD
Branch point for: CMSSW_2_2_X_br
Changes since 1.6: +1 -0 lines
Log Message:
Better protection against missing collection / Cleaning data format selection / Last iteration for migration to PAT of Photons

File Contents

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