ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/Morgan/interface/TRootMuon.h
Revision: 1.2
Committed: Wed Nov 19 19:03:16 2008 UTC (16 years, 5 months ago) by lethuill
Content type: text/plain
Branch: MAIN
CVS Tags: Common-2008_11_24, Common-2008_11_19
Changes since 1.1: +203 -63 lines
Log Message:
First skeleton for common code

File Contents

# Content
1 #ifndef TRootMuon_h
2 #define TRootMuon_h
3
4 #include "../interface/TRootParticle.h"
5
6
7 using namespace std;
8
9 class TRootMuon : public TRootParticle
10 {
11
12 public:
13
14 TRootMuon() :
15 TRootParticle()
16 ,et_em_(0.)
17 ,et_emS9_(0.)
18 ,et_had_(0.)
19 ,et_hadS9_(0.)
20 ,et_ho_(0.)
21 ,et_hoS9_(0.)
22 ,caloCompatibility_(0.)
23 ,isoR03_emEt_(0.)
24 ,isoR03_hadEt_(0.)
25 ,isoR03_hoEt_(0.)
26 ,isoR03_sumPt_(0.)
27 ,isoR03_nTracks_(0)
28 ,isoR03_nJets_(0)
29 ,isoR05_emEt_(0.)
30 ,isoR05_hadEt_(0.)
31 ,isoR05_hoEt_(0.)
32 ,isoR05_sumPt_(0.)
33 ,isoR05_nTracks_(0)
34 ,isoR05_nJets_(0)
35 ,energyValid_(false)
36 ,matchesValid_(false)
37 ,isolationValid_(false)
38 {;}
39
40 TRootMuon(const TRootMuon& muon) :
41 TRootParticle(muon)
42 ,et_em_(muon.et_em_)
43 ,et_emS9_(muon.et_emS9_)
44 ,et_had_(muon.et_had_)
45 ,et_hadS9_(muon.et_hadS9_)
46 ,et_ho_(muon.et_ho_)
47 ,et_hoS9_(muon.et_hoS9_)
48 ,caloCompatibility_(muon.caloCompatibility_)
49 ,isoR03_emEt_(muon.isoR03_emEt_)
50 ,isoR03_hadEt_(muon.isoR03_hadEt_)
51 ,isoR03_hoEt_(muon.isoR03_hoEt_)
52 ,isoR03_sumPt_(muon.isoR03_sumPt_)
53 ,isoR03_nTracks_(muon.isoR03_nTracks_)
54 ,isoR03_nJets_(muon.isoR03_nJets_)
55 ,isoR05_emEt_(muon.isoR05_emEt_)
56 ,isoR05_hadEt_(muon.isoR05_hadEt_)
57 ,isoR05_hoEt_(muon.isoR05_hoEt_)
58 ,isoR05_sumPt_(muon.isoR05_sumPt_)
59 ,isoR05_nTracks_(muon.isoR05_nTracks_)
60 ,isoR05_nJets_(muon.isoR05_nJets_)
61 ,energyValid_(muon.energyValid_)
62 ,matchesValid_(muon.matchesValid_)
63 ,isolationValid_(muon.isolationValid_)
64 {;}
65
66 TRootMuon(Double_t px, Double_t py, Double_t pz, Double_t e) :
67 TRootParticle(px,py,pz,e)
68 ,et_em_(0.)
69 ,et_emS9_(0.)
70 ,et_had_(0.)
71 ,et_hadS9_(0.)
72 ,et_ho_(0.)
73 ,et_hoS9_(0.)
74 ,caloCompatibility_(0.)
75 ,isoR03_emEt_(0.)
76 ,isoR03_hadEt_(0.)
77 ,isoR03_hoEt_(0.)
78 ,isoR03_sumPt_(0.)
79 ,isoR03_nTracks_(0)
80 ,isoR03_nJets_(0)
81 ,isoR05_emEt_(0.)
82 ,isoR05_hadEt_(0.)
83 ,isoR05_hoEt_(0.)
84 ,isoR05_sumPt_(0.)
85 ,isoR05_nTracks_(0)
86 ,isoR05_nJets_(0)
87 ,energyValid_(false)
88 ,matchesValid_(false)
89 ,isolationValid_(false)
90 {;}
91
92 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) :
93 TRootParticle(px,py,pz,e,vtx_x,vtx_y,vtx_z)
94 ,et_em_(0.)
95 ,et_emS9_(0.)
96 ,et_had_(0.)
97 ,et_hadS9_(0.)
98 ,et_ho_(0.)
99 ,et_hoS9_(0.)
100 ,caloCompatibility_(0.)
101 ,isoR03_emEt_(0.)
102 ,isoR03_hadEt_(0.)
103 ,isoR03_hoEt_(0.)
104 ,isoR03_sumPt_(0.)
105 ,isoR03_nTracks_(0)
106 ,isoR03_nJets_(0)
107 ,isoR05_emEt_(0.)
108 ,isoR05_hadEt_(0.)
109 ,isoR05_hoEt_(0.)
110 ,isoR05_sumPt_(0.)
111 ,isoR05_nTracks_(0)
112 ,isoR05_nJets_(0)
113 ,energyValid_(false)
114 ,matchesValid_(false)
115 ,isolationValid_(false)
116 {;}
117
118 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) :
119 TRootParticle(px,py,pz,e,vtx_x,vtx_y,vtx_z,type,charge)
120 ,et_em_(0.)
121 ,et_emS9_(0.)
122 ,et_had_(0.)
123 ,et_hadS9_(0.)
124 ,et_ho_(0.)
125 ,et_hoS9_(0.)
126 ,caloCompatibility_(0.)
127 ,isoR03_emEt_(0.)
128 ,isoR03_hadEt_(0.)
129 ,isoR03_hoEt_(0.)
130 ,isoR03_sumPt_(0.)
131 ,isoR03_nTracks_(0)
132 ,isoR03_nJets_(0)
133 ,isoR05_emEt_(0.)
134 ,isoR05_hadEt_(0.)
135 ,isoR05_hoEt_(0.)
136 ,isoR05_sumPt_(0.)
137 ,isoR05_nTracks_(0)
138 ,isoR05_nJets_(0)
139 ,energyValid_(false)
140 ,matchesValid_(false)
141 ,isolationValid_(false)
142 {;}
143
144 TRootMuon(const TLorentzVector &momentum) :
145 TRootParticle(momentum)
146 ,et_em_(0.)
147 ,et_emS9_(0.)
148 ,et_had_(0.)
149 ,et_hadS9_(0.)
150 ,et_ho_(0.)
151 ,et_hoS9_(0.)
152 ,caloCompatibility_(0.)
153 ,isoR03_emEt_(0.)
154 ,isoR03_hadEt_(0.)
155 ,isoR03_hoEt_(0.)
156 ,isoR03_sumPt_(0.)
157 ,isoR03_nTracks_(0)
158 ,isoR03_nJets_(0)
159 ,isoR05_emEt_(0.)
160 ,isoR05_hadEt_(0.)
161 ,isoR05_hoEt_(0.)
162 ,isoR05_sumPt_(0.)
163 ,isoR05_nTracks_(0)
164 ,isoR05_nJets_(0)
165 ,energyValid_(false)
166 ,matchesValid_(false)
167 ,isolationValid_(false)
168 {;}
169
170 TRootMuon(const TLorentzVector &momentum, const TVector3 &vertex, Int_t type, Float_t charge) :
171 TRootParticle(momentum, vertex, type, charge)
172 ,et_em_(0.)
173 ,et_emS9_(0.)
174 ,et_had_(0.)
175 ,et_hadS9_(0.)
176 ,et_ho_(0.)
177 ,et_hoS9_(0.)
178 ,caloCompatibility_(0.)
179 ,isoR03_emEt_(0.)
180 ,isoR03_hadEt_(0.)
181 ,isoR03_hoEt_(0.)
182 ,isoR03_sumPt_(0.)
183 ,isoR03_nTracks_(0)
184 ,isoR03_nJets_(0)
185 ,isoR05_emEt_(0.)
186 ,isoR05_hadEt_(0.)
187 ,isoR05_hoEt_(0.)
188 ,isoR05_sumPt_(0.)
189 ,isoR05_nTracks_(0)
190 ,isoR05_nJets_(0)
191 ,energyValid_(false)
192 ,matchesValid_(false)
193 ,isolationValid_(false)
194 {;}
195
196 ~TRootMuon() {;}
197
198
199 Float_t et_em() const { return et_em_;}
200 Float_t et_emS9() const { return et_emS9_;}
201 Float_t et_had() const { return et_had_;}
202 Float_t et_hadS9() const { return et_hadS9_;}
203 Float_t et_ho() const { return et_ho_;}
204 Float_t et_hoS9() const { return et_hoS9_;}
205 Float_t caloCompatibility() const { return caloCompatibility_;}
206
207 Float_t isoR03_emEt() const { return isoR03_emEt_;}
208 Float_t isoR03_hadEt() const { return isoR03_hadEt_;}
209 Float_t isoR03_hoEt() const { return isoR03_hoEt_;}
210 Float_t isoR03_sumPt() const { return isoR03_sumPt_;}
211 Int_t isoR03_nTracks() const { return isoR03_nTracks_;}
212 Int_t isoR03_nJets() const { return isoR03_nJets_;}
213
214 Float_t isoR05_emEt() const { return isoR05_emEt_;}
215 Float_t isoR05_hadEt() const { return isoR05_hadEt_;}
216 Float_t isoR05_hoEt() const { return isoR05_hoEt_;}
217 Float_t isoR05_sumPt() const { return isoR05_sumPt_;}
218 Int_t isoR05_nTracks() const { return isoR05_nTracks_;}
219 Int_t isoR05_nJets() const { return isoR05_nJets_;}
220
221 Bool_t energyValid() const { return energyValid_;}
222 Bool_t matchesValid() const { return matchesValid_;}
223 Bool_t isolationValid() const { return isolationValid_;}
224
225
226 void setCaloEnergy(Float_t et_em, Float_t et_emS9, Float_t et_had, Float_t et_hadS9, Float_t et_ho, Float_t et_hoS9, Float_t caloCompatibility)
227 {
228 et_em_ = et_em;
229 et_emS9_ = et_emS9;
230 et_had_ = et_had;
231 et_hadS9_ = et_hadS9;
232 et_ho_ = et_ho;
233 et_hoS9_ = et_hoS9;
234 caloCompatibility_ = caloCompatibility;
235 }
236
237 void setIsoR03(Float_t isoR03_emEt, Float_t isoR03_hadEt, Float_t isoR03_hoEt, Float_t isoR03_sumPt, Int_t isoR03_nTracks, Int_t isoR03_nJets)
238 {
239 isoR03_emEt_ = isoR03_emEt;
240 isoR03_hadEt_ = isoR03_hadEt;
241 isoR03_hoEt_ = isoR03_hoEt;
242 isoR03_sumPt_ = isoR03_sumPt;
243 isoR03_nTracks_ = isoR03_nTracks;
244 isoR03_nJets_ = isoR03_nJets;
245 }
246
247 void setIsoR05(Float_t isoR05_emEt, Float_t isoR05_hadEt, Float_t isoR05_hoEt, Float_t isoR05_sumPt, Int_t isoR05_nTracks, Int_t isoR05_nJets)
248 {
249 isoR05_emEt_ = isoR05_emEt;
250 isoR05_hadEt_ = isoR05_hadEt;
251 isoR05_hoEt_ = isoR05_hoEt;
252 isoR05_sumPt_ = isoR05_sumPt;
253 isoR05_nTracks_ = isoR05_nTracks;
254 isoR05_nJets_ = isoR05_nJets;
255 }
256
257 friend std::ostream& operator<< (std::ostream& stream, const TRootMuon& muon) {
258 stream << "TRootMuon - Charge=" << muon.charge() << " (Et,eta,phi)=("<< muon.Et() <<","<< muon.Eta() <<","<< muon.Phi() << ") vertex(x,y,z)=("<< muon.vx() <<","<< muon.vy() <<","<< muon.vz() << ")"
259 << " caloCompatibility="<< muon.caloCompatibility_ << " validity(energy, matches, isolation)=(" << muon.energyValid_ <<","<< muon.matchesValid_ <<","<< muon.isolationValid_ << ")" << endl
260 << " 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
261 << " 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
262 << " 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_;
263 return stream;
264 };
265
266
267 private:
268
269 Float_t et_em_;
270 Float_t et_emS9_;
271 Float_t et_had_;
272 Float_t et_hadS9_;
273 Float_t et_ho_;
274 Float_t et_hoS9_;
275 Float_t caloCompatibility_;
276
277 Float_t isoR03_emEt_;
278 Float_t isoR03_hadEt_;
279 Float_t isoR03_hoEt_;
280 Float_t isoR03_sumPt_;
281 Int_t isoR03_nTracks_;
282 Int_t isoR03_nJets_;
283
284 Float_t isoR05_emEt_;
285 Float_t isoR05_hadEt_;
286 Float_t isoR05_hoEt_;
287 Float_t isoR05_sumPt_;
288 Int_t isoR05_nTracks_;
289 Int_t isoR05_nJets_;
290
291 Bool_t energyValid_;
292 Bool_t matchesValid_;
293 Bool_t isolationValid_;
294
295 ClassDef (TRootMuon,1);
296 };
297
298 #endif
299
300