ATLAS Offline Software
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 
10 #include "TileEvent/TileDQstatus.h"
13 
16 
18 #include "GaudiKernel/ServiceHandle.h"
19 
20 #include "TrigConfData/L1Menu.h"
21 #include "TrigT1Result/CTP_RDO.h"
22 
23 class TileTBID;
24 class TileHWID;
25 class TileCablingService;
26 
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 
104  const TileCablingService* m_cabling{nullptr};
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
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
TileMBTSMonitorAlgorithm::HEADER_PARITY
@ HEADER_PARITY
Definition: TileMBTSMonitorAlgorithm.h:47
TileCablingSvc.h
TileMBTSMonitorAlgorithm::m_timeTrigGroups
std::vector< int > m_timeTrigGroups
Definition: TileMBTSMonitorAlgorithm.h:112
TileMBTSMonitorAlgorithm::m_useTrigger
Gaudi::Property< bool > m_useTrigger
Definition: TileMBTSMonitorAlgorithm.h:56
TileMBTSMonitorAlgorithm::m_coinTrigGroups
std::vector< int > m_coinTrigGroups
Definition: TileMBTSMonitorAlgorithm.h:125
TileMBTSMonitorAlgorithm::MEMORY_PARITY
@ MEMORY_PARITY
Definition: TileMBTSMonitorAlgorithm.h:47
TileMBTSMonitorAlgorithm::fillHistograms
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
Definition: TileMBTSMonitorAlgorithm.cxx:133
TileMBTSMonitorAlgorithm::ROD_CRC
@ ROD_CRC
Definition: TileMBTSMonitorAlgorithm.h:46
TileMBTSMonitorAlgorithm::m_tileHWID
const TileHWID * m_tileHWID
Definition: TileMBTSMonitorAlgorithm.h:131
TileMBTSMonitorAlgorithm::m_trigInWinGroups
std::vector< int > m_trigInWinGroups
Definition: TileMBTSMonitorAlgorithm.h:123
TileMBTSMonitorAlgorithm::HEADER_FORMAT
@ HEADER_FORMAT
Definition: TileMBTSMonitorAlgorithm.h:46
TileCalibUtils.h
TileMBTSMonitorAlgorithm
Definition: TileMBTSMonitorAlgorithm.py:1
SG::ReadHandleKey< TileDQstatus >
TileMBTSMonitorAlgorithm::GLOBAL_CRC
@ GLOBAL_CRC
Definition: TileMBTSMonitorAlgorithm.h:46
TileMBTSMonitorAlgorithm::~TileMBTSMonitorAlgorithm
virtual ~TileMBTSMonitorAlgorithm()=default
TileMBTSMonitorAlgorithm::m_DQstatusKey
SG::ReadHandleKey< TileDQstatus > m_DQstatusKey
Definition: TileMBTSMonitorAlgorithm.h:71
TileMBTSMonitorAlgorithm::m_L1MenuKey
SG::ReadHandleKey< TrigConf::L1Menu > m_L1MenuKey
Definition: TileMBTSMonitorAlgorithm.h:95
TileCalibUtils::MAX_DRAWER
static const unsigned int MAX_DRAWER
Number of drawers in ROS 1-4.
Definition: TileCalibUtils.h:139
AthMonitorAlgorithm
Base class for Athena Monitoring Algorithms.
Definition: AthMonitorAlgorithm.h:36
TileMBTSMonitorAlgorithm::m_cabling
const TileCablingService * m_cabling
Definition: TileMBTSMonitorAlgorithm.h:104
TileMBTSMonitorAlgorithm::MAX_MBTS_COUNTER
static const unsigned int MAX_MBTS_COUNTER
Definition: TileMBTSMonitorAlgorithm.h:136
TileHWID
Helper class for TileCal online (hardware) identifiers.
Definition: TileHWID.h:49
TileMBTSMonitorAlgorithm::m_hfnGroups
std::vector< int > m_hfnGroups
Definition: TileMBTSMonitorAlgorithm.h:114
TileMBTSMonitorAlgorithm::m_MBTScounters
int m_MBTScounters[Tile::MAX_ROS - 3][Tile::MAX_DRAWER]
Definition: TileMBTSMonitorAlgorithm.h:134
Tile
Definition: TileVolumeBuilder.h:43
TileMBTSMonitorAlgorithm::getMBTSCounter
int getMBTSCounter(Identifier mbtsID) const
Definition: TileMBTSMonitorAlgorithm.cxx:555
TileMBTSMonitorAlgorithm::GENERAL
@ GENERAL
Definition: TileMBTSMonitorAlgorithm.h:46
TileMBTSMonitorAlgorithm::SAMPLE_FORMAT
@ SAMPLE_FORMAT
Definition: TileMBTSMonitorAlgorithm.h:47
TileMBTSMonitorAlgorithm::SAMPLE_PARITY
@ SAMPLE_PARITY
Definition: TileMBTSMonitorAlgorithm.h:47
TileMBTSMonitorAlgorithm::setDigiError
void setDigiError(std::vector< int > &counters, std::vector< int > &errors, int counter, int error) const
Definition: TileMBTSMonitorAlgorithm.cxx:562
TileMBTSMonitorAlgorithm::m_bcidGroups
std::vector< std::vector< int > > m_bcidGroups
Definition: TileMBTSMonitorAlgorithm.h:128
TileMBTSMonitorAlgorithm::m_pulseGroups
std::vector< int > m_pulseGroups
Definition: TileMBTSMonitorAlgorithm.h:117
TileDigitsContainer.h
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TileMBTSMonitorAlgorithm::MBTS_DMU
static const unsigned int MBTS_DMU
Definition: TileMBTSMonitorAlgorithm.h:137
AthMonitorAlgorithm.h
TileMBTSMonitorAlgorithm::m_energyTrigLBGroups
std::vector< int > m_energyTrigLBGroups
Definition: TileMBTSMonitorAlgorithm.h:109
TileMBTSMonitorAlgorithm::m_pedestalGroups
std::vector< int > m_pedestalGroups
Definition: TileMBTSMonitorAlgorithm.h:115
TileMBTSMonitorAlgorithm::m_energyLBGroups
std::vector< int > m_energyLBGroups
Definition: TileMBTSMonitorAlgorithm.h:107
TileMBTSMonitorAlgorithm::m_ctpRdoKey
SG::ReadHandleKey< CTP_RDO > m_ctpRdoKey
Definition: TileMBTSMonitorAlgorithm.h:80
TileCalibUtils::MAX_ROS
static const unsigned int MAX_ROS
Number of ROSs
Definition: TileCalibUtils.h:138
TileMBTSMonitorAlgorithm::m_trigGroups
std::vector< int > m_trigGroups
Definition: TileMBTSMonitorAlgorithm.h:122
TileCablingService
Definition: TileCablingService.h:23
TileDQstatus.h
Information produced by TileDQstatusAlg (used to be done by TileBeamInfoProvider).
TileMBTSMonitorAlgorithm::m_MBTSchannels
int m_MBTSchannels[Tile::MAX_ROS - 3][Tile::MAX_DRAWER]
Definition: TileMBTSMonitorAlgorithm.h:133
Monitored.h
Header file to be included by clients of the Monitored infrastructure.
TileMBTSMonitorAlgorithm::FRONTEND_CRC
@ FRONTEND_CRC
Definition: TileMBTSMonitorAlgorithm.h:46
TileMBTSMonitorAlgorithm::m_deltaBCIDGroups
std::vector< std::vector< int > > m_deltaBCIDGroups
Definition: TileMBTSMonitorAlgorithm.h:127
TileMBTSMonitorAlgorithm::m_digitsContainerKey
SG::ReadHandleKey< TileDigitsContainer > m_digitsContainerKey
Definition: TileMBTSMonitorAlgorithm.h:74
mergePhysValFiles.errors
list errors
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:43
TileMBTSMonitorAlgorithm::m_energyGroups
std::vector< int > m_energyGroups
Definition: TileMBTSMonitorAlgorithm.h:106
TileMBTSMonitorAlgorithm::m_mbtsCellContainerKey
SG::ReadHandleKey< TileCellContainer > m_mbtsCellContainerKey
Definition: TileMBTSMonitorAlgorithm.h:77
TileMBTSMonitorAlgorithm::m_energyTrigGroups
std::vector< int > m_energyTrigGroups
Definition: TileMBTSMonitorAlgorithm.h:108
TileMBTSMonitorAlgorithm::m_energyCut
Gaudi::Property< std::vector< float > > m_energyCut
Definition: TileMBTSMonitorAlgorithm.h:59
TileMBTSMonitorAlgorithm::m_timeGroups
std::vector< int > m_timeGroups
Definition: TileMBTSMonitorAlgorithm.h:111
TileMBTSMonitorAlgorithm::start
virtual StatusCode start() override
Definition: TileMBTSMonitorAlgorithm.cxx:109
TileMBTSMonitorAlgorithm::m_tileTBID
const TileTBID * m_tileTBID
Definition: TileMBTSMonitorAlgorithm.h:130
CTP_RDO.h
TileMBTSMonitorAlgorithm::initialize
virtual StatusCode initialize() override
initialize
Definition: TileMBTSMonitorAlgorithm.cxx:16
TileMBTSMonitorAlgorithm::m_ctpID
Gaudi::Property< std::vector< int > > m_ctpID
Definition: TileMBTSMonitorAlgorithm.h:83
TileMBTSMonitorAlgorithm::m_trigSumGroups
std::vector< int > m_trigSumGroups
Definition: TileMBTSMonitorAlgorithm.h:124
python.Classes.TileCalibUtils
TileCalibUtils
Definition: TileCalib/TileCalibBlobObjs/python/Classes.py:5
TileMBTSMonitorAlgorithm::BCID
@ BCID
Definition: TileMBTSMonitorAlgorithm.h:46
AthMonitorAlgorithm::AthMonitorAlgorithm
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition: AthMonitorAlgorithm.cxx:7
TileTBID
Helper class for TileCal offline identifiers of ancillary testbeam detectors and MBTS.
Definition: Calorimeter/CaloIdentifier/CaloIdentifier/TileTBID.h:65
TileMBTSMonitorAlgorithm::m_effTrigGroups
std::vector< int > m_effTrigGroups
Definition: TileMBTSMonitorAlgorithm.h:120
L1Menu.h
TileContainer.h
test_pyathena.counter
counter
Definition: test_pyathena.py:15
error
Definition: IImpactPoint3dEstimator.h:70
TileMBTSMonitorAlgorithm::m_cablingSvc
ServiceHandle< TileCablingSvc > m_cablingSvc
Name of Tile cabling service.
Definition: TileMBTSMonitorAlgorithm.h:101
TileMBTSMonitorAlgorithm::m_deltaBCIDSumGroups
std::vector< int > m_deltaBCIDSumGroups
Definition: TileMBTSMonitorAlgorithm.h:126
TileMBTSMonitorAlgorithm::m_pulseTrigGroups
std::vector< int > m_pulseTrigGroups
Definition: TileMBTSMonitorAlgorithm.h:118
TileMBTSMonitorAlgorithm::m_l1Triggers
Gaudi::Property< std::vector< std::string > > m_l1Triggers
Definition: TileMBTSMonitorAlgorithm.h:86
ServiceHandle< TileCablingSvc >
TileMBTSMonitorAlgorithm::m_fillHistogramsPerMBTS
Gaudi::Property< bool > m_fillHistogramsPerMBTS
Definition: TileMBTSMonitorAlgorithm.h:53
TileMBTSMonitorAlgorithm::TileDigiErrors
TileDigiErrors
Definition: TileMBTSMonitorAlgorithm.h:46