CMS 3D CMS Logo

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