ATLAS Offline Software
BJetCorrectionTool.h
Go to the documentation of this file.
1 
3 /*
4  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // BJetCorrectionTool.h
8 // Header file for class BJetCorrectionTool
9 // Simple histogram-based pT-dependent correction
10 // To be replaced in 2025 with new MVA-based regression
11 //
12 // Authors: Mohamed Belfkir <mohamed.belfkir@cern.ch>
13 // Thomas Strebler <thomas.strebler@cern.ch>
15 #ifndef JETCALIBTOOLS_BJETCORRECTIONTOOL_H
16 #define JETCALIBTOOLS_BJETCORRECTIONTOOL_H 1
17 
18 #include "AsgTools/AsgTool.h"
20 
22 
23 #include "xAODJet/Jet.h"
24 
25 #include <TFile.h>
26 #include <TH1F.h>
27 
29  virtual public IBJetCorrectionTool {
30 
32 
33 public:
35  BJetCorrectionTool(const std::string& name);
36 
38  ~BJetCorrectionTool() = default;
39 
40  virtual StatusCode initialize() override;
41  virtual StatusCode applyBJetCorrection(xAOD::Jet& jet, bool isSemiLep) const override;
42 
43 private:
44 
45  //Variables for configuration
46  Gaudi::Property<std::string> m_calibFileName{this, "calibFile",
47  "CalibArea-01/AntiKt4EMPFlow_PtReco_Correction_GN2v01_85_ttbar.root",
48  "ROOT file for reconstructed pt correction"};
49 
50  // Clean up automatically
51  std::unique_ptr<TH1F> m_Semi_Histo;
52  std::unique_ptr<TH1F> m_Had_Histo;
53 
54 };
55 
56 #endif //> !JETCALIBTOOLS_BJETCORRECTIONTOOL_H
BJetCorrectionTool::m_calibFileName
Gaudi::Property< std::string > m_calibFileName
Definition: BJetCorrectionTool.h:46
Jet.h
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
PropertyWrapper.h
IBJetCorrectionTool.h
IBJetCorrectionTool
class IBJetCorrectionTool
Definition: IBJetCorrectionTool.h:21
BJetCorrectionTool::m_Had_Histo
std::unique_ptr< TH1F > m_Had_Histo
Definition: BJetCorrectionTool.h:52
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
BJetCorrectionTool::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition: BJetCorrectionTool.cxx:16
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
BJetCorrectionTool::~BJetCorrectionTool
~BJetCorrectionTool()=default
Destructor:
BJetCorrectionTool::BJetCorrectionTool
BJetCorrectionTool(const std::string &name)
Constructor with parameters:
Definition: BJetCorrectionTool.cxx:14
BJetCorrectionTool::m_Semi_Histo
std::unique_ptr< TH1F > m_Semi_Histo
Definition: BJetCorrectionTool.h:51
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
BJetCorrectionTool::applyBJetCorrection
virtual StatusCode applyBJetCorrection(xAOD::Jet &jet, bool isSemiLep) const override
Definition: BJetCorrectionTool.cxx:33
xAOD::Jet_v1
Class describing a jet.
Definition: Jet_v1.h:57
BJetCorrectionTool
Definition: BJetCorrectionTool.h:29
ASG_TOOL_CLASS1
#define ASG_TOOL_CLASS1
Definition: AsgToolMacros.h:75
AsgTool.h