ATLAS Offline Software
Loading...
Searching...
No Matches
CaloMonAlgBase.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef CALOMONITORING_CALOMONALGBASE
6#define CALOMONITORING_CALOMONALGBASE
7
12
14public:
15
16 CaloMonAlgBase(const std::string& name, ISvcLocator* pSvcLocator);
17
18 virtual ~CaloMonAlgBase() = default;
19
20 virtual StatusCode initialize() override;
21
22 StatusCode checkFilters(bool &ifPass, bool &passBeamBackgroundRemoval, const std::string &MonGroupName, const EventContext &ctx) const;
23
24private:
25 // LArCollisionTime name
26 SG::ReadHandleKey<LArCollisionTime> m_LArCollisionTimeKey{this,"LArCollisionTimeKey","LArCollisionTime"};
27 SG::ReadHandleKey<BeamBackgroundData> m_beamBackgroundKey{this,"BeamBackgroundKey","CSCBackgroundForCaloMon"};
28
29 // Handles on filtering tools
30 Gaudi::Property<bool> m_useBadLBTool{this, "useBadLBTool", false};
31 ToolHandle<IDQFilterTool> m_BadLBTool{this, "BadLBTool","DQBadLBFilterTool"};
32 Gaudi::Property<bool> m_useReadyFilterTool{this, "useReadyFilterTool", true};
33 ToolHandle<IDQFilterTool> m_ReadyFilterTool{this, "ReadyFilterTool", "DQAtlasReadyFilterTool"};
34
35 Gaudi::Property<bool> m_useLArNoisyAlg{this, "useLArNoisyAlg", false};
36 //bool m_useTriggerFilter;
37 Gaudi::Property<bool> m_useCollisionFilterTool{this, "useLArCollisionFilterTool", true};
38 Gaudi::Property<bool> m_useBeamBackgroundRemoval{this, "useBeamBackgroundRemoval", false};
39
40protected:
41
42 // Common methods for LArCell-oriented histograms
43 const CaloCell_ID* m_calo_id{nullptr};
44
45 void getHistoCoordinates(const CaloDetDescrElement* dde, float& celleta, float& cellphi, unsigned& iLyr, unsigned& iLyrNS) const;
46 //enums to help with the conversion of Layer, partitions and such:
47 //Enumerate layers
52
53 //Enumerate layer-types, ignoring sides. Useful for configuration that is per-definition symmetric
56
57 //Mapping of CaloCell nomencature to CaloCellMonitoring nomencature
58 const std::map<unsigned,LayerEnumNoSides> m_caloSamplingToLyrNS{
59 {CaloSampling::PreSamplerB, EMBPNS},{CaloSampling::EMB1,EMB1NS},{CaloSampling::EMB2,EMB2NS},{CaloSampling::EMB3,EMB3NS}, //LAr Barrel
60 {CaloSampling::PreSamplerE, EMECPNS},{CaloSampling::EME1,EMEC1NS}, {CaloSampling::EME2,EMEC2NS}, {CaloSampling::EME3,EMEC3NS}, //LAr Endcap
61 {CaloSampling::HEC0,HEC0NS}, {CaloSampling::HEC1,HEC1NS}, {CaloSampling::HEC2,HEC2NS}, {CaloSampling::HEC3,HEC3NS}, //Hadronic endcap
62 {CaloSampling::FCAL0,FCAL1NS}, {CaloSampling::FCAL1,FCAL2NS}, {CaloSampling::FCAL2,FCAL3NS} //FCAL
63 };
64};
65
66#endif
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Helper class for offline cell identifiers.
Definition CaloCell_ID.h:34
This class groups all DetDescr information related to a CaloCell.
ToolHandle< IDQFilterTool > m_ReadyFilterTool
Gaudi::Property< bool > m_useBeamBackgroundRemoval
Gaudi::Property< bool > m_useCollisionFilterTool
Gaudi::Property< bool > m_useLArNoisyAlg
StatusCode checkFilters(bool &ifPass, bool &passBeamBackgroundRemoval, const std::string &MonGroupName, const EventContext &ctx) const
Gaudi::Property< bool > m_useBadLBTool
SG::ReadHandleKey< LArCollisionTime > m_LArCollisionTimeKey
ToolHandle< IDQFilterTool > m_BadLBTool
const std::map< unsigned, LayerEnumNoSides > m_caloSamplingToLyrNS
virtual ~CaloMonAlgBase()=default
Gaudi::Property< bool > m_useReadyFilterTool
const CaloCell_ID * m_calo_id
SG::ReadHandleKey< BeamBackgroundData > m_beamBackgroundKey
Property holding a SG store/key/clid from which a ReadHandle is made.
void initialize()