ATLAS Offline Software
AsgElectronIsEMSelector.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 // Dear emacs, this is -*-c++-*-
6 
7 #ifndef __ASGELECTRONISEMSELECTOR__
8 #define __ASGELECTRONISEMSELECTOR__
9 
23 // Atlas includes
24 #include "AsgTools/AsgTool.h"
25 // Include the interfaces
27 
28 #include <string>
29 
30 class EventContext;
31 
32 namespace Root {
34 }
35 
37  : public asg::AsgTool
38  , virtual public IAsgElectronIsEMSelector
39 {
40 
45 
46 public:
48  AsgElectronIsEMSelector(const std::string& myname);
49 
51  virtual ~AsgElectronIsEMSelector();
52 
54  virtual StatusCode initialize() override;
55 
58 
63  virtual const asg::AcceptInfo& getAcceptInfo() const override final;
64 
66  virtual asg::AcceptData accept(const xAOD::IParticle* part) const override final;
67  virtual asg::AcceptData accept(const EventContext& ctx,
68  const xAOD::IParticle* part) const override final;
70 
72  virtual asg::AcceptData accept(const EventContext& ctx,
73  const xAOD::Egamma* part) const override final;
75  virtual std::string getOperatingPointName() const override final;
76 
78 
81 
82  virtual asg::AcceptData accept(const EventContext& ctx,
83  const xAOD::Photon* part) const override final;
84 
86  virtual asg::AcceptData accept(const EventContext& ctx,
87  const xAOD::Electron* part) const override final;
88  // The main execute method
89  virtual StatusCode execute(const EventContext& ctx,
90  const xAOD::Egamma* eg,
91  unsigned int& isEM) const override final;
93 
94  // Private member variables
95 private:
96  unsigned int calocuts_electrons(const xAOD::Egamma* eg,
97  float eta2,
98  double et,
99  double trigEtTh,
100  unsigned int iflag) const;
101 
102  unsigned int TrackCut(const xAOD::Electron* eg,
103  float eta2,
104  double et,
105  double energy,
106  unsigned int iflag) const;
107 
109  std::string m_WorkingPoint;
110 
112  std::string m_configFile;
113 
116 
119 
122  float m_trigEtTh;
123 
124 }; // End: class definition
125 
126 #endif
127 
LArG4FSStartPointFilter.part
part
Definition: LArG4FSStartPointFilter.py:21
IAsgEGammaIsEMSelector
Interface to tool to select photons.
Definition: IAsgEGammaIsEMSelector.h:29
et
Extra patterns decribing particle interation process.
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
ParticleGun_SamplingFraction.eta2
eta2
Definition: ParticleGun_SamplingFraction.py:96
Root
Definition: GoodRunsListSelectorTool.h:30
ParticleTest.eg
eg
Definition: ParticleTest.py:29
AsgElectronIsEMSelector::initialize
virtual StatusCode initialize() override
Gaudi Service Interface method implementations.
Definition: AsgElectronIsEMSelector.cxx:74
AsgElectronIsEMSelector::m_trigEtTh
float m_trigEtTh
Definition: AsgElectronIsEMSelector.h:122
xAOD::Egamma_v1
Definition: Egamma_v1.h:56
IAsgSelectionTool
Definition: IAsgSelectionTool.h:28
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:40
AsgElectronIsEMSelector
Tool to select objects.
Definition: AsgElectronIsEMSelector.h:39
TElectronIsEMSelector
Example tool to select objects in pure ROOT.
AsgElectronIsEMSelector::execute
virtual StatusCode execute(const EventContext &ctx, const xAOD::Egamma *eg, unsigned int &isEM) const override final
Add a legacy execute method - return isEM value.
Definition: AsgElectronIsEMSelector.cxx:285
AsgElectronIsEMSelector::m_WorkingPoint
std::string m_WorkingPoint
Working Point.
Definition: AsgElectronIsEMSelector.h:109
AsgElectronIsEMSelector::m_useF3core
bool m_useF3core
use f3core or f3 (default: use f3)
Definition: AsgElectronIsEMSelector.h:118
ParticleGun_FastCalo_ChargeFlip_Config.energy
energy
Definition: ParticleGun_FastCalo_ChargeFlip_Config.py:78
asg::AcceptInfo
Definition: AcceptInfo.h:28
AsgElectronIsEMSelector::m_rootTool
Root::TElectronIsEMSelector * m_rootTool
Pointer to the underlying ROOT based tool.
Definition: AsgElectronIsEMSelector.h:115
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AsgElectronIsEMSelector::getAcceptInfo
virtual const asg::AcceptInfo & getAcceptInfo() const override final
Method to get the plain AcceptInfo.
Definition: AsgElectronIsEMSelector.cxx:175
AsgElectronIsEMSelector::getOperatingPointName
virtual std::string getOperatingPointName() const override final
Method to get the operating point.
Definition: AsgElectronIsEMSelector.cxx:241
AsgElectronIsEMSelector::~AsgElectronIsEMSelector
virtual ASG_TOOL_CLASS3(AsgElectronIsEMSelector, IAsgElectronIsEMSelector, IAsgEGammaIsEMSelector, IAsgSelectionTool) public ~AsgElectronIsEMSelector()
Standard constructor.
Definition: AsgElectronIsEMSelector.cxx:68
Root::TElectronIsEMSelector
Definition: TElectronIsEMSelector.h:33
xAOD::Electron_v1
Definition: Electron_v1.h:34
AsgElectronIsEMSelector::accept
virtual asg::AcceptData accept(const xAOD::IParticle *part) const override final
Accept with generic interface.
Definition: AsgElectronIsEMSelector.cxx:184
IAsgElectronIsEMSelector.h
AsgElectronIsEMSelector::TrackCut
unsigned int TrackCut(const xAOD::Electron *eg, float eta2, double et, double energy, unsigned int iflag) const
Definition: AsgElectronIsEMSelector.cxx:449
AsgElectronIsEMSelector::m_configFile
std::string m_configFile
Config File.
Definition: AsgElectronIsEMSelector.h:112
AsgElectronIsEMSelector::calocuts_electrons
unsigned int calocuts_electrons(const xAOD::Egamma *eg, float eta2, double et, double trigEtTh, unsigned int iflag) const
Definition: AsgElectronIsEMSelector.cxx:343
xAOD::Photon_v1
Definition: Photon_v1.h:37
ASG_TOOL_CLASS3
#define ASG_TOOL_CLASS3(CLASSNAME, INT1, INT2, INT3)
Definition: AsgToolMacros.h:85
AsgElectronIsEMSelector::m_caloOnly
bool m_caloOnly
Flag for calo only cut-base.
Definition: AsgElectronIsEMSelector.h:121
IAsgElectronIsEMSelector
Interface to tool to select electrons.
Definition: IAsgElectronIsEMSelector.h:28
AsgTool.h
asg::AcceptData
Definition: AcceptData.h:30