ATLAS Offline Software
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 
10 #include "xAODEgamma/EgammaEnums.h"
13 // Framework includes
14 #include "AsgServices/AsgService.h"
16 
17 #include "xAODEgamma/PhotonFwd.h"
18 
19 
20 #include <string>
21 
22 
23 class egammaMVASvc : public extends<asg::AsgService, IegammaMVASvc>
24 {
25 public:
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 
40  const xAOD::EgammaParameters::EgammaType egType,
41  double& mvaE,
42  const egammaMVACalib::GlobalEventInfo& gei = egammaMVACalib::GlobalEventInfo()) const override final;
43 
50  const xAOD::Egamma& eg,
51  const egammaMVACalib::GlobalEventInfo& gei = egammaMVACalib::GlobalEventInfo()) const override final;
52 
58  const xAOD::EgammaParameters::EgammaType egType,
59  const egammaMVACalib::GlobalEventInfo& gei = egammaMVACalib::GlobalEventInfo()) const override final;
60 
61 
62 private:
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 
98 
99 
100 };
101 
102 #endif
egammaMVASvc
Definition: egammaMVASvc.h:24
IegammaMVACalibTool.h
PropertyWrapper.h
egammaMVASvc::initialize
virtual StatusCode initialize() override
Definition: egammaMVASvc.cxx:18
egammaMVASvc::m_folder
Gaudi::Property< std::string > m_folder
Definition: egammaMVASvc.h:88
egammaMVASvc::m_removeTRTConvBarrel
Gaudi::Property< int > m_removeTRTConvBarrel
Definition: egammaMVASvc.h:84
AsgService.h
ParticleTest.eg
eg
Definition: ParticleTest.py:29
Egamma
Definition: ClusMomentumPlots.cxx:11
egammaMVASvc::getEnergy
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.
Definition: egammaMVASvc.cxx:105
PhotonFwd.h
egammaMVASvc::m_mvaFwdElectron
ToolHandle< IegammaMVACalibTool > m_mvaFwdElectron
MVA tool for forward electron.
Definition: egammaMVASvc.h:69
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
egammaMVASvc::~egammaMVASvc
virtual ~egammaMVASvc() override
Definition: egammaMVASvc.h:28
xAOD::Egamma_v1
Definition: Egamma_v1.h:56
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
egammaMVASvc::resolve_flags
StatusCode resolve_flags()
Definition: egammaMVASvc.cxx:62
IegammaMVACalibTool
A tool used by the egammaMVASvc to help manage the MVAs.
Definition: IegammaMVACalibTool.h:19
xAOD::EgammaParameters::EgammaType
EgammaType
Definition: EgammaEnums.h:17
egammaMVACalib
Definition: GlobalEventInfo.h:7
egammaMVASvc::m_maxConvR
Gaudi::Property< float > m_maxConvR
Definition: egammaMVASvc.h:80
egammaMVASvc::m_mvaElectron
ToolHandle< IegammaMVACalibTool > m_mvaElectron
MVA tool for electron.
Definition: egammaMVASvc.h:65
xAOD::CaloCluster_v1
Description of a calorimeter cluster.
Definition: CaloCluster_v1.h:62
IegammaMVASvc.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CaloCluster
Principal data class for CaloCell clusters.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:79
columnar::final
CM final
Definition: ColumnAccessor.h:106
egammaMVASvc::isConvCalib
bool isConvCalib(const xAOD::Photon &ph) const
Decide if the photon is converted or not.
Definition: egammaMVASvc.cxx:94
EgammaEnums.h
xAOD::Photon_v1
Definition: Photon_v1.h:37
egammaMVACalib::GlobalEventInfo
A structure holding some global event information.
Definition: GlobalEventInfo.h:9
private
#define private
Definition: xAODTruthCnvAlg.h:20
egammaMVASvc::execute
StatusCode execute(xAOD::CaloCluster &cluster, const xAOD::Egamma &eg, const egammaMVACalib::GlobalEventInfo &gei=egammaMVACalib::GlobalEventInfo()) const override final
Main execute.
Definition: egammaMVASvc.cxx:202
egammaMVASvc::m_mvaUnconvertedPhoton
ToolHandle< IegammaMVACalibTool > m_mvaUnconvertedPhoton
MVA tool for unconverted photon.
Definition: egammaMVASvc.h:73
egammaMVASvc::m_mvaConvertedPhoton
ToolHandle< IegammaMVACalibTool > m_mvaConvertedPhoton
MVA tool for converted photon.
Definition: egammaMVASvc.h:77