ATLAS Offline Software
JfexMonitorAlgorithm.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef TRIGT1CALOMONITORING_JFEXMONITORALGORITHM_H
5 #define TRIGT1CALOMONITORING_JFEXMONITORALGORITHM_H
6 
10 
16 #include "xAODTrigger/jFexTauRoI.h"
20 #include "xAODTrigger/jFexMETRoI.h"
23 
24 #include <mutex>
25 
27  public:
28  JfexMonitorAlgorithm( const std::string& name, ISvcLocator* pSvcLocator );
29  virtual ~JfexMonitorAlgorithm()=default;
30  virtual StatusCode initialize() override;
31  virtual StatusCode fillHistograms( const EventContext& ctx ) const override;
32 
33  private:
34  mutable std::once_flag m_initOnce;
35 
36  StringProperty m_Grouphist{this,"Grouphist","JfexMonitor","group name for histograming"};
37  StringProperty m_Groupmaps{this,"Groupmaps","jFEXMaps","group name for jFEX TOB maps"};
38  StringProperty m_GroupmapsHighPt{this,"GroupmapsHighPt","jFEXMapsHighPt","group name for jFEX TOB maps with higher energy thresholds"};
39  Gaudi::Property<std::vector<float>> m_jJEtaBins{this,"jJEtaBins"};
40  Gaudi::Property<std::vector<float>> m_jTauEtaBins{this,"jTauEtaBins"};
41  Gaudi::Property<std::vector<float>> m_jEMEtaBins{this,"jEMEtaBins"};
42 
43 
44  // container keys including this, steering parameter, default value and help description
45  SG::ReadHandleKey< xAOD::jFexSRJetRoIContainer > m_jFexSRJetContainerKey {this,"jFexSRJetRoIContainer","L1_jFexSRJetRoI","SG key of the input jFex SR Jet Roi container"};
46  SG::ReadHandleKey< xAOD::jFexLRJetRoIContainer > m_jFexLRJetContainerKey {this,"jFexLRJetRoIContainer","L1_jFexLRJetRoI","SG key of the input jFex LR Jet Roi container"};
47  SG::ReadHandleKey< xAOD::jFexTauRoIContainer > m_jFexTauContainerKey {this,"jFexTauRoIContainer" ,"L1_jFexTauRoI" ,"SG key of the input jFex Tau Roi container"};
48  SG::ReadHandleKey< xAOD::jFexFwdElRoIContainer > m_jFexFwdElContainerKey {this,"jFexFwdElRoIContainer","L1_jFexFwdElRoI","SG key of the input jFex EM Roi container"};
49  SG::ReadHandleKey< xAOD::jFexMETRoIContainer > m_jFexMETContainerKey {this,"jFexMETRoIContainer" ,"L1_jFexMETRoI" ,"SG key of the input jFex MET Roi container"};
50  SG::ReadHandleKey< xAOD::jFexSumETRoIContainer > m_jFexSumEtContainerKey {this,"jFexSumETRoIContainer","L1_jFexSumETRoI","SG key of the input jFex SumEt Roi container"};
51 
52  int binNumberFromCoordinates(float eta, float phi, const std::vector<float>& etaBinBorders) const;
53 
57  Monitored::Scalar<int> &binNumber,
63  Monitored::Scalar<int> &binNumber,
66  // for filling maps where phi binning is ~0.1
67  template<typename TOB>
71  Monitored::Scalar<int> &binNumber,
73  const std::vector<float>& etaBinBorders,
75  // for faking ~0.2 phi binning in endcap
76  template<typename TOB>
77  StatusCode fillMapsEndcap(TOB tob,
80  Monitored::Scalar<int> &binNumber,
82  const std::vector<float>& etaBinBorders,
84  // special handling for jets in endcap/FCAL overlap
88  Monitored::Scalar<int> &binNumber,
90  const std::vector<float>& etaBinBorders,
92 
93  bool passesEnergyCut(const xAOD::jFexSRJetRoI *tob) const;
94  bool passesEnergyCut(const xAOD::jFexFwdElRoI *tob) const;
95  bool passesEnergyCut(const xAOD::jFexTauRoI *tob) const;
96 };
97 #endif
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
jFexFwdElRoIContainer.h
JfexMonitorAlgorithm::JfexMonitorAlgorithm
JfexMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Definition: JfexMonitorAlgorithm.cxx:11
xAOD::jFexTauRoI_v1
Class describing properties of a LVL1 jFEX global Trigger Object (TOB) in the xAOD format.
Definition: jFexTauRoI_v1.h:23
xAOD::jFexSRJetRoI_v1
Class describing properties of a LVL1 jFEX global Trigger Object (TOB) in the xAOD format.
Definition: jFexSRJetRoI_v1.h:23
jFexSumETRoIContainer.h
JfexMonitorAlgorithm::m_jFexFwdElContainerKey
SG::ReadHandleKey< xAOD::jFexFwdElRoIContainer > m_jFexFwdElContainerKey
Definition: JfexMonitorAlgorithm.h:48
jFexLRJetRoI.h
JfexMonitorAlgorithm::m_jFexMETContainerKey
SG::ReadHandleKey< xAOD::jFexMETRoIContainer > m_jFexMETContainerKey
Definition: JfexMonitorAlgorithm.h:49
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
JfexMonitorAlgorithm::m_jFexSumEtContainerKey
SG::ReadHandleKey< xAOD::jFexSumETRoIContainer > m_jFexSumEtContainerKey
Definition: JfexMonitorAlgorithm.h:50
jFexTauRoIContainer.h
JfexMonitorAlgorithm::m_jFexLRJetContainerKey
SG::ReadHandleKey< xAOD::jFexLRJetRoIContainer > m_jFexLRJetContainerKey
Definition: JfexMonitorAlgorithm.h:46
JfexMonitorAlgorithm::m_jJEtaBins
Gaudi::Property< std::vector< float > > m_jJEtaBins
Definition: JfexMonitorAlgorithm.h:39
jFexFwdElRoI.h
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:190
AthMonitorAlgorithm
Base class for Athena Monitoring Algorithms.
Definition: AthMonitorAlgorithm.h:36
JfexMonitorAlgorithm::fillMapsCentralAndFCAL
StatusCode fillMapsCentralAndFCAL(TOB tob, Monitored::Scalar< float > &eta, Monitored::Scalar< float > &phi, Monitored::Scalar< int > &binNumber, Monitored::Scalar< int > &lbn, const std::vector< float > &etaBinBorders, Monitored::Scalar< float > &weight) const
Definition: JfexMonitorAlgorithm.cxx:315
JfexMonitorAlgorithm::passesEnergyCut
bool passesEnergyCut(const xAOD::jFexSRJetRoI *tob) const
Definition: JfexMonitorAlgorithm.cxx:377
jFexLRJetRoIContainer.h
jFexSRJetRoI.h
JfexMonitorAlgorithm::fillMapsOverlap
StatusCode fillMapsOverlap(const xAOD::jFexSRJetRoI *tob, Monitored::Scalar< float > &eta, Monitored::Scalar< float > &phi, Monitored::Scalar< int > &binNumber, Monitored::Scalar< int > &lbn, const std::vector< float > &etaBinBorders, Monitored::Scalar< float > &weight) const
Definition: JfexMonitorAlgorithm.cxx:348
JfexMonitorAlgorithm::m_jTauEtaBins
Gaudi::Property< std::vector< float > > m_jTauEtaBins
Definition: JfexMonitorAlgorithm.h:40
jFexSRJetRoIContainer.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthMonitorAlgorithm.h
jFexSumETRoI.h
JfexMonitorAlgorithm::fillMapsEndcap
StatusCode fillMapsEndcap(TOB tob, Monitored::Scalar< float > &eta, Monitored::Scalar< float > &phi, Monitored::Scalar< int > &binNumber, Monitored::Scalar< int > &lbn, const std::vector< float > &etaBinBorders, Monitored::Scalar< float > &weight) const
Definition: JfexMonitorAlgorithm.cxx:327
JfexMonitorAlgorithm::m_GroupmapsHighPt
StringProperty m_GroupmapsHighPt
Definition: JfexMonitorAlgorithm.h:38
JfexMonitorAlgorithm::fillHistograms
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
Definition: JfexMonitorAlgorithm.cxx:39
Monitored.h
Header file to be included by clients of the Monitored infrastructure.
JfexMonitorAlgorithm::initialize
virtual StatusCode initialize() override
initialize
Definition: JfexMonitorAlgorithm.cxx:16
JfexMonitorAlgorithm::fillJetMaps
StatusCode fillJetMaps(const xAOD::jFexSRJetRoI *tob, Monitored::Scalar< float > &eta, Monitored::Scalar< float > &phi, Monitored::Scalar< int > &binNumber, Monitored::Scalar< int > &lbn, Monitored::Scalar< float > &weight) const
Definition: JfexMonitorAlgorithm.cxx:282
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
JfexMonitorAlgorithm::fillEMMaps
StatusCode fillEMMaps(const xAOD::jFexFwdElRoI *tob, Monitored::Scalar< float > &eta, Monitored::Scalar< float > &phi, Monitored::Scalar< int > &binNumber, Monitored::Scalar< int > &lbn, Monitored::Scalar< float > &weight) const
Definition: JfexMonitorAlgorithm.cxx:300
JfexMonitorAlgorithm::m_Groupmaps
StringProperty m_Groupmaps
Definition: JfexMonitorAlgorithm.h:37
jFexMETRoI.h
JfexMonitorAlgorithm::m_initOnce
std::once_flag m_initOnce
Definition: JfexMonitorAlgorithm.h:34
JfexMonitorAlgorithm::binNumberFromCoordinates
int binNumberFromCoordinates(float eta, float phi, const std::vector< float > &etaBinBorders) const
Definition: JfexMonitorAlgorithm.cxx:391
JfexMonitorAlgorithm::m_Grouphist
StringProperty m_Grouphist
Definition: JfexMonitorAlgorithm.h:36
jFexTauRoI.h
JfexMonitorAlgorithm
Definition: JfexMonitorAlgorithm.py:1
JfexMonitorAlgorithm::m_jFexSRJetContainerKey
SG::ReadHandleKey< xAOD::jFexSRJetRoIContainer > m_jFexSRJetContainerKey
Definition: JfexMonitorAlgorithm.h:45
JfexMonitorAlgorithm::~JfexMonitorAlgorithm
virtual ~JfexMonitorAlgorithm()=default
Monitored::Scalar
Declare a monitored scalar variable.
Definition: MonitoredScalar.h:34
xAOD::jFexFwdElRoI_v1
Class describing properties of a LVL1 jFEX global Trigger Object (TOB) in the xAOD format.
Definition: jFexFwdElRoI_v1.h:23
jFexMETRoIContainer.h
JfexMonitorAlgorithm::m_jEMEtaBins
Gaudi::Property< std::vector< float > > m_jEMEtaBins
Definition: JfexMonitorAlgorithm.h:41
JfexMonitorAlgorithm::m_jFexTauContainerKey
SG::ReadHandleKey< xAOD::jFexTauRoIContainer > m_jFexTauContainerKey
Definition: JfexMonitorAlgorithm.h:47