ATLAS Offline Software
Loading...
Searching...
No Matches
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
22
23// Atlas includes
24#include "AsgTools/AsgTool.h"
25// Include the interfaces
27
28#include <string>
29
30class EventContext;
31
32namespace Root {
34}
35
37 : public asg::AsgTool
38 , virtual public IAsgElectronIsEMSelector
39{
40
45
46public:
48 AsgElectronIsEMSelector(const std::string& myname);
49
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
95private:
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
123
124}; // End: class definition
125
126#endif
127
#define ASG_TOOL_CLASS3(CLASSNAME, INT1, INT2, INT3)
Tool to select objects.
Root::TElectronIsEMSelector * m_rootTool
Pointer to the underlying ROOT based tool.
bool m_caloOnly
Flag for calo only cut-base.
std::string m_WorkingPoint
Working Point.
virtual StatusCode execute(const EventContext &ctx, const xAOD::Egamma *eg, unsigned int &isEM) const override final
Add a legacy execute method - return isEM value.
virtual asg::AcceptData accept(const xAOD::IParticle *part) const override final
Accept with generic interface.
unsigned int calocuts_electrons(const xAOD::Egamma *eg, float eta2, double et, double trigEtTh, unsigned int iflag) const
virtual StatusCode initialize() override
Gaudi Service Interface method implementations.
bool m_useF3core
use f3core or f3 (default: use f3)
virtual std::string getOperatingPointName() const override final
Method to get the operating point.
unsigned int TrackCut(const xAOD::Electron *eg, float eta2, double et, double energy, unsigned int iflag) const
virtual ASG_TOOL_CLASS3(AsgElectronIsEMSelector, IAsgElectronIsEMSelector, IAsgEGammaIsEMSelector, IAsgSelectionTool) public ~AsgElectronIsEMSelector()
Standard constructor.
std::string m_configFile
Config File.
virtual const asg::AcceptInfo & getAcceptInfo() const override final
Method to get the plain AcceptInfo.
Interface to tool to select photons.
Interface to tool to select electrons.
Base class for the dual-use tool implementation classes.
Definition AsgTool.h:47
Class providing the definition of the 4-vector interface.
Egamma_v1 Egamma
Definition of the current "egamma version".
Definition Egamma.h:17
Photon_v1 Photon
Definition of the current "egamma version".
Electron_v1 Electron
Definition of the current "egamma version".
Extra patterns decribing particle interation process.