ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/Morgan/interface/TRootMET.h
Revision: 1.5
Committed: Fri Dec 19 12:26:01 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.4: +17 -53 lines
Log Message:
Replace MC infos encapsulated in TRootObjects by a TRef pointing to TRootMCParticles stocked in MCParticles branch
pdgId is now signed

File Contents

# Content
1 #ifndef TRootMET_h
2 #define TRootMET_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 TRootMET : public TRootParticle
13 {
14
15 public:
16
17 TRootMET() :
18 TRootParticle()
19 ,maxEtInEmTowers_(0.)
20 ,maxEtInHadTowers_(0.)
21 ,hadEtInHO_(0.)
22 ,hadEtInHB_(0.)
23 ,hadEtInHF_(0.)
24 ,hadEtInHE_(0.)
25 ,emEtInEB_(0.)
26 ,emEtInEE_(0.)
27 ,emEtInHF_(0.)
28 ,etFractionHadronic_(0.)
29 ,etFractionEm_(0.)
30 ,metSignificance_(0.)
31 ,caloMETInpHF_(0.)
32 ,caloMETInmHF_(0.)
33 ,caloSETInpHF_(0.)
34 ,caloSETInmHF_(0.)
35 ,caloMETPhiInpHF_(0.)
36 ,caloMETPhiInmHF_(0.)
37 ,uncorrectedPhiALL_(-9999.)
38 ,uncorrectedPtALL_(-1.)
39 ,corExALL_(-9999.)
40 ,corEyALL_(-9999.)
41 ,corSumEtALL_(-9999.)
42 ,uncorrectedPhiJES_(-9999.)
43 ,uncorrectedPtJES_(-1.)
44 ,corExJES_(-9999.)
45 ,corEyJES_(-9999.)
46 ,corSumEtJES_(-9999.)
47 ,uncorrectedPhiMUON_(-9999.)
48 ,uncorrectedPtMUON_(-1.)
49 ,corExMUON_(-9999.)
50 ,corEyMUON_(-9999.)
51 ,corSumEtMUON_(-9999.)
52 {;}
53
54 TRootMET(const TRootMET& met) :
55 TRootParticle(met)
56 ,maxEtInEmTowers_(met.maxEtInEmTowers_)
57 ,maxEtInHadTowers_(met.maxEtInHadTowers_)
58 ,hadEtInHO_(met.hadEtInHO_)
59 ,hadEtInHB_(met.hadEtInHB_)
60 ,hadEtInHF_(met.hadEtInHF_)
61 ,hadEtInHE_(met.hadEtInHE_)
62 ,emEtInEB_(met.emEtInEB_)
63 ,emEtInEE_(met.emEtInEE_)
64 ,emEtInHF_(met.emEtInHF_)
65 ,etFractionHadronic_(met.etFractionHadronic_)
66 ,etFractionEm_(met.etFractionEm_)
67 ,metSignificance_(met.metSignificance_)
68 ,caloMETInpHF_(met.caloMETInpHF_)
69 ,caloMETInmHF_(met.caloMETInmHF_)
70 ,caloSETInpHF_(met.caloSETInpHF_)
71 ,caloSETInmHF_(met.caloSETInmHF_)
72 ,caloMETPhiInpHF_(met.caloMETPhiInpHF_)
73 ,caloMETPhiInmHF_(met.caloMETPhiInmHF_)
74 ,uncorrectedPhiALL_(met.uncorrectedPhiALL_)
75 ,uncorrectedPtALL_(met.uncorrectedPtALL_)
76 ,corExALL_(met.corExALL_)
77 ,corEyALL_(met.corEyALL_)
78 ,corSumEtALL_(met.corSumEtALL_)
79 ,uncorrectedPhiJES_(met.uncorrectedPhiJES_)
80 ,uncorrectedPtJES_(met.uncorrectedPtJES_)
81 ,corExJES_(met.corExJES_)
82 ,corEyJES_(met.corEyJES_)
83 ,corSumEtJES_(met.corSumEtJES_)
84 ,uncorrectedPhiMUON_(met.uncorrectedPhiMUON_)
85 ,uncorrectedPtMUON_(met.uncorrectedPtMUON_)
86 ,corExMUON_(met.corExMUON_)
87 ,corEyMUON_(met.corEyMUON_)
88 ,corSumEtMUON_(met.corSumEtMUON_)
89 {;}
90
91 TRootMET(Double_t px, Double_t py, Double_t pz, Double_t e) :
92 TRootParticle(px,py,pz,e)
93 ,maxEtInEmTowers_(0.)
94 ,maxEtInHadTowers_(0.)
95 ,hadEtInHO_(0.)
96 ,hadEtInHB_(0.)
97 ,hadEtInHF_(0.)
98 ,hadEtInHE_(0.)
99 ,emEtInEB_(0.)
100 ,emEtInEE_(0.)
101 ,emEtInHF_(0.)
102 ,etFractionHadronic_(0.)
103 ,etFractionEm_(0.)
104 ,metSignificance_(0.)
105 ,caloMETInpHF_(0.)
106 ,caloMETInmHF_(0.)
107 ,caloSETInpHF_(0.)
108 ,caloSETInmHF_(0.)
109 ,caloMETPhiInpHF_(0.)
110 ,caloMETPhiInmHF_(0.)
111 ,uncorrectedPhiALL_(-9999.)
112 ,uncorrectedPtALL_(-1.)
113 ,corExALL_(-9999.)
114 ,corEyALL_(-9999.)
115 ,corSumEtALL_(-9999.)
116 ,uncorrectedPhiJES_(-9999.)
117 ,uncorrectedPtJES_(-1.)
118 ,corExJES_(-9999.)
119 ,corEyJES_(-9999.)
120 ,corSumEtJES_(-9999.)
121 ,uncorrectedPhiMUON_(-9999.)
122 ,uncorrectedPtMUON_(-1.)
123 ,corExMUON_(-9999.)
124 ,corEyMUON_(-9999.)
125 ,corSumEtMUON_(-9999.)
126 {;}
127
128 TRootMET(Double_t px, Double_t py, Double_t pz, Double_t e, Double_t vtx_x, Double_t vtx_y, Double_t vtx_z) :
129 TRootParticle(px,py,pz,e,vtx_x,vtx_y,vtx_z)
130 ,maxEtInEmTowers_(0.)
131 ,maxEtInHadTowers_(0.)
132 ,hadEtInHO_(0.)
133 ,hadEtInHB_(0.)
134 ,hadEtInHF_(0.)
135 ,hadEtInHE_(0.)
136 ,emEtInEB_(0.)
137 ,emEtInEE_(0.)
138 ,emEtInHF_(0.)
139 ,etFractionHadronic_(0.)
140 ,etFractionEm_(0.)
141 ,metSignificance_(0.)
142 ,caloMETInpHF_(0.)
143 ,caloMETInmHF_(0.)
144 ,caloSETInpHF_(0.)
145 ,caloSETInmHF_(0.)
146 ,caloMETPhiInpHF_(0.)
147 ,caloMETPhiInmHF_(0.)
148 ,uncorrectedPhiALL_(-9999.)
149 ,uncorrectedPtALL_(-1.)
150 ,corExALL_(-9999.)
151 ,corEyALL_(-9999.)
152 ,corSumEtALL_(-9999.)
153 ,uncorrectedPhiJES_(-9999.)
154 ,uncorrectedPtJES_(-1.)
155 ,corExJES_(-9999.)
156 ,corEyJES_(-9999.)
157 ,corSumEtJES_(-9999.)
158 ,uncorrectedPhiMUON_(-9999.)
159 ,uncorrectedPtMUON_(-1.)
160 ,corExMUON_(-9999.)
161 ,corEyMUON_(-9999.)
162 ,corSumEtMUON_(-9999.)
163 {;}
164
165 TRootMET(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) :
166 TRootParticle(px,py,pz,e,vtx_x,vtx_y,vtx_z,type,charge)
167 ,maxEtInEmTowers_(0.)
168 ,maxEtInHadTowers_(0.)
169 ,hadEtInHO_(0.)
170 ,hadEtInHB_(0.)
171 ,hadEtInHF_(0.)
172 ,hadEtInHE_(0.)
173 ,emEtInEB_(0.)
174 ,emEtInEE_(0.)
175 ,emEtInHF_(0.)
176 ,etFractionHadronic_(0.)
177 ,etFractionEm_(0.)
178 ,metSignificance_(0.)
179 ,caloMETInpHF_(0.)
180 ,caloMETInmHF_(0.)
181 ,caloSETInpHF_(0.)
182 ,caloSETInmHF_(0.)
183 ,caloMETPhiInpHF_(0.)
184 ,caloMETPhiInmHF_(0.)
185 ,uncorrectedPhiALL_(-9999.)
186 ,uncorrectedPtALL_(-1.)
187 ,corExALL_(-9999.)
188 ,corEyALL_(-9999.)
189 ,corSumEtALL_(-9999.)
190 ,uncorrectedPhiJES_(-9999.)
191 ,uncorrectedPtJES_(-1.)
192 ,corExJES_(-9999.)
193 ,corEyJES_(-9999.)
194 ,corSumEtJES_(-9999.)
195 ,uncorrectedPhiMUON_(-9999.)
196 ,uncorrectedPtMUON_(-1.)
197 ,corExMUON_(-9999.)
198 ,corEyMUON_(-9999.)
199 ,corSumEtMUON_(-9999.)
200 {;}
201
202 TRootMET(const TLorentzVector &momentum) :
203 TRootParticle(momentum)
204 ,maxEtInEmTowers_(0.)
205 ,maxEtInHadTowers_(0.)
206 ,hadEtInHO_(0.)
207 ,hadEtInHB_(0.)
208 ,hadEtInHF_(0.)
209 ,hadEtInHE_(0.)
210 ,emEtInEB_(0.)
211 ,emEtInEE_(0.)
212 ,emEtInHF_(0.)
213 ,etFractionHadronic_(0.)
214 ,etFractionEm_(0.)
215 ,metSignificance_(0.)
216 ,caloMETInpHF_(0.)
217 ,caloMETInmHF_(0.)
218 ,caloSETInpHF_(0.)
219 ,caloSETInmHF_(0.)
220 ,caloMETPhiInpHF_(0.)
221 ,caloMETPhiInmHF_(0.)
222 ,uncorrectedPhiALL_(-9999.)
223 ,uncorrectedPtALL_(-1.)
224 ,corExALL_(-9999.)
225 ,corEyALL_(-9999.)
226 ,corSumEtALL_(-9999.)
227 ,uncorrectedPhiJES_(-9999.)
228 ,uncorrectedPtJES_(-1.)
229 ,corExJES_(-9999.)
230 ,corEyJES_(-9999.)
231 ,corSumEtJES_(-9999.)
232 ,uncorrectedPhiMUON_(-9999.)
233 ,uncorrectedPtMUON_(-1.)
234 ,corExMUON_(-9999.)
235 ,corEyMUON_(-9999.)
236 ,corSumEtMUON_(-9999.)
237 {;}
238
239 TRootMET(const TLorentzVector &momentum, const TVector3 &vertex, Int_t type, Float_t charge) :
240 TRootParticle(momentum, vertex, type, charge)
241 ,maxEtInEmTowers_(0.)
242 ,maxEtInHadTowers_(0.)
243 ,hadEtInHO_(0.)
244 ,hadEtInHB_(0.)
245 ,hadEtInHF_(0.)
246 ,hadEtInHE_(0.)
247 ,emEtInEB_(0.)
248 ,emEtInEE_(0.)
249 ,emEtInHF_(0.)
250 ,etFractionHadronic_(0.)
251 ,etFractionEm_(0.)
252 ,metSignificance_(0.)
253 ,caloMETInpHF_(0.)
254 ,caloMETInmHF_(0.)
255 ,caloSETInpHF_(0.)
256 ,caloSETInmHF_(0.)
257 ,caloMETPhiInpHF_(0.)
258 ,caloMETPhiInmHF_(0.)
259 ,uncorrectedPhiALL_(-9999.)
260 ,uncorrectedPtALL_(-1.)
261 ,corExALL_(-9999.)
262 ,corEyALL_(-9999.)
263 ,corSumEtALL_(-9999.)
264 ,uncorrectedPhiJES_(-9999.)
265 ,uncorrectedPtJES_(-1.)
266 ,corExJES_(-9999.)
267 ,corEyJES_(-9999.)
268 ,corSumEtJES_(-9999.)
269 ,uncorrectedPhiMUON_(-9999.)
270 ,uncorrectedPtMUON_(-1.)
271 ,corExMUON_(-9999.)
272 ,corEyMUON_(-9999.)
273 ,corSumEtMUON_(-9999.)
274 {;}
275
276 ~TRootMET() {;}
277
278 Float_t maxEtInEmTowers() const { return maxEtInEmTowers_; }
279 Float_t maxEtInHadTowers() const { return maxEtInHadTowers_; }
280 Float_t hadEtInHO() const { return hadEtInHO_; }
281 Float_t hadEtInHB() const { return hadEtInHB_; }
282 Float_t hadEtInHF() const { return hadEtInHF_; }
283 Float_t hadEtInHE() const { return hadEtInHE_; }
284 Float_t emEtInEB() const { return emEtInEB_; }
285 Float_t emEtInEE() const { return emEtInEE_; }
286 Float_t emEtInHF() const { return emEtInHF_; }
287 Float_t etFractionHadronic() const { return etFractionHadronic_; }
288 Float_t etFractionEm() const { return etFractionEm_; }
289 Float_t metSignificance() const { return metSignificance_; }
290 Float_t caloMETInpHF() const { return caloMETInpHF_; }
291 Float_t caloMETInmHF() const { return caloMETInmHF_; }
292 Float_t caloSETInpHF() const { return caloSETInpHF_; }
293 Float_t caloSETInmHF() const { return caloSETInmHF_; }
294 Float_t caloMETPhiInpHF() const { return caloMETPhiInpHF_; }
295 Float_t caloMETPhiInmHF() const { return caloMETPhiInmHF_; }
296 Float_t uncorrectedPhiALL() const {return uncorrectedPhiALL_; }
297 Float_t uncorrectedPtALL()const {return uncorrectedPtALL_; }
298 Float_t corExALL()const {return corExALL_; }
299 Float_t corEyALL()const {return corEyALL_; }
300 Float_t corSumEtALL()const {return corSumEtALL_; }
301 Float_t uncorrectedPhiJES() const {return uncorrectedPhiJES_; }
302 Float_t uncorrectedPtJES()const {return uncorrectedPtJES_; }
303 Float_t corExJES()const {return corExJES_; }
304 Float_t corEyJES()const {return corEyJES_; }
305 Float_t corSumEtJES()const {return corSumEtJES_; }
306 Float_t uncorrectedPhiMUON() const {return uncorrectedPhiMUON_; }
307 Float_t uncorrectedPtMUON()const {return uncorrectedPtMUON_; }
308 Float_t corExMUON()const {return corExMUON_; }
309 Float_t corEyMUON()const {return corEyMUON_; }
310 Float_t corSumEtMUON()const {return corSumEtMUON_; }
311 //TObject* genMET() const { return genMET_.GetObject(); }
312 virtual TString typeName() const { return "TRootMET"; }
313
314
315 void setMaxEtInEmTowers(Float_t maxEtInEmTowers) { maxEtInEmTowers_ = maxEtInEmTowers; }
316 void setMaxEtInHadTowers(Float_t maxEtInHadTowers) { maxEtInHadTowers_ = maxEtInHadTowers; }
317 void setHadEtInHO(Float_t hadEtInHO) { hadEtInHO_ = hadEtInHO; }
318 void setHadEtInHB(Float_t hadEtInHB) { hadEtInHB_ = hadEtInHB; }
319 void setHadEtInHF(Float_t hadEtInHF) { hadEtInHF_ = hadEtInHF; }
320 void setHadEtInHE(Float_t hadEtInHE) { hadEtInHE_ = hadEtInHE; }
321 void setEmEtInEB(Float_t emEtInEB) { emEtInEB_ = emEtInEB; }
322 void setEmEtInEE(Float_t emEtInEE) { emEtInEE_ = emEtInEE; }
323 void setEmEtInHF(Float_t emEtInHF) { emEtInHF_ = emEtInHF; }
324 void setEtFractionHadronic(Float_t etFractionHadronic) { etFractionHadronic_ = etFractionHadronic; }
325 void setEtFractionEm(Float_t etFractionEm) { etFractionEm_ = etFractionEm; }
326 void setMETSignificance(Float_t metSignificance) { metSignificance_ = metSignificance; }
327 void setCaloMETInpHF(Float_t caloMETInpHF) { caloMETInpHF_ = caloMETInpHF; }
328 void setCaloMETInmHF(Float_t caloMETInmHF) { caloMETInmHF_ = caloMETInmHF; }
329 void setCaloSETInpHF(Float_t caloSETInpHF) { caloSETInpHF_ = caloSETInpHF; }
330 void setCaloSETInmHF(Float_t caloSETInmHF) { caloSETInmHF_ = caloSETInmHF; }
331 void setCaloMETPhiInpHF(Float_t caloMETPhiInpHF) { caloMETPhiInpHF_ = caloMETPhiInpHF; }
332 void setCaloMETPhiInmHF(Float_t caloMETPhiInmHF) { caloMETPhiInmHF_ = caloMETPhiInmHF; }
333
334 void setCaloMETFraction(
335 Float_t maxEtInEmTowers
336 ,Float_t maxEtInHadTowers
337 ,Float_t hadEtInHO
338 ,Float_t hadEtInHB
339 ,Float_t hadEtInHF
340 ,Float_t hadEtInHE
341 ,Float_t emEtInEB
342 ,Float_t emEtInEE
343 ,Float_t emEtInHF
344 ,Float_t etFractionHadronic
345 ,Float_t etFractionEm
346 ,Float_t metSignificance
347 ,Float_t caloMETInpHF
348 ,Float_t caloMETInmHF
349 ,Float_t caloSETInpHF
350 ,Float_t caloSETInmHF
351 ,Float_t caloMETPhiInpHF
352 ,Float_t caloMETPhiInmHF
353 )
354 {
355 maxEtInEmTowers_ = maxEtInEmTowers;
356 maxEtInEmTowers_ = maxEtInEmTowers;
357 maxEtInHadTowers_ = maxEtInHadTowers;
358 hadEtInHO_ = hadEtInHO;
359 hadEtInHB_ = hadEtInHB;
360 hadEtInHF_ = hadEtInHF;
361 hadEtInHE_ = hadEtInHE;
362 emEtInEB_ = emEtInEB;
363 emEtInEE_ = emEtInEE;
364 emEtInHF_ = emEtInHF;
365 etFractionHadronic_ = etFractionHadronic;
366 etFractionEm_ = etFractionEm;
367 metSignificance_ = metSignificance;
368 caloMETInpHF_ = caloMETInpHF;
369 caloMETInmHF_ = caloMETInmHF;
370 caloSETInpHF_ = caloSETInpHF;
371 caloSETInmHF_ = caloSETInmHF;
372 caloMETPhiInpHF_ = caloMETPhiInpHF;
373 caloMETPhiInmHF_ = caloMETPhiInmHF;
374 }
375
376 void setUncorrectedPhiALL(Float_t uncorrectedPhiALL) { uncorrectedPhiALL_ = uncorrectedPhiALL;}
377 void setUncorrectedPtALL(Float_t uncorrectedPtALL) { uncorrectedPtALL_ = uncorrectedPtALL;}
378 void setCorExALL(Float_t corExALL) { corExALL_ = corExALL;}
379 void setCorEyALL(Float_t corEyALL) { corEyALL_ = corEyALL;}
380 void setCorSumEtALL(Float_t corSumEtALL) { corSumEtALL_ = corSumEtALL;}
381 void setUncorrectedPhiJES(Float_t uncorrectedPhiJES) { uncorrectedPhiJES_ = uncorrectedPhiJES;}
382 void setUncorrectedPtJES(Float_t uncorrectedPtJES) { uncorrectedPtJES_ = uncorrectedPtJES;}
383 void setCorExJES(Float_t corExJES) { corExJES_ = corExJES;}
384 void setCorEyJES(Float_t corEyJES) { corEyJES_ = corEyJES;}
385 void setCorSumEtJES(Float_t corSumEtJES) { corSumEtJES_ = corSumEtJES;}
386 void setUncorrectedPhiMUON(Float_t uncorrectedPhiMUON) { uncorrectedPhiMUON_ = uncorrectedPhiMUON;}
387 void setUncorrectedPtMUON(Float_t uncorrectedPtMUON) { uncorrectedPtMUON_ = uncorrectedPtMUON;}
388 void setCorExMUON(Float_t corExMUON) { corExMUON_ = corExMUON;}
389 void setCorEyMUON(Float_t corEyMUON) { corEyMUON_ = corEyMUON;}
390 void setCorSumEtMUON(Float_t corSumEtMUON) { corSumEtMUON_ = corSumEtMUON;}
391 //void setGenMET(TObject* genMET) { genMET_ = genMET; }
392
393
394 friend std::ostream& operator<< (std::ostream& stream, const TRootMET& met) {
395 stream << "TRootMET (Pt,Px,Py)=("<< met.Pt() <<","<< met.Px() <<","<< met.Py() << ")"
396 << " hadEt in (HO,HB,HF,HE)=("<< met.hadEtInHO() <<","<< met.hadEtInHB() <<","<< met.hadEtInHF() <<","<< met.hadEtInHE() << ")"
397 << " emEt in (EB,EF,HF)=("<< met.emEtInEB() <<","<< met.emEtInEE() <<","<< met.emEtInHF() << ")";
398 return stream;
399 };
400
401
402 private:
403
404 Float_t maxEtInEmTowers_; // Maximum ET in EM towers
405 Float_t maxEtInHadTowers_; // Maximum ET in HCAL towers
406 Float_t hadEtInHO_; // Hadronic ET fraction in HO
407 Float_t hadEtInHB_; // Hadronic ET in HB
408 Float_t hadEtInHF_; // Hadronic ET in HF
409 Float_t hadEtInHE_; // Hadronic ET in HE
410 Float_t emEtInEB_; // Em ET in EB
411 Float_t emEtInEE_; // Em ET in EE
412 Float_t emEtInHF_; // Em ET in HF
413 Float_t etFractionHadronic_; // Hadronic ET fraction
414 Float_t etFractionEm_; // Em ET fraction
415 Float_t metSignificance_; // Em ET fraction
416 Float_t caloMETInpHF_; // CaloMET in HF+
417 Float_t caloMETInmHF_; // CaloMET in HF-
418 Float_t caloSETInpHF_; // CaloSET in HF+
419 Float_t caloSETInmHF_; // CaloSET in HF-
420 Float_t caloMETPhiInpHF_; // CaloMET-phi in HF+
421 Float_t caloMETPhiInmHF_; // CaloMET-phi in HF-
422 Float_t uncorrectedPhiALL_;
423 Float_t uncorrectedPtALL_;
424 Float_t corExALL_;
425 Float_t corEyALL_;
426 Float_t corSumEtALL_;
427 Float_t uncorrectedPhiJES_;
428 Float_t uncorrectedPtJES_;
429 Float_t corExJES_;
430 Float_t corEyJES_;
431 Float_t corSumEtJES_;
432 Float_t uncorrectedPhiMUON_;
433 Float_t uncorrectedPtMUON_;
434 Float_t corExMUON_;
435 Float_t corEyMUON_;
436 Float_t corSumEtMUON_;
437
438
439 ClassDef (TRootMET,1);
440 };
441
442 #endif