ATLAS Offline Software
GfexMonitorAlgorithm.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef TRIGT1CALOMONITORING_GFEXMONITORALGORITHM_H
5 #define TRIGT1CALOMONITORING_GFEXMONITORALGORITHM_H
6 
10 #include "xAODTrigger/gFexJetRoI.h"
14 
16 public:GfexMonitorAlgorithm( const std::string& name, ISvcLocator* pSvcLocator );
17  virtual ~GfexMonitorAlgorithm()=default;
18  virtual StatusCode initialize() override;
19  virtual StatusCode fillHistograms( const EventContext& ctx ) const override;
20 
21 private:
22  // Private members
23  enum class FPGAType {FPGAa, FPGAb, FPGAc, None};
24  std::map<std::string, std::pair<std::string, std::string>> m_globTobVarMap;
25  StringProperty m_packageName{this,"PackageName","gfexMonitor","group name for histograming"};
26  FloatArrayProperty m_ptCutValuesgLJ{this, "ptCutValuesgLJ", { 0., 30., 400.}, "List of lower pt cut values, -1. for not cut applied."};
27  FloatArrayProperty m_ptCutValuesgJ{this, "ptCutValuesgJ", { 0., 100.}, "List of lower pt cut values, -1. for not cut applied."};
28  // Define read handles
29  SG::ReadHandleKeyArray<xAOD::gFexJetRoIContainer> m_gFexJetTobKeyList{this,"gFexJetTobKeyList",{"L1_gFexLRJetRoI", "L1_gFexSRJetRoI"},"Array of gFEX jet ReadHandleKeys to fill histograms for"};
30  SG::ReadHandleKeyArray<xAOD::gFexJetRoIContainer> m_gFexRhoTobKeyList{this,"gFexRhoTobKeyList",{"L1_gFexRhoRoI"},"Array of gFEX rho ReadHandleKeys to fill histograms for"};
31  SG::ReadHandleKeyArray<xAOD::gFexGlobalRoIContainer> m_gFexGlobalTobKeyList{this,"gFexGlobalTobKeyList", {"L1_gScalarEJwoj","L1_gMETComponentsJwoj","L1_gMHTComponentsJwoj","L1_gMSTComponentsJwoj"},"Array of gFEX global TOBs ReadHandleKeys to fill histograms for"};
32  // Define private methods
33  StatusCode fillJetHistograms(const std::string& handleKey, const xAOD::gFexJetRoIContainer* container, const float& ptCutValue, const auto& lbn) const;
34  StatusCode fillRhoHistograms(const std::string& handleKey, const xAOD::gFexJetRoIContainer* container) const;
35  StatusCode fillGlobalTobHistograms(const std::string& handleKey, const xAOD::gFexGlobalRoIContainer* container) const;
36  FPGAType getFPGAType(const float& eta) const;
37  int getBinNumberJet (float ,float , int , int ) const;
38 };
39 #endif
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
GfexMonitorAlgorithm::fillHistograms
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
Definition: GfexMonitorAlgorithm.cxx:46
GfexMonitorAlgorithm::FPGAType::FPGAb
@ FPGAb
GfexMonitorAlgorithm::GfexMonitorAlgorithm
GfexMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Definition: GfexMonitorAlgorithm.cxx:14
gFexGlobalRoIContainer.h
GfexMonitorAlgorithm::m_gFexJetTobKeyList
SG::ReadHandleKeyArray< xAOD::gFexJetRoIContainer > m_gFexJetTobKeyList
Definition: GfexMonitorAlgorithm.h:29
SG::HandleKeyArray
Definition: StoreGate/StoreGate/HandleKeyArray.h:38
gFexGlobalRoI.h
GfexMonitorAlgorithm::m_gFexRhoTobKeyList
SG::ReadHandleKeyArray< xAOD::gFexJetRoIContainer > m_gFexRhoTobKeyList
Definition: GfexMonitorAlgorithm.h:30
GfexMonitorAlgorithm::m_gFexGlobalTobKeyList
SG::ReadHandleKeyArray< xAOD::gFexGlobalRoIContainer > m_gFexGlobalTobKeyList
Definition: GfexMonitorAlgorithm.h:31
AthMonitorAlgorithm
Base class for Athena Monitoring Algorithms.
Definition: AthMonitorAlgorithm.h:36
GfexMonitorAlgorithm::~GfexMonitorAlgorithm
virtual ~GfexMonitorAlgorithm()=default
GfexMonitorAlgorithm
Definition: GfexMonitorAlgorithm.py:1
gFexJetRoIContainer.h
GfexMonitorAlgorithm::initialize
virtual StatusCode initialize() override
initialize
Definition: GfexMonitorAlgorithm.cxx:19
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthMonitorAlgorithm.h
GfexMonitorAlgorithm::m_ptCutValuesgLJ
FloatArrayProperty m_ptCutValuesgLJ
Definition: GfexMonitorAlgorithm.h:26
GfexMonitorAlgorithm::fillRhoHistograms
StatusCode fillRhoHistograms(const std::string &handleKey, const xAOD::gFexJetRoIContainer *container) const
Definition: GfexMonitorAlgorithm.cxx:138
GfexMonitorAlgorithm::m_globTobVarMap
std::map< std::string, std::pair< std::string, std::string > > m_globTobVarMap
Definition: GfexMonitorAlgorithm.h:24
GfexMonitorAlgorithm::fillGlobalTobHistograms
StatusCode fillGlobalTobHistograms(const std::string &handleKey, const xAOD::gFexGlobalRoIContainer *container) const
Definition: GfexMonitorAlgorithm.cxx:147
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
GfexMonitorAlgorithm::FPGAType::None
@ None
Monitored.h
Header file to be included by clients of the Monitored infrastructure.
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
gFexJetRoI.h
GfexMonitorAlgorithm::FPGAType
FPGAType
Definition: GfexMonitorAlgorithm.h:23
GfexMonitorAlgorithm::getBinNumberJet
int getBinNumberJet(float, float, int, int) const
Definition: GfexMonitorAlgorithm.cxx:174
GfexMonitorAlgorithm::m_ptCutValuesgJ
FloatArrayProperty m_ptCutValuesgJ
Definition: GfexMonitorAlgorithm.h:27
GfexMonitorAlgorithm::FPGAType::FPGAa
@ FPGAa
GfexMonitorAlgorithm::m_packageName
StringProperty m_packageName
Definition: GfexMonitorAlgorithm.h:25
GfexMonitorAlgorithm::getFPGAType
FPGAType getFPGAType(const float &eta) const
Definition: GfexMonitorAlgorithm.cxx:167
GfexMonitorAlgorithm::fillJetHistograms
StatusCode fillJetHistograms(const std::string &handleKey, const xAOD::gFexJetRoIContainer *container, const float &ptCutValue, const auto &lbn) const
Definition: GfexMonitorAlgorithm.cxx:105
LB_AnalMapSplitter.lbn
lbn
Definition: LB_AnalMapSplitter.py:28
GfexMonitorAlgorithm::FPGAType::FPGAc
@ FPGAc