#include <egammaPIDdefs.h>
This file defines the bit-occupation of the PID and OQ flags of egamma and the enum definition of the identification results
The enum PID contains variables related to the particle identification such as IsEM (cut-based selection) and Multivariate analysis. It contains also the word IsGoodOQ which is related to the Object quality
The IsEM variable is coded through bit mask, each of the 32 bits of this variable (coded as an unsigned integer) has a meaning. Two enums exist to determine the meaning of each bit, one for electrons and one for photons BitDefElectron : definition of the 32 bits defined to identify an electron BitDefPhoton : definition of the 32 bits defined to identify a photon
Note that the enum BitDef is obsolete and kept for files reconstructed before rel 15.2.0 Following these enums one can find variables which combine these bits to obtain different levels of identification, such as ElectronLoose, PhotonTight etc.
The concrete use of the bits for IsEM is done in egammaElectronCutIDTool.cxx : the cut-based selection for electrons egammaElectronCutIDToolBase.py : cut thresholds which are applied for the different menus egammaPhotonCutIDTool.cxx : the cut-based selection for photons egammaPhotonCutIDToolBase.py : cut thresholds which are applied for the different menus In particular it means that even if a bit is defined and enters in the definition of a selection level, it does not mean that the cut is applied in practice as its threshold could have a dummy value
The concrete use of the bits for IsGoodOQ is done in egammaOQFlagsBuilder.cxx : tool to fill Object Quality flags
UPDATED: Jan 5, 2011: add IsEMLoose, IsEMMedium, and IsEMTight PIDs; change EgPidUndefined to be an unsigned int with UINT_MAX; May 9, 2011: Change EgPidUndefined back to 0. May 31, 2011: Change EgPidUndefined back to UINT_MAX. Add flag on whether the variable was found. Add ++ definitions