ATLAS Offline Software
IMuonEfficiencyScaleFactors.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 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 namespace CP {
100  class SystematicSet;
101 
108 
110 
111  public:
113  virtual CorrectionCode getEfficiencyScaleFactor(const xAOD::Muon& mu, float& sf, const xAOD::EventInfo* info = 0) const = 0;
116 
118 
123 
124  virtual CorrectionCode getEfficiencyScaleFactorReplicas(const xAOD::Muon& mu, std::vector<float>& sf_err,
125  const xAOD::EventInfo* info = 0) const = 0;
128  const xAOD::EventInfo* info = 0) const = 0;
129 
131  // Can for example be used to scale truth-level MC
132  virtual CorrectionCode getDataEfficiency(const xAOD::Muon& mu, float& eff, const xAOD::EventInfo* info = 0) const = 0;
134  virtual CorrectionCode applyDataEfficiency(const xAOD::Muon& mu, const xAOD::EventInfo* info = 0) const = 0;
135 
137  virtual CorrectionCode getMCEfficiency(const xAOD::Muon& mu, float& eff, const xAOD::EventInfo* info = 0) const = 0;
138  // decorate a muon with the efficiency information
139  virtual CorrectionCode applyMCEfficiency(const xAOD::Muon& mu, const xAOD::EventInfo* info = 0) const = 0;
140 
141  // Functions to get the names of the unfolded systematic bins
142  virtual int getUnCorrelatedSystBin(const xAOD::Muon& mu) const = 0;
143  virtual std::string getUncorrelatedSysBinName(unsigned int Bin) const = 0;
144  virtual std::string getUncorrelatedSysBinName(const SystematicSet& systConfig) const = 0;
145 
147  };
148  // class IMuonEfficiencyTool
149 
150 } // namespace CP
151 
152 #endif /* IMUONEFFICIENCYSCALEFACTORS_H_ */
grepfile.info
info
Definition: grepfile.py:38
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
Muon.h
CP::IMuonEfficiencyScaleFactors
Definition: IMuonEfficiencyScaleFactors.h:102
CP::SystematicSet
Class to wrap a set of SystematicVariations.
Definition: SystematicSet.h:31
CP::IMuonEfficiencyScaleFactors::getUncorrelatedSysBinName
virtual std::string getUncorrelatedSysBinName(const SystematicSet &systConfig) const =0
CP::IMuonEfficiencyScaleFactors::applyMCEfficiency
virtual CorrectionCode applyMCEfficiency(const xAOD::Muon &mu, const xAOD::EventInfo *info=0) const =0
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::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::getUncorrelatedSysBinName
virtual std::string getUncorrelatedSysBinName(unsigned int Bin) const =0
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition: AsgToolMacros.h:40
IAsgTool.h
CP::IMuonEfficiencyScaleFactors::getUnCorrelatedSystBin
virtual int getUnCorrelatedSystBin(const xAOD::Muon &mu) const =0
EventInfo.h
xAOD::EventInfo_v1
Class describing the basic event information.
Definition: EventInfo_v1.h:43
CP::ISystematicsTool
Interface for all CP tools supporting systematic variations.
Definition: ISystematicsTool.h:32
CP::IMuonEfficiencyScaleFactors::getEfficiencyScaleFactorReplicas
virtual CorrectionCode getEfficiencyScaleFactorReplicas(const xAOD::Muon &mu, std::vector< float > &sf_err, const xAOD::EventInfo *info=0) const =0
BONUS functionality.
mapkey::sf
@ sf
Definition: TElectronEfficiencyCorrectionTool.cxx:38
CP::CorrectionCode
Return value from object correction CP tools.
Definition: CorrectionCode.h:31
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::getEfficiencyScaleFactor
virtual CorrectionCode getEfficiencyScaleFactor(const xAOD::Muon &mu, float &sf, const xAOD::EventInfo *info=0) const =0
Retrieve the Scale factor.
CorrectionCode.h
dqt_zlumi_alleff_HIST.eff
int eff
Definition: dqt_zlumi_alleff_HIST.py:113
CaloNoise_fillDB.mu
mu
Definition: CaloNoise_fillDB.py:53
CP::IMuonEfficiencyScaleFactors::~IMuonEfficiencyScaleFactors
virtual ~IMuonEfficiencyScaleFactors()
Definition: IMuonEfficiencyScaleFactors.h:146
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.