ATLAS Offline Software
Loading...
Searching...
No Matches
EGElectronLikelihoodToolWrapper.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5// Author: Giovanni Marchiori (giovanni.marchiori@cern.ch)
6// Note: while EGSelectionToolWrapper permits to only store the boolean
7// accept and the isEM-like mask (works for both isEM and likelihood selectors),
8// this tool (EGElectronLikelihoodToolWrapper) allows also to store
9// the double TResult output (i.e. the value of the likelihood or the ECIDS BDT)
10// if StoreTResult is set to true. Otherwise one can simply use the other tool.
11
12#ifndef DERIVATIONFRAMEWORK_EGELECTRONLIKELIHOODTOOLWRAPPER_H
13#define DERIVATIONFRAMEWORK_EGELECTRONLIKELIHOODTOOLWRAPPER_H
15//
21//
22#include "AsgTools/IAsgTool.h"
26#include "GaudiKernel/ToolHandle.h"
28//
29#include <string>
30
31namespace DerivationFramework {
32
33 class EGElectronLikelihoodToolWrapper : public extends<AthAlgTool, IAugmentationTool>
34 {
35 public:
36
37 using base_class::base_class;
38
39 virtual StatusCode initialize() override final;
40 virtual StatusCode addBranches(const EventContext& ctx) const override final;
41
42 private:
43 ToolHandle<IAsgElectronLikelihoodTool> m_tool{
44 this,
45 "EGammaElectronLikelihoodTool",
46 "",
47 "Electron Likelihood Selector"
48 };
49 ToolHandle<IElectronPhotonShowerShapeFudgeTool>
50 m_fudgeMCTool{ this, "EGammaFudgeMCTool", "", "Fudging tool" };
51
53 "ContainerName",
54 "",
55 "Input" };
56
57 // Write decoration handle keys
59 m_decoratorPass{ this, "decoratorPass", m_ContainerName, "", "" };
61 m_decoratorIsEM{ this, "decoratorIsEM", m_ContainerName, "", "" };
63 m_decoratorResult{ this, "decoratorResult", m_ContainerName, "", "" };
65 m_decoratorMultipleOutputs{this, "decoratorMultipleOutputs", m_ContainerName, {}, ""};
66 Gaudi::Property<std::string> m_cut{this, "CutType", ""};
67 Gaudi::Property<bool> m_storeTResult{this, "StoreTResult", false};
68 Gaudi::Property<bool> m_storeMultipleOutputs{this, "StoreMultipleOutputs", false};
69 };
70}
71
72#endif // DERIVATIONFRAMEWORK_EGELECTRONLIKELIHOODTOOLWRAPPER_H
Property holding a SG store/key/clid from which a ReadHandle is made.
Handle class for reading from StoreGate.
Handle class for adding a decoration to an object.
Property holding a SG store/key/clid from which a WriteHandle is made.
virtual StatusCode addBranches(const EventContext &ctx) const override final
ToolHandle< IElectronPhotonShowerShapeFudgeTool > m_fudgeMCTool
SG::WriteDecorHandleKey< xAOD::EgammaContainer > m_decoratorPass
SG::WriteDecorHandleKey< xAOD::EgammaContainer > m_decoratorIsEM
SG::WriteDecorHandleKeyArray< xAOD::EgammaContainer, float > m_decoratorMultipleOutputs
SG::WriteDecorHandleKey< xAOD::EgammaContainer > m_decoratorResult
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
THE reconstruction tool.
DecorHandleKeyArray< WriteDecorHandle< T, S >, WriteDecorHandleKey< T >, Gaudi::DataHandle::Writer > WriteDecorHandleKeyArray