ATLAS Offline Software
MuonCalibIntHighpTSmearTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MCAST_MuonCalibIntHighpTSmearTool_H
6 #define MCAST_MuonCalibIntHighpTSmearTool_H
7 
8 // C++ includes
9 #include <map>
10 #include <vector>
11 
12 // Framework include(s):
14 #include "AsgTools/AnaToolHandle.h"
15 #include "AsgTools/AsgTool.h"
19 
24 
25 namespace CP {
26 
28  public asg::AsgTool {
29  // Create a proper constructor for Athena
32 
33  public:
34  // Interface methods that must be defined
35  // Interface - Apply the correction on a modifyable object
36  virtual CorrectionCode applyCorrection(MCP::MuonObj& mu) const override;
37 
38  // Interface - Is the tool affected by a specific systematic?
39  virtual bool isAffectedBySystematic(const SystematicVariation& systematic) const override;
40  // Interface - Which systematics have an effect on the tool's behaviour?
41  virtual SystematicSet affectingSystematics() const override;
42  // Interface - Systematics to be used for physics analysis
43  virtual SystematicSet recommendedSystematics() const override;
44  // Interface - Use specific systematic
45  virtual StatusCode applySystematicVariation(const SystematicSet& systConfig) override;
46 
47  public:
48  // Constructor
49  MuonCalibIntHighpTSmearTool(const std::string& name);
50 
51  // Destructor
52  virtual ~MuonCalibIntHighpTSmearTool() = default;
53 
54  virtual StatusCode initialize() override;
55 
56 
57  protected:
58  // Event info
59  SG::ReadHandleKey<xAOD::EventInfo> m_eventInfo{this, "EventInfoContName", "EventInfo", "event info key"};
60 
61  // Release scheme
62  Gaudi::Property<std::string> m_release{this, "release", "Recs2024_05_06_Run2Run3", "Release version"};
63 
64  typedef std::map<MCP::MST_Categories, std::shared_ptr<MCP::CalibContainer>> HighpTConstMap;
65 
66  // Corrections from the data
67  std::map<MCP::DataYear, HighpTConstMap> m_MS_Misaligned_p1;
68  std::map<MCP::DataYear, HighpTConstMap> m_MS_Misaligned_p2;
69  std::map<MCP::DataYear, HighpTConstMap> m_MS_AlignedAndCorrected_p1;
70  std::map<MCP::DataYear, HighpTConstMap> m_MS_AlignedAndCorrected_p2;
71 
72  MCP::MST_Categories ConvertToMacroCategory(const int raw_mst_category) const;
73 
74 
75 
76  }; // class MuonCalibIntHighpTSmearTool
77 
78 } // namespace CP
79 
80 #endif
CP::IMuonCalibIntTool
Definition: IMuonCalibIntTool.h:26
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
PropertyWrapper.h
MuonObj.h
CP::MuonCalibIntHighpTSmearTool::ConvertToMacroCategory
MCP::MST_Categories ConvertToMacroCategory(const int raw_mst_category) const
Definition: MuonCalibIntHighpTSmearTool.cxx:119
CP::MuonCalibIntHighpTSmearTool
Definition: MuonCalibIntHighpTSmearTool.h:28
CP::MuonCalibIntHighpTSmearTool::recommendedSystematics
virtual SystematicSet recommendedSystematics() const override
the list of all systematics this tool recommends to use
Definition: MuonCalibIntHighpTSmearTool.cxx:111
CP::MuonCalibIntHighpTSmearTool::m_eventInfo
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfo
Definition: MuonCalibIntHighpTSmearTool.h:59
CalibContainer.h
CP::SystematicSet
Class to wrap a set of SystematicVariations.
Definition: SystematicSet.h:31
CP::MuonCalibIntHighpTSmearTool::HighpTConstMap
std::map< MCP::MST_Categories, std::shared_ptr< MCP::CalibContainer > > HighpTConstMap
Definition: MuonCalibIntHighpTSmearTool.h:64
CP::IMuonCalibIntTool::applyCorrection
virtual CorrectionCode applyCorrection(MCP::MuonObj &mu) const =0
Declare the interface that the class provides.
CP::SystematicVariation
Definition: SystematicVariation.h:47
SG::ReadHandleKey< xAOD::EventInfo >
CP::MuonCalibIntHighpTSmearTool::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition: MuonCalibIntHighpTSmearTool.cxx:26
CP
Select isolated Photons, Electrons and Muons.
Definition: Control/xAODRootAccess/xAODRootAccess/TEvent.h:48
CP::MuonCalibIntHighpTSmearTool::m_MS_AlignedAndCorrected_p1
std::map< MCP::DataYear, HighpTConstMap > m_MS_AlignedAndCorrected_p1
Definition: MuonCalibIntHighpTSmearTool.h:69
CP::MuonCalibIntHighpTSmearTool::m_MS_AlignedAndCorrected_p2
std::map< MCP::DataYear, HighpTConstMap > m_MS_AlignedAndCorrected_p2
Definition: MuonCalibIntHighpTSmearTool.h:70
MCP::MST_Categories
MST_Categories
Definition: EnumDef.h:31
CP::MuonCalibIntHighpTSmearTool::m_MS_Misaligned_p1
std::map< MCP::DataYear, HighpTConstMap > m_MS_Misaligned_p1
Definition: MuonCalibIntHighpTSmearTool.h:67
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
CP::MuonCalibIntHighpTSmearTool::~MuonCalibIntHighpTSmearTool
virtual ~MuonCalibIntHighpTSmearTool()=default
CP::MuonCalibIntHighpTSmearTool::m_release
Gaudi::Property< std::string > m_release
Definition: MuonCalibIntHighpTSmearTool.h:62
AnaToolHandle.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
EventInfo.h
EnumDef.h
CP::ISystematicsTool
Interface for all CP tools supporting systematic variations.
Definition: ISystematicsTool.h:32
CP::MuonCalibIntHighpTSmearTool::isAffectedBySystematic
virtual ASG_TOOL_CLASS3(MuonCalibIntHighpTSmearTool, CP::IMuonCalibIntTool, CP::ISystematicsTool, CP::IReentrantSystematicsTool) public bool isAffectedBySystematic(const SystematicVariation &systematic) const override
Declare the interface that this class provides.
Definition: MuonCalibIntHighpTSmearTool.cxx:98
CP::MuonCalibIntHighpTSmearTool::affectingSystematics
virtual SystematicSet affectingSystematics() const override
the list of all systematics this tool can be affected by
Definition: MuonCalibIntHighpTSmearTool.cxx:104
CP::MuonCalibIntHighpTSmearTool::m_MS_Misaligned_p2
std::map< MCP::DataYear, HighpTConstMap > m_MS_Misaligned_p2
Definition: MuonCalibIntHighpTSmearTool.h:68
ASG_TOOL_CLASS3
#define ASG_TOOL_CLASS3(CLASSNAME, INT1, INT2, INT3)
Definition: AsgToolMacros.h:85
CP::CorrectionCode
Return value from object correction CP tools.
Definition: CorrectionCode.h:31
CP::IReentrantSystematicsTool
interface for all CP tools supporting systematic variations within a reentrant algorithm
Definition: IReentrantSystematicsTool.h:58
IMuonCalibIntTool.h
MCP::MuonObj
Definition: MuonObj.h:126
CP::MuonCalibIntHighpTSmearTool::MuonCalibIntHighpTSmearTool
MuonCalibIntHighpTSmearTool(const std::string &name)
Definition: MuonCalibIntHighpTSmearTool.cxx:22
CP::MuonCalibIntHighpTSmearTool::applySystematicVariation
virtual StatusCode applySystematicVariation(const SystematicSet &systConfig) override
effects: configure this tool for the given list of systematic variations.
Definition: MuonCalibIntHighpTSmearTool.cxx:113
AsgTool.h
CaloNoise_fillDB.mu
mu
Definition: CaloNoise_fillDB.py:53
SystematicsCache.h