ATLAS Offline Software
Loading...
Searching...
No Matches
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
16
21
22class TileHWID;
24
28
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};
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
Header file to be included by clients of the Monitored infrastructure.
Property holding a SG store/key/clid from which a ReadHandle is made.
Information produced by TileDQstatusAlg (used to be done by TileBeamInfoProvider).
Property holding a SG store/key/clid from which a ReadHandle is made.
Helper class for TileCal online (hardware) identifiers.
Definition TileHWID.h:49
TileMonitorAlgorithm(const std::string &name, ISvcLocator *svcLocator)
std::vector< std::vector< std::vector< int > > > m_rodFragSizeGroups
ServiceHandle< TileCablingSvc > m_cablingSvc
Name of Tile cabling service.
std::vector< int > m_rodFragSizeMapGroups
std::vector< uint32_t > m_tileRobIds
SG::ReadHandleKey< TileRawChannelContainer > m_rawChannelContainerKey
std::vector< std::vector< int > > m_timeDiffVsTimeGroups
TileRawChannelUnit::UNIT m_finalRawChannelUnit
ServiceHandle< IROBDataProviderSvc > m_robSvc
Name of ROB data provider service.
std::vector< std::vector< int > > m_timeDiffVsEnergyGroups
static constexpr int MAX_TILE_ROBS
Gaudi::Property< bool > m_checkDCS
std::vector< std::vector< int > > m_timeDiffGroups
std::vector< std::vector< int > > m_energyDiffVsEnergyGroups
SG::ReadCondHandleKey< TileEMScale > m_emScaleKey
Name of TileEMScale in condition store.
Gaudi::Property< unsigned int > m_nROBs
Gaudi::Property< std::vector< unsigned int > > m_triggerTypes
Gaudi::Property< float > m_energyThreshold
std::vector< int > m_rodFragSizeLBGroups
SG::ReadHandleKey< TileDQstatus > m_DQstatusKey
SG::ReadCondHandleKey< TileBadChannels > m_badChannelsKey
Name of TileBadChannels in condition store.
Gaudi::Property< std::vector< float > > m_timeRange
Gaudi::Property< std::vector< int > > m_fragIDsToIgnoreDMUerrors
virtual ~TileRODMonitorAlgorithm()=default
const TileCablingService * m_cabling
Gaudi::Property< unsigned int > m_comparisonUnit
Gaudi::Property< bool > m_fillRODfragSizeHistograms
TileMonitorAlgorithm(const std::string &name, ISvcLocator *svcLocator)
SG::ReadCondHandleKey< TileDCSState > m_DCSStateKey
Name of TileDCSState object in condition store.
std::vector< std::vector< int > > m_energyDiffGroups
SG::ReadHandleKey< TileRawChannelContainer > m_dspRawChannelContainerKey
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
std::vector< std::vector< int > > m_energyDiffVsTimeGroups
std::vector< std::vector< int > > m_dspChanTimeGroups
void initialize()