ATLAS Offline Software
Loading...
Searching...
No Matches
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):
13
14#include "xAODMuon/Muon.h"
15
16// Local include(s):
19
20// STL include(s):
21#include <map>
22#include <string>
23#include <vector>
24
99
100namespace CP {
101 class SystematicSet;
102
109
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
148 };
149 // class IMuonEfficiencyTool
150
151} // namespace CP
152
153#endif /* IMUONEFFICIENCYSCALEFACTORS_H_ */
#define ASG_TOOL_INTERFACE(CLASSNAME)
Return value from object correction CP tools.
virtual int getUnCorrelatedSystBin(const xAOD::Muon &mu) const =0
virtual std::string getUncorrelatedSysBinName(unsigned int Bin) const =0
virtual CorrectionCode getEfficiencyScaleFactorReplicas(const xAOD::Muon &mu, std::vector< float > &sf_err, const xAOD::EventInfo *info=0) const =0
BONUS functionality.
virtual CorrectionCode getMCEfficiency(const xAOD::Muon &mu, float &eff, const xAOD::EventInfo *info=0) const =0
Obtain the muon efficiency measured using the MonteCarlo.
virtual CorrectionCode applyDataEfficiency(const xAOD::Muon &mu, const xAOD::EventInfo *info=0) const =0
decorate a muon with the efficiency information
virtual CorrectionCode applyMCEfficiency(const xAOD::Muon &mu, const xAOD::EventInfo *info=0) const =0
virtual CorrectionCode getEfficiencyScaleFactor(const xAOD::Muon &mu, float &sf, const xAOD::EventInfo *info=0) const =0
Retrieve the Scale factor.
virtual std::string getUncorrelatedSysBinName(const SystematicSet &systConfig) const =0
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.
virtual CorrectionCode applyEfficiencyScaleFactor(const xAOD::Muon &mu, const xAOD::EventInfo *info=0) const =0
decorate the muon with scale factor information
virtual CorrectionCode getDataEfficiency(const xAOD::Muon &mu, float &eff, const xAOD::EventInfo *info=0) const =0
Obtain the muon efficiency measured using the data.
Interface for all CP tools supporting systematic variations.
Class to wrap a set of SystematicVariations.
Select isolated Photons, Electrons and Muons.
EventInfo_v1 EventInfo
Definition of the latest event info version.
Muon_v1 Muon
Reference the current persistent version: