ATLAS Offline Software
TopJetMETCPTools.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 #ifndef TOPCPTOOLS_TOPJETMETCPTOOLS_H_
6 #define TOPCPTOOLS_TOPJETMETCPTOOLS_H_
7 
8 // Include what you use
9 #include <vector>
10 #include <string>
11 #include <cstdlib>
12 
13 // Framework include(s):
14 #include "AsgTools/AsgTool.h"
15 #include "AsgTools/ToolHandle.h"
17 #include "AsgTools/AnaToolHandle.h"
18 
19 // Jet include(s):
28 
29 // MET include(s):
30 #include "METInterface/IMETMaker.h"
33 
34 
35 namespace top {
36  class TopConfig;
37 
38  class JetMETCPTools final: public asg::AsgTool {
39  public:
40  explicit JetMETCPTools(const std::string& name);
41  virtual ~JetMETCPTools() {}
42 
44  private:
45  std::shared_ptr<top::TopConfig> m_config;
46 
47  std::string m_jetJVT_ConfigFile;
48  std::string m_truthJetCollForHS;
49 
52 
55 
56  // small-R calibration with jet mass calibration included
59 
60  // only for fullsim, AFII not supported
63 
66 
69 
72 
75 
76  // small-R calibration with jet mass calibration included
79 
80  // only for fullsim, AFII not supported
83 
84  ToolHandle<IJetCalibrationTool> m_jetCalibrationTool;
85  ToolHandle<IJetCalibrationTool> m_jetCalibrationToolLargeR;
86 
87  ToolHandle<ICPJetUncertaintiesTool> m_jetUncertaintiesToolLargeR;
88  ToolHandle<ICPJetUncertaintiesTool> m_jetUncertaintiesToolLargeRPseudoData;
89 
90  ToolHandle<ICPJetUncertaintiesTool> m_jetUncertaintiesTool;
91  ToolHandle<ICPJetUncertaintiesTool> m_jetUncertaintiesToolPseudoData;
92  ToolHandle<ICPJetCorrectionTool> m_FFJetSmearingTool;
93  ToolHandle<ICPJetUncertaintiesTool> m_jetUncertaintiesToolReducedNPScenario1;
94  ToolHandle<ICPJetUncertaintiesTool> m_jetUncertaintiesToolReducedNPScenario2;
95  ToolHandle<ICPJetUncertaintiesTool> m_jetUncertaintiesToolReducedNPScenario3;
96  ToolHandle<ICPJetUncertaintiesTool> m_jetUncertaintiesToolReducedNPScenario4;
97 
98  ToolHandle<IJetSelector> m_jetCleaningToolLooseBad;
99  ToolHandle<IJetSelector> m_jetCleaningToolTightBad;
100 
101  // Implement event object cleaning tool
102  ToolHandle<ECUtils::IEventCleaningTool> m_jetEventCleaningToolLooseBad;
103  ToolHandle<ECUtils::IEventCleaningTool> m_jetEventCleaningToolTightBad;
104 
105  ToolHandle<IJetUpdateJvt> m_jetUpdateJvtTool;
106  ToolHandle<IJetModifier> m_jetSelectfJvtTool;
107 
108  ToolHandle<CP::IJetJvtEfficiency> m_jetJvtTool;
109  ToolHandle<CP::IJetJvtEfficiency> m_jetfJvtTool;
110 
111  ToolHandle<IMETMaker> m_met_maker;
112  ToolHandle<IMETSystematicsTool> m_met_systematics;
113  ToolHandle<IMETSignificance> m_metSignif;
114 
115 
116 
121 
122 
123  ICPJetCorrectionTool * setupFFJetSmearingTool(const std::string& mass_def,const std::string& config);
124 
125 
127  setupJetUncertaintiesTool(const std::string& name,
128  const std::string& jet_def,
129  const std::string& mc_type,
130  bool isMC,
131  const std::string& config_file,
132  std::vector<std::string>* variables,
133  const std::string& analysis_file = "",
134  const std::string& calib_area = "None");
135 
136  IJetSelector* setupJetCleaningTool(const std::string& WP);
138  const ToolHandle<IJetSelector>& JetCleaningToolHandle);
139  };
140 } // namespace top
141 
142 #endif // TOPCPTOOLS_TOPJETMETCPTOOLS_H_
top::JetMETCPTools::m_jetAntiKt4_Data_PFlow_ConfigFile
std::string m_jetAntiKt4_Data_PFlow_ConfigFile
Definition: TopJetMETCPTools.h:70
top::JetMETCPTools::m_jetAntiKt4_PFlow_MCFS_CalibSequence
std::string m_jetAntiKt4_PFlow_MCFS_CalibSequence
Definition: TopJetMETCPTools.h:74
top::JetMETCPTools::m_jetAntiKt4_Data_CalibSequence
std::string m_jetAntiKt4_Data_CalibSequence
Definition: TopJetMETCPTools.h:51
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
top::JetMETCPTools::m_jetAntiKt4_Data_JMS_ConfigFile
std::string m_jetAntiKt4_Data_JMS_ConfigFile
Definition: TopJetMETCPTools.h:57
top::JetMETCPTools::m_jetAntiKt4_Data_PFlow_JMS_ConfigFile
std::string m_jetAntiKt4_Data_PFlow_JMS_ConfigFile
Definition: TopJetMETCPTools.h:77
top
TopConfig A simple configuration that is NOT a singleton.
Definition: AnalysisTrackingHelper.cxx:58
checkCoolLatestUpdate.variables
variables
Definition: checkCoolLatestUpdate.py:13
IEventCleaningTool.h
top::JetMETCPTools::m_met_systematics
ToolHandle< IMETSystematicsTool > m_met_systematics
Definition: TopJetMETCPTools.h:112
top::JetMETCPTools::setupMET
StatusCode setupMET()
Definition: TopJetMETCPTools.cxx:655
top::JetMETCPTools::JetMETCPTools
JetMETCPTools(const std::string &name)
Definition: TopJetMETCPTools.cxx:37
top::JetMETCPTools::m_jetAntiKt4_MCFS_CalibSequence
std::string m_jetAntiKt4_MCFS_CalibSequence
Definition: TopJetMETCPTools.h:54
top::JetMETCPTools::setupJetsCalibration
StatusCode setupJetsCalibration()
Definition: TopJetMETCPTools.cxx:137
top::JetMETCPTools::setupJetUncertaintiesTool
ICPJetUncertaintiesTool * setupJetUncertaintiesTool(const std::string &name, const std::string &jet_def, const std::string &mc_type, bool isMC, const std::string &config_file, std::vector< std::string > *variables, const std::string &analysis_file="", const std::string &calib_area="None")
Definition: TopJetMETCPTools.cxx:745
IsoCloseByCorrectionTest.WP
WP
Definition: IsoCloseByCorrectionTest.py:56
top::JetMETCPTools::m_jetAntiKt4_MCAFII_PFlow_CalibSequence
std::string m_jetAntiKt4_MCAFII_PFlow_CalibSequence
Definition: TopJetMETCPTools.h:68
top::JetMETCPTools::m_truthJetCollForHS
std::string m_truthJetCollForHS
Definition: TopJetMETCPTools.h:48
ECUtils::IEventCleaningTool
Interface for the event cleaning tool.
Definition: IEventCleaningTool.h:24
top::JetMETCPTools::m_jetCleaningToolLooseBad
ToolHandle< IJetSelector > m_jetCleaningToolLooseBad
Definition: TopJetMETCPTools.h:98
top::JetMETCPTools::m_jetUncertaintiesToolReducedNPScenario2
ToolHandle< ICPJetUncertaintiesTool > m_jetUncertaintiesToolReducedNPScenario2
Definition: TopJetMETCPTools.h:94
IMETMaker.h
IMETSignificance.h
IMETSystematicsTool.h
top::JetMETCPTools::m_config
std::shared_ptr< top::TopConfig > m_config
Definition: TopJetMETCPTools.h:45
IJetSelector.h
top::JetMETCPTools::m_jetUpdateJvtTool
ToolHandle< IJetUpdateJvt > m_jetUpdateJvtTool
Definition: TopJetMETCPTools.h:105
top::JetMETCPTools
Definition: TopJetMETCPTools.h:38
IJetModifier.h
ICPJetUncertaintiesTool
Definition: ICPJetUncertaintiesTool.h:15
config
Definition: PhysicsAnalysis/AnalysisCommon/AssociationUtils/python/config.py:1
IJetCalibrationTool.h
top::JetMETCPTools::m_jetJVT_ConfigFile
std::string m_jetJVT_ConfigFile
Definition: TopJetMETCPTools.h:47
top::JetMETCPTools::m_met_maker
ToolHandle< IMETMaker > m_met_maker
Definition: TopJetMETCPTools.h:111
top::JetMETCPTools::setupJetCleaningTool
IJetSelector * setupJetCleaningTool(const std::string &WP)
Definition: TopJetMETCPTools.cxx:804
top::JetMETCPTools::m_jetAntiKt4_PFlow_MCFS_JMS_ConfigFile
std::string m_jetAntiKt4_PFlow_MCFS_JMS_ConfigFile
Definition: TopJetMETCPTools.h:81
top::JetMETCPTools::m_jetUncertaintiesToolReducedNPScenario4
ToolHandle< ICPJetUncertaintiesTool > m_jetUncertaintiesToolReducedNPScenario4
Definition: TopJetMETCPTools.h:96
top::JetMETCPTools::m_jetUncertaintiesToolReducedNPScenario1
ToolHandle< ICPJetUncertaintiesTool > m_jetUncertaintiesToolReducedNPScenario1
Definition: TopJetMETCPTools.h:93
ToolHandleArray.h
top::JetMETCPTools::m_jetAntiKt4_PFlow_MCFS_ConfigFile
std::string m_jetAntiKt4_PFlow_MCFS_ConfigFile
Definition: TopJetMETCPTools.h:73
top::JetMETCPTools::m_jetAntiKt4_MCAFII_CalibSequence
std::string m_jetAntiKt4_MCAFII_CalibSequence
Definition: TopJetMETCPTools.h:65
top::JetMETCPTools::m_jetEventCleaningToolLooseBad
ToolHandle< ECUtils::IEventCleaningTool > m_jetEventCleaningToolLooseBad
Definition: TopJetMETCPTools.h:102
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ICPJetCorrectionTool
class ICPJetCorrectionTool
Definition: ICPJetCorrectionTool.h:28
top::JetMETCPTools::m_jetCalibrationToolLargeR
ToolHandle< IJetCalibrationTool > m_jetCalibrationToolLargeR
Definition: TopJetMETCPTools.h:85
top::JetMETCPTools::m_jetAntiKt4_MCFS_JMS_ConfigFile
std::string m_jetAntiKt4_MCFS_JMS_ConfigFile
Definition: TopJetMETCPTools.h:61
top::JetMETCPTools::m_jetSelectfJvtTool
ToolHandle< IJetModifier > m_jetSelectfJvtTool
Definition: TopJetMETCPTools.h:106
AnaToolHandle.h
top::JetMETCPTools::initialize
StatusCode initialize()
Dummy implementation of the initialisation function.
Definition: TopJetMETCPTools.cxx:113
top::JetMETCPTools::m_jetAntiKt4_Data_PFlow_JMS_CalibSequence
std::string m_jetAntiKt4_Data_PFlow_JMS_CalibSequence
Definition: TopJetMETCPTools.h:78
top::JetMETCPTools::m_jetAntiKt4_Data_JMS_CalibSequence
std::string m_jetAntiKt4_Data_JMS_CalibSequence
Definition: TopJetMETCPTools.h:58
top::JetMETCPTools::m_jetCleaningToolTightBad
ToolHandle< IJetSelector > m_jetCleaningToolTightBad
Definition: TopJetMETCPTools.h:99
top::JetMETCPTools::m_jetUncertaintiesToolLargeRPseudoData
ToolHandle< ICPJetUncertaintiesTool > m_jetUncertaintiesToolLargeRPseudoData
Definition: TopJetMETCPTools.h:88
ICPJetCorrectionTool.h
top::JetMETCPTools::m_jetfJvtTool
ToolHandle< CP::IJetJvtEfficiency > m_jetfJvtTool
Definition: TopJetMETCPTools.h:109
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
IJetSelector
IJetSelector is a dual-use tool interface for a tool that selects a jet.
Definition: IJetSelector.h:19
ICPJetUncertaintiesTool.h
top::JetMETCPTools::m_jetAntiKt4_Data_PFlow_CalibSequence
std::string m_jetAntiKt4_Data_PFlow_CalibSequence
Definition: TopJetMETCPTools.h:71
top::JetMETCPTools::m_jetUncertaintiesToolLargeR
ToolHandle< ICPJetUncertaintiesTool > m_jetUncertaintiesToolLargeR
Definition: TopJetMETCPTools.h:87
top::JetMETCPTools::m_jetUncertaintiesToolPseudoData
ToolHandle< ICPJetUncertaintiesTool > m_jetUncertaintiesToolPseudoData
Definition: TopJetMETCPTools.h:91
top::JetMETCPTools::m_jetJvtTool
ToolHandle< CP::IJetJvtEfficiency > m_jetJvtTool
Definition: TopJetMETCPTools.h:108
top::JetMETCPTools::m_jetCalibrationTool
ToolHandle< IJetCalibrationTool > m_jetCalibrationTool
Definition: TopJetMETCPTools.h:84
top::JetMETCPTools::m_jetEventCleaningToolTightBad
ToolHandle< ECUtils::IEventCleaningTool > m_jetEventCleaningToolTightBad
Definition: TopJetMETCPTools.h:103
top::JetMETCPTools::m_jetAntiKt4_MCFS_ConfigFile
std::string m_jetAntiKt4_MCFS_ConfigFile
Definition: TopJetMETCPTools.h:53
top::JetMETCPTools::m_jetUncertaintiesTool
ToolHandle< ICPJetUncertaintiesTool > m_jetUncertaintiesTool
Definition: TopJetMETCPTools.h:90
top::JetMETCPTools::m_jetUncertaintiesToolReducedNPScenario3
ToolHandle< ICPJetUncertaintiesTool > m_jetUncertaintiesToolReducedNPScenario3
Definition: TopJetMETCPTools.h:95
top::JetMETCPTools::m_metSignif
ToolHandle< IMETSignificance > m_metSignif
Definition: TopJetMETCPTools.h:113
IJetUpdateJvt.h
top::JetMETCPTools::m_jetAntiKt4_MCAFII_PFlow_ConfigFile
std::string m_jetAntiKt4_MCAFII_PFlow_ConfigFile
Definition: TopJetMETCPTools.h:67
EventInfoRead.isMC
isMC
Definition: EventInfoRead.py:11
top::JetMETCPTools::m_jetAntiKt4_Data_ConfigFile
std::string m_jetAntiKt4_Data_ConfigFile
Definition: TopJetMETCPTools.h:50
top::JetMETCPTools::setupJetsScaleFactors
StatusCode setupJetsScaleFactors()
Definition: TopJetMETCPTools.cxx:575
top::JetMETCPTools::m_jetAntiKt4_PFlow_MCFS_JMS_CalibSequence
std::string m_jetAntiKt4_PFlow_MCFS_JMS_CalibSequence
Definition: TopJetMETCPTools.h:82
ToolHandle.h
AsgTool.h
top::JetMETCPTools::m_FFJetSmearingTool
ToolHandle< ICPJetCorrectionTool > m_FFJetSmearingTool
Definition: TopJetMETCPTools.h:92
IJetJvtEfficiency.h
top::JetMETCPTools::setupFFJetSmearingTool
ICPJetCorrectionTool * setupFFJetSmearingTool(const std::string &mass_def, const std::string &config)
Definition: TopJetMETCPTools.cxx:553
top::JetMETCPTools::m_jetAntiKt4_MCAFII_ConfigFile
std::string m_jetAntiKt4_MCAFII_ConfigFile
Definition: TopJetMETCPTools.h:64
top::JetMETCPTools::~JetMETCPTools
virtual ~JetMETCPTools()
Definition: TopJetMETCPTools.h:41
top::JetMETCPTools::m_jetAntiKt4_MCFS_JMS_CalibSequence
std::string m_jetAntiKt4_MCFS_JMS_CalibSequence
Definition: TopJetMETCPTools.h:62
top::JetMETCPTools::setupLargeRJetsCalibration
StatusCode setupLargeRJetsCalibration()
Definition: TopJetMETCPTools.cxx:455
top::JetMETCPTools::setupJetEventCleaningTool
ECUtils::IEventCleaningTool * setupJetEventCleaningTool(const std::string &WP, const ToolHandle< IJetSelector > &JetCleaningToolHandle)
Definition: TopJetMETCPTools.cxx:823