14 const std::string& basePath,
17 auto createHisto = [&](
const std::string& hName,
18 const std::string& hTitle,
22 TH1*
h =
new TH1F(hName.c_str(), hTitle.c_str(),
nBins, xLow, xHigh);
26 stName > 0 ? idHelper.stationNameString(
stName) :
"Inclusive",
30 h_tgcID = createHisto(
"tgcID",
"TGC ID", 100, 0, 25);
31 h_tgcSubDetID = createHisto(
"tgcSubDetID",
"TGC sub-detector ID", 100, 0, 110);
32 h_tgcRodID = createHisto(
"tgcRodID",
"TGC ROD ID", 100, 0, 15);
33 h_tgcTrigType = createHisto(
"tgcTrigType",
"TGC trigger type", 100, 0, 2);
34 h_tgcBcID = createHisto(
"tgcBcID",
"TGC BCID", 100, 0, 2);
35 h_tgcL1ID = createHisto(
"tgcL1ID",
"TGC L1ID", 100, 0, 2);
36 h_bcTag = createHisto(
"bcTag",
"BC Tag", 100, 0, 5);
37 h_subDetID = createHisto(
"subDetID",
"Sub-detector ID", 100, 0, 110);
38 h_rodID = createHisto(
"rodID",
"ROD ID", 100, 0, 15);
39 h_sswID = createHisto(
"sswID",
"SSW ID", 100, 0, 10);
40 h_slbID = createHisto(
"slbID",
"SLB ID", 100, 0, 30);
41 h_bcID = createHisto(
"bcID",
"BCID", 100, 0, 10);
42 h_l1ID = createHisto(
"l1ID",
"L1ID", 100, 0, 10);
43 h_type = createHisto(
"type",
"type (hit or coinc)", 100, 0, 10);
44 h_slbType = createHisto(
"slbType",
"SLB type", 100, 0, 10);
45 h_bitPos = createHisto(
"bitPos",
"Bitmap position", 100, 0, 220);
46 h_track = createHisto(
"track",
"tracklet", 100, 0, 10);
47 h_adj = createHisto(
"adj",
"Adjacent", 100, 0, 2);
55 std::set<int> stationNames{-1};
57 std::for_each(idHelper.module_begin(), idHelper.module_end(),
58 [&stationNames, &idHelper](
const Identifier&
id) {
59 stationNames.insert(idHelper.stationName(id));
61 for (
const int st : stationNames) {
65 return StatusCode::SUCCESS;
69 const EventContext& ctx{Gaudi::Hive::currentContext()};
72 for (
const TgcRdo* rdo : *rdos) {
73 const uint16_t tgcSubDetID = rdo->subDetectorId();
74 const uint16_t tgcID = rdo->identify();
75 const uint16_t tgcTrigType = rdo->triggerType();
76 const uint16_t tgcRodID = rdo->rodId();
77 const uint16_t tgcBcID = rdo->bcId();
78 const uint16_t tgcL1ID = rdo->l1Id();
80 std::vector<unsigned> fillMe{};
88 for (
int h : fillMe) {
90 m_histos[
h].h_tgcSubDetID->Fill(tgcSubDetID);
92 m_histos[
h].h_tgcTrigType->Fill(tgcTrigType);
109 const bool adj =
channel->isAdjacent();
111 for (
int h : fillMe) {
120 m_histos[
h].h_slbType->Fill(slbType_var);
129 return StatusCode::SUCCESS;