ATLAS Offline Software
IsolationConditionHist.h
Go to the documentation of this file.
1 // Dear emacs, this is -*- c++ -*-
2 
3 /*
4  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
5  */
6 
7 #ifndef ISOLATIONSELECTION_ISOLATIONCONDITIONHIST_H
8 #define ISOLATIONSELECTION_ISOLATIONCONDITIONHIST_H
9 
10 #include <map>
11 #include <memory>
12 #include <vector>
13 
15 
16 // Forward Declaration(s)
17 class TF1;
18 class TH3F;
19 
20 class Interp3D;
21 
22 namespace CP {
24  public:
25  IsolationConditionHist(const std::string& name, xAOD::Iso::IsolationType isoType, const std::string& isolationFunction,
26  std::unique_ptr<TH3F> efficiencyHisto3D);
27  virtual ~IsolationConditionHist() = default;
28 
29  bool accept(const xAOD::IParticle& x) const override;
30  bool accept(const strObj& x) const override;
31  void setInterp(std::shared_ptr<Interp3D> interp) { m_interp = interp; }
32 
33  private:
34  float getCutValue(const float pt, const float eta) const;
35  std::shared_ptr<TH3F> m_efficiencyHisto3D{nullptr};
36  std::unique_ptr<TF1> m_isolationFunction{nullptr};
37  bool m_ptGeV{false};
38  std::shared_ptr<Interp3D> m_interp;
39  };
40 } // namespace CP
41 #endif
CP::IsolationConditionHist::getCutValue
float getCutValue(const float pt, const float eta) const
Definition: IsolationConditionHist.cxx:38
Interp3D
Definition: Interp3D.h:13
CP::IsolationConditionHist::setInterp
void setInterp(std::shared_ptr< Interp3D > interp)
Definition: IsolationConditionHist.h:31
test_pyathena.pt
pt
Definition: test_pyathena.py:11
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:41
x
#define x
CP
Select isolated Photons, Electrons and Muons.
Definition: Control/xAODRootAccess/xAODRootAccess/TEvent.h:48
CP::IsolationCondition
Definition: IsolationCondition.h:30
CP::strObj
Definition: IsolationCondition.h:23
CP::IsolationConditionHist
Definition: IsolationConditionHist.h:23
CP::IsolationConditionHist::IsolationConditionHist
IsolationConditionHist(const std::string &name, xAOD::Iso::IsolationType isoType, const std::string &isolationFunction, std::unique_ptr< TH3F > efficiencyHisto3D)
Definition: IsolationConditionHist.cxx:18
CP::IsolationConditionHist::m_isolationFunction
std::unique_ptr< TF1 > m_isolationFunction
Definition: IsolationConditionHist.h:36
IsolationCondition.h
CP::IsolationConditionHist::m_efficiencyHisto3D
std::shared_ptr< TH3F > m_efficiencyHisto3D
Definition: IsolationConditionHist.h:35
xAOD::Iso::IsolationType
IsolationType
Overall enumeration for isolation types in xAOD files.
Definition: IsolationType.h:26
CP::IsolationConditionHist::m_ptGeV
bool m_ptGeV
Definition: IsolationConditionHist.h:37
CP::IsolationConditionHist::accept
bool accept(const xAOD::IParticle &x) const override
Definition: IsolationConditionHist.cxx:28
CP::IsolationCondition::name
const std::string & name() const
Definition: IsolationCondition.cxx:36
CP::IsolationConditionHist::~IsolationConditionHist
virtual ~IsolationConditionHist()=default
CP::IsolationConditionHist::m_interp
std::shared_ptr< Interp3D > m_interp
Definition: IsolationConditionHist.h:38