ATLAS Offline Software
LArSCvsRawChannelMonAlg.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef LARCELLREC_LARSCVSRAWCHANNELMONALG_H
6 #define LARCELLREC_LARSCVSRAWCHANNELMONALG_H
7 
8 
21 
22 class LArOnlineID;
23 class CaloCell_ID;
24 
26 public:
28 
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"}};
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 
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 
98  ToolHandle<ICaloSuperCellIDTool> m_scidtool{this, "CaloSuperCellIDTool", "CaloSuperCellIDTool", "Offline / SuperCell ID mapping tool"};
99 
101 
102  int getPartition(const Identifier& scid) const;
103 
104 };
105 
106 #endif
LArSCvsRawChannelMonAlg::FCALA
@ FCALA
Definition: LArSCvsRawChannelMonAlg.h:53
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
LArSCvsRawChannelMonAlg::m_scEneCut
Gaudi::Property< int > m_scEneCut
Definition: LArSCvsRawChannelMonAlg.h:46
LArSCvsRawChannelMonAlg::EMBA
@ EMBA
Definition: LArSCvsRawChannelMonAlg.h:53
LArSCvsRawChannelMonAlg::PartitionEnum
PartitionEnum
Definition: LArSCvsRawChannelMonAlg.h:53
LArSCvsRawChannelMonAlg::m_MonGroupName
Gaudi::Property< std::string > m_MonGroupName
Definition: LArSCvsRawChannelMonAlg.h:48
LArRawSCContainer.h
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
LArSCvsRawChannelMonAlg::getPartition
int getPartition(const Identifier &scid) const
Definition: LArSCvsRawChannelMonAlg.cxx:229
LArSCvsRawChannelMonAlg::EMBPNS
@ EMBPNS
Definition: LArSCvsRawChannelMonAlg.h:59
LArSCvsRawChannelMonAlg::m_onlineID
const LArOnlineID * m_onlineID
Definition: LArSCvsRawChannelMonAlg.h:96
LArRawSCContainer
Container class for LArRawSC.
Definition: LArRawSCContainer.h:17
LArSCvsRawChannelMonAlg::FCALC
@ FCALC
Definition: LArSCvsRawChannelMonAlg.h:53
LArSCvsRawChannelMonAlg::EMEC3NS
@ EMEC3NS
Definition: LArSCvsRawChannelMonAlg.h:59
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
SG::ReadHandleKey< LArRawChannelContainer >
LArSCvsRawChannelMonAlg::m_scidtool
ToolHandle< ICaloSuperCellIDTool > m_scidtool
Definition: LArSCvsRawChannelMonAlg.h:98
ICaloSuperCellIDTool.h
CaloDetDescrManager.h
Definition of CaloDetDescrManager.
LArSCvsRawChannelMonAlg::EMECPNS
@ EMECPNS
Definition: LArSCvsRawChannelMonAlg.h:59
LArSCvsRawChannelMonAlg::m_badChanKey
SG::ReadCondHandleKey< LArBadChannelCont > m_badChanKey
Definition: LArSCvsRawChannelMonAlg.h:41
AthMonitorAlgorithm
Base class for Athena Monitoring Algorithms.
Definition: AthMonitorAlgorithm.h:36
LArSCvsRawChannelMonAlg::m_problemsToMask
Gaudi::Property< std::vector< std::string > > m_problemsToMask
Definition: LArSCvsRawChannelMonAlg.h:49
LArSCvsRawChannelMonAlg::EMB3NS
@ EMB3NS
Definition: LArSCvsRawChannelMonAlg.h:59
LArSCvsRawChannelMonAlg::m_caloSuperCellMgrKey
SG::ReadCondHandleKey< CaloSuperCellDetDescrManager > m_caloSuperCellMgrKey
Definition: LArSCvsRawChannelMonAlg.h:40
LArSCvsRawChannelMonAlg::m_cablingSCKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingSCKey
Definition: LArSCvsRawChannelMonAlg.h:39
LArBadChannelCont.h
LArSCvsRawChannelMonAlg::m_toolmapPerLayer
std::map< std::string, int > m_toolmapPerLayer
Definition: LArSCvsRawChannelMonAlg.h:94
LArOnOffIdMapping.h
LArSCvsRawChannelMonAlg::m_SCKey
SG::ReadHandleKey< LArRawSCContainer > m_SCKey
Definition: LArSCvsRawChannelMonAlg.h:36
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthMonitorAlgorithm.h
LArSCvsRawChannelMonAlg::HECC
@ HECC
Definition: LArSCvsRawChannelMonAlg.h:53
AthAlgTool.h
LArSCvsRawChannelMonAlg::fillHistograms
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
Definition: LArSCvsRawChannelMonAlg.cxx:40
LArSCvsRawChannelMonAlg::m_bcMask
LArBadChannelMask m_bcMask
Definition: LArSCvsRawChannelMonAlg.h:100
LArSCvsRawChannelMonAlg::~LArSCvsRawChannelMonAlg
~LArSCvsRawChannelMonAlg()=default
CaloCell_ID
Helper class for offline cell identifiers.
Definition: CaloCell_ID.h:34
LArSCvsRawChannelMonAlg::m_RCKey
SG::ReadHandleKey< LArRawChannelContainer > m_RCKey
Definition: LArSCvsRawChannelMonAlg.h:37
LArSCvsRawChannelMonAlg::EMB1NS
@ EMB1NS
Definition: LArSCvsRawChannelMonAlg.h:59
LArSCvsRawChannelMonAlg::m_partitionNames
StringArrayProperty m_partitionNames
Definition: LArSCvsRawChannelMonAlg.h:52
ReadCondHandleKey.h
LArSCvsRawChannelMonAlg::m_caloSamplingToLyrNS
const std::array< unsigned, CaloSampling::Unknown > m_caloSamplingToLyrNS
Definition: LArSCvsRawChannelMonAlg.h:63
LArSCvsRawChannelMonAlg::HECNS
@ HECNS
Definition: LArSCvsRawChannelMonAlg.h:59
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
LArSCvsRawChannelMonAlg::m_cablingKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Definition: LArSCvsRawChannelMonAlg.h:38
LArSCvsRawChannelMonAlg::EMEC2NS
@ EMEC2NS
Definition: LArSCvsRawChannelMonAlg.h:59
LArOnlineID
Definition: LArOnlineID.h:20
LArSCvsRawChannelMonAlg::EMB2NS
@ EMB2NS
Definition: LArSCvsRawChannelMonAlg.h:59
LArSCvsRawChannelMonAlg::EMEC1NS
@ EMEC1NS
Definition: LArSCvsRawChannelMonAlg.h:59
LArSCvsRawChannelMonAlg::initialize
virtual StatusCode initialize() override final
initialize
Definition: LArSCvsRawChannelMonAlg.cxx:10
CaloBCIDAverage.h
SG::ReadCondHandleKey< LArOnOffIdMapping >
LArSCvsRawChannelMonAlg::MAXPARTITIONS
@ MAXPARTITIONS
Definition: LArSCvsRawChannelMonAlg.h:53
LArSCvsRawChannelMonAlg::EMECA
@ EMECA
Definition: LArSCvsRawChannelMonAlg.h:53
LArSCvsRawChannelMonAlg::HECA
@ HECA
Definition: LArSCvsRawChannelMonAlg.h:53
LArSCvsRawChannelMonAlg::FCAL1NS
@ FCAL1NS
Definition: LArSCvsRawChannelMonAlg.h:59
LArSCvsRawChannelMonAlg::FCAL2NS
@ FCAL2NS
Definition: LArSCvsRawChannelMonAlg.h:59
LArSCvsRawChannelMonAlg::m_caloBCIDAvg
SG::ReadHandleKey< CaloBCIDAverage > m_caloBCIDAvg
Definition: LArSCvsRawChannelMonAlg.h:44
AthMonitorAlgorithm::AthMonitorAlgorithm
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition: AthMonitorAlgorithm.cxx:7
LArSCvsRawChannelMonAlg::m_badSCKey
SG::ReadCondHandleKey< LArBadChannelCont > m_badSCKey
Definition: LArSCvsRawChannelMonAlg.h:42
LArSCvsRawChannelMonAlg::m_calo_id
const CaloCell_ID * m_calo_id
Definition: LArSCvsRawChannelMonAlg.h:97
LArSCvsRawChannelMonAlg::MAXLYRNS
@ MAXLYRNS
Definition: LArSCvsRawChannelMonAlg.h:59
LArSCvsRawChannelMonAlg::EMBC
@ EMBC
Definition: LArSCvsRawChannelMonAlg.h:53
LArSCvsRawChannelMonAlg::FCAL3NS
@ FCAL3NS
Definition: LArSCvsRawChannelMonAlg.h:59
LArSCvsRawChannelMonAlg::m_warnOffenders
Gaudi::Property< bool > m_warnOffenders
Definition: LArSCvsRawChannelMonAlg.h:47
LArBadChannelMask.h
LArSCvsRawChannelMonAlg
Definition: LArSCvsRawChannelMonAlg.h:25
LArSCvsRawChannelMonAlg::LayerEnumNoSides
LayerEnumNoSides
Definition: LArSCvsRawChannelMonAlg.h:59
LArRawChannelContainer.h
LArSCvsRawChannelMonAlg::m_layerNames
StringArrayProperty m_layerNames
Definition: LArSCvsRawChannelMonAlg.h:55
LArSCvsRawChannelMonAlg::EMECC
@ EMECC
Definition: LArSCvsRawChannelMonAlg.h:53
LArBadChannelMask
Definition: LArBadChannelMask.h:18
Identifier
Definition: IdentifierFieldParser.cxx:14