ATLAS Offline Software
TrigEgammaPrecisionElectronHypoAlg.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef TRIGEGAMMAHYPO_TRIGPRECISIONELECTRONHYPOALG_PRECISION_H
5 #define TRIGEGAMMAHYPO_TRIGPRECISIONELECTRONHYPOALG_PRECISION_H 1
6 
7 #include <string>
8 
12 #include "xAODEgamma/Electron.h"
21 
27 
28  public:
29 
30  TrigEgammaPrecisionElectronHypoAlg( const std::string& name, ISvcLocator* pSvcLocator );
31 
32  virtual StatusCode initialize() override;
33  virtual StatusCode execute( const EventContext& context ) const override;
34 
35  private:
36 
38 
39  Gaudi::Property< bool > m_runInView { this, "RunInView", false , "Set input DH for running in views" };
40 
41  SG::ReadHandleKey< xAOD::ElectronContainer > m_electronsKey { this, "Electrons", "Electrons", "Electrons in roi" };
42 
43  ToolHandleArray< ITrigEgammaPrecisionElectronHypoTool > m_hypoTools { this, "HypoTools", {}, "Hypo tools" };
44  PublicToolHandleArray<IAsgElectronIsEMSelector> m_egammaElectronCBTools{ this, "ElectronCBSelectorTools", {},"Cut-based tools" };
45  PublicToolHandleArray<IAsgElectronLikelihoodTool> m_egammaElectronLHTools{ this, "ElectronLHSelectorTools", {},"Likelihood tools" };
46  PublicToolHandleArray<IAsgElectronLikelihoodTool> m_egammaElectronDNNTools{ this, "ElectronDNNSelectorTools", {},"DNN tools" };
47 
48  Gaudi::Property<std::vector<std::string>> m_cbNames {this, "CBNames", {}, "CB pid names."};
49  Gaudi::Property<std::vector<std::string>> m_lhNames {this, "LHNames", {}, "LH pid names."};
50  Gaudi::Property<std::vector<std::string>> m_dnnNames {this, "DNNNames", {}, "DNN pid names."};
51  /*Luminosity info*/
52  SG::ReadDecorHandleKey<xAOD::EventInfo> m_avgMuKey { this, "averageInteractionsPerCrossingKey", "EventInfo.averageInteractionsPerCrossing", "Decoration for Average Interaction Per Crossing" };
53 
54  ToolHandle< GenericMonitoringTool > m_monTool { this, "MonTool", "", "Monitoring tool" };
55 
56 
58  { this, "DecorD0Key", m_electronsKey, "trk_d0" };
60  { this, "DecorClEtaKey", m_electronsKey, "cl_eta2" };
62  { this, "DecorClPhiKey", m_electronsKey, "cl_phi2" };
63 
64 };
65 
66 #endif //> !TRIGEGAMMAHYPO_TESTTRIGPRECISIONELECTRONHYPOALG_H
SG::WriteDecorHandleKey< xAOD::ElectronContainer >
TrigCompositeUtils.h
TrigEgammaPrecisionElectronHypoAlg::m_avgMuKey
SG::ReadDecorHandleKey< xAOD::EventInfo > m_avgMuKey
Definition: TrigEgammaPrecisionElectronHypoAlg.h:52
TrigEgammaPrecisionElectronHypoAlg
Implements precision electron selection for the new HLT framework.
Definition: TrigEgammaPrecisionElectronHypoAlg.h:26
TrigEgammaPrecisionElectronHypoAlg::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Definition: TrigEgammaPrecisionElectronHypoAlg.h:54
TrigEgammaPrecisionElectronHypoAlg::m_decorClPhiKey
SG::WriteDecorHandleKey< xAOD::ElectronContainer > m_decorClPhiKey
Definition: TrigEgammaPrecisionElectronHypoAlg.h:62
TrigEgammaPrecisionElectronHypoAlg::m_decorD0Key
SG::WriteDecorHandleKey< xAOD::ElectronContainer > m_decorD0Key
Definition: TrigEgammaPrecisionElectronHypoAlg.h:58
SG::ReadHandleKey< xAOD::ElectronContainer >
TrigEgammaPrecisionElectronHypoAlg::TrigEgammaPrecisionElectronHypoAlg
TrigEgammaPrecisionElectronHypoAlg()
AsgElectronSelectorTool.h
TrigEgammaPrecisionElectronHypoAlg::m_decorClEtaKey
SG::WriteDecorHandleKey< xAOD::ElectronContainer > m_decorClEtaKey
Definition: TrigEgammaPrecisionElectronHypoAlg.h:60
TrigEgammaPrecisionElectronHypoAlg::m_egammaElectronDNNTools
PublicToolHandleArray< IAsgElectronLikelihoodTool > m_egammaElectronDNNTools
Definition: TrigEgammaPrecisionElectronHypoAlg.h:46
GenericMonitoringTool.h
IAsgElectronLikelihoodTool.h
ElectronContainer.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TrigEgammaPrecisionElectronHypoAlg::m_cbNames
Gaudi::Property< std::vector< std::string > > m_cbNames
Definition: TrigEgammaPrecisionElectronHypoAlg.h:48
WriteDecorHandle.h
Handle class for adding a decoration to an object.
TrigEgammaPrecisionElectronHypoAlg::m_egammaElectronLHTools
PublicToolHandleArray< IAsgElectronLikelihoodTool > m_egammaElectronLHTools
Definition: TrigEgammaPrecisionElectronHypoAlg.h:45
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
HypoBase
Hypothesis algorithms take the output of reco algorithms and the decision from the preceeding InputMa...
Definition: HypoBase.h:13
TrigEgammaPrecisionElectronHypoAlg::m_dnnNames
Gaudi::Property< std::vector< std::string > > m_dnnNames
Definition: TrigEgammaPrecisionElectronHypoAlg.h:50
TrigEgammaPrecisionElectronHypoAlg::m_electronsKey
SG::ReadHandleKey< xAOD::ElectronContainer > m_electronsKey
Definition: TrigEgammaPrecisionElectronHypoAlg.h:41
TrigEgammaPrecisionElectronHypoAlg::initialize
virtual StatusCode initialize() override
Definition: TrigEgammaPrecisionElectronHypoAlg.cxx:18
EventInfo.h
TrigEgammaPrecisionElectronHypoAlg::m_egammaElectronCBTools
PublicToolHandleArray< IAsgElectronIsEMSelector > m_egammaElectronCBTools
Definition: TrigEgammaPrecisionElectronHypoAlg.h:44
IAsgElectronIsEMSelector.h
TrigEgammaPrecisionElectronHypoAlg::m_runInView
Gaudi::Property< bool > m_runInView
Definition: TrigEgammaPrecisionElectronHypoAlg.h:39
TrigEgammaPrecisionElectronHypoAlg::m_hypoTools
ToolHandleArray< ITrigEgammaPrecisionElectronHypoTool > m_hypoTools
Definition: TrigEgammaPrecisionElectronHypoAlg.h:43
HypoBase.h
ITrigEgammaPrecisionElectronHypoTool.h
ReadDecorHandle.h
Handle class for reading a decoration on an object.
Electron.h
SG::ReadDecorHandleKey
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Definition: StoreGate/StoreGate/ReadDecorHandleKey.h:85
TrigEgammaPrecisionElectronHypoAlg::m_lhNames
Gaudi::Property< std::vector< std::string > > m_lhNames
Definition: TrigEgammaPrecisionElectronHypoAlg.h:49
TrigEgammaPrecisionElectronHypoAlg::execute
virtual StatusCode execute(const EventContext &context) const override
Definition: TrigEgammaPrecisionElectronHypoAlg.cxx:52