ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/Morgan/interface/TRootJet.h
Revision: 1.8
Committed: Thu Jan 8 15:43:29 2009 UTC (16 years, 3 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.7: +12 -2 lines
Log Message:
Add isTopJet method

File Contents

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