ATLAS Offline Software
Loading...
Searching...
No Matches
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:
10
11//LAr services:
15
16//STL:
17#include <string>
18
22#include "GaudiKernel/ToolHandle.h"
23
24//Events infos:
29
32
34{
35
36
37public:
39
41 virtual ~LArDigitalTriggMonAlg();
42
43 virtual StatusCode initialize() override;
44
45 virtual StatusCode fillHistograms(const EventContext& ctx) const override;
46
47private:
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
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
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 */
152
153
154};
155#endif
Definition of CaloDetDescrManager.
Property holding a SG store/key/clid from which a ReadHandle is made.
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Helper class for offline supercell identifiers.
const CaloCell_SuperCell_ID * m_SCID_helper
std::map< std::string, int > m_toolmapLayerNames_sc
SG::ReadCondHandleKey< ILArPedestal > m_keyPedestalSC
Handle to pedestal.
SG::ReadHandleKey< LArDigitContainer > m_digitContainerKey
Handle to EventData (input)
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
SG::ReadHandleKey< LArRawSCContainer > m_rawSCContainerKey
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
int whatPartition(HWIdentifier id, int side) const
private methods:
SG::ReadDecorHandleKey< xAOD::EventInfo > m_actualMuKey
Gaudi::Property< std::vector< std::string > > m_problemsToMask
SG::ReadHandleKey< LArLATOMEHeaderContainer > m_LATOMEHeaderContainerKey
const std::map< unsigned, unsigned > m_LatomeDetBinMappingQ
Gaudi::Property< std::string > m_MonGroupName
declaration variables used in joboptions
unsigned getXbinFromSourceID(const unsigned sourceID) const
StringArrayProperty m_layerNames
Gaudi::Property< std::vector< std::string > > m_streams
Give the name of the streams you want to monitor:
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
SG::ReadHandleKey< LArRawSCContainer > m_rawSCEtRecoContainerKey
Gaudi::Property< unsigned > m_NLatomeBins
Gaudi::Property< bool > m_isADCBaseline
const LArOnline_SuperCellID * m_LArOnlineIDHelper
Gaudi::Property< std::string > m_scMonGroupName
const std::array< unsigned, CaloSampling::Unknown > m_caloSamplingToLyrNS
SG::ReadCondHandleKey< CaloSuperCellDetDescrManager > m_caloSuperCellMgrKey
Handle to Super Cell DD Manager.
LArBadChannelMask m_bcMask
Handle to bad-channel mask.
std::map< std::string, int > m_toolmapLayerNames_digi
SG::ReadCondHandleKey< LArBadChannelCont > m_bcContKey
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Property holding a SG store/key/clid from which a ReadHandle is made.
void initialize()