43 {
44 hitGroups.clear();
45 statistics = DecodeStatistics{};
46
47
48
49
50
51
52
53
54 for (
const TgcRdo* rdo : rdos) {
56 ++statistics.nRawData;
58 continue;
59 }
60
61 const Station hitStation = station(rawData->slbType());
62 const bool hitIsStrip =
isStrip(rawData->slbType());
63 const Hit hit{
64 .subDetectorId = rawData->subDetectorId(),
65 .detectorSector = rawData->rodId(),
66 .bcTag = rawData->bcTag(),
67 .sswId = rawData->sswId(),
68 .slbId = rawData->slbId(),
69 .channel = rawData->channel(),
70 .station = hitStation,
71 .isStrip = hitIsStrip,
72 };
73 const HitGroupKey
key{
74 .subDetectorId = hit.subDetectorId,
75 .detectorSector = hit.detectorSector,
76 .bcTag = hit.bcTag,
77 .station = hit.station,
78 .isStrip = hit.isStrip,
79 };
80 hitGroups[
key].push_back(hit);
81
82 ++statistics.nHits;
83 if (hitIsStrip) {
84 ++statistics.nStripHits;
85 } else {
86 ++statistics.nWireHits;
87 }
88 switch (hitStation) {
90 ++statistics.nM1Hits;
91 break;
93 ++statistics.nM2M3Hits;
94 break;
96 ++statistics.nInnerHits;
97 break;
98 default:
99 ++statistics.nUnknownStation;
100 break;
101 }
102 }
103 }
104 return StatusCode::SUCCESS;
105}
Athena::TPCnvVers::Old Athena::TPCnvVers::Current Athena::TPCnvVers::Old Athena::TPCnvVers::Current Athena::TPCnvVers::Old Athena::TPCnvVers::Current Athena::TPCnvVers::Current Athena::TPCnvVers::Current Athena::TPCnvVers::Current Athena::TPCnvVers::Current TgcRawData
Athena::TPCnvVers::Old Athena::TPCnvVers::Current Athena::TPCnvVers::Old Athena::TPCnvVers::Current Athena::TPCnvVers::Old Athena::TPCnvVers::Current Athena::TPCnvVers::Current Athena::TPCnvVers::Current Athena::TPCnvVers::Current Athena::TPCnvVers::Current Athena::TPCnvVers::Old Athena::TPCnvVers::Old TgcRdo