ATLAS Offline Software
Loading...
Searching...
No Matches
TileCalibMonitorAlgorithm.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TILEMONITORING_TILECALIBMONITORALGORITHM_H
6#define TILEMONITORING_TILECALIBMONITORALGORITHM_H
7
10
13
14class TileHWID;
15class TileInfo;
16
20
22
23 public:
24
25 TileCalibMonitorAlgorithm(const std::string& name, ISvcLocator* svcLocator)
26 :AthMonitorAlgorithm(name, svcLocator) {}
27
29 virtual ~TileCalibMonitorAlgorithm() = default;
30 virtual StatusCode initialize() override;
31 virtual StatusCode fillHistograms(const EventContext& ctx) const override = 0;
32
33
34 protected:
35
36 /*
37 * Function to check that the DMU header format is correct
38 * bit_31 of the DMU header must be 1 and
39 * bit_17 of the DMU header must be 0
40 * Return true in case of error
41 */
42 bool isHeaderFormatError(uint32_t header) const {
43 return (((header >> 31 & 0x1) == 1) && ((header >> 17 & 0x1) == 0)) ? false : true;
44 };
45
46 /*
47 * Function to check that the DMU header parity is correct
48 * Parity of the DMU header should be odd
49 * Return true in case of error
50 */
51 bool isHeaderParityError(uint32_t header) const {
52 uint32_t parity(0);
53 for (int i = 0; i < 32; ++i) {
54 parity += ((header >> i) & 0x1);
55 }
56 return ((parity % 2) == 1) ? false : true;
57 };
58
59
64 enum RunType {
65 UNKNOWN_RUN = 0, // expect monogain
66 PHYS_RUN = 1, // expect monogain
67 LAS_RUN = 2, // expect monogain
68 LED_RUN = 3, // expect monogain
69 PED_RUN = 4, // expect bigain
70 CIS_RUN = 8, // expect bigain
71 MONO_RUN = 9, // expect monogain
72 CIS_RAMP_RUN = 10 // expect monogain
73 };
74
75 Gaudi::Property<std::string> m_tileInfoName{this,
76 "TileInfo", "TileInfo", "Name of TileInfo object in Detector Store"};
77
78 Gaudi::Property<std::vector<int>> m_fragIDsToIgnoreDMUerrors{this,
79 "FragIDsToIgnoreDMUErrors", {}, "List of Tile frag IDs for which ignore DMU errors"};
80
81 Gaudi::Property<std::vector<int>> m_fragIDsDemonstrators{this,
82 "FragIDsDemonstrators", {}, "List of Tile frag IDs of Demonstrators"};
83
84 Gaudi::Property<int> m_runType{this,
85 "RunType", 0, "Run type: 1 - phys, 2 - las, 4 - ped, 8 - cis, 9- mono"};
86
88 "TileDQstatus", "TileDQstatus", "Tile DQ status name"};
89
94 "TileCablingSvc", "TileCablingSvc", "The Tile cabling service"};
95
97 const TileHWID* m_tileHWID{nullptr};
98 const TileInfo* m_tileInfo{nullptr};
99};
100
101
102#endif // TILEMONITORING_TILECALIBMONITORALGORITHM_H
Property holding a SG store/key/clid from which a ReadHandle is made.
Information produced by TileDQstatusAlg (used to be done by TileBeamInfoProvider).
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Property holding a SG store/key/clid from which a ReadHandle is made.
bool isHeaderParityError(uint32_t header) const
virtual StatusCode fillHistograms(const EventContext &ctx) const override=0
adds event to the monitoring histograms
SG::ReadHandleKey< TileDQstatus > m_dqStatusKey
virtual StatusCode initialize() override
initialize
const TileCablingService * m_cabling
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Gaudi::Property< std::vector< int > > m_fragIDsDemonstrators
virtual ~TileCalibMonitorAlgorithm()=default
TileCalibMonitorAlgorithm(const std::string &name, ISvcLocator *svcLocator)
ServiceHandle< TileCablingSvc > m_cablingSvc
Name of Tile cabling service.
bool isHeaderFormatError(uint32_t header) const
Gaudi::Property< std::string > m_tileInfoName
Gaudi::Property< std::vector< int > > m_fragIDsToIgnoreDMUerrors
Helper class for TileCal online (hardware) identifiers.
Definition TileHWID.h:49