ATLAS Offline Software
Loading...
Searching...
No Matches
LArCoverageAlg.h
Go to the documentation of this file.
1
2/*
3 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
4*/
5
11
12#ifndef LARMONITORING_LARCOVERAGEALG_H
13#define LARMONITORING_LARCOVERAGEALG_H
14
17
21
24
30
31#include <map>
32#include <vector>
33#include <string>
34#include <array>
35
36class LArEM_ID;
38class CaloIdManager;
39class HWIdentifier;
40class LArOnlineID;
41
42
44{
45 public:
46 LArCoverageAlg( const std::string& name, ISvcLocator* pSvcLocator );
47
49 virtual ~LArCoverageAlg();
50
52 virtual StatusCode initialize() override;
53
55 virtual StatusCode fillHistograms( const EventContext& ctx ) const override;
56
57
58
59 private:
60
62 public:
63 LArChanHelp(int chan=-1,int ft_slot=-100,int sampling=-1,double eta=-100,double phi=-100): m_channelNumber(chan), m_channelFtSlot(ft_slot), m_channelSampling(sampling), m_channelEta(eta), m_channelPhi(phi) {};
65
67 int getChNumber() const { return m_channelNumber; };
68 int getChFtSlot() const { return m_channelFtSlot; };
69 int getChSampling() const { return m_channelSampling; };
70 double getChEta() const { return m_channelEta; };
71 double getChPhi() const { return m_channelPhi; };
72
73 private:
79 };
80
86
87
89 SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKey{this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"};
90
92 SG::ReadCondHandleKey<CaloNoise> m_noiseCDOKey{this,"CaloNoiseKey","electronicNoiseNoHV","SG Key of CaloNoise data object"};
93
95 Gaudi::Property<std::vector<std::string> > m_problemsToMask{this,"ProblemsToMask",{}, "Bad-Channel categories to mask"};
97
98 SG::ReadHandleKey<LArRawChannelContainer> m_rawChannelsKey{this, "LArRawChannelKey", "LArRawChannels", "SG Key of raw channels"};
99 SG::ReadCondHandleKey<LArBadChannelCont> m_BCKey{this, "BadChanKey", "LArBadChannel", "SG bad channels key"};
100 SG::ReadCondHandleKey<LArBadFebCont> m_BFKey{this, "MFKey", "LArBadFeb", "SG missing FEBs key"};
101 SG::ReadCondHandleKey<CaloDetDescrManager> m_caloMgrKey{this, "CaloDetDescrManager", "CaloDetDescrManager", "SG Key for CaloDetDescrManager in the Condition Store" };
102
103
105 int DBflag(HWIdentifier,const LArBadChannelCont*) const;
106
108 Gaudi::Property<EventContext::ContextEvt_t> m_nevents {this,"Nevents",50};
109 Gaudi::Property<int> m_Nchannels {this,"Nchannels",128};
110 Gaudi::Property<int> m_Nsample {this,"Nsample",4};
111 Gaudi::Property<int> m_NftEMB {this,"NftEMB",32};
112 Gaudi::Property<int> m_NslotEMB {this,"NslotEMB",14};
113 Gaudi::Property<int> m_NftEMEC {this,"NftEMEC",25};
114 Gaudi::Property<int> m_NslotEMEC {this,"NslotEMEC",15};
115 Gaudi::Property<int> m_NftHEC {this,"NftHEC",25};
116 Gaudi::Property<int> m_NslotHEC {this,"NslotHEC",15};
117 Gaudi::Property<int> m_NftFCAL {this,"NftFCAL",25};
118 Gaudi::Property<int> m_NslotFCAL {this,"NslotFCAL",15};
119 Gaudi::Property<int> m_NphiBinsEMB1 {this,"NphiBinsEMB1",256};
120 Gaudi::Property<int> m_NphiBinsEMEC2 {this,"NphiBinsEMEC2",256};
121 Gaudi::Property<std::vector<int> > m_NphiBinsHEC {this,"NphiBinsHEC",{64,64,64,64}};
122
123
124 Gaudi::Property<std::string> m_CaloNoiseToolGroupName {this,"CaloNoiseToolGroupName","CaloNoise"};
125 Gaudi::Property<std::string> m_BadChannelsGroupName {this,"BadChannelsGroupName","BadChannels"};
126 Gaudi::Property<std::string> m_CoverageHWGroupName {this,"CoverageHWGroupName","CoverageHW"};
127 Gaudi::Property< std::vector<std::string> > m_CoverageBarrelPartitions {this, "CoverageBarrelPartitions", {"EMBA","EMBC"}};
128 Gaudi::Property< std::vector<std::string> > m_CoverageEndcapPartitions {this, "CoverageEndcapPartitions", {"EMECA","EMECC","HECA","HECC","FCalA","FCalC"}};
129 Gaudi::Property< std::vector<std::string> > m_Sides {this, "Sides", {"A","C"}};
130 Gaudi::Property< std::vector<int> > m_availableErrorCodes {this, "AvailableErrorCodes", {0, 1, 2, 3, 4}};
131 std::vector<std::pair<int, std::string>> m_availableErrorCodesPairs;
132
133
134
136 std::vector<int> m_CaloNoiseGroupArrEM;
137 std::vector<int> m_CaloNoiseGroupArrHEC;
138 std::vector<int> m_CaloNoiseGroupArrFCAL;
139
140 std::map<std::string,int> m_CoverageToolArrayEMBA;
141 std::map<std::string,int> m_CoverageToolArrayEMECA;
142 std::map<std::string,int> m_CoverageToolArrayHECA;
143 std::map<std::string,int> m_CoverageToolArrayFCalA;
144 std::map<std::string,int> m_CoverageToolArrayEMBC;
145 std::map<std::string,int> m_CoverageToolArrayEMECC;
146 std::map<std::string,int> m_CoverageToolArrayHECC;
147 std::map<std::string,int> m_CoverageToolArrayFCalC;
148
149 std::map<std::string,int> m_BadChannelToolArrayBarrel;
150 std::map<std::string,int> m_BadChannelToolArrayEndcap;
151
152
154 const std::array<CaloGain::CaloGain,CaloCell_Base_ID::NSUBCALO> m_highestGain{
155 CaloGain::LARHIGHGAIN, //LAREM
157 CaloGain::LARHIGHGAIN, //LARFCAL
159 CaloGain::LARHIGHGAIN //LARMINIFCAL
160 };
161};
162
163#endif
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
Definition of CaloDetDescrManager.
CaloPhiRange class declaration.
LArBadXCont< LArBadChannel > LArBadChannelCont
Header file to be included by clients of the Monitored infrastructure.
Property holding a SG store/key/clid from which a ReadHandle is made.
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
This class groups all DetDescr information related to a CaloCell.
This class initializes the Calo (LAr and Tile) offline identifiers.
LArChanHelp(int chan=-1, int ft_slot=-100, int sampling=-1, double eta=-100, double phi=-100)
Gaudi::Property< int > m_NftFCAL
virtual StatusCode fillHistograms(const EventContext &ctx) const override
Called each event.
Gaudi::Property< std::vector< int > > m_availableErrorCodes
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Handle to LArOnOffIdMapping (former LArCablingService).
std::vector< int > m_CaloNoiseGroupArrEM
for tools array
Gaudi::Property< int > m_Nsample
Gaudi::Property< EventContext::ContextEvt_t > m_nevents
Properties.
Gaudi::Property< int > m_NftHEC
Gaudi::Property< int > m_Nchannels
Gaudi::Property< int > m_NftEMEC
std::map< std::string, int > m_CoverageToolArrayHECC
Gaudi::Property< std::vector< std::string > > m_problemsToMask
Handle to bad-channel tools.
Gaudi::Property< std::string > m_BadChannelsGroupName
std::map< std::string, int > m_CoverageToolArrayEMECC
std::map< std::string, int > m_BadChannelToolArrayEndcap
SG::ReadCondHandleKey< LArBadFebCont > m_BFKey
Gaudi::Property< int > m_NslotEMB
const LArFCAL_ID * m_LArFCAL_IDHelper
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
Gaudi::Property< std::vector< std::string > > m_Sides
Gaudi::Property< int > m_NslotFCAL
Gaudi::Property< std::vector< std::string > > m_CoverageEndcapPartitions
std::map< std::string, int > m_CoverageToolArrayHECA
std::map< std::string, int > m_CoverageToolArrayEMECA
Gaudi::Property< std::vector< std::string > > m_CoverageBarrelPartitions
SG::ReadHandleKey< LArRawChannelContainer > m_rawChannelsKey
Gaudi::Property< int > m_NphiBinsEMB1
Gaudi::Property< std::vector< int > > m_NphiBinsHEC
const LArHEC_ID * m_LArHEC_IDHelper
std::map< std::string, int > m_CoverageToolArrayFCalA
Gaudi::Property< int > m_NslotHEC
Gaudi::Property< int > m_NftEMB
Gaudi::Property< std::string > m_CoverageHWGroupName
std::vector< int > m_CaloNoiseGroupArrHEC
SG::ReadCondHandleKey< LArBadChannelCont > m_BCKey
SG::ReadCondHandleKey< CaloNoise > m_noiseCDOKey
Key for CaloNoise.
std::map< std::string, int > m_CoverageToolArrayEMBC
const CaloIdManager * m_caloIdMgr
std::map< std::string, int > m_CoverageToolArrayEMBA
Gaudi::Property< int > m_NslotEMEC
LArBadChannelMask m_bcMask
Gaudi::Property< std::string > m_CaloNoiseToolGroupName
const std::array< CaloGain::CaloGain, CaloCell_Base_ID::NSUBCALO > m_highestGain
for CaloNoise
std::map< std::string, int > m_CoverageToolArrayFCalC
std::map< std::string, int > m_BadChannelToolArrayBarrel
const LArEM_ID * m_LArEM_IDHelper
Gaudi::Property< int > m_NphiBinsEMEC2
std::vector< int > m_CaloNoiseGroupArrFCAL
const LArOnlineID * m_LArOnlineIDHelper
std::vector< std::pair< int, std::string > > m_availableErrorCodesPairs
Helper class for LArEM offline identifiers.
Definition LArEM_ID.h:111
Helper class for LArFCAL offline identifiers.
Definition LArFCAL_ID.h:49
Helper class for LArHEC offline identifiers.
Definition LArHEC_ID.h:76
Property holding a SG store/key/clid from which a ReadHandle is made.
@ LARMEDIUMGAIN
Definition CaloGain.h:18
@ TILEHIGHHIGH
Definition CaloGain.h:15
@ LARHIGHGAIN
Definition CaloGain.h:18
void initialize()