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", "HEC0C", "HEC0A", "HEC1C", "HEC1A", "HEC2C", "HEC2A", "HEC3C", "HEC3A", "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  const std::array<unsigned,CaloSampling::Unknown> m_caloSamplingToLyrNS{
100  EMBPNS, //CALOSAMPLING(PreSamplerB, 1, 0) // 0
101  EMB1NS, //CALOSAMPLING(EMB1, 1, 0) // 1
102  EMB2NS, //CALOSAMPLING(EMB2, 1, 0) // 2
103  EMB3NS, //CALOSAMPLING(EMB3, 1, 0) // 3
104  EMECPNS, //CALOSAMPLING(PreSamplerE, 0, 1) // 4
105  EMEC1NS, //CALOSAMPLING(EME1, 0, 1) // 5
106  EMEC2NS, //CALOSAMPLING(EME2, 0, 1) // 6
107  EMEC3NS, //CALOSAMPLING(EME3, 0, 1) // 7
108  HEC0NS, //CALOSAMPLING(HEC0, 0, 1) // 8
109  HEC1NS, //CALOSAMPLING(HEC1, 0, 1) // 9
110  HEC2NS, //CALOSAMPLING(HEC2, 0, 1) // 10
111  HEC3NS, //CALOSAMPLING(HEC3, 0, 1) // 11
112  MAXLYRNS, //CALOSAMPLING(TileBar0, 1, 0) // 12
113  MAXLYRNS, //CALOSAMPLING(TileBar1, 1, 0) // 13
114  MAXLYRNS, //CALOSAMPLING(TileBar2, 1, 0) // 14
115  MAXLYRNS, //CALOSAMPLING(TileGap1, 1, 0) // 15
116  MAXLYRNS, //CALOSAMPLING(TileGap2, 1, 0) // 16
117  MAXLYRNS, // CALOSAMPLING(TileGap3, 1, 0) // 17
118  MAXLYRNS, //CALOSAMPLING(TileExt0, 1, 0) // 18
119  MAXLYRNS, //CALOSAMPLING(TileExt1, 1, 0) // 19
120  MAXLYRNS, //CALOSAMPLING(TileExt2, 1, 0) // 20
121  FCAL1NS, //CALOSAMPLING(FCAL0, 0, 1) // 21
122  FCAL2NS, //CALOSAMPLING(FCAL1, 0, 1) // 22
123  FCAL3NS, //ALOSAMPLING(FCAL2, 0, 1) // 23
124  MAXLYRNS, //CALOSAMPLING(MINIFCAL0, 0, 1) // 24
125  MAXLYRNS, //CALOSAMPLING(MINIFCAL1, 0, 1) // 25
126  MAXLYRNS, //CALOSAMPLING(MINIFCAL2, 0, 1) // 26
127  MAXLYRNS, //CALOSAMPLING(MINIFCAL3, 0, 1) // 27
128  };
129 
130 
131 
132  const std::map <unsigned, unsigned> m_LatomeDetBinMappingQ{
133  {0x48, 1}, //FCALC
134  {0x4c, 3}, //EMECC/HEC
135  {0x44, 11}, //EMECC
136  {0x4a, 27}, //EMB/EMECC
137  {0x42, 43}, //EMBC
138  {0x41, 59}, //EMBA
139  {0x49, 75}, //EMB/EMECA
140  {0x43, 91}, //EMECA
141  {0x4b,107}, //EMEC/HECA
142  {0x47,115} //FCALA
143  };
144 
145  std::map<std::string,int> m_toolmapLayerNames_digi;
146  std::map<std::string,int> m_toolmapLayerNames_sc;
147 
148  /* Id helpers */
151 
152 
153 };
154 #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:687
LArDigitalTriggMonAlg::m_caloSamplingToLyrNS
const std::array< unsigned, CaloSampling::Unknown > m_caloSamplingToLyrNS
Definition: LArDigitalTriggMonAlg.h:99
LArDigitalTriggMonAlg::m_isADCBaseline
Gaudi::Property< bool > m_isADCBaseline
Definition: LArDigitalTriggMonAlg.h:56
LArDigitalTriggMonAlg::m_LArOnlineIDHelper
const LArOnline_SuperCellID * m_LArOnlineIDHelper
Definition: LArDigitalTriggMonAlg.h:149
LArDigitalTriggMonAlg::EMEC3NS
@ EMEC3NS
Definition: LArDigitalTriggMonAlg.h:96
LArDigitalTriggMonAlg::EMB1NS
@ EMB1NS
Definition: LArDigitalTriggMonAlg.h:96
LArDigitalTriggMonAlg::HEC3NS
@ HEC3NS
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:146
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:132
LArBadChannelCont.h
LArDigitalTriggMonAlg::FCAL3NS
@ FCAL3NS
Definition: LArDigitalTriggMonAlg.h:96
LArOnOffIdMapping.h
LArDigitalTriggMonAlg::HEC2NS
@ HEC2NS
Definition: LArDigitalTriggMonAlg.h:96
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:150
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:706
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
ReadCondHandleKey.h
LArDigitalTriggMonAlg::m_toolmapLayerNames_digi
std::map< std::string, int > m_toolmapLayerNames_digi
Definition: LArDigitalTriggMonAlg.h:145
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::HEC1NS
@ HEC1NS
Definition: LArDigitalTriggMonAlg.h:96
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
LArDigitalTriggMonAlg::HEC0NS
@ HEC0NS
Definition: LArDigitalTriggMonAlg.h:96