ATLAS Offline Software
TileTBCellMonitorAlgorithm.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TILEMONITORING_TILETBCELLMONITORALGORITHM_H
6 #define TILEMONITORING_TILETBCELLMONITORALGORITHM_H
7 
10 
12 
15 #include <array>
16 
17 class TileInfo;
18 class TileID;
19 class TileHWID;
20 
26 
27  public:
28 
30  virtual ~TileTBCellMonitorAlgorithm() = default;
31  virtual StatusCode initialize() override;
32  virtual StatusCode fillHistograms(const EventContext& ctx) const override;
33 
34  private:
35 
40  "TileCablingSvc", "TileCablingSvc", "The Tile cabling service"};
41 
43  "CaloCellContainer", "AllCalo", "Calo cell container name"};
44 
45  Gaudi::Property<std::vector<int>> m_fragIDs{this,
46  "TileFragIDs", {0x100, 0x101, 0x200, 0x201, 0x402}, "Tile Frag IDs of modules to process."};
47 
48  Gaudi::Property<int> m_TBperiod{this,
49  "TBperiod", 2016, "Tile TB period."};
50 
51  Gaudi::Property<std::vector<std::string>> m_masked{this,
52  "Masked", {}, "Masked channels: 'module gain channel,channel' (channels are separated by comma)"};
53 
54  Gaudi::Property<float> m_energyThresholdForTime{this,
55  "EnergyThresholdForTime", 100.0F, "Energy threshold for timing in MeV"};
56 
57  Gaudi::Property<bool> m_fillHistogramsPerChannel{this,
58  "fillHistogramsPerChannel", true, "Fill time and energy histograms per channel"};
59 
60  Gaudi::Property<float> m_scaleFactor{this,
61  "ScaleFactor", 1.0, "Scale factor to apply to cell energy"};
62 
63  std::map<std::string, int> m_sampleEnergyGroups;
64  std::map<std::string, int> m_energyGroups;
65  std::map<std::string, int> m_energyDiffGroups;
66  std::map<std::string, int> m_energy2VsEnergy1Groups;
67  std::map<std::string, int> m_timeGroups;
68  std::map<std::string, int> m_timeDiffGroups;
69  std::map<std::string, int> m_time2VsTime1Groups;
70  std::map<std::string, int> m_channelEnergyGroups;
71  std::map<std::string, int> m_channelTimeGroups;
72 
73  const TileID* m_tileID{nullptr};
74  const TileHWID* m_tileHWID{nullptr};
75  const TileCablingService* m_cabling{nullptr};
76 
78 
79  std::array<unsigned int, TileCalibUtils::MAX_DRAWERIDX> m_drawerIdxToROS{};
80  std::array<unsigned int, TileCalibUtils::MAX_DRAWERIDX> m_drawerIdxToDrawer{};
81  std::array<bool, TileCalibUtils::MAX_DRAWERIDX> m_monitoredDrawerIdx{};
82  std::array<std::array<unsigned char, TileCalibUtils::MAX_CHAN>, TileCalibUtils::MAX_DRAWERIDX> m_maskedChannels{{}};
83 };
84 
85 
86 #endif // TILEMONITORING_TILETBCELLMONITORALGORITHM_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
TileTBCellMonitorAlgorithm::m_energyGroups
std::map< std::string, int > m_energyGroups
Definition: TileTBCellMonitorAlgorithm.h:64
TileCablingSvc.h
TileTBCellMonitorAlgorithm::m_energyThresholdForTime
Gaudi::Property< float > m_energyThresholdForTime
Definition: TileTBCellMonitorAlgorithm.h:54
TileTBCellMonitorAlgorithm::m_monitoredDrawerIdx
std::array< bool, TileCalibUtils::MAX_DRAWERIDX > m_monitoredDrawerIdx
Definition: TileTBCellMonitorAlgorithm.h:81
TileTBCellMonitorAlgorithm::m_tileID
const TileID * m_tileID
Definition: TileTBCellMonitorAlgorithm.h:73
TileTBCellMonitorAlgorithm::fillHistograms
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
Definition: TileTBCellMonitorAlgorithm.cxx:133
TileTBCellMonitorAlgorithm::m_time2VsTime1Groups
std::map< std::string, int > m_time2VsTime1Groups
Definition: TileTBCellMonitorAlgorithm.h:69
TileTBCellMonitorAlgorithm::m_cablingSvc
ServiceHandle< TileCablingSvc > m_cablingSvc
Name of Tile cabling service.
Definition: TileTBCellMonitorAlgorithm.h:39
TileTBCellMonitorAlgorithm::m_fragIDs
Gaudi::Property< std::vector< int > > m_fragIDs
Definition: TileTBCellMonitorAlgorithm.h:45
TileTBCellMonitorAlgorithm::m_energy2VsEnergy1Groups
std::map< std::string, int > m_energy2VsEnergy1Groups
Definition: TileTBCellMonitorAlgorithm.h:66
TileCalibUtils::MAX_DRAWERIDX
static const unsigned int MAX_DRAWERIDX
Maximal drawer index
Definition: TileCalibUtils.h:143
TileTBCellMonitorAlgorithm::m_channelTimeGroups
std::map< std::string, int > m_channelTimeGroups
Definition: TileTBCellMonitorAlgorithm.h:71
TileCalibUtils.h
TileInfo
Definition: TileInfo.h:49
SG::ReadHandleKey< CaloCellContainer >
TileTBCellMonitorAlgorithm::m_scaleFactor
Gaudi::Property< float > m_scaleFactor
Definition: TileTBCellMonitorAlgorithm.h:60
TileTBCellMonitorAlgorithm::m_drawerIdxToROS
std::array< unsigned int, TileCalibUtils::MAX_DRAWERIDX > m_drawerIdxToROS
Definition: TileTBCellMonitorAlgorithm.h:79
TileTBCellMonitorAlgorithm::m_sampleEnergyGroups
std::map< std::string, int > m_sampleEnergyGroups
Definition: TileTBCellMonitorAlgorithm.h:63
TileTBCellMonitorAlgorithm::m_channelEnergyGroups
std::map< std::string, int > m_channelEnergyGroups
Definition: TileTBCellMonitorAlgorithm.h:70
TileTBCellMonitorAlgorithm::m_maskedChannels
std::array< std::array< unsigned char, TileCalibUtils::MAX_CHAN >, TileCalibUtils::MAX_DRAWERIDX > m_maskedChannels
Definition: TileTBCellMonitorAlgorithm.h:82
AthMonitorAlgorithm
Base class for Athena Monitoring Algorithms.
Definition: AthMonitorAlgorithm.h:36
TileHWID
Helper class for TileCal online (hardware) identifiers.
Definition: TileHWID.h:49
TileTBCellMonitorAlgorithm::m_TBperiod
Gaudi::Property< int > m_TBperiod
Definition: TileTBCellMonitorAlgorithm.h:48
TileTBCellMonitorAlgorithm::m_caloCellContainerKey
SG::ReadHandleKey< CaloCellContainer > m_caloCellContainerKey
Definition: TileTBCellMonitorAlgorithm.h:42
TileID
Helper class for TileCal offline identifiers.
Definition: TileID.h:68
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthMonitorAlgorithm.h
TileTBCellMonitorAlgorithm::m_fillHistogramsPerChannel
Gaudi::Property< bool > m_fillHistogramsPerChannel
Definition: TileTBCellMonitorAlgorithm.h:57
TileCablingService
Definition: TileCablingService.h:23
TileTBCellMonitorAlgorithm::m_energyThresholdForTimeInGeV
double m_energyThresholdForTimeInGeV
Definition: TileTBCellMonitorAlgorithm.h:77
TileTBCellMonitorAlgorithm::m_energyDiffGroups
std::map< std::string, int > m_energyDiffGroups
Definition: TileTBCellMonitorAlgorithm.h:65
TileTBCellMonitorAlgorithm::m_timeGroups
std::map< std::string, int > m_timeGroups
Definition: TileTBCellMonitorAlgorithm.h:67
TileTBCellMonitorAlgorithm::m_tileHWID
const TileHWID * m_tileHWID
Definition: TileTBCellMonitorAlgorithm.h:74
CaloCellContainer.h
TileTBCellMonitorAlgorithm
Definition: TileTBCellMonitorAlgorithm.py:1
TileTBCellMonitorAlgorithm::m_drawerIdxToDrawer
std::array< unsigned int, TileCalibUtils::MAX_DRAWERIDX > m_drawerIdxToDrawer
Definition: TileTBCellMonitorAlgorithm.h:80
TileTBCellMonitorAlgorithm::~TileTBCellMonitorAlgorithm
virtual ~TileTBCellMonitorAlgorithm()=default
AthMonitorAlgorithm::AthMonitorAlgorithm
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition: AthMonitorAlgorithm.cxx:7
TileTBCellMonitorAlgorithm::m_cabling
const TileCablingService * m_cabling
Definition: TileTBCellMonitorAlgorithm.h:75
TileTBCellMonitorAlgorithm::initialize
virtual StatusCode initialize() override
initialize
Definition: TileTBCellMonitorAlgorithm.cxx:21
TileTBCellMonitorAlgorithm::m_timeDiffGroups
std::map< std::string, int > m_timeDiffGroups
Definition: TileTBCellMonitorAlgorithm.h:68
TileTBCellMonitorAlgorithm::m_masked
Gaudi::Property< std::vector< std::string > > m_masked
Definition: TileTBCellMonitorAlgorithm.h:51
ServiceHandle< TileCablingSvc >