ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/Morgan/interface/TRootJet.h
Revision: 1.10
Committed: Wed Jun 10 11:17:05 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.9: +389 -390 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 TRootJet_h
2 #define TRootJet_h
3
4 #include "../interface/TRootParticle.h"
5
6 using namespace std;
7
8 class TRootJet : public TRootParticle
9 {
10
11 public:
12 TRootJet() :
13 TRootParticle()
14 ,jetType_(0)
15 ,nConstituents_(-9999)
16 ,chargedMultiplicity_(-9999)
17 ,n90_(-9999)
18 ,n60_(-9999)
19 ,jetArea_(-9999.)
20 ,pileupEnergy_(-9999.)
21 ,maxDistance_(-9999.)
22 ,dR01EnergyFraction_(-9999.)
23 ,dR02EnergyFraction_(-9999.)
24 ,dR03EnergyFraction_(-9999.)
25 ,dR04EnergyFraction_(-9999.)
26 ,dR05EnergyFraction_(-9999.)
27 ,ecalEnergyFraction_(-9999.)
28 ,hcalEnergyFraction_(-9999.)
29 ,chargedEnergyFraction_(-9999.)
30 ,chargedBroadness_(-9999.)
31 ,chargedBroadnessDR01_(-9999.)
32 ,chargedBroadnessDR02_(-9999.)
33 ,chargedBroadnessDR03_(-9999.)
34 ,chargedBroadnessDR04_(-9999.)
35 ,chargedBroadnessDR05_(-9999.)
36 ,btag_trackCountingHighEff_(-9999.)
37 ,btag_trackCountingHighPur_(-9999.)
38 ,btag_jetProbability_(-9999.)
39 ,bCorrection_(-9999.)
40 ,cCorrection_(-9999.)
41 ,udsCorrection_(-9999.)
42 ,gCorrection_(-9999.)
43 ,genJetEnergy_(-9999.)
44 ,genJetIndex_(-9999)
45 ,genJet_(0)
46 ,isTopJet_(false)
47 {;}
48
49 TRootJet(const TRootJet& jet) :
50 TRootParticle(jet)
51 ,jetType_(jet.jetType_)
52 ,nConstituents_(jet.nConstituents_)
53 ,chargedMultiplicity_(jet.chargedMultiplicity_)
54 ,n90_(jet.n90_)
55 ,n60_(jet.n60_)
56 ,jetArea_(jet.jetArea_)
57 ,pileupEnergy_(jet.pileupEnergy_)
58 ,maxDistance_(jet.maxDistance_)
59 ,dR01EnergyFraction_(jet.dR01EnergyFraction_)
60 ,dR02EnergyFraction_(jet.dR02EnergyFraction_)
61 ,dR03EnergyFraction_(jet.dR03EnergyFraction_)
62 ,dR04EnergyFraction_(jet.dR04EnergyFraction_)
63 ,dR05EnergyFraction_(jet.dR05EnergyFraction_)
64 ,ecalEnergyFraction_(jet.ecalEnergyFraction_)
65 ,hcalEnergyFraction_(jet.hcalEnergyFraction_)
66 ,chargedEnergyFraction_(jet.chargedEnergyFraction_)
67 ,chargedBroadness_(jet.chargedBroadness_)
68 ,chargedBroadnessDR01_(jet.chargedBroadnessDR01_)
69 ,chargedBroadnessDR02_(jet.chargedBroadnessDR02_)
70 ,chargedBroadnessDR03_(jet.chargedBroadnessDR03_)
71 ,chargedBroadnessDR04_(jet.chargedBroadnessDR04_)
72 ,chargedBroadnessDR05_(jet.chargedBroadnessDR05_)
73 ,btag_trackCountingHighEff_(jet.btag_trackCountingHighEff_)
74 ,btag_trackCountingHighPur_(jet.btag_trackCountingHighPur_)
75 ,btag_jetProbability_(jet.btag_jetProbability_)
76 ,bCorrection_(jet.bCorrection_)
77 ,cCorrection_(jet.cCorrection_)
78 ,udsCorrection_(jet.udsCorrection_)
79 ,gCorrection_(jet.gCorrection_)
80 ,genJetEnergy_(jet.genJetEnergy_)
81 ,genJetIndex_(jet.genJetIndex_)
82 ,genJet_(jet.genJet_)
83 ,isTopJet_(jet.isTopJet_)
84 {;}
85
86 TRootJet(Double_t px, Double_t py, Double_t pz, Double_t e) :
87 TRootParticle(px,py,pz,e)
88 ,jetType_(0)
89 ,nConstituents_(-9999)
90 ,chargedMultiplicity_(-9999)
91 ,n90_(-9999)
92 ,n60_(-9999)
93 ,jetArea_(-9999.)
94 ,pileupEnergy_(-9999.)
95 ,maxDistance_(-9999.)
96 ,dR01EnergyFraction_(-9999.)
97 ,dR02EnergyFraction_(-9999.)
98 ,dR03EnergyFraction_(-9999.)
99 ,dR04EnergyFraction_(-9999.)
100 ,dR05EnergyFraction_(-9999.)
101 ,ecalEnergyFraction_(-9999.)
102 ,hcalEnergyFraction_(-9999.)
103 ,chargedEnergyFraction_(-9999.)
104 ,chargedBroadness_(-9999.)
105 ,chargedBroadnessDR01_(-9999.)
106 ,chargedBroadnessDR02_(-9999.)
107 ,chargedBroadnessDR03_(-9999.)
108 ,chargedBroadnessDR04_(-9999.)
109 ,chargedBroadnessDR05_(-9999.)
110 ,btag_trackCountingHighEff_(-9999.)
111 ,btag_trackCountingHighPur_(-9999.)
112 ,btag_jetProbability_(-9999.)
113 ,bCorrection_(-9999.)
114 ,cCorrection_(-9999.)
115 ,udsCorrection_(-9999.)
116 ,gCorrection_(-9999.)
117 ,genJetEnergy_(-9999.)
118 ,genJetIndex_(-9999)
119 ,genJet_(0)
120 ,isTopJet_(false)
121 {;}
122
123 TRootJet(Double_t px, Double_t py, Double_t pz, Double_t e, Double_t vtx_x, Double_t vtx_y, Double_t vtx_z) :
124 TRootParticle(px,py,pz,e,vtx_x,vtx_y,vtx_z)
125 ,jetType_(0)
126 ,nConstituents_(-9999)
127 ,chargedMultiplicity_(-9999)
128 ,n90_(-9999)
129 ,n60_(-9999)
130 ,jetArea_(-9999.)
131 ,pileupEnergy_(-9999.)
132 ,maxDistance_(-9999.)
133 ,dR01EnergyFraction_(-9999.)
134 ,dR02EnergyFraction_(-9999.)
135 ,dR03EnergyFraction_(-9999.)
136 ,dR04EnergyFraction_(-9999.)
137 ,dR05EnergyFraction_(-9999.)
138 ,ecalEnergyFraction_(-9999.)
139 ,hcalEnergyFraction_(-9999.)
140 ,chargedEnergyFraction_(-9999.)
141 ,chargedBroadness_(-9999.)
142 ,chargedBroadnessDR01_(-9999.)
143 ,chargedBroadnessDR02_(-9999.)
144 ,chargedBroadnessDR03_(-9999.)
145 ,chargedBroadnessDR04_(-9999.)
146 ,chargedBroadnessDR05_(-9999.)
147 ,btag_trackCountingHighEff_(-9999.)
148 ,btag_trackCountingHighPur_(-9999.)
149 ,btag_jetProbability_(-9999.)
150 ,bCorrection_(-9999.)
151 ,cCorrection_(-9999.)
152 ,udsCorrection_(-9999.)
153 ,gCorrection_(-9999.)
154 ,genJetEnergy_(-9999.)
155 ,genJetIndex_(-9999)
156 ,genJet_(0)
157 ,isTopJet_(false)
158 {;}
159
160 TRootJet(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) :
161 TRootParticle(px,py,pz,e,vtx_x,vtx_y,vtx_z,type,charge)
162 ,jetType_(0)
163 ,nConstituents_(-9999)
164 ,chargedMultiplicity_(-9999)
165 ,n90_(-9999)
166 ,n60_(-9999)
167 ,jetArea_(-9999.)
168 ,pileupEnergy_(-9999.)
169 ,maxDistance_(-9999.)
170 ,dR01EnergyFraction_(-9999.)
171 ,dR02EnergyFraction_(-9999.)
172 ,dR03EnergyFraction_(-9999.)
173 ,dR04EnergyFraction_(-9999.)
174 ,dR05EnergyFraction_(-9999.)
175 ,ecalEnergyFraction_(-9999.)
176 ,hcalEnergyFraction_(-9999.)
177 ,chargedEnergyFraction_(-9999.)
178 ,chargedBroadness_(-9999.)
179 ,chargedBroadnessDR01_(-9999.)
180 ,chargedBroadnessDR02_(-9999.)
181 ,chargedBroadnessDR03_(-9999.)
182 ,chargedBroadnessDR04_(-9999.)
183 ,chargedBroadnessDR05_(-9999.)
184 ,btag_trackCountingHighEff_(-9999.)
185 ,btag_trackCountingHighPur_(-9999.)
186 ,btag_jetProbability_(-9999.)
187 ,bCorrection_(-9999.)
188 ,cCorrection_(-9999.)
189 ,udsCorrection_(-9999.)
190 ,gCorrection_(-9999.)
191 ,genJetEnergy_(-9999.)
192 ,genJetIndex_(-9999)
193 ,genJet_(0)
194 ,isTopJet_(false)
195 {;}
196
197 TRootJet(const TLorentzVector &momentum) :
198 TRootParticle(momentum)
199 ,jetType_(0)
200 ,nConstituents_(-9999)
201 ,chargedMultiplicity_(-9999)
202 ,n90_(-9999)
203 ,n60_(-9999)
204 ,jetArea_(-9999.)
205 ,pileupEnergy_(-9999.)
206 ,maxDistance_(-9999.)
207 ,dR01EnergyFraction_(-9999.)
208 ,dR02EnergyFraction_(-9999.)
209 ,dR03EnergyFraction_(-9999.)
210 ,dR04EnergyFraction_(-9999.)
211 ,dR05EnergyFraction_(-9999.)
212 ,ecalEnergyFraction_(-9999.)
213 ,hcalEnergyFraction_(-9999.)
214 ,chargedEnergyFraction_(-9999.)
215 ,chargedBroadness_(-9999.)
216 ,chargedBroadnessDR01_(-9999.)
217 ,chargedBroadnessDR02_(-9999.)
218 ,chargedBroadnessDR03_(-9999.)
219 ,chargedBroadnessDR04_(-9999.)
220 ,chargedBroadnessDR05_(-9999.)
221 ,btag_trackCountingHighEff_(-9999.)
222 ,btag_trackCountingHighPur_(-9999.)
223 ,btag_jetProbability_(-9999.)
224 ,bCorrection_(-9999.)
225 ,cCorrection_(-9999.)
226 ,udsCorrection_(-9999.)
227 ,gCorrection_(-9999.)
228 ,genJetEnergy_(-9999.)
229 ,genJetIndex_(-9999)
230 ,genJet_(0)
231 ,isTopJet_(false)
232 {;}
233
234 TRootJet(const TLorentzVector &momentum, const TVector3 &vertex, Int_t type, Float_t charge) :
235 TRootParticle(momentum, vertex, type, charge)
236 ,jetType_(0)
237 ,nConstituents_(-9999)
238 ,chargedMultiplicity_(-9999)
239 ,n90_(-9999)
240 ,n60_(-9999)
241 ,jetArea_(-9999.)
242 ,pileupEnergy_(-9999.)
243 ,maxDistance_(-9999.)
244 ,dR01EnergyFraction_(-9999.)
245 ,dR02EnergyFraction_(-9999.)
246 ,dR03EnergyFraction_(-9999.)
247 ,dR04EnergyFraction_(-9999.)
248 ,dR05EnergyFraction_(-9999.)
249 ,ecalEnergyFraction_(-9999.)
250 ,hcalEnergyFraction_(-9999.)
251 ,chargedEnergyFraction_(-9999.)
252 ,chargedBroadness_(-9999.)
253 ,chargedBroadnessDR01_(-9999.)
254 ,chargedBroadnessDR02_(-9999.)
255 ,chargedBroadnessDR03_(-9999.)
256 ,chargedBroadnessDR04_(-9999.)
257 ,chargedBroadnessDR05_(-9999.)
258 ,btag_trackCountingHighEff_(-9999.)
259 ,btag_trackCountingHighPur_(-9999.)
260 ,btag_jetProbability_(-9999.)
261 ,bCorrection_(-9999.)
262 ,cCorrection_(-9999.)
263 ,udsCorrection_(-9999.)
264 ,gCorrection_(-9999.)
265 ,genJetEnergy_(-9999.)
266 ,genJetIndex_(-9999)
267 ,genJet_(0)
268 ,isTopJet_(false)
269 {;}
270
271 ~TRootJet() {;}
272
273
274 Int_t jetType() const { return jetType_; }
275 Int_t nConstituents() const { return nConstituents_; }
276 Int_t chargedMultiplicity() const { return chargedMultiplicity_; }
277 Int_t n90() const { return n90_; }
278 Int_t n60() const { return n60_; }
279 Float_t jetArea() const { return jetArea_; }
280 Float_t pileupEnergy() const { return pileupEnergy_; }
281 Float_t maxDistance() const { return maxDistance_; }
282 Float_t dR01EnergyFraction() const { return dR01EnergyFraction_; }
283 Float_t dR02EnergyFraction() const { return dR02EnergyFraction_; }
284 Float_t dR03EnergyFraction() const { return dR03EnergyFraction_; }
285 Float_t dR04EnergyFraction() const { return dR04EnergyFraction_; }
286 Float_t dR05EnergyFraction() const { return dR05EnergyFraction_; }
287 Float_t ecalEnergyFraction() const { return ecalEnergyFraction_; }
288 Float_t hcalEnergyFraction() const { return hcalEnergyFraction_; }
289 Float_t chargedEnergyFraction() const { return chargedEnergyFraction_; }
290 Float_t chargedBroadness() const { return chargedBroadness_; }
291 Float_t chargedBroadnessDR01() const { return chargedBroadnessDR01_; }
292 Float_t chargedBroadnessDR02() const { return chargedBroadnessDR02_; }
293 Float_t chargedBroadnessDR03() const { return chargedBroadnessDR03_; }
294 Float_t chargedBroadnessDR04() const { return chargedBroadnessDR04_; }
295 Float_t chargedBroadnessDR05() const { return chargedBroadnessDR05_; }
296 Float_t btag_trackCountingHighEff() const { return btag_trackCountingHighEff_; }
297 Float_t btag_trackCountingHighPur() const { return btag_trackCountingHighPur_; }
298 Float_t btag_jetProbability() const { return btag_jetProbability_; }
299 Float_t bCorrection() const { return bCorrection_; }
300 Float_t cCorrection() const { return cCorrection_; }
301 Float_t udsCorrection() const { return udsCorrection_; }
302 Float_t gCorrection() const { return gCorrection_; }
303 Double_t genJetEnergy() const { return genJetEnergy_; }
304 Int_t genJetIndex() const { return genJetIndex_; }
305 TRootParticle* genParton() const { return genParticle(); }
306 TRootParticle* genJet() const { return (TRootParticle*) genJet_.GetObject() ;}
307 Bool_t isTopJet() const { return isTopJet_; }
308
309 virtual TString typeName() const { return "TRootJet"; }
310
311
312 void setJetType(Int_t jetType) { jetType_ = jetType; }
313 void setNConstituents(Int_t nConstituents) { nConstituents_ = nConstituents; }
314 void setChargedMultiplicity(Int_t chargedMultiplicity) { chargedMultiplicity_ = chargedMultiplicity; }
315 void setN90(Int_t n90) { n90_ = n90; }
316 void setN60(Int_t n60) { n60_ = n60; }
317 void setJetArea(Float_t jetArea) { jetArea_ = jetArea; }
318 void setPileupEnergy(Float_t pileupEnergy) { pileupEnergy_ = pileupEnergy; }
319 void setMaxDistance(Float_t maxDistance) { maxDistance_ = maxDistance; }
320 void setDR01EnergyFraction(Float_t dR01EnergyFraction) { dR01EnergyFraction_ = dR01EnergyFraction; }
321 void setDR02EnergyFraction(Float_t dR02EnergyFraction) { dR02EnergyFraction_ = dR02EnergyFraction; }
322 void setDR03EnergyFraction(Float_t dR03EnergyFraction) { dR03EnergyFraction_ = dR03EnergyFraction; }
323 void setDR04EnergyFraction(Float_t dR04EnergyFraction) { dR04EnergyFraction_ = dR04EnergyFraction; }
324 void setDR05EnergyFraction(Float_t dR05EnergyFraction) { dR05EnergyFraction_ = dR05EnergyFraction; }
325 void setEcalEnergyFraction(Float_t ecalEnergyFraction) { ecalEnergyFraction_ = ecalEnergyFraction; }
326 void setHcalEnergyFraction(Float_t hcalEnergyFraction) { hcalEnergyFraction_ = hcalEnergyFraction; }
327 void setChargedEnergyFraction(Float_t chargedEnergyFraction) { chargedEnergyFraction_ = chargedEnergyFraction; }
328 void setChargedBroadness(Float_t chargedBroadness) { chargedBroadness_ = chargedBroadness; }
329 void setChargedBroadnessDR01(Float_t chargedBroadnessDR01) { chargedBroadnessDR01_ = chargedBroadnessDR01; }
330 void setChargedBroadnessDR02(Float_t chargedBroadnessDR02) { chargedBroadnessDR02_ = chargedBroadnessDR02; }
331 void setChargedBroadnessDR03(Float_t chargedBroadnessDR03) { chargedBroadnessDR03_ = chargedBroadnessDR03; }
332 void setChargedBroadnessDR04(Float_t chargedBroadnessDR04) { chargedBroadnessDR04_ = chargedBroadnessDR04; }
333 void setChargedBroadnessDR05(Float_t chargedBroadnessDR05) { chargedBroadnessDR05_ = chargedBroadnessDR05; }
334 void setBtag_trackCountingHighEff(Float_t btag_trackCountingHighEff) { btag_trackCountingHighEff_ = btag_trackCountingHighEff; }
335 void setBtag_trackCountingHighPur(Float_t btag_trackCountingHighPur) { btag_trackCountingHighPur_ = btag_trackCountingHighPur; }
336 void setBtag_jetProbability(Float_t btag_jetProbability) { btag_jetProbability_ = btag_jetProbability; }
337 void setBCorrection(Float_t bCorrection) { bCorrection_ = bCorrection; }
338 void setCCorrection(Float_t cCorrection) { cCorrection_ = cCorrection; }
339 void setUDSCorrection(Float_t udsCorrection) { udsCorrection_ = udsCorrection; }
340 void setGCorrection(Float_t gCorrection) { gCorrection_ = gCorrection; }
341 void setGenJetEnergy(Double_t genJetEnergy) { genJetEnergy_ = genJetEnergy; }
342 void setGenJetIndex(Int_t genJetIndex) { genJetIndex_ = genJetIndex; }
343 //void setGenParton(TObject* genParton) { genParton_ = genParton; }
344 void setGenJet(TObject* genJet) { genJet_ = genJet; }
345 void setIsTopJet(Bool_t isTopJet) { isTopJet_ = isTopJet; }
346
347 friend std::ostream& operator<< (std::ostream& stream, const TRootJet& jet) {
348 stream << "TRootJet - Charge=" << setw(2) << jet.charge() << " (Et,eta,phi)=("<< setw(10) << jet.Et() <<","<< setw(10) << jet.Eta() <<","<< setw(10) << jet.Phi() << ")"
349 << " vertex(x,y,z)=("<< jet.vx() <<","<< jet.vy() <<","<< jet.vz() << ")";
350 return stream;
351 };
352
353
354 private:
355
356 // Variables from reco::Jet
357 Int_t jetType_; // 0 = Unknown ; 1 = CaloJet ; 2 = PFJet
358 Int_t nConstituents_; // Number of constituents of the jet (calotowers for CaloJet / PFParticles for PFJet)
359 Int_t chargedMultiplicity_; // Number of tracks associated to the jet. Not available for reco::CaloJet
360 Int_t n90_; // Number of constituents of the jet carrying 90% of tje jet energy
361 Int_t n60_; // Number of constituents of the jet carrying 60% of tje jet energy
362 Float_t jetArea_; // Jet area
363 Float_t pileupEnergy_; // Pileup energy contribution
364 Float_t maxDistance_; // Maximum distance from jet to constituent
365 Float_t dR01EnergyFraction_; // Fraction of the jet energy in a DeltaR=0.1 cone
366 Float_t dR02EnergyFraction_; // Fraction of the jet energy in a DeltaR=0.1 cone
367 Float_t dR03EnergyFraction_; // Fraction of the jet energy in a DeltaR=0.1 cone
368 Float_t dR04EnergyFraction_; // Fraction of the jet energy in a DeltaR=0.1 cone
369 Float_t dR05EnergyFraction_; // Fraction of the jet energy in a DeltaR=0.1 cone
370 Float_t ecalEnergyFraction_; // ECAL Energy Fraction
371 Float_t hcalEnergyFraction_; // HCAL Energy Fraction
372 Float_t chargedEnergyFraction_; // Charged Energy Fraction - Only available for reco::PFJet
373
374
375 // Variables from pat::Jet
376 Float_t chargedBroadness_; // DR of the cone containing 75% of the jet charged energy
377 Float_t chargedBroadnessDR01_; // charged energy in a cone DR=0.1 / jet charged energy
378 Float_t chargedBroadnessDR02_; // charged energy in a cone DR=0.2 / jet charged energy
379 Float_t chargedBroadnessDR03_; // charged energy in a cone DR=0.3 / jet charged energy
380 Float_t chargedBroadnessDR04_; // charged energy in a cone DR=0.4 / jet charged energy
381 Float_t chargedBroadnessDR05_; // charged energy in a cone DR=0.5 / jet charged energy
382 Float_t btag_trackCountingHighEff_; // b-tagging ; Track counting High Efficiency
383 Float_t btag_trackCountingHighPur_; // b-tagging ; Track counting High Purity
384 Float_t btag_jetProbability_; // b-tagging ; Jet probability
385 Float_t bCorrection_; // correction factor for b hypothesis
386 Float_t cCorrection_; // correction factor for c hypothesis
387 Float_t udsCorrection_; // correction factor for uds hypothesis
388 Float_t gCorrection_; // correction factor for gluon hypothesis
389
390 Double_t genJetEnergy_; // energy of matched genJet
391 Int_t genJetIndex_; // index of matched genJet in genJets TCloneArray
392 TRef genJet_; // reference to matched genJet (kept in genJets branch)
393
394 Bool_t isTopJet_; // Is parton matched to the jet a decay product of the top quark ?
395
396 ClassDef (TRootJet,2);
397 };
398
399 #endif