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

# User Rev Content
1 econte 1.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 kropiv 1.4 numberOfMatchedStations.clear();
35     numberOfValidMuonHits.clear();
36 econte 1.1 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 kropiv 1.4 tr_d0.clear();
59 econte 1.1 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 guiducci 1.3 sa_nChambers.clear();
138     sa_nMatches.clear();
139    
140 econte 1.2 // RECHIT information from CSC: only for standalone/global muons!
141     rchCSCtype.clear();
142     rchPhi.clear();
143     rchEta.clear();
144 jlingema 1.5
145     // Trigger matching information:
146     hlt_isomu.clear();
147     hlt_mu.clear();
148     hlt_isoDeltaR.clear();
149     hlt_deltaR.clear();
150    
151    
152 econte 1.1 }
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 kropiv 1.4 std::vector<double> numberOfMatchedStations;
168     std::vector<double> numberOfValidMuonHits;
169 econte 1.1 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 kropiv 1.4 std::vector<double> tr_d0;
192 econte 1.1 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 econte 1.2
271 guiducci 1.3 std::vector<int> sa_nChambers;
272     std::vector<int> sa_nMatches;
273    
274    
275 econte 1.2 // 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 jlingema 1.5
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 econte 1.1 };
287     }
288     #endif
289    
290