|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef MUONEFFICIENCYSCALEFACTORS_H_
6 #define MUONEFFICIENCYSCALEFACTORS_H_
21 #include <unordered_map>
std::string filename_Calo() const
Reconstruction scale-factors have a dedicated map for calo-tag muons around |\eta|<0....
std::string m_custom_file_LowPtCalo
std::string filename_Central() const
The following methods are meant to propagate information from the central tool to the subtool managin...
std::string filename_LRTLowPt() const
std::unordered_map< CP::SystematicSet, EffiCollection * > m_filtered_sys_sets
It turned out that the code spends a large time in the look up of the systematics.
std::string m_custom_file_LRTLowPt
The EffiCollection class handles the 5 different scale-factor maps binned in time.
virtual CorrectionCode applyMCEfficiency(const xAOD::Muon &mu, const xAOD::EventInfo *info=0) const
std::string data_effi_replica_decoration() const
StatusCode LoadInputs()
load the SF histos
float lowPtTransition() const
If the pt of the muon is below that threshold the J/Psi or Upsilon map is used given that it's availa...
bool m_useLRT
Turn on if using LRT objects.
std::string sf_replica_decoration() const
std::string m_iso_jet_dR
Name of the decoration to catch up the close by jets.
virtual CorrectionCode getDataEfficiencyReplicas(const xAOD::Muon &mu, std::vector< float > &sf_err, const xAOD::EventInfo *info=0) const
virtual CorrectionCode applyMCEfficiencyReplicas(const xAOD::Muon &mu, int nreplicas=50, const xAOD::EventInfo *info=0) const
virtual ~MuonEfficiencyScaleFactors()=default
std::string sf_decoration() const
The apply<Blah> methods decorate their result directly to the muon.
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfo
virtual SystematicSet recommendedSystematics() const
returns: the list of all systematics this tool recommends to use
Class to wrap a set of SystematicVariations.
virtual CorrectionCode applyEfficiencyScaleFactor(const xAOD::Muon &mu, const xAOD::EventInfo *info=0) const
decorate the muon with scale factor information
std::string m_custom_file_LRTCombined
virtual CorrectionCode getMCEfficiencyReplicas(const xAOD::Muon &mu, std::vector< float > &sf_err, const xAOD::EventInfo *info=0) const
std::vector< std::unique_ptr< EffiCollection > > m_sf_sets
This vector stores all scale-factor maps.
std::string m_custom_file_Combined
Select isolated Photons, Electrons and Muons.
std::string filename_LRTCentral() const
LRT muons have their own efficiency maps.
std::string m_sf_decoration_name
size_t getPosition(const EffiCollection *coll) const
Returns the position of the collection in the syst set vector.
std::string filename_LowPt() const
Returns the scale-factor maps from a complementary scale-factor measurement using the J/Psi or Upsilo...
virtual CorrectionCode getDataEfficiency(const xAOD::Muon &mu, float &eff, const xAOD::EventInfo *info=0) const
Obtain the muon efficiency measured using the data.
MuonEfficiencyScaleFactors(const std::string &name)
std::string m_efficiency_decoration_name_mc
virtual CorrectionCode applyDataEfficiencyReplicas(const xAOD::Muon &mu, int nreplicas=50, const xAOD::EventInfo *info=0) const
::StatusCode StatusCode
StatusCode definition for legacy code.
std::string m_efficiency_decoration_name_data
std::string resolve_file_location(const std::string &filename) const
utility method to 'dress' a filename using the path resolver
virtual StatusCode applySystematicVariation(const SystematicSet &systConfig)
effects: configure this tool for the given list of systematic variations.
virtual int getUnCorrelatedSystBin(const xAOD::Muon &mu) const
virtual StatusCode initialize()
initialize the tool once all settings are in place!
EffiCollection * m_current_sf
Pointer to the current active map in terms of systematics.
CP::SystematicSet m_affectingSys
std::string filename_HighEta() const
High-eta reconstruction scale-factors are not obtained by the means of are not obtained by the means ...
virtual bool isAffectedBySystematic(const SystematicVariation &systematic) const
returns: whether this tool is affected by the given systematis
std::string m_wp
the working point to operate on
virtual CorrectionCode applyDataEfficiency(const xAOD::Muon &mu, const xAOD::EventInfo *info=0) const
decorate a muon with the efficiency information
std::string m_custom_file_Calo
size_t getNCollections() const
Returns the number of EffiCollections stored in this class.
virtual CorrectionCode getEfficiencyScaleFactorReplicas(const xAOD::Muon &mu, std::vector< float > &sf_err, const xAOD::EventInfo *info=0) const
replica generation
std::string m_custom_file_HighEta
Class describing the basic event information.
virtual CorrectionCode getEfficiencyScaleFactor(const xAOD::Muon &mu, float &sf, const xAOD::EventInfo *info=0) const
Retrieve the Scale factor and decorate the muon.
unsigned int getRandomRunNumber(const xAOD::EventInfo *info) const
std::string mc_effi_decoration() const
bool use_lrt() const
option to set if we want to use LRT muons
std::string m_custom_file_LowPt
std::map< std::string, unsigned int > lookUpSystematics()
Scale-factor files since Moriond2019 contain the breakdown of systematics into their individual compo...
virtual CorrectionCode applyEfficiencyScaleFactorReplicas(const xAOD::Muon &mu, int nreplicas=50, const xAOD::EventInfo *info=0) const
decorate the muon with a set of SF replica weights.
std::string mc_effi_replica_deocration() const
bool uncorrelate_sys() const
Returns a boolean whether the uncorrelation of systematics has been switched on.
Return value from object correction CP tools.
const std::string & close_by_jet_decoration() const
Returns the string telling the tool in which float AuxElement the information of the separation to th...
std::string filename_LowPtCalo() const
float m_lowpt_threshold
threshold below which low-pt SF (i.e. from JPsi) should be used
bool use_2D_iso_corrections() const
option to set if we want to use 1D or 2D isolation SFs
virtual std::string getUncorrelatedSysBinName(unsigned int Bin) const
CP::MuonEfficiencyType measurement() const
Returns the type of the measurement to be carried out... E.g. Reco/TTVA/Iso.
CP::MuonEfficiencyType m_Type
std::string data_effi_decoration() const
virtual CorrectionCode getMCEfficiency(const xAOD::Muon &mu, float &eff, const xAOD::EventInfo *info=0) const
Obtain the muon efficiency measured using the MC.
std::string m_calibration_version
subfolder to load from the calibration db
virtual SystematicSet affectingSystematics() const
returns: the list of all systematics this tool can be affected by