ATLAS Offline Software
MissingETObjectCollectionMaker.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 ANALYSISTOP_TOPSYSTEMATICOBJECTMAKER_MISSINGETOBJECTCOLLECTIONMAKER_H
6 #define ANALYSISTOP_TOPSYSTEMATICOBJECTMAKER_MISSINGETOBJECTCOLLECTIONMAKER_H
7 
16 // system include(s):
17 #include <memory>
18 
19 // Framework include(s):
20 #include "AsgTools/AsgTool.h"
21 #include "AsgTools/ToolHandle.h"
22 
23 // Systematic include(s):
25 
26 #include "METInterface/IMETMaker.h"
29 
30 namespace xAOD {
31  class SystematicEvent;
32 }
33 
34 namespace top {
35  class TopConfig;
36 }
37 
38 namespace top {
40  public:
41  explicit MissingETObjectCollectionMaker(const std::string& name);
43 
44  // Delete Standard constructors
48 
50  StatusCode recalculateMET(const bool executeNominal);
51 
52  // return specific Systematic
53  inline virtual const std::list<CP::SystematicSet>& specifiedSystematics() const {return m_specifiedSystematics;}
54 
55  // return all recommendedSystematics
56  inline const std::list<CP::SystematicSet>& recommendedSystematics() const {return m_recommendedSystematics;}
57  protected:
58  // specify Systematic
59  virtual void specifiedSystematics(const std::set<std::string>& specifiedSystematics);
60  private:
62  const xAOD::MissingETContainer* met_core,
63  const bool forceUseLooseObjects=false,
64  const std::string& outputContainerSuffix="");
65 
66  std::shared_ptr<top::TopConfig> m_config;
67 
68  std::list<CP::SystematicSet> m_specifiedSystematics;
69  std::list<CP::SystematicSet> m_recommendedSystematics;
70 
71  std::string m_MET_core;
72 
73  ToolHandle<IMETMaker> m_met_maker;
74  ToolHandle<IMETSystematicsTool> m_met_systematics;
75  ToolHandle<IMETSignificance> m_metSignif;
76  };
77 }
78 
79 #endif
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
top::MissingETObjectCollectionMaker::MissingETObjectCollectionMaker
MissingETObjectCollectionMaker(MissingETObjectCollectionMaker &&rhs)=delete
top
TopConfig A simple configuration that is NOT a singleton.
Definition: AnalysisTrackingHelper.cxx:58
top::MissingETObjectCollectionMaker::m_metSignif
ToolHandle< IMETSignificance > m_metSignif
Definition: MissingETObjectCollectionMaker.h:75
SystematicSet.h
IMETMaker.h
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
IMETSignificance.h
top::MissingETObjectCollectionMaker::recalculateMET
StatusCode recalculateMET(const bool executeNominal)
Definition: MissingETObjectCollectionMaker.cxx:77
IMETSystematicsTool.h
top::MissingETObjectCollectionMaker::m_met_systematics
ToolHandle< IMETSystematicsTool > m_met_systematics
Definition: MissingETObjectCollectionMaker.h:74
top::MissingETObjectCollectionMaker::~MissingETObjectCollectionMaker
virtual ~MissingETObjectCollectionMaker()
Definition: MissingETObjectCollectionMaker.h:42
top::MissingETObjectCollectionMaker::m_MET_core
std::string m_MET_core
Definition: MissingETObjectCollectionMaker.h:71
top::MissingETObjectCollectionMaker::m_met_maker
ToolHandle< IMETMaker > m_met_maker
Definition: MissingETObjectCollectionMaker.h:73
event
POOL::TEvent event(POOL::TEvent::kClassAccess)
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
top::MissingETObjectCollectionMaker::MissingETObjectCollectionMaker
MissingETObjectCollectionMaker(const MissingETObjectCollectionMaker &rhs)=delete
top::MissingETObjectCollectionMaker::m_recommendedSystematics
std::list< CP::SystematicSet > m_recommendedSystematics
Definition: MissingETObjectCollectionMaker.h:69
top::MissingETObjectCollectionMaker::specifiedSystematics
virtual const std::list< CP::SystematicSet > & specifiedSystematics() const
Definition: MissingETObjectCollectionMaker.h:53
xAOD::MissingETContainer_v1
Container for xAOD::MissingET_v1 objects.
Definition: MissingETContainer_v1.h:21
top::MissingETObjectCollectionMaker
Definition: MissingETObjectCollectionMaker.h:39
top::MissingETObjectCollectionMaker::operator=
MissingETObjectCollectionMaker & operator=(const MissingETObjectCollectionMaker &rhs)=delete
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
top::MissingETObjectCollectionMaker::MissingETObjectCollectionMaker
MissingETObjectCollectionMaker(const std::string &name)
Definition: MissingETObjectCollectionMaker.cxx:24
top::MissingETObjectCollectionMaker::recalculateEventMET
StatusCode recalculateEventMET(const xAOD::SystematicEvent *event, const xAOD::MissingETContainer *met_core, const bool forceUseLooseObjects=false, const std::string &outputContainerSuffix="")
Definition: MissingETObjectCollectionMaker.cxx:127
top::MissingETObjectCollectionMaker::recommendedSystematics
const std::list< CP::SystematicSet > & recommendedSystematics() const
Definition: MissingETObjectCollectionMaker.h:56
xAOD::SystematicEvent
SystematicEvent A simple xAOD class which we can persist into a mini-xAOD The xAOD EDM is way too com...
Definition: SystematicEvent.h:27
top::MissingETObjectCollectionMaker::m_config
std::shared_ptr< top::TopConfig > m_config
Definition: MissingETObjectCollectionMaker.h:66
ToolHandle.h
top::MissingETObjectCollectionMaker::m_specifiedSystematics
std::list< CP::SystematicSet > m_specifiedSystematics
Definition: MissingETObjectCollectionMaker.h:68
AsgTool.h
top::MissingETObjectCollectionMaker::initialize
StatusCode initialize()
Dummy implementation of the initialisation function.
Definition: MissingETObjectCollectionMaker.cxx:41