ATLAS Offline Software
IAsgElectronLikelihoodTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 
6 #ifndef EGAMMAANALYSISINTERFACES__IASGELECTRONLIKELIHOODSELECTOR__
7 #define EGAMMAANALYSISINTERFACES__IASGELECTRONLIKELIHOODSELECTOR__
8 
17 // Include the interfaces
19 #include "xAODEgamma/ElectronFwd.h"
20 #include "xAODEgamma/EgammaFwd.h"
21 
22 #include <vector>
23 
24 class EventContext;
25 
27 {
28 
30 
31  public:
32 
36 
38  virtual asg::AcceptData accept( const xAOD::IParticle* part ) const = 0;
39  virtual asg::AcceptData accept( const EventContext& ctx, const xAOD::IParticle* part ) const = 0;
41  virtual asg::AcceptData accept( const EventContext& ctx, const xAOD::Electron* part ) const = 0;
42 
44  virtual asg::AcceptData accept( const EventContext& ctx, const xAOD::Electron* part, double mu ) const = 0;
45 
47  virtual asg::AcceptData accept( const EventContext& ctx, const xAOD::Egamma* part ) const = 0;
48 
50  virtual asg::AcceptData accept( const EventContext& ctx, const xAOD::Egamma* part, double mu ) const = 0;
51 
53  virtual double calculate( const EventContext& ctx, const xAOD::IParticle* part ) const = 0;
54 
56  virtual double calculate( const EventContext& ctx, const xAOD::Electron* eg ) const = 0;
57 
59  virtual double calculate( const EventContext& ctx, const xAOD::Egamma* eg ) const = 0;
60 
62  virtual double calculate( const EventContext& ctx, const xAOD::Electron* eg, double mu ) const = 0;
63 
65  virtual double calculate( const EventContext& ctx, const xAOD::Egamma* eg, double mu ) const = 0;
66 
67 
69  virtual std::vector<float> calculateMultipleOutputs( const EventContext &ctx, const xAOD::Electron *eg, double mu=-99 ) const = 0;
70 
72  virtual std::string getOperatingPointName( ) const =0;
73 
75 
78 
79 }; // End: class definition
80 
81 
82 #endif
83 
LArG4FSStartPointFilter.part
part
Definition: LArG4FSStartPointFilter.py:21
IAsgElectronLikelihoodTool::calculate
virtual double calculate(const EventContext &ctx, const xAOD::IParticle *part) const =0
calculate method: for pointer to IParticle
EgammaFwd.h
IAsgElectronLikelihoodTool::accept
virtual asg::AcceptData accept(const EventContext &ctx, const xAOD::Electron *part) const =0
accept method with pointer to electron
IAsgElectronLikelihoodTool::accept
virtual asg::AcceptData accept(const EventContext &ctx, const xAOD::IParticle *part) const =0
ParticleTest.eg
eg
Definition: ParticleTest.py:29
IAsgElectronLikelihoodTool::calculate
virtual double calculate(const EventContext &ctx, const xAOD::Electron *eg, double mu) const =0
calculate method: for pointer to electron when mu not in EventInfo for online
IAsgElectronLikelihoodTool::accept
virtual asg::AcceptData accept(const EventContext &ctx, const xAOD::Egamma *part, double mu) const =0
accept method with pointer to egammma when mu not in EventInfo for online
IAsgElectronLikelihoodTool::calculate
virtual double calculate(const EventContext &ctx, const xAOD::Electron *eg) const =0
calculate method: for pointer to electron
IAsgElectronLikelihoodTool::accept
virtual asg::AcceptData accept(const EventContext &ctx, const xAOD::Electron *part, double mu) const =0
accept method with pointer to electron when mu not in EventInfo for online
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
IAsgSelectionTool.h
IAsgElectronLikelihoodTool::accept
virtual asg::AcceptData accept(const EventContext &ctx, const xAOD::Egamma *part) const =0
accept method with pointer to egamma
IAsgElectronLikelihoodTool::calculate
virtual double calculate(const EventContext &ctx, const xAOD::Egamma *eg, double mu) const =0
calculate method: for pointer to egamma when mu not in EventInfo for online
IAsgElectronLikelihoodTool::calculate
virtual double calculate(const EventContext &ctx, const xAOD::Egamma *eg) const =0
calculate method: for pointer to egamma
ElectronFwd.h
IAsgElectronLikelihoodTool::getOperatingPointName
virtual std::string getOperatingPointName() const =0
Method to get the operating point.
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition: AsgToolMacros.h:40
xAOD::Electron_v1
Definition: Electron_v1.h:34
IAsgElectronLikelihoodTool::calculateMultipleOutputs
virtual std::vector< float > calculateMultipleOutputs(const EventContext &ctx, const xAOD::Electron *eg, double mu=-99) const =0
calculate all outputs of the underlying method (MVA) if it produces multiple outputs
IAsgElectronLikelihoodTool
Interface to tool to select electrons.
Definition: IAsgElectronLikelihoodTool.h:27
IAsgElectronLikelihoodTool::~IAsgElectronLikelihoodTool
virtual ~IAsgElectronLikelihoodTool()
Virtual Destructor.
Definition: IAsgElectronLikelihoodTool.h:77
IAsgElectronLikelihoodTool::accept
virtual asg::AcceptData accept(const xAOD::IParticle *part) const =0
accept with pointer to IParticle so as to not hide the IAsgSelectionTool one
asg::AcceptData
Definition: AcceptData.h:30
CaloNoise_fillDB.mu
mu
Definition: CaloNoise_fillDB.py:53