ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
TileCalorimeter
TileMonitoring
src
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
8
#include "
TileEvent/TileDQstatus.h
"
9
#include "
TileConditions/TileCablingSvc.h
"
10
11
#include "
AthenaMonitoring/AthMonitorAlgorithm.h
"
12
#include "
StoreGate/ReadHandleKey.h
"
13
14
class
TileHWID
;
15
class
TileInfo
;
16
20
21
class
TileCalibMonitorAlgorithm
:
public
AthMonitorAlgorithm
{
22
23
public
:
24
25
TileCalibMonitorAlgorithm
(
const
std::string& name, ISvcLocator* svcLocator)
26
:
AthMonitorAlgorithm
(name, svcLocator) {}
27
28
using
AthMonitorAlgorithm::AthMonitorAlgorithm
;
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
87
SG::ReadHandleKey<TileDQstatus>
m_dqStatusKey
{
this
,
88
"TileDQstatus"
,
"TileDQstatus"
,
"Tile DQ status name"
};
89
93
ServiceHandle<TileCablingSvc>
m_cablingSvc
{
this
,
94
"TileCablingSvc"
,
"TileCablingSvc"
,
"The Tile cabling service"
};
95
96
const
TileCablingService
*
m_cabling
{
nullptr
};
97
const
TileHWID
*
m_tileHWID
{
nullptr
};
98
const
TileInfo
*
m_tileInfo
{
nullptr
};
99
};
100
101
102
#endif
// TILEMONITORING_TILECALIBMONITORALGORITHM_H
AthMonitorAlgorithm.h
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
TileCablingSvc.h
TileDQstatus.h
Information produced by TileDQstatusAlg (used to be done by TileBeamInfoProvider).
AthMonitorAlgorithm::AthMonitorAlgorithm
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition
AthMonitorAlgorithm.cxx:8
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
ServiceHandle
Definition
ClusterMakerTool.h:36
TileCablingService
Definition
TileCablingService.h:23
TileCalibMonitorAlgorithm::m_tileInfo
const TileInfo * m_tileInfo
Definition
TileCalibMonitorAlgorithm.h:98
TileCalibMonitorAlgorithm::isHeaderParityError
bool isHeaderParityError(uint32_t header) const
Definition
TileCalibMonitorAlgorithm.h:51
TileCalibMonitorAlgorithm::fillHistograms
virtual StatusCode fillHistograms(const EventContext &ctx) const override=0
adds event to the monitoring histograms
TileCalibMonitorAlgorithm::m_runType
Gaudi::Property< int > m_runType
Definition
TileCalibMonitorAlgorithm.h:84
TileCalibMonitorAlgorithm::m_dqStatusKey
SG::ReadHandleKey< TileDQstatus > m_dqStatusKey
Definition
TileCalibMonitorAlgorithm.h:87
TileCalibMonitorAlgorithm::initialize
virtual StatusCode initialize() override
initialize
Definition
TileCalibMonitorAlgorithm.cxx:9
TileCalibMonitorAlgorithm::m_cabling
const TileCablingService * m_cabling
Definition
TileCalibMonitorAlgorithm.h:96
TileCalibMonitorAlgorithm::AthMonitorAlgorithm
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition
AthMonitorAlgorithm.cxx:8
TileCalibMonitorAlgorithm::m_tileHWID
const TileHWID * m_tileHWID
Definition
TileCalibMonitorAlgorithm.h:97
TileCalibMonitorAlgorithm::m_fragIDsDemonstrators
Gaudi::Property< std::vector< int > > m_fragIDsDemonstrators
Definition
TileCalibMonitorAlgorithm.h:81
TileCalibMonitorAlgorithm::~TileCalibMonitorAlgorithm
virtual ~TileCalibMonitorAlgorithm()=default
TileCalibMonitorAlgorithm::TileCalibMonitorAlgorithm
TileCalibMonitorAlgorithm(const std::string &name, ISvcLocator *svcLocator)
Definition
TileCalibMonitorAlgorithm.h:25
TileCalibMonitorAlgorithm::RunType
RunType
Describes Tile Run Type.
Definition
TileCalibMonitorAlgorithm.h:64
TileCalibMonitorAlgorithm::CIS_RAMP_RUN
@ CIS_RAMP_RUN
Definition
TileCalibMonitorAlgorithm.h:72
TileCalibMonitorAlgorithm::UNKNOWN_RUN
@ UNKNOWN_RUN
Definition
TileCalibMonitorAlgorithm.h:65
TileCalibMonitorAlgorithm::CIS_RUN
@ CIS_RUN
Definition
TileCalibMonitorAlgorithm.h:70
TileCalibMonitorAlgorithm::PHYS_RUN
@ PHYS_RUN
Definition
TileCalibMonitorAlgorithm.h:66
TileCalibMonitorAlgorithm::MONO_RUN
@ MONO_RUN
Definition
TileCalibMonitorAlgorithm.h:71
TileCalibMonitorAlgorithm::LED_RUN
@ LED_RUN
Definition
TileCalibMonitorAlgorithm.h:68
TileCalibMonitorAlgorithm::PED_RUN
@ PED_RUN
Definition
TileCalibMonitorAlgorithm.h:69
TileCalibMonitorAlgorithm::LAS_RUN
@ LAS_RUN
Definition
TileCalibMonitorAlgorithm.h:67
TileCalibMonitorAlgorithm::m_cablingSvc
ServiceHandle< TileCablingSvc > m_cablingSvc
Name of Tile cabling service.
Definition
TileCalibMonitorAlgorithm.h:93
TileCalibMonitorAlgorithm::isHeaderFormatError
bool isHeaderFormatError(uint32_t header) const
Definition
TileCalibMonitorAlgorithm.h:42
TileCalibMonitorAlgorithm::m_tileInfoName
Gaudi::Property< std::string > m_tileInfoName
Definition
TileCalibMonitorAlgorithm.h:75
TileCalibMonitorAlgorithm::m_fragIDsToIgnoreDMUerrors
Gaudi::Property< std::vector< int > > m_fragIDsToIgnoreDMUerrors
Definition
TileCalibMonitorAlgorithm.h:78
TileHWID
Helper class for TileCal online (hardware) identifiers.
Definition
TileHWID.h:49
TileInfo
Definition
TileInfo.h:49
header
Definition
hcg.cxx:529
Generated on
for ATLAS Offline Software by
1.17.0