ATLAS Offline Software
TileRawChannelTimeMonitorAlgorithm.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 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<int> m_fakeTime{this,
56  "FakeTime", -100, "Fake time to fill if there is no signal, but it's expected"};
57 
58  Gaudi::Property<bool> m_fillFakeTime{this,
59  "FillFakeTime", true, "File fake time to fill if there is no signal, but it's expected"};
60 
61  Gaudi::Property<std::vector<int>> m_amplitudeFragIDs{this,
62  "AmplitudeFragIDs", {}, "Tile Frag IDs of modules to fill histograms with amplitude vs LB."};
63 
65  "TileDQstatus", "TileDQstatus", "Tile DQ status name"};
66 
68  "TileRawChannelContainer", "TileRawChannelFit", "Input Tile raw channel container key"};
69 
74  "TileDCS", "TileDCS", "Input Tile DCS status"};
75 
80  "TileBadChannels", "TileBadChannels", "Input Tile bad channel status"};
81 
86  "TileEMScale", "TileEMScale", "Input Tile EMS calibration constants"};
87 
92  "TileCablingSvc", "TileCablingSvc", "The Tile cabling service"};
93 
94  const TileHWID* m_tileHWID{nullptr};
95  const TileCablingService* m_cabling{nullptr};
96 
97  std::vector<int> m_timeGroups;
98  std::vector<int> m_uncorrTimeGroups;
99  std::vector<int> m_timeLBGroups;
100  std::vector<int> m_timeDiffLBGroups;
101  std::vector<std::vector<std::vector<int>>> m_digiTimeLBGroups;
102  std::vector<int> m_amplitudeGroups;
103  std::map<std::string, int> m_amplitudeVsLBGroups;
104 
105  std::array<bool, TileCalibUtils::MAX_DRAWERIDX> m_amplitudeMonitoredDrawerIdx{};
106 
107  static constexpr int s_nDigitizers = 8;
109 };
110 
111 
112 #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:64
TileRawChannelTimeMonitorAlgorithm::SIGNAL_EXPECTED
@ SIGNAL_EXPECTED
Definition: TileRawChannelTimeMonitorAlgorithm.h:108
TileCablingSvc.h
TileRawChannelTimeMonitorAlgorithm::m_amplitudeGroups
std::vector< int > m_amplitudeGroups
Definition: TileRawChannelTimeMonitorAlgorithm.h:102
TileRawChannelTimeMonitorAlgorithm::m_rawChannelContainerKey
SG::ReadHandleKey< TileRawChannelContainer > m_rawChannelContainerKey
Definition: TileRawChannelTimeMonitorAlgorithm.h:67
TileRawChannelTimeMonitorAlgorithm::m_digiTimeLBGroups
std::vector< std::vector< std::vector< int > > > m_digiTimeLBGroups
Definition: TileRawChannelTimeMonitorAlgorithm.h:101
TileRawChannelTimeMonitorAlgorithm::~TileRawChannelTimeMonitorAlgorithm
virtual ~TileRawChannelTimeMonitorAlgorithm()=default
TileRawChannelTimeMonitorAlgorithm::m_fillFakeTime
Gaudi::Property< bool > m_fillFakeTime
Definition: TileRawChannelTimeMonitorAlgorithm.h:58
TileRawChannelTimeMonitorAlgorithm::Signal
Signal
Definition: TileRawChannelTimeMonitorAlgorithm.h:108
TileRawChannelTimeMonitorAlgorithm::fillHistograms
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
Definition: TileRawChannelTimeMonitorAlgorithm.cxx:73
SG::ReadHandleKey< TileDQstatus >
TileRawChannelTimeMonitorAlgorithm::m_amplitudeMonitoredDrawerIdx
std::array< bool, TileCalibUtils::MAX_DRAWERIDX > m_amplitudeMonitoredDrawerIdx
Definition: TileRawChannelTimeMonitorAlgorithm.h:105
TileRawChannelTimeMonitorAlgorithm::m_cabling
const TileCablingService * m_cabling
Definition: TileRawChannelTimeMonitorAlgorithm.h:95
TileRawChannelTimeMonitorAlgorithm::m_timeLBGroups
std::vector< int > m_timeLBGroups
Definition: TileRawChannelTimeMonitorAlgorithm.h:99
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
TileRawChannelTimeMonitorAlgorithm::SIGNAL_NOT_EXPECTED
@ SIGNAL_NOT_EXPECTED
Definition: TileRawChannelTimeMonitorAlgorithm.h:108
TileCondToolNoiseSample.h
TileRawChannelTimeMonitorAlgorithm
Definition: TileRawChannelTimeMonitorAlgorithm.py:1
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TileRawChannelTimeMonitorAlgorithm::s_nDigitizers
static constexpr int s_nDigitizers
Definition: TileRawChannelTimeMonitorAlgorithm.h:107
AthMonitorAlgorithm.h
TileCablingService
Definition: TileCablingService.h:23
TileRawChannelTimeMonitorAlgorithm::m_uncorrTimeGroups
std::vector< int > m_uncorrTimeGroups
Definition: TileRawChannelTimeMonitorAlgorithm.h:98
TileDQstatus.h
Information produced by TileDQstatusAlg (used to be done by TileBeamInfoProvider).
TileRawChannelTimeMonitorAlgorithm::m_timeGroups
std::vector< int > m_timeGroups
Definition: TileRawChannelTimeMonitorAlgorithm.h:97
Monitored.h
Header file to be included by clients of the Monitored infrastructure.
TileRawChannelTimeMonitorAlgorithm::m_fakeTime
Gaudi::Property< int > m_fakeTime
Definition: TileRawChannelTimeMonitorAlgorithm.h:55
TileRawChannelTimeMonitorAlgorithm::m_timeDiffLBGroups
std::vector< int > m_timeDiffLBGroups
Definition: TileRawChannelTimeMonitorAlgorithm.h:100
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:79
TileRawChannelTimeMonitorAlgorithm::SIGNAL_PRESENT
@ SIGNAL_PRESENT
Definition: TileRawChannelTimeMonitorAlgorithm.h:108
TileRawChannelTimeMonitorAlgorithm::m_cablingSvc
ServiceHandle< TileCablingSvc > m_cablingSvc
Name of Tile cabling service.
Definition: TileRawChannelTimeMonitorAlgorithm.h:91
TileRawChannelTimeMonitorAlgorithm::m_tileHWID
const TileHWID * m_tileHWID
Definition: TileRawChannelTimeMonitorAlgorithm.h:94
TileRawChannelTimeMonitorAlgorithm::m_emScaleKey
SG::ReadCondHandleKey< TileEMScale > m_emScaleKey
Name of TileEMScale in condition store.
Definition: TileRawChannelTimeMonitorAlgorithm.h:85
TileRawChannelTimeMonitorAlgorithm::m_amplitudeVsLBGroups
std::map< std::string, int > m_amplitudeVsLBGroups
Definition: TileRawChannelTimeMonitorAlgorithm.h:103
SG::ReadCondHandleKey< TileDCSState >
TileRawChannelTimeMonitorAlgorithm::m_DCSStateKey
SG::ReadCondHandleKey< TileDCSState > m_DCSStateKey
Name of TileDCSState object in condition store.
Definition: TileRawChannelTimeMonitorAlgorithm.h:73
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:61
TileRawChannelTimeMonitorAlgorithm::m_partitionTimeCorrection
Gaudi::Property< std::vector< double > > m_partitionTimeCorrection
Definition: TileRawChannelTimeMonitorAlgorithm.h:48
ServiceHandle< TileCablingSvc >