\(e\)¶
-
class ElectronCalibrator : public xAH::Algorithm¶
This is the algorithm class used to calibrate electrons.
In a nutshell, this algorithm performs the following actions:
retrieves an
xAOD::ElectronContainer
from eitherTEvent
orTStore
makes a shallow copy container and fills it with energy-and-direction calibrated electrons using the
EgammaCalibrationAndSmearingTool
in Tools Usedsaves the shallow copy container to
TStore
from where it can be retrieved by algorithms downstream via name lookup
Public Functions
-
ElectronCalibrator()¶
-
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()¶
Public Members
-
std::string m_inContainerName = ""¶
The name of the input container for this algorithm to read from
TEvent
orTStore
-
std::string m_outContainerName = ""¶
The name of the nominal output container written by the algorithm to
TStore
If the algorithm applies systematic variations, for each shallow copy saved to
TStore
, the systematic name will be appended to this.
-
bool m_sort = true¶
Sort the processed container elements by transverse momentum.
-
std::string m_inputAlgoSystNames = ""¶
The name of the vector containing the names of the systematically-varied containers from the upstream algorithm, which will be processed by this algorithm.
This vector is retrieved from the
TStore
. If left blank, it means there is no upstream algorithm which applies systematics. This is the case when processing straight from the originalxAOD
orDxAOD
.
-
std::string m_outputAlgoSystNames = "ElectronCalibrator_Syst"¶
The name of the vector containing the names of the systematically-varied containers created by by this algorithm.
If
m_systName
is empty, the vector will contain only an empty string. When running on systematics, this is the string a downstream algorithm needs to process electrons.
-
bool m_writeSystToMetadata = false¶
Write systematics names to metadata.
-
std::string m_esModel = ""¶
-
std::string m_decorrelationModel = ""¶
-
bool m_applyIsolationCorrection = false¶
Apply isolation correction, not needed by default.
Private Members
-
int m_numEvent¶
-
int m_numObject¶
-
std::string m_outAuxContainerName¶
-
std::string m_outSCContainerName¶
-
std::string m_outSCAuxContainerName¶
-
std::vector<CP::SystematicSet> m_systList¶
-
CP::EgammaCalibrationAndSmearingTool *m_EgammaCalibrationAndSmearingTool = nullptr¶
-
CP::IsolationCorrectionTool *m_IsolationCorrectionTool = nullptr¶
apply leakage correction to calo based isolation variables for electrons