ATLAS Offline Software
Loading...
Searching...
No Matches
MuonFeatureDetails.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRIGMUONEVENT_MUON_FEATURE_DETAILS_H
6#define TRIGMUONEVENT_MUON_FEATURE_DETAILS_H
7
8
9#include <vector>
10#include <string>
11#include <iosfwd>
12#include <stdint.h>
13
14// Gaudi/Athena include(s):
17#include "GaudiKernel/MsgStream.h"
18
19//class MsgStream;
20
22
23public:
28
31 uint32_t te_id,
32 uint32_t lvl1_id,
33 uint32_t lumi_block,
34 uint32_t muondetmask,
35 uint32_t RoIID,
36 uint32_t RoISystem,
37 uint32_t RoISubsystem,
38 uint32_t RoISector,
39 uint32_t RoINumber,
40 uint32_t RoIThreshold,
41 float RoIEta,
42 float RoIPhi,
43 int extension_capacity = 0,
44 int max_rob_capacity = 10,
45 int max_csm_capacity = 30,
46 int max_lvl1_emu_capacity = 20,
47 int max_rpc_hits_capacity = 100,
48 int max_tgc_hits_capacity = 50,
49 int max_mdt_hits_capacity = 100);
50
51
54
55
56 // helper methods
57 std::string str(void) const;
58 bool isEqual(const MuonFeatureDetails& d) const;
59 bool hasSameContentOf(const MuonFeatureDetails& d) const;
60 bool hasSameRoIOf(const MuonFeatureDetails& d) const;
61
62 bool hasSameTrackReco(const MuonFeatureDetails& d) const;
63 bool operator==(const MuonFeatureDetails& d) const;
64
65
66 // access methods
67 int extension_capacity(void) const {return m_extension_capacity;}
68 int max_rob_capacity(void) const {return m_max_rob_capacity;}
69 int max_csm_capacity(void) const {return m_max_csm_capacity;}
74
75 AlgoId id(void) const {return m_id;}
76 uint32_t te_id(void) const {return m_te_id;}
77 uint32_t error(void) const {return m_error;}
78
79
80 uint32_t lvl1_id(void) const {return m_lvl1_id;}
81 uint32_t lumi_block(void) const {return m_lumi_block;}
82 uint32_t muondetmask(void) const {return m_muondetmask;}
83 uint32_t roi_id(void) const {return m_RoIID;}
84 uint32_t roi_system(void) const {return m_RoISystem;}
85 uint32_t roi_subsystem(void) const {return m_RoISubsystem;}
86 uint32_t roi_sector(void) const {return m_RoISector;}
87 uint32_t roi_number(void) const {return m_RoINumber;}
88 uint32_t roi_threshold(void) const {return m_RoIThreshold;}
89 float roi_eta(void) const {return m_RoIEta;}
90 float roi_phi(void) const {return m_RoIPhi;}
91
92 uint32_t rpc_pad_error(void) const {return m_rpc_pad_error;}
93 uint32_t tgc_rdo_error(void) const {return m_tgc_rdo_error;}
94
95 float rpc1_x(void) const {return m_rpc1_x;}
96 float rpc1_y(void) const {return m_rpc1_y;}
97 float rpc1_z(void) const {return m_rpc1_z;}
98
99 float rpc2_x(void) const {return m_rpc2_x;}
100 float rpc2_y(void) const {return m_rpc2_y;}
101 float rpc2_z(void) const {return m_rpc2_z;}
102
103 float rpc3_x(void) const {return m_rpc3_x;}
104 float rpc3_y(void) const {return m_rpc3_y;}
105 float rpc3_z(void) const {return m_rpc3_z;}
106
107 float tgc_Mid1_eta(void) const {return m_tgc_Mid1_eta;}
108 float tgc_Mid1_phi(void) const {return m_tgc_Mid1_phi;}
109 float tgc_Mid1_r(void) const {return m_tgc_Mid1_r;}
110 float tgc_Mid1_z(void) const {return m_tgc_Mid1_z;}
111
112 float tgc_Mid2_eta(void) const {return m_tgc_Mid2_eta;}
113 float tgc_Mid2_phi(void) const {return m_tgc_Mid2_phi;}
114 float tgc_Mid2_r(void) const {return m_tgc_Mid2_r;}
115 float tgc_Mid2_z(void) const {return m_tgc_Mid2_z;}
116
117 float tgc_Mid_rho_chi2(void) const {return m_tgc_Mid_rho_chi2;}
118 long tgc_Mid_rho_N(void) const {return m_tgc_Mid_rho_N;}
119 float tgc_Mid_phi_chi2(void) const {return m_tgc_Mid_phi_chi2;}
120 long tgc_Mid_phi_N(void) const {return m_tgc_Mid_phi_N;}
121
122 float tgc_Inn_eta(void) const {return m_tgc_Inn_eta;}
123 float tgc_Inn_phi(void) const {return m_tgc_Inn_phi;}
124 float tgc_Inn_r(void) const {return m_tgc_Inn_r;}
125 float tgc_Inn_z (void) const {return m_tgc_Inn_z;}
126 float tgc_Inn_rho_std(void) const {return m_tgc_Inn_rho_std;}
127 long tgc_Inn_rho_N(void) const {return m_tgc_Inn_rho_N;}
128 float tgc_Inn_phi_std(void) const {return m_tgc_Inn_phi_std;}
129 long tgc_Inn_phi_N(void) const {return m_tgc_Inn_phi_N;}
130
131 float tgc_PT(void) const {return m_tgc_PT;}
132
133 long type(void) const {return m_type;}
134 float t_x_center(void) const {return m_t_x_center;}
135 float t_y_center(void) const {return m_t_y_center;}
136 float t_radius(void) const {return m_t_radius;}
137 float t_ap(void) const {return m_t_ap;}
138 float t_aphi(void) const {return m_t_aphi;}
139 float t_phi(void) const {return m_t_phi;}
140 float extrInnerEta(void) const {return m_extrInnerEta;}
141 float extrInnerPhi(void) const {return m_extrInnerPhi;}
142
143 const std::vector< std::vector<int> >& chamber_type_1(void) const {return m_chamber_type_1;}
144 const std::vector< std::vector<int> >& chamber_type_2(void) const {return m_chamber_type_2;}
145 const std::vector< std::vector<int> >& pos(void) const {return m_pos;}
146 const std::vector< std::vector<float> >& aw(void) const {return m_aw;}
147 const std::vector< std::vector<float> >& bw(void) const {return m_bw;}
148 const std::vector< std::vector<float> >& zetaMin(void) const {return m_zetaMin;}
149 const std::vector< std::vector<float> >& zetaMax(void) const {return m_zetaMax;}
150 const std::vector< std::vector<float> >& radMin(void) const {return m_radMin;}
151 const std::vector< std::vector<float> >& radMax(void) const {return m_radMax;}
152 const std::vector< std::vector<float> >& etaMin(void) const {return m_etaMin;}
153 const std::vector< std::vector<float> >& etaMax(void) const {return m_etaMax;}
154 const std::vector< std::vector<float> >& st_phi(void) const {return m_st_phi;}
155 const std::vector< std::vector<float> >& st_roads(void) const {return m_st_roads;}
156
157
158
159 float mdt_Inner_slope(void) const {return m_mdt_Inner_slope;}
160 float mdt_Inner_intercept(void) const {return m_mdt_Inner_intercept;}
161 float mdt_Inner_Z(void) const {return m_mdt_Inner_Z;}
162 float mdt_Inner_R(void) const {return m_mdt_Inner_R;}
163 float mdt_Inner_fit_chi(void) const {return m_mdt_Inner_fit_chi;}
164 float mdt_Middle_slope(void) const {return m_mdt_Middle_slope;}
166 float mdt_Middle_Z(void) const {return m_mdt_Middle_Z;}
167 float mdt_Middle_R(void) const {return m_mdt_Middle_R;}
168 float mdt_Middle_fit_chi(void) const {return m_mdt_Middle_fit_chi;}
169 float mdt_Outer_slope(void) const {return m_mdt_Outer_slope;}
170 float mdt_Outer_intercept(void) const {return m_mdt_Outer_intercept;}
171 float mdt_Outer_Z(void) const {return m_mdt_Outer_Z;}
172 float mdt_Outer_R(void) const {return m_mdt_Outer_R;}
173 float mdt_Outer_fit_chi(void) const {return m_mdt_Outer_fit_chi;}
174
175 int Address(void) const {return m_Address;}
176 float Sagitta(void) const {return m_Sagitta;}
177 float Radius(void) const {return m_Radius;}
178 float Slope(void) const {return m_Slope;}
179 float Intercept(void) const {return m_Intercept;}
180 float Alpha(void) const {return m_Alpha;}
181 float Beta(void) const {return m_Beta;}
182 float DeltaR(void) const {return m_DeltaR;}
183 float Speed_over_c(void) const {return m_Speed_over_c;}
184 float Eta(void) const {return m_Eta;}
185 float PhiMap(void) const {return m_PhiMap;}
186 float Phi(void) const {return m_Phi;}
187 float PhiDir(void) const {return m_PhiDir;}
188 float Pt(void) const {return m_Pt;}
189 float Charge(void) const {return m_Charge;}
190
191 const std::vector<uint32_t>& rob_id(void) const {return m_rob_id;}
192 const std::vector<uint32_t>& csm_id(void) const {return m_csm_id;}
193 const std::vector<uint32_t>& csm_size(void) const {return m_csm_size;}
194 const std::vector<uint32_t>& csm_error(void) const {return m_csm_error;}
195 const std::vector<uint32_t>& removed_rob_id(void) const {return m_removed_rob_id;}
196 const std::vector<uint32_t>& removed_csm_id(void) const {return m_removed_csm_id;}
197
198
199 uint32_t eta_pivot_lay0(void) const;
200 uint32_t eta_pivot_lay1(void) const;
201 uint32_t eta_low_0_lay0(void) const;
202 uint32_t eta_low_1_lay0(void) const;
203 uint32_t eta_low_0_lay1(void) const;
204 uint32_t eta_low_1_lay1(void) const;
205 uint32_t eta_high_0_lay0(void) const;
206 uint32_t eta_high_1_lay0(void) const;
207 uint32_t eta_high_0_lay1(void) const;
208 uint32_t eta_high_1_lay1(void) const;
209 uint32_t phi_pivot_lay0(void) const;
210 uint32_t phi_pivot_lay1(void) const;
211 uint32_t phi_low_0_lay0(void) const;
212 uint32_t phi_low_1_lay0(void) const;
213 uint32_t phi_low_0_lay1(void) const;
214 uint32_t phi_low_1_lay1(void) const;
215 uint32_t phi_high_0_lay0(void) const;
216 uint32_t phi_high_1_lay0(void) const;
217 uint32_t phi_high_0_lay1(void) const;
218 uint32_t phi_high_1_lay1(void) const;
219
220
221 const std::vector<uint32_t>& lvl1_emulation(void) const {return m_lvl1_emulation;}
222
223 const std::vector<uint32_t>& pad_hit_onlineId(void) const {return m_pad_hit_onlineId;}
224 const std::vector<uint32_t>& pad_hit_code(void) const {return m_pad_hit_code;}
225 const std::vector<float>& pad_hit_x(void) const {return m_pad_hit_x;}
226 const std::vector<float>& pad_hit_y(void) const {return m_pad_hit_y;}
227 const std::vector<float>& pad_hit_z(void) const {return m_pad_hit_z;}
228 const std::vector<float>& pad_hit_r(void) const {return m_pad_hit_r;}
229 const std::vector<float>& pad_hit_p(void) const {return m_pad_hit_p;}
230
231 const std::vector<float>& tgc_Inn_rho_hit_phi(void) const {return m_tgc_Inn_rho_hit_phi;}
232 const std::vector<float>& tgc_Inn_rho_hit_r(void) const {return m_tgc_Inn_rho_hit_r;}
233 const std::vector<float>& tgc_Inn_rho_hit_z(void) const {return m_tgc_Inn_rho_hit_z;}
234 const std::vector<float>& tgc_Inn_rho_hit_width(void) const {return m_tgc_Inn_rho_hit_width;}
235 const std::vector<uint32_t>& tgc_Inn_rho_hit_in_seg(void) const {return m_tgc_Inn_rho_hit_in_seg;}
236 const std::vector<float>& tgc_Inn_phi_hit_phi(void) const {return m_tgc_Inn_phi_hit_phi;}
237 const std::vector<float>& tgc_Inn_phi_hit_r(void) const {return m_tgc_Inn_phi_hit_r;}
238 const std::vector<float>& tgc_Inn_phi_hit_z(void) const {return m_tgc_Inn_phi_hit_z;}
239 const std::vector<float>& tgc_Inn_phi_hit_width(void) const {return m_tgc_Inn_phi_hit_width;}
240 const std::vector<uint32_t>& tgc_Inn_phi_hit_in_seg(void) const {return m_tgc_Inn_phi_hit_in_seg;}
241 const std::vector<float>& tgc_Mid_rho_hit_phi(void) const {return m_tgc_Mid_rho_hit_phi;}
242 const std::vector<float>& tgc_Mid_rho_hit_r(void) const {return m_tgc_Mid_rho_hit_r;}
243 const std::vector<float>& tgc_Mid_rho_hit_z(void) const {return m_tgc_Mid_rho_hit_z;}
244 const std::vector<float>& tgc_Mid_rho_hit_width(void) const {return m_tgc_Mid_rho_hit_width;}
245 const std::vector<uint32_t>& tgc_Mid_rho_hit_in_seg(void) const {return m_tgc_Mid_rho_hit_in_seg;}
246 const std::vector<float>& tgc_Mid_phi_hit_phi(void) const {return m_tgc_Mid_phi_hit_phi;}
247 const std::vector<float>& tgc_Mid_phi_hit_r(void) const {return m_tgc_Mid_phi_hit_r;}
248 const std::vector<float>& tgc_Mid_phi_hit_z(void) const {return m_tgc_Mid_phi_hit_z;}
249 const std::vector<float>& tgc_Mid_phi_hit_width(void) const {return m_tgc_Mid_phi_hit_width;}
250 const std::vector<uint32_t>& tgc_Mid_phi_hit_in_seg(void) const {return m_tgc_Mid_phi_hit_in_seg;}
251
252 const std::vector<uint32_t>& mdt_onlineId(void) const {return m_mdt_onlineId;}
253 const std::vector<uint32_t>& mdt_offlineId(void) const {return m_mdt_offlineId;}
254 const std::vector<float>& mdt_tube_r(void) const {return m_mdt_tube_r;}
255 const std::vector<float>& mdt_tube_z(void) const {return m_mdt_tube_z;}
256 const std::vector<float>& mdt_tube_residual(void) const {return m_mdt_tube_residual;}
257 const std::vector<float>& mdt_tube_time(void) const {return m_mdt_tube_time;}
258 const std::vector<float>& mdt_tube_space(void) const {return m_mdt_tube_space;}
259 const std::vector<float>& mdt_tube_sigma(void) const {return m_mdt_tube_sigma;}
260
261
262 const std::vector<uint32_t>& extension0(void) const {return m_extension0;}
263 const std::vector<uint32_t>& extension1(void) const {return m_extension1;}
264 const std::vector<uint32_t>& extension2(void) const {return m_extension2;}
265 const std::vector<uint32_t>& extension3(void) const {return m_extension3;}
266 const std::vector<uint32_t>& extension4(void) const {return m_extension4;}
267 const std::vector<uint32_t>& extension5(void) const {return m_extension5;}
268 const std::vector<uint32_t>& extension6(void) const {return m_extension6;}
269 const std::vector<uint32_t>& extension7(void) const {return m_extension7;}
270 const std::vector<uint32_t>& extension8(void) const {return m_extension8;}
271 const std::vector<uint32_t>& extension9(void) const {return m_extension9;}
272
273
274
275 // fill methods
276 void setError(uint32_t);
277 void setRpcPadError(uint32_t);
278 void setTgcPadError(uint32_t);
279
280 void setRpc1(float x, float y, float z);
281 void setRpc2(float x, float y, float z);
282 void setRpc3(float x, float y, float z);
283
284 void setEtaPivot(uint32_t ly0, uint32_t ly1);
285 void setEtaLow (uint32_t ly00, uint32_t ly01, uint32_t ly10, uint32_t ly11);
286 void setEtaHigh(uint32_t ly00, uint32_t ly01, uint32_t ly10, uint32_t ly11);
287 void setPhiPivot(uint32_t ly0, uint32_t ly1);
288 void setPhiLow (uint32_t ly00, uint32_t ly01, uint32_t ly10, uint32_t ly11);
289 void setPhiHigh(uint32_t ly00, uint32_t ly01, uint32_t ly10, uint32_t ly11);
290 void setLvl1Emulation (const std::vector<uint32_t>& v);
291
292 void setTgcMid1(float Mid1_eta, float Mid1_phi, float Mid1_r, float Mid1_z);
293 void setTgcMid2(float Mid2_eta, float Mid2_phi, float Mid2_r, float Mid2_z);
294 void setTgcMidF(float rho_chi2, long rho_n, float phi_chi2, long phi_n);
295 void setTgcInn (float Inn_eta, float Inn_phi, float Inn_r, float Inn_z);
296 void setTgcInnF(float rho_std, long rho_n, float phi_std, long phi_n);
297
298 void setTgcPt(float tgc_pt);
299
300 void setType(int t);
301 void setT_x_center(float x);
302 void setT_y_center(float y);
303 void setT_radius(float r);
304 void setT_ap(float ap);
305 void setT_aphi(float aphi);
306 void setT_phi(float phi);
307 void setExtrInnerEta(float extEta);
308 void setExtrInnerPhi(float extPhi);
309
310 void setChamber_type_1(int tr, int st, int ty);
311 void setChamber_type_2(int tr, int st, int ty);
312 void setPos(int tr, int st, int pos);
313 void setAw(int tr, int st, float aw);
314 void setBw(int tr, int st, float bw);
315 void setZetaMin(int tr, int st, float min);
316 void setZetaMax(int tr, int st, float max);
317 void setRadMin (int tr, int st, float min);
318 void setRadMax (int tr, int st, float max);
319 void setEtaMin (int tr, int st, float min);
320 void setEtaMax (int tr, int st, float max);
321 void setSt_phi (int tr, int st, float phi);
322 void setSt_roads(int tr, int st, float road);
323
324 void setChamber_type_1(const std::vector< std::vector<int> >& v);
325 void setChamber_type_2(const std::vector< std::vector<int> >& v);
326 void setPos(const std::vector< std::vector<int> >& v);
327 void setAw(const std::vector< std::vector<float> >& v);
328 void setBw(const std::vector< std::vector<float> >& v);
329 void setZetaMin(const std::vector< std::vector<float> >& v);
330 void setZetaMax(const std::vector< std::vector<float> >& v);
331 void setRadMin (const std::vector< std::vector<float> >& v);
332 void setRadMax (const std::vector< std::vector<float> >& v);
333 void setEtaMin (const std::vector< std::vector<float> >& v);
334 void setEtaMax (const std::vector< std::vector<float> >& v);
335 void setSt_phi (const std::vector< std::vector<float> >& v);
336 void setSt_roads(const std::vector< std::vector<float> >& v);
337
338 void setPadHit(uint32_t onlineId, uint32_t code, float x, float y, float z,
339 float r, float p);
340
341 void setTgcMidRhoHit(float phi,float r,float z,float width,uint32_t in_seg);
342 void setTgcMidPhiHit(float phi,float r,float z,float width,uint32_t in_seg);
343 void setTgcInnRhoHit(float phi,float r,float z,float width,uint32_t in_seg);
344 void setTgcInnPhiHit(float phi,float r,float z,float width,uint32_t in_seg);
345
346 void setMdtHit(uint32_t onlineId, uint32_t offlineId, float r, float z,
347 float residual, float time, float space, float sigma);
348
349 void setSP1(float slope,float intercept,float z,float r,float chisquare);
350 void setSP2(float slope,float intercept,float z,float r,float chisquare);
351 void setSP3(float slope,float intercept,float z,float r,float chisquare);
352
353 void setAddress(int address);
354 void setSagitta(float sagitta);
355 void setRadius(float radius);
356 void setSlope(float slope);
357 void setIntercept(float intercept);
358 void setAlpha(float alpha);
359 void setBeta(float beta);
360 void setDeltaR(float deltaR);
361 void setSpeed_over_c(float speed);
362 void setEta(float eta);
363 void setPhiMap(float phimap);
364 void setPhi(float phi);
365 void setPhiDir(float dir_phi);
366 void setPt(float pt);
367 void setCharge(float charge);
368
369 void setExtension0(uint32_t);
370 void setExtension1(uint32_t);
371 void setExtension2(uint32_t);
372 void setExtension3(uint32_t);
373 void setExtension4(uint32_t);
374 void setExtension5(uint32_t);
375 void setExtension6(uint32_t);
376 void setExtension7(uint32_t);
377 void setExtension8(uint32_t);
378 void setExtension9(uint32_t);
379
380 void setExtension0(const std::vector<uint32_t>& v);
381 void setExtension1(const std::vector<uint32_t>& v);
382 void setExtension2(const std::vector<uint32_t>& v);
383 void setExtension3(const std::vector<uint32_t>& v);
384 void setExtension4(const std::vector<uint32_t>& v);
385 void setExtension5(const std::vector<uint32_t>& v);
386 void setExtension6(const std::vector<uint32_t>& v);
387 void setExtension7(const std::vector<uint32_t>& v);
388 void setExtension8(const std::vector<uint32_t>& v);
389 void setExtension9(const std::vector<uint32_t>& v);
390
391 void setRequestedRob(uint32_t);
392 void setConvertedCsm(uint32_t,uint32_t);
393 void setCsmError(uint32_t);
394 void setRemovedRob(uint32_t);
395 void setRemovedCsm(uint32_t);
396
397 void setRequestedRob(const std::vector<uint32_t>& v);
398 void setConvertedCsm(const std::vector<uint32_t>& v);
399 void setConvertedCsmSize(const std::vector<uint32_t>& v);
400 void setCsmError(const std::vector<uint32_t>& v);
401 void setRemovedRob(const std::vector<uint32_t>& v);
402 void setRemovedCsm(const std::vector<uint32_t>& v);
403
404
405private:
406
414
415
417 uint32_t m_te_id;
418 uint32_t m_error;
419
420
421 uint32_t m_lvl1_id;
422 uint32_t m_lumi_block;
423 uint32_t m_muondetmask;
424 uint32_t m_RoIID;
425 uint32_t m_RoISystem;
426 uint32_t m_RoISubsystem;
427 uint32_t m_RoISector;
428 uint32_t m_RoINumber;
430 float m_RoIEta;
431 float m_RoIPhi;
432
435
436 float m_rpc1_x;
437 float m_rpc1_y;
438 float m_rpc1_z;
439
440 float m_rpc2_x;
441 float m_rpc2_y;
442 float m_rpc2_z;
443
444 float m_rpc3_x;
445 float m_rpc3_y;
446 float m_rpc3_z;
447
452
457
462
471
472 float m_tgc_PT;
473
474 long m_type;
478 float m_t_ap;
479 float m_t_aphi;
480 float m_t_phi;
483
484 std::vector< std::vector<int> > m_chamber_type_1;
485 std::vector< std::vector<int> > m_chamber_type_2;
486 std::vector< std::vector<int> > m_pos;
487 std::vector< std::vector<float> > m_aw;
488 std::vector< std::vector<float> > m_bw;
489 std::vector< std::vector<float> > m_zetaMin;
490 std::vector< std::vector<float> > m_zetaMax;
491 std::vector< std::vector<float> > m_radMin;
492 std::vector< std::vector<float> > m_radMax;
493 std::vector< std::vector<float> > m_etaMin;
494 std::vector< std::vector<float> > m_etaMax;
495 std::vector< std::vector<float> > m_st_phi;
496 std::vector< std::vector<float> > m_st_roads;
497
513
516 float m_Radius;
517 float m_Slope;
519 float m_Alpha;
520 float m_Beta;
521 float m_DeltaR;
523 float m_Eta;
524 float m_PhiMap;
525 float m_Phi;
526 float m_PhiDir;
527 float m_Pt;
528 float m_Charge;
529
530 std::vector<uint32_t> m_extension0;
531 std::vector<uint32_t> m_extension1;
532 std::vector<uint32_t> m_extension2;
533 std::vector<uint32_t> m_extension3;
534 std::vector<uint32_t> m_extension4;
535 std::vector<uint32_t> m_extension5;
536 std::vector<uint32_t> m_extension6;
537 std::vector<uint32_t> m_extension7;
538 std::vector<uint32_t> m_extension8;
539 std::vector<uint32_t> m_extension9;
540
541 std::vector<uint32_t> m_lvl1_emulation;
542
543 std::vector<uint32_t> m_rob_id;
544 std::vector<uint32_t> m_csm_id;
545 std::vector<uint32_t> m_csm_size;
546 std::vector<uint32_t> m_csm_error;
547 std::vector<uint32_t> m_removed_rob_id;
548 std::vector<uint32_t> m_removed_csm_id;
549
550 std::vector<uint32_t> m_pad_hit_onlineId;
551 std::vector<uint32_t> m_pad_hit_code;
552 std::vector<float> m_pad_hit_x;
553 std::vector<float> m_pad_hit_y;
554 std::vector<float> m_pad_hit_z;
555 std::vector<float> m_pad_hit_r;
556 std::vector<float> m_pad_hit_p;
557
558 std::vector<float> m_tgc_Inn_rho_hit_phi;
559 std::vector<float> m_tgc_Inn_rho_hit_r;
560 std::vector<float> m_tgc_Inn_rho_hit_z;
561 std::vector<float> m_tgc_Inn_rho_hit_width;
562 std::vector<uint32_t> m_tgc_Inn_rho_hit_in_seg;
563 std::vector<float> m_tgc_Inn_phi_hit_phi;
564 std::vector<float> m_tgc_Inn_phi_hit_r;
565 std::vector<float> m_tgc_Inn_phi_hit_z;
566 std::vector<float> m_tgc_Inn_phi_hit_width;
567 std::vector<uint32_t> m_tgc_Inn_phi_hit_in_seg;
568 std::vector<float> m_tgc_Mid_rho_hit_phi;
569 std::vector<float> m_tgc_Mid_rho_hit_r;
570 std::vector<float> m_tgc_Mid_rho_hit_z;
571 std::vector<float> m_tgc_Mid_rho_hit_width;
572 std::vector<uint32_t> m_tgc_Mid_rho_hit_in_seg;
573 std::vector<float> m_tgc_Mid_phi_hit_phi;
574 std::vector<float> m_tgc_Mid_phi_hit_r;
575 std::vector<float> m_tgc_Mid_phi_hit_z;
576 std::vector<float> m_tgc_Mid_phi_hit_width;
577 std::vector<uint32_t> m_tgc_Mid_phi_hit_in_seg;
578
579 std::vector<uint32_t> m_mdt_onlineId;
580 std::vector<uint32_t> m_mdt_offlineId;
581 std::vector<float> m_mdt_tube_r;
582 std::vector<float> m_mdt_tube_z;
583 std::vector<float> m_mdt_tube_residual;
584 std::vector<float> m_mdt_tube_time;
585 std::vector<float> m_mdt_tube_space;
586 std::vector<float> m_mdt_tube_sigma;
587
588 void init_variables();
589 void init_vectors();
591 template <class T> void copy_vector(std::vector<T>& d,
592 const std::vector<T>& s,
593 int resize=0);
594
595 uint32_t lvl1_emulation(size_t i) const;
596};
597
598
599inline uint32_t MuonFeatureDetails::lvl1_emulation(size_t i) const {
600 if (m_lvl1_emulation.size() > i)
601 return m_lvl1_emulation[i];
602 return 0;
603}
604
605
606inline uint32_t MuonFeatureDetails::eta_pivot_lay0(void) const {
607 return lvl1_emulation(0);
608}
609
610inline uint32_t MuonFeatureDetails::eta_pivot_lay1(void) const {
611 return lvl1_emulation(1);
612}
613
614inline uint32_t MuonFeatureDetails::eta_low_0_lay0(void) const {
615 return lvl1_emulation(2);
616}
617
618inline uint32_t MuonFeatureDetails::eta_low_1_lay0(void) const {
619 return lvl1_emulation(3);
620}
621
622inline uint32_t MuonFeatureDetails::eta_low_0_lay1(void) const {
623 return lvl1_emulation(4);
624}
625
626inline uint32_t MuonFeatureDetails::eta_low_1_lay1(void) const {
627 return lvl1_emulation(5);
628}
629
630inline uint32_t MuonFeatureDetails::eta_high_0_lay0(void) const {
631 return lvl1_emulation(6);
632}
633
634inline uint32_t MuonFeatureDetails::eta_high_1_lay0(void) const {
635 return lvl1_emulation(7);
636}
637
638inline uint32_t MuonFeatureDetails::eta_high_0_lay1(void) const {
639 return lvl1_emulation(8);
640}
641
642inline uint32_t MuonFeatureDetails::eta_high_1_lay1(void) const {
643 return lvl1_emulation(9);
644}
645
646inline uint32_t MuonFeatureDetails::phi_pivot_lay0(void) const {
647 return lvl1_emulation(10);
648}
649
650inline uint32_t MuonFeatureDetails::phi_pivot_lay1(void) const {
651 return lvl1_emulation(11);
652}
653
654inline uint32_t MuonFeatureDetails::phi_low_0_lay0(void) const {
655 return lvl1_emulation(12);
656}
657
658inline uint32_t MuonFeatureDetails::phi_low_1_lay0(void) const {
659 return lvl1_emulation(13);
660}
661
662inline uint32_t MuonFeatureDetails::phi_low_0_lay1(void) const {
663 return lvl1_emulation(14);
664}
665
666inline uint32_t MuonFeatureDetails::phi_low_1_lay1(void) const {
667 return lvl1_emulation(15);
668}
669
670inline uint32_t MuonFeatureDetails::phi_high_0_lay0(void) const {
671 return lvl1_emulation(16);
672}
673
674inline uint32_t MuonFeatureDetails::phi_high_1_lay0(void) const {
675 return lvl1_emulation(17);
676}
677
678inline uint32_t MuonFeatureDetails::phi_high_0_lay1(void) const {
679 return lvl1_emulation(18);
680}
681
682inline uint32_t MuonFeatureDetails::phi_high_1_lay1(void) const {
683 return lvl1_emulation(19);
684}
685
686
687
688
689// printouts operators
690
691MsgStream& operator<< ( MsgStream& m, const MuonFeatureDetails& d );
692std::ostream& operator<< (std::ostream& s, const MuonFeatureDetails& d );
693
694CLASS_DEF(MuonFeatureDetails, 262323491, 1)
696
697
698#endif
Scalar eta() const
pseudorapidity method
Scalar deltaR(const MatrixBase< Derived > &vec) const
Scalar phi() const
phi method
double charge(const T &p)
Definition AtlasPID.h:997
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
An STL vector of pointers that by default owns its pointed-to elements.
MsgStream & operator<<(MsgStream &m, const MuonFeatureDetails &d)
const double width
#define y
#define x
#define z
#define min(a, b)
Definition cfImp.cxx:40
#define max(a, b)
Definition cfImp.cxx:41
Derived DataVector<T>.
Definition DataVector.h:795
uint32_t phi_low_1_lay0(void) const
std::vector< uint32_t > m_csm_id
void setRpc2(float x, float y, float z)
const std::vector< float > & mdt_tube_residual(void) const
void setPhiDir(float dir_phi)
float tgc_Mid1_phi(void) const
const std::vector< float > & tgc_Inn_rho_hit_width(void) const
const std::vector< uint32_t > & extension6(void) const
float PhiMap(void) const
float mdt_Outer_fit_chi(void) const
std::vector< uint32_t > m_removed_csm_id
const std::vector< float > & pad_hit_p(void) const
float rpc2_z(void) const
float tgc_Mid_rho_chi2(void) const
float t_aphi(void) const
const std::vector< std::vector< float > > & bw(void) const
float t_radius(void) const
uint32_t eta_high_1_lay1(void) const
std::vector< float > m_tgc_Mid_rho_hit_width
float tgc_Inn_rho_std(void) const
uint32_t phi_pivot_lay0(void) const
std::vector< float > m_mdt_tube_sigma
void copy_vector(std::vector< T > &d, const std::vector< T > &s, int resize=0)
void setEtaPivot(uint32_t ly0, uint32_t ly1)
std::vector< uint32_t > m_extension6
const std::vector< float > & tgc_Mid_phi_hit_width(void) const
void setBw(int tr, int st, float bw)
const std::vector< float > & tgc_Mid_rho_hit_r(void) const
const std::vector< float > & tgc_Mid_rho_hit_phi(void) const
std::vector< std::vector< float > > m_etaMax
float mdt_Middle_R(void) const
std::vector< uint32_t > m_tgc_Inn_phi_hit_in_seg
const std::vector< float > & tgc_Mid_phi_hit_phi(void) const
const std::vector< float > & tgc_Inn_phi_hit_z(void) const
uint32_t eta_high_1_lay0(void) const
const std::vector< float > & tgc_Mid_phi_hit_z(void) const
const std::vector< uint32_t > & rob_id(void) const
const std::vector< uint32_t > & extension5(void) const
float t_ap(void) const
float mdt_Outer_slope(void) const
std::vector< uint32_t > m_extension9
float t_x_center(void) const
AlgoId id(void) const
std::vector< uint32_t > m_extension8
uint32_t phi_high_1_lay1(void) const
void setSpeed_over_c(float speed)
float rpc3_y(void) const
float mdt_Outer_R(void) const
std::vector< std::vector< float > > m_st_phi
const std::vector< uint32_t > & removed_csm_id(void) const
std::vector< std::vector< float > > m_st_roads
std::vector< float > m_tgc_Inn_phi_hit_width
float mdt_Inner_intercept(void) const
std::vector< uint32_t > m_tgc_Mid_phi_hit_in_seg
float tgc_PT(void) const
bool hasSameContentOf(const MuonFeatureDetails &d) const
void setPhiLow(uint32_t ly00, uint32_t ly01, uint32_t ly10, uint32_t ly11)
void setTgcMid1(float Mid1_eta, float Mid1_phi, float Mid1_r, float Mid1_z)
const std::vector< float > & pad_hit_r(void) const
float mdt_Middle_intercept(void) const
const std::vector< float > & mdt_tube_r(void) const
uint32_t eta_pivot_lay1(void) const
float tgc_Inn_z(void) const
void setChamber_type_1(int tr, int st, int ty)
void setDeltaR(float deltaR)
long tgc_Inn_rho_N(void) const
std::vector< std::vector< float > > m_zetaMin
const std::vector< float > & tgc_Inn_rho_hit_z(void) const
std::vector< std::vector< float > > m_radMin
uint32_t phi_low_0_lay0(void) const
const std::vector< std::vector< float > > & zetaMin(void) const
void setPhiHigh(uint32_t ly00, uint32_t ly01, uint32_t ly10, uint32_t ly11)
uint32_t eta_low_1_lay1(void) const
std::vector< uint32_t > m_pad_hit_code
float Beta(void) const
std::vector< uint32_t > m_mdt_offlineId
std::vector< std::vector< float > > m_zetaMax
uint32_t phi_high_1_lay0(void) const
const std::vector< std::vector< float > > & st_phi(void) const
std::vector< float > m_tgc_Inn_phi_hit_r
void setRpc1(float x, float y, float z)
float t_y_center(void) const
uint32_t phi_high_0_lay0(void) const
std::vector< std::vector< float > > m_etaMin
int max_mdt_hits_capacity(void) const
const std::vector< uint32_t > & mdt_offlineId(void) const
void setMdtHit(uint32_t onlineId, uint32_t offlineId, float r, float z, float residual, float time, float space, float sigma)
const std::vector< uint32_t > & tgc_Mid_phi_hit_in_seg(void) const
uint32_t roi_id(void) const
std::vector< uint32_t > m_removed_rob_id
std::vector< float > m_pad_hit_p
std::vector< float > m_mdt_tube_space
MuonFeatureDetails & operator=(const MuonFeatureDetails &source)
std::vector< float > m_mdt_tube_z
void setSP1(float slope, float intercept, float z, float r, float chisquare)
int max_rpc_hits_capacity(void) const
float Slope(void) const
std::vector< float > m_tgc_Inn_rho_hit_r
float tgc_Mid2_z(void) const
void setConvertedCsmSize(const std::vector< uint32_t > &v)
std::vector< uint32_t > m_pad_hit_onlineId
uint32_t lumi_block(void) const
int max_csm_capacity(void) const
std::vector< float > m_pad_hit_x
const std::vector< float > & tgc_Inn_rho_hit_phi(void) const
float rpc1_x(void) const
float mdt_Inner_fit_chi(void) const
void setSlope(float slope)
void setEtaLow(uint32_t ly00, uint32_t ly01, uint32_t ly10, uint32_t ly11)
std::vector< float > m_tgc_Inn_phi_hit_z
bool hasSameTrackReco(const MuonFeatureDetails &d) const
const std::vector< float > & tgc_Inn_rho_hit_r(void) const
std::vector< float > m_tgc_Inn_phi_hit_phi
std::vector< std::vector< int > > m_chamber_type_1
float mdt_Inner_slope(void) const
std::string str(void) const
std::vector< uint32_t > m_csm_error
void setRequestedRob(uint32_t)
std::vector< float > m_mdt_tube_residual
float tgc_Mid2_phi(void) const
std::vector< uint32_t > m_extension2
const std::vector< uint32_t > & extension2(void) const
std::vector< uint32_t > m_rob_id
const std::vector< uint32_t > & extension9(void) const
const std::vector< float > & tgc_Mid_phi_hit_r(void) const
std::vector< uint32_t > m_extension0
uint32_t rpc_pad_error(void) const
uint32_t roi_subsystem(void) const
void setRpcPadError(uint32_t)
void setRpc3(float x, float y, float z)
std::vector< uint32_t > m_extension4
const std::vector< uint32_t > & csm_error(void) const
float Alpha(void) const
float rpc3_z(void) const
uint32_t muondetmask(void) const
uint32_t roi_number(void) const
float Radius(void) const
const std::vector< std::vector< float > > & st_roads(void) const
void copy_variables(MuonFeatureDetails &des, const MuonFeatureDetails &sor)
float roi_eta(void) const
std::vector< float > m_pad_hit_y
void setSP2(float slope, float intercept, float z, float r, float chisquare)
void setExtrInnerPhi(float extPhi)
const std::vector< float > & tgc_Inn_phi_hit_width(void) const
float Speed_over_c(void) const
float mdt_Outer_Z(void) const
float tgc_Mid1_eta(void) const
uint32_t eta_high_0_lay1(void) const
uint32_t lvl1_id(void) const
float tgc_Inn_phi(void) const
float tgc_Mid_phi_chi2(void) const
void setTgcInnRhoHit(float phi, float r, float z, float width, uint32_t in_seg)
const std::vector< uint32_t > & lvl1_emulation(void) const
uint32_t phi_high_0_lay1(void) const
void setExtrInnerEta(float extEta)
float Intercept(void) const
const std::vector< std::vector< float > > & radMax(void) const
std::vector< float > m_tgc_Mid_rho_hit_r
std::vector< std::vector< int > > m_chamber_type_2
uint32_t eta_pivot_lay0(void) const
float mdt_Middle_slope(void) const
uint32_t te_id(void) const
std::vector< float > m_pad_hit_r
void setTgcPadError(uint32_t)
const std::vector< uint32_t > & removed_rob_id(void) const
void setSagitta(float sagitta)
float Sagitta(void) const
float rpc3_x(void) const
long tgc_Mid_rho_N(void) const
float extrInnerEta(void) const
float Pt(void) const
const std::vector< uint32_t > & extension8(void) const
std::vector< uint32_t > m_extension3
std::vector< float > m_tgc_Mid_rho_hit_phi
const std::vector< std::vector< float > > & aw(void) const
const std::vector< float > & tgc_Inn_phi_hit_phi(void) const
void setAddress(int address)
const std::vector< float > & tgc_Mid_rho_hit_width(void) const
std::vector< float > m_tgc_Inn_rho_hit_z
const std::vector< std::vector< int > > & pos(void) const
long tgc_Mid_phi_N(void) const
std::vector< std::vector< int > > m_pos
const std::vector< float > & pad_hit_z(void) const
float t_phi(void) const
float DeltaR(void) const
float tgc_Mid2_eta(void) const
float mdt_Inner_R(void) const
std::vector< float > m_mdt_tube_time
void setChamber_type_2(int tr, int st, int ty)
float Eta(void) const
float rpc2_y(void) const
void setAlpha(float alpha)
float tgc_Mid1_z(void) const
const std::vector< float > & pad_hit_x(void) const
void setEtaMax(int tr, int st, float max)
void setRadMin(int tr, int st, float min)
std::vector< float > m_tgc_Mid_rho_hit_z
uint32_t roi_system(void) const
void setZetaMax(int tr, int st, float max)
std::vector< uint32_t > m_extension7
std::vector< float > m_tgc_Mid_phi_hit_r
float Charge(void) const
uint32_t phi_low_0_lay1(void) const
uint32_t roi_threshold(void) const
std::vector< float > m_tgc_Inn_rho_hit_phi
const std::vector< float > & pad_hit_y(void) const
uint32_t eta_low_0_lay1(void) const
std::vector< float > m_mdt_tube_r
std::vector< uint32_t > m_extension5
const std::vector< float > & tgc_Inn_phi_hit_r(void) const
void setTgcPt(float tgc_pt)
void setPadHit(uint32_t onlineId, uint32_t code, float x, float y, float z, float r, float p)
const std::vector< uint32_t > & tgc_Inn_rho_hit_in_seg(void) const
const std::vector< std::vector< float > > & zetaMax(void) const
void setTgcMidPhiHit(float phi, float r, float z, float width, uint32_t in_seg)
std::vector< float > m_tgc_Mid_phi_hit_phi
void setSt_phi(int tr, int st, float phi)
const std::vector< std::vector< float > > & etaMax(void) const
const std::vector< uint32_t > & extension4(void) const
uint32_t error(void) const
const std::vector< uint32_t > & pad_hit_code(void) const
std::vector< std::vector< float > > m_bw
void setEtaMin(int tr, int st, float min)
uint32_t phi_low_1_lay1(void) const
float rpc2_x(void) const
uint32_t phi_pivot_lay1(void) const
float PhiDir(void) const
void setPhiPivot(uint32_t ly0, uint32_t ly1)
const std::vector< uint32_t > & extension7(void) const
void setPhiMap(float phimap)
const std::vector< uint32_t > & csm_size(void) const
std::vector< float > m_pad_hit_z
void setAw(int tr, int st, float aw)
float tgc_Inn_phi_std(void) const
const std::vector< uint32_t > & tgc_Inn_phi_hit_in_seg(void) const
std::vector< uint32_t > m_csm_size
void setTgcInnF(float rho_std, long rho_n, float phi_std, long phi_n)
void setT_aphi(float aphi)
float mdt_Middle_fit_chi(void) const
void setRadius(float radius)
long type(void) const
const std::vector< float > & tgc_Mid_rho_hit_z(void) const
const std::vector< uint32_t > & extension0(void) const
std::vector< float > m_tgc_Mid_phi_hit_width
bool hasSameRoIOf(const MuonFeatureDetails &d) const
void setCharge(float charge)
const std::vector< std::vector< float > > & etaMin(void) const
bool isEqual(const MuonFeatureDetails &d) const
std::vector< float > m_tgc_Mid_phi_hit_z
float tgc_Mid2_r(void) const
uint32_t eta_high_0_lay0(void) const
bool operator==(const MuonFeatureDetails &d) const
void setTgcMidRhoHit(float phi, float r, float z, float width, uint32_t in_seg)
void setTgcInnPhiHit(float phi, float r, float z, float width, uint32_t in_seg)
void setZetaMin(int tr, int st, float min)
uint32_t tgc_rdo_error(void) const
std::vector< float > m_tgc_Inn_rho_hit_width
int Address(void) const
const std::vector< uint32_t > & mdt_onlineId(void) const
void setEtaHigh(uint32_t ly00, uint32_t ly01, uint32_t ly10, uint32_t ly11)
std::vector< uint32_t > m_lvl1_emulation
const std::vector< uint32_t > & extension1(void) const
std::vector< uint32_t > m_tgc_Mid_rho_hit_in_seg
std::vector< uint32_t > m_mdt_onlineId
float tgc_Inn_r(void) const
uint32_t eta_low_0_lay0(void) const
float mdt_Inner_Z(void) const
float extrInnerPhi(void) const
void setConvertedCsm(uint32_t, uint32_t)
const std::vector< uint32_t > & extension3(void) const
const std::vector< uint32_t > & csm_id(void) const
int max_tgc_hits_capacity(void) const
const std::vector< uint32_t > & pad_hit_onlineId(void) const
std::vector< uint32_t > m_extension1
void setSt_roads(int tr, int st, float road)
int max_lvl1_emu_capacity(void) const
const std::vector< std::vector< int > > & chamber_type_2(void) const
const std::vector< float > & mdt_tube_z(void) const
std::vector< uint32_t > m_tgc_Inn_rho_hit_in_seg
float mdt_Outer_intercept(void) const
long tgc_Inn_phi_N(void) const
std::vector< std::vector< float > > m_radMax
void setSP3(float slope, float intercept, float z, float r, float chisquare)
float mdt_Middle_Z(void) const
int max_rob_capacity(void) const
void setIntercept(float intercept)
const std::vector< uint32_t > & tgc_Mid_rho_hit_in_seg(void) const
const std::vector< float > & mdt_tube_sigma(void) const
float Phi(void) const
void setTgcMidF(float rho_chi2, long rho_n, float phi_chi2, long phi_n)
float roi_phi(void) const
float tgc_Mid1_r(void) const
void setRadMax(int tr, int st, float max)
const std::vector< std::vector< int > > & chamber_type_1(void) const
int extension_capacity(void) const
float tgc_Inn_eta(void) const
uint32_t eta_low_1_lay0(void) const
void setTgcInn(float Inn_eta, float Inn_phi, float Inn_r, float Inn_z)
uint32_t roi_sector(void) const
std::vector< std::vector< float > > m_aw
void setPos(int tr, int st, int pos)
const std::vector< float > & mdt_tube_time(void) const
void setLvl1Emulation(const std::vector< uint32_t > &v)
const std::vector< std::vector< float > > & radMin(void) const
const std::vector< float > & mdt_tube_space(void) const
float rpc1_z(void) const
void setTgcMid2(float Mid2_eta, float Mid2_phi, float Mid2_r, float Mid2_z)
float rpc1_y(void) const
int r
Definition globals.cxx:22