ATLAS Offline Software
MuonObjectCollectionMaker.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3  */
4 
5 // $Id: MuonObjectCollectionMaker.h 799839 2017-03-08 11:07:28Z grancagn $
6 #ifndef ANALYSISTOP_TOPSYSTEMATICOBJECTMAKER_MUONOBJECTCOLLECTIONMAKER_H
7 #define ANALYSISTOP_TOPSYSTEMATICOBJECTMAKER_MUONOBJECTCOLLECTIONMAKER_H
8 
22 // system include(s):
23 #include <memory>
24 #include <set>
25 #include <list>
26 
27 // Framework include(s):
28 #include "AsgTools/AsgTool.h"
29 #include "AsgTools/ToolHandle.h"
30 
31 // Systematic include(s):
33 
34 // CP Tool include(s):
36 //#include "IsolationSelection/IIsolationLowPtPLVTool.h"
37 // the following is needed to make sure all muons for which d0sig is calculated are at least Loose
40 // Forward declaration(s):
41 namespace top {
42  class TopConfig;
43 }
44 
45 namespace top {
47  public:
48  explicit MuonObjectCollectionMaker(const std::string& name);
50 
51  // Delete Standard constructors
55 
57  StatusCode execute(bool);
58 
60 
61  // return specific Systematic
62  inline virtual const std::list<CP::SystematicSet>& specifiedSystematics() const {return m_specifiedSystematics;}
63 
64  // return all recommendedSystematics
65  inline const std::list<CP::SystematicSet>& recommendedSystematics() const {return m_recommendedSystematics;}
66  protected:
67  // specify Systematic
68  virtual void specifiedSystematics(const std::set<std::string>& specifiedSystematics);
69  private:
70  std::shared_ptr<top::TopConfig> m_config;
71 
72  std::list<CP::SystematicSet> m_specifiedSystematics;
73  std::list<CP::SystematicSet> m_recommendedSystematics;
74 
75  ToolHandle<CP::IMuonCalibrationAndSmearingTool> m_calibrationTool;
76 
78  std::unordered_map<std::string, ToolHandle<CP::IIsolationSelectionTool>> m_muonIsolationTools;
79 
80  // the following is needed to make sure all muons for which d0sig is calculated are at least Loose
82 
84  };
85 } // namespace
86 #endif
top::MuonObjectCollectionMaker::m_specifiedSystematics
std::list< CP::SystematicSet > m_specifiedSystematics
Definition: MuonObjectCollectionMaker.h:72
top::MuonObjectCollectionMaker::m_config
std::shared_ptr< top::TopConfig > m_config
Definition: MuonObjectCollectionMaker.h:70
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
top
TopConfig A simple configuration that is NOT a singleton.
Definition: AnalysisTrackingHelper.cxx:58
top::MuonObjectCollectionMaker::initialize
StatusCode initialize()
Dummy implementation of the initialisation function.
Definition: MuonObjectCollectionMaker.cxx:41
top::MuonObjectCollectionMaker::m_calibrationTool
ToolHandle< CP::IMuonCalibrationAndSmearingTool > m_calibrationTool
Definition: MuonObjectCollectionMaker.h:75
SystematicSet.h
top::MuonObjectCollectionMaker::printout
StatusCode printout()
Definition: MuonObjectCollectionMaker.cxx:176
top::MuonObjectCollectionMaker::m_isFirstCheckForLowPtMVA
bool m_isFirstCheckForLowPtMVA
Definition: MuonObjectCollectionMaker.h:83
IMuonSelectionTool.h
top::MuonObjectCollectionMaker::m_muonIsolationTools
std::unordered_map< std::string, ToolHandle< CP::IIsolationSelectionTool > > m_muonIsolationTools
– Isolation –///
Definition: MuonObjectCollectionMaker.h:78
top::MuonObjectCollectionMaker
Definition: MuonObjectCollectionMaker.h:46
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
top::MuonObjectCollectionMaker::~MuonObjectCollectionMaker
virtual ~MuonObjectCollectionMaker()
Definition: MuonObjectCollectionMaker.h:49
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
IIsolationSelectionTool.h
top::MuonObjectCollectionMaker::MuonObjectCollectionMaker
MuonObjectCollectionMaker(const MuonObjectCollectionMaker &rhs)=delete
IMuonCalibrationAndSmearingTool.h
top::MuonObjectCollectionMaker::m_muonSelectionToolVeryLooseVeto
ToolHandle< CP::IMuonSelectionTool > m_muonSelectionToolVeryLooseVeto
Definition: MuonObjectCollectionMaker.h:81
top::MuonObjectCollectionMaker::m_recommendedSystematics
std::list< CP::SystematicSet > m_recommendedSystematics
Definition: MuonObjectCollectionMaker.h:73
top::MuonObjectCollectionMaker::recommendedSystematics
const std::list< CP::SystematicSet > & recommendedSystematics() const
Definition: MuonObjectCollectionMaker.h:65
top::MuonObjectCollectionMaker::MuonObjectCollectionMaker
MuonObjectCollectionMaker(MuonObjectCollectionMaker &&rhs)=delete
top::MuonObjectCollectionMaker::execute
StatusCode execute(bool)
Definition: MuonObjectCollectionMaker.cxx:80
ToolHandle.h
AsgTool.h
top::MuonObjectCollectionMaker::m_muonSelectionToolLoose
ToolHandle< CP::IMuonSelectionTool > m_muonSelectionToolLoose
Definition: MuonObjectCollectionMaker.h:81
top::MuonObjectCollectionMaker::m_muonSelectionTool
ToolHandle< CP::IMuonSelectionTool > m_muonSelectionTool
Definition: MuonObjectCollectionMaker.h:81
top::MuonObjectCollectionMaker::operator=
MuonObjectCollectionMaker & operator=(const MuonObjectCollectionMaker &rhs)=delete
top::MuonObjectCollectionMaker::specifiedSystematics
virtual const std::list< CP::SystematicSet > & specifiedSystematics() const
Definition: MuonObjectCollectionMaker.h:62
top::MuonObjectCollectionMaker::MuonObjectCollectionMaker
MuonObjectCollectionMaker(const std::string &name)
Definition: MuonObjectCollectionMaker.cxx:21