ATLAS Offline Software
EMPIDBuilder.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef EGAMMATOOLS_EMPIDBUILDER_H
6 #define EGAMMATOOLS_EMPIDBUILDER_H
7 
15 #include "egammaBaseTool.h"
16 
17 #include "GaudiKernel/EventContext.h"
18 #include "GaudiKernel/ToolHandle.h"
19 
24 
25 #include <string>
26 #include <vector>
27 
28 class EMPIDBuilder final : public egammaBaseTool
29 {
30 public:
32  EMPIDBuilder(const std::string& type,
33  const std::string& name,
34  const IInterface* parent);
35 
37  virtual ~EMPIDBuilder() = default;
38 
40  virtual StatusCode initialize() override final;
42  virtual StatusCode execute(const EventContext& ctx,
43  xAOD::Egamma*) const override final;
44 
45 private:
48  this,
49  "electronIsEMselectors",
50  {},
51  "The selectors that we need to apply to the Electron object"
52  };
53  Gaudi::Property<std::vector<std::string>> m_electronIsEMselectorResultNames{
54  this,
55  "electronIsEMselectorResultNames",
56  {},
57  "The selector result names"
58  };
59 
60  ToolHandleArray<IAsgElectronLikelihoodTool> m_electronLHselectors{
61  this,
62  "electronLHselectors",
63  {},
64  "The selectors that we need to apply to the LH electron object"
65  };
66  Gaudi::Property<std::vector<std::string>> m_electronLHselectorResultNames{
67  this,
68  "electronLHselectorResultNames",
69  {},
70  "The selector result names"
71  };
72 
73  ToolHandleArray<IAsgSelectionTool> m_genericIsEMselectors{
74  this,
75  "genericIsEMselectors",
76  {},
77  "The selectors that we need to apply to the generic object"
78  };
79 
80  Gaudi::Property<std::vector<std::string>> m_genericIsEMselectorResultNames{
81  this,
82  "genericIsEMselectorResultNames",
83  {},
84  "The selector result names"
85  };
86 
87  ToolHandleArray<IAsgPhotonIsEMSelector> m_photonIsEMselectors{
88  this,
89  "photonIsEMselectors",
90  {},
91  "The selectors that we need to apply to the pothon object"
92  };
93  Gaudi::Property<std::vector<std::string>> m_photonIsEMselectorResultNames{
94  this,
95  "photonIsEMselectorResultNames",
96  {},
97  "The selector result names"
98  };
99 
100  ToolHandle<ILumiBlockMuTool> m_lumiBlockMuTool{
101  this,
102  "LuminosityTool",
103  "LumiBlockMuTool/LumiBlockMuTool",
104  "Luminosity Tool"
105  };
106 
107  Gaudi::Property<std::string> m_LHValueName{ this,
108  "LHValueName",
109  "LHValue",
110  "The LH Value name" };
111 
112  Gaudi::Property<bool> m_UselumiBlockMuTool{
113  this,
114  "UseLuminosityTool",
115  false,
116  "Use Luminosity Tool instead of value stored in xAOD"
117  };
118 };
119 
120 #endif
121 
EMPIDBuilder::m_electronIsEMselectorResultNames
Gaudi::Property< std::vector< std::string > > m_electronIsEMselectorResultNames
Definition: EMPIDBuilder.h:53
EMPIDBuilder
Definition: EMPIDBuilder.h:29
EMPIDBuilder::m_lumiBlockMuTool
ToolHandle< ILumiBlockMuTool > m_lumiBlockMuTool
Definition: EMPIDBuilder.h:100
EMPIDBuilder::m_genericIsEMselectorResultNames
Gaudi::Property< std::vector< std::string > > m_genericIsEMselectorResultNames
Definition: EMPIDBuilder.h:80
EMPIDBuilder::m_photonIsEMselectors
ToolHandleArray< IAsgPhotonIsEMSelector > m_photonIsEMselectors
Definition: EMPIDBuilder.h:87
IAsgPhotonIsEMSelector.h
Egamma
Definition: ClusMomentumPlots.cxx:11
EMPIDBuilder::execute
virtual StatusCode execute(const EventContext &ctx, xAOD::Egamma *) const override final
standard execute method
Definition: EMPIDBuilder.cxx:75
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
EMPIDBuilder::m_electronLHselectorResultNames
Gaudi::Property< std::vector< std::string > > m_electronLHselectorResultNames
Definition: EMPIDBuilder.h:66
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
EMPIDBuilder::m_electronIsEMselectors
ToolHandleArray< IAsgElectronIsEMSelector > m_electronIsEMselectors
Handle to the selectors.
Definition: EMPIDBuilder.h:47
egammaBaseTool.h
IAsgElectronLikelihoodTool.h
egammaBaseTool
Definition: egammaBaseTool.h:28
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
EMPIDBuilder::EMPIDBuilder
EMPIDBuilder(const std::string &type, const std::string &name, const IInterface *parent)
Default constructor.
Definition: EMPIDBuilder.cxx:14
EMPIDBuilder::initialize
virtual StatusCode initialize() override final
initialize method
Definition: EMPIDBuilder.cxx:24
test_pyathena.parent
parent
Definition: test_pyathena.py:15
EMPIDBuilder::m_electronLHselectors
ToolHandleArray< IAsgElectronLikelihoodTool > m_electronLHselectors
Definition: EMPIDBuilder.h:60
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
ILumiBlockMuTool.h
IAsgElectronIsEMSelector.h
EMPIDBuilder::m_UselumiBlockMuTool
Gaudi::Property< bool > m_UselumiBlockMuTool
Definition: EMPIDBuilder.h:112
EMPIDBuilder::~EMPIDBuilder
virtual ~EMPIDBuilder()=default
Destructor.
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
EMPIDBuilder::m_LHValueName
Gaudi::Property< std::string > m_LHValueName
Definition: EMPIDBuilder.h:107
EMPIDBuilder::m_photonIsEMselectorResultNames
Gaudi::Property< std::vector< std::string > > m_photonIsEMselectorResultNames
Definition: EMPIDBuilder.h:93
IAsgElectronIsEMSelector
Interface to tool to select electrons.
Definition: IAsgElectronIsEMSelector.h:28
EMPIDBuilder::m_genericIsEMselectors
ToolHandleArray< IAsgSelectionTool > m_genericIsEMselectors
Definition: EMPIDBuilder.h:73