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

# User Rev Content
1 mlethuil 1.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 lethuill 1.10 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