Class ElectronCalibrator

Inheritance Relationships

Base Type

Class Documentation

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 either TEvent or TStore

  • makes a shallow copy container and fills it with energy-and-direction calibrated electrons using the EgammaCalibrationAndSmearingTool in Tools Used

  • saves 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 or TStore

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 original xAOD or DxAOD.

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.