ATLAS Offline Software
CaloMuonLikelihoodTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef CALOTRKMUIDTOOLS_CALOMUONLIKELIHOODTOOL_H
6 #define CALOTRKMUIDTOOLS_CALOMUONLIKELIHOODTOOL_H
7 
8 #include <vector>
9 
11 #include "CaloEvent/CaloClusterContainer.h"
12 #include "GaudiKernel/ToolHandle.h"
15 
16 class TH1F;
17 
26 public:
27  CaloMuonLikelihoodTool(const std::string& type, const std::string& name, const IInterface* parent);
28  virtual ~CaloMuonLikelihoodTool() = default;
29 
30  virtual StatusCode initialize();
31 
32  double getLHR(const xAOD::TrackParticle* trk, const xAOD::CaloClusterContainer* ClusCollection = nullptr,
33  const double dR_CUT = 0.3) const;
34  double getLHR(const xAOD::CaloClusterContainer* ClusCollection, const double eta_trk, const double p_trk, const double eta_trkAtCalo,
35  const double phi_trkAtCalo, const double dR_CUT = 0.3) const;
36 
37 private:
39 
40  std::unique_ptr<const TH1F> m_TH1F_sig[9][11]{};
41  std::unique_ptr<const TH1F> m_TH1F_bkg[9][11]{};
42  std::string m_TH1F_key[9][11]{};
43  int m_numKeys[9]{};
44  mutable std::atomic_int m_cnt_warn{0};
45 
46  ToolHandle<Trk::IParticleCaloExtensionTool> m_caloExtensionTool{this, "ParticleCaloExtensionTool", ""};
47  Gaudi::Property<std::string> m_calibRelease{this, "CalibRelease", "CaloTrkMuIdTools/cutBased_release21"};
48 
49  std::vector<std::string> m_fileNames;
50 };
51 
52 #endif
CaloMuonLikelihoodTool::m_numKeys
int m_numKeys[9]
Definition: CaloMuonLikelihoodTool.h:43
CaloMuonLikelihoodTool::m_cnt_warn
std::atomic_int m_cnt_warn
Definition: CaloMuonLikelihoodTool.h:44
CaloMuonLikelihoodTool::retrieveHistograms
StatusCode retrieveHistograms()
Definition: CaloMuonLikelihoodTool.cxx:54
CaloMuonLikelihoodTool
Definition: CaloMuonLikelihoodTool.h:25
CaloMuonLikelihoodTool::getLHR
double getLHR(const xAOD::TrackParticle *trk, const xAOD::CaloClusterContainer *ClusCollection=nullptr, const double dR_CUT=0.3) const
Definition: CaloMuonLikelihoodTool.cxx:129
CaloMuonLikelihoodTool::m_TH1F_key
std::string m_TH1F_key[9][11]
Definition: CaloMuonLikelihoodTool.h:42
CaloMuonLikelihoodTool::m_caloExtensionTool
ToolHandle< Trk::IParticleCaloExtensionTool > m_caloExtensionTool
Definition: CaloMuonLikelihoodTool.h:46
ICaloMuonLikelihoodTool
Definition: ICaloMuonLikelihoodTool.h:15
ICaloMuonLikelihoodTool.h
CaloMuonLikelihoodTool::m_fileNames
std::vector< std::string > m_fileNames
Definition: CaloMuonLikelihoodTool.h:49
CaloMuonLikelihoodTool::m_TH1F_sig
std::unique_ptr< const TH1F > m_TH1F_sig[9][11]
Definition: CaloMuonLikelihoodTool.h:40
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
CaloMuonLikelihoodTool::m_TH1F_bkg
std::unique_ptr< const TH1F > m_TH1F_bkg[9][11]
Definition: CaloMuonLikelihoodTool.h:41
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
CaloMuonLikelihoodTool::~CaloMuonLikelihoodTool
virtual ~CaloMuonLikelihoodTool()=default
CaloMuonLikelihoodTool::initialize
virtual StatusCode initialize()
Definition: CaloMuonLikelihoodTool.cxx:35
IParticleCaloExtensionTool.h
CaloMuonLikelihoodTool::m_calibRelease
Gaudi::Property< std::string > m_calibRelease
Definition: CaloMuonLikelihoodTool.h:47
TH1F
Definition: rootspy.cxx:320
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
AthAlgTool
Definition: AthAlgTool.h:26
CaloMuonLikelihoodTool::CaloMuonLikelihoodTool
CaloMuonLikelihoodTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: CaloMuonLikelihoodTool.cxx:27