31#ifndef ELECTRONPHOTONSELECTORTOOLS_ASGPHOTONBDTSELECTOR_H
32#define ELECTRONPHOTONSELECTORTOOLS_ASGPHOTONBDTSELECTOR_H
70 virtual StatusCode
execute(
const EventContext& ctx,
const xAOD::Egamma* eg,
unsigned int& isEM)
const override;
81 ToolHandle<PhotonBDTCalculator>
m_bdtTool {
this,
"BDTTool",
"",
"Photon BDT calculator tool"};
84 Gaudi::Property<std::string>
m_workingPoint {
this,
"WorkingPoint",
"",
"Name of the Photon ID BDT Working point"};
85 Gaudi::Property<std::string>
m_scoreDecoration {
this,
"ScoreDecoration",
"BDTScore",
"Name of the float decoration containing the score"};
86 Gaudi::Property<bool>
m_computeIfMissing {
this,
"ComputeIfMissing",
true,
"Compute score with BDTTool if decoration missing"};
87 Gaudi::Property<bool>
m_excludeTRT {
this,
"ExcludeTRT",
true,
"Conversion definition for Run 3"};
88 Gaudi::Property<bool>
m_reapplyWPIfNoShowerShapes {
this,
"ReapplyWPIfNoShowerShapes",
true,
"Reapply the WP calculation, based on the BDT score and isEM word (works only if these are available!) "};
89 Gaudi::Property<std::string>
m_isEMDecoration {
this,
"IsEMDecoration",
"BDTIsEM",
"Name of the int decoration containing the isEM word (used if ReapplyWPIfNoShowerShapes is true)"};
118 bool findBin(
const float absEta,
const float etGeV,
size_t& iEta,
size_t& iEt)
const;
119 float getCut(
const bool converted,
const size_t iEta,
const size_t iEt)
const;
Interface to tool to select photons.
Gaudi::Property< std::string > m_workingPoint
float getShowerShape(const xAOD::Photon &ph, xAOD::EgammaParameters::ShowerShapeType t, const char *name="") const
std::vector< float > m_cutF1Unconv
std::vector< float > m_cutE277Conv
virtual std::string getOperatingPointName() const override
Report the current operating point.
virtual ~AsgPhotonBDTSelector() override=default
Gaudi::Property< bool > m_reapplyWPIfNoShowerShapes
bool isConverted(const xAOD::Photon &ph) const
std::vector< float > m_etaBins
std::vector< float > m_etBinsGeV
AsgPhotonBDTSelector(const std::string &name)
virtual const asg::AcceptInfo & getAcceptInfo() const override
Declare the interface ID for this pure-virtual interface class to the Athena framework.
std::vector< float > m_cutConv
ToolHandle< PhotonBDTCalculator > m_bdtTool
asg::AcceptData acceptBDT(const EventContext &ctx, const xAOD::Photon &ph, unsigned int *isEM=nullptr) const
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Gaudi::Property< std::string > m_scoreDecoration
asg::AcceptData makeReject(const asg::AcceptInfo &info) const
Gaudi::Property< bool > m_excludeTRT
float getCut(const bool converted, const size_t iEta, const size_t iEt) const
int m_cutPosPassPreselection
std::vector< float > m_cutE277Unconv
virtual asg::AcceptData accept(const xAOD::IParticle *part) const override
accept with pointer to IParticle so as to not hide the IAsgSelectionTool one
Gaudi::Property< bool > m_computeIfMissing
virtual StatusCode execute(const EventContext &ctx, const xAOD::Egamma *eg, unsigned int &isEM) const override
Add a legacy execute method - return isEM value.
std::vector< float > m_cutF1Conv
asg::AcceptInfo m_acceptInfo
Gaudi::Property< std::string > m_isEMDecoration
bool findBin(const float absEta, const float etGeV, size_t &iEta, size_t &iEt) const
std::vector< float > m_cutUnconv
Class providing the definition of the 4-vector interface.
Egamma_v1 Egamma
Definition of the current "egamma version".
Photon_v1 Photon
Definition of the current "egamma version".
Electron_v1 Electron
Definition of the current "egamma version".