ATLAS Offline Software
Loading...
Searching...
No Matches
TileMBTSMonitorAlgorithm.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 TILEMONITORING_TILEMBTSMONITORALGORITHM_H
6#define TILEMONITORING_TILEMBTSMONITORALGORITHM_H
7
13
16
18#include "GaudiKernel/ServiceHandle.h"
19
20#include "TrigConfData/L1Menu.h"
22
23class TileTBID;
24class TileHWID;
26
30
32
33 public:
34
36
37 virtual ~TileMBTSMonitorAlgorithm() = default;
38 virtual StatusCode initialize() override;
39 virtual StatusCode fillHistograms( const EventContext& ctx ) const override;
40 virtual StatusCode start() override;
41
42 private:
43
45
48
49 void setDigiError(std::vector<int>& counters, std::vector<int>& errors, int counter, int error) const;
50
51 int getMBTSCounter(Identifier mbtsID) const;
52
53 Gaudi::Property<bool> m_fillHistogramsPerMBTS{this,
54 "FillHistogramsPerMBTS", false, "Switch for using per MBTS histograms"};
55
56 Gaudi::Property<bool> m_useTrigger{this,
57 "useTrigger", false, "Switch for using trigger information"};
58
59 Gaudi::Property<std::vector<float>> m_energyCut{this,
60 "EnergyCuts",
61 {//MBTSA00 MBTSA01 MBTSA02 MBTSA03 MBTSA04 MBTSA05 MBTSA06 MBTSA07
62 60.f/222, 60.f/222, 60.f/222, 60.f/222, 60.f/222, 60.f/222, 60.f/222, 60.f/222,
63 //MBTSA08 MBTSA09 MBTSA10 MBTSA11 MBTSA12 MBTSA13 MBTSA14 MBTSA15
64 60.f/222, 60.f/222, 60.f/222, 60.f/222, 60.f/222, 60.f/222, 60.f/222, 60.f/222,
65 //MBTSC00 MBTSC01 MBTSC02 MBTSC03 MBTSC04 MBTSC05 MBTSC06 MBTSC07
66 60.f/222, 60.f/222, 60.f/222, 60.f/222, 60.f/222, 60.f/222, 60.f/222, 60.f/222,
67 //MBTSC08 MBTSC09 MBTSC10 MBTSC11 MBTSC12 MBTSC13 MBTSC14 MBTSC15
68 60.f/222, 60.f/222, 60.f/222, 60.f/222, 60.f/222, 60.f/222, 60.f/222, 60.f/222},
69 "Energy cuts for 32 MBTS counters (MBTSA00, .., MBTSC15)"};
70
72 "TileDQstatus", "TileDQstatus", "Tile DQ status"};
73
75 "TileDigitsContainer", "TileDigitsCnt", "Tile digits container" };
76
78 "MBTSContainer", "MBTSContainer", "Tile MBTS container" };
79
81 "CTP_RDO", "CTP_RDO", "Trigger CTP RDO name" };
82
83 Gaudi::Property<std::vector<int>> m_ctpID{this,
84 "CTP_ID", {-1}, "Force CTP IDs for 32 MBTS counters (MBTSA00, .., MBTSC15)"};
85
86 Gaudi::Property<std::vector<std::string>> m_l1Triggers{this,
87 "L1_MBTS",
88 {
89 "L1_MBTSA0", "L1_MBTSA1", "L1_MBTSA2", "L1_MBTSA3", "L1_MBTSA4", "L1_MBTSA5", "L1_MBTSA6", "L1_MBTSA7",
90 "L1_MBTSA8", "L1_MBTSA9", "L1_MBTSA10", "L1_MBTSA11", "L1_MBTSA12", "L1_MBTSA13", "L1_MBTSA14", "L1_MBTSA15",
91 "L1_MBTSC0", "L1_MBTSC1", "L1_MBTSC2", "L1_MBTSC3", "L1_MBTSC4", "L1_MBTSC5", "L1_MBTSC6", "L1_MBTSC7",
92 "L1_MBTSC8", "L1_MBTSC9", "L1_MBTSC10", "L1_MBTSC11", "L1_MBTSC12", "L1_MBTSC13", "L1_MBTSC14", "L1_MBTSC15",
93 }, "Names of 32 L1 MBTS triggers (e.g.: L1_MBTSA0, .., L1_MBTSC15)"};
94
96 "L1TriggerMenu", "DetectorStore+L1TriggerMenu", "L1 Menu"};
97
102 "TileCablingSvc", "TileCablingSvc", "The Tile cabling service" };
103
105
106 std::vector<int> m_energyGroups;
107 std::vector<int> m_energyLBGroups;
108 std::vector<int> m_energyTrigGroups;
109 std::vector<int> m_energyTrigLBGroups;
110
111 std::vector<int> m_timeGroups;
112 std::vector<int> m_timeTrigGroups;
113
114 std::vector<int> m_hfnGroups;
115 std::vector<int> m_pedestalGroups;
116
117 std::vector<int> m_pulseGroups;
118 std::vector<int> m_pulseTrigGroups;
119
120 std::vector<int> m_effTrigGroups;
121
122 std::vector<int> m_trigGroups;
123 std::vector<int> m_trigInWinGroups;
124 std::vector<int> m_trigSumGroups;
125 std::vector<int> m_coinTrigGroups;
126 std::vector<int> m_deltaBCIDSumGroups;
127 std::vector<std::vector<int>> m_deltaBCIDGroups;
128 std::vector<std::vector<int>> m_bcidGroups;
129
130 const TileTBID* m_tileTBID{nullptr};
131 const TileHWID* m_tileHWID{nullptr};
132
135
136 static const unsigned int MAX_MBTS_COUNTER{32};
137 static const unsigned int MBTS_DMU{0};
138};
139
140#endif // TILEMONITORING_TILEMBTSMONITORALGORITHM_H
Header file to be included by clients of the Monitored infrastructure.
Property holding a SG store/key/clid from which a ReadHandle is made.
Information produced by TileDQstatusAlg (used to be done by TileBeamInfoProvider).
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Property holding a SG store/key/clid from which a ReadHandle is made.
Static class providing several utility functions and constants.
static const unsigned int MAX_ROS
Number of ROSs.
static const unsigned int MAX_DRAWER
Number of drawers in ROS 1-4.
Helper class for TileCal online (hardware) identifiers.
Definition TileHWID.h:49
SG::ReadHandleKey< CTP_RDO > m_ctpRdoKey
SG::ReadHandleKey< TrigConf::L1Menu > m_L1MenuKey
SG::ReadHandleKey< TileDQstatus > m_DQstatusKey
SG::ReadHandleKey< TileCellContainer > m_mbtsCellContainerKey
static const unsigned int MBTS_DMU
std::vector< std::vector< int > > m_bcidGroups
Gaudi::Property< std::vector< float > > m_energyCut
Gaudi::Property< bool > m_fillHistogramsPerMBTS
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
Gaudi::Property< std::vector< int > > m_ctpID
SG::ReadHandleKey< TileDigitsContainer > m_digitsContainerKey
int m_MBTSchannels[Tile::MAX_ROS - 3][Tile::MAX_DRAWER]
Gaudi::Property< bool > m_useTrigger
virtual ~TileMBTSMonitorAlgorithm()=default
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
virtual StatusCode start() override
static const unsigned int MAX_MBTS_COUNTER
const TileCablingService * m_cabling
Gaudi::Property< std::vector< std::string > > m_l1Triggers
ServiceHandle< TileCablingSvc > m_cablingSvc
Name of Tile cabling service.
std::vector< std::vector< int > > m_deltaBCIDGroups
int m_MBTScounters[Tile::MAX_ROS - 3][Tile::MAX_DRAWER]
Helper class for TileCal offline identifiers of ancillary testbeam detectors and MBTS.
void initialize()