5#ifndef MUONTRIGGERSCALEFACTORS_H_
6#define MUONTRIGGERSCALEFACTORS_H_
21#include "TDirectory.h"
23#include <unordered_map>
58 virtual int getReplica_index(
const std::string& sysBaseName,
const std::string& trigStr)
const;
83 unsigned int encodeHistoName(
const std::string &period,
const std::string& Trigger,
bool isData,
const std::string& Systematic,
bool isBarrel =
true)
const;
87 virtual std::shared_ptr<TH1>
getEfficiencyHistogram(
unsigned int year,
const std::string& period,
const std::string& trigger,
bool isData,
const std::string& Systematic,
bool isBarrel =
true)
const;
88 virtual std::shared_ptr<TH1>
getEfficiencyHistogram(
const std::string& trigger,
bool isData,
const std::string& Systematic,
bool isBarrel =
true)
const;
Header file for AthHistogramAlgorithm.
Return value from object correction CP tools.
unsigned int getYear(unsigned int run) const
std::vector< std::string > m_replicaTriggerList
static const std::map< unsigned int, int > m_runNumber_year
virtual CorrectionCode GetTriggerSF_dimu(Double_t &TriggerSF, TrigMuonEff::Configuration &configuration, const xAOD::MuonContainer &mucont, const std::string &trigger) const
StatusCode LoadTriggerMap(unsigned int year)
std::set< std::string > m_replicaSet
virtual StatusCode initialize(void)
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfo
std::map< EffiHistoIdent, std::vector< TH1_Ptr > > m_efficiencyMapReplicaArray
TDirectory * getTemporaryDirectory(void) const
std::string m_forcePeriod
virtual CorrectionCode getMuonEfficiency(Double_t &eff, const TrigMuonEff::Configuration &configuration, const xAOD::Muon &muon, const std::string &trigger, const std::string &systematic) const
virtual std::shared_ptr< TH1 > getEfficiencyHistogram(unsigned int year, const std::string &period, const std::string &trigger, bool isData, const std::string &Systematic, bool isBarrel=true) const
std::map< EffiHistoIdent, TH1_Ptr > EfficiencyMap
virtual int getReplica_index(const std::string &sysBaseName, const std::string &trigStr) const
std::pair< YearPeriod, unsigned int > EffiHistoIdent
std::string getDataPeriod(unsigned int runNumber, unsigned int year) const
virtual StatusCode applySystematicVariation(const CP::SystematicSet &systConfig)
effects: configure this tool for the given list of systematic variations.
MuonTriggerScaleFactors(const std::string &name)
std::vector< TH1_Ptr > generateReplicas(TH1_Ptr h, int nrep, int seed) const
virtual CorrectionCode getDimuonEfficiency(Double_t &eff, const TrigMuonEff::Configuration &configuration, const xAOD::MuonContainer &mucont, const std::string &chain, const std::string &systematic) const
unsigned int encodeHistoName(const std::string &period, const std::string &Trigger, bool isData, const std::string &Systematic, bool isBarrel=true) const
virtual CorrectionCode GetTriggerSF(Double_t &TriggerSF, TrigMuonEff::Configuration &configuration, const xAOD::MuonContainer &mucont, const std::string &trigger) const
virtual int getBinNumber(const xAOD::Muon &muon, const std::string &trigger) const
StatusCode registerSystematics()
std::string getTriggerCorrespondingToDimuonTrigger(const std::string &trigger) const
CP::SystematicSet * m_appliedSystematics
std::string getDataPeriod() const
CorrectionCode getThreshold(Int_t &threshold, const std::string &trigger) const
std::unordered_map< CP::SystematicSet, CP::SystematicSet > m_systFilter
const CP::SystematicSet & appliedSystematics() const
std::string m_muonquality
unsigned int getRunNumber() const
virtual bool isAffectedBySystematic(const CP::SystematicVariation &systematic) const
Declare the interface that this class provides.
virtual CorrectionCode getTriggerScaleFactor(const xAOD::MuonContainer &mucont, Double_t &triggersf, const std::string &trigger) const
EfficiencyMap m_efficiencyMap
virtual ~MuonTriggerScaleFactors()
virtual CP::SystematicSet affectingSystematics() const
returns: the list of all systematics this tool can be affected by
virtual CP::SystematicSet recommendedSystematics() const
returns: the list of all systematics this tool recommends to use
virtual bool isTriggerSupported(const std::string &trigger) const
Returns whether the trigger is supported by the tool or not. The decision depends on the present (ran...
virtual CorrectionCode getTriggerEfficiency(const xAOD::Muon &mu, Double_t &efficiency, const std::string &trigger, Bool_t dataType) const
std::string m_calibration_version
std::pair< unsigned int, std::string > YearPeriod
Class to wrap a set of SystematicVariations.
Property holding a SG store/key/clid from which a ReadHandle is made.
void efficiency(std::vector< double > &bins, std::vector< double > &values, const std::vector< std::string > &files, const std::string &histname, const std::string &tplotname, const std::string &label="")
Select isolated Photons, Electrons and Muons.
std::shared_ptr< TH1 > TH1_Ptr
Muon_v1 Muon
Reference the current persistent version:
MuonContainer_v1 MuonContainer
Definition of the current "Muon container version".
structure to hold variables to configure behaviour of the tool