ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/L1TriggerDPG/interface/L1AnalysisRecoMuonDataFormat.h
Revision: 1.4
Committed: Wed Dec 7 12:20:02 2011 UTC (13 years, 4 months ago) by kropiv
Content type: text/plain
Branch: MAIN
Changes since 1.3: +6 -0 lines
Log Message:
add numberOfValidMuonHits numberOfMatchedStations and tr_d0 for reco muon to make official tight selection

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
146 // how many muons of any kind
147 int nMuons;
148
149 // what muon kind? 0=global 1=SA 2=trackeronly 3=trsa
150 std::vector<int> type;
151 std::vector<int> howmanytypes;
152 // global muons quantities
153 std::vector<double> ch;
154 std::vector<double> pt;
155 std::vector<double> p;
156 std::vector<double> eta;
157 std::vector<double> phi;
158 std::vector<double> validhits;
159 std::vector<double> numberOfMatchedStations;
160 std::vector<double> numberOfValidMuonHits;
161 std::vector<double> normchi2;
162 std::vector<double> imp_point_x;
163 std::vector<double> imp_point_y;
164 std::vector<double> imp_point_z;
165 std::vector<double> imp_point_p;
166 std::vector<double> imp_point_pt;
167 std::vector<double> phi_hb;
168 std::vector<double> z_hb;
169 std::vector<double> r_he_p;
170 std::vector<double> r_he_n;
171 std::vector<double> phi_he_p;
172 std::vector<double> phi_he_n;
173
174 // tracker muons quantities
175 std::vector<double> tr_ch;
176 std::vector<double> tr_pt;
177 std::vector<double> tr_p;
178 std::vector<double> tr_eta;
179 std::vector<double> tr_phi;
180 std::vector<double> tr_validhits;
181 std::vector<double> tr_validpixhits;
182 std::vector<double> tr_normchi2;
183 std::vector<double> tr_d0;
184 std::vector<double> tr_imp_point_x;
185 std::vector<double> tr_imp_point_y;
186 std::vector<double> tr_imp_point_z;
187 std::vector<double> tr_imp_point_p;
188 std::vector<double> tr_imp_point_pt;
189
190 std::vector<double> tr_z_mb2;
191 std::vector<double> tr_phi_mb2;
192 std::vector<double> tr_r_me2_p;
193 std::vector<double> tr_phi_me2_p;
194 std::vector<double> tr_r_me2_n;
195 std::vector<double> tr_phi_me2_n;
196
197 std::vector<double> tr_z_mb1 ;
198 std::vector<double> tr_phi_mb1;
199 std::vector<double> tr_r_me1_p ;
200 std::vector<double> tr_phi_me1_p;
201 std::vector<double> tr_r_me1_n ;
202 std::vector<double> tr_phi_me1_n;
203
204 // standalone muons (either part of global or SA only)
205 std::vector<double> sa_phi_mb2;
206 std::vector<double> sa_z_mb2;
207 std::vector<double> sa_pseta;
208 std::vector<double> sa_normchi2;
209 std::vector<double> sa_validhits;
210 std::vector<double> sa_ch;
211 std::vector<double> sa_pt;
212 std::vector<double> sa_p;
213 std::vector<double> sa_eta;
214 std::vector<double> sa_phi;
215 std::vector<double> sa_outer_pt;
216 std::vector<double> sa_inner_pt;
217 std::vector<double> sa_outer_eta;
218 std::vector<double> sa_inner_eta;
219 std::vector<double> sa_outer_phi;
220 std::vector<double> sa_inner_phi;
221 std::vector<double> sa_outer_x;
222 std::vector<double> sa_outer_y;
223 std::vector<double> sa_outer_z;
224 std::vector<double> sa_inner_x;
225 std::vector<double> sa_inner_y;
226 std::vector<double> sa_inner_z;
227 std::vector<double> sa_imp_point_x;
228 std::vector<double> sa_imp_point_y;
229 std::vector<double> sa_imp_point_z;
230 std::vector<double> sa_imp_point_p;
231 std::vector<double> sa_imp_point_pt;
232 std::vector<double> sa_phi_hb;
233 std::vector<double> sa_z_hb;
234 std::vector<double> sa_r_he_p;
235 std::vector<double> sa_r_he_n;
236 std::vector<double> sa_phi_he_p;
237 std::vector<double> sa_phi_he_n;
238 std::vector<double> sa_r_me2_p;
239 std::vector<double> sa_r_me2_n;
240 std::vector<double> sa_phi_me2_p;
241 std::vector<double> sa_phi_me2_n;
242
243 std::vector<double> sa_z_mb1;
244 std::vector<double> sa_phi_mb1;
245 std::vector<double> sa_r_me1_p;
246 std::vector<double> sa_phi_me1_p;
247 std::vector<double> sa_r_me1_n;
248 std::vector<double> sa_phi_me1_n;
249
250 std::vector<double> calo_energy;
251 std::vector<double> calo_energy3x3;
252 std::vector<double> ecal_time;
253 std::vector<double> ecal_terr;
254 std::vector<double> hcal_time;
255 std::vector<double> hcal_terr;
256
257 std::vector<double> time_dir; // -1 = outsideIn ; 0=undefined; 1=insideOut
258 std::vector<double> time_inout;
259 std::vector<double> time_inout_err;
260 std::vector<double> time_outin;
261 std::vector<double> time_outin_err;
262
263 std::vector<int> sa_nChambers;
264 std::vector<int> sa_nMatches;
265
266
267 // RECHIT information from CSC: only for standalone/global muons!
268 std::vector<int> rchCSCtype;
269 std::vector<double> rchPhi;
270 std::vector<double> rchEta;
271 };
272 }
273 #endif
274
275