Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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 
100 namespace 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;
117 
119 
124 
125  virtual CorrectionCode getEfficiencyScaleFactorReplicas(const xAOD::Muon& mu, std::vector<float>& sf_err,
126  const xAOD::EventInfo* info = 0) const = 0;
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_ */
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:103
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:49
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:147
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.