 |
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef MUONEFFICIENCYSCALEFACTORS_H_
6 #define MUONEFFICIENCYSCALEFACTORS_H_
27 #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...
virtual bool isAffectedBySystematic(const SystematicVariation &systematic) const override
returns: whether this tool is affected by the given systematis
virtual ~MuonEfficiencyScaleFactors()
std::string filename_LRTLowPt() const
virtual SystematicSet recommendedSystematics() const override
returns: the list of all systematics this tool recommends to use
virtual CorrectionCode applyMCEfficiency(const xAOD::Muon &mu, const xAOD::EventInfo *info=0) const override
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.
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.
virtual CorrectionCode getEfficiencyScaleFactorReplicas(const xAOD::Muon &mu, std::vector< float > &sf_err, const xAOD::EventInfo *info=0) const override
replica generation
virtual CorrectionCode applyDataEfficiency(const xAOD::Muon &mu, const xAOD::EventInfo *info=0) const override
decorate a muon with the efficiency information
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
std::string sf_decoration() const
The apply<Blah> methods decorate their result directly to the muon.
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfo
Class to wrap a set of SystematicVariations.
virtual CorrectionCode getMCEfficiency(const xAOD::Muon &mu, float &eff, const xAOD::EventInfo *info=0) const override
Obtain the muon efficiency measured using the MC.
std::string m_custom_file_LRTCombined
virtual CorrectionCode getMCEfficiencyReplicas(const xAOD::Muon &mu, std::vector< float > &sf_err, const xAOD::EventInfo *info=0) const
virtual CorrectionCode applyEfficiencyScaleFactor(const xAOD::Muon &mu, const xAOD::EventInfo *info=0) const override
decorate the muon with scale factor information
std::vector< std::unique_ptr< EffiCollection > > m_sf_sets
This vector stores all scale-factor maps.
std::string m_custom_file_Combined
a class representing a continuous sequence of objects (a.k.a. a container)
Select isolated Photons, Electrons and Muons.
std::string filename_LRTCentral() const
LRT muons have their own efficiency maps.
std::string m_sf_decoration_name
virtual std::string getUncorrelatedSysBinName(unsigned int Bin) const override
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...
MuonEfficiencyScaleFactors(const std::string &name)
std::string m_efficiency_decoration_name_mc
POOL::TEvent event(POOL::TEvent::kClassAccess)
void callSingleEvent(columnar::MuonRange muons, columnar::EventInfoId event) const
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 CorrectionCode applyEfficiencyScaleFactorReplicas(const xAOD::Muon &mu, int nreplicas=50, const xAOD::EventInfo *info=0) const override
decorate the muon with a set of SF replica weights.
EffiCollection * m_current_sf
Pointer to the current active map in terms of systematics.
virtual SystematicSet affectingSystematics() const override
returns: the list of all systematics this tool can be affected by
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 void callEvents(columnar::EventContextRange events) const override
a class representing a single object (electron, muons, etc.)
std::string m_wp
the working point to operate on
std::string m_custom_file_Calo
size_t getNCollections() const
Returns the number of EffiCollections stored in this class.
std::string m_custom_file_HighEta
Class describing the basic event information.
std::unique_ptr< Accessors > m_accessors
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...
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.
virtual int getUnCorrelatedSystBin(const xAOD::Muon &mu) const override
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...
virtual StatusCode initialize() override
initialize the tool once all settings are in place!
virtual CorrectionCode getEfficiencyScaleFactor(const xAOD::Muon &mu, float &sf, const xAOD::EventInfo *info=0) const override
Retrieve the Scale factor and decorate the muon.
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
CP::MuonEfficiencyType measurement() const
Returns the type of the measurement to be carried out... E.g. Reco/TTVA/Iso.
CP::MuonEfficiencyType m_Type
virtual StatusCode applySystematicVariation(const SystematicSet &systConfig) override
effects: configure this tool for the given list of systematic variations.
std::string data_effi_decoration() const
virtual CorrectionCode getDataEfficiency(const xAOD::Muon &mu, float &eff, const xAOD::EventInfo *info=0) const override
Obtain the muon efficiency measured using the data.
std::string m_calibration_version
subfolder to load from the calibration db