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

# User Rev Content
1 mlethuil 1.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 lethuill 1.6 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 mlethuil 1.1 TRootTrack(const TRootTrack& track) :
25 lethuill 1.6 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 mlethuil 1.1
35     TRootTrack(Double_t px, Double_t py, Double_t pz, Double_t e) :
36 lethuill 1.6 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 mlethuil 1.1
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 lethuill 1.6 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 mlethuil 1.1
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 lethuill 1.6 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 mlethuil 1.1
68     TRootTrack(const TLorentzVector &momentum) :
69 lethuill 1.6 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 mlethuil 1.1
79     TRootTrack(const TLorentzVector &momentum, const TVector3 &vertex, Int_t type, Float_t charge) :
80 lethuill 1.6 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 mlethuil 1.1
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 lethuill 1.6 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 mlethuil 1.1 ~TRootTrack() {;}
103    
104 lethuill 1.6 Int_t pixelLayersWithMeasurement() const { return pixelLayersWithMeasurement_; }
105     Int_t stripLayersWithMeasurement() const { return stripLayersWithMeasurement_; }
106 mlethuil 1.1 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 lethuill 1.4 virtual TString typeName() const { return "TRootTrack"; }
112 mlethuil 1.1
113 lethuill 1.6 void setPixelLayersWithMeasurement(Int_t pixelLayersWithMeasurement) { pixelLayersWithMeasurement_ = pixelLayersWithMeasurement; }
114     void setStripLayersWithMeasurement(Int_t stripLayersWithMeasurement) { stripLayersWithMeasurement_ = stripLayersWithMeasurement; }
115 mlethuil 1.1 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 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() << ")"
123     << " vertex(x,y,z)=("<< setw(12) << track.vx() <<","<< setw(12) << track.vy() <<","<< setw(12) << track.vz() << ")"
124 lethuill 1.6 << " chi2="<< setw(8) << track.chi2() <<" nPixelLayers="<< setw(2) << track.pixelLayersWithMeasurement() <<" nStripLayers="<< setw(3) << track.stripLayersWithMeasurement()
125 lethuill 1.2 << " d0="<< setw(12) << track.d0() <<" +- "<< setw(12) << track.d0Error() <<" dz="<< setw(10) << track.dz() << " +- " << setw(10) << track.dzError();
126 mlethuil 1.1 return stream;
127     };
128    
129    
130     private:
131    
132 lethuill 1.6 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 mlethuil 1.1 Float_t chi2_;
135     Float_t d0_;
136     Float_t d0Error_;
137     Float_t dz_;
138     Float_t dzError_;
139    
140 lethuill 1.6 ClassDef (TRootTrack,2);
141 lethuill 1.7
142 mlethuil 1.1 };
143    
144     #endif