ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
LArCalorimeter
LArMonitoring
src
LArDigitalTriggMonAlg.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef LARMONITORING_LARDIGITALTRIGGMON_H
6
#define LARMONITORING_LARDIGITALTRIGGMON_H
7
8
//inheritance:
9
#include "
AthenaMonitoring/AthMonitorAlgorithm.h
"
10
11
//LAr services:
12
#include "
LArElecCalib/ILArPedestal.h
"
13
#include "
LArRecConditions/LArBadChannelMask.h
"
14
#include "
LArRecConditions/LArBadChannelCont.h
"
15
16
//STL:
17
#include <string>
18
19
#include "
StoreGate/ReadCondHandleKey.h
"
20
#include "
StoreGate/ReadHandleKey.h
"
21
#include "
CaloDetDescr/CaloDetDescrManager.h
"
22
#include "GaudiKernel/ToolHandle.h"
23
24
//Events infos:
25
#include "
LArRawEvent/LArDigitContainer.h
"
26
#include "
LArRawEvent/LArRawSCContainer.h
"
27
#include "
LArRawEvent/LArLATOMEHeaderContainer.h
"
28
#include "
LArCabling/LArOnOffIdMapping.h
"
29
30
class
LArOnline_SuperCellID
;
31
class
CaloCell_SuperCell_ID
;
32
33
class
LArDigitalTriggMonAlg
:
public
AthMonitorAlgorithm
34
{
35
36
37
public
:
38
using
AthMonitorAlgorithm::AthMonitorAlgorithm
;
39
41
virtual
~LArDigitalTriggMonAlg
();
42
43
virtual
StatusCode
initialize
()
override
;
44
45
virtual
StatusCode
fillHistograms
(
const
EventContext& ctx)
const override
;
46
47
private
:
48
50
int
whatPartition
(
HWIdentifier
id
,
int
side)
const
;
51
unsigned
getXbinFromSourceID
(
const
unsigned
sourceID)
const
;
52
54
Gaudi::Property<std::string>
m_MonGroupName
{
this
,
"LArDigitTriggMonGroupName"
,
"LArDigitTriggMonGroup"
};
55
Gaudi::Property<unsigned>
m_NLatomeBins
{
this
,
"NLatomeBins"
, 117};
56
Gaudi::Property<bool>
m_isADCBaseline
{
this
,
"isADCBas"
,
false
,
"Set true for ADC_BAS (implies dividing ADC-value by 8)"
};
57
58
//Added for Stream aware:
60
Gaudi::Property<std::vector<std::string> >
m_streams
{
this
,
"Streams"
, {
""
}};
61
62
//Histogram group names
63
Gaudi::Property<std::string>
m_scMonGroupName
{
this
,
"SCMonGroup"
,
"SC"
};
64
65
//** Handle to cabling */
66
SG::ReadCondHandleKey<LArOnOffIdMapping>
m_cablingKey
{
this
,
"CablingSCKey"
,
"LArOnOffIdMapSC"
,
"SG Key of LArOnOffIdMapping object"
};
67
69
SG::ReadHandleKey<LArDigitContainer>
m_digitContainerKey
{
this
,
"LArDigitContainerKey"
,
""
,
"SG key of LArDigitContainer read from Bytestream"
};
//raw ADC 12 bits - ADC axis up to 4096
70
SG::ReadHandleKey<LArRawSCContainer>
m_rawSCContainerKey
{
this
,
"LArRawSCContainerKey"
,
""
,
"SG key of LArRawSCContainer read from Bytestream"
};
71
SG::ReadHandleKey<LArRawSCContainer>
m_rawSCEtRecoContainerKey
{
this
,
"LArRawSCEtRecoContainerKey"
,
"SC_ET_RECO"
,
"SG key of LArRawSCContainer read from Bytestream"
};
72
SG::ReadHandleKey<LArLATOMEHeaderContainer>
m_LATOMEHeaderContainerKey
{
this
,
"LArLATOMEHeaderContainerKey"
,
"SC_LATOME_HEADER"
,
"SG key of LArLATOMEHeaderContainer read from Bytestream"
};
73
75
LArBadChannelMask
m_bcMask
{
true
};
//isSC=true
76
SG::ReadCondHandleKey<LArBadChannelCont>
m_bcContKey
{
this
,
"BadChanKey"
,
"LArBadChannelSC"
,
"SG key for LArBadChan object"
};
77
Gaudi::Property<std::vector<std::string> >
m_problemsToMask
{
this
,
"ProblemsToMask"
,{},
"Bad-Channel categories to mask"
};
78
80
SG::ReadCondHandleKey<ILArPedestal>
m_keyPedestalSC
{
this
,
"LArPedestalKeySC"
,
"LArPedestalSC"
,
"SG key of LArPedestal CDO"
};
81
83
SG::ReadCondHandleKey<CaloSuperCellDetDescrManager>
m_caloSuperCellMgrKey
{this
84
,
"CaloSuperCellDetDescrManager"
85
,
"CaloSuperCellDetDescrManager"
86
,
"SG key of the resulting CaloSuperCellDetDescrManager"
};
87
88
SG::ReadDecorHandleKey<xAOD::EventInfo>
m_actualMuKey
{
this
,
"actualInteractionsPerCrossing"
,
89
"EventInfo.actualInteractionsPerCrossing"
,
"Decoration for Actual Number of Interactions Per Crossing"
};
90
91
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"
},
92
"Names of individual layers to monitor"
};
93
94
95
//Enumerate layer-types, ignoring sides. Useful for configuration that is per-definition symmetric
96
enum
LayerEnumNoSides
{
EMBPNS
=0,
EMB1NS
,
EMB2NS
,
EMB3NS
,
EMECPNS
,
EMEC1NS
,
EMEC2NS
,
EMEC3NS
,
HECNS
,
FCAL1NS
,
FCAL2NS
,
FCAL3NS
,
MAXLYRNS
};
97
98
// Mapping of CaloCell nomencature to CaloCellMonitoring nomencature
99
// From Calorimeter/CaloGeoHelpers/CaloGeoHelpers/CaloSampling.def
100
const
std::array<unsigned,CaloSampling::Unknown>
m_caloSamplingToLyrNS
{
101
EMBPNS
,
//CALOSAMPLING(PreSamplerB, 1, 0) // 0
102
EMB1NS
,
//CALOSAMPLING(EMB1, 1, 0) // 1
103
EMB2NS
,
//CALOSAMPLING(EMB2, 1, 0) // 2
104
EMB3NS
,
//CALOSAMPLING(EMB3, 1, 0) // 3
105
EMECPNS
,
//CALOSAMPLING(PreSamplerE, 0, 1) // 4
106
EMEC1NS
,
//CALOSAMPLING(EME1, 0, 1) // 5
107
EMEC2NS
,
//CALOSAMPLING(EME2, 0, 1) // 6
108
EMEC3NS
,
//CALOSAMPLING(EME3, 0, 1) // 7
109
HECNS
,
//CALOSAMPLING(HEC0, 0, 1) // 8
110
HECNS
,
//CALOSAMPLING(HEC0, 0, 1) // 9
111
HECNS
,
//CALOSAMPLING(HEC0, 0, 1) // 19
112
HECNS
,
//CALOSAMPLING(HEC0, 0, 1) // 11
113
MAXLYRNS
,
//CALOSAMPLING(TileBar0, 1, 0) // 12
114
MAXLYRNS
,
//CALOSAMPLING(TileBar1, 1, 0) // 13
115
MAXLYRNS
,
//CALOSAMPLING(TileBar2, 1, 0) // 14
116
MAXLYRNS
,
//CALOSAMPLING(TileGap1, 1, 0) // 15
117
MAXLYRNS
,
//CALOSAMPLING(TileGap2, 1, 0) // 16
118
MAXLYRNS
,
// CALOSAMPLING(TileGap3, 1, 0) // 17
119
MAXLYRNS
,
//CALOSAMPLING(TileExt0, 1, 0) // 18
120
MAXLYRNS
,
//CALOSAMPLING(TileExt1, 1, 0) // 19
121
MAXLYRNS
,
//CALOSAMPLING(TileExt2, 1, 0) // 20
122
FCAL1NS
,
//CALOSAMPLING(FCAL0, 0, 1) // 21
123
FCAL2NS
,
//CALOSAMPLING(FCAL1, 0, 1) // 22
124
FCAL3NS
,
//ALOSAMPLING(FCAL2, 0, 1) // 23
125
MAXLYRNS
,
//CALOSAMPLING(MINIFCAL0, 0, 1) // 24
126
MAXLYRNS
,
//CALOSAMPLING(MINIFCAL1, 0, 1) // 25
127
MAXLYRNS
,
//CALOSAMPLING(MINIFCAL2, 0, 1) // 26
128
MAXLYRNS
,
//CALOSAMPLING(MINIFCAL3, 0, 1) // 27
129
};
130
131
132
133
const
std::map <unsigned, unsigned>
m_LatomeDetBinMappingQ
{
134
{0x48, 1},
//FCALC
135
{0x4c, 3},
//EMECC/HEC
136
{0x44, 11},
//EMECC
137
{0x4a, 27},
//EMB/EMECC
138
{0x42, 43},
//EMBC
139
{0x41, 59},
//EMBA
140
{0x49, 75},
//EMB/EMECA
141
{0x43, 91},
//EMECA
142
{0x4b,107},
//EMEC/HECA
143
{0x47,115}
//FCALA
144
};
145
146
std::map<std::string,int>
m_toolmapLayerNames_digi
;
147
std::map<std::string,int>
m_toolmapLayerNames_sc
;
148
149
/* Id helpers */
150
const
LArOnline_SuperCellID
*
m_LArOnlineIDHelper
=
nullptr
;
151
const
CaloCell_SuperCell_ID
*
m_SCID_helper
=
nullptr
;
152
153
154
};
155
#endif
AthMonitorAlgorithm.h
CaloDetDescrManager.h
Definition of CaloDetDescrManager.
ILArPedestal.h
LArBadChannelCont.h
LArBadChannelMask.h
LArDigitContainer.h
LArLATOMEHeaderContainer.h
LArOnOffIdMapping.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_SuperCell_ID
Helper class for offline supercell identifiers.
Definition
CaloCell_SuperCell_ID.h:45
HWIdentifier
Definition
HWIdentifier.h:13
LArBadChannelMask
Definition
LArBadChannelMask.h:18
LArDigitalTriggMonAlg::m_SCID_helper
const CaloCell_SuperCell_ID * m_SCID_helper
Definition
LArDigitalTriggMonAlg.h:151
LArDigitalTriggMonAlg::m_toolmapLayerNames_sc
std::map< std::string, int > m_toolmapLayerNames_sc
Definition
LArDigitalTriggMonAlg.h:147
LArDigitalTriggMonAlg::m_keyPedestalSC
SG::ReadCondHandleKey< ILArPedestal > m_keyPedestalSC
Handle to pedestal.
Definition
LArDigitalTriggMonAlg.h:80
LArDigitalTriggMonAlg::m_digitContainerKey
SG::ReadHandleKey< LArDigitContainer > m_digitContainerKey
Handle to EventData (input).
Definition
LArDigitalTriggMonAlg.h:69
LArDigitalTriggMonAlg::m_cablingKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Definition
LArDigitalTriggMonAlg.h:66
LArDigitalTriggMonAlg::LayerEnumNoSides
LayerEnumNoSides
Definition
LArDigitalTriggMonAlg.h:96
LArDigitalTriggMonAlg::EMB1NS
@ EMB1NS
Definition
LArDigitalTriggMonAlg.h:96
LArDigitalTriggMonAlg::EMBPNS
@ EMBPNS
Definition
LArDigitalTriggMonAlg.h:96
LArDigitalTriggMonAlg::EMEC1NS
@ EMEC1NS
Definition
LArDigitalTriggMonAlg.h:96
LArDigitalTriggMonAlg::MAXLYRNS
@ MAXLYRNS
Definition
LArDigitalTriggMonAlg.h:96
LArDigitalTriggMonAlg::FCAL1NS
@ FCAL1NS
Definition
LArDigitalTriggMonAlg.h:96
LArDigitalTriggMonAlg::EMECPNS
@ EMECPNS
Definition
LArDigitalTriggMonAlg.h:96
LArDigitalTriggMonAlg::EMB3NS
@ EMB3NS
Definition
LArDigitalTriggMonAlg.h:96
LArDigitalTriggMonAlg::EMEC2NS
@ EMEC2NS
Definition
LArDigitalTriggMonAlg.h:96
LArDigitalTriggMonAlg::EMEC3NS
@ EMEC3NS
Definition
LArDigitalTriggMonAlg.h:96
LArDigitalTriggMonAlg::FCAL3NS
@ FCAL3NS
Definition
LArDigitalTriggMonAlg.h:96
LArDigitalTriggMonAlg::FCAL2NS
@ FCAL2NS
Definition
LArDigitalTriggMonAlg.h:96
LArDigitalTriggMonAlg::HECNS
@ HECNS
Definition
LArDigitalTriggMonAlg.h:96
LArDigitalTriggMonAlg::EMB2NS
@ EMB2NS
Definition
LArDigitalTriggMonAlg.h:96
LArDigitalTriggMonAlg::m_rawSCContainerKey
SG::ReadHandleKey< LArRawSCContainer > m_rawSCContainerKey
Definition
LArDigitalTriggMonAlg.h:70
LArDigitalTriggMonAlg::fillHistograms
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
Definition
LArDigitalTriggMonAlg.cxx:165
LArDigitalTriggMonAlg::whatPartition
int whatPartition(HWIdentifier id, int side) const
private methods:
Definition
LArDigitalTriggMonAlg.cxx:795
LArDigitalTriggMonAlg::m_actualMuKey
SG::ReadDecorHandleKey< xAOD::EventInfo > m_actualMuKey
Definition
LArDigitalTriggMonAlg.h:88
LArDigitalTriggMonAlg::m_problemsToMask
Gaudi::Property< std::vector< std::string > > m_problemsToMask
Definition
LArDigitalTriggMonAlg.h:77
LArDigitalTriggMonAlg::m_LATOMEHeaderContainerKey
SG::ReadHandleKey< LArLATOMEHeaderContainer > m_LATOMEHeaderContainerKey
Definition
LArDigitalTriggMonAlg.h:72
LArDigitalTriggMonAlg::m_LatomeDetBinMappingQ
const std::map< unsigned, unsigned > m_LatomeDetBinMappingQ
Definition
LArDigitalTriggMonAlg.h:133
LArDigitalTriggMonAlg::m_MonGroupName
Gaudi::Property< std::string > m_MonGroupName
declaration variables used in joboptions
Definition
LArDigitalTriggMonAlg.h:54
LArDigitalTriggMonAlg::getXbinFromSourceID
unsigned getXbinFromSourceID(const unsigned sourceID) const
Definition
LArDigitalTriggMonAlg.cxx:814
LArDigitalTriggMonAlg::m_layerNames
StringArrayProperty m_layerNames
Definition
LArDigitalTriggMonAlg.h:91
LArDigitalTriggMonAlg::m_streams
Gaudi::Property< std::vector< std::string > > m_streams
Give the name of the streams you want to monitor:
Definition
LArDigitalTriggMonAlg.h:60
LArDigitalTriggMonAlg::AthMonitorAlgorithm
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition
AthMonitorAlgorithm.cxx:8
LArDigitalTriggMonAlg::m_rawSCEtRecoContainerKey
SG::ReadHandleKey< LArRawSCContainer > m_rawSCEtRecoContainerKey
Definition
LArDigitalTriggMonAlg.h:71
LArDigitalTriggMonAlg::m_NLatomeBins
Gaudi::Property< unsigned > m_NLatomeBins
Definition
LArDigitalTriggMonAlg.h:55
LArDigitalTriggMonAlg::m_isADCBaseline
Gaudi::Property< bool > m_isADCBaseline
Definition
LArDigitalTriggMonAlg.h:56
LArDigitalTriggMonAlg::m_LArOnlineIDHelper
const LArOnline_SuperCellID * m_LArOnlineIDHelper
Definition
LArDigitalTriggMonAlg.h:150
LArDigitalTriggMonAlg::m_scMonGroupName
Gaudi::Property< std::string > m_scMonGroupName
Definition
LArDigitalTriggMonAlg.h:63
LArDigitalTriggMonAlg::m_caloSamplingToLyrNS
const std::array< unsigned, CaloSampling::Unknown > m_caloSamplingToLyrNS
Definition
LArDigitalTriggMonAlg.h:100
LArDigitalTriggMonAlg::m_caloSuperCellMgrKey
SG::ReadCondHandleKey< CaloSuperCellDetDescrManager > m_caloSuperCellMgrKey
Handle to Super Cell DD Manager.
Definition
LArDigitalTriggMonAlg.h:83
LArDigitalTriggMonAlg::m_bcMask
LArBadChannelMask m_bcMask
Handle to bad-channel mask.
Definition
LArDigitalTriggMonAlg.h:75
LArDigitalTriggMonAlg::m_toolmapLayerNames_digi
std::map< std::string, int > m_toolmapLayerNames_digi
Definition
LArDigitalTriggMonAlg.h:146
LArDigitalTriggMonAlg::m_bcContKey
SG::ReadCondHandleKey< LArBadChannelCont > m_bcContKey
Definition
LArDigitalTriggMonAlg.h:76
LArOnline_SuperCellID
Definition
LArOnline_SuperCellID.h:21
SG::ReadCondHandleKey
Definition
ReadCondHandleKey.h:21
SG::ReadDecorHandleKey
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Definition
StoreGate/StoreGate/ReadDecorHandleKey.h:86
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
LArDigitalTriggMonAlg
Definition
LArDigitalTriggMonAlg.py:1
initialize
void initialize()
Definition
run_EoverP.cxx:894
Generated on
for ATLAS Offline Software by
1.17.0