ATLAS Offline Software
JfexMonitorAlgorithm.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 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 
26 
27 
29  public:
30  JfexMonitorAlgorithm( const std::string& name, ISvcLocator* pSvcLocator );
31  virtual ~JfexMonitorAlgorithm()=default;
32  virtual StatusCode initialize() override;
33  virtual StatusCode fillHistograms( const EventContext& ctx ) const override;
34 
35  private:
36  mutable bool m_firstEvent = true;
38 
39  StringProperty m_Grouphist{this,"Grouphist","JfexMonitor","group name for histograming"};
40  StringProperty m_Groupmaps{this,"Groupmaps","jFEXMaps","group name for jFEX TOB maps"};
41  StringProperty m_GroupmapsHighPt{this,"GroupmapsHighPt","jFEXMapsHighPt","group name for jFEX TOB maps with higher energy thresholds"};
42  Gaudi::Property<std::vector<float>> m_jJEtaBins{this,"jJEtaBins"};
43  Gaudi::Property<std::vector<float>> m_jTauEtaBins{this,"jTauEtaBins"};
44  Gaudi::Property<std::vector<float>> m_jEMEtaBins{this,"jEMEtaBins"};
45 
46 
47  // container keys including this, steering parameter, default value and help description
48  SG::ReadHandleKey< xAOD::jFexSRJetRoIContainer > m_jFexSRJetContainerKey {this,"jFexSRJetRoIContainer","L1_jFexSRJetRoI","SG key of the input jFex SR Jet Roi container"};
49  SG::ReadHandleKey< xAOD::jFexLRJetRoIContainer > m_jFexLRJetContainerKey {this,"jFexLRJetRoIContainer","L1_jFexLRJetRoI","SG key of the input jFex LR Jet Roi container"};
50  SG::ReadHandleKey< xAOD::jFexTauRoIContainer > m_jFexTauContainerKey {this,"jFexTauRoIContainer" ,"L1_jFexTauRoI" ,"SG key of the input jFex Tau Roi container"};
51  SG::ReadHandleKey< xAOD::jFexFwdElRoIContainer > m_jFexFwdElContainerKey {this,"jFexFwdElRoIContainer","L1_jFexFwdElRoI","SG key of the input jFex EM Roi container"};
52  SG::ReadHandleKey< xAOD::jFexMETRoIContainer > m_jFexMETContainerKey {this,"jFexMETRoIContainer" ,"L1_jFexMETRoI" ,"SG key of the input jFex MET Roi container"};
53  SG::ReadHandleKey< xAOD::jFexSumETRoIContainer > m_jFexSumEtContainerKey {this,"jFexSumETRoIContainer","L1_jFexSumETRoI","SG key of the input jFex SumEt Roi container"};
54 
55  int binNumberFromCoordinates(float eta, float phi, const std::vector<float>& etaBinBorders) const;
56 
60  Monitored::Scalar<int> &binNumber,
66  Monitored::Scalar<int> &binNumber,
69  // for filling maps where phi binning is ~0.1
70  template<typename TOB>
74  Monitored::Scalar<int> &binNumber,
76  const std::vector<float>& etaBinBorders,
78  // for faking ~0.2 phi binning in endcap
79  template<typename TOB>
80  StatusCode fillMapsEndcap(TOB tob,
83  Monitored::Scalar<int> &binNumber,
85  const std::vector<float>& etaBinBorders,
87  // special handling for jets in endcap/FCAL overlap
91  Monitored::Scalar<int> &binNumber,
93  const std::vector<float>& etaBinBorders,
95 
96  bool passesEnergyCut(const xAOD::jFexSRJetRoI *tob) const;
97  bool passesEnergyCut(const xAOD::jFexFwdElRoI *tob) const;
98  bool passesEnergyCut(const xAOD::jFexTauRoI *tob) const;
99 };
100 #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:13
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:51
jFexLRJetRoI.h
BeamSpot::mutex
std::mutex mutex
Definition: InDetBeamSpotVertex.cxx:18
JfexMonitorAlgorithm::m_jFexMETContainerKey
SG::ReadHandleKey< xAOD::jFexMETRoIContainer > m_jFexMETContainerKey
Definition: JfexMonitorAlgorithm.h:52
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:53
jFexTauRoIContainer.h
JfexMonitorAlgorithm::m_jFexLRJetContainerKey
SG::ReadHandleKey< xAOD::jFexLRJetRoIContainer > m_jFexLRJetContainerKey
Definition: JfexMonitorAlgorithm.h:49
JfexMonitorAlgorithm::m_jJEtaBins
Gaudi::Property< std::vector< float > > m_jJEtaBins
Definition: JfexMonitorAlgorithm.h:42
ATLAS_NO_CHECK_FILE_THREAD_SAFETY
ATLAS_NO_CHECK_FILE_THREAD_SAFETY
Definition: JfexMonitorAlgorithm.h:25
jFexFwdElRoI.h
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:189
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:327
JfexMonitorAlgorithm::passesEnergyCut
bool passesEnergyCut(const xAOD::jFexSRJetRoI *tob) const
Definition: JfexMonitorAlgorithm.cxx:389
jFexLRJetRoIContainer.h
JfexMonitorAlgorithm::m_firstEvent
bool m_firstEvent
Definition: JfexMonitorAlgorithm.h:36
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:360
JfexMonitorAlgorithm::m_jTauEtaBins
Gaudi::Property< std::vector< float > > m_jTauEtaBins
Definition: JfexMonitorAlgorithm.h:43
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:339
JfexMonitorAlgorithm::m_GroupmapsHighPt
StringProperty m_GroupmapsHighPt
Definition: JfexMonitorAlgorithm.h:41
JfexMonitorAlgorithm::fillHistograms
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
Definition: JfexMonitorAlgorithm.cxx:48
Monitored.h
Header file to be included by clients of the Monitored infrastructure.
JfexMonitorAlgorithm::initialize
virtual StatusCode initialize() override
initialize
Definition: JfexMonitorAlgorithm.cxx:18
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:294
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
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:312
JfexMonitorAlgorithm::m_Groupmaps
StringProperty m_Groupmaps
Definition: JfexMonitorAlgorithm.h:40
jFexMETRoI.h
JfexMonitorAlgorithm::binNumberFromCoordinates
int binNumberFromCoordinates(float eta, float phi, const std::vector< float > &etaBinBorders) const
Definition: JfexMonitorAlgorithm.cxx:403
JfexMonitorAlgorithm::m_mutex
std::mutex m_mutex
Definition: JfexMonitorAlgorithm.h:37
JfexMonitorAlgorithm::m_Grouphist
StringProperty m_Grouphist
Definition: JfexMonitorAlgorithm.h:39
jFexTauRoI.h
JfexMonitorAlgorithm
Definition: JfexMonitorAlgorithm.py:1
JfexMonitorAlgorithm::m_jFexSRJetContainerKey
SG::ReadHandleKey< xAOD::jFexSRJetRoIContainer > m_jFexSRJetContainerKey
Definition: JfexMonitorAlgorithm.h:48
JfexMonitorAlgorithm::~JfexMonitorAlgorithm
virtual ~JfexMonitorAlgorithm()=default
Monitored::Scalar
Declare a monitored scalar variable.
Definition: MonitoredScalar.h:34
checker_macros.h
Define macros for attributes used to control the static checker.
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:44
JfexMonitorAlgorithm::m_jFexTauContainerKey
SG::ReadHandleKey< xAOD::jFexTauRoIContainer > m_jFexTauContainerKey
Definition: JfexMonitorAlgorithm.h:50