ATLAS Offline Software
EgammaObjectCollectionMaker.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3  */
4 
5 // $Id: EgammaObjectCollectionMaker.h 811374 2017-10-24 13:04:52Z iconnell $
6 #ifndef ANALYSISTOP_TOPSYSTEMATICOBJECTMAKER_EGAMMAOBJECTCOLLECTIONMAKER_H
7 #define ANALYSISTOP_TOPSYSTEMATICOBJECTMAKER_EGAMMAOBJECTCOLLECTIONMAKER_H
8 
20 // system include(s):
21 #include <memory>
22 #include <set>
23 #include <list>
24 
25 // Framework include(s):
26 #include "AsgTools/AsgTool.h"
27 #include "AsgTools/ToolHandle.h"
28 
29 // Systematic include(s):
31 
32 // CP Tool include(s):
36 //#include "IsolationSelection/IIsolationLowPtPLVTool.h"
38 
39 // Forward declaration(s):
40 namespace top {
41  class TopConfig;
42 }
43 
44 namespace top {
46  public:
47  explicit EgammaObjectCollectionMaker(const std::string& name);
49 
50  // Delete Standard constructors
54 
56 
60 
64 
65  // return specific Systematic
66  inline virtual const std::list<CP::SystematicSet>& specifiedSystematicsPhotons() const {
68  }
69  inline virtual const std::list<CP::SystematicSet>& specifiedSystematicsElectrons() const {
71  }
72  inline virtual const std::list<CP::SystematicSet>& specifiedSystematicsFwdElectrons() const {
74  }
75 
76  // return all recommendedSystematics
77  inline const std::list<CP::SystematicSet>& recommendedSystematicsPhotons() const {
79  }
80  inline const std::list<CP::SystematicSet>& recommendedSystematicsElectrons() const {return m_recommendedSystematicsElectrons;}
81  inline const std::list<CP::SystematicSet>& recommendedSystematicsFwdElectrons() const {return m_recommendedSystematicsFwdElectrons;}
82  protected:
83  // specify Systematic
84  virtual void specifiedSystematicsPhotons(const std::set<std::string>& specifiedSystematics);
85  virtual void specifiedSystematicsElectrons(const std::set<std::string>& specifiedSystematics);
86  virtual void specifiedSystematicsFwdElectrons(const std::set<std::string>& specifiedSystematics);
87  private:
88  std::shared_ptr<top::TopConfig> m_config;
89 
90  std::list<CP::SystematicSet> m_specifiedSystematicsPhotons;
91  std::list<CP::SystematicSet> m_specifiedSystematicsElectrons;
92  std::list<CP::SystematicSet> m_specifiedSystematicsFwdElectrons;
93 
94  std::list<CP::SystematicSet> m_recommendedSystematicsPhotons;
95  std::list<CP::SystematicSet> m_recommendedSystematicsElectrons;
96  std::list<CP::SystematicSet> m_recommendedSystematicsFwdElectrons;
97 
98  ToolHandle<CP::IEgammaCalibrationAndSmearingTool> m_calibrationTool;
99  ToolHandle<IElectronPhotonShowerShapeFudgeTool> m_photonFudgeTool;
100 
102  std::unordered_map<std::string, ToolHandle<CP::IIsolationSelectionTool>> m_electronIsolationTools;
103  std::unordered_map<std::string, ToolHandle<CP::IIsolationSelectionTool>> m_photonIsolationTools;
104 
105  ToolHandle<CP::IIsolationCorrectionTool> m_isolationCorr; // TODO not used at the moment -- to test in R22
106 
107  // Flag for applying calibration to objects
111 
112  // Flag for recomputing CP vars
114  };
115 } // namespace
116 #endif
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
top::EgammaObjectCollectionMaker::executeElectrons
StatusCode executeElectrons(bool)
Definition: EgammaObjectCollectionMaker.cxx:193
top
TopConfig A simple configuration that is NOT a singleton.
Definition: AnalysisTrackingHelper.cxx:58
top::EgammaObjectCollectionMaker::m_specifiedSystematicsPhotons
std::list< CP::SystematicSet > m_specifiedSystematicsPhotons
Definition: EgammaObjectCollectionMaker.h:90
top::EgammaObjectCollectionMaker::m_photonIsolationTools
std::unordered_map< std::string, ToolHandle< CP::IIsolationSelectionTool > > m_photonIsolationTools
Definition: EgammaObjectCollectionMaker.h:103
top::EgammaObjectCollectionMaker::recommendedSystematicsFwdElectrons
const std::list< CP::SystematicSet > & recommendedSystematicsFwdElectrons() const
Definition: EgammaObjectCollectionMaker.h:81
SystematicSet.h
top::EgammaObjectCollectionMaker
Definition: EgammaObjectCollectionMaker.h:45
top::EgammaObjectCollectionMaker::m_recomputePhotonFudge
bool m_recomputePhotonFudge
Definition: EgammaObjectCollectionMaker.h:113
top::EgammaObjectCollectionMaker::recommendedSystematicsElectrons
const std::list< CP::SystematicSet > & recommendedSystematicsElectrons() const
Definition: EgammaObjectCollectionMaker.h:80
top::EgammaObjectCollectionMaker::operator=
EgammaObjectCollectionMaker & operator=(const EgammaObjectCollectionMaker &rhs)=delete
top::EgammaObjectCollectionMaker::printoutElectrons
StatusCode printoutElectrons()
Definition: EgammaObjectCollectionMaker.cxx:340
IElectronPhotonShowerShapeFudgeTool.h
top::EgammaObjectCollectionMaker::m_recommendedSystematicsFwdElectrons
std::list< CP::SystematicSet > m_recommendedSystematicsFwdElectrons
Definition: EgammaObjectCollectionMaker.h:96
IEgammaCalibrationAndSmearingTool.h
top::EgammaObjectCollectionMaker::calibratePhotons
bool calibratePhotons
Definition: EgammaObjectCollectionMaker.h:110
top::EgammaObjectCollectionMaker::recommendedSystematicsPhotons
const std::list< CP::SystematicSet > & recommendedSystematicsPhotons() const
Definition: EgammaObjectCollectionMaker.h:77
IIsolationCorrectionTool.h
top::EgammaObjectCollectionMaker::printoutFwdElectrons
StatusCode printoutFwdElectrons()
Definition: EgammaObjectCollectionMaker.cxx:358
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
top::EgammaObjectCollectionMaker::initialize
StatusCode initialize()
Dummy implementation of the initialisation function.
Definition: EgammaObjectCollectionMaker.cxx:43
top::EgammaObjectCollectionMaker::EgammaObjectCollectionMaker
EgammaObjectCollectionMaker(const std::string &name)
Definition: EgammaObjectCollectionMaker.cxx:25
top::EgammaObjectCollectionMaker::~EgammaObjectCollectionMaker
virtual ~EgammaObjectCollectionMaker()
Definition: EgammaObjectCollectionMaker.h:48
top::EgammaObjectCollectionMaker::m_isolationCorr
ToolHandle< CP::IIsolationCorrectionTool > m_isolationCorr
Definition: EgammaObjectCollectionMaker.h:105
top::EgammaObjectCollectionMaker::m_recommendedSystematicsElectrons
std::list< CP::SystematicSet > m_recommendedSystematicsElectrons
Definition: EgammaObjectCollectionMaker.h:95
top::EgammaObjectCollectionMaker::m_specifiedSystematicsFwdElectrons
std::list< CP::SystematicSet > m_specifiedSystematicsFwdElectrons
Definition: EgammaObjectCollectionMaker.h:92
top::EgammaObjectCollectionMaker::specifiedSystematicsPhotons
virtual const std::list< CP::SystematicSet > & specifiedSystematicsPhotons() const
Definition: EgammaObjectCollectionMaker.h:66
top::EgammaObjectCollectionMaker::m_recommendedSystematicsPhotons
std::list< CP::SystematicSet > m_recommendedSystematicsPhotons
Definition: EgammaObjectCollectionMaker.h:94
top::EgammaObjectCollectionMaker::specifiedSystematicsFwdElectrons
virtual const std::list< CP::SystematicSet > & specifiedSystematicsFwdElectrons() const
Definition: EgammaObjectCollectionMaker.h:72
top::EgammaObjectCollectionMaker::executePhotons
StatusCode executePhotons(bool)
Definition: EgammaObjectCollectionMaker.cxx:116
top::EgammaObjectCollectionMaker::EgammaObjectCollectionMaker
EgammaObjectCollectionMaker(EgammaObjectCollectionMaker &&rhs)=delete
top::EgammaObjectCollectionMaker::m_calibrationTool
ToolHandle< CP::IEgammaCalibrationAndSmearingTool > m_calibrationTool
Definition: EgammaObjectCollectionMaker.h:98
top::EgammaObjectCollectionMaker::m_config
std::shared_ptr< top::TopConfig > m_config
Definition: EgammaObjectCollectionMaker.h:88
top::EgammaObjectCollectionMaker::calibrateFwdElectrons
bool calibrateFwdElectrons
Definition: EgammaObjectCollectionMaker.h:109
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
IIsolationSelectionTool.h
top::EgammaObjectCollectionMaker::EgammaObjectCollectionMaker
EgammaObjectCollectionMaker(const EgammaObjectCollectionMaker &rhs)=delete
top::EgammaObjectCollectionMaker::calibrateElectrons
bool calibrateElectrons
Definition: EgammaObjectCollectionMaker.h:108
top::EgammaObjectCollectionMaker::executeFwdElectrons
StatusCode executeFwdElectrons(bool)
Definition: EgammaObjectCollectionMaker.cxx:271
top::EgammaObjectCollectionMaker::m_photonFudgeTool
ToolHandle< IElectronPhotonShowerShapeFudgeTool > m_photonFudgeTool
Definition: EgammaObjectCollectionMaker.h:99
top::EgammaObjectCollectionMaker::printoutPhotons
StatusCode printoutPhotons()
Definition: EgammaObjectCollectionMaker.cxx:323
ToolHandle.h
AsgTool.h
top::EgammaObjectCollectionMaker::specifiedSystematicsElectrons
virtual const std::list< CP::SystematicSet > & specifiedSystematicsElectrons() const
Definition: EgammaObjectCollectionMaker.h:69
top::EgammaObjectCollectionMaker::m_specifiedSystematicsElectrons
std::list< CP::SystematicSet > m_specifiedSystematicsElectrons
Definition: EgammaObjectCollectionMaker.h:91
top::EgammaObjectCollectionMaker::m_electronIsolationTools
std::unordered_map< std::string, ToolHandle< CP::IIsolationSelectionTool > > m_electronIsolationTools
– Isolation –///
Definition: EgammaObjectCollectionMaker.h:102