ATLAS Offline Software
Loading...
Searching...
No Matches
TgcRawData.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
6#include "GaudiKernel/MsgStream.h"
7
8void TgcRawData::clear(uint16_t bcTag,
9 uint16_t subDetectorId,
10 uint16_t rodId,
11 uint16_t sswId,
12 uint16_t slbId,
13 uint16_t l1Id,
14 uint16_t bcId)
15{
16 m_bcTag = bcTag;
18 m_rodId = rodId;
19 m_sswId = sswId;
20 m_slbId = slbId;
21 m_l1Id = l1Id;
22 m_bcId = bcId;
24 m_bitpos = 0;
25 m_tracklet = 0;
26 m_adjacent = false;
28 m_forward = false;
29 m_index = 0;
30 m_pos = 0;
31 m_delta = 0;
32 m_inner = 0;
33 m_segment = 0;
34 m_subMatrix = 0;
35 m_sector = 0;
36 m_chip = 0;
37 m_hipt = false;
38 m_hitId = 0;
39 m_hsub = 0;
40 m_strip = false;
41 m_cand3plus = false;
42 m_muplus = false;
43 m_threshold = 0;
44 m_overlap = false;
45 m_veto = false;
46 m_roi = 0;
47}
48
50 uint16_t subDetectorId,
51 uint16_t rodId,
52 uint16_t l1Id,
53 uint16_t bcId)
54{
55 m_bcTag = bcTag;
57 m_rodId = rodId;
58 m_l1Id = l1Id;
59 m_bcId = bcId;
60 m_bitpos = 0;
61 m_tracklet = 0;
62 m_adjacent = false;
64 m_forward = false;
65 m_index = 0;
66 m_pos = 0;
67 m_delta = 0;
68 m_inner = 0;
69 m_segment = 0;
70 m_subMatrix = 0;
71 m_sector = 0;
72 m_chip = 0;
73 m_hipt = false;
74 m_hitId = 0;
75 m_hsub = 0;
76 m_strip = false;
77 m_cand3plus = false;
78 m_muplus = false;
79 m_threshold = 0;
80 m_overlap = false;
81 m_veto = false;
82 m_roi = 0;
83 m_innerflag = 0;
84 m_coinflag = 0;
85 m_nsweta = 0;
86 m_nswphi = 0;
87 m_nswsl = 0;
88 m_nswcand = 0;
89 m_nswdtheta = 0;
90 m_nswphires = 0;
91 m_nswlowres = 0;
92 m_nswid = 0;
93 m_rpceta = 0;
94 m_rpcphi = 0;
95 m_rpcflag = 0;
96 m_rpcdeta = 0;
97 m_rpcdphi = 0;
98 m_ei = 0;
99 m_fi = 0;
100 m_cid = 0;
101 m_tmdbmod = 0;
102 m_tmdbbcid = 0;
103}
104
105// P1 ------------------------
106// Constructor for Hit
108 uint16_t subDetectorId,
109 uint16_t rodId,
110 uint16_t sswId,
111 uint16_t slbId,
112 uint16_t l1Id,
113 uint16_t bcId,
114 uint16_t bitpos)
115{
118}
119
120// Constructor for Trigger Coincidence
122 uint16_t subDetectorId,
123 uint16_t rodId,
124 uint16_t sswId,
125 uint16_t slbId,
126 uint16_t l1Id,
127 uint16_t bcId,
128 uint16_t type,
129 uint16_t index,
130 uint16_t pos,
131 int16_t delta)
132{
134 setType(type);
135 m_index = index;
136 m_pos = pos;
137 m_delta = delta;
138}
139
140// P2 ------------------------
141// Hits
143 uint16_t subDetectorId,
144 uint16_t rodId,
145 uint16_t sswId,
146 uint16_t slbId,
147 uint16_t l1Id,
148 uint16_t bcId,
150 bool adj,
151 uint16_t tracklet,
152 uint16_t channel)
153{
156 m_adjacent = adj;
159}
160
161// Tracklets
163 uint16_t subDetectorId,
164 uint16_t rodId,
165 uint16_t sswId,
166 uint16_t slbId,
167 uint16_t l1Id,
168 uint16_t bcId,
170 int16_t delta,
171 uint16_t seg,
172 uint16_t sub,
173 uint16_t rphi)
174{
178 m_delta = delta;
179 m_segment = seg;
180 m_subMatrix = sub;
181 m_pos = rphi;
182}
183
184// High pT
186 uint16_t subDetectorId,
187 uint16_t rodId,
188 uint16_t l1Id,
189 uint16_t bcId,
190 bool strip,
191 bool forward,
192 uint16_t sector,
193 uint16_t chip,
194 uint16_t index,
195 bool hipt,
196 uint16_t hitId,
197 uint16_t sub,
198 int16_t delta,
199 uint16_t inner
200 )
201{
204 m_strip = strip;
205 m_forward = forward;
207 m_chip = chip;
208 m_index = index;
209 m_hipt = hipt;
210 m_hitId = hitId;
211 m_hsub = sub;
212 m_delta = delta;
213 m_inner = inner;
214}
215
216// Sector logic
218 uint16_t subDetectorId,
219 uint16_t rodId,
220 uint16_t l1Id,
221 uint16_t bcId,
222 bool cand3plus,
223 bool forward,
224 uint16_t sector,
225 uint16_t index,
226 bool muplus,
227 uint16_t threshold,
228 bool overlap,
229 bool veto,
230 uint16_t roi)
231{
233 m_type = TYPE_SL;
235 m_forward = forward;
237 m_index = index;
238 m_muplus = muplus;
240 m_overlap = overlap;
241 m_veto = veto;
242 m_roi = roi;
243}
244
245// New Sector logic
246// RoI
248 uint16_t subDetectorId,
249 uint16_t rodId,
250 uint16_t l1Id,
251 uint16_t bcId,
252 bool forward,
253 uint16_t sector,
254 uint16_t innerflag,
255 uint16_t coinflag,
256 bool muplus,
257 uint16_t threshold,
258 uint16_t roi)
259{
261 m_type = TYPE_SL;
262 m_forward = forward;
266 m_muplus = muplus;
268 m_roi = roi;
269}
270
271// NSW
273 uint16_t subDetectorId,
274 uint16_t rodId,
275 uint16_t l1Id,
276 uint16_t bcId,
277 bool forward,
278 uint16_t sector,
279 uint16_t nsweta,
280 uint16_t nswphi,
281 uint16_t nswcand,
282 uint16_t nswdtheta,
283 uint16_t nswphires,
284 uint16_t nswlowres,
285 uint16_t nswid)
286{
289 m_forward = forward;
297 m_nswid = nswid;
298}
299
300// RPC BIS78
302 uint16_t subDetectorId,
303 uint16_t rodId,
304 uint16_t l1Id,
305 uint16_t bcId,
306 bool forward,
307 uint16_t sector,
308 uint16_t rpceta,
309 uint16_t rpcphi,
310 uint16_t rpcflag,
311 uint16_t rpcdeta,
312 uint16_t rpcdphi)
313{
316 m_forward = forward;
323}
324
325// EIFI
327 uint16_t subDetectorId,
328 uint16_t rodId,
329 uint16_t l1Id,
330 uint16_t bcId,
331 bool forward,
332 uint16_t sector,
333 uint16_t ei,
334 uint16_t fi,
335 uint16_t cid)
336{
339 m_forward = forward;
341 m_ei = ei;
342 m_fi = fi;
343 m_cid = cid;
344}
345
346// TMDB
348 uint16_t subDetectorId,
349 uint16_t rodId,
350 uint16_t l1Id,
351 uint16_t bcId,
352 bool forward,
353 uint16_t sector,
354 uint16_t mod,
355 uint16_t bcid)
356{
359 m_forward = forward;
361 m_tmdbmod = mod;
362 m_tmdbbcid = bcid;
363}
364
365
366
368{
369 switch (type)
370 {
374 case 3: m_type = TYPE_HIPT; break;
375 case 4: m_type = TYPE_SL; break;
376 case 5: m_type = TYPE_INNER; break;
377 case 6: m_type = TYPE_INNER_NSW; break;
378 case 7: m_type = TYPE_INNER_BIS; break;
379 case 8: m_type = TYPE_INNER_EIFI; break;
380 case 9: m_type = TYPE_INNER_TMDB; break;
381 case 10: m_type = TYPE_HIT; break;
382 default: m_type = TYPE_UNKNOWN; break;
383 }
384}
385
387{
388 switch (type)
389 {
390 case TYPE_HIT: return "Hit"; break;
391 case TYPE_TRACKLET: return "Tracklet"; break;
392 case TYPE_HIPT: return "High pT"; break;
393 case TYPE_SL: return "RoI"; break;
394 case TYPE_INNER: return "Inner"; break;
395 case TYPE_INNER_NSW: return "NSW"; break;
396 case TYPE_INNER_BIS: return "RPCBIS"; break;
397 case TYPE_INNER_EIFI: return "EIFI"; break;
398 case TYPE_INNER_TMDB: return "TMDB"; break;
399 default: return "";
400 }
401}
403{
404 switch (type)
405 {
406 case SLB_TYPE_DOUBLET_WIRE: return "Doublet Wire"; break;
407 case SLB_TYPE_DOUBLET_STRIP: return "Doublet Strip"; break;
408 case SLB_TYPE_TRIPLET_WIRE: return "Triplet Wire"; break;
409 case SLB_TYPE_TRIPLET_STRIP: return "Triplet Strip"; break;
410 case SLB_TYPE_INNER_WIRE: return "Inner Wire"; break;
411 case SLB_TYPE_INNER_STRIP: return "Inner Strip"; break;
412 default: return "";
413 }
414}
415
416template <class stream>
417stream& dump(stream& sl, const TgcRawData& data)
418{
419 sl << "TgcRawData " << data.typeName()
420 << ", bcTag=" << data.bcTag()
421 << ", l1Id=" << data.l1Id()
422 << ", bcId=" << data.bcId()
423 << ", subDetectorId=" << data.subDetectorId()
424 << ", rodId=" << data.rodId()
425 << ", sswId=" << data.sswId()
426 << ", slbId=" << data.slbId();
427 switch (data.type())
428 {
430 sl << ", tracklet=" << data.tracklet()
431 << ", adjacent=" << data.isAdjacent()
432 << ", slbType=" << data.slbTypeName()
433 << ", bitpos=" << data.bitpos();
434 break;
436 sl << ", slbType=" << data.slbTypeName()
437 << ", delta=" << data.delta()
438 << ", segment=" << data.segment()
439 << ", subMatrix=" << data.subMatrix()
440 << ", position=" << data.position();
441 break;
443 sl << ", strip=" << data.isStrip()
444 << ", forward=" << data.isForward()
445 << ", sector=" << data.sector()
446 << ", chip=" << data.chip()
447 << ", cand=" << data.index()
448 << ", hipt=" << data.isHipt()
449 << ", hitId=" << data.hitId()
450 << ", hsub=" << data.hsub()
451 << ", delta=" << data.delta()
452 << ", inner=" << data.inner();
453 break;
455 sl << ", cand3plus=" << data.cand3plus()
456 << ", forward=" << data.isForward()
457 << ", sector=" << data.sector()
458 << ", cand=" << data.index()
459 << ", sign=" << data.isMuplus()
460 << ", threshold=" << data.threshold()
461 << ", overlap=" << data.isOverlap()
462 << ", veto=" << data.isVeto()
463 << ", roi=" << data.roi();
464 break;
466 sl << ", nsweta=" << data.nsweta()
467 << ", nswphi=" << data.nswphi()
468 << ", nswcand=" << data.nswcand()
469 << ", nswdtheta=" << data.nswdtheta()
470 << ", nswphires=" << data.nswphires()
471 << ", nswlowres=" << data.nswlowres()
472 << ", nswid=" << data.nswid()
473 << ", forward=" << data.isForward()
474 << ", sector=" << data.sector();
475 break;
477 sl << ", rpceta=" << data.rpceta()
478 << ", rpcphi=" << data.rpcphi()
479 << ", rpcflag=" << data.rpcflag()
480 << ", rpcdeta=" << data.rpcdeta()
481 << ", rpcdphi=" << data.rpcdphi()
482 << ", sector=" << data.sector();
483 break;
485 sl << ", ei=" << data.ei()
486 << ", fi=" << data.fi()
487 << ", forward=" << data.isForward()
488 << ", sector=" << data.sector();
489 break;
491 sl << ", mod=" << data.tmdbmod()
492 << ", bcid=" << data.tmdbbcid()
493 << ", sector=" << data.sector();
494 break;
495 default:
496 break;
497 }
498 return sl;
499}
500
501MsgStream& operator<<(MsgStream& sl, const TgcRawData& data)
502{
503 return dump(sl, data);
504}
505
506std::ostream& operator<<(std::ostream& sl, const TgcRawData& data)
507{
508 return dump(sl, data);
509}
510
char data[hepevt_bytes_allocation_ATLAS]
Definition HepEvt.cxx:11
MsgStream & operator<<(MsgStream &sl, const TgcRawData &data)
Overload of << operator for MsgStream for debug output.
An unit object of TGC ROD output.
Definition TgcRawData.h:23
uint16_t nswlowres() const
Definition TgcRawData.h:413
uint16_t sswId() const
Definition TgcRawData.h:272
uint16_t m_rodId
Definition TgcRawData.h:498
@ SLB_TYPE_TRIPLET_WIRE
Definition TgcRawData.h:34
@ SLB_TYPE_INNER_WIRE
Definition TgcRawData.h:36
@ SLB_TYPE_TRIPLET_STRIP
Definition TgcRawData.h:35
@ SLB_TYPE_INNER_STRIP
Definition TgcRawData.h:37
@ SLB_TYPE_DOUBLET_STRIP
Definition TgcRawData.h:33
@ SLB_TYPE_DOUBLET_WIRE
Definition TgcRawData.h:32
@ SLB_TYPE_UNKNOWN
Definition TgcRawData.h:38
uint16_t chip() const
Definition TgcRawData.h:337
int16_t delta() const
Definition TgcRawData.h:317
uint16_t m_nswphi
Definition TgcRawData.h:559
uint16_t m_nswid
Definition TgcRawData.h:565
uint16_t m_bcId
Definition TgcRawData.h:504
uint16_t l1Id() const
Definition TgcRawData.h:255
uint16_t m_rpcdphi
Definition TgcRawData.h:572
uint16_t innerflag() const
Definition TgcRawData.h:381
uint16_t m_subDetectorId
Definition TgcRawData.h:497
SlbType slbType() const
Definition TgcRawData.h:285
uint16_t bcId() const
Definition TgcRawData.h:259
uint16_t channel() const
Definition TgcRawData.h:297
uint16_t m_rpcphi
Definition TgcRawData.h:569
DataType type() const
Definition TgcRawData.h:280
SlbType m_slbType
Definition TgcRawData.h:506
uint16_t coinflag() const
Definition TgcRawData.h:385
bool cand3plus() const
Definition TgcRawData.h:357
bool m_cand3plus
Definition TgcRawData.h:545
int16_t m_delta
Definition TgcRawData.h:531
uint16_t ei() const
Definition TgcRawData.h:441
uint16_t m_tmdbmod
Definition TgcRawData.h:580
uint16_t bitpos() const
Definition TgcRawData.h:293
uint16_t m_innerflag
Definition TgcRawData.h:554
bool m_adjacent
Definition TgcRawData.h:517
uint16_t rpcdeta() const
Definition TgcRawData.h:433
uint16_t m_nswdtheta
Definition TgcRawData.h:562
uint16_t nswid() const
Definition TgcRawData.h:417
bool m_overlap
Definition TgcRawData.h:548
uint16_t rpcphi() const
Definition TgcRawData.h:425
uint16_t m_bcTag
Definition TgcRawData.h:494
uint16_t m_nswlowres
Definition TgcRawData.h:564
uint16_t m_nswphires
Definition TgcRawData.h:563
uint16_t fi() const
Definition TgcRawData.h:445
uint16_t bcTag() const
Definition TgcRawData.h:251
uint16_t m_nswcand
Definition TgcRawData.h:561
uint16_t nsweta() const
Definition TgcRawData.h:389
uint16_t nswcand() const
Definition TgcRawData.h:401
uint16_t m_threshold
Definition TgcRawData.h:547
void clear(uint16_t bcTag, uint16_t subDetectorId, uint16_t rodId, uint16_t l1Id, uint16_t bcId)
uint16_t nswphires() const
Definition TgcRawData.h:409
uint16_t cid() const
Definition TgcRawData.h:449
uint16_t m_hsub
Definition TgcRawData.h:540
uint16_t subDetectorId() const
Definition TgcRawData.h:264
uint16_t m_fi
Definition TgcRawData.h:576
uint16_t m_pos
Definition TgcRawData.h:530
uint16_t slbId() const
Definition TgcRawData.h:276
uint16_t rodId() const
Definition TgcRawData.h:268
uint16_t rpceta() const
Definition TgcRawData.h:421
uint16_t m_hitId
Definition TgcRawData.h:539
uint16_t m_tmdbbcid
Definition TgcRawData.h:581
uint16_t nswdtheta() const
Definition TgcRawData.h:405
void setType(uint16_t type)
uint16_t m_rpceta
Definition TgcRawData.h:568
uint16_t sector() const
Definition TgcRawData.h:333
uint16_t m_cid
Definition TgcRawData.h:577
bool m_muplus
Definition TgcRawData.h:546
uint16_t tracklet() const
Definition TgcRawData.h:301
uint16_t m_sector
Definition TgcRawData.h:536
uint16_t m_index
Definition TgcRawData.h:527
uint16_t m_ei
Definition TgcRawData.h:575
@ TYPE_INNER_EIFI
Definition TgcRawData.h:50
@ TYPE_INNER_TMDB
Definition TgcRawData.h:51
uint16_t m_chip
Definition TgcRawData.h:537
uint16_t roi() const
Definition TgcRawData.h:377
uint16_t m_sswId
Definition TgcRawData.h:499
uint16_t rpcflag() const
Definition TgcRawData.h:429
uint16_t rpcdphi() const
Definition TgcRawData.h:437
uint16_t m_subMatrix
Definition TgcRawData.h:533
std::string slbTypeName() const
Definition TgcRawData.h:471
uint16_t m_coinflag
Definition TgcRawData.h:555
uint16_t m_l1Id
Definition TgcRawData.h:503
bool m_forward
Definition TgcRawData.h:524
uint16_t m_bitpos
Definition TgcRawData.h:512
uint16_t m_rpcdeta
Definition TgcRawData.h:571
uint16_t m_tracklet
Definition TgcRawData.h:515
uint16_t m_nsweta
Definition TgcRawData.h:558
uint16_t m_slbId
Definition TgcRawData.h:500
DataType m_type
Definition TgcRawData.h:523
std::string typeName() const
Definition TgcRawData.h:464
uint16_t m_roi
Definition TgcRawData.h:550
uint16_t m_rpcflag
Definition TgcRawData.h:570
uint16_t hitId() const
Definition TgcRawData.h:345
uint16_t m_nswsl
Definition TgcRawData.h:560
uint16_t m_segment
Definition TgcRawData.h:532
uint16_t inner() const
Definition TgcRawData.h:321
uint16_t nswphi() const
Definition TgcRawData.h:393
uint16_t m_inner
Definition TgcRawData.h:542
uint16_t threshold() const
Definition TgcRawData.h:365
bool hipt
Definition globals.cxx:29
std::vector< std::string > veto
these patterns are anded
Definition listroot.cxx:191
-event-from-file
Definition index.py:1