ATLAS Offline Software
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 
37 public:
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","dummy","SG key of LArDigitContainer read from Bytestream"}; //raw ADC 12 bits - ADC axis up to 4096
70  SG::ReadHandleKey<LArRawSCContainer> m_rawSCContainerKey{this,"LArRawSCContainerKey","dummy","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
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
LArDigitalTriggMonAlg::EMB3NS
@ EMB3NS
Definition: LArDigitalTriggMonAlg.h:96
LArDigitalTriggMonAlg::m_bcContKey
SG::ReadCondHandleKey< LArBadChannelCont > m_bcContKey
Definition: LArDigitalTriggMonAlg.h:76
LArRawSCContainer.h
LArDigitalTriggMonAlg::whatPartition
int whatPartition(HWIdentifier id, int side) const
private methods:
Definition: LArDigitalTriggMonAlg.cxx:690
LArDigitalTriggMonAlg::m_caloSamplingToLyrNS
const std::array< unsigned, CaloSampling::Unknown > m_caloSamplingToLyrNS
Definition: LArDigitalTriggMonAlg.h:100
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::EMEC3NS
@ EMEC3NS
Definition: LArDigitalTriggMonAlg.h:96
LArDigitalTriggMonAlg::EMB1NS
@ EMB1NS
Definition: LArDigitalTriggMonAlg.h:96
LArLATOMEHeaderContainer.h
LArDigitalTriggMonAlg::m_problemsToMask
Gaudi::Property< std::vector< std::string > > m_problemsToMask
Definition: LArDigitalTriggMonAlg.h:77
SG::ReadHandleKey< LArDigitContainer >
HWIdentifier
Definition: HWIdentifier.h:13
LArDigitalTriggMonAlg::m_toolmapLayerNames_sc
std::map< std::string, int > m_toolmapLayerNames_sc
Definition: LArDigitalTriggMonAlg.h:147
LArDigitalTriggMonAlg::m_layerNames
StringArrayProperty m_layerNames
Definition: LArDigitalTriggMonAlg.h:91
CaloDetDescrManager.h
Definition of CaloDetDescrManager.
LArDigitalTriggMonAlg::MAXLYRNS
@ MAXLYRNS
Definition: LArDigitalTriggMonAlg.h:96
TRT::Hit::side
@ side
Definition: HitInfo.h:83
AthMonitorAlgorithm
Base class for Athena Monitoring Algorithms.
Definition: AthMonitorAlgorithm.h:36
LArDigitalTriggMonAlg::m_actualMuKey
SG::ReadDecorHandleKey< xAOD::EventInfo > m_actualMuKey
Definition: LArDigitalTriggMonAlg.h:88
LArDigitalTriggMonAlg::m_NLatomeBins
Gaudi::Property< unsigned > m_NLatomeBins
Definition: LArDigitalTriggMonAlg.h:55
LArDigitalTriggMonAlg::m_keyPedestalSC
SG::ReadCondHandleKey< ILArPedestal > m_keyPedestalSC
Handle to pedestal.
Definition: LArDigitalTriggMonAlg.h:80
LArDigitalTriggMonAlg::m_LatomeDetBinMappingQ
const std::map< unsigned, unsigned > m_LatomeDetBinMappingQ
Definition: LArDigitalTriggMonAlg.h:133
LArBadChannelCont.h
LArDigitalTriggMonAlg::FCAL3NS
@ FCAL3NS
Definition: LArDigitalTriggMonAlg.h:96
LArOnOffIdMapping.h
LArDigitalTriggMonAlg::~LArDigitalTriggMonAlg
virtual ~LArDigitalTriggMonAlg()
Default destructor.
Definition: LArDigitalTriggMonAlg.cxx:57
CaloCell_SuperCell_ID
Helper class for offline supercell identifiers.
Definition: CaloCell_SuperCell_ID.h:48
LArDigitalTriggMonAlg::m_bcMask
LArBadChannelMask m_bcMask
Handle to bad-channel mask.
Definition: LArDigitalTriggMonAlg.h:75
LArDigitalTriggMonAlg::m_SCID_helper
const CaloCell_SuperCell_ID * m_SCID_helper
Definition: LArDigitalTriggMonAlg.h:151
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LArDigitalTriggMonAlg::getXbinFromSourceID
unsigned getXbinFromSourceID(const unsigned sourceID) const
Definition: LArDigitalTriggMonAlg.cxx:709
AthMonitorAlgorithm.h
LArDigitalTriggMonAlg::EMECPNS
@ EMECPNS
Definition: LArDigitalTriggMonAlg.h:96
LArDigitalTriggMonAlg::FCAL1NS
@ FCAL1NS
Definition: LArDigitalTriggMonAlg.h:96
LArDigitalTriggMonAlg::m_LATOMEHeaderContainerKey
SG::ReadHandleKey< LArLATOMEHeaderContainer > m_LATOMEHeaderContainerKey
Definition: LArDigitalTriggMonAlg.h:72
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::HECNS
@ HECNS
Definition: LArDigitalTriggMonAlg.h:96
ReadCondHandleKey.h
LArDigitalTriggMonAlg::m_toolmapLayerNames_digi
std::map< std::string, int > m_toolmapLayerNames_digi
Definition: LArDigitalTriggMonAlg.h:146
LArDigitalTriggMonAlg::m_MonGroupName
Gaudi::Property< std::string > m_MonGroupName
declaration variables used in joboptions
Definition: LArDigitalTriggMonAlg.h:54
LArDigitalTriggMonAlg::m_caloSuperCellMgrKey
SG::ReadCondHandleKey< CaloSuperCellDetDescrManager > m_caloSuperCellMgrKey
Handle to Super Cell DD Manager.
Definition: LArDigitalTriggMonAlg.h:83
LArDigitalTriggMonAlg::EMB2NS
@ EMB2NS
Definition: LArDigitalTriggMonAlg.h:96
LArDigitalTriggMonAlg::EMBPNS
@ EMBPNS
Definition: LArDigitalTriggMonAlg.h:96
LArDigitalTriggMonAlg
Definition: LArDigitalTriggMonAlg.py:1
LArDigitContainer.h
LArOnline_SuperCellID
Definition: LArOnline_SuperCellID.h:20
SG::ReadCondHandleKey< LArOnOffIdMapping >
ILArPedestal.h
LArDigitalTriggMonAlg::EMEC2NS
@ EMEC2NS
Definition: LArDigitalTriggMonAlg.h:96
LArDigitalTriggMonAlg::FCAL2NS
@ FCAL2NS
Definition: LArDigitalTriggMonAlg.h:96
AthMonitorAlgorithm::AthMonitorAlgorithm
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition: AthMonitorAlgorithm.cxx:7
LArDigitalTriggMonAlg::m_rawSCEtRecoContainerKey
SG::ReadHandleKey< LArRawSCContainer > m_rawSCEtRecoContainerKey
Definition: LArDigitalTriggMonAlg.h:71
LArDigitalTriggMonAlg::EMEC1NS
@ EMEC1NS
Definition: LArDigitalTriggMonAlg.h:96
LArDigitalTriggMonAlg::LayerEnumNoSides
LayerEnumNoSides
Definition: LArDigitalTriggMonAlg.h:96
SG::ReadDecorHandleKey
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Definition: StoreGate/StoreGate/ReadDecorHandleKey.h:85
LArBadChannelMask.h
LArDigitalTriggMonAlg::m_cablingKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Definition: LArDigitalTriggMonAlg.h:66
LArDigitalTriggMonAlg::m_digitContainerKey
SG::ReadHandleKey< LArDigitContainer > m_digitContainerKey
Handle to EventData (input)
Definition: LArDigitalTriggMonAlg.h:69
LArDigitalTriggMonAlg::fillHistograms
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
Definition: LArDigitalTriggMonAlg.cxx:151
LArDigitalTriggMonAlg::initialize
virtual StatusCode initialize() override
initialize
Definition: LArDigitalTriggMonAlg.cxx:62
LArDigitalTriggMonAlg::m_scMonGroupName
Gaudi::Property< std::string > m_scMonGroupName
Definition: LArDigitalTriggMonAlg.h:63
LArBadChannelMask
Definition: LArBadChannelMask.h:18
LArDigitalTriggMonAlg::m_rawSCContainerKey
SG::ReadHandleKey< LArRawSCContainer > m_rawSCContainerKey
Definition: LArDigitalTriggMonAlg.h:70