00001 #ifndef QUICK_ANA__FAT_JET_TOOL_H
00002 #define QUICK_ANA__FAT_JET_TOOL_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include <QuickAna/Global.h>
00021
00022 #include <QuickAna/AnaToolCorrect.h>
00023 #include <AsgTools/AnaToolHandle.h>
00024 #include <QuickAna/AnaToolSelect.h>
00025 #include <QuickAna/AnaToolWeight.h>
00026 #include <QuickAna/SelectionCut.h>
00027 #include <QuickAna/xAODInclude.h>
00028
00029 class IJetCalibrationTool;
00030 class ICPJetUncertaintiesTool;
00031 class IJERTool;
00032 class IJERSmearingTool;
00033 class IJetSelector;
00034 class IBTaggingEfficiencyTool;
00035
00036 namespace ana
00037 {
00039 class FatJetToolCorrect : public AnaToolCorrect<xAOD::JetContainer>
00040 {
00041
00042
00043
00044
00045 ASG_TOOL_CLASS (FatJetToolCorrect, ana::IAnaTool)
00046
00047 public:
00048
00052 FatJetToolCorrect (const std::string& name);
00053
00054
00058 StatusCode initialize() override;
00059
00060
00065 virtual StatusCode
00066 correctObject (xAOD::Jet& jet) override;
00067
00068 private:
00069
00071 asg::AnaToolHandle<IJetCalibrationTool> m_calibration_tool;
00072
00074 asg::AnaToolHandle<ICPJetUncertaintiesTool> m_uncertainties_tool;
00075
00077 asg::AnaToolHandle<IJERTool> m_resolution_tool;
00078
00080 asg::AnaToolHandle<IJERSmearingTool> m_smearing_tool;
00081 };
00082
00083
00084
00086 class FatJetToolSelect : public AnaToolSelect<xAOD::JetContainer>
00087 {
00088
00089
00090
00091
00092 ASG_TOOL_CLASS (FatJetToolSelect, ana::IAnaTool)
00093
00094 public:
00095
00099 FatJetToolSelect (const std::string& name);
00100
00101
00105 StatusCode initialize() override;
00106
00107
00111 virtual StatusCode
00112 selectObject (xAOD::Jet& jet) override;
00113
00114 private:
00115
00116 SelectionCut cut_eta;
00117 SelectionCut cut_pt;
00118 };
00119
00120
00121
00122 class FatJetToolWeight : public AnaToolWeight<xAOD::JetContainer>
00123 {
00124
00125
00126
00127
00128 ASG_TOOL_CLASS (FatJetToolWeight, ana::IAnaTool)
00129
00130 public:
00131
00135 FatJetToolWeight (const std::string& name);
00136
00137
00141 StatusCode initialize() override;
00142
00143
00148 virtual StatusCode
00149 objectWeight (const xAOD::Jet& jet, float& weight) override;
00150
00151 private:
00152
00154
00155 };
00156 }
00157
00158 #endif