ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/L1TriggerDPG/interface/L1AnalysisRecoMuonDataFormat.h
Revision: 1.5
Committed: Wed Aug 22 15:37:11 2012 UTC (12 years, 8 months ago) by jlingema
Content type: text/plain
Branch: MAIN
CVS Tags: V01-01-00, jimb4Jan2013, V01-00-00, HEAD
Changes since 1.4: +15 -0 lines
Log Message:
Added functionality to do trigger matching to L1 muon tree producer. The matching may be configured using the python configuration files.

File Contents

# Content
1 #ifndef __L1Analysis_L1AnalysisRecoMuonDataFormat_H__
2 #define __L1Analysis_L1AnalysisRecoMuonDataFormat_H__
3
4 //-------------------------------------------------------------------------------
5 // Created 20/04/2010 - E. Conte, A.C. Le Bihan
6 //
7 //
8 // Original code : UserCode/L1TriggerDPG/L1RecoMuonDataFormatProducer - Luigi Guiducci
9 //-------------------------------------------------------------------------------
10
11 #include <vector>
12
13 namespace L1Analysis
14 {
15 struct L1AnalysisRecoMuonDataFormat
16 {
17 L1AnalysisRecoMuonDataFormat(){Reset();};
18 ~L1AnalysisRecoMuonDataFormat(){Reset();};
19
20 void Reset()
21 {
22 nMuons = 0;
23
24 // what muon kind? 0=global 1=SA 2=trackeronly
25 type.clear();
26 howmanytypes.clear();
27 // global muons quantities
28 ch.clear();
29 pt.clear();
30 p.clear();
31 eta.clear();
32 phi.clear();
33 validhits.clear();
34 numberOfMatchedStations.clear();
35 numberOfValidMuonHits.clear();
36 normchi2.clear();
37 imp_point_x.clear();
38 imp_point_y.clear();
39 imp_point_z.clear();
40 imp_point_p.clear();
41 imp_point_pt.clear();
42 phi_hb.clear();
43 z_hb.clear();
44 r_he_p.clear();
45 r_he_n.clear();
46 phi_he_p.clear();
47 phi_he_n.clear();
48
49 // tracker muons quantities
50 tr_ch.clear();
51 tr_pt.clear();
52 tr_p.clear();
53 tr_eta.clear();
54 tr_phi.clear();
55 tr_validhits.clear();
56 tr_validpixhits.clear();
57 tr_normchi2.clear();
58 tr_d0.clear();
59 tr_imp_point_x.clear();
60 tr_imp_point_y.clear();
61 tr_imp_point_z.clear();
62 tr_imp_point_p.clear();
63 tr_imp_point_pt.clear();
64
65 tr_z_mb2.clear();
66 tr_phi_mb2.clear();
67 tr_r_me2_p.clear();
68 tr_phi_me2_p.clear();
69 tr_r_me2_n.clear();
70 tr_phi_me2_n.clear();
71
72 tr_z_mb1.clear();
73 tr_phi_mb1.clear();
74 tr_r_me1_p.clear();
75 tr_phi_me1_p.clear();
76 tr_r_me1_n.clear();
77 tr_phi_me1_n.clear();
78
79 // standalone muons (either part of global or SA only)
80 sa_phi_mb2.clear();
81 sa_z_mb2.clear();
82 sa_pseta.clear();
83 sa_normchi2.clear();
84 sa_validhits.clear();
85 sa_ch.clear();
86 sa_pt.clear();
87 sa_p.clear();
88 sa_eta.clear();
89 sa_phi.clear();
90 sa_outer_pt.clear();
91 sa_inner_pt.clear();
92 sa_outer_eta.clear();
93 sa_inner_eta.clear();
94 sa_outer_phi.clear();
95 sa_inner_phi.clear();
96 sa_outer_x.clear();
97 sa_outer_y.clear();
98 sa_outer_z.clear();
99 sa_inner_x.clear();
100 sa_inner_y.clear();
101 sa_inner_z.clear();
102 sa_imp_point_x.clear();
103 sa_imp_point_y.clear();
104 sa_imp_point_z.clear();
105 sa_imp_point_p.clear();
106 sa_imp_point_pt.clear();
107 sa_phi_hb.clear();
108 sa_z_hb.clear();
109 sa_r_he_p.clear();
110 sa_r_he_n.clear();
111 sa_phi_he_p.clear();
112 sa_phi_he_n.clear();
113 sa_phi_me2_p.clear();
114 sa_phi_me2_n.clear();
115 sa_r_me2_p.clear();
116 sa_r_me2_n.clear();
117
118 sa_z_mb1.clear();
119 sa_phi_mb1.clear();
120 sa_r_me1_p.clear();
121 sa_phi_me1_p.clear();
122 sa_r_me1_n.clear();
123 sa_phi_me1_n.clear();
124
125 calo_energy.clear();
126 calo_energy3x3.clear();
127 ecal_time.clear();
128 ecal_terr.clear();
129 hcal_time.clear();
130 hcal_terr.clear();
131 time_dir.clear(); // -1 = outsideIn 0=undefined 1=insideOut
132 time_inout.clear();
133 time_inout_err.clear();
134 time_outin.clear();
135 time_outin_err.clear();
136
137 sa_nChambers.clear();
138 sa_nMatches.clear();
139
140 // RECHIT information from CSC: only for standalone/global muons!
141 rchCSCtype.clear();
142 rchPhi.clear();
143 rchEta.clear();
144
145 // Trigger matching information:
146 hlt_isomu.clear();
147 hlt_mu.clear();
148 hlt_isoDeltaR.clear();
149 hlt_deltaR.clear();
150
151
152 }
153
154 // how many muons of any kind
155 int nMuons;
156
157 // what muon kind? 0=global 1=SA 2=trackeronly 3=trsa
158 std::vector<int> type;
159 std::vector<int> howmanytypes;
160 // global muons quantities
161 std::vector<double> ch;
162 std::vector<double> pt;
163 std::vector<double> p;
164 std::vector<double> eta;
165 std::vector<double> phi;
166 std::vector<double> validhits;
167 std::vector<double> numberOfMatchedStations;
168 std::vector<double> numberOfValidMuonHits;
169 std::vector<double> normchi2;
170 std::vector<double> imp_point_x;
171 std::vector<double> imp_point_y;
172 std::vector<double> imp_point_z;
173 std::vector<double> imp_point_p;
174 std::vector<double> imp_point_pt;
175 std::vector<double> phi_hb;
176 std::vector<double> z_hb;
177 std::vector<double> r_he_p;
178 std::vector<double> r_he_n;
179 std::vector<double> phi_he_p;
180 std::vector<double> phi_he_n;
181
182 // tracker muons quantities
183 std::vector<double> tr_ch;
184 std::vector<double> tr_pt;
185 std::vector<double> tr_p;
186 std::vector<double> tr_eta;
187 std::vector<double> tr_phi;
188 std::vector<double> tr_validhits;
189 std::vector<double> tr_validpixhits;
190 std::vector<double> tr_normchi2;
191 std::vector<double> tr_d0;
192 std::vector<double> tr_imp_point_x;
193 std::vector<double> tr_imp_point_y;
194 std::vector<double> tr_imp_point_z;
195 std::vector<double> tr_imp_point_p;
196 std::vector<double> tr_imp_point_pt;
197
198 std::vector<double> tr_z_mb2;
199 std::vector<double> tr_phi_mb2;
200 std::vector<double> tr_r_me2_p;
201 std::vector<double> tr_phi_me2_p;
202 std::vector<double> tr_r_me2_n;
203 std::vector<double> tr_phi_me2_n;
204
205 std::vector<double> tr_z_mb1 ;
206 std::vector<double> tr_phi_mb1;
207 std::vector<double> tr_r_me1_p ;
208 std::vector<double> tr_phi_me1_p;
209 std::vector<double> tr_r_me1_n ;
210 std::vector<double> tr_phi_me1_n;
211
212 // standalone muons (either part of global or SA only)
213 std::vector<double> sa_phi_mb2;
214 std::vector<double> sa_z_mb2;
215 std::vector<double> sa_pseta;
216 std::vector<double> sa_normchi2;
217 std::vector<double> sa_validhits;
218 std::vector<double> sa_ch;
219 std::vector<double> sa_pt;
220 std::vector<double> sa_p;
221 std::vector<double> sa_eta;
222 std::vector<double> sa_phi;
223 std::vector<double> sa_outer_pt;
224 std::vector<double> sa_inner_pt;
225 std::vector<double> sa_outer_eta;
226 std::vector<double> sa_inner_eta;
227 std::vector<double> sa_outer_phi;
228 std::vector<double> sa_inner_phi;
229 std::vector<double> sa_outer_x;
230 std::vector<double> sa_outer_y;
231 std::vector<double> sa_outer_z;
232 std::vector<double> sa_inner_x;
233 std::vector<double> sa_inner_y;
234 std::vector<double> sa_inner_z;
235 std::vector<double> sa_imp_point_x;
236 std::vector<double> sa_imp_point_y;
237 std::vector<double> sa_imp_point_z;
238 std::vector<double> sa_imp_point_p;
239 std::vector<double> sa_imp_point_pt;
240 std::vector<double> sa_phi_hb;
241 std::vector<double> sa_z_hb;
242 std::vector<double> sa_r_he_p;
243 std::vector<double> sa_r_he_n;
244 std::vector<double> sa_phi_he_p;
245 std::vector<double> sa_phi_he_n;
246 std::vector<double> sa_r_me2_p;
247 std::vector<double> sa_r_me2_n;
248 std::vector<double> sa_phi_me2_p;
249 std::vector<double> sa_phi_me2_n;
250
251 std::vector<double> sa_z_mb1;
252 std::vector<double> sa_phi_mb1;
253 std::vector<double> sa_r_me1_p;
254 std::vector<double> sa_phi_me1_p;
255 std::vector<double> sa_r_me1_n;
256 std::vector<double> sa_phi_me1_n;
257
258 std::vector<double> calo_energy;
259 std::vector<double> calo_energy3x3;
260 std::vector<double> ecal_time;
261 std::vector<double> ecal_terr;
262 std::vector<double> hcal_time;
263 std::vector<double> hcal_terr;
264
265 std::vector<double> time_dir; // -1 = outsideIn ; 0=undefined; 1=insideOut
266 std::vector<double> time_inout;
267 std::vector<double> time_inout_err;
268 std::vector<double> time_outin;
269 std::vector<double> time_outin_err;
270
271 std::vector<int> sa_nChambers;
272 std::vector<int> sa_nMatches;
273
274
275 // RECHIT information from CSC: only for standalone/global muons!
276 std::vector<int> rchCSCtype;
277 std::vector<double> rchPhi;
278 std::vector<double> rchEta;
279
280 // Trigger matching information:
281 std::vector<int> hlt_isomu;
282 std::vector<int> hlt_mu;
283 std::vector<double> hlt_isoDeltaR;
284 std::vector<double> hlt_deltaR;
285
286 };
287 }
288 #endif
289
290