ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
LArCalorimeter
LArMonitoring
src
LArSCvsRawChannelMonAlg.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef LARCELLREC_LARSCVSRAWCHANNELMONALG_H
6
#define LARCELLREC_LARSCVSRAWCHANNELMONALG_H
7
8
9
#include "
AthenaMonitoring/AthMonitorAlgorithm.h
"
10
#include "
CaloDetDescr/ICaloSuperCellIDTool.h
"
11
#include "
LArRawEvent/LArRawSCContainer.h
"
12
#include "
LArRawEvent/LArRawChannelContainer.h
"
13
#include "
StoreGate/ReadHandleKey.h
"
14
#include "
StoreGate/ReadCondHandleKey.h
"
15
#include "
AthenaBaseComps/AthAlgTool.h
"
16
#include "
LArCabling/LArOnOffIdMapping.h
"
17
#include "
CaloDetDescr/CaloDetDescrManager.h
"
18
#include "
LArRecConditions/LArBadChannelCont.h
"
19
#include "
LArRecConditions/LArBadChannelMask.h
"
20
#include "
CaloEvent/CaloBCIDAverage.h
"
21
22
class
LArOnlineID
;
23
class
CaloCell_ID
;
24
25
class
LArSCvsRawChannelMonAlg
:
public
AthMonitorAlgorithm
{
26
public
:
27
using
AthMonitorAlgorithm::AthMonitorAlgorithm
;
28
29
~LArSCvsRawChannelMonAlg
() =
default
;
30
virtual
StatusCode
initialize
() override final;
31
32
//virtual StatusCode execute(const EventContext& ctx) const override;
33
virtual StatusCode
fillHistograms
(
const
EventContext& ctx)
const
override;
// {return StatusCode::SUCCESS;}
34
35
private
:
36
SG
::ReadHandleKey<
LArRawSCContainer
>
m_SCKey
{
this
,
"keySC"
,
"SC_ET_ID"
,
"Key for SuperCells container"
};
37
SG::ReadHandleKey<LArRawChannelContainer>
m_RCKey
{
this
,
"keyRC"
,
"LArRawChannels"
,
"Key for (regular) LArRawChannel container"
};
38
SG::ReadCondHandleKey<LArOnOffIdMapping>
m_cablingKey
{
this
,
"keyCabling"
,
"LArOnOffIdMap"
,
"Key for the cabling"
};
39
SG::ReadCondHandleKey<LArOnOffIdMapping>
m_cablingSCKey
{
this
,
"keySCCabling"
,
"LArOnOffIdMapSC"
,
"Key for the cabling of the SC"
};
40
SG::ReadCondHandleKey<CaloSuperCellDetDescrManager>
m_caloSuperCellMgrKey
{
this
,
"CaloSuperCellDetDescrManager"
,
"CaloSuperCellDetDescrManager"
,
"SG key of the resulting CaloSuperCellDetDescrManager"
};
41
SG::ReadCondHandleKey<LArBadChannelCont>
m_badChanKey
{
this
,
"BadChanKey"
,
"LArBadChannel"
,
"SG bad channels key"
};
42
SG::ReadCondHandleKey<LArBadChannelCont>
m_badSCKey
{
this
,
"BadSCKey"
,
"LArBadChannelSC"
,
"Key of the LArBadChannelCont SC"
};
43
44
SG::ReadHandleKey<CaloBCIDAverage>
m_caloBCIDAvg
{
this
,
"CaloBCIDAverageKey"
,
"CaloBCIDAverage"
,
"SG Key of CaloBCIDAverage object (empty: Distable BCID correction)"
};
45
46
Gaudi::Property<int>
m_scEneCut
{
this
,
"SCEnergyCut"
,70,
"Ignore SuperCells below this threshold (in terms of SC output integers"
};
47
Gaudi::Property<bool>
m_warnOffenders
{
this
,
"WarnOffenders"
,
false
,
"Print warning about the worst offenders"
};
48
Gaudi::Property<std::string>
m_MonGroupName
{
this
,
"MonGroupName"
,
"LArSCvsRawMon"
};
49
Gaudi::Property<std::vector<std::string> >
m_problemsToMask
{
this
,
"ProblemsToMask"
,{},
"Bad-Channel categories to mask"
};
50
51
52
StringArrayProperty
m_partitionNames
{
this
,
"PartitionNames"
, {
"EMBA"
,
"EMBC"
,
"EMECA"
,
"EMECC"
,
"HECA"
,
"HECC"
,
"FCALA"
,
"FCALC"
}};
53
enum
PartitionEnum
{
EMBA
=0,
EMBC
,
EMECA
,
EMECC
,
HECA
,
HECC
,
FCALA
,
FCALC
,
MAXPARTITIONS
};
54
//StringArrayProperty m_layerNames{this, "LayerNames", {"EMBPC", "EMBPA", "EMB1C", "EMB1A", "EMB2C", "EMB2A", "EMB3C", "EMB3A", "EMECPC", "EMECPA", "EMEC1C", "EMEC1A", "EMEC2C", "EMEC2A", "EMEC3C", "EMEC3A", "HECC", "HECA", "FCAL1C", "FCAL1A", "FCAL2C", "FCAL2A", "FCAL3C", "FCAL3A", "ALL"},
55
StringArrayProperty
m_layerNames
{
this
,
"LayerNames"
, {
"EMBPC"
,
"EMBPA"
,
"EMB1C"
,
"EMB1A"
,
"EMB2C"
,
"EMB2A"
,
"EMB3C"
,
"EMB3A"
,
"EMECPC"
,
"EMECPA"
,
"EMEC1C"
,
"EMEC1A"
,
"EMEC2C"
,
"EMEC2A"
,
"EMEC3C"
,
"EMEC3A"
,
"HECC"
,
"HECA"
,
"FCAL1C"
,
"FCAL1A"
,
"FCAL2C"
,
"FCAL2A"
,
"FCAL3C"
,
"FCAL3A"
},
56
"Names of individual layers to monitor"
};
57
58
59
enum
LayerEnumNoSides
{
EMBPNS
=0,
EMB1NS
,
EMB2NS
,
EMB3NS
,
EMECPNS
,
EMEC1NS
,
EMEC2NS
,
EMEC3NS
,
HECNS
,
FCAL1NS
,
FCAL2NS
,
FCAL3NS
,
MAXLYRNS
};
60
61
// Mapping of CaloCell nomencature to CaloCellMonitoring nomencature
62
// From Calorimeter/CaloGeoHelpers/CaloGeoHelpers/CaloSampling.def
63
const
std::array<unsigned,CaloSampling::Unknown>
m_caloSamplingToLyrNS
{
64
EMBPNS
,
//CALOSAMPLING(PreSamplerB, 1, 0) // 0
65
EMB1NS
,
//CALOSAMPLING(EMB1, 1, 0) // 1
66
EMB2NS
,
//CALOSAMPLING(EMB2, 1, 0) // 2
67
EMB3NS
,
//CALOSAMPLING(EMB3, 1, 0) // 3
68
EMECPNS
,
//CALOSAMPLING(PreSamplerE, 0, 1) // 4
69
EMEC1NS
,
//CALOSAMPLING(EME1, 0, 1) // 5
70
EMEC2NS
,
//CALOSAMPLING(EME2, 0, 1) // 6
71
EMEC3NS
,
//CALOSAMPLING(EME3, 0, 1) // 7
72
HECNS
,
//CALOSAMPLING(HEC0, 0, 1) // 8
73
HECNS
,
//CALOSAMPLING(HEC0, 0, 1) // 9
74
HECNS
,
//CALOSAMPLING(HEC0, 0, 1) // 19
75
HECNS
,
//CALOSAMPLING(HEC0, 0, 1) // 11
76
MAXLYRNS
,
//CALOSAMPLING(TileBar0, 1, 0) // 12
77
MAXLYRNS
,
//CALOSAMPLING(TileBar1, 1, 0) // 13
78
MAXLYRNS
,
//CALOSAMPLING(TileBar2, 1, 0) // 14
79
MAXLYRNS
,
//CALOSAMPLING(TileGap1, 1, 0) // 15
80
MAXLYRNS
,
//CALOSAMPLING(TileGap2, 1, 0) // 16
81
MAXLYRNS
,
// CALOSAMPLING(TileGap3, 1, 0) // 17
82
MAXLYRNS
,
//CALOSAMPLING(TileExt0, 1, 0) // 18
83
MAXLYRNS
,
//CALOSAMPLING(TileExt1, 1, 0) // 19
84
MAXLYRNS
,
//CALOSAMPLING(TileExt2, 1, 0) // 20
85
FCAL1NS
,
//CALOSAMPLING(FCAL0, 0, 1) // 21
86
FCAL2NS
,
//CALOSAMPLING(FCAL1, 0, 1) // 22
87
FCAL3NS
,
//ALOSAMPLING(FCAL2, 0, 1) // 23
88
MAXLYRNS
,
//CALOSAMPLING(MINIFCAL0, 0, 1) // 24
89
MAXLYRNS
,
//CALOSAMPLING(MINIFCAL1, 0, 1) // 25
90
MAXLYRNS
,
//CALOSAMPLING(MINIFCAL2, 0, 1) // 26
91
MAXLYRNS
,
//CALOSAMPLING(MINIFCAL3, 0, 1) // 27
92
};
93
94
std::map<std::string,int>
m_toolmapPerLayer
;
95
96
const
LArOnlineID
*
m_onlineID
{};
97
const
CaloCell_ID
*
m_calo_id
{};
98
ToolHandle<ICaloSuperCellIDTool>
m_scidtool
{
this
,
"CaloSuperCellIDTool"
,
"CaloSuperCellIDTool"
,
"Offline / SuperCell ID mapping tool"
};
99
100
LArBadChannelMask
m_bcMask
;
101
102
int
getPartition
(
const
Identifier
& scid)
const
;
103
104
};
105
106
#endif
AthAlgTool.h
AthMonitorAlgorithm.h
CaloBCIDAverage.h
CaloDetDescrManager.h
Definition of CaloDetDescrManager.
ICaloSuperCellIDTool.h
LArBadChannelCont.h
LArBadChannelMask.h
LArOnOffIdMapping.h
LArRawChannelContainer.h
LArRawSCContainer.h
ReadCondHandleKey.h
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
AthMonitorAlgorithm::AthMonitorAlgorithm
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition
AthMonitorAlgorithm.cxx:8
CaloCell_ID
Helper class for offline cell identifiers.
Definition
CaloCell_ID.h:34
LArBadChannelMask
Definition
LArBadChannelMask.h:18
LArOnlineID
Definition
LArOnlineID.h:21
LArRawSCContainer
Container class for LArRawSC.
Definition
LArRawSCContainer.h:17
LArSCvsRawChannelMonAlg::m_onlineID
const LArOnlineID * m_onlineID
Definition
LArSCvsRawChannelMonAlg.h:96
LArSCvsRawChannelMonAlg::m_RCKey
SG::ReadHandleKey< LArRawChannelContainer > m_RCKey
Definition
LArSCvsRawChannelMonAlg.h:37
LArSCvsRawChannelMonAlg::m_calo_id
const CaloCell_ID * m_calo_id
Definition
LArSCvsRawChannelMonAlg.h:97
LArSCvsRawChannelMonAlg::fillHistograms
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
Definition
LArSCvsRawChannelMonAlg.cxx:41
LArSCvsRawChannelMonAlg::m_partitionNames
StringArrayProperty m_partitionNames
Definition
LArSCvsRawChannelMonAlg.h:52
LArSCvsRawChannelMonAlg::m_warnOffenders
Gaudi::Property< bool > m_warnOffenders
Definition
LArSCvsRawChannelMonAlg.h:47
LArSCvsRawChannelMonAlg::getPartition
int getPartition(const Identifier &scid) const
Definition
LArSCvsRawChannelMonAlg.cxx:229
LArSCvsRawChannelMonAlg::m_caloBCIDAvg
SG::ReadHandleKey< CaloBCIDAverage > m_caloBCIDAvg
Definition
LArSCvsRawChannelMonAlg.h:44
LArSCvsRawChannelMonAlg::m_toolmapPerLayer
std::map< std::string, int > m_toolmapPerLayer
Definition
LArSCvsRawChannelMonAlg.h:94
LArSCvsRawChannelMonAlg::m_badChanKey
SG::ReadCondHandleKey< LArBadChannelCont > m_badChanKey
Definition
LArSCvsRawChannelMonAlg.h:41
LArSCvsRawChannelMonAlg::m_layerNames
StringArrayProperty m_layerNames
Definition
LArSCvsRawChannelMonAlg.h:55
LArSCvsRawChannelMonAlg::m_caloSamplingToLyrNS
const std::array< unsigned, CaloSampling::Unknown > m_caloSamplingToLyrNS
Definition
LArSCvsRawChannelMonAlg.h:63
LArSCvsRawChannelMonAlg::~LArSCvsRawChannelMonAlg
~LArSCvsRawChannelMonAlg()=default
LArSCvsRawChannelMonAlg::AthMonitorAlgorithm
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition
AthMonitorAlgorithm.cxx:8
LArSCvsRawChannelMonAlg::m_cablingSCKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingSCKey
Definition
LArSCvsRawChannelMonAlg.h:39
LArSCvsRawChannelMonAlg::m_caloSuperCellMgrKey
SG::ReadCondHandleKey< CaloSuperCellDetDescrManager > m_caloSuperCellMgrKey
Definition
LArSCvsRawChannelMonAlg.h:40
LArSCvsRawChannelMonAlg::m_cablingKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Definition
LArSCvsRawChannelMonAlg.h:38
LArSCvsRawChannelMonAlg::m_scEneCut
Gaudi::Property< int > m_scEneCut
Definition
LArSCvsRawChannelMonAlg.h:46
LArSCvsRawChannelMonAlg::LayerEnumNoSides
LayerEnumNoSides
Definition
LArSCvsRawChannelMonAlg.h:59
LArSCvsRawChannelMonAlg::HECNS
@ HECNS
Definition
LArSCvsRawChannelMonAlg.h:59
LArSCvsRawChannelMonAlg::FCAL1NS
@ FCAL1NS
Definition
LArSCvsRawChannelMonAlg.h:59
LArSCvsRawChannelMonAlg::EMEC3NS
@ EMEC3NS
Definition
LArSCvsRawChannelMonAlg.h:59
LArSCvsRawChannelMonAlg::EMB1NS
@ EMB1NS
Definition
LArSCvsRawChannelMonAlg.h:59
LArSCvsRawChannelMonAlg::EMB2NS
@ EMB2NS
Definition
LArSCvsRawChannelMonAlg.h:59
LArSCvsRawChannelMonAlg::EMBPNS
@ EMBPNS
Definition
LArSCvsRawChannelMonAlg.h:59
LArSCvsRawChannelMonAlg::FCAL2NS
@ FCAL2NS
Definition
LArSCvsRawChannelMonAlg.h:59
LArSCvsRawChannelMonAlg::MAXLYRNS
@ MAXLYRNS
Definition
LArSCvsRawChannelMonAlg.h:59
LArSCvsRawChannelMonAlg::EMEC1NS
@ EMEC1NS
Definition
LArSCvsRawChannelMonAlg.h:59
LArSCvsRawChannelMonAlg::EMECPNS
@ EMECPNS
Definition
LArSCvsRawChannelMonAlg.h:59
LArSCvsRawChannelMonAlg::EMEC2NS
@ EMEC2NS
Definition
LArSCvsRawChannelMonAlg.h:59
LArSCvsRawChannelMonAlg::FCAL3NS
@ FCAL3NS
Definition
LArSCvsRawChannelMonAlg.h:59
LArSCvsRawChannelMonAlg::EMB3NS
@ EMB3NS
Definition
LArSCvsRawChannelMonAlg.h:59
LArSCvsRawChannelMonAlg::m_badSCKey
SG::ReadCondHandleKey< LArBadChannelCont > m_badSCKey
Definition
LArSCvsRawChannelMonAlg.h:42
LArSCvsRawChannelMonAlg::m_SCKey
SG::ReadHandleKey< LArRawSCContainer > m_SCKey
Definition
LArSCvsRawChannelMonAlg.h:36
LArSCvsRawChannelMonAlg::m_problemsToMask
Gaudi::Property< std::vector< std::string > > m_problemsToMask
Definition
LArSCvsRawChannelMonAlg.h:49
LArSCvsRawChannelMonAlg::m_MonGroupName
Gaudi::Property< std::string > m_MonGroupName
Definition
LArSCvsRawChannelMonAlg.h:48
LArSCvsRawChannelMonAlg::m_bcMask
LArBadChannelMask m_bcMask
Definition
LArSCvsRawChannelMonAlg.h:100
LArSCvsRawChannelMonAlg::m_scidtool
ToolHandle< ICaloSuperCellIDTool > m_scidtool
Definition
LArSCvsRawChannelMonAlg.h:98
LArSCvsRawChannelMonAlg::PartitionEnum
PartitionEnum
Definition
LArSCvsRawChannelMonAlg.h:53
LArSCvsRawChannelMonAlg::FCALA
@ FCALA
Definition
LArSCvsRawChannelMonAlg.h:53
LArSCvsRawChannelMonAlg::FCALC
@ FCALC
Definition
LArSCvsRawChannelMonAlg.h:53
LArSCvsRawChannelMonAlg::EMECA
@ EMECA
Definition
LArSCvsRawChannelMonAlg.h:53
LArSCvsRawChannelMonAlg::HECC
@ HECC
Definition
LArSCvsRawChannelMonAlg.h:53
LArSCvsRawChannelMonAlg::EMBC
@ EMBC
Definition
LArSCvsRawChannelMonAlg.h:53
LArSCvsRawChannelMonAlg::HECA
@ HECA
Definition
LArSCvsRawChannelMonAlg.h:53
LArSCvsRawChannelMonAlg::MAXPARTITIONS
@ MAXPARTITIONS
Definition
LArSCvsRawChannelMonAlg.h:53
LArSCvsRawChannelMonAlg::EMBA
@ EMBA
Definition
LArSCvsRawChannelMonAlg.h:53
LArSCvsRawChannelMonAlg::EMECC
@ EMECC
Definition
LArSCvsRawChannelMonAlg.h:53
SG::ReadCondHandleKey
Definition
ReadCondHandleKey.h:21
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
const
Identifier
Definition
IdentifierFieldParser.cxx:14
LArSCvsRawChannelMonAlg
Definition
LArSCvsRawChannelMonAlg.py:1
SG
Forward declaration.
Definition
CaloCellPacker_400_500.h:32
initialize
void initialize()
Definition
run_EoverP.cxx:894
private
#define private
Definition
testRead.cxx:27
Generated on
for ATLAS Offline Software by
1.17.0