\(e\)¶
-
class
ElectronEfficiencyCorrector
: public xAH::Algorithm¶ This is the algorithm class that applies generic corrections to electrons. At the moment, only data/MC efficiency correction is included (electron trigger SF and others will follow…).
In a nutshell, this algorithm performs the following actions:
retrieves an
xAOD::ElectronContainer
from eitherTEvent
orTStore
adds a scale factor (SF) decoration for each electron in the input container calculated via the
AsgElectronEfficiencyCorrectionTool
in Tools Usedthe nominal SF and all the systematically-varied ones are saved as a
vector<double>
decoration for each electron
Note
Bear in mind that this algorithm must be called after
ElectronSelector
. In fact, the configuration file(s) being used must have the same working point as the one chosen in the selector.Public Functions
-
ElectronEfficiencyCorrector
()¶
-
EL::StatusCode
setupJob
(EL::Job &job)¶
-
EL::StatusCode
fileExecute
()¶
-
EL::StatusCode
histInitialize
()¶
-
EL::StatusCode
changeInput
(bool firstFile)¶
-
EL::StatusCode
initialize
()¶
-
EL::StatusCode
execute
()¶
-
EL::StatusCode
postExecute
()¶
-
EL::StatusCode
finalize
()¶
-
EL::StatusCode
histFinalize
()¶
-
EL::StatusCode
executeSF
(const xAOD::ElectronContainer *inputElectrons, bool nominal, bool writeSystNames)¶
Public Members
-
std::string
m_inContainerName
= ""¶ The name of the input container for this algorithm to read from
TEvent
orTStore
-
std::string
m_inputSystNamesElectrons
¶ The name of the vector containing the names of the systematically-varied electrons-related containers from the upstream algorithm, which will be processed by this algorithm.
Only electron 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_systValPID
= 0.0¶
-
float
m_systValIso
= 0.0¶
-
float
m_systValReco
= 0.0¶
-
float
m_systValTrig
= 0.0¶
-
std::string
m_systNamePID
= ""¶
-
std::string
m_systNameIso
= ""¶
-
std::string
m_systNameReco
= ""¶
-
std::string
m_systNameTrig
= ""¶
-
std::string
m_outputSystNamesPID
= "EleEffCorr_PIDSyst"¶
-
std::string
m_outputSystNamesIso
= "EleEffCorr_IsoSyst"¶
-
std::string
m_outputSystNamesReco
= "EleEffCorr_RecoSyst"¶
-
std::string
m_outputSystNamesTrig
= "EleEffCorr_TrigSyst"¶
-
std::string
m_correlationModel
= "FULL"¶ Systematic correlation model.
-
std::string
m_WorkingPointPID
= ""¶ PID working point (LooseBLayer, Medium, Tight)
-
std::string
m_WorkingPointIso
= ""¶ Isolation working point.
-
std::string
m_WorkingPointReco
= ""¶ Reconstruction working point (Reconstruction only)
-
std::string
m_WorkingPointTrig
= ""¶ Trigger working point.
-
bool
m_usePerElectronTriggerSFs
= true¶
-
std::string
m_overrideMapFilePath
= ""¶ Override corrections map file (not recommended)
Private Members
-
int
m_numEvent
¶
-
int
m_numObject
¶
-
std::vector<CP::SystematicSet>
m_systListPID
¶
-
std::vector<CP::SystematicSet>
m_systListIso
¶
-
std::vector<CP::SystematicSet>
m_systListReco
¶
-
std::vector<CP::SystematicSet>
m_systListTrig
¶
-
AsgElectronEfficiencyCorrectionTool *
m_asgElEffCorrTool_elSF_PID
= nullptr¶
-
std::string
m_pidEffSF_tool_name
¶
-
AsgElectronEfficiencyCorrectionTool *
m_asgElEffCorrTool_elSF_Iso
= nullptr¶
-
std::string
m_IsoEffSF_tool_name
¶
-
AsgElectronEfficiencyCorrectionTool *
m_asgElEffCorrTool_elSF_Reco
= nullptr¶
-
std::string
m_RecoEffSF_tool_name
¶
-
AsgElectronEfficiencyCorrectionTool *
m_asgElEffCorrTool_elSF_Trig
= nullptr¶
-
std::string
m_TrigEffSF_tool_name
¶
-
AsgElectronEfficiencyCorrectionTool *
m_asgElEffCorrTool_elSF_TrigMCEff
= nullptr¶
-
std::string
m_TrigMCEff_tool_name
¶