ATLAS Offline Software
Loading...
Searching...
No Matches
IMuonCalibIntTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef MCAST_IMuonCalibIntTool_H
6#define MCAST_IMuonCalibIntTool_H
7
9#include "AsgTools/IAsgTool.h"
10
14
22
23namespace ADD_CMODE(CP) {
24
25 // This is an interface class for all internal MCP sub-tools
26 class IMuonCalibIntTool : public virtual asg::IAsgTool, virtual public CP::ISystematicsTool {
28 ASG_TOOL_INTERFACE(CP::IMuonCalibIntTool)
29
30 public:
32 virtual CP::CorrectionCode applyCorrection(MCP::MuonObj& mu) const = 0;
33
34 };
35
36
37 // Special internal interface for the scaleSmear tool since it needs to make another function public through its interface
38 class IMuonCalibIntScaleSmearTool : public virtual IMuonCalibIntTool {
40 ASG_TOOL_INTERFACE(CP::IMuonCalibIntScaleSmearTool)
41 public:
43 virtual double getExpectedResolution(const int &DetType, double pT, double eta, double phi, MCP::DataYear year, bool addMCCorrectionSmearing) const = 0;
44
45 };
46
47
48
49} // namespace ADD_CMODE(CP)
50
51#endif
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
#define ASG_TOOL_INTERFACE(CLASSNAME)
Return value from object correction CP tools.
Interface for all CP tools supporting systematic variations.
Base class for the dual-use tool interface classes.
Definition IAsgTool.h:41
DataYear
Definition EnumDef.h:28