ATLAS Offline Software
MuonInJetCorrectionTool.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 // MuonInJetCorrectionTool.h
8 // Header file for class MuonInJetCorrectionTool
9 // Authors: Mohamed Belfkir <mohamed.belfkir@cern.ch>
10 // Thomas Strebler <thomas.strebler@cern.ch>
12 
13 #ifndef JETCALIBTOOLS_APPLYMUONINJETCORRECTION_H
14 #define JETCALIBTOOLS_APPLYMUONINJETCORRECTION_H 1
15 
16 #include "AsgTools/AsgTool.h"
18 
20 
21 #include "xAODJet/Jet.h"
22 #include <vector>
23 #include "xAODMuon/Muon.h"
24 #include "xAODMuon/MuonContainer.h"
25 
26 
28  virtual public IMuonInJetCorrectionTool {
29 
31 
32 public:
34  MuonInJetCorrectionTool(const std::string& name);
35 
37  //~MuonInJetCorrectionTool() = default;
38 
39  //StatusCode initialize() = default;
40 
41  virtual StatusCode applyMuonInJetCorrection(xAOD::Jet& jet, const std::vector<const xAOD::Muon*>& muons, int& nmuons) const override;
42 
43 private:
44 
45  const xAOD::Muon* getMuonInJet(const xAOD::Jet& jet, const std::vector<const xAOD::Muon*>& muons, int& nmuons) const;
46 
47  Gaudi::Property<double> m_Jet_Muon_dR{this, "Jet_Muon_dR", 0.4, "Muon-matching dR cut"};
48  Gaudi::Property<bool> m_doVR{this, "doVR", true, "Use variable radius for muon matching"};
49  Gaudi::Property<bool> m_doLargeR{this, "doLargeR", false, "Do correction for large-R jets"};
50 
51 };
52 #endif //> !JETCALIBTOOLS_APPLYMUONINJETCORRECTION_H
53 
Jet.h
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
PropertyWrapper.h
MuonInJetCorrectionTool::MuonInJetCorrectionTool
MuonInJetCorrectionTool(const std::string &name)
Constructor with parameters:
Definition: MuonInJetCorrectionTool.cxx:13
Muon.h
xAOD::Muon_v1
Class describing a Muon.
Definition: Muon_v1.h:38
MuonInJetCorrectionTool::m_Jet_Muon_dR
Gaudi::Property< double > m_Jet_Muon_dR
Definition: MuonInJetCorrectionTool.h:47
MuonInJetCorrectionTool
Definition: MuonInJetCorrectionTool.h:28
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
IMuonInJetCorrectionTool
class IMuonInJetCorrectionTool
Definition: IMuonInJetCorrectionTool.h:24
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
IMuonInJetCorrectionTool.h
MuonInJetCorrectionTool::getMuonInJet
const xAOD::Muon * getMuonInJet(const xAOD::Jet &jet, const std::vector< const xAOD::Muon * > &muons, int &nmuons) const
Definition: MuonInJetCorrectionTool.cxx:36
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
MuonInJetCorrectionTool::applyMuonInJetCorrection
virtual StatusCode applyMuonInJetCorrection(xAOD::Jet &jet, const std::vector< const xAOD::Muon * > &muons, int &nmuons) const override
Destructor:
Definition: MuonInJetCorrectionTool.cxx:17
MuonContainer.h
xAOD::Jet_v1
Class describing a jet.
Definition: Jet_v1.h:57
MuonInJetCorrectionTool::m_doVR
Gaudi::Property< bool > m_doVR
Definition: MuonInJetCorrectionTool.h:48
MuonInJetCorrectionTool::m_doLargeR
Gaudi::Property< bool > m_doLargeR
Definition: MuonInJetCorrectionTool.h:49
ASG_TOOL_CLASS1
#define ASG_TOOL_CLASS1
Definition: AsgToolMacros.h:75
AsgTool.h