ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
Interfaces
MuonAnalysisInterfaces
MuonAnalysisInterfaces
IMuonEfficiencyScaleFactors.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef IMUONEFFICIENCYSCALEFACTORS_H_
6
#define IMUONEFFICIENCYSCALEFACTORS_H_
7
8
// Framework include(s):
9
#include "
AsgTools/IAsgTool.h
"
10
11
// EDM include(s):
12
#include <
xAODEventInfo/EventInfo.h
>
13
14
#include "
xAODMuon/Muon.h
"
15
16
// Local include(s):
17
#include "
PATInterfaces/CorrectionCode.h
"
18
#include "
PATInterfaces/ISystematicsTool.h
"
19
20
// STL include(s):
21
#include <map>
22
#include <string>
23
#include <vector>
24
99
100
namespace
CP
{
101
class
SystematicSet
;
102
103
class
IMuonEfficiencyScaleFactors
:
public
virtual
CP::ISystematicsTool
{
109
110
ASG_TOOL_INTERFACE
(
CP::IMuonEfficiencyScaleFactors
)
111
112
public
:
114
virtual
CorrectionCode
getEfficiencyScaleFactor
(
const
xAOD::Muon
& mu,
float
& sf,
const
xAOD::EventInfo
* info = 0)
const
= 0;
116
virtual
CorrectionCode
applyEfficiencyScaleFactor
(
const
xAOD::Muon
& mu,
const
xAOD::EventInfo
* info = 0)
const
= 0;
117
119
124
125
virtual
CorrectionCode
getEfficiencyScaleFactorReplicas
(
const
xAOD::Muon
& mu, std::vector<float>& sf_err,
126
const
xAOD::EventInfo
* info = 0)
const
= 0;
128
virtual
CorrectionCode
applyEfficiencyScaleFactorReplicas
(
const
xAOD::Muon
& mu,
int
nreplicas = 50,
129
const
xAOD::EventInfo
* info = 0)
const
= 0;
130
132
// Can for example be used to scale truth-level MC
133
virtual
CorrectionCode
getDataEfficiency
(
const
xAOD::Muon
& mu,
float
& eff,
const
xAOD::EventInfo
* info = 0)
const
= 0;
135
virtual
CorrectionCode
applyDataEfficiency
(
const
xAOD::Muon
& mu,
const
xAOD::EventInfo
* info = 0)
const
= 0;
136
138
virtual
CorrectionCode
getMCEfficiency
(
const
xAOD::Muon
& mu,
float
& eff,
const
xAOD::EventInfo
* info = 0)
const
= 0;
139
// decorate a muon with the efficiency information
140
virtual
CorrectionCode
applyMCEfficiency
(
const
xAOD::Muon
& mu,
const
xAOD::EventInfo
* info = 0)
const
= 0;
141
142
// Functions to get the names of the unfolded systematic bins
143
virtual
int
getUnCorrelatedSystBin
(
const
xAOD::Muon
& mu)
const
= 0;
144
virtual
std::string
getUncorrelatedSysBinName
(
unsigned
int
Bin)
const
= 0;
145
virtual
std::string
getUncorrelatedSysBinName
(
const
SystematicSet
& systConfig)
const
= 0;
146
147
virtual
~IMuonEfficiencyScaleFactors
() {}
148
};
149
// class IMuonEfficiencyTool
150
151
}
// namespace CP
152
153
#endif
/* IMUONEFFICIENCYSCALEFACTORS_H_ */
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition
AsgToolMacros.h:40
CorrectionCode.h
Muon.h
IAsgTool.h
ISystematicsTool.h
CP::CorrectionCode
Return value from object correction CP tools.
Definition
CorrectionCode.h:31
CP::IMuonEfficiencyScaleFactors
Definition
IMuonEfficiencyScaleFactors.h:103
CP::IMuonEfficiencyScaleFactors::~IMuonEfficiencyScaleFactors
virtual ~IMuonEfficiencyScaleFactors()
Definition
IMuonEfficiencyScaleFactors.h:147
CP::IMuonEfficiencyScaleFactors::getUnCorrelatedSystBin
virtual int getUnCorrelatedSystBin(const xAOD::Muon &mu) const =0
CP::IMuonEfficiencyScaleFactors::getUncorrelatedSysBinName
virtual std::string getUncorrelatedSysBinName(unsigned int Bin) const =0
CP::IMuonEfficiencyScaleFactors::getEfficiencyScaleFactorReplicas
virtual CorrectionCode getEfficiencyScaleFactorReplicas(const xAOD::Muon &mu, std::vector< float > &sf_err, const xAOD::EventInfo *info=0) const =0
BONUS functionality.
CP::IMuonEfficiencyScaleFactors::getMCEfficiency
virtual CorrectionCode getMCEfficiency(const xAOD::Muon &mu, float &eff, const xAOD::EventInfo *info=0) const =0
Obtain the muon efficiency measured using the MonteCarlo.
CP::IMuonEfficiencyScaleFactors::applyDataEfficiency
virtual CorrectionCode applyDataEfficiency(const xAOD::Muon &mu, const xAOD::EventInfo *info=0) const =0
decorate a muon with the efficiency information
CP::IMuonEfficiencyScaleFactors::applyMCEfficiency
virtual CorrectionCode applyMCEfficiency(const xAOD::Muon &mu, const xAOD::EventInfo *info=0) const =0
CP::IMuonEfficiencyScaleFactors::getEfficiencyScaleFactor
virtual CorrectionCode getEfficiencyScaleFactor(const xAOD::Muon &mu, float &sf, const xAOD::EventInfo *info=0) const =0
Retrieve the Scale factor.
CP::IMuonEfficiencyScaleFactors::getUncorrelatedSysBinName
virtual std::string getUncorrelatedSysBinName(const SystematicSet &systConfig) const =0
CP::IMuonEfficiencyScaleFactors::applyEfficiencyScaleFactorReplicas
virtual CorrectionCode applyEfficiencyScaleFactorReplicas(const xAOD::Muon &mu, int nreplicas=50, const xAOD::EventInfo *info=0) const =0
decorate the muon with a set of SF replica weights.
CP::IMuonEfficiencyScaleFactors::applyEfficiencyScaleFactor
virtual CorrectionCode applyEfficiencyScaleFactor(const xAOD::Muon &mu, const xAOD::EventInfo *info=0) const =0
decorate the muon with scale factor information
CP::IMuonEfficiencyScaleFactors::getDataEfficiency
virtual CorrectionCode getDataEfficiency(const xAOD::Muon &mu, float &eff, const xAOD::EventInfo *info=0) const =0
Obtain the muon efficiency measured using the data.
CP::ISystematicsTool
Interface for all CP tools supporting systematic variations.
Definition
ISystematicsTool.h:32
CP::SystematicSet
Class to wrap a set of SystematicVariations.
Definition
SystematicSet.h:31
CP
Select isolated Photons, Electrons and Muons.
Definition
Control/xAODRootAccess/xAODRootAccess/TEvent.h:27
xAOD::EventInfo
EventInfo_v1 EventInfo
Definition of the latest event info version.
Definition
IEventInfoCnvTool.h:16
xAOD::Muon
Muon_v1 Muon
Reference the current persistent version:
Definition
Event/xAOD/xAODMuon/xAODMuon/Muon.h:13
EventInfo.h
Generated on
for ATLAS Offline Software by
1.17.0