ATLAS Offline Software
TileRawChannelTimeMonitorAlgorithm.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_TILERAWCHANNELTIMEMONITORALGORITHM_H
6 #define TILEMONITORING_TILERAWCHANNELTIMEMONITORALGORITHM_H
7 
14 
19 
20 class TileHWID;
21 class TileCablingService;
22 
23 #include <array>
24 
30 
31  public:
32 
35  virtual StatusCode initialize() override;
36  virtual StatusCode fillHistograms(const EventContext& ctx) const override;
37 
38  private:
39 
40  Gaudi::Property<bool> m_checkDCS{this, "CheckDCS", false, "Check Tile DCS status"};
41 
42  Gaudi::Property<std::vector<unsigned int>> m_triggerTypes{this,
43  "TriggerTypes", {}, "Given trigger types only events with these TTs will be used, otherwise all"};
44 
45  Gaudi::Property<std::vector<double>> m_energyThresholds{this,
46  "EnergyThresholds", {10, 40}, "Energy thresholds [LG, HG]"};
47 
48  Gaudi::Property<std::vector<double>> m_partitionTimeCorrection{this,
49  "PartitionTimeCorrections", {-15.18, -15.37, 47.65, 47.42},
50  "Partition time corrections [LBA, LBC, EBA, EBC]"};
51 
52  Gaudi::Property<std::vector<std::pair<int, int>>> m_partitionTimeDifferencePairs{this,
53  "PartitionTimeDiffferncePairs", {}, "Partition (ROS - 1) pairs to monitor time differnce"};
54 
55  Gaudi::Property<std::vector<int>> m_amplitudeFragIDs{this,
56  "AmplitudeFragIDs", {}, "Tile Frag IDs of modules to fill histograms with amplitude vs LB."};
57 
59  "TileDQstatus", "TileDQstatus", "Tile DQ status name"};
60 
62  "TileRawChannelContainer", "TileRawChannelFit", "Input Tile raw channel container key"};
63 
68  "TileDCS", "TileDCS", "Input Tile DCS status"};
69 
74  "TileBadChannels", "TileBadChannels", "Input Tile bad channel status"};
75 
80  "TileEMScale", "TileEMScale", "Input Tile EMS calibration constants"};
81 
86  "TileCablingSvc", "TileCablingSvc", "The Tile cabling service"};
87 
88  const TileHWID* m_tileHWID{nullptr};
89  const TileCablingService* m_cabling{nullptr};
90 
91  std::vector<int> m_timeGroups;
92  std::vector<int> m_uncorrTimeGroups;
93  std::vector<int> m_timeLBGroups;
94  std::vector<int> m_timeDiffLBGroups;
95  std::vector<std::vector<std::vector<int>>> m_digiTimeLBGroups;
96  std::vector<int> m_amplitudeGroups;
97  std::map<std::string, int> m_amplitudeVsLBGroups;
98 
99  std::array<bool, TileCalibUtils::MAX_DRAWERIDX> m_amplitudeMonitoredDrawerIdx{};
100 };
101 
102 
103 #endif // TILEMONITORING_TILERAWCHANNELTIMEMONITORALGORITHM_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
TileDCSState.h
TileRawChannelTimeMonitorAlgorithm::m_DQstatusKey
SG::ReadHandleKey< TileDQstatus > m_DQstatusKey
Definition: TileRawChannelTimeMonitorAlgorithm.h:58
TileCablingSvc.h
TileRawChannelTimeMonitorAlgorithm::m_amplitudeGroups
std::vector< int > m_amplitudeGroups
Definition: TileRawChannelTimeMonitorAlgorithm.h:96
TileRawChannelTimeMonitorAlgorithm::m_rawChannelContainerKey
SG::ReadHandleKey< TileRawChannelContainer > m_rawChannelContainerKey
Definition: TileRawChannelTimeMonitorAlgorithm.h:61
TileRawChannelTimeMonitorAlgorithm::m_digiTimeLBGroups
std::vector< std::vector< std::vector< int > > > m_digiTimeLBGroups
Definition: TileRawChannelTimeMonitorAlgorithm.h:95
TileRawChannelTimeMonitorAlgorithm::~TileRawChannelTimeMonitorAlgorithm
virtual ~TileRawChannelTimeMonitorAlgorithm()=default
TileRawChannelTimeMonitorAlgorithm::fillHistograms
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
Definition: TileRawChannelTimeMonitorAlgorithm.cxx:74
SG::ReadHandleKey< TileDQstatus >
TileRawChannelTimeMonitorAlgorithm::m_amplitudeMonitoredDrawerIdx
std::array< bool, TileCalibUtils::MAX_DRAWERIDX > m_amplitudeMonitoredDrawerIdx
Definition: TileRawChannelTimeMonitorAlgorithm.h:99
TileRawChannelTimeMonitorAlgorithm::m_cabling
const TileCablingService * m_cabling
Definition: TileRawChannelTimeMonitorAlgorithm.h:89
TileRawChannelTimeMonitorAlgorithm::m_timeLBGroups
std::vector< int > m_timeLBGroups
Definition: TileRawChannelTimeMonitorAlgorithm.h:93
AthMonitorAlgorithm
Base class for Athena Monitoring Algorithms.
Definition: AthMonitorAlgorithm.h:36
TileRawChannelContainer.h
TileRawChannelTimeMonitorAlgorithm::m_partitionTimeDifferencePairs
Gaudi::Property< std::vector< std::pair< int, int > > > m_partitionTimeDifferencePairs
Definition: TileRawChannelTimeMonitorAlgorithm.h:52
TileHWID
Helper class for TileCal online (hardware) identifiers.
Definition: TileHWID.h:49
TileCondToolNoiseSample.h
TileRawChannelTimeMonitorAlgorithm
Definition: TileRawChannelTimeMonitorAlgorithm.py:1
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthMonitorAlgorithm.h
TileCablingService
Definition: TileCablingService.h:23
TileRawChannelTimeMonitorAlgorithm::m_uncorrTimeGroups
std::vector< int > m_uncorrTimeGroups
Definition: TileRawChannelTimeMonitorAlgorithm.h:92
TileDQstatus.h
Information produced by TileDQstatusAlg (used to be done by TileBeamInfoProvider).
TileRawChannelTimeMonitorAlgorithm::m_timeGroups
std::vector< int > m_timeGroups
Definition: TileRawChannelTimeMonitorAlgorithm.h:91
Monitored.h
Header file to be included by clients of the Monitored infrastructure.
TileRawChannelTimeMonitorAlgorithm::m_timeDiffLBGroups
std::vector< int > m_timeDiffLBGroups
Definition: TileRawChannelTimeMonitorAlgorithm.h:94
TileRawChannelTimeMonitorAlgorithm::initialize
virtual StatusCode initialize() override
initialize
Definition: TileRawChannelTimeMonitorAlgorithm.cxx:12
ReadCondHandleKey.h
TileRawChannelTimeMonitorAlgorithm::m_badChannelsKey
SG::ReadCondHandleKey< TileBadChannels > m_badChannelsKey
Name of TileBadChannels in condition store.
Definition: TileRawChannelTimeMonitorAlgorithm.h:73
TileRawChannelTimeMonitorAlgorithm::m_cablingSvc
ServiceHandle< TileCablingSvc > m_cablingSvc
Name of Tile cabling service.
Definition: TileRawChannelTimeMonitorAlgorithm.h:85
TileRawChannelTimeMonitorAlgorithm::m_tileHWID
const TileHWID * m_tileHWID
Definition: TileRawChannelTimeMonitorAlgorithm.h:88
TileRawChannelTimeMonitorAlgorithm::m_emScaleKey
SG::ReadCondHandleKey< TileEMScale > m_emScaleKey
Name of TileEMScale in condition store.
Definition: TileRawChannelTimeMonitorAlgorithm.h:79
TileRawChannelTimeMonitorAlgorithm::m_amplitudeVsLBGroups
std::map< std::string, int > m_amplitudeVsLBGroups
Definition: TileRawChannelTimeMonitorAlgorithm.h:97
SG::ReadCondHandleKey< TileDCSState >
TileRawChannelTimeMonitorAlgorithm::m_DCSStateKey
SG::ReadCondHandleKey< TileDCSState > m_DCSStateKey
Name of TileDCSState object in condition store.
Definition: TileRawChannelTimeMonitorAlgorithm.h:67
AthMonitorAlgorithm::AthMonitorAlgorithm
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition: AthMonitorAlgorithm.cxx:7
TileRawChannelTimeMonitorAlgorithm::m_energyThresholds
Gaudi::Property< std::vector< double > > m_energyThresholds
Definition: TileRawChannelTimeMonitorAlgorithm.h:45
TileRawChannelTimeMonitorAlgorithm::m_checkDCS
Gaudi::Property< bool > m_checkDCS
Definition: TileRawChannelTimeMonitorAlgorithm.h:40
TileBadChannels.h
TileRawChannelTimeMonitorAlgorithm::m_triggerTypes
Gaudi::Property< std::vector< unsigned int > > m_triggerTypes
Definition: TileRawChannelTimeMonitorAlgorithm.h:42
TileRawChannelTimeMonitorAlgorithm::m_amplitudeFragIDs
Gaudi::Property< std::vector< int > > m_amplitudeFragIDs
Definition: TileRawChannelTimeMonitorAlgorithm.h:55
TileRawChannelTimeMonitorAlgorithm::m_partitionTimeCorrection
Gaudi::Property< std::vector< double > > m_partitionTimeCorrection
Definition: TileRawChannelTimeMonitorAlgorithm.h:48
ServiceHandle< TileCablingSvc >