ATLAS Offline Software
Loading...
Searching...
No Matches
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
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
54 StatusCode fillJetMaps(const xAOD::jFexSRJetRoI *tob,
57 Monitored::Scalar<int> &binNumber,
59 Monitored::Scalar<float> &weight) const;
60 StatusCode fillEMMaps(const xAOD::jFexFwdElRoI *tob,
63 Monitored::Scalar<int> &binNumber,
65 Monitored::Scalar<float> &weight) const;
66 // for filling maps where phi binning is ~0.1
67 template<typename TOB>
68 StatusCode fillMapsCentralAndFCAL(TOB tob,
71 Monitored::Scalar<int> &binNumber,
73 const std::vector<float>& etaBinBorders,
74 Monitored::Scalar<float> &weight) const;
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,
83 Monitored::Scalar<float> &weight) const;
84 // special handling for jets in endcap/FCAL overlap
85 StatusCode fillMapsOverlap(const xAOD::jFexSRJetRoI* tob,
88 Monitored::Scalar<int> &binNumber,
90 const std::vector<float>& etaBinBorders,
91 Monitored::Scalar<float> &weight) const;
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
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
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.
StringProperty m_GroupmapsHighPt
SG::ReadHandleKey< xAOD::jFexTauRoIContainer > m_jFexTauContainerKey
SG::ReadHandleKey< xAOD::jFexFwdElRoIContainer > m_jFexFwdElContainerKey
Gaudi::Property< std::vector< float > > m_jEMEtaBins
SG::ReadHandleKey< xAOD::jFexSumETRoIContainer > m_jFexSumEtContainerKey
Gaudi::Property< std::vector< float > > m_jJEtaBins
SG::ReadHandleKey< xAOD::jFexMETRoIContainer > m_jFexMETContainerKey
Gaudi::Property< std::vector< float > > m_jTauEtaBins
SG::ReadHandleKey< xAOD::jFexSRJetRoIContainer > m_jFexSRJetContainerKey
virtual ~JfexMonitorAlgorithm()=default
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
SG::ReadHandleKey< xAOD::jFexLRJetRoIContainer > m_jFexLRJetContainerKey
Declare a monitored scalar variable.
Property holding a SG store/key/clid from which a ReadHandle is made.
jFexFwdElRoI_v1 jFexFwdElRoI
Define the latest version of the jFexFwdElJetRoI class.
jFexTauRoI_v1 jFexTauRoI
Define the latest version of the jFexSRJetRoI class.
Definition jFexTauRoI.h:13
jFexSRJetRoI_v1 jFexSRJetRoI
Define the latest version of the jFexSRJetRoI class.
void initialize()