ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/Morgan/interface/TRootMuon.h
(Generate patch)

Comparing UserCode/Morgan/interface/TRootMuon.h (file contents):
Revision 1.1 by mlethuil, Mon May 19 16:12:13 2008 UTC vs.
Revision 1.9 by lethuill, Tue Apr 14 16:50:16 2009 UTC

# Line 3 | Line 3
3  
4   #include "../interface/TRootParticle.h"
5  
6
6   using namespace std;
7  
8   class TRootMuon : public TRootParticle
9   {
10 <        
10 >
11   public:
12 <        
13 <        TRootMuon() : TRootParticle(),
14 <                        et_em_(0.), et_emS9_(0.), et_had_(0.), et_hadS9_(0.), et_ho_(0.), et_hoS9_(0.), caloCompatibility_(0.),
15 <                        isoR03_emEt_(0.), isoR03_hadEt_(0.), isoR03_hoEt_(0.), isoR03_sumPt_(0.), isoR03_nTracks_(0), isoR03_nJets_(0),
16 <                        isoR05_emEt_(0.), isoR05_hadEt_(0.), isoR05_hoEt_(0.), isoR05_sumPt_(0.), isoR05_nTracks_(0), isoR05_nJets_(0),
17 <                        energyValid_(false), matchesValid_(false), isolationValid_(false) {;}
18 <                        
19 <        TRootMuon(const TRootMuon& muon) : TRootParticle(muon),
20 <                        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_), caloCompatibility_(muon.caloCompatibility_),
21 <                        isoR03_emEt_(muon.isoR03_emEt_), isoR03_hadEt_(muon.isoR03_hadEt_), isoR03_hoEt_(muon.isoR03_hoEt_), isoR03_sumPt_(muon.isoR03_sumPt_), isoR03_nTracks_(muon.isoR03_nTracks_), isoR03_nJets_(muon.isoR03_nJets_),
22 <                        isoR05_emEt_(muon.isoR05_emEt_), isoR05_hadEt_(muon.isoR05_hadEt_), isoR05_hoEt_(muon.isoR05_hoEt_), isoR05_sumPt_(muon.isoR05_sumPt_), isoR05_nTracks_(muon.isoR05_nTracks_), isoR05_nJets_(muon.isoR05_nJets_),
23 <                        energyValid_(muon.energyValid_), matchesValid_(muon.matchesValid_), isolationValid_(muon.isolationValid_) {;}
24 <                                
25 <        TRootMuon(Double_t px, Double_t py, Double_t pz, Double_t e) : TRootParticle(px,py,pz,e),
26 <                        et_em_(0.), et_emS9_(0.), et_had_(0.), et_hadS9_(0.), et_ho_(0.), et_hoS9_(0.), caloCompatibility_(0.),
27 <                        isoR03_emEt_(0.), isoR03_hadEt_(0.), isoR03_hoEt_(0.), isoR03_sumPt_(0.), isoR03_nTracks_(0), isoR03_nJets_(0),
28 <                        isoR05_emEt_(0.), isoR05_hadEt_(0.), isoR05_hoEt_(0.), isoR05_sumPt_(0.), isoR05_nTracks_(0), isoR05_nJets_(0),
29 <                        energyValid_(false), matchesValid_(false), isolationValid_(false) {;}
30 <        
31 <        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) : TRootParticle(px,py,pz,e,vtx_x,vtx_y,vtx_z),
32 <                        et_em_(0.), et_emS9_(0.), et_had_(0.), et_hadS9_(0.), et_ho_(0.), et_hoS9_(0.), caloCompatibility_(0.),
33 <                        isoR03_emEt_(0.), isoR03_hadEt_(0.), isoR03_hoEt_(0.), isoR03_sumPt_(0.), isoR03_nTracks_(0), isoR03_nJets_(0),
34 <                        isoR05_emEt_(0.), isoR05_hadEt_(0.), isoR05_hoEt_(0.), isoR05_sumPt_(0.), isoR05_nTracks_(0), isoR05_nJets_(0),
35 <                        energyValid_(false), matchesValid_(false), isolationValid_(false) {;}
36 <        
37 <        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) : TRootParticle(px,py,pz,e,vtx_x,vtx_y,vtx_z,type,charge),
38 <                        et_em_(0.), et_emS9_(0.), et_had_(0.), et_hadS9_(0.), et_ho_(0.), et_hoS9_(0.), caloCompatibility_(0.),
39 <                        isoR03_emEt_(0.), isoR03_hadEt_(0.), isoR03_hoEt_(0.), isoR03_sumPt_(0.), isoR03_nTracks_(0), isoR03_nJets_(0),
40 <                        isoR05_emEt_(0.), isoR05_hadEt_(0.), isoR05_hoEt_(0.), isoR05_sumPt_(0.), isoR05_nTracks_(0), isoR05_nJets_(0),
41 <                        energyValid_(false), matchesValid_(false), isolationValid_(false) {;}
42 <        
43 <        TRootMuon(const TLorentzVector &momentum) : TRootParticle(momentum),
44 <                        et_em_(0.), et_emS9_(0.), et_had_(0.), et_hadS9_(0.), et_ho_(0.), et_hoS9_(0.), caloCompatibility_(0.),
45 <                        isoR03_emEt_(0.), isoR03_hadEt_(0.), isoR03_hoEt_(0.), isoR03_sumPt_(0.), isoR03_nTracks_(0), isoR03_nJets_(0),
46 <                        isoR05_emEt_(0.), isoR05_hadEt_(0.), isoR05_hoEt_(0.), isoR05_sumPt_(0.), isoR05_nTracks_(0), isoR05_nJets_(0),
47 <                        energyValid_(false), matchesValid_(false), isolationValid_(false) {;}
48 <        
49 <        TRootMuon(const TLorentzVector &momentum, const TVector3 &vertex, Int_t type, Float_t charge) : TRootParticle(momentum, vertex, type, charge),
50 <                        et_em_(0.), et_emS9_(0.), et_had_(0.), et_hadS9_(0.), et_ho_(0.), et_hoS9_(0.), caloCompatibility_(0.),
51 <                        isoR03_emEt_(0.), isoR03_hadEt_(0.), isoR03_hoEt_(0.), isoR03_sumPt_(0.), isoR03_nTracks_(0), isoR03_nJets_(0),
52 <                        isoR05_emEt_(0.), isoR05_hadEt_(0.), isoR05_hoEt_(0.), isoR05_sumPt_(0.), isoR05_nTracks_(0), isoR05_nJets_(0),
53 <                        energyValid_(false), matchesValid_(false), isolationValid_(false) {;}
54 <        
12 >
13 >        TRootMuon() :
14 >                TRootParticle()
15 >                ,et_em_(-9999.)
16 >                ,et_emS9_(-9999.)
17 >                ,et_had_(-9999.)
18 >                ,et_hadS9_(-9999.)
19 >                ,et_ho_(-9999.)
20 >                ,et_hoS9_(-9999.)
21 >                ,caloCompatibility_(-9999.)
22 >                ,isoR03_emEt_(-9999.)
23 >                ,isoR03_hadEt_(-9999.)
24 >                ,isoR03_hoEt_(-9999.)
25 >                ,isoR03_sumPt_(-9999.)
26 >                ,isoR03_nTracks_(-9999)
27 >                ,isoR03_nJets_(-9999)
28 >                ,isoR05_emEt_(-9999.)
29 >                ,isoR05_hadEt_(-9999.)
30 >                ,isoR05_hoEt_(-9999.)
31 >                ,isoR05_sumPt_(-9999.)
32 >                ,isoR05_nTracks_(-9999)
33 >                ,isoR05_nJets_(-9999)
34 >                ,energyValid_(false)
35 >                ,matchesValid_(false)
36 >                ,isolationValid_(false)
37 >                ,direction_(-9999)
38 >                ,algo_(-9999)
39 >                ,id_(-9999)
40 >                ,pixelLayersWithMeasurement_(-1)
41 >                ,stripLayersWithMeasurement_(-1)
42 >                ,d0_(-9999.)
43 >                ,d0Error_(-9999.)
44 >                ,dsz_(-9999.)
45 >                ,dszError_(-9999.)
46 >                ,normalizedChi2_(-9999.)
47 >                ,ptError_(-9999.)
48 >                ,etaError_(-9999.)
49 >                ,phiError_(-9999.)
50 >                {;}
51 >
52 >        TRootMuon(const TRootMuon& muon) :
53 >                TRootParticle(muon)
54 >                ,et_em_(muon.et_em_)
55 >                ,et_emS9_(muon.et_emS9_)
56 >                ,et_had_(muon.et_had_)
57 >                ,et_hadS9_(muon.et_hadS9_)
58 >                ,et_ho_(muon.et_ho_)
59 >                ,et_hoS9_(muon.et_hoS9_)
60 >                ,caloCompatibility_(muon.caloCompatibility_)
61 >                ,isoR03_emEt_(muon.isoR03_emEt_)
62 >                ,isoR03_hadEt_(muon.isoR03_hadEt_)
63 >                ,isoR03_hoEt_(muon.isoR03_hoEt_)
64 >                ,isoR03_sumPt_(muon.isoR03_sumPt_)
65 >                ,isoR03_nTracks_(muon.isoR03_nTracks_)
66 >                ,isoR03_nJets_(muon.isoR03_nJets_)
67 >                ,isoR05_emEt_(muon.isoR05_emEt_)
68 >                ,isoR05_hadEt_(muon.isoR05_hadEt_)
69 >                ,isoR05_hoEt_(muon.isoR05_hoEt_)
70 >                ,isoR05_sumPt_(muon.isoR05_sumPt_)
71 >                ,isoR05_nTracks_(muon.isoR05_nTracks_)
72 >                ,isoR05_nJets_(muon.isoR05_nJets_)
73 >                ,energyValid_(muon.energyValid_)
74 >                ,matchesValid_(muon.matchesValid_)
75 >                ,isolationValid_(muon.isolationValid_)
76 >                ,direction_(muon.direction_)
77 >                ,algo_(muon.algo_)
78 >                ,id_(muon.id_)
79 >                ,pixelLayersWithMeasurement_(muon.pixelLayersWithMeasurement_)
80 >                ,stripLayersWithMeasurement_(muon.stripLayersWithMeasurement_)
81 >                ,d0_(muon.d0_)
82 >                ,d0Error_(muon.d0Error_)
83 >                ,dsz_(muon.dsz_)
84 >                ,dszError_(muon.dszError_)
85 >                ,normalizedChi2_(muon.normalizedChi2_)
86 >                ,ptError_(muon.ptError_)
87 >                ,etaError_(muon.etaError_)
88 >                ,phiError_(muon.phiError_)
89 >                {;}
90 >
91 >        TRootMuon(Double_t px, Double_t py, Double_t pz, Double_t e) :
92 >                TRootParticle(px,py,pz,e)
93 >                ,et_em_(-9999.)
94 >                ,et_emS9_(-9999.)
95 >                ,et_had_(-9999.)
96 >                ,et_hadS9_(-9999.)
97 >                ,et_ho_(-9999.)
98 >                ,et_hoS9_(-9999.)
99 >                ,caloCompatibility_(-9999.)
100 >                ,isoR03_emEt_(-9999.)
101 >                ,isoR03_hadEt_(-9999.)
102 >                ,isoR03_hoEt_(-9999.)
103 >                ,isoR03_sumPt_(-9999.)
104 >                ,isoR03_nTracks_(-9999)
105 >                ,isoR03_nJets_(-9999)
106 >                ,isoR05_emEt_(-9999.)
107 >                ,isoR05_hadEt_(-9999.)
108 >                ,isoR05_hoEt_(-9999.)
109 >                ,isoR05_sumPt_(-9999.)
110 >                ,isoR05_nTracks_(-9999)
111 >                ,isoR05_nJets_(-9999)
112 >                ,energyValid_(false)
113 >                ,matchesValid_(false)
114 >                ,isolationValid_(false)
115 >                ,direction_(-9999)
116 >                ,algo_(-9999)
117 >                ,id_(-9999)
118 >                ,pixelLayersWithMeasurement_(-1)
119 >                ,stripLayersWithMeasurement_(-1)
120 >                ,d0_(-9999.)
121 >                ,d0Error_(-9999.)
122 >                ,dsz_(-9999.)
123 >                ,dszError_(-9999.)
124 >                ,normalizedChi2_(-9999.)
125 >                ,ptError_(-9999.)
126 >                ,etaError_(-9999.)
127 >                ,phiError_(-9999.)
128 >                {;}
129 >
130 >        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) :
131 >                TRootParticle(px,py,pz,e,vtx_x,vtx_y,vtx_z)
132 >                ,et_em_(-9999.)
133 >                ,et_emS9_(-9999.)
134 >                ,et_had_(-9999.)
135 >                ,et_hadS9_(-9999.)
136 >                ,et_ho_(-9999.)
137 >                ,et_hoS9_(-9999.)
138 >                ,caloCompatibility_(-9999.)
139 >                ,isoR03_emEt_(-9999.)
140 >                ,isoR03_hadEt_(-9999.)
141 >                ,isoR03_hoEt_(-9999.)
142 >                ,isoR03_sumPt_(-9999.)
143 >                ,isoR03_nTracks_(-9999)
144 >                ,isoR03_nJets_(-9999)
145 >                ,isoR05_emEt_(-9999.)
146 >                ,isoR05_hadEt_(-9999.)
147 >                ,isoR05_hoEt_(-9999.)
148 >                ,isoR05_sumPt_(-9999.)
149 >                ,isoR05_nTracks_(-9999)
150 >                ,isoR05_nJets_(-9999)
151 >                ,energyValid_(false)
152 >                ,matchesValid_(false)
153 >                ,isolationValid_(false)
154 >                ,direction_(-9999)
155 >                ,algo_(-9999)
156 >                ,id_(-9999)
157 >                ,pixelLayersWithMeasurement_(-1)
158 >                ,stripLayersWithMeasurement_(-1)
159 >                ,d0_(-9999.)
160 >                ,d0Error_(-9999.)
161 >                ,dsz_(-9999.)
162 >                ,dszError_(-9999.)
163 >                ,normalizedChi2_(-9999.)
164 >                ,ptError_(-9999.)
165 >                ,etaError_(-9999.)
166 >                ,phiError_(-9999.)
167 >                {;}
168 >
169 >        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) :
170 >                TRootParticle(px,py,pz,e,vtx_x,vtx_y,vtx_z,type,charge)
171 >                ,et_em_(-9999.)
172 >                ,et_emS9_(-9999.)
173 >                ,et_had_(-9999.)
174 >                ,et_hadS9_(-9999.)
175 >                ,et_ho_(-9999.)
176 >                ,et_hoS9_(-9999.)
177 >                ,caloCompatibility_(-9999.)
178 >                ,isoR03_emEt_(-9999.)
179 >                ,isoR03_hadEt_(-9999.)
180 >                ,isoR03_hoEt_(-9999.)
181 >                ,isoR03_sumPt_(-9999.)
182 >                ,isoR03_nTracks_(-9999)
183 >                ,isoR03_nJets_(-9999)
184 >                ,isoR05_emEt_(-9999.)
185 >                ,isoR05_hadEt_(-9999.)
186 >                ,isoR05_hoEt_(-9999.)
187 >                ,isoR05_sumPt_(-9999.)
188 >                ,isoR05_nTracks_(-9999)
189 >                ,isoR05_nJets_(-9999)
190 >                ,energyValid_(false)
191 >                ,matchesValid_(false)
192 >                ,isolationValid_(false)
193 >                ,direction_(-9999)
194 >                ,algo_(-9999)
195 >                ,id_(-9999)
196 >                ,pixelLayersWithMeasurement_(-1)
197 >                ,stripLayersWithMeasurement_(-1)
198 >                ,d0_(-9999.)
199 >                ,d0Error_(-9999.)
200 >                ,dsz_(-9999.)
201 >                ,dszError_(-9999.)
202 >                ,normalizedChi2_(-9999.)
203 >                ,ptError_(-9999.)
204 >                ,etaError_(-9999.)
205 >                ,phiError_(-9999.)
206 >                {;}
207 >
208 >        TRootMuon(const TLorentzVector &momentum) :
209 >                TRootParticle(momentum)
210 >                ,et_em_(-9999.)
211 >                ,et_emS9_(-9999.)
212 >                ,et_had_(-9999.)
213 >                ,et_hadS9_(-9999.)
214 >                ,et_ho_(-9999.)
215 >                ,et_hoS9_(-9999.)
216 >                ,caloCompatibility_(-9999.)
217 >                ,isoR03_emEt_(-9999.)
218 >                ,isoR03_hadEt_(-9999.)
219 >                ,isoR03_hoEt_(-9999.)
220 >                ,isoR03_sumPt_(-9999.)
221 >                ,isoR03_nTracks_(-9999)
222 >                ,isoR03_nJets_(-9999)
223 >                ,isoR05_emEt_(-9999.)
224 >                ,isoR05_hadEt_(-9999.)
225 >                ,isoR05_hoEt_(-9999.)
226 >                ,isoR05_sumPt_(-9999.)
227 >                ,isoR05_nTracks_(-9999)
228 >                ,isoR05_nJets_(-9999)
229 >                ,energyValid_(false)
230 >                ,matchesValid_(false)
231 >                ,isolationValid_(false)
232 >                ,direction_(-9999)
233 >                ,algo_(-9999)
234 >                ,id_(-9999)
235 >                ,pixelLayersWithMeasurement_(-1)
236 >                ,stripLayersWithMeasurement_(-1)
237 >                ,d0_(-9999.)
238 >                ,d0Error_(-9999.)
239 >                ,dsz_(-9999.)
240 >                ,dszError_(-9999.)
241 >                ,normalizedChi2_(-9999.)
242 >                ,ptError_(-9999.)
243 >                ,etaError_(-9999.)
244 >                ,phiError_(-9999.)
245 >                {;}
246 >
247 >        TRootMuon(const TLorentzVector &momentum, const TVector3 &vertex, Int_t type, Float_t charge) :
248 >                TRootParticle(momentum, vertex, type, charge)
249 >                ,et_em_(-9999.)
250 >                ,et_emS9_(-9999.)
251 >                ,et_had_(-9999.)
252 >                ,et_hadS9_(-9999.)
253 >                ,et_ho_(-9999.)
254 >                ,et_hoS9_(-9999.)
255 >                ,caloCompatibility_(-9999.)
256 >                ,isoR03_emEt_(-9999.)
257 >                ,isoR03_hadEt_(-9999.)
258 >                ,isoR03_hoEt_(-9999.)
259 >                ,isoR03_sumPt_(-9999.)
260 >                ,isoR03_nTracks_(-9999)
261 >                ,isoR03_nJets_(-9999)
262 >                ,isoR05_emEt_(-9999.)
263 >                ,isoR05_hadEt_(-9999.)
264 >                ,isoR05_hoEt_(-9999.)
265 >                ,isoR05_sumPt_(-9999.)
266 >                ,isoR05_nTracks_(-9999)
267 >                ,isoR05_nJets_(-9999)
268 >                ,energyValid_(false)
269 >                ,matchesValid_(false)
270 >                ,isolationValid_(false)
271 >                ,direction_(-9999)
272 >                ,algo_(-9999)
273 >                ,id_(-9999)
274 >                ,pixelLayersWithMeasurement_(-1)
275 >                ,stripLayersWithMeasurement_(-1)
276 >                ,d0_(-9999.)
277 >                ,d0Error_(-9999.)
278 >                ,dsz_(-9999.)
279 >                ,dszError_(-9999.)
280 >                ,normalizedChi2_(-9999.)
281 >                ,ptError_(-9999.)
282 >                ,etaError_(-9999.)
283 >                ,phiError_(-9999.)
284 >                {;}
285 >
286          ~TRootMuon() {;}
287 +
288 +
289 +        Float_t et_em() const { return et_em_;}
290 +        Float_t et_emS9() const { return et_emS9_;}
291 +        Float_t et_had() const { return et_had_;}
292 +        Float_t et_hadS9() const { return et_hadS9_;}
293 +        Float_t et_ho() const { return et_ho_;}
294 +        Float_t et_hoS9() const { return et_hoS9_;}
295 +        Float_t caloCompatibility() const { return caloCompatibility_;}
296 +        
297 +        Float_t isoR03_emEt() const { return isoR03_emEt_;}
298 +        Float_t isoR03_hadEt() const { return isoR03_hadEt_;}
299 +        Float_t isoR03_hoEt() const { return isoR03_hoEt_;}
300 +        Float_t isoR03_sumPt() const { return isoR03_sumPt_;}
301 +        Int_t isoR03_nTracks() const { return isoR03_nTracks_;}
302 +        Int_t isoR03_nJets() const { return isoR03_nJets_;}
303 +        
304 +        Float_t isoR05_emEt() const { return isoR05_emEt_;}
305 +        Float_t isoR05_hadEt() const { return isoR05_hadEt_;}
306 +        Float_t isoR05_hoEt() const { return isoR05_hoEt_;}
307 +        Float_t isoR05_sumPt() const { return isoR05_sumPt_;}
308 +        Int_t isoR05_nTracks() const { return isoR05_nTracks_;}
309 +        Int_t isoR05_nJets() const { return isoR05_nJets_;}
310 +        
311 +        Bool_t energyValid() const { return energyValid_;}
312 +        Bool_t matchesValid() const { return matchesValid_;}
313 +        Bool_t isolationValid() const { return isolationValid_;}
314          
315 <        
316 <        Float_t et_em() { return et_em_;}
317 <        Float_t et_emS9() { return et_emS9_;}
318 <        Float_t et_had() { return et_had_;}
319 <        Float_t et_hadS9() { return et_hadS9_;}
320 <        Float_t et_ho() { return et_ho_;}
321 <        Float_t et_hoS9() { return et_hoS9_;}
322 <        Float_t caloCompatibility() { return caloCompatibility_;}
323 <        
324 <        Float_t isoR03_emEt() { return isoR03_emEt_;}
325 <        Float_t isoR03_hadEt() { return isoR03_hadEt_;}
326 <        Float_t isoR03_hoEt() { return isoR03_hoEt_;}
327 <        Float_t isoR03_sumPt() { return isoR03_sumPt_;}
328 <        Int_t isoR03_nTracks() { return isoR03_nTracks_;}
329 <        Int_t isoR03_nJets() { return isoR03_nJets_;}
330 <        
331 <        Float_t isoR05_emEt() { return isoR05_emEt_;}
332 <        Float_t isoR05_hadEt() { return isoR05_hadEt_;}
333 <        Float_t isoR05_hoEt() { return isoR05_hoEt_;}
334 <        Float_t isoR05_sumPt() { return isoR05_sumPt_;}
335 <        Int_t isoR05_nTracks() { return isoR05_nTracks_;}
336 <        Int_t isoR05_nJets() { return isoR05_nJets_;}
337 <        
338 <        Bool_t energyValid() { return energyValid_;}
339 <        Bool_t matchesValid() { return matchesValid_;}
340 <        Bool_t isolationValid() { return isolationValid_;}
341 <        
342 <        
315 >        Int_t direction() const { return direction_;}
316 >        Int_t algo() const { return algo_;}
317 >
318 >        Bool_t isGlobalMuon() const { return algo_ & 2; }
319 >        Bool_t isTrackerMuon() const { return algo_ & 4; }
320 >        Bool_t isStandAloneMuon() const { return algo_ & 8; }
321 >        Bool_t isCaloMuon() const { return algo_ & 16; }
322 >
323 >        Int_t id() const { return id_;}
324 >        Bool_t idTrackerMuonArbitrated() const { return id_ & 1; }
325 >        Bool_t idAllArbitrated() const { return id_ & 2; }
326 >        Bool_t idGlobalMuonPromptTight() const { return id_ & 4; }
327 >        Bool_t idTMLastStationLoose() const { return id_ & 8; }
328 >        Bool_t idTMLastStationTight() const { return id_ & 16; }
329 >        Bool_t idTM2DCompatibilityLoose() const { return id_ & 32; }
330 >        Bool_t idTM2DCompatibilityTight() const { return id_ & 64; }
331 >
332 >        Int_t pixelLayersWithMeasurement() const { return pixelLayersWithMeasurement_; }
333 >        Int_t stripLayersWithMeasurement() const { return stripLayersWithMeasurement_; }
334 >        Float_t d0() const { return d0_ ;}
335 >        Float_t d0Error() const { return d0Error_ ;}
336 >        Float_t dsz() const { return dsz_ ;}
337 >        Float_t dszError() const { return dszError_ ;}
338 >        Float_t normalizedChi2() const { return normalizedChi2_ ;}
339 >        Float_t ptError() const { return ptError_ ;}
340 >        Float_t etaError() const { return etaError_ ;}
341 >        Float_t phiError() const { return phiError_ ;}
342 >
343 >
344 >        //TObject* genMuon() const { return genMuon_.GetObject() ;}
345 >        virtual TString typeName() const { return "TRootMuon"; }
346 >
347 >
348          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)
349          {
350                  et_em_ = et_em;
# Line 114 | Line 376 | public:
376                  isoR05_nJets_ = isoR05_nJets;
377          }
378          
379 +        void setValidity(Bool_t energyValid, Bool_t matchesValid, Bool_t isolationValid)
380 +        {
381 +                energyValid_ = energyValid;
382 +                matchesValid_ = matchesValid;
383 +                isolationValid_ = isolationValid;
384 +        }
385 +
386 +        void setDirection(Int_t direction) { direction_ = direction; }
387 +        void setAlgo(Int_t algo) { algo_ = algo; }
388 +        void setID(Int_t id) { id_ = id; }
389 +        void setID(
390 +                Int_t trackerMuonArbitrated
391 +                ,Int_t allArbitrated
392 +                ,Int_t globalMuonPromptTight
393 +                ,Int_t tmLastStationLoose
394 +                ,Int_t tmLastStationTight
395 +                ,Int_t tm2DCompatibilityLoose
396 +                ,Int_t tm2DCompatibilityTight
397 +        )
398 +        { id_ = trackerMuonArbitrated*1 + allArbitrated*2 + globalMuonPromptTight*4 + tmLastStationLoose*8 + tmLastStationTight*16 + tm2DCompatibilityLoose*32 + tm2DCompatibilityTight*64; }
399 +
400 +        void setPixelLayersWithMeasurement(Int_t pixelLayersWithMeasurement) { pixelLayersWithMeasurement_ = pixelLayersWithMeasurement; }
401 +        void setStripLayersWithMeasurement(Int_t stripLayersWithMeasurement) { stripLayersWithMeasurement_ = stripLayersWithMeasurement; }
402 +        void setD0(Float_t d0) { d0_ = d0; }
403 +        void setD0Error(Float_t d0Error) { d0Error_ = d0Error; }
404 +        void setDsz(Float_t dsz) { dsz_ = dsz; }
405 +        void setDszError(Float_t dszError) { dszError_ = dszError; }
406 +        void setNormalizedChi2(Float_t normalizedChi2) { normalizedChi2_ = normalizedChi2; }
407 +        void setPtError(Float_t ptError) { ptError_ = ptError; }
408 +        void setEtaError(Float_t etaError) { etaError_ = etaError; }
409 +        void setPhiError(Float_t phiError) { phiError_ = phiError; }
410 +
411 +
412          friend std::ostream& operator<< (std::ostream& stream, const TRootMuon& muon) {
413 <                stream << "TRootMuon - Charge=" << muon.charge() << " (Et,eta,phi)=("<< muon.Et() <<","<< muon.Eta() <<","<< muon.Phi() << ")  vertex(x,y,z)=("<< muon.vx() <<","<< muon.vy() <<","<< muon.vz() << ")"
414 <                                << "  caloCompatibility="<<  muon.caloCompatibility_ << "  validity(energy, matches, isolation)=(" << muon.energyValid_ <<","<< muon.matchesValid_ <<","<< muon.isolationValid_ << ")" << endl
413 >                stream << "TRootMuon - Charge=" << muon.charge() << " (Et,eta,phi)=("<< muon.Et() <<","<< muon.Eta() <<","<< muon.Phi() << ")  vertex(x,y,z)=("<< muon.vx() <<","<< muon.vy() <<","<< muon.vz() << ")" << endl
414 >                                << "            Type(G,T,S,C)=(" << muon.isGlobalMuon() << ","  << muon.isTrackerMuon() << ","  << muon.isStandAloneMuon() << ","  << muon.isCaloMuon() << ") "
415 >                                << "  ID=(" << muon.idTrackerMuonArbitrated() << ","  << muon.idAllArbitrated() << ","  << muon.idGlobalMuonPromptTight() << ","  << muon.idTMLastStationLoose()
416 >                                << ","  << muon.idTMLastStationTight() << ","  << muon.idTM2DCompatibilityLoose() << ","  << muon.idTM2DCompatibilityTight() << ")" << "  Direction=" << muon.direction_
417 >                                << "  caloCompatibility="<<  muon.caloCompatibility_ << "  validity(energy,matches,isolation)=(" << muon.energyValid_ <<","<< muon.matchesValid_ <<","<< muon.isolationValid_ << ")" << endl
418                                  << "            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
419                                  << "            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
420                                  << "            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_;
# Line 126 | Line 424 | public:
424          
425          private:
426          
427 +        // Variables from reco::Muon
428          Float_t et_em_;
429          Float_t et_emS9_;
430          Float_t et_had_;
# Line 151 | Line 450 | public:
450          Bool_t energyValid_;
451          Bool_t matchesValid_;
452          Bool_t isolationValid_;
453 +
454 +        Int_t direction_;       //  OutsideIn = -1, Undefined = 0, InsideOut = 1
455 +        Int_t algo_; // binary => GlobalMuon=00010 , TrackerMuon=00100 , StandAloneMuon=01000 , CaloMuon=10000
456 +        // MuonId coded in binary word id_ ==> TrackerMuonArbitrated=0000001 , AllArbitrated=0000010 , GlobalMuonPromptTight=0000100 ,
457 +        // TMLastStationLoose=0001000 , TMLastStationTight=0010000 , TM2DCompatibilityLoose=0100000 , TM2DCompatibilityTight=1000000
458 +        Int_t id_;
459 +
460          
461 <        ClassDef (TRootMuon,1);
461 >        // Variables from reco::GsfTrack
462 >
463 >        /* cf: http://cmslxr.fnal.gov/lxr/source/DataFormats/TrackReco/interface/TrackBase.h
464 >        For tracks reconstructed in the CMS Tracker, the reference position is the point of closest approach to the centre
465 >        of CMS. For muons, this is not necessarily true. Parameters associated to the 5D curvilinear covariance matrix:
466 >                qoverp = q / abs(p) = signed inverse of momentum [1/GeV]
467 >                lambda = pi/2 - polar angle at the given point
468 >                phi = azimuth angle at the given point
469 >                dxy = -vx*sin(phi) + vy*cos(phi) [cm]
470 >                dsz = vz*cos(lambda) - (vx*cos(phi)+vy*sin(phi))*sin(lambda) [cm]
471 >
472 >        Geometrically, dxy is the signed distance in the XY plane between the straight line passing through (vx,vy) with
473 >        azimuthal angle phi and the point (0,0). The dsz parameter is the signed distance in the SZ plane between the straight
474 >        line passing through (vx,vy,vz) with angles (phi, lambda) and the point (s=0,z=0). The S axis is defined by the projection
475 >        of the straight line onto the XY plane. The convention is to assign the S coordinate for (vx,vy) as the value
476 >        vx*cos(phi)+vy*sin(phi). This value is zero when (vx,vy) is the point of minimum transverse distance to (0,0).
477 >
478 >        Note that dxy and dsz provide sensible estimates of the distance from the true particle trajectory to (0,0,0) ONLY
479 >        in two cases:
480 >                - When (vx,vy,vz) already correspond to the point of minimum transverse distance to (0,0,0) or is close to it
481 >                (so that the differences between considering the exact trajectory or a straight line in this range  are negligible).
482 >                This is usually true for Tracker tracks.
483 >                - When the track has infinite or extremely high momentum */
484 >
485 >        Int_t pixelLayersWithMeasurement_; // Number of pixel layers with at least one valid hit
486 >        Int_t stripLayersWithMeasurement_; // Number of strip layers with at least one valid hit
487 >
488 >        Float_t d0_;             // d0=-dxy
489 >     Float_t d0Error_;        // error on d0_
490 >     Float_t dsz_;            // dsz parameter
491 >     Float_t dszError_;       // error on dsz_
492 >     Float_t normalizedChi2_; // chi-squared divided by n.d.o.f. of track fit
493 >
494 >     Float_t ptError_; // needed ?  ptError()
495 >     Float_t etaError_; // needed ?  etaError()
496 >     Float_t phiError_; // needed ?  phiError()
497 >
498 >
499 >        ClassDef (TRootMuon,2);
500   };
501  
502   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines