ATLAS Offline Software
egammaMVASvc.h
Go to the documentation of this file.
1 // Dear Emacs, this is -*- C++ -*-
2 
3 /*
4  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 #ifndef EGAMMAMVACALIB_EGAMMAMVASVC_H
8 #define EGAMMAMVACALIB_EGAMMAMVASVC_H
9 
10 #include "xAODEgamma/EgammaEnums.h"
13 // Framework includes
14 #include "AsgServices/AsgService.h"
16 
17 #include <string>
18 
19 class egammaMVASvc : public asg::AsgService, virtual public IegammaMVASvc
20 {
21 public:
22  egammaMVASvc( const std::string& name, ISvcLocator* svc );
23  virtual ~egammaMVASvc() override {};
24  virtual StatusCode initialize() override;
25 
26 
28  StatusCode getEnergy(const xAOD::CaloCluster& cluster,
29  const xAOD::Egamma& eg,
30  double& mvaE) const override final;
31 
33  StatusCode getEnergy(const xAOD::CaloCluster& cluster,
35  double& mvaE) const override final;
36 
43  const xAOD::Egamma& eg) const override final;
44 
50  const xAOD::EgammaParameters::EgammaType egType) const override final;
51 
52 
53 private:
54 
56  ToolHandle<IegammaMVACalibTool> m_mvaElectron {this,
57  "ElectronTool", "", "Tool to handle MVA trees for electrons"};
58 
60  ToolHandle<IegammaMVACalibTool> m_mvaUnconvertedPhoton {this,
61  "UnconvertedPhotonTool", "", "Tool to handle MVA trees for unconverted photons"};
62 
64  ToolHandle<IegammaMVACalibTool> m_mvaConvertedPhoton {this,
65  "ConvertedPhotonTool", "", "Tool to handle MVA trees for converted photons"};
66 
67  Gaudi::Property<float> m_maxConvR {this,
68  "MaxConvRadius", 800.0,
69  "The maximum conversion radius for a photon to be considered converted"};
70 
71  Gaudi::Property<bool> m_removeTRTConvBarrel {this,
72  "RemoveTRTConvBarrel", false,
73  "Remove TRT converted photons in the barrel"};
74 
75 };
76 
77 #endif
egammaMVASvc
Definition: egammaMVASvc.h:20
IegammaMVACalibTool.h
PropertyWrapper.h
egammaMVASvc::initialize
virtual StatusCode initialize() override
set up/tear down functions
Definition: egammaMVASvc.cxx:20
AsgService.h
ParticleTest.eg
eg
Definition: ParticleTest.py:29
egammaMVASvc::~egammaMVASvc
virtual ~egammaMVASvc() override
Definition: egammaMVASvc.h:23
xAOD::Egamma_v1
Definition: Egamma_v1.h:56
IegammaMVASvc
Definition: IegammaMVASvc.h:19
xAOD::EgammaParameters::EgammaType
EgammaType
Definition: EgammaEnums.h:17
egammaMVASvc::m_maxConvR
Gaudi::Property< float > m_maxConvR
Definition: egammaMVASvc.h:67
egammaMVASvc::m_mvaElectron
ToolHandle< IegammaMVACalibTool > m_mvaElectron
MVA tool for electron.
Definition: egammaMVASvc.h:56
xAOD::CaloCluster_v1
Description of a calorimeter cluster.
Definition: CaloCluster_v1.h:59
IegammaMVASvc.h
asg::AsgService
Base class for the dual-use service implementation classes.
Definition: AsgService.h:43
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Handler::svc
AthROOTErrorHandlerSvc * svc
Definition: AthROOTErrorHandlerSvc.cxx:10
egammaMVASvc::getEnergy
StatusCode getEnergy(const xAOD::CaloCluster &cluster, const xAOD::Egamma &eg, double &mvaE) const override final
Compute the calibrated energy.
Definition: egammaMVASvc.cxx:51
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
EgammaEnums.h
egammaMVASvc::egammaMVASvc
egammaMVASvc(const std::string &name, ISvcLocator *svc)
Definition: egammaMVASvc.cxx:14
egammaMVASvc::m_removeTRTConvBarrel
Gaudi::Property< bool > m_removeTRTConvBarrel
Definition: egammaMVASvc.h:71
egammaMVASvc::m_mvaUnconvertedPhoton
ToolHandle< IegammaMVACalibTool > m_mvaUnconvertedPhoton
MVA tool for unconverted photon.
Definition: egammaMVASvc.h:60
egammaMVASvc::execute
StatusCode execute(xAOD::CaloCluster &cluster, const xAOD::Egamma &eg) const override final
Main execute.
Definition: egammaMVASvc.cxx:140
egammaMVASvc::m_mvaConvertedPhoton
ToolHandle< IegammaMVACalibTool > m_mvaConvertedPhoton
MVA tool for converted photon.
Definition: egammaMVASvc.h:64