7#ifndef __TELECTRONISEMSELECTOR__
8#define __TELECTRONISEMSELECTOR__
35 friend class ::AsgElectronIsEMSelector;
86 bool passBLayerRequirement,
88 int nPixHitsPlusDeadSensors,
90 int nSiHitsPlusDeadSensors,
146 bool passBLayerRequirement,
148 int nPixHitsPlusDeadSensors,
150 int nSiHitsPlusDeadSensors,
153 int nTRThighOutliers,
217 bool passBLayerRequirement,
219 int nPixHitsPlusDeadSensors,
221 int nSiHitsPlusDeadSensors,
224 int nTRThighOutliers,
236 unsigned int iflag)
const;
328 bool CheckVar(
const std::vector<T>&
vec,
int choice)
const;
std::vector< size_t > vec
std::vector< float > m_cutBinEta
range of eta bins for e-ID
bool CheckVar(const std::vector< T > &vec, int choice) const
int m_cutPositionTrackMatchPhi_Electron
phi difference between cluster and extrapolated track in the 2nd sampling
const std::string m_cutNameTrackTRTratio90_Electron
ratio of high to all TRT hits for non-isolated electrons (not for new ++ menus)
const std::string m_cutNameTrackPixel_Electron
number of Pixel hits
const std::string m_cutNameTrackMatchEoverP_Electron
energy-momentum match
std::vector< float > m_cutEProbabilityHT
cut on on eProbabilityHT new TRT PID tool
int m_cutPositionClusterStripsDEmaxs1_Electron
difference between max and 2nd max in strips
int m_cutPositionTrackMatchEta_Electron
eta difference between cluster and extrapolated track in the 1st sampling
std::vector< float > m_cutminEp
cut min on E/p for e-ID
std::vector< float > m_cutHadLeakage
cut on hadronic energy for e-ID
const std::string m_cutNameClusterEtaRange_Electron
cluster eta range
int m_cutPositionClusterStripsDeltaEmax2_Electron
energy of 2nd maximum in 1st sampling ~e2tsts1/(1000+const_lumi*et)
std::vector< float > m_cutNumTRT
cut on Number of TRT hits for e-ID
int m_cutPositionClusterStripsFracm_Electron
shower shape in shower core 1st sampling
int m_cutPositionClusterStripsEratio_Electron
fraction of energy found in 1st sampling (NB: not used in fact for electrons)
const std::string m_cutNameTrackMatchEta_Electron
eta difference between cluster and extrapolated track in the 1st sampling
std::vector< float > m_cutDeltaEtaTight
cut max on delta eta for Tight e-ID
const std::string m_cutNameTrackTRThits_Electron
number of TRT hits
std::vector< float > m_cutTRTRatio90
cut on Ratio of TR hits to Number of TRT hits for 10% loss due to TRT
std::vector< float > m_cutDeltaEta
cut max on delta eta for e-ID
std::vector< float > m_cutA0Tight
cut min on transverse impact parameter for Tight e-ID
std::vector< float > m_cutRphi33
cut on ratio e233/e277 for e-ID
unsigned int TrackCut(float eta2, double et, bool passBLayerRequirement, int nPixHitsPlusDeadSensors, int nSiHitsPlusDeadSensors, int nTRThigh, int nTRThighOutliers, int nTRT, int nTRTOutliers, int nTRTXenonHits, float TRT_PID, float trackd0, float deltaeta, float deltaphi, double ep, unsigned int iflag) const
std::vector< float > m_cutA0
cut min on transverse impact parameter for e-ID
const std::string m_cutNameClusterIsolation_Electron
calorimetric isolation
const asg::AcceptInfo & getAcceptInfo() const
const std::string m_cutNameClusterHadronicLeakage_Electron
cluster leakage into the hadronic calorimeter
const std::string m_cutNameTrackIsolation_Electron
tracker isolation
int m_cutPositionClusterStripsDeltaE_Electron
difference between 2nd maximum and 1st minimum in strips (e2tsts1-emins1)
std::vector< float > m_cutBinET_TRT
Et binning for cuts on TRT for e-ID.
const std::string m_cutNameTrackA0_Electron
distance of closet approach
unsigned int m_isEMMask
which subset of cuts to apply
int m_cutPositionTrackTRThits_Electron
number of TRT hits
bool m_useTRTOutliers
use of TRT outliers
int m_cutPositionClusterMiddleEnergy_Electron
Et<0 cut.
TElectronIsEMSelector(const char *name="TElectronIsEMSelector")
Standard constructor.
int m_cutPositionClusterStripsWtot_Electron
shower width in 1st sampling
const std::string m_cutNameClusterMiddleEratio33_Electron
energy ratio in 2nd sampling (e.g E233/E237)
const std::string m_cutNameClusterMiddleEnergy_Electron
energy in 2nd sampling (e.g E277>0)
std::vector< float > m_cutFracm
cut on Fside in 1st sampling for e-ID
const std::string m_cutNameTrackSi_Electron
number of Pixel and SCT hits
int m_cutPositionConversionMatch_Electron
matching to photon (not necessarily conversion–the name is historical)
std::vector< float > m_cutBinET
range of ET bins for e-ID
const std::string m_cutNameClusterStripsFracm_Electron
shower shape in shower core 1st sampling
int m_cutPositionTrackA0Tight_Electron
distance of closet approach for tight selection (not to be used in new ++ menus)
const std::string m_cutNameTrackA0Tight_Electron
distance of closet approach for tight selection (not to be used in new ++ menus)
std::vector< float > m_cutDeltaEmax2
cut on Delta Emax2 in 1st sampling for e-ID
int m_cutPositionClusterBackEnergyFraction_Electron
energy fraction in the third layer
std::vector< float > m_cutmaxEp
cut max on E/p for e-ID
int m_cutPositionTrackMatchEoverP_Electron
energy-momentum match
std::vector< float > m_cutWeta2c
cut on shower width in 2nd sampling for e-ID
unsigned int calcIsEm(float eta2, double et, float Reta, float Rphi, float Rhad1, float Rhad, float e277, float weta1c, float weta2c, float f1, float emax2, float Eratio, float DeltaE, float wtot, float fracm, float f3, bool passBLayerRequirement, int nPixHitsPlusDeadSensors, int nSiHitsPlusDeadSensors, int nTRThigh, int nTRThighOutliers, int nTRT, int nTRTOutliers, int nTRTXenonHits, float TRT_PID, float trackd0, float deltaeta, float deltaphi, double ep) const
std::vector< float > m_cutTRTRatio
cut on Ratio of TR hits to Number of TRT hits for e-ID
const std::string m_cutNameClusterMiddleWidth_Electron
width in the second sampling (e.g Weta2)
const std::string m_cutNameClusterStripsWeta1c_Electron
shower width weighted by distance from the maximum one
asg::AcceptData fillAccept(unsigned int isEM) const
int m_cutPositionClusterMiddleEratio33_Electron
energy ratio in 2nd sampling (e.g E233/E237)
bool m_useTRTXenonHits
use of TRT Xenon Hits
asg::AcceptInfo m_acceptInfo
Accept info.
int m_cutPositionClusterMiddleEratio37_Electron
energy ratio in 2nd sampling (e.g E237/E277)
const std::string m_cutNameTrackMatchEtaTight_Electron
eta difference between cluster and extrapolated track in the 1st sampling for tight selection (not to...
int m_cutPositionTrackIsolation_Electron
tracker isolation
std::vector< float > m_cutWeta1c
cut on width in 1st sampling for e-ID
int m_cutPositionTrackTRTratio_Electron
ratio of high to all TRT hits for isolated electrons
const std::string m_cutNameClusterStripsDeltaE_Electron
difference between 2nd maximum and 1st minimum in strips (e2tsts1-emins1)
const std::string m_cutNameClusterStripsWtot_Electron
shower width in 1st sampling
std::vector< float > m_cutF1
cut on fraction of energy deposited in 1st sampling for e-ID
std::vector< float > m_cutReta37
cut on ratio e237/e277 for e-ID
const std::string m_cutNameTrackTRTratio_Electron
ratio of high to all TRT hits for isolated electrons
const std::string m_cutNameConversionMatch_Electron
matching to photon (not necessarily conversion–the name is historical)
unsigned int calocuts_electrons(float eta2, double et, float Reta, float Rphi, float Rhad1, float Rhad, float e277, float weta1c, float weta2c, float f1, float emax2, float Eratio, float DeltaE, float wtot, float fracm, float f3, unsigned int iflag, double trigEtTh=0) const
std::vector< int > m_cutSi
cut min on precision hits for e-ID
std::vector< float > m_cutmaxDeltaPhi
cut max on delta phi for e-ID
int m_cutPositionTrackTRTratio90_Electron
ratio of high to all TRT hits for non-isolated electrons (not for new ++ menus)
std::vector< int > FindEtEtaBin(double et, double eta2) const
std::vector< float > m_cutWtot
cut on total width in 1st sampling for e-ID
~TElectronIsEMSelector()
Standard destructor.
const std::string m_cutNameClusterBackEnergyFraction_Electron
energy fraction in the third layer
int m_cutPositionClusterIsolation_Electron
calorimetric isolation
asg::AcceptData accept() const
Return dummy accept with only info.
const std::string m_cutNameIsolation_Electron
isolation
int m_cutPositionTrackPixel_Electron
number of Pixel hits
int m_cutPositionClusterMiddleWidth_Electron
width in the second sampling (e.g Weta2)
std::vector< float > m_cutminDeltaPhi
cut min on delta phi for e-ID (this should be negative)
std::vector< float > m_cutDeltaE
cut on Emax2 - Emin in 1st sampling for e-ID
int m_cutPositionClusterStripsWeta1c_Electron
shower width weighted by distance from the maximum one
std::vector< int > m_cutBL
cut min on b-layer hits for e-ID
std::vector< int > m_cutPi
cut min on pixel hits for e-ID
int m_cutPositionTrackBlayer_Electron
B layer hit.
const std::string m_cutNameTrackMatchPhi_Electron
phi difference between cluster and extrapolated track in the 2nd sampling
int m_cutPositionTrackMatchEtaTight_Electron
eta difference between cluster and extrapolated track in the 1st sampling for tight selection (not to...
int m_cutPositionTrackTRTeProbabilityHT_Electron
Cut on the TRT eProbabilityHT_Electron.
int m_cutPositionTrackA0_Electron
distance of closet approach
const std::string m_cutNameTrackTRTeProbabilityHT_Electron
Cut on the TRT eProbabilityHT_Electron.
const std::string m_cutNameClusterMiddleEratio37_Electron
energy ratio in 2nd sampling (e.g E237/E277)
int m_cutPositionIsolation_Electron
isolation
int m_cutPositionTrackSi_Electron
number of Pixel and SCT hits
const std::string m_cutNameTrackBlayer_Electron
B layer hit.
std::vector< float > m_cutDEmaxs1
cut on (Emax1-Emax2)/(Emax1-Emax2) for e-ID
StatusCode initialize()
Initialize this class.
const std::string m_cutNameClusterStripsDEmaxs1_Electron
difference between max and 2nd max in strips
std::vector< float > m_cutBinEta_TRT
Eta binning for cuts on TRT for e-ID.
const std::string m_cutNameClusterStripsEratio_Electron
fraction of energy found in 1st sampling (NB: not used in fact for electrons)
int m_cutPositionClusterHadronicLeakage_Electron
cluster leakage into the hadronic calorimeter
const std::string m_cutNameClusterStripsDeltaEmax2_Electron
energy of 2nd maximum in 1st sampling ~e2tsts1/(1000+const_lumi*et)
int m_cutPositionClusterEtaRange_Electron
cluster eta range
std::vector< float > m_cutF3
cut values for cut on f3
Class mimicking the AthMessaging class from the offline software.
Extra patterns decribing particle interation process.