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.2 by lethuill, Wed Nov 19 19:03:16 2008 UTC vs.
Revision 1.12 by lethuill, Tue Apr 21 17:08:53 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 <        
12 >
13          TRootMuon() :
14 <                        TRootParticle()
15 <                        ,et_em_(0.)
16 <                        ,et_emS9_(0.)
17 <                        ,et_had_(0.)
18 <                        ,et_hadS9_(0.)
19 <                        ,et_ho_(0.)
20 <                        ,et_hoS9_(0.)
21 <                        ,caloCompatibility_(0.)
22 <                        ,isoR03_emEt_(0.)
23 <                        ,isoR03_hadEt_(0.)
24 <                        ,isoR03_hoEt_(0.)
25 <                        ,isoR03_sumPt_(0.)
26 <                        ,isoR03_nTracks_(0)
27 <                        ,isoR03_nJets_(0)
28 <                        ,isoR05_emEt_(0.)
29 <                        ,isoR05_hadEt_(0.)
30 <                        ,isoR05_hoEt_(0.)
31 <                        ,isoR05_sumPt_(0.)
32 <                        ,isoR05_nTracks_(0)
33 <                        ,isoR05_nJets_(0)
34 <                        ,energyValid_(false)
35 <                        ,matchesValid_(false)
36 <                        ,isolationValid_(false)
37 <                        {;}
38 <                        
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 >                ,numberOfValidPixelHits_(-1)
41 >                ,numberOfValidTrackerHits_(-1)
42 >                ,pixelLayersWithMeasurement_(-1)
43 >                ,stripLayersWithMeasurement_(-1)
44 >                ,d0_(-9999.)
45 >                ,d0Error_(-9999.)
46 >                ,dsz_(-9999.)
47 >                ,dszError_(-9999.)
48 >                ,normalizedChi2_(-9999.)
49 >                ,ptError_(-9999.)
50 >                ,etaError_(-9999.)
51 >                ,phiError_(-9999.)
52 >                ,ip3DSignificance_(-9999.)
53 >                ,innerTrack_(0.,0.,0.,0.)
54 >                ,outerTrack_(0.,0.,0.,0.)
55 >                ,globalTrack_(0.,0.,0.,0.)
56 >                {;}
57 >
58          TRootMuon(const TRootMuon& muon) :
59 <                        TRootParticle(muon)
60 <                        ,et_em_(muon.et_em_)
61 <                        ,et_emS9_(muon.et_emS9_)
62 <                        ,et_had_(muon.et_had_)
63 <                        ,et_hadS9_(muon.et_hadS9_)
64 <                        ,et_ho_(muon.et_ho_)
65 <                        ,et_hoS9_(muon.et_hoS9_)
66 <                        ,caloCompatibility_(muon.caloCompatibility_)
67 <                        ,isoR03_emEt_(muon.isoR03_emEt_)
68 <                        ,isoR03_hadEt_(muon.isoR03_hadEt_)
69 <                        ,isoR03_hoEt_(muon.isoR03_hoEt_)
70 <                        ,isoR03_sumPt_(muon.isoR03_sumPt_)
71 <                        ,isoR03_nTracks_(muon.isoR03_nTracks_)
72 <                        ,isoR03_nJets_(muon.isoR03_nJets_)
73 <                        ,isoR05_emEt_(muon.isoR05_emEt_)
74 <                        ,isoR05_hadEt_(muon.isoR05_hadEt_)
75 <                        ,isoR05_hoEt_(muon.isoR05_hoEt_)
76 <                        ,isoR05_sumPt_(muon.isoR05_sumPt_)
77 <                        ,isoR05_nTracks_(muon.isoR05_nTracks_)
78 <                        ,isoR05_nJets_(muon.isoR05_nJets_)
79 <                        ,energyValid_(muon.energyValid_)
80 <                        ,matchesValid_(muon.matchesValid_)
81 <                        ,isolationValid_(muon.isolationValid_)
82 <                        {;}
83 <                                
59 >                TRootParticle(muon)
60 >                ,et_em_(muon.et_em_)
61 >                ,et_emS9_(muon.et_emS9_)
62 >                ,et_had_(muon.et_had_)
63 >                ,et_hadS9_(muon.et_hadS9_)
64 >                ,et_ho_(muon.et_ho_)
65 >                ,et_hoS9_(muon.et_hoS9_)
66 >                ,caloCompatibility_(muon.caloCompatibility_)
67 >                ,isoR03_emEt_(muon.isoR03_emEt_)
68 >                ,isoR03_hadEt_(muon.isoR03_hadEt_)
69 >                ,isoR03_hoEt_(muon.isoR03_hoEt_)
70 >                ,isoR03_sumPt_(muon.isoR03_sumPt_)
71 >                ,isoR03_nTracks_(muon.isoR03_nTracks_)
72 >                ,isoR03_nJets_(muon.isoR03_nJets_)
73 >                ,isoR05_emEt_(muon.isoR05_emEt_)
74 >                ,isoR05_hadEt_(muon.isoR05_hadEt_)
75 >                ,isoR05_hoEt_(muon.isoR05_hoEt_)
76 >                ,isoR05_sumPt_(muon.isoR05_sumPt_)
77 >                ,isoR05_nTracks_(muon.isoR05_nTracks_)
78 >                ,isoR05_nJets_(muon.isoR05_nJets_)
79 >                ,energyValid_(muon.energyValid_)
80 >                ,matchesValid_(muon.matchesValid_)
81 >                ,isolationValid_(muon.isolationValid_)
82 >                ,direction_(muon.direction_)
83 >                ,algo_(muon.algo_)
84 >                ,id_(muon.id_)
85 >                ,numberOfValidPixelHits_(muon.numberOfValidPixelHits_)
86 >                ,numberOfValidTrackerHits_(muon.numberOfValidTrackerHits_)
87 >                ,pixelLayersWithMeasurement_(muon.pixelLayersWithMeasurement_)
88 >                ,stripLayersWithMeasurement_(muon.stripLayersWithMeasurement_)
89 >                ,d0_(muon.d0_)
90 >                ,d0Error_(muon.d0Error_)
91 >                ,dsz_(muon.dsz_)
92 >                ,dszError_(muon.dszError_)
93 >                ,normalizedChi2_(muon.normalizedChi2_)
94 >                ,ptError_(muon.ptError_)
95 >                ,etaError_(muon.etaError_)
96 >                ,phiError_(muon.phiError_)
97 >                ,ip3DSignificance_(muon.ip3DSignificance_)
98 >                ,innerTrack_(muon.innerTrack_)
99 >                ,outerTrack_(muon.outerTrack_)
100 >                ,globalTrack_(muon.globalTrack_)
101 >                {;}
102 >
103          TRootMuon(Double_t px, Double_t py, Double_t pz, Double_t e) :
104 <                        TRootParticle(px,py,pz,e)
105 <                        ,et_em_(0.)
106 <                        ,et_emS9_(0.)
107 <                        ,et_had_(0.)
108 <                        ,et_hadS9_(0.)
109 <                        ,et_ho_(0.)
110 <                        ,et_hoS9_(0.)
111 <                        ,caloCompatibility_(0.)
112 <                        ,isoR03_emEt_(0.)
113 <                        ,isoR03_hadEt_(0.)
114 <                        ,isoR03_hoEt_(0.)
115 <                        ,isoR03_sumPt_(0.)
116 <                        ,isoR03_nTracks_(0)
117 <                        ,isoR03_nJets_(0)
118 <                        ,isoR05_emEt_(0.)
119 <                        ,isoR05_hadEt_(0.)
120 <                        ,isoR05_hoEt_(0.)
121 <                        ,isoR05_sumPt_(0.)
122 <                        ,isoR05_nTracks_(0)
123 <                        ,isoR05_nJets_(0)
124 <                        ,energyValid_(false)
125 <                        ,matchesValid_(false)
126 <                        ,isolationValid_(false)
127 <                        {;}
128 <        
104 >                TRootParticle(px,py,pz,e)
105 >                ,et_em_(-9999.)
106 >                ,et_emS9_(-9999.)
107 >                ,et_had_(-9999.)
108 >                ,et_hadS9_(-9999.)
109 >                ,et_ho_(-9999.)
110 >                ,et_hoS9_(-9999.)
111 >                ,caloCompatibility_(-9999.)
112 >                ,isoR03_emEt_(-9999.)
113 >                ,isoR03_hadEt_(-9999.)
114 >                ,isoR03_hoEt_(-9999.)
115 >                ,isoR03_sumPt_(-9999.)
116 >                ,isoR03_nTracks_(-9999)
117 >                ,isoR03_nJets_(-9999)
118 >                ,isoR05_emEt_(-9999.)
119 >                ,isoR05_hadEt_(-9999.)
120 >                ,isoR05_hoEt_(-9999.)
121 >                ,isoR05_sumPt_(-9999.)
122 >                ,isoR05_nTracks_(-9999)
123 >                ,isoR05_nJets_(-9999)
124 >                ,energyValid_(false)
125 >                ,matchesValid_(false)
126 >                ,isolationValid_(false)
127 >                ,direction_(-9999)
128 >                ,algo_(-9999)
129 >                ,id_(-9999)
130 >                ,numberOfValidPixelHits_(-1)
131 >                ,numberOfValidTrackerHits_(-1)
132 >                ,pixelLayersWithMeasurement_(-1)
133 >                ,stripLayersWithMeasurement_(-1)
134 >                ,d0_(-9999.)
135 >                ,d0Error_(-9999.)
136 >                ,dsz_(-9999.)
137 >                ,dszError_(-9999.)
138 >                ,normalizedChi2_(-9999.)
139 >                ,ptError_(-9999.)
140 >                ,etaError_(-9999.)
141 >                ,phiError_(-9999.)
142 >                ,ip3DSignificance_(-9999.)
143 >                ,innerTrack_(0.,0.,0.,0.)
144 >                ,outerTrack_(0.,0.,0.,0.)
145 >                ,globalTrack_(0.,0.,0.,0.)
146 >                {;}
147 >
148          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) :
149 <                        TRootParticle(px,py,pz,e,vtx_x,vtx_y,vtx_z)
150 <                        ,et_em_(0.)
151 <                        ,et_emS9_(0.)
152 <                        ,et_had_(0.)
153 <                        ,et_hadS9_(0.)
154 <                        ,et_ho_(0.)
155 <                        ,et_hoS9_(0.)
156 <                        ,caloCompatibility_(0.)
157 <                        ,isoR03_emEt_(0.)
158 <                        ,isoR03_hadEt_(0.)
159 <                        ,isoR03_hoEt_(0.)
160 <                        ,isoR03_sumPt_(0.)
161 <                        ,isoR03_nTracks_(0)
162 <                        ,isoR03_nJets_(0)
163 <                        ,isoR05_emEt_(0.)
164 <                        ,isoR05_hadEt_(0.)
165 <                        ,isoR05_hoEt_(0.)
166 <                        ,isoR05_sumPt_(0.)
167 <                        ,isoR05_nTracks_(0)
168 <                        ,isoR05_nJets_(0)
169 <                        ,energyValid_(false)
170 <                        ,matchesValid_(false)
171 <                        ,isolationValid_(false)
172 <                        {;}
173 <        
149 >                TRootParticle(px,py,pz,e,vtx_x,vtx_y,vtx_z)
150 >                ,et_em_(-9999.)
151 >                ,et_emS9_(-9999.)
152 >                ,et_had_(-9999.)
153 >                ,et_hadS9_(-9999.)
154 >                ,et_ho_(-9999.)
155 >                ,et_hoS9_(-9999.)
156 >                ,caloCompatibility_(-9999.)
157 >                ,isoR03_emEt_(-9999.)
158 >                ,isoR03_hadEt_(-9999.)
159 >                ,isoR03_hoEt_(-9999.)
160 >                ,isoR03_sumPt_(-9999.)
161 >                ,isoR03_nTracks_(-9999)
162 >                ,isoR03_nJets_(-9999)
163 >                ,isoR05_emEt_(-9999.)
164 >                ,isoR05_hadEt_(-9999.)
165 >                ,isoR05_hoEt_(-9999.)
166 >                ,isoR05_sumPt_(-9999.)
167 >                ,isoR05_nTracks_(-9999)
168 >                ,isoR05_nJets_(-9999)
169 >                ,energyValid_(false)
170 >                ,matchesValid_(false)
171 >                ,isolationValid_(false)
172 >                ,direction_(-9999)
173 >                ,algo_(-9999)
174 >                ,id_(-9999)
175 >                ,numberOfValidPixelHits_(-1)
176 >                ,numberOfValidTrackerHits_(-1)
177 >                ,pixelLayersWithMeasurement_(-1)
178 >                ,stripLayersWithMeasurement_(-1)
179 >                ,d0_(-9999.)
180 >                ,d0Error_(-9999.)
181 >                ,dsz_(-9999.)
182 >                ,dszError_(-9999.)
183 >                ,normalizedChi2_(-9999.)
184 >                ,ptError_(-9999.)
185 >                ,etaError_(-9999.)
186 >                ,phiError_(-9999.)
187 >                ,ip3DSignificance_(-9999.)
188 >                ,innerTrack_(0.,0.,0.,0.)
189 >                ,outerTrack_(0.,0.,0.,0.)
190 >                ,globalTrack_(0.,0.,0.,0.)
191 >                {;}
192 >
193          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) :
194 <                        TRootParticle(px,py,pz,e,vtx_x,vtx_y,vtx_z,type,charge)
195 <                        ,et_em_(0.)
196 <                        ,et_emS9_(0.)
197 <                        ,et_had_(0.)
198 <                        ,et_hadS9_(0.)
199 <                        ,et_ho_(0.)
200 <                        ,et_hoS9_(0.)
201 <                        ,caloCompatibility_(0.)
202 <                        ,isoR03_emEt_(0.)
203 <                        ,isoR03_hadEt_(0.)
204 <                        ,isoR03_hoEt_(0.)
205 <                        ,isoR03_sumPt_(0.)
206 <                        ,isoR03_nTracks_(0)
207 <                        ,isoR03_nJets_(0)
208 <                        ,isoR05_emEt_(0.)
209 <                        ,isoR05_hadEt_(0.)
210 <                        ,isoR05_hoEt_(0.)
211 <                        ,isoR05_sumPt_(0.)
212 <                        ,isoR05_nTracks_(0)
213 <                        ,isoR05_nJets_(0)
214 <                        ,energyValid_(false)
215 <                        ,matchesValid_(false)
216 <                        ,isolationValid_(false)
217 <                        {;}
218 <        
194 >                TRootParticle(px,py,pz,e,vtx_x,vtx_y,vtx_z,type,charge)
195 >                ,et_em_(-9999.)
196 >                ,et_emS9_(-9999.)
197 >                ,et_had_(-9999.)
198 >                ,et_hadS9_(-9999.)
199 >                ,et_ho_(-9999.)
200 >                ,et_hoS9_(-9999.)
201 >                ,caloCompatibility_(-9999.)
202 >                ,isoR03_emEt_(-9999.)
203 >                ,isoR03_hadEt_(-9999.)
204 >                ,isoR03_hoEt_(-9999.)
205 >                ,isoR03_sumPt_(-9999.)
206 >                ,isoR03_nTracks_(-9999)
207 >                ,isoR03_nJets_(-9999)
208 >                ,isoR05_emEt_(-9999.)
209 >                ,isoR05_hadEt_(-9999.)
210 >                ,isoR05_hoEt_(-9999.)
211 >                ,isoR05_sumPt_(-9999.)
212 >                ,isoR05_nTracks_(-9999)
213 >                ,isoR05_nJets_(-9999)
214 >                ,energyValid_(false)
215 >                ,matchesValid_(false)
216 >                ,isolationValid_(false)
217 >                ,direction_(-9999)
218 >                ,algo_(-9999)
219 >                ,id_(-9999)
220 >                ,numberOfValidPixelHits_(-1)
221 >                ,numberOfValidTrackerHits_(-1)
222 >                ,pixelLayersWithMeasurement_(-1)
223 >                ,stripLayersWithMeasurement_(-1)
224 >                ,d0_(-9999.)
225 >                ,d0Error_(-9999.)
226 >                ,dsz_(-9999.)
227 >                ,dszError_(-9999.)
228 >                ,normalizedChi2_(-9999.)
229 >                ,ptError_(-9999.)
230 >                ,etaError_(-9999.)
231 >                ,phiError_(-9999.)
232 >                ,ip3DSignificance_(-9999.)
233 >                ,innerTrack_(0.,0.,0.,0.)
234 >                ,outerTrack_(0.,0.,0.,0.)
235 >                ,globalTrack_(0.,0.,0.,0.)
236 >                {;}
237 >
238          TRootMuon(const TLorentzVector &momentum) :
239 <                        TRootParticle(momentum)
240 <                        ,et_em_(0.)
241 <                        ,et_emS9_(0.)
242 <                        ,et_had_(0.)
243 <                        ,et_hadS9_(0.)
244 <                        ,et_ho_(0.)
245 <                        ,et_hoS9_(0.)
246 <                        ,caloCompatibility_(0.)
247 <                        ,isoR03_emEt_(0.)
248 <                        ,isoR03_hadEt_(0.)
249 <                        ,isoR03_hoEt_(0.)
250 <                        ,isoR03_sumPt_(0.)
251 <                        ,isoR03_nTracks_(0)
252 <                        ,isoR03_nJets_(0)
253 <                        ,isoR05_emEt_(0.)
254 <                        ,isoR05_hadEt_(0.)
255 <                        ,isoR05_hoEt_(0.)
256 <                        ,isoR05_sumPt_(0.)
257 <                        ,isoR05_nTracks_(0)
258 <                        ,isoR05_nJets_(0)
259 <                        ,energyValid_(false)
260 <                        ,matchesValid_(false)
261 <                        ,isolationValid_(false)
262 <                        {;}
263 <        
239 >                TRootParticle(momentum)
240 >                ,et_em_(-9999.)
241 >                ,et_emS9_(-9999.)
242 >                ,et_had_(-9999.)
243 >                ,et_hadS9_(-9999.)
244 >                ,et_ho_(-9999.)
245 >                ,et_hoS9_(-9999.)
246 >                ,caloCompatibility_(-9999.)
247 >                ,isoR03_emEt_(-9999.)
248 >                ,isoR03_hadEt_(-9999.)
249 >                ,isoR03_hoEt_(-9999.)
250 >                ,isoR03_sumPt_(-9999.)
251 >                ,isoR03_nTracks_(-9999)
252 >                ,isoR03_nJets_(-9999)
253 >                ,isoR05_emEt_(-9999.)
254 >                ,isoR05_hadEt_(-9999.)
255 >                ,isoR05_hoEt_(-9999.)
256 >                ,isoR05_sumPt_(-9999.)
257 >                ,isoR05_nTracks_(-9999)
258 >                ,isoR05_nJets_(-9999)
259 >                ,energyValid_(false)
260 >                ,matchesValid_(false)
261 >                ,isolationValid_(false)
262 >                ,direction_(-9999)
263 >                ,algo_(-9999)
264 >                ,id_(-9999)
265 >                ,numberOfValidPixelHits_(-1)
266 >                ,numberOfValidTrackerHits_(-1)
267 >                ,pixelLayersWithMeasurement_(-1)
268 >                ,stripLayersWithMeasurement_(-1)
269 >                ,d0_(-9999.)
270 >                ,d0Error_(-9999.)
271 >                ,dsz_(-9999.)
272 >                ,dszError_(-9999.)
273 >                ,normalizedChi2_(-9999.)
274 >                ,ptError_(-9999.)
275 >                ,etaError_(-9999.)
276 >                ,phiError_(-9999.)
277 >                ,ip3DSignificance_(-9999.)
278 >                ,innerTrack_(0.,0.,0.,0.)
279 >                ,outerTrack_(0.,0.,0.,0.)
280 >                ,globalTrack_(0.,0.,0.,0.)
281 >                {;}
282 >
283          TRootMuon(const TLorentzVector &momentum, const TVector3 &vertex, Int_t type, Float_t charge) :
284 <                        TRootParticle(momentum, vertex, type, charge)
285 <                        ,et_em_(0.)
286 <                        ,et_emS9_(0.)
287 <                        ,et_had_(0.)
288 <                        ,et_hadS9_(0.)
289 <                        ,et_ho_(0.)
290 <                        ,et_hoS9_(0.)
291 <                        ,caloCompatibility_(0.)
292 <                        ,isoR03_emEt_(0.)
293 <                        ,isoR03_hadEt_(0.)
294 <                        ,isoR03_hoEt_(0.)
295 <                        ,isoR03_sumPt_(0.)
296 <                        ,isoR03_nTracks_(0)
297 <                        ,isoR03_nJets_(0)
298 <                        ,isoR05_emEt_(0.)
299 <                        ,isoR05_hadEt_(0.)
300 <                        ,isoR05_hoEt_(0.)
301 <                        ,isoR05_sumPt_(0.)
302 <                        ,isoR05_nTracks_(0)
303 <                        ,isoR05_nJets_(0)
304 <                        ,energyValid_(false)
305 <                        ,matchesValid_(false)
306 <                        ,isolationValid_(false)
307 <                        {;}
308 <        
284 >                TRootParticle(momentum, vertex, type, charge)
285 >                ,et_em_(-9999.)
286 >                ,et_emS9_(-9999.)
287 >                ,et_had_(-9999.)
288 >                ,et_hadS9_(-9999.)
289 >                ,et_ho_(-9999.)
290 >                ,et_hoS9_(-9999.)
291 >                ,caloCompatibility_(-9999.)
292 >                ,isoR03_emEt_(-9999.)
293 >                ,isoR03_hadEt_(-9999.)
294 >                ,isoR03_hoEt_(-9999.)
295 >                ,isoR03_sumPt_(-9999.)
296 >                ,isoR03_nTracks_(-9999)
297 >                ,isoR03_nJets_(-9999)
298 >                ,isoR05_emEt_(-9999.)
299 >                ,isoR05_hadEt_(-9999.)
300 >                ,isoR05_hoEt_(-9999.)
301 >                ,isoR05_sumPt_(-9999.)
302 >                ,isoR05_nTracks_(-9999)
303 >                ,isoR05_nJets_(-9999)
304 >                ,energyValid_(false)
305 >                ,matchesValid_(false)
306 >                ,isolationValid_(false)
307 >                ,direction_(-9999)
308 >                ,algo_(-9999)
309 >                ,id_(-9999)
310 >                ,numberOfValidPixelHits_(-1)
311 >                ,numberOfValidTrackerHits_(-1)
312 >                ,pixelLayersWithMeasurement_(-1)
313 >                ,stripLayersWithMeasurement_(-1)
314 >                ,d0_(-9999.)
315 >                ,d0Error_(-9999.)
316 >                ,dsz_(-9999.)
317 >                ,dszError_(-9999.)
318 >                ,normalizedChi2_(-9999.)
319 >                ,ptError_(-9999.)
320 >                ,etaError_(-9999.)
321 >                ,phiError_(-9999.)
322 >                ,ip3DSignificance_(-9999.)
323 >                ,innerTrack_(0.,0.,0.,0.)
324 >                ,outerTrack_(0.,0.,0.,0.)
325 >                ,globalTrack_(0.,0.,0.,0.)
326 >                {;}
327 >
328          ~TRootMuon() {;}
329 <        
330 <        
329 >
330 >
331          Float_t et_em() const { return et_em_;}
332          Float_t et_emS9() const { return et_emS9_;}
333          Float_t et_had() const { return et_had_;}
# Line 222 | Line 354 | public:
354          Bool_t matchesValid() const { return matchesValid_;}
355          Bool_t isolationValid() const { return isolationValid_;}
356          
357 <        
357 >        Int_t direction() const { return direction_;}
358 >        Int_t algo() const { return algo_;}
359 >
360 >        Bool_t isGlobalMuon() const { return algo_ & 2; }
361 >        Bool_t isTrackerMuon() const { return algo_ & 4; }
362 >        Bool_t isStandAloneMuon() const { return algo_ & 8; }
363 >        Bool_t isCaloMuon() const { return algo_ & 16; }
364 >
365 >        Int_t id() const { return id_;}
366 >        Bool_t idTrackerMuonArbitrated() const { return id_ & 1; }
367 >        Bool_t idAllArbitrated() const { return id_ & 2; }
368 >        Bool_t idGlobalMuonPromptTight() const { return id_ & 4; }
369 >        Bool_t idTMLastStationLoose() const { return id_ & 8; }
370 >        Bool_t idTMLastStationTight() const { return id_ & 16; }
371 >        Bool_t idTM2DCompatibilityLoose() const { return id_ & 32; }
372 >        Bool_t idTM2DCompatibilityTight() const { return id_ & 64; }
373 >
374 >        Int_t numberOfValidPixelHits() const { return numberOfValidPixelHits_; }
375 >        Int_t numberOfValidTrackerHits() const { return numberOfValidTrackerHits_; }
376 >        Int_t pixelLayersWithMeasurement() const { return pixelLayersWithMeasurement_; }
377 >        Int_t stripLayersWithMeasurement() const { return stripLayersWithMeasurement_; }
378 >        Float_t d0() const { return d0_ ;}
379 >        Float_t d0Error() const { return d0Error_ ;}
380 >        Float_t dsz() const { return dsz_ ;}
381 >        Float_t dszError() const { return dszError_ ;}
382 >        Float_t normalizedChi2() const { return normalizedChi2_ ;}
383 >        Float_t ptError() const { return ptError_ ;}
384 >        Float_t etaError() const { return etaError_ ;}
385 >        Float_t phiError() const { return phiError_ ;}
386 >        Float_t ip3DSignificance() const { return ip3DSignificance_ ;}
387 >
388 >        TLorentzVector innerTrack() const { return innerTrack_; }
389 >        TLorentzVector outerTrack() const { return outerTrack_; }
390 >        TLorentzVector globalTrack() const { return globalTrack_; }
391 >
392 >        //TObject* genMuon() const { return genMuon_.GetObject() ;}
393 >        virtual TString typeName() const { return "TRootMuon"; }
394 >
395 >
396          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)
397          {
398                  et_em_ = et_em;
# Line 254 | Line 424 | public:
424                  isoR05_nJets_ = isoR05_nJets;
425          }
426          
427 +        void setValidity(Bool_t energyValid, Bool_t matchesValid, Bool_t isolationValid)
428 +        {
429 +                energyValid_ = energyValid;
430 +                matchesValid_ = matchesValid;
431 +                isolationValid_ = isolationValid;
432 +        }
433 +
434 +        void setDirection(Int_t direction) { direction_ = direction; }
435 +        void setAlgo(Int_t algo) { algo_ = algo; }
436 +        void setID(Int_t id) { id_ = id; }
437 +        void setID(
438 +                Int_t trackerMuonArbitrated
439 +                ,Int_t allArbitrated
440 +                ,Int_t globalMuonPromptTight
441 +                ,Int_t tmLastStationLoose
442 +                ,Int_t tmLastStationTight
443 +                ,Int_t tm2DCompatibilityLoose
444 +                ,Int_t tm2DCompatibilityTight
445 +        )
446 +        { id_ = trackerMuonArbitrated*1 + allArbitrated*2 + globalMuonPromptTight*4 + tmLastStationLoose*8 + tmLastStationTight*16 + tm2DCompatibilityLoose*32 + tm2DCompatibilityTight*64; }
447 +
448 +        void setNumberOfValidPixelHits(Int_t numberOfValidPixelHits) { numberOfValidPixelHits_ = numberOfValidPixelHits; }
449 +        void setNumberOfValidTrackerHits(Int_t numberOfValidTrackerHits) { numberOfValidTrackerHits_ = numberOfValidTrackerHits; }
450 +        void setPixelLayersWithMeasurement(Int_t pixelLayersWithMeasurement) { pixelLayersWithMeasurement_ = pixelLayersWithMeasurement; }
451 +        void setStripLayersWithMeasurement(Int_t stripLayersWithMeasurement) { stripLayersWithMeasurement_ = stripLayersWithMeasurement; }
452 +        void setD0(Float_t d0) { d0_ = d0; }
453 +        void setD0Error(Float_t d0Error) { d0Error_ = d0Error; }
454 +        void setDsz(Float_t dsz) { dsz_ = dsz; }
455 +        void setDszError(Float_t dszError) { dszError_ = dszError; }
456 +        void setNormalizedChi2(Float_t normalizedChi2) { normalizedChi2_ = normalizedChi2; }
457 +        void setPtError(Float_t ptError) { ptError_ = ptError; }
458 +        void setEtaError(Float_t etaError) { etaError_ = etaError; }
459 +        void setPhiError(Float_t phiError) { phiError_ = phiError; }
460 +        void setIP3DSignificance(Float_t ip3DSignificance) { ip3DSignificance_ = ip3DSignificance; }
461 +
462 +        void setXYZTInnerTrack(Double_t x, Double_t y, Double_t z, Double_t t) { innerTrack_.SetXYZT(x,y,z,t); }
463 +        void setXYZTOuterTrack(Double_t x, Double_t y, Double_t z, Double_t t) { outerTrack_.SetXYZT(x,y,z,t); }
464 +        void setXYZTGlobalTrack(Double_t x, Double_t y, Double_t z, Double_t t) { globalTrack_.SetXYZT(x,y,z,t); }
465 +
466          friend std::ostream& operator<< (std::ostream& stream, const TRootMuon& muon) {
467 <                stream << "TRootMuon - Charge=" << muon.charge() << " (Et,eta,phi)=("<< muon.Et() <<","<< muon.Eta() <<","<< muon.Phi() << ")  vertex(x,y,z)=("<< muon.vx() <<","<< muon.vy() <<","<< muon.vz() << ")"
468 <                                << "  caloCompatibility="<<  muon.caloCompatibility_ << "  validity(energy, matches, isolation)=(" << muon.energyValid_ <<","<< muon.matchesValid_ <<","<< muon.isolationValid_ << ")" << endl
467 >                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
468 >                                << "            Type(G,T,S,C)=(" << muon.isGlobalMuon() << ","  << muon.isTrackerMuon() << ","  << muon.isStandAloneMuon() << ","  << muon.isCaloMuon() << ") "
469 >                                << "  ID=(" << muon.idTrackerMuonArbitrated() << ","  << muon.idAllArbitrated() << ","  << muon.idGlobalMuonPromptTight() << ","  << muon.idTMLastStationLoose()
470 >                                << ","  << muon.idTMLastStationTight() << ","  << muon.idTM2DCompatibilityLoose() << ","  << muon.idTM2DCompatibilityTight() << ")" << "  Direction=" << muon.direction_
471 >                                << "  caloCompatibility="<<  muon.caloCompatibility_ << "  validity(energy,matches,isolation)=(" << muon.energyValid_ <<","<< muon.matchesValid_ <<","<< muon.isolationValid_ << ")" << endl
472                                  << "            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
473                                  << "            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
474 <                                << "            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_;
474 >                                << "            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_ << endl
475 >                                << "            d0=" << muon.d0_ << " +- " << muon.d0Error_ << "  dsz=" << muon.dsz_ << " +- " << muon.dszError_ << "   IP 3D Significance=" << muon.ip3DSignificance_;
476                  return stream;
477          };
478  
479          
480          private:
481          
482 +        // Variables from reco::Muon
483          Float_t et_em_;
484          Float_t et_emS9_;
485          Float_t et_had_;
# Line 291 | Line 505 | public:
505          Bool_t energyValid_;
506          Bool_t matchesValid_;
507          Bool_t isolationValid_;
508 +
509 +        Int_t direction_;       //  OutsideIn = -1, Undefined = 0, InsideOut = 1
510 +        Int_t algo_; // binary => GlobalMuon=00010 , TrackerMuon=00100 , StandAloneMuon=01000 , CaloMuon=10000
511 +        // MuonId coded in binary word id_ ==> TrackerMuonArbitrated=0000001 , AllArbitrated=0000010 , GlobalMuonPromptTight=0000100 ,
512 +        // TMLastStationLoose=0001000 , TMLastStationTight=0010000 , TM2DCompatibilityLoose=0100000 , TM2DCompatibilityTight=1000000
513 +        Int_t id_;
514 +
515 +        
516 +        // Variables from reco::GsfTrack
517 +
518 +        /* cf: http://cmslxr.fnal.gov/lxr/source/DataFormats/TrackReco/interface/TrackBase.h
519 +        For tracks reconstructed in the CMS Tracker, the reference position is the point of closest approach to the centre
520 +        of CMS. For muons, this is not necessarily true. Parameters associated to the 5D curvilinear covariance matrix:
521 +                qoverp = q / abs(p) = signed inverse of momentum [1/GeV]
522 +                lambda = pi/2 - polar angle at the given point
523 +                phi = azimuth angle at the given point
524 +                dxy = -vx*sin(phi) + vy*cos(phi) [cm]
525 +                dsz = vz*cos(lambda) - (vx*cos(phi)+vy*sin(phi))*sin(lambda) [cm]
526 +
527 +        Geometrically, dxy is the signed distance in the XY plane between the straight line passing through (vx,vy) with
528 +        azimuthal angle phi and the point (0,0). The dsz parameter is the signed distance in the SZ plane between the straight
529 +        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
530 +        of the straight line onto the XY plane. The convention is to assign the S coordinate for (vx,vy) as the value
531 +        vx*cos(phi)+vy*sin(phi). This value is zero when (vx,vy) is the point of minimum transverse distance to (0,0).
532 +
533 +        Note that dxy and dsz provide sensible estimates of the distance from the true particle trajectory to (0,0,0) ONLY
534 +        in two cases:
535 +                - When (vx,vy,vz) already correspond to the point of minimum transverse distance to (0,0,0) or is close to it
536 +                (so that the differences between considering the exact trajectory or a straight line in this range  are negligible).
537 +                This is usually true for Tracker tracks.
538 +                - When the track has infinite or extremely high momentum */
539 +
540 +        Int_t numberOfValidPixelHits_;     // Number of valid pixel hits
541 +        Int_t numberOfValidTrackerHits_;   // Number of valid tracker hits (pixel+strip) - More than 1 hit per layer (even mono) is possible due to modules overlap
542 +        Int_t pixelLayersWithMeasurement_; // Number of pixel layers with at least one valid hit
543 +        Int_t stripLayersWithMeasurement_; // Number of strip layers with at least one valid hit
544 +
545 +        Float_t d0_;             // d0=-dxy
546 +     Float_t d0Error_;        // error on d0_
547 +     Float_t dsz_;            // dsz parameter
548 +     Float_t dszError_;       // error on dsz_
549 +     Float_t normalizedChi2_; // chi-squared divided by n.d.o.f. of track fit
550 +
551 +     Float_t ptError_; // needed ?  ptError()
552 +     Float_t etaError_; // needed ?  etaError()
553 +     Float_t phiError_; // needed ?  phiError()
554 +
555 +     Float_t ip3DSignificance_;  // Significance of the impact parameter wrt to the selected primary vertex
556 +
557 +        TLorentzVector innerTrack_; // Tracker only
558 +        TLorentzVector outerTrack_; // Muon detector only
559 +        TLorentzVector globalTrack_; // Tracker + Muon detector
560          
561 <        ClassDef (TRootMuon,1);
561 >        ClassDef (TRootMuon,5);
562   };
563  
564   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines