ATLAS Offline Software
Loading...
Searching...
No Matches
egammaMVASvc.h
Go to the documentation of this file.
1// Dear Emacs, this is -*- C++ -*-
2
3/*
4 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
5*/
6
7#ifndef EGAMMAMVACALIB_EGAMMAMVASVC_H
8#define EGAMMAMVACALIB_EGAMMAMVASVC_H
9
13// Framework includes
16
18
19
20#include <string>
21
22
23class egammaMVASvc : public extends<asg::AsgService, IegammaMVASvc>
24{
25public:
26 using extends::extends; // base class constructor
27
28 virtual ~egammaMVASvc() override {};
29 virtual StatusCode initialize() override;
30
31
33 StatusCode getEnergy(const xAOD::CaloCluster& cluster,
34 const xAOD::Egamma& eg,
35 double& mvaE,
37
39 StatusCode getEnergy(const xAOD::CaloCluster& cluster,
40 const xAOD::EgammaParameters::EgammaType egType,
41 double& mvaE,
42 const egammaMVACalib::GlobalEventInfo& gei = egammaMVACalib::GlobalEventInfo()) const override final;
43
49 StatusCode execute(xAOD::CaloCluster& cluster,
50 const xAOD::Egamma& eg,
51 const egammaMVACalib::GlobalEventInfo& gei = egammaMVACalib::GlobalEventInfo()) const override final;
52
57 StatusCode execute(xAOD::CaloCluster& cluster,
58 const xAOD::EgammaParameters::EgammaType egType,
59 const egammaMVACalib::GlobalEventInfo& gei = egammaMVACalib::GlobalEventInfo()) const override final;
60
61
63
66 "ElectronTool", "", "Tool to handle MVA trees for electrons"};
67
69 ToolHandle<IegammaMVACalibTool> m_mvaFwdElectron {this,
70 "FwdElectronTool", "", "Tool to handle MVA trees for forward electrons"};
71
73 ToolHandle<IegammaMVACalibTool> m_mvaUnconvertedPhoton {this,
74 "UnconvertedPhotonTool", "", "Tool to handle MVA trees for unconverted photons"};
75
77 ToolHandle<IegammaMVACalibTool> m_mvaConvertedPhoton {this,
78 "ConvertedPhotonTool", "", "Tool to handle MVA trees for converted photons"};
79
80 Gaudi::Property<float> m_maxConvR {this,
81 "MaxConvRadius", 800.0,
82 "The maximum conversion radius for a photon to be considered converted"};
83
84 Gaudi::Property<int> m_removeTRTConvBarrel {this,
85 "RemoveTRTConvBarrel", -1,
86 "Remove TRT converted photons in the barrel: no=0, yes=1, automatic=-1"};
87
88 Gaudi::Property<std::string> m_folder {this,
89 "folder", "", "folder for weight files"};
90
91
95 bool isConvCalib(const xAOD::Photon& ph) const;
96
97 StatusCode resolve_flags();
98
99
100};
101
102#endif
Principal data class for CaloCell clusters.
A tool used by the egammaMVASvc to help manage the MVAs.
ToolHandle< IegammaMVACalibTool > m_mvaElectron
MVA tool for electron.
virtual ~egammaMVASvc() override
virtual StatusCode initialize() override
StatusCode execute(xAOD::CaloCluster &cluster, const xAOD::Egamma &eg, const egammaMVACalib::GlobalEventInfo &gei=egammaMVACalib::GlobalEventInfo()) const override final
Main execute.
ToolHandle< IegammaMVACalibTool > m_mvaUnconvertedPhoton
MVA tool for unconverted photon.
Gaudi::Property< float > m_maxConvR
StatusCode resolve_flags()
Gaudi::Property< int > m_removeTRTConvBarrel
StatusCode getEnergy(const xAOD::CaloCluster &cluster, const xAOD::Egamma &eg, double &mvaE, const egammaMVACalib::GlobalEventInfo &gei=egammaMVACalib::GlobalEventInfo()) const override final
Compute the calibrated energy.
ToolHandle< IegammaMVACalibTool > m_mvaConvertedPhoton
MVA tool for converted photon.
ToolHandle< IegammaMVACalibTool > m_mvaFwdElectron
MVA tool for forward electron.
Gaudi::Property< std::string > m_folder
bool isConvCalib(const xAOD::Photon &ph) const
Decide if the photon is converted or not.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
Egamma_v1 Egamma
Definition of the current "egamma version".
Definition Egamma.h:17
Photon_v1 Photon
Definition of the current "egamma version".
A structure holding some global event information.
#define private