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

# User Rev Content
1 mlethuil 1.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 lethuill 1.2 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 mlethuil 1.1
40 lethuill 1.2 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 mlethuil 1.1
66 lethuill 1.2 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 mlethuil 1.1
170 lethuill 1.2 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 mlethuil 1.1
196     ~TRootMuon() {;}
197    
198    
199 lethuill 1.2 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 mlethuil 1.1
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