ATLAS Offline Software
TopMuonCPTools.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 TOPCPTOOLS_TOPMUONCPTOOLS_H_
6 #define TOPCPTOOLS_TOPMUONCPTOOLS_H_
7 
8 // Include what you use
9 #include <vector>
10 #include <string>
11 
12 // Framework include(s):
13 #include "AsgTools/AsgTool.h"
14 #include "AsgTools/ToolHandle.h"
16 #include "AsgTools/AnaToolHandle.h"
17 
18 // Muon include(s):
23 
24 
25 namespace top {
26  class TopConfig;
27 
28  class MuonCPTools final: public asg::AsgTool {
29  public:
30  explicit MuonCPTools(const std::string& name);
31  virtual ~MuonCPTools() {}
32 
34  private:
35  std::shared_ptr<top::TopConfig> m_config;
36 
37  ToolHandle<CP::IMuonCalibrationAndSmearingTool> m_muonMomentumCalibrationTool;
38 
39  ToolHandle<CP::IMuonSelectionTool> m_muonSelectionTool;
40  ToolHandle<CP::IMuonSelectionTool> m_muonSelectionToolLoose;
41  // the following is needed to make sure all muons for which d0sig is calculated are at least Loose
42  ToolHandle<CP::IMuonSelectionTool> m_muonSelectionToolVeryLooseVeto;
43 
44  ToolHandle<CP::IMuonTriggerScaleFactors> m_muonTriggerScaleFactors_2015;
45  ToolHandle<CP::IMuonTriggerScaleFactors> m_muonTriggerScaleFactorsLoose_2015;
46  ToolHandle<CP::IMuonTriggerScaleFactors> m_muonTriggerScaleFactors_2016;
47  ToolHandle<CP::IMuonTriggerScaleFactors> m_muonTriggerScaleFactorsLoose_2016;
48  ToolHandle<CP::IMuonTriggerScaleFactors> m_muonTriggerScaleFactors_R21;
49  ToolHandle<CP::IMuonTriggerScaleFactors> m_muonTriggerScaleFactorsLoose_R21;
50 
51  ToolHandle<CP::IMuonEfficiencyScaleFactors> m_muonEfficiencyCorrectionsTool;
52  ToolHandle<CP::IMuonEfficiencyScaleFactors> m_muonEfficiencyCorrectionsToolLoose;
53  ToolHandle<CP::IMuonEfficiencyScaleFactors> m_muonEfficiencyCorrectionsToolIso;
54  ToolHandle<CP::IMuonEfficiencyScaleFactors> m_muonEfficiencyCorrectionsToolLooseIso;
55  ToolHandle<CP::IMuonEfficiencyScaleFactors> m_muonEfficiencyCorrectionsToolPromptLeptonIso;
56  ToolHandle<CP::IMuonEfficiencyScaleFactors> m_muonEfficiencyCorrectionsToolTTVA;
57  ToolHandle<CP::IMuonEfficiencyScaleFactors> m_muonEfficiencyCorrectionsToolBadMuonVeto;
58 
59  ToolHandle<CP::IMuonSelectionTool> m_softmuonSelectionTool;
60  ToolHandle<CP::IMuonEfficiencyScaleFactors> m_softmuonEfficiencyCorrectionsTool;
61 
62 
63 
66 
68  setupMuonSelectionTool(const std::string& name, const std::string& quality, double max_eta, const bool& useMVALowPt, const bool& use2stationMuonsHighPt);
69 
71  setupMuonTrigSFTool(const std::string& name, const std::string& quality);
72 
74  setupMuonSFTool(const std::string& name, const std::string& WP, const bool isIso);
75 
77  setupMuonCalibrationAndSmearingTool(const std::string& name, const bool& doExtraSmearingHighPt, const bool& do2StationsHighPt);
78  };
79 } // namespace top
80 
81 #endif // TOPCPTOOLS_TOPMUONCPTOOLS_H_
top::MuonCPTools::m_softmuonEfficiencyCorrectionsTool
ToolHandle< CP::IMuonEfficiencyScaleFactors > m_softmuonEfficiencyCorrectionsTool
Definition: TopMuonCPTools.h:60
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
top::MuonCPTools::m_config
std::shared_ptr< top::TopConfig > m_config
Definition: TopMuonCPTools.h:35
top
TopConfig A simple configuration that is NOT a singleton.
Definition: AnalysisTrackingHelper.cxx:58
top::MuonCPTools::setupMuonSFTool
CP::IMuonEfficiencyScaleFactors * setupMuonSFTool(const std::string &name, const std::string &WP, const bool isIso)
Definition: TopMuonCPTools.cxx:285
top::MuonCPTools::~MuonCPTools
virtual ~MuonCPTools()
Definition: TopMuonCPTools.h:31
IsoCloseByCorrectionTest.WP
WP
Definition: IsoCloseByCorrectionTest.py:56
top::MuonCPTools
Definition: TopMuonCPTools.h:28
top::MuonCPTools::m_muonEfficiencyCorrectionsToolIso
ToolHandle< CP::IMuonEfficiencyScaleFactors > m_muonEfficiencyCorrectionsToolIso
Definition: TopMuonCPTools.h:53
CP::IMuonEfficiencyScaleFactors
Definition: IMuonEfficiencyScaleFactors.h:102
top::MuonCPTools::initialize
StatusCode initialize()
Dummy implementation of the initialisation function.
Definition: TopMuonCPTools.cxx:45
top::MuonCPTools::m_muonEfficiencyCorrectionsToolLooseIso
ToolHandle< CP::IMuonEfficiencyScaleFactors > m_muonEfficiencyCorrectionsToolLooseIso
Definition: TopMuonCPTools.h:54
top::MuonCPTools::m_muonTriggerScaleFactorsLoose_R21
ToolHandle< CP::IMuonTriggerScaleFactors > m_muonTriggerScaleFactorsLoose_R21
Definition: TopMuonCPTools.h:49
top::MuonCPTools::m_muonEfficiencyCorrectionsToolBadMuonVeto
ToolHandle< CP::IMuonEfficiencyScaleFactors > m_muonEfficiencyCorrectionsToolBadMuonVeto
Definition: TopMuonCPTools.h:57
CP::IMuonCalibrationAndSmearingTool
Definition: IMuonCalibrationAndSmearingTool.h:24
IMuonSelectionTool.h
IMuonEfficiencyScaleFactors.h
top::MuonCPTools::m_muonMomentumCalibrationTool
ToolHandle< CP::IMuonCalibrationAndSmearingTool > m_muonMomentumCalibrationTool
Definition: TopMuonCPTools.h:37
ToolHandleArray.h
top::MuonCPTools::m_muonTriggerScaleFactorsLoose_2015
ToolHandle< CP::IMuonTriggerScaleFactors > m_muonTriggerScaleFactorsLoose_2015
Definition: TopMuonCPTools.h:45
top::MuonCPTools::m_muonSelectionToolLoose
ToolHandle< CP::IMuonSelectionTool > m_muonSelectionToolLoose
Definition: TopMuonCPTools.h:40
top::MuonCPTools::m_muonEfficiencyCorrectionsToolTTVA
ToolHandle< CP::IMuonEfficiencyScaleFactors > m_muonEfficiencyCorrectionsToolTTVA
Definition: TopMuonCPTools.h:56
top::MuonCPTools::m_muonSelectionTool
ToolHandle< CP::IMuonSelectionTool > m_muonSelectionTool
Definition: TopMuonCPTools.h:39
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
top::MuonCPTools::MuonCPTools
MuonCPTools(const std::string &name)
Definition: TopMuonCPTools.cxx:24
top::MuonCPTools::m_muonEfficiencyCorrectionsToolLoose
ToolHandle< CP::IMuonEfficiencyScaleFactors > m_muonEfficiencyCorrectionsToolLoose
Definition: TopMuonCPTools.h:52
top::MuonCPTools::m_muonSelectionToolVeryLooseVeto
ToolHandle< CP::IMuonSelectionTool > m_muonSelectionToolVeryLooseVeto
Definition: TopMuonCPTools.h:42
IMuonTriggerScaleFactors.h
CP::IMuonTriggerScaleFactors
Definition: IMuonTriggerScaleFactors.h:37
top::MuonCPTools::m_muonTriggerScaleFactors_R21
ToolHandle< CP::IMuonTriggerScaleFactors > m_muonTriggerScaleFactors_R21
Definition: TopMuonCPTools.h:48
top::MuonCPTools::setupMuonCalibrationAndSmearingTool
CP::IMuonCalibrationAndSmearingTool * setupMuonCalibrationAndSmearingTool(const std::string &name, const bool &doExtraSmearingHighPt, const bool &do2StationsHighPt)
Definition: TopMuonCPTools.cxx:314
top::MuonCPTools::setupMuonSelectionTool
CP::IMuonSelectionTool * setupMuonSelectionTool(const std::string &name, const std::string &quality, double max_eta, const bool &useMVALowPt, const bool &use2stationMuonsHighPt)
Definition: TopMuonCPTools.cxx:216
module_driven_slicing.max_eta
max_eta
Definition: module_driven_slicing.py:166
AnaToolHandle.h
top::MuonCPTools::m_muonEfficiencyCorrectionsToolPromptLeptonIso
ToolHandle< CP::IMuonEfficiencyScaleFactors > m_muonEfficiencyCorrectionsToolPromptLeptonIso
Definition: TopMuonCPTools.h:55
top::MuonCPTools::setupScaleFactors
StatusCode setupScaleFactors()
Definition: TopMuonCPTools.cxx:101
CP::IMuonSelectionTool
Interface for (a) muon selector tool(s)
Definition: IMuonSelectionTool.h:25
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
IMuonCalibrationAndSmearingTool.h
top::MuonCPTools::m_muonTriggerScaleFactors_2016
ToolHandle< CP::IMuonTriggerScaleFactors > m_muonTriggerScaleFactors_2016
Definition: TopMuonCPTools.h:46
top::MuonCPTools::m_softmuonSelectionTool
ToolHandle< CP::IMuonSelectionTool > m_softmuonSelectionTool
Definition: TopMuonCPTools.h:59
top::MuonCPTools::m_muonEfficiencyCorrectionsTool
ToolHandle< CP::IMuonEfficiencyScaleFactors > m_muonEfficiencyCorrectionsTool
Definition: TopMuonCPTools.h:51
top::MuonCPTools::m_muonTriggerScaleFactorsLoose_2016
ToolHandle< CP::IMuonTriggerScaleFactors > m_muonTriggerScaleFactorsLoose_2016
Definition: TopMuonCPTools.h:47
top::MuonCPTools::setupMuonTrigSFTool
CP::IMuonTriggerScaleFactors * setupMuonTrigSFTool(const std::string &name, const std::string &quality)
Definition: TopMuonCPTools.cxx:257
top::MuonCPTools::setupCalibration
StatusCode setupCalibration()
Definition: TopMuonCPTools.cxx:67
ToolHandle.h
AsgTool.h
top::MuonCPTools::m_muonTriggerScaleFactors_2015
ToolHandle< CP::IMuonTriggerScaleFactors > m_muonTriggerScaleFactors_2015
Definition: TopMuonCPTools.h:44