ATLAS Offline Software
TileRODMonitorAlgorithm.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TILEMONITORING_TILERODMONITORALGORITHM_H
6 #define TILEMONITORING_TILERODMONITORALGORITHM_H
7 
15 #include "TileMonitorAlgorithm.h"
16 
21 
22 class TileHWID;
23 class TileCablingService;
24 
30 
31  public:
32 
34  virtual ~TileRODMonitorAlgorithm() = default;
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  Gaudi::Property<std::vector<unsigned int>> m_triggerTypes{this,
42  "TriggerTypes", {}, "Given trigger types only events with these TT will be used, otherwise all"};
43 
44  Gaudi::Property<std::vector<int>> m_fragIDsToIgnoreDMUerrors{this,
45  "FragIDsToIgnoreDMUErrors", {}, "List of Tile frag IDs for which ignore DMU errors"};
46 
47  Gaudi::Property<unsigned int> m_comparisonUnit{this,
48  "ComparisonUnit", TileRawChannelUnit::MegaElectronVolts, "Units to compare Tile raw channel containers"};
49 
50  Gaudi::Property<float> m_energyThreshold{this,
51  "EnergyThreshold", 300.0F, "Energy threshold in MeV"};
52 
53  Gaudi::Property<std::vector<float>> m_timeRange{this,
54  "TimeRange", {-65.0F, 65.0F}, "Time range to be monitored, default: (-65,65)"};
55 
56  Gaudi::Property<unsigned int> m_nROBs{this,
57  "NumberOfROBFragmets", MAX_TILE_ROBS, "Number of Tile ROB fragments"};
58 
59  Gaudi::Property<bool> m_fillRODfragSizeHistograms{this,
60  "fillRODFragmentSizeHistograms", true, "Fill summary histograms with ROD fragment size"};
61 
63  "TileDQstatus", "TileDQstatus", "Tile DQ status name"};
64 
69  "TileDCS", "TileDCS", "Input Tile DCS status"};
70 
72  "TileRawChannelContainer", "TileRawChannelOpt2", "Input Tile reference raw channel container key"};
73 
75  "TileRawChannelContainerDSP", "TileRawChannelCnt", "Input Tile DSP raw channel container key"};
76 
81  "TileBadChannels", "TileBadChannels", "Input Tile bad channel status"};
82 
87  "TileEMScale", "TileEMScale", "Input Tile EMS calibration constants"};
88 
93  "TileCablingSvc", "TileCablingSvc", "The Tile cabling service"};
94 
99  "ROBDataProviderSvc", "ROBDataProviderSvc", "The ROB data provider service"};
100 
101  const TileHWID* m_tileHWID{nullptr};
102  const TileCablingService* m_cabling{nullptr};
104 
105  std::vector<int> m_rodFragSizeMapGroups;
106  std::vector<int> m_rodFragSizeLBGroups;
107  std::vector<std::vector<std::vector<int>>> m_rodFragSizeGroups;
108 
109  std::vector<std::vector<int>> m_energyDiffGroups;
110  std::vector<std::vector<int>> m_energyDiffVsTimeGroups;
111  std::vector<std::vector<int>> m_energyDiffVsEnergyGroups;
112  std::vector<std::vector<int>> m_timeDiffGroups;
113  std::vector<std::vector<int>> m_timeDiffVsTimeGroups;
114  std::vector<std::vector<int>> m_timeDiffVsEnergyGroups;
115  std::vector<std::vector<int>> m_dspChanTimeGroups;
116 
117  std::vector<uint32_t> m_tileRobIds;
118  static constexpr int MAX_TILE_ROBS = 32;
119 };
120 
121 
122 #endif // TILEMONITORING_TILERODMONITORALGORITHM_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
TileDCSState.h
TileRODMonitorAlgorithm::~TileRODMonitorAlgorithm
virtual ~TileRODMonitorAlgorithm()=default
TileCablingSvc.h
TileEMScale.h
TileRODMonitorAlgorithm::m_finalRawChannelUnit
TileRawChannelUnit::UNIT m_finalRawChannelUnit
Definition: TileRODMonitorAlgorithm.h:103
TileRODMonitorAlgorithm::m_nROBs
Gaudi::Property< unsigned int > m_nROBs
Definition: TileRODMonitorAlgorithm.h:56
TileRODMonitorAlgorithm::m_comparisonUnit
Gaudi::Property< unsigned int > m_comparisonUnit
Definition: TileRODMonitorAlgorithm.h:47
TileRODMonitorAlgorithm
Definition: TileRODMonitorAlgorithm.py:1
TileRODMonitorAlgorithm::m_tileHWID
const TileHWID * m_tileHWID
Definition: TileRODMonitorAlgorithm.h:101
TileRODMonitorAlgorithm::m_energyDiffVsTimeGroups
std::vector< std::vector< int > > m_energyDiffVsTimeGroups
Definition: TileRODMonitorAlgorithm.h:110
TileRODMonitorAlgorithm::fillHistograms
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
Definition: TileRODMonitorAlgorithm.cxx:92
TileRODMonitorAlgorithm::m_DCSStateKey
SG::ReadCondHandleKey< TileDCSState > m_DCSStateKey
Name of TileDCSState object in condition store.
Definition: TileRODMonitorAlgorithm.h:68
TileRODMonitorAlgorithm::m_timeDiffGroups
std::vector< std::vector< int > > m_timeDiffGroups
Definition: TileRODMonitorAlgorithm.h:112
SG::ReadHandleKey< TileDQstatus >
TileRODMonitorAlgorithm::m_DQstatusKey
SG::ReadHandleKey< TileDQstatus > m_DQstatusKey
Definition: TileRODMonitorAlgorithm.h:62
TileRODMonitorAlgorithm::m_timeDiffVsTimeGroups
std::vector< std::vector< int > > m_timeDiffVsTimeGroups
Definition: TileRODMonitorAlgorithm.h:113
TileRODMonitorAlgorithm::m_checkDCS
Gaudi::Property< bool > m_checkDCS
Definition: TileRODMonitorAlgorithm.h:40
TileRODMonitorAlgorithm::m_rodFragSizeGroups
std::vector< std::vector< std::vector< int > > > m_rodFragSizeGroups
Definition: TileRODMonitorAlgorithm.h:107
TileRODMonitorAlgorithm::m_energyDiffVsEnergyGroups
std::vector< std::vector< int > > m_energyDiffVsEnergyGroups
Definition: TileRODMonitorAlgorithm.h:111
TileRawChannelContainer.h
TileHWID
Helper class for TileCal online (hardware) identifiers.
Definition: TileHWID.h:49
TileRODMonitorAlgorithm::m_timeDiffVsEnergyGroups
std::vector< std::vector< int > > m_timeDiffVsEnergyGroups
Definition: TileRODMonitorAlgorithm.h:114
TileMonitorAlgorithm::TileMonitorAlgorithm
TileMonitorAlgorithm(const std::string &name, ISvcLocator *svcLocator)
Definition: TileMonitorAlgorithm.h:21
TileRODMonitorAlgorithm::m_cabling
const TileCablingService * m_cabling
Definition: TileRODMonitorAlgorithm.h:102
TileRODMonitorAlgorithm::m_fillRODfragSizeHistograms
Gaudi::Property< bool > m_fillRODfragSizeHistograms
Definition: TileRODMonitorAlgorithm.h:59
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TileRawChannelUnit::Invalid
@ Invalid
Definition: TileRawChannelUnit.h:26
TileRawChannelUnit::MegaElectronVolts
@ MegaElectronVolts
Definition: TileRawChannelUnit.h:20
TileRODMonitorAlgorithm::m_energyDiffGroups
std::vector< std::vector< int > > m_energyDiffGroups
Definition: TileRODMonitorAlgorithm.h:109
TileRODMonitorAlgorithm::initialize
virtual StatusCode initialize() override
initialize
Definition: TileRODMonitorAlgorithm.cxx:12
TileRODMonitorAlgorithm::m_badChannelsKey
SG::ReadCondHandleKey< TileBadChannels > m_badChannelsKey
Name of TileBadChannels in condition store.
Definition: TileRODMonitorAlgorithm.h:80
TileCablingService
Definition: TileCablingService.h:23
TileRODMonitorAlgorithm::m_triggerTypes
Gaudi::Property< std::vector< unsigned int > > m_triggerTypes
Definition: TileRODMonitorAlgorithm.h:41
TileDQstatus.h
Information produced by TileDQstatusAlg (used to be done by TileBeamInfoProvider).
TileRODMonitorAlgorithm::m_emScaleKey
SG::ReadCondHandleKey< TileEMScale > m_emScaleKey
Name of TileEMScale in condition store.
Definition: TileRODMonitorAlgorithm.h:86
TileRawChannelUnit::UNIT
UNIT
Definition: TileRawChannelUnit.h:16
TileRODMonitorAlgorithm::m_energyThreshold
Gaudi::Property< float > m_energyThreshold
Definition: TileRODMonitorAlgorithm.h:50
Monitored.h
Header file to be included by clients of the Monitored infrastructure.
TileRODMonitorAlgorithm::m_timeRange
Gaudi::Property< std::vector< float > > m_timeRange
Definition: TileRODMonitorAlgorithm.h:53
TileRODMonitorAlgorithm::m_rodFragSizeMapGroups
std::vector< int > m_rodFragSizeMapGroups
Definition: TileRODMonitorAlgorithm.h:105
ReadCondHandleKey.h
TileMonitorAlgorithm.h
TileRawChannelUnit.h
TileRODMonitorAlgorithm::m_cablingSvc
ServiceHandle< TileCablingSvc > m_cablingSvc
Name of Tile cabling service.
Definition: TileRODMonitorAlgorithm.h:92
SG::ReadCondHandleKey< TileDCSState >
TileRODMonitorAlgorithm::m_rawChannelContainerKey
SG::ReadHandleKey< TileRawChannelContainer > m_rawChannelContainerKey
Definition: TileRODMonitorAlgorithm.h:71
TileRODMonitorAlgorithm::m_tileRobIds
std::vector< uint32_t > m_tileRobIds
Definition: TileRODMonitorAlgorithm.h:117
TileRODMonitorAlgorithm::m_robSvc
ServiceHandle< IROBDataProviderSvc > m_robSvc
Name of ROB data provider service.
Definition: TileRODMonitorAlgorithm.h:98
TileRODMonitorAlgorithm::MAX_TILE_ROBS
static constexpr int MAX_TILE_ROBS
Definition: TileRODMonitorAlgorithm.h:118
TileRODMonitorAlgorithm::m_fragIDsToIgnoreDMUerrors
Gaudi::Property< std::vector< int > > m_fragIDsToIgnoreDMUerrors
Definition: TileRODMonitorAlgorithm.h:44
TileBadChannels.h
TileRODMonitorAlgorithm::m_dspRawChannelContainerKey
SG::ReadHandleKey< TileRawChannelContainer > m_dspRawChannelContainerKey
Definition: TileRODMonitorAlgorithm.h:74
TileRODMonitorAlgorithm::m_dspChanTimeGroups
std::vector< std::vector< int > > m_dspChanTimeGroups
Definition: TileRODMonitorAlgorithm.h:115
IROBDataProviderSvc.h
TileRODMonitorAlgorithm::m_rodFragSizeLBGroups
std::vector< int > m_rodFragSizeLBGroups
Definition: TileRODMonitorAlgorithm.h:106
ServiceHandle< TileCablingSvc >
TileMonitorAlgorithm
Base class for Tile monitoring per L1 trigger type.
Definition: TileMonitorAlgorithm.h:17