ATLAS Offline Software
IMuonCalibrationAndSmearingTool.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 MCAST_IMUONCALIBRATIONANDSMEARINGTOOL_H
6 #define MCAST_IMUONCALIBRATIONANDSMEARINGTOOL_H
7 
9 #include "AsgTools/IAsgTool.h"
10 
12 #include "xAODMuon/Muon.h"
13 
21 
22 namespace CP {
23 
24  class IMuonCalibrationAndSmearingTool : public virtual asg::IAsgTool, virtual public CP::ISystematicsTool {
27 
28  public:
34  virtual double expectedResolution(const std::string& DetType, const xAOD::Muon& mu, const bool mc) const = 0;
36  virtual double expectedResolution(const int& DetType, const xAOD::Muon& mu, const bool mc) const = 0;
37  // Expert method to apply the MC correction on a modifyable trackParticle for ID- or MS-only corrections
38  virtual CorrectionCode applyCorrectionTrkOnly(xAOD::TrackParticle& inTrk, const int DetType) const = 0;
39 
40  };
41 
42 } // namespace CP
43 
44 #endif
Muon.h
asg::IAsgTool
Base class for the dual-use tool interface classes.
Definition: IAsgTool.h:41
SystematicSet.h
CP::IMuonCalibrationAndSmearingTool::applyCorrection
virtual CorrectionCode applyCorrection(xAOD::Muon &mu) const =0
Declare the interface that the class provides.
CP
Select isolated Photons, Electrons and Muons.
Definition: Control/xAODRootAccess/xAODRootAccess/TEvent.h:48
xAOD::Muon_v1
Class describing a Muon.
Definition: Muon_v1.h:38
ISystematicsTool.h
CP::IMuonCalibrationAndSmearingTool
Definition: IMuonCalibrationAndSmearingTool.h:24
CP::IMuonCalibrationAndSmearingTool::correctedCopy
virtual CorrectionCode correctedCopy(const xAOD::Muon &input, xAOD::Muon *&output) const =0
Create a corrected copy from a constant muon.
mc
Definition: mc.PG_single_nu_valid.py:1
SystematicRegistry.h
PlotPulseshapeFromCool.input
input
Definition: PlotPulseshapeFromCool.py:106
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition: AsgToolMacros.h:40
IAsgTool.h
StatusCode.h
merge.output
output
Definition: merge.py:17
CP::IMuonCalibrationAndSmearingTool::applyCorrectionTrkOnly
virtual CorrectionCode applyCorrectionTrkOnly(xAOD::TrackParticle &inTrk, const int DetType) const =0
CP::IMuonCalibrationAndSmearingTool::expectedResolution
virtual double expectedResolution(const std::string &DetType, const xAOD::Muon &mu, const bool mc) const =0
Get the expected pT resolution.
CP::ISystematicsTool
Interface for all CP tools supporting systematic variations.
Definition: ISystematicsTool.h:32
CP::IMuonCalibrationAndSmearingTool::expectedResolution
virtual double expectedResolution(const int &DetType, const xAOD::Muon &mu, const bool mc) const =0
Get the expected pT resolution - int argument is more efficient.
CP::CorrectionCode
Return value from object correction CP tools.
Definition: CorrectionCode.h:31
CorrectionCode.h
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
DetType
Definition: DetType.h:10
CaloNoise_fillDB.mu
mu
Definition: CaloNoise_fillDB.py:53
SystematicVariation.h