\(\mu\)

class MuonEfficiencyCorrector : public xAH::Algorithm

Public Functions

MuonEfficiencyCorrector()
virtual EL::StatusCode setupJob(EL::Job &job)
virtual EL::StatusCode fileExecute()
virtual EL::StatusCode histInitialize()
virtual EL::StatusCode changeInput(bool firstFile)
virtual EL::StatusCode initialize()
virtual EL::StatusCode execute()
virtual EL::StatusCode postExecute()
virtual EL::StatusCode finalize()
virtual EL::StatusCode histFinalize()
virtual EL::StatusCode executeSF(const xAOD::EventInfo *eventInfo, const xAOD::MuonContainer *inputMuons, bool nominal, bool writeSystNames)

Public Members

std::string m_inContainerName = ""
std::string m_overrideCalibRelease = ""

Recommendations release (not recommended to change)

std::string m_WorkingPointReco = "Loose"
std::string m_WorkingPointIso = "LooseTrackOnly"
bool m_AllowZeroSF = false

Use with caution!!!

std::string m_MuTrigLegs = "HLT_mu26_imedium"

list of comma-separated single-mu trigger corrections. Individual legs of di-mu menus can be parsed

bool m_usePerMuonTriggerSFs = true

Get per-muon trigger SF (default: true) [if false it will take into account combinatorics using all muons from the input muon container].

std::string m_WorkingPointTTVA = "TTVA"
std::string m_inputSystNamesMuons = ""

The name of the vector containing the names of the systematically-varied muons-related containers from the upstream algorithm, which will be processed by this algorithm.

Only muon calibration systematics or any other that create shallow copies of electron containers should be passed to this tool. It is advised to run this algorithm before running algorithms combining multiple calibration systematics (e.g. overlap removal).

bool m_writeSystToMetadata = false

Write systematics names to metadata.

float m_systValReco = 0.0
float m_systValIso = 0.0
float m_systValTrig = 0.0
float m_systValTTVA = 0.0
std::string m_systNameReco = ""
std::string m_systNameIso = ""
std::string m_systNameTrig = ""
std::string m_systNameTTVA = ""
std::string m_outputSystNamesReco = "MuonEfficiencyCorrector_RecoSyst"
std::string m_outputSystNamesIso = "MuonEfficiencyCorrector_IsoSyst"
std::string m_outputSystNamesTrig = "MuonEfficiencyCorrector_TrigSyst"
std::string m_outputSystNamesTTVA = "MuonEfficiencyCorrector_TTVASyst"
bool m_doLRT = false

Turn on if using LRT muons.

Private Members

int m_numEvent
int m_numObject
std::vector<CP::SystematicSet> m_systListReco
std::vector<CP::SystematicSet> m_systListIso
std::vector<CP::SystematicSet> m_systListTrig
std::vector<CP::SystematicSet> m_systListTTVA
std::string m_outputSystNamesTrigBase
asg::AnaToolHandle<CP::IPileupReweightingTool> m_pileup_tool_handle = {"CP::PileupReweightingTool/Pileup"}
asg::AnaToolHandle<CP::IMuonEfficiencyScaleFactors> m_muRecoSF_tool
std::string m_recoEffSF_tool_name
asg::AnaToolHandle<CP::IMuonEfficiencyScaleFactors> m_muIsoSF_tool
std::string m_isoEffSF_tool_name
asg::AnaToolHandle<CP::IMuonTriggerScaleFactors> m_muTrigSF_tool
std::string m_trigEffSF_tool_name
asg::AnaToolHandle<CP::IMuonEfficiencyScaleFactors> m_muTTVASF_tool
std::string m_TTVAEffSF_tool_name
std::map<std::string, std::string> m_SingleMuTriggerMap