Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
•All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | Friends | List of all members
Root::TElectronIsEMSelector Class Reference

#include <TElectronIsEMSelector.h>

Inheritance diagram for Root::TElectronIsEMSelector:
Collaboration diagram for Root::TElectronIsEMSelector:

Public Member Functions

 TElectronIsEMSelector (const char *name="TElectronIsEMSelector")
 Standard constructor. More...
 
 ~TElectronIsEMSelector ()
 Standard destructor. More...
 
StatusCode initialize ()
 Initialize this class. More...
 
asg::AcceptData accept (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
 The main accept method: the actual cuts are applied here. More...
 
asg::AcceptData accept () const
 Return dummy accept with only info. More...
 
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
 
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
 
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
 
const asg::AcceptInfogetAcceptInfo () const
 
void setLevel (MSG::Level lvl)
 Change the current logging level. More...
 

Public Attributes

unsigned int m_isEMMask
 which subset of cuts to apply More...
 
bool m_useTRTOutliers
 use of TRT outliers More...
 
bool m_useTRTXenonHits
 use of TRT Xenon Hits More...
 
std::vector< float > m_cutBinEta
 range of eta bins for e-ID More...
 
std::vector< float > m_cutBinET
 range of ET bins for e-ID More...
 
std::vector< float > m_cutF1
 cut on fraction of energy deposited in 1st sampling for e-ID More...
 
std::vector< float > m_cutHadLeakage
 cut on hadronic energy for e-ID More...
 
std::vector< float > m_cutReta37
 cut on ratio e237/e277 for e-ID More...
 
std::vector< float > m_cutRphi33
 cut on ratio e233/e277 for e-ID More...
 
std::vector< float > m_cutWeta2c
 cut on shower width in 2nd sampling for e-ID More...
 
std::vector< float > m_cutDeltaEmax2
 cut on Delta Emax2 in 1st sampling for e-ID More...
 
std::vector< float > m_cutDeltaE
 cut on Emax2 - Emin in 1st sampling for e-ID More...
 
std::vector< float > m_cutDEmaxs1
 cut on (Emax1-Emax2)/(Emax1-Emax2) for e-ID More...
 
std::vector< float > m_cutWtot
 cut on total width in 1st sampling for e-ID More...
 
std::vector< float > m_cutWeta1c
 cut on width in 1st sampling for e-ID More...
 
std::vector< float > m_cutFracm
 cut on Fside in 1st sampling for e-ID More...
 
std::vector< float > m_cutF3
 cut values for cut on f3 More...
 
std::vector< int > m_cutBL
 cut min on b-layer hits for e-ID More...
 
std::vector< int > m_cutPi
 cut min on pixel hits for e-ID More...
 
std::vector< int > m_cutSi
 cut min on precision hits for e-ID More...
 
std::vector< float > m_cutA0
 cut min on transverse impact parameter for e-ID More...
 
std::vector< float > m_cutA0Tight
 cut min on transverse impact parameter for Tight e-ID More...
 
std::vector< float > m_cutDeltaEta
 cut max on delta eta for e-ID More...
 
std::vector< float > m_cutDeltaEtaTight
 cut max on delta eta for Tight e-ID More...
 
std::vector< float > m_cutminDeltaPhi
 cut min on delta phi for e-ID (this should be negative) More...
 
std::vector< float > m_cutmaxDeltaPhi
 cut max on delta phi for e-ID More...
 
std::vector< float > m_cutminEp
 cut min on E/p for e-ID More...
 
std::vector< float > m_cutmaxEp
 cut max on E/p for e-ID More...
 
std::vector< float > m_cutBinEta_TRT
 Eta binning for cuts on TRT for e-ID. More...
 
std::vector< float > m_cutBinET_TRT
 Et binning for cuts on TRT for e-ID. More...
 
std::vector< float > m_cutNumTRT
 cut on Number of TRT hits for e-ID More...
 
std::vector< float > m_cutTRTRatio
 cut on Ratio of TR hits to Number of TRT hits for e-ID More...
 
std::vector< float > m_cutTRTRatio90
 cut on Ratio of TR hits to Number of TRT hits for 10% loss due to TRT More...
 
std::vector< float > m_cutEProbabilityHT
 cut on on eProbabilityHT new TRT PID tool More...
 

Private Member Functions

asg::AcceptData fillAccept (unsigned int isEM) const
 
std::vector< int > FindEtEtaBin (double et, double eta2) const
 
template<typename T >
bool CheckVar (const std::vector< T > &vec, int choice) const
 
void initMessaging () const
 Initialize our message level and MessageSvc. More...
 

Private Attributes

asg::AcceptInfo m_acceptInfo
 Accept info. More...
 
int m_cutPositionClusterEtaRange_Electron
 cluster eta range More...
 
int m_cutPositionConversionMatch_Electron
 matching to photon (not necessarily conversion–the name is historical) More...
 
int m_cutPositionClusterHadronicLeakage_Electron
 cluster leakage into the hadronic calorimeter More...
 
int m_cutPositionClusterMiddleEnergy_Electron
 Et<0 cut. More...
 
int m_cutPositionClusterMiddleEratio37_Electron
 energy ratio in 2nd sampling (e.g E237/E277) More...
 
int m_cutPositionClusterMiddleEratio33_Electron
 energy ratio in 2nd sampling (e.g E233/E237) More...
 
int m_cutPositionClusterMiddleWidth_Electron
 width in the second sampling (e.g Weta2) More...
 
int m_cutPositionClusterBackEnergyFraction_Electron
 energy fraction in the third layer More...
 
int m_cutPositionClusterStripsEratio_Electron
 fraction of energy found in 1st sampling (NB: not used in fact for electrons) More...
 
int m_cutPositionClusterStripsDeltaEmax2_Electron
 energy of 2nd maximum in 1st sampling ~e2tsts1/(1000+const_lumi*et) More...
 
int m_cutPositionClusterStripsDeltaE_Electron
 difference between 2nd maximum and 1st minimum in strips (e2tsts1-emins1) More...
 
int m_cutPositionClusterStripsWtot_Electron
 shower width in 1st sampling More...
 
int m_cutPositionClusterStripsFracm_Electron
 shower shape in shower core 1st sampling More...
 
int m_cutPositionClusterStripsWeta1c_Electron
 shower width weighted by distance from the maximum one More...
 
int m_cutPositionClusterStripsDEmaxs1_Electron
 difference between max and 2nd max in strips More...
 
int m_cutPositionTrackBlayer_Electron
 B layer hit. More...
 
int m_cutPositionTrackPixel_Electron
 number of Pixel hits More...
 
int m_cutPositionTrackSi_Electron
 number of Pixel and SCT hits More...
 
int m_cutPositionTrackA0_Electron
 distance of closet approach More...
 
int m_cutPositionTrackMatchEta_Electron
 eta difference between cluster and extrapolated track in the 1st sampling More...
 
int m_cutPositionTrackMatchPhi_Electron
 phi difference between cluster and extrapolated track in the 2nd sampling More...
 
int m_cutPositionTrackMatchEoverP_Electron
 energy-momentum match More...
 
int m_cutPositionTrackTRTeProbabilityHT_Electron
 Cut on the TRT eProbabilityHT_Electron. More...
 
int m_cutPositionTrackTRThits_Electron
 number of TRT hits More...
 
int m_cutPositionTrackTRTratio_Electron
 ratio of high to all TRT hits for isolated electrons More...
 
int m_cutPositionTrackTRTratio90_Electron
 ratio of high to all TRT hits for non-isolated electrons (not for new ++ menus) More...
 
int m_cutPositionTrackA0Tight_Electron
 distance of closet approach for tight selection (not to be used in new ++ menus) More...
 
int m_cutPositionTrackMatchEtaTight_Electron
 eta difference between cluster and extrapolated track in the 1st sampling for tight selection (not to be used in new ++ menus) More...
 
int m_cutPositionIsolation_Electron
 isolation More...
 
int m_cutPositionClusterIsolation_Electron
 calorimetric isolation More...
 
int m_cutPositionTrackIsolation_Electron
 tracker isolation More...
 
const std::string m_cutNameClusterEtaRange_Electron
 cluster eta range More...
 
const std::string m_cutNameConversionMatch_Electron
 matching to photon (not necessarily conversion–the name is historical) More...
 
const std::string m_cutNameClusterHadronicLeakage_Electron
 cluster leakage into the hadronic calorimeter More...
 
const std::string m_cutNameClusterMiddleEnergy_Electron
 energy in 2nd sampling (e.g E277>0) More...
 
const std::string m_cutNameClusterMiddleEratio37_Electron
 energy ratio in 2nd sampling (e.g E237/E277) More...
 
const std::string m_cutNameClusterMiddleEratio33_Electron
 energy ratio in 2nd sampling (e.g E233/E237) More...
 
const std::string m_cutNameClusterMiddleWidth_Electron
 width in the second sampling (e.g Weta2) More...
 
const std::string m_cutNameClusterBackEnergyFraction_Electron
 energy fraction in the third layer More...
 
const std::string m_cutNameClusterStripsEratio_Electron
 fraction of energy found in 1st sampling (NB: not used in fact for electrons) More...
 
const std::string m_cutNameClusterStripsDeltaEmax2_Electron
 energy of 2nd maximum in 1st sampling ~e2tsts1/(1000+const_lumi*et) More...
 
const std::string m_cutNameClusterStripsDeltaE_Electron
 difference between 2nd maximum and 1st minimum in strips (e2tsts1-emins1) More...
 
const std::string m_cutNameClusterStripsWtot_Electron
 shower width in 1st sampling More...
 
const std::string m_cutNameClusterStripsFracm_Electron
 shower shape in shower core 1st sampling More...
 
const std::string m_cutNameClusterStripsWeta1c_Electron
 shower width weighted by distance from the maximum one More...
 
const std::string m_cutNameClusterStripsDEmaxs1_Electron
 difference between max and 2nd max in strips More...
 
const std::string m_cutNameTrackBlayer_Electron
 B layer hit. More...
 
const std::string m_cutNameTrackPixel_Electron
 number of Pixel hits More...
 
const std::string m_cutNameTrackSi_Electron
 number of Pixel and SCT hits More...
 
const std::string m_cutNameTrackA0_Electron
 distance of closet approach More...
 
const std::string m_cutNameTrackMatchEta_Electron
 eta difference between cluster and extrapolated track in the 1st sampling More...
 
const std::string m_cutNameTrackMatchPhi_Electron
 phi difference between cluster and extrapolated track in the 2nd sampling More...
 
const std::string m_cutNameTrackMatchEoverP_Electron
 energy-momentum match More...
 
const std::string m_cutNameTrackTRTeProbabilityHT_Electron
 Cut on the TRT eProbabilityHT_Electron. More...
 
const std::string m_cutNameTrackTRThits_Electron
 number of TRT hits More...
 
const std::string m_cutNameTrackTRTratio_Electron
 ratio of high to all TRT hits for isolated electrons More...
 
const std::string m_cutNameTrackTRTratio90_Electron
 ratio of high to all TRT hits for non-isolated electrons (not for new ++ menus) More...
 
const std::string m_cutNameTrackA0Tight_Electron
 distance of closet approach for tight selection (not to be used in new ++ menus) More...
 
const std::string m_cutNameTrackMatchEtaTight_Electron
 eta difference between cluster and extrapolated track in the 1st sampling for tight selection (not to be used in new ++ menus) More...
 
const std::string m_cutNameIsolation_Electron
 isolation More...
 
const std::string m_cutNameClusterIsolation_Electron
 calorimetric isolation More...
 
const std::string m_cutNameTrackIsolation_Electron
 tracker isolation More...
 
std::string m_nm
 Message source name. More...
 
boost::thread_specific_ptr< MsgStream > m_msg_tls
 MsgStream instance (a std::cout like with print-out levels) More...
 
std::atomic< IMessageSvc * > m_imsg { nullptr }
 MessageSvc pointer. More...
 
std::atomic< MSG::Level > m_lvl { MSG::NIL }
 Current logging level. More...
 
std::atomic_flag m_initialized ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT
 Messaging initialized (initMessaging) More...
 

Friends

class ::AsgElectronIsEMSelector
 

Detailed Description

Definition at line 32 of file TElectronIsEMSelector.h.

Constructor & Destructor Documentation

â—† TElectronIsEMSelector()

TElectronIsEMSelector::TElectronIsEMSelector ( const char *  name = "TElectronIsEMSelector")

Standard constructor.

cluster eta range

matching to photon (not necessarily conversion–the name is historical)

cluster leakage o the hadronic calorimeter

Et <0

energy ratio in 2nd sampling (e.g E237/E277)

energy ratio in 2nd sampling (e.g E233/E237)

width in the second sampling (e.g Weta2)

energy fraction in the third layer

fraction of energy found in 1st sampling (NB: not used in fact for electrons)

energy of 2nd maximum in 1st sampling ~e2tsts1/(1000+const_lumi*et)

difference between 2nd maximum and 1st minimum in strips (e2tsts1-emins1)

shower width in 1st sampling

shower shape in shower core 1st sampling

shower width weighted by distance from the maximum one

difference between max and 2nd max in strips

B layer hit

number of Pixel hits

number of Pixel and SCT hits

distance of closet approach

eta difference between cluster and extrapolated track in the 1st sampling

phi difference between cluster and extrapolated track in the 2nd sampling

energy-momentum match

Cut on the TRT eProbability_Electron

number of TRT hits

ratio of high to all TRT hits for isolated electrons

ratio of high to all TRT hits for non-isolated electrons (not for new ++ menus)

distance of closet approach for tight selection (not to be used in new ++ menus)

eta difference between cluster and extrapolated track in the 1st sampling for tight selection (not to be used in new ++ menus)

isolation

calorimetric isolation

tracker isolation

cluster eta range

matching to photon (not necessarily conversion–the name is historical)

cluster leakage into the hadronic calorimeter

Et <0 Cut

energy ratio in 2nd sampling (i.e. E237/E277)

energy ratio in 2nd sampling (i.e. E233/E237)

width in the second sampling (i.e. Weta2)

energy fraction in the third layer (i.e. f3)

fraction of energy found in 1st sampling (NB: not used in fact for electrons)

energy of 2nd maximum in 1st sampling ~e2tsts1/(1000+const_lumi*et)

difference between 2nd maximum and 1st minimum in strips (e2tsts1-emins1)

shower width in 1st sampling

shower shape in shower core 1st sampling

shower width weighted by distance from the maximum one

difference between max and 2nd max in strips

B layer hit

number of Pixel hits

number of Pixel and SCT hits

distance of closet approach

eta difference between cluster and extrapolated track in the 1st sampling

phi difference between cluster and extrapolated track in the 2nd sampling

energy-momentum match

Cut on the TRT eProbability_Electron

number of TRT hits

ratio of high to all TRT hits for isolated electrons

ratio of high to all TRT hits for non-isolated electrons (not for new ++ menus)

distance of closet approach for tight selection (not to be used in new ++ menus)

eta difference between cluster and extrapolated track in the 1st sampling for tight selection (not to be used in new ++ menus)

isolation

calorimetric isolation

tracker isolation

Definition at line 19 of file TElectronIsEMSelector.cxx.

19  :
20  asg::AsgMessaging(std::string(name)),
21  m_isEMMask(0), //All will pass if not specified
22  m_useTRTOutliers(true),
23  m_useTRTXenonHits(false),
88  m_cutNameClusterEtaRange_Electron("ClusterEtaRange_Electron"),
90  m_cutNameConversionMatch_Electron("ConversionMatch_Electron"),
92  m_cutNameClusterHadronicLeakage_Electron("ClusterHadronicLeakage_Electron"),
94  m_cutNameClusterMiddleEnergy_Electron("ClusterMiddleEnergy_Electron"),
96  m_cutNameClusterMiddleEratio37_Electron("ClusterMiddleEratio37_Electron"),
98  m_cutNameClusterMiddleEratio33_Electron("ClusterMiddleEratio33_Electron"),
100  m_cutNameClusterMiddleWidth_Electron("ClusterMiddleWidth_Electron"),
102  m_cutNameClusterBackEnergyFraction_Electron("ClusterBackEnergyFraction_Electron"),
104  m_cutNameClusterStripsEratio_Electron("ClusterStripsEratio_Electron"),
106  m_cutNameClusterStripsDeltaEmax2_Electron("ClusterStripsDeltaEmax2_Electron"),
108  m_cutNameClusterStripsDeltaE_Electron("ClusterStripsDeltaE_Electron"),
110  m_cutNameClusterStripsWtot_Electron("ClusterStripsWtot_Electron"),
112  m_cutNameClusterStripsFracm_Electron("ClusterStripsFracm_Electron"),
114  m_cutNameClusterStripsWeta1c_Electron("ClusterStripsWeta1c_Electron"),
116  m_cutNameClusterStripsDEmaxs1_Electron("ClusterStripsDEmaxs1_Electron"),
118  m_cutNameTrackBlayer_Electron("TrackBlayer_Electron"),
120  m_cutNameTrackPixel_Electron("TrackPixel_Electron"),
122  m_cutNameTrackSi_Electron("TrackSi_Electron"),
124  m_cutNameTrackA0_Electron("TrackA0_Electron"),
126  m_cutNameTrackMatchEta_Electron("TrackMatchEta_Electron"),
128  m_cutNameTrackMatchPhi_Electron("TrackMatchPhi_Electron"),
130  m_cutNameTrackMatchEoverP_Electron("TrackMatchEoverP_Electron"),
132  m_cutNameTrackTRTeProbabilityHT_Electron("TrackTRTeProbabilityHT_Electron"),
134  m_cutNameTrackTRThits_Electron("TrackTRThits_Electron"),
136  m_cutNameTrackTRTratio_Electron("TrackTRTratio_Electron"),
138  m_cutNameTrackTRTratio90_Electron("TrackTRTratio90_Electron"),
140  m_cutNameTrackA0Tight_Electron("TrackA0Tight_Electron"),
143  m_cutNameTrackMatchEtaTight_Electron("TrackMatchEtaTight_Electron"),
145  m_cutNameIsolation_Electron("Isolation_Electron"),
147  m_cutNameClusterIsolation_Electron("ClusterIsolation_Electron"),
149  m_cutNameTrackIsolation_Electron("TrackIsolation_Electron")
150 {
178 }

â—† ~TElectronIsEMSelector()

TElectronIsEMSelector::~TElectronIsEMSelector ( )
default

Standard destructor.

Member Function Documentation

â—† accept() [1/2]

asg::AcceptData Root::TElectronIsEMSelector::accept ( ) const
inline

Return dummy accept with only info.

Definition at line 107 of file TElectronIsEMSelector.h.

107 { return asg::AcceptData(&m_acceptInfo); }

â—† accept() [2/2]

asg::AcceptData TElectronIsEMSelector::accept ( 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

The main accept method: the actual cuts are applied here.

ethad1,

Parameters
Reta///////////// - calo
passBLayerRequirement///////////// - tracking

Definition at line 373 of file TElectronIsEMSelector.cxx.

428 {
429 
430  // -----------------------------------------------------------
431  // Do the actual selection
432 
433  unsigned int isEM = calcIsEm(eta2,
434  et,
435  Reta, // e233,
436  Rphi, //e237,
437  Rhad1,
438  Rhad, //ethad,
439  e277,
440  weta1c,
441  weta2c,
442  f1,
443  emax2,
444  Eratio, //emax,
445  DeltaE, //emin,
446  wtot,
447  fracm,
448  f3,
451  nSiHitsPlusDeadSensors,
452  nTRThigh,
453  nTRThighOutliers,
454  nTRT,
455  nTRTOutliers,
456  nTRTXenonHits,
457  TRT_PID,
458  trackd0,
459  deltaeta,
460  deltaphi,
461  ep);
462 
463  return fillAccept(isEM);
464 
465 }

â—† calcIsEm()

unsigned int TElectronIsEMSelector::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
Parameters
Reta///////////// - calo
passBLayerRequirement///////////// - tracking

Definition at line 469 of file TElectronIsEMSelector.cxx.

524 {
525  unsigned int iflag = calocuts_electrons(eta2,
526  et,
527  Reta, // e233,
528  Rphi, // e237,
529  Rhad1, // ethad1,
530  Rhad, // ethad,
531  e277,
532  weta1c,
533  weta2c,
534  f1,
535  emax2,
536  Eratio, // emax,
537  DeltaE, // emin,
538  wtot,
539  fracm,
540  f3,
541  0);
542 
543  iflag = TrackCut(eta2,
544  et,
547  nSiHitsPlusDeadSensors,
548  nTRThigh,
549  nTRThighOutliers,
550  nTRT,
551  nTRTOutliers,
552  nTRTXenonHits,
553  TRT_PID,
554  trackd0,
555  deltaeta,
556  deltaphi,
557  ep,
558  iflag);
559 
560  return iflag;
561 }

â—† calocuts_electrons()

unsigned int TElectronIsEMSelector::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

Definition at line 564 of file TElectronIsEMSelector.cxx.

601 {
602  // modifiy et when dealing with trigger
603  // to be sure that it will take the correct bin (VD)
604  if(trigEtTh > 0) et = trigEtTh*1.01;
605  std::vector<int> bins =FindEtEtaBin(et,eta2);
606  int ibin_et= bins.at(0);
607  int ibin_eta= bins.at(1);
608  int ibin_combined= bins.at(2);
609 
610  // check eta range
611  if (eta2 > 2.47) {
612  iflag |= (0x1 << egammaPID::ClusterEtaRange_Electron);
613  }
614 
615  //Negative energy. For legacy fill the Middle Energy less than 0 , should be equivalent
616  if (e277 < 0) {
617  iflag |= ( 0x1 << egammaPID::ClusterMiddleEnergy_Electron) ;
618  }
619 
620  // check if index is defined
621  if (ibin_eta>=0 && ibin_et>=0 && ibin_combined>=0) {
622 
623  // hadronic leakage
624  if (CheckVar(m_cutHadLeakage, 4)) {
625  if (eta2 < 0.8) {
626  if (Rhad1 > m_cutHadLeakage[ibin_combined])
628  } else if (eta2 >= 0.8 && eta2 < 1.37) {
629  if (Rhad > m_cutHadLeakage[ibin_combined])
631  } else {
632  if (Rhad1 > m_cutHadLeakage[ibin_combined])
634  }
635  }
636 
637  // cut on f3
638  if (CheckVar(m_cutF3, 4)) {
639  if (f3 > m_cutF3[ibin_combined]) {
641  }
642  }
643 
644  // cuts on 2nd sampling
645  if (CheckVar(m_cutReta37, 4)) {
646  if (Reta <= m_cutReta37[ibin_combined])
648  }
649  // -------------------------------
650  if (CheckVar(m_cutRphi33, 4)) {
651  if (Rphi <= m_cutRphi33[ibin_combined])
653  }
654  // -------------------------------
655  // check Weta2c
656  if (CheckVar(m_cutWeta2c, 4)) {
657  if (weta2c > m_cutWeta2c[ibin_combined])
658  iflag |= (0x1 << egammaPID::ClusterMiddleWidth_Electron);
659  }
660  // cuts on 1st sampling
661  // we remove also crack
662  if (f1 > m_cutF1[0] && eta2 < 2.37 && (eta2 < 1.37 || eta2 > 1.52)) {
663 
664  // check Rmax2
665  if (CheckVar(m_cutDeltaEmax2, 4)) {
666  // parametrizatiion of emax2
667  double deltaemax2 = emax2 / (1000. + 0.009 * et);
668  if (emax2 > 0. && deltaemax2 >= m_cutDeltaEmax2[ibin_combined])
670  }
671 
672  // check Delta E
673  if (CheckVar(m_cutDeltaE, 4)) {
674  if (emax2 > 0. && DeltaE >= m_cutDeltaE[ibin_combined])
675  iflag |= (0x1 << egammaPID::ClusterStripsDeltaE_Electron);
676  }
677 
678  // check DEmaxs1
679  if (CheckVar(m_cutDEmaxs1, 4)) {
680  if (Eratio <= m_cutDEmaxs1[ibin_combined])
682  }
683 
684  // check Wtot
685  if (CheckVar(m_cutWtot, 4)) {
686  if (wtot >= m_cutWtot[ibin_combined])
687  iflag |= (0x1 << egammaPID::ClusterStripsWtot_Electron);
688  }
689 
690  // check Fside
691  if (CheckVar(m_cutFracm, 4)) {
692  if (fracm >= m_cutFracm[ibin_combined])
693  iflag |= (0x1 << egammaPID::ClusterStripsFracm_Electron);
694  }
695 
696  // check Weta1c
697  if (CheckVar(m_cutWeta1c, 4)) {
698  if (weta1c >= m_cutWeta1c[ibin_combined])
699  iflag |= (0x1 << egammaPID::ClusterStripsWeta1c_Electron);
700  }
701  }
702  }
703 
704  return iflag;
705 }

â—† CheckVar()

template<typename T >
template bool TElectronIsEMSelector::CheckVar< int > ( const std::vector< T > &  vec,
int  choice 
) const
private

Definition at line 968 of file TElectronIsEMSelector.cxx.

969 {
970  // check vector size
971  // 0 : size should be 1
972  // 1 : vs etaNB
973  // 2 : vs etaTRTNB
974  // 3 : vs etNB
975  // 4 : vs combinedNB
976  // 5 : vs combinedTRTNB
977 
978  // if size of vector is 0 it means cut is not defined
979  if (vec.empty()) {
980  return false;
981  }
982 
983  const unsigned int etaNB = m_cutBinEta.size();
984  const unsigned int etaTRTNB = m_cutBinEta_TRT.size();
985  const unsigned int etNB = m_cutBinET.size();
986  const unsigned int etTRTNB = m_cutBinET_TRT.size();
987  unsigned int combinedNB = 0;
988  unsigned int combinedTRTNB = 0;
989 
990  if (etNB>1) {
991  combinedNB = etaNB * (etNB+1);
992  }
993  else {
994  combinedNB = etaNB;
995  }
996 
997  if (etTRTNB>1) {
998  combinedTRTNB = etaTRTNB * (etTRTNB+1);
999  }
1000  else {
1001  combinedTRTNB = etaTRTNB;
1002  }
1003 
1004  // check if size is 1 (give choice 0)
1005  if (choice==0) {
1006  if ( vec.size() != 1) {
1007  ATH_MSG_ERROR("choice 0 vector size is "
1008  << vec.size() << " but needs 1");
1009  return false;
1010  }
1011  }
1012 
1013  // check if size is etaNB
1014  if (choice==1) {
1015  if ( vec.size() != etaNB ) {
1016  ATH_MSG_ERROR("choice 1 vector size is "
1017  << vec.size() << " but needs "
1018  << etaNB);
1019  return false;
1020  }
1021  }
1022  // check if size is etaTRTNB
1023  if (choice==2) {
1024  if ( vec.size() != etaTRTNB ) {
1025  ATH_MSG_ERROR("choice 2 vector size is "
1026  << vec.size() << " but needs "
1027  << etaTRTNB);
1028  return false;
1029  }
1030  }
1031 
1032  // check if size is etNB
1033  if (choice==3) {
1034  if ( vec.size() != etNB ) {
1035  ATH_MSG_ERROR("choice 3 vector size is "
1036  << vec.size() << " but needs "
1037  << etNB);
1038  return false;
1039  }
1040  }
1041 
1042  // check if size is combinedNB
1043  if (choice==4) {
1044  if ( vec.size() != combinedNB ) {
1045  ATH_MSG_ERROR("choice 4 vector size is "
1046  << vec.size() << " but needs "
1047  << combinedNB);
1048  return false;
1049  }
1050  }
1051 
1052  // check if size is etaTRTNB
1053  if (choice==5) {
1054  if ( vec.size() != combinedTRTNB ) {
1055  ATH_MSG_ERROR("choice 5 vector size is "
1056  << vec.size() << " but needs "
1057  << combinedTRTNB);
1058  return false;
1059  }
1060  }
1061  return true;
1062 }

â—† fillAccept()

asg::AcceptData TElectronIsEMSelector::fillAccept ( unsigned int  isEM) const
private

Definition at line 360 of file TElectronIsEMSelector.cxx.

361 {
362  asg::AcceptData acceptData(&m_acceptInfo);
363  for (int i = 0; i < 32; i++) {
364  const unsigned int mask = (0x1u << i) & m_isEMMask;
365  acceptData.setCutResult(i, (isEM & mask) == 0);
366  }
367  return acceptData;
368 }

â—† FindEtEtaBin()

std::vector< int > TElectronIsEMSelector::FindEtEtaBin ( double  et,
double  eta2 
) const
private

Definition at line 922 of file TElectronIsEMSelector.cxx.

922  {
923 
924  // Try to figure out in which bin we belong
925 
926  //Example
927  //For Et we have an array of values
928  //5000; 10000; 15000; 20000; 30000; 40000; 50000; 60000; 70000; 80000
929  //with 10 entries
930  //And we have 11 cut entries
931  //so ibin_et can be 0-10
932  int ibin_et = -1;
933  // loop on ET range
934  if (!m_cutBinET.empty()) {
935  const int numBins = m_cutBinET.size();
936  int ibinET = 0;
937  while (ibinET < numBins && et > m_cutBinET[ibinET]) {
938  ++ibinET;
939  }
940  ibin_et = ibinET;
941  }
942  //For eta we have an array of values
943  // 0.1; 0.6 ;0.8; 1.15; 1.37; 1.52; 1.81; 2.01; 2.37; 2.47
944  //with 10 entries
945  //And we have 10 cut entries
946  //As above 2.47 will be cut by
947  //egammaPID::ClusterEtaRange_Electron
948  //so valid ibin_eta can be 0-9 (we need to have eta2<2.47)
949  int ibin_eta = -1;
950  if (!m_cutBinEta.empty() && eta2<m_cutBinEta.back()) {
951  const int numBins = (m_cutBinEta.size()-1);
952  int ibinEta = 0;
953  while (ibinEta < numBins && eta2 > m_cutBinEta[ibinEta]) {
954  ++ibinEta;
955  }
956  ibin_eta = ibinEta;
957  }
958 
959  const int ibin_combined = ibin_et * m_cutBinEta.size() + ibin_eta;
960  // check the bin number
961  std::vector<int> bins{ ibin_et, ibin_eta, ibin_combined };
962  return bins;
963 }

â—† getAcceptInfo()

const asg::AcceptInfo& Root::TElectronIsEMSelector::getAcceptInfo ( ) const
inline

Definition at line 317 of file TElectronIsEMSelector.h.

317 { return m_acceptInfo; }

â—† initialize()

StatusCode TElectronIsEMSelector::initialize ( )

Initialize this class.

cluster eta range, bit 0

matching to photon (not necessarily conversion–the name is historical), but 1

cluster leakage into the hadronic calorimeter, bit 2

et < 0 bit 3

energy ratio in 2nd sampling (i.e. E237/E277), bit 4

energy ratio in 2nd sampling (i.e. E233/E237), bit 5

width in the second sampling (i.e. Weta2), bit 6

energy fraction in the third layer, bit 7

fraction of energy found in 1st sampling (NB: not used in fact for electrons), bit 8

energy of 2nd maximum in 1st sampling ~e2tsts1/(1000+const_lumi*et), bit 9

difference between 2nd maximum and 1st minimum in strips (e2tsts1-emins1), bit 10

shower width in 1st sampling, bit 11

shower shape in shower core 1st sampling, bit 12

shower width weighted by distance from the maximum one, bit 13

difference between max and 2nd max in strips, bit 15

B layer hit, bit 16

number of Pixel hits, bit 17

number of Pixel and SCT hits, bit 18

distance of closet approach, bit 19

eta difference between cluster and extrapolated track in the 1st sampling, bit 20

phi difference between cluster and extrapolated track in the 2nd sampling, bit 21

energy-momentum match, bit 22

cut on TRT eProbabilityHT, bit 23

number of TRT hits, bit 24

ratio of high to all TRT hits for isolated electrons, bit 25

ratio of high to all TRT hits for non-isolated electrons (not for new ++ menus), bit 26

distance of closet approach for tight selection (not to be used in new ++ menus), bit 27

eta difference between cluster and extrapolated track in the 1st sampling for tight selection (not to be used in new ++ menus), bit 28

isolation, bit 29

calorimetric isolation, bit 30

tracker isolation, bit 31

Definition at line 183 of file TElectronIsEMSelector.cxx.

184 {
185 
186  StatusCode sc(StatusCode::SUCCESS);
187 
188  // --------------------------------------------------------------------------
189  // Register the cuts and check that the registration worked:
190  // NOTE: THE ORDER IS IMPORTANT!!! Cut0 corresponds to bit 0, Cut1 to bit 1,...
193  m_acceptInfo.addCut(m_cutNameClusterEtaRange_Electron, "Electron within eta range");
194  if (m_cutPositionClusterEtaRange_Electron < 0) sc = StatusCode::FAILURE;
195 
198  m_acceptInfo.addCut(m_cutNameConversionMatch_Electron, "Electron matches a photon with AR > LOOSE");
199  if (m_cutPositionConversionMatch_Electron < 0) sc = StatusCode::FAILURE;
200 
204  if (m_cutPositionClusterHadronicLeakage_Electron < 0) sc = StatusCode::FAILURE;
205 
209  if (m_cutPositionClusterMiddleEnergy_Electron < 0) sc = StatusCode::FAILURE;
210 
214  if (m_cutPositionClusterMiddleEratio37_Electron < 0) sc = StatusCode::FAILURE;
215 
219  if (m_cutPositionClusterMiddleEratio33_Electron < 0) sc = StatusCode::FAILURE;
220 
224  if (m_cutPositionClusterMiddleWidth_Electron < 0) sc = StatusCode::FAILURE;
225 
229  if (m_cutPositionClusterBackEnergyFraction_Electron < 0) sc = StatusCode::FAILURE;
230 
234  if (m_cutPositionClusterStripsEratio_Electron < 0) sc = StatusCode::FAILURE;
235 
238  m_acceptInfo.addCut(m_cutNameClusterStripsDeltaEmax2_Electron, "emax2/(1000.+0.009*et) < Cut, where emax2 is the energy of the second max");
239  if (m_cutPositionClusterStripsDeltaEmax2_Electron < 0) sc = StatusCode::FAILURE;
240 
243  m_acceptInfo.addCut(m_cutNameClusterStripsDeltaE_Electron, "difference between 2nd maximium and first minimum < Cut");
244  if (m_cutPositionClusterStripsDeltaE_Electron < 0) sc = StatusCode::FAILURE;
245 
248  m_acceptInfo.addCut(m_cutNameClusterStripsWtot_Electron, "Total shower width in first sampling < Cut");
249  if (m_cutPositionClusterStripsWtot_Electron < 0) sc = StatusCode::FAILURE;
250 
253  m_acceptInfo.addCut(m_cutNameClusterStripsFracm_Electron, "Fracm (aka Fside) < Cut");
254  if (m_cutPositionClusterStripsFracm_Electron < 0) sc = StatusCode::FAILURE;
255 
258  m_acceptInfo.addCut(m_cutNameClusterStripsWeta1c_Electron, "Shower width in 3 strips in first sampling < Cut");
259  if (m_cutPositionClusterStripsWeta1c_Electron < 0) sc = StatusCode::FAILURE;
260 
261  int voidcutpos = m_acceptInfo.addCut("VOID1", "No Cut"); // bit 14 is not used
262  if (voidcutpos < 0) sc = StatusCode::FAILURE;
263 
266  m_acceptInfo.addCut(m_cutNameClusterStripsDEmaxs1_Electron, "Difference between first and second max > Cut");
267  if (m_cutPositionClusterStripsDEmaxs1_Electron < 0) sc = StatusCode::FAILURE;
268 
271  m_acceptInfo.addCut(m_cutNameTrackBlayer_Electron, "nBL > 0, maybe including outliers and using expectHitInBLayer");
272  if (m_cutPositionTrackBlayer_Electron < 0) sc = StatusCode::FAILURE;
273 
276  m_acceptInfo.addCut(m_cutNameTrackPixel_Electron, "nPi > Cut, maybe including outliers");
277  if (m_cutPositionTrackPixel_Electron < 0) sc = StatusCode::FAILURE;
278 
281  m_acceptInfo.addCut(m_cutNameTrackSi_Electron, "nSi > Cut, maybe including outliers");
282  if (m_cutPositionTrackSi_Electron < 0) sc = StatusCode::FAILURE;
283 
286  m_acceptInfo.addCut(m_cutNameTrackA0_Electron, "A0 (aka d0) wrt beam spot < Cut");
287  if (m_cutPositionTrackA0_Electron < 0) sc = StatusCode::FAILURE;
288 
291  m_acceptInfo.addCut(m_cutNameTrackMatchEta_Electron, "Track match deta in 1st sampling < Cut");
292  if (m_cutPositionTrackMatchEta_Electron < 0) sc = StatusCode::FAILURE;
293 
296  m_acceptInfo.addCut(m_cutNameTrackMatchPhi_Electron, "Track match dphi in 2nd sampling < Cut");
297  if (m_cutPositionTrackMatchPhi_Electron < 0) sc = StatusCode::FAILURE;
298 
302  if (m_cutPositionTrackMatchEoverP_Electron < 0) sc = StatusCode::FAILURE;
303 
304  // voidcutpos = m_acceptInfo.addCut("VOID2", "No Cut"); // bit 23 is not used
305  //if (voidcutpos < 0) sc = StatusCode::FAILURE;
306 
309  m_acceptInfo.addCut(m_cutNameTrackTRTeProbabilityHT_Electron, "eProbabilityHT TRT hits > Cut");
310  if (m_cutPositionTrackTRTeProbabilityHT_Electron < 0) sc = StatusCode::FAILURE;
311 
314  m_acceptInfo.addCut(m_cutNameTrackTRThits_Electron, "number of TRT hits > Cut");
315  if (m_cutPositionTrackTRThits_Electron < 0) sc = StatusCode::FAILURE;
316 
319  m_acceptInfo.addCut(m_cutNameTrackTRTratio_Electron, "ration of high to all TRT hits > Cut");
320  if (m_cutPositionTrackTRTratio_Electron < 0) sc = StatusCode::FAILURE;
321 
324  m_acceptInfo.addCut(m_cutNameTrackTRTratio90_Electron, "ration of high to all TRT hits > Cut, 90% cut, (only for old tight menu)");
325  if (m_cutPositionTrackTRTratio90_Electron < 0) sc = StatusCode::FAILURE;
326 
329  m_acceptInfo.addCut(m_cutNameTrackA0Tight_Electron, "tight cut on d0 for old tight menu (not used otherwis)");
330  if (m_cutPositionTrackA0Tight_Electron < 0) sc = StatusCode::FAILURE;
331 
335  m_acceptInfo.addCut(m_cutNameTrackMatchEtaTight_Electron, "tight cut on deta only for old tight menu");
336  if (m_cutPositionTrackMatchEtaTight_Electron < 0) sc = StatusCode::FAILURE;
337 
340  m_acceptInfo.addCut(m_cutNameIsolation_Electron, "Track and calorimetric isolation");
341  if (m_cutPositionIsolation_Electron < 0) sc = StatusCode::FAILURE;
342 
345  m_acceptInfo.addCut(m_cutNameClusterIsolation_Electron, "calorimetric isolation only");
346  if (m_cutPositionClusterIsolation_Electron < 0) sc = StatusCode::FAILURE;
347 
350  m_acceptInfo.addCut(m_cutNameTrackIsolation_Electron, "track isolation only");
351  if (m_cutPositionTrackIsolation_Electron < 0) sc = StatusCode::FAILURE;
352 
353  if (sc == StatusCode::FAILURE) {
354  ATH_MSG_ERROR("Exceeded the number of allowed cuts in TElectronIsEMSelector");
355  }
356 
357  return sc;
358 }

â—† initMessaging()

void AthMessaging::initMessaging ( ) const
privateinherited

Initialize our message level and MessageSvc.

This method should only be called once.

Definition at line 39 of file AthMessaging.cxx.

40 {
42  m_lvl = m_imsg ?
43  static_cast<MSG::Level>( m_imsg.load()->outputLevel(m_nm) ) :
44  MSG::INFO;
45 }

â—† msg() [1/2]

MsgStream & asg::AsgMessaging::msg ( ) const
inherited

The standard message stream.

Returns
A reference to the default message stream of this object.

Definition at line 49 of file AsgMessaging.cxx.

49  {
50 #ifndef XAOD_STANDALONE
52 #else // not XAOD_STANDALONE
53  return m_msg;
54 #endif // not XAOD_STANDALONE
55  }

â—† msg() [2/2]

MsgStream & asg::AsgMessaging::msg ( const MSG::Level  lvl) const
inherited

The standard message stream.

Parameters
lvlThe message level to set the stream to
Returns
A reference to the default message stream, set to level "lvl"

Definition at line 57 of file AsgMessaging.cxx.

57  {
58 #ifndef XAOD_STANDALONE
60 #else // not XAOD_STANDALONE
61  m_msg << lvl;
62  return m_msg;
63 #endif // not XAOD_STANDALONE
64  }

â—† msgLvl()

bool asg::AsgMessaging::msgLvl ( const MSG::Level  lvl) const
inherited

Test the output level of the object.

Parameters
lvlThe message level to test against
Returns
boolean Indicting if messages at given level will be printed
true If messages at level "lvl" will be printed

Definition at line 41 of file AsgMessaging.cxx.

41  {
42 #ifndef XAOD_STANDALONE
43  return ::AthMessaging::msgLvl( lvl );
44 #else // not XAOD_STANDALONE
45  return m_msg.msgLevel( lvl );
46 #endif // not XAOD_STANDALONE
47  }

â—† setLevel()

void AthMessaging::setLevel ( MSG::Level  lvl)
inherited

Change the current logging level.

Use this rather than msg().setLevel() for proper operation with MT.

Definition at line 28 of file AthMessaging.cxx.

29 {
30  m_lvl = lvl;
31 }

â—† TrackCut()

unsigned int TElectronIsEMSelector::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

Definition at line 708 of file TElectronIsEMSelector.cxx.

735 {
736  // check the bin number
737  std::vector<int> bins =FindEtEtaBin(et,eta2);
738  int ibin_eta= bins.at(1);
739  int ibin_combined= bins.at(2);
740 
741  if (ibin_eta >= 0 && ibin_combined >= 0) {
742  // Track quality cuts
743  // cuts on number of b-layer hits
744  if (CheckVar(m_cutBL, 1) && m_cutBL[ibin_eta] == 1 &&
746  iflag |= (0x1 << egammaPID::TrackBlayer_Electron);
747  }
748  // cuts on number of pixel hits
749  if (CheckVar(m_cutPi, 1)) {
750  if (nPixHitsPlusDeadSensors < m_cutPi[ibin_eta])
751  iflag |= (0x1 << egammaPID::TrackPixel_Electron);
752  }
753  // cuts on number of precision hits
754  if (CheckVar(m_cutSi, 1)) {
755  if (nSiHitsPlusDeadSensors < m_cutSi[ibin_eta])
756  iflag |= (0x1 << egammaPID::TrackSi_Electron);
757  }
758  // cuts on transverse impact parameter
759  if (CheckVar(m_cutA0, 1)) {
760  if (trackd0 > m_cutA0[ibin_eta])
761  iflag |= (0x1 << egammaPID::TrackA0_Electron);
762  }
763  // cuts on transverse impact parameter for tight selection
764  if (CheckVar(m_cutA0Tight, 1)) {
765  if (trackd0 > m_cutA0Tight[ibin_eta])
766  iflag |= (0x1 << egammaPID::TrackA0Tight_Electron);
767  }
768 
769  // matching (eta,phi) and energy-momentum
770  // cut on Delta Eta and Delta Phi
771  deltaeta = std::abs(deltaeta);
772 
773  if (CheckVar(m_cutDeltaEta, 4)) {
774  if (deltaeta > m_cutDeltaEta[ibin_combined])
775  iflag |= (0x1 << egammaPID::TrackMatchEta_Electron);
776  }
777  if (CheckVar(m_cutminDeltaPhi, 4)) {
778  if (deltaphi < m_cutminDeltaPhi[ibin_combined])
779  iflag |= (0x1 << egammaPID::TrackMatchPhi_Electron);
780  }
781  if (CheckVar(m_cutmaxDeltaPhi, 4)) {
782  if (deltaphi > m_cutmaxDeltaPhi[ibin_combined])
783  iflag |= (0x1 << egammaPID::TrackMatchPhi_Electron);
784  }
785  // cut on Delta Eta for Tight selection
786  if (CheckVar(m_cutDeltaEtaTight, 4)) {
787  if (deltaeta > m_cutDeltaEtaTight[ibin_combined])
788  iflag |= (0x1 << egammaPID::TrackMatchEtaTight_Electron);
789  }
790 
791  // cut on E/p
792  if (CheckVar(m_cutminEp, 4) && CheckVar(m_cutmaxEp, 4)) {
793  if (ep < m_cutminEp[ibin_combined] || ep > m_cutmaxEp[ibin_combined])
794  iflag |= (0x1 << egammaPID::TrackMatchEoverP_Electron);
795  }
796  }
797 
798  // use of Transition Radiation Tracker
799  double rTRT = 0;
800  int nTRTTotal = 0;
801  if (m_useTRTOutliers) {
804  if (m_useTRTXenonHits && (nTRTXenonHits != SummaryTypeNotSet))
805  nTRTTotal = nTRTXenonHits;
806  else
807  nTRTTotal = nTRT + nTRTOutliers;
808 
809  rTRT = (nTRTTotal) > 0
810  ? ((double)(nTRThigh + nTRThighOutliers) / (nTRTTotal))
811  : 0.;
812 
813  } else {
814  rTRT = (nTRT) > 0 ? ((double)(nTRThigh) / (nTRT)) : 0.;
815  nTRTTotal = nTRT;
816  }
817 
818  double DeltaNum = -100;
819  // coefficients to aproximate Number of TRT hits:
820  // zone 0: eta<0.1 parabolic
821  const double a0 = 33.14 ; const double b0 = -129.1 ; const double c0 = 1455.;
822  // zone 1: eta<0.625 cubic
823  const double a1 = 29.42 ; const double b1 = 27.93 ; const double c1 = -89.96; const double d1 = 91.51;
824  // zone 2: eta<1.07 parabolic
825  const double a2 = 196.3; const double b2 = -403.; const double c2 = 230.2;
826  // zone 3: eta <1.304 linear
827  const double a3 = -10.59; const double b3 = 37.29;
828  // zone 4: eta <1.752 cubic
829  const double a4 = -640.9; const double b4 = 1323.; const double c4 = -851.8; const double d4 = 180.8;
830  // zone 5: eta <2.0 linear
831  const double a5 = 159.8; const double b5 = -70.9;
832 
833  int ibin_eta_TRT = -1;
834  //We have an array
835  //[0.1; 0.625; 1.07; 1.304; 1.752; 2.0]
836  //Above 2.0 we do not have a TRT ,
837  //so valid values will be 0 -5 in the above case
838  if (!m_cutBinEta_TRT.empty()&& eta2<m_cutBinEta_TRT.back()) {
839  const int numBins = (m_cutBinEta_TRT.size()-1);
840  int ibinEta = 0;
841  while (ibinEta < numBins && eta2 > m_cutBinEta_TRT[ibinEta]) {
842  ++ibinEta;
843  }
844  ibin_eta_TRT = ibinEta;
845  }
846 
847  if (ibin_eta_TRT >= 0) {
848  switch (ibin_eta_TRT) {
849  case 0: {
850  DeltaNum = nTRTTotal - (a0 + b0 * eta2 + c0 * eta2 * eta2);
851  } break;
852  case 1: {
853  DeltaNum = nTRTTotal - (a1 + b1 * eta2 + c1 * eta2 * eta2 +
854  d1 * eta2 * eta2 * eta2);
855  } break;
856  case 2: {
857  DeltaNum = nTRTTotal - (a2 + b2 * eta2 + c2 * eta2 * eta2);
858  } break;
859  case 3: {
860  DeltaNum = nTRTTotal - (a3 + b3 * eta2);
861  } break;
862  case 4: {
863  DeltaNum = nTRTTotal - (a4 + b4 * eta2 + c4 * eta2 * eta2 +
864  d4 * eta2 * eta2 * eta2);
865  } break;
866  case 5: {
867  DeltaNum = nTRTTotal - (a5 + b5 * eta2);
868  }
869  }
870 
871  if (CheckVar(m_cutNumTRT, 2)) {
872  if (DeltaNum < m_cutNumTRT[ibin_eta_TRT]) {
873  iflag |= (0x1 << egammaPID::TrackTRThits_Electron);
874  }
875  }
876 
877  int ibin_et_TRT = -1;
878  // loop on ET range
879  if (!m_cutBinET_TRT.empty()) {
880  const int numBins = m_cutBinET_TRT.size();
881  int ibinET = 0;
882  while (ibinET < numBins && et > m_cutBinET_TRT[ibinET]) {
883  ++ibinET;
884  }
885  ibin_et_TRT = ibinET;
886  }
887 
888  int ibin_combined_TRT =ibin_eta_TRT;
889  if(ibin_et_TRT>0){
890  ibin_combined_TRT =ibin_et_TRT*m_cutBinEta_TRT.size()+ibin_eta_TRT;
891  }
892 
894  ATH_MSG_WARNING("We apply both: TRT ratio and eProbabilityHT cuts, are "
895  "you sure you want that, if yes good luck");
896  }
897 
898  if (CheckVar(m_cutEProbabilityHT, 5)) {
899 
900  if (TRT_PID < m_cutEProbabilityHT[ibin_combined_TRT] && nTRTTotal > 0) {
902  }
903  }
904 
905  if (CheckVar(m_cutTRTRatio,5)) {
906 
907  if (rTRT < m_cutTRTRatio[ibin_combined_TRT] && nTRTTotal > 0) {
908  iflag |= (0x1 << egammaPID::TrackTRTratio_Electron);
909  }
910  }
911 
912  if (CheckVar(m_cutTRTRatio90, 5)) { // not really used
913  if (rTRT < m_cutTRTRatio90[ibin_combined_TRT]) {
914  iflag |= (0x1 << egammaPID::TrackTRTratio90_Electron);
915  }
916  }
917  } // eta TRT
918 
919  return iflag;
920 }

Friends And Related Function Documentation

â—† ::AsgElectronIsEMSelector

friend class ::AsgElectronIsEMSelector
friend

Definition at line 35 of file TElectronIsEMSelector.h.

Member Data Documentation

â—† ATLAS_THREAD_SAFE

std::atomic_flag m_initialized AthMessaging::ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT
mutableprivateinherited

Messaging initialized (initMessaging)

Definition at line 141 of file AthMessaging.h.

â—† m_acceptInfo

asg::AcceptInfo Root::TElectronIsEMSelector::m_acceptInfo
private

Accept info.

Definition at line 331 of file TElectronIsEMSelector.h.

â—† m_cutA0

std::vector<float> Root::TElectronIsEMSelector::m_cutA0

cut min on transverse impact parameter for e-ID

Definition at line 288 of file TElectronIsEMSelector.h.

â—† m_cutA0Tight

std::vector<float> Root::TElectronIsEMSelector::m_cutA0Tight

cut min on transverse impact parameter for Tight e-ID

Definition at line 290 of file TElectronIsEMSelector.h.

â—† m_cutBinET

std::vector<float> Root::TElectronIsEMSelector::m_cutBinET

range of ET bins for e-ID

Definition at line 254 of file TElectronIsEMSelector.h.

â—† m_cutBinET_TRT

std::vector<float> Root::TElectronIsEMSelector::m_cutBinET_TRT

Et binning for cuts on TRT for e-ID.

Definition at line 307 of file TElectronIsEMSelector.h.

â—† m_cutBinEta

std::vector<float> Root::TElectronIsEMSelector::m_cutBinEta

range of eta bins for e-ID

Definition at line 252 of file TElectronIsEMSelector.h.

â—† m_cutBinEta_TRT

std::vector<float> Root::TElectronIsEMSelector::m_cutBinEta_TRT

Eta binning for cuts on TRT for e-ID.

Definition at line 305 of file TElectronIsEMSelector.h.

â—† m_cutBL

std::vector<int> Root::TElectronIsEMSelector::m_cutBL

cut min on b-layer hits for e-ID

Definition at line 282 of file TElectronIsEMSelector.h.

â—† m_cutDeltaE

std::vector<float> Root::TElectronIsEMSelector::m_cutDeltaE

cut on Emax2 - Emin in 1st sampling for e-ID

Definition at line 268 of file TElectronIsEMSelector.h.

â—† m_cutDeltaEmax2

std::vector<float> Root::TElectronIsEMSelector::m_cutDeltaEmax2

cut on Delta Emax2 in 1st sampling for e-ID

Definition at line 266 of file TElectronIsEMSelector.h.

â—† m_cutDeltaEta

std::vector<float> Root::TElectronIsEMSelector::m_cutDeltaEta

cut max on delta eta for e-ID

Definition at line 292 of file TElectronIsEMSelector.h.

â—† m_cutDeltaEtaTight

std::vector<float> Root::TElectronIsEMSelector::m_cutDeltaEtaTight

cut max on delta eta for Tight e-ID

Definition at line 294 of file TElectronIsEMSelector.h.

â—† m_cutDEmaxs1

std::vector<float> Root::TElectronIsEMSelector::m_cutDEmaxs1

cut on (Emax1-Emax2)/(Emax1-Emax2) for e-ID

Definition at line 270 of file TElectronIsEMSelector.h.

â—† m_cutEProbabilityHT

std::vector<float> Root::TElectronIsEMSelector::m_cutEProbabilityHT

cut on on eProbabilityHT new TRT PID tool

Definition at line 315 of file TElectronIsEMSelector.h.

â—† m_cutF1

std::vector<float> Root::TElectronIsEMSelector::m_cutF1

cut on fraction of energy deposited in 1st sampling for e-ID

Definition at line 256 of file TElectronIsEMSelector.h.

â—† m_cutF3

std::vector<float> Root::TElectronIsEMSelector::m_cutF3

cut values for cut on f3

Definition at line 279 of file TElectronIsEMSelector.h.

â—† m_cutFracm

std::vector<float> Root::TElectronIsEMSelector::m_cutFracm

cut on Fside in 1st sampling for e-ID

Definition at line 276 of file TElectronIsEMSelector.h.

â—† m_cutHadLeakage

std::vector<float> Root::TElectronIsEMSelector::m_cutHadLeakage

cut on hadronic energy for e-ID

Definition at line 258 of file TElectronIsEMSelector.h.

â—† m_cutmaxDeltaPhi

std::vector<float> Root::TElectronIsEMSelector::m_cutmaxDeltaPhi

cut max on delta phi for e-ID

Definition at line 298 of file TElectronIsEMSelector.h.

â—† m_cutmaxEp

std::vector<float> Root::TElectronIsEMSelector::m_cutmaxEp

cut max on E/p for e-ID

Definition at line 302 of file TElectronIsEMSelector.h.

â—† m_cutminDeltaPhi

std::vector<float> Root::TElectronIsEMSelector::m_cutminDeltaPhi

cut min on delta phi for e-ID (this should be negative)

Definition at line 296 of file TElectronIsEMSelector.h.

â—† m_cutminEp

std::vector<float> Root::TElectronIsEMSelector::m_cutminEp

cut min on E/p for e-ID

Definition at line 300 of file TElectronIsEMSelector.h.

â—† m_cutNameClusterBackEnergyFraction_Electron

const std::string Root::TElectronIsEMSelector::m_cutNameClusterBackEnergyFraction_Electron
private

energy fraction in the third layer

Definition at line 426 of file TElectronIsEMSelector.h.

â—† m_cutNameClusterEtaRange_Electron

const std::string Root::TElectronIsEMSelector::m_cutNameClusterEtaRange_Electron
private

cluster eta range

Definition at line 409 of file TElectronIsEMSelector.h.

â—† m_cutNameClusterHadronicLeakage_Electron

const std::string Root::TElectronIsEMSelector::m_cutNameClusterHadronicLeakage_Electron
private

cluster leakage into the hadronic calorimeter

Definition at line 415 of file TElectronIsEMSelector.h.

â—† m_cutNameClusterIsolation_Electron

const std::string Root::TElectronIsEMSelector::m_cutNameClusterIsolation_Electron
private

calorimetric isolation

Definition at line 475 of file TElectronIsEMSelector.h.

â—† m_cutNameClusterMiddleEnergy_Electron

const std::string Root::TElectronIsEMSelector::m_cutNameClusterMiddleEnergy_Electron
private

energy in 2nd sampling (e.g E277>0)

Definition at line 417 of file TElectronIsEMSelector.h.

â—† m_cutNameClusterMiddleEratio33_Electron

const std::string Root::TElectronIsEMSelector::m_cutNameClusterMiddleEratio33_Electron
private

energy ratio in 2nd sampling (e.g E233/E237)

Definition at line 421 of file TElectronIsEMSelector.h.

â—† m_cutNameClusterMiddleEratio37_Electron

const std::string Root::TElectronIsEMSelector::m_cutNameClusterMiddleEratio37_Electron
private

energy ratio in 2nd sampling (e.g E237/E277)

Definition at line 419 of file TElectronIsEMSelector.h.

â—† m_cutNameClusterMiddleWidth_Electron

const std::string Root::TElectronIsEMSelector::m_cutNameClusterMiddleWidth_Electron
private

width in the second sampling (e.g Weta2)

Definition at line 423 of file TElectronIsEMSelector.h.

â—† m_cutNameClusterStripsDeltaE_Electron

const std::string Root::TElectronIsEMSelector::m_cutNameClusterStripsDeltaE_Electron
private

difference between 2nd maximum and 1st minimum in strips (e2tsts1-emins1)

Definition at line 433 of file TElectronIsEMSelector.h.

â—† m_cutNameClusterStripsDeltaEmax2_Electron

const std::string Root::TElectronIsEMSelector::m_cutNameClusterStripsDeltaEmax2_Electron
private

energy of 2nd maximum in 1st sampling ~e2tsts1/(1000+const_lumi*et)

Definition at line 431 of file TElectronIsEMSelector.h.

â—† m_cutNameClusterStripsDEmaxs1_Electron

const std::string Root::TElectronIsEMSelector::m_cutNameClusterStripsDEmaxs1_Electron
private

difference between max and 2nd max in strips

Definition at line 442 of file TElectronIsEMSelector.h.

â—† m_cutNameClusterStripsEratio_Electron

const std::string Root::TElectronIsEMSelector::m_cutNameClusterStripsEratio_Electron
private

fraction of energy found in 1st sampling (NB: not used in fact for electrons)

Definition at line 429 of file TElectronIsEMSelector.h.

â—† m_cutNameClusterStripsFracm_Electron

const std::string Root::TElectronIsEMSelector::m_cutNameClusterStripsFracm_Electron
private

shower shape in shower core 1st sampling

Definition at line 437 of file TElectronIsEMSelector.h.

â—† m_cutNameClusterStripsWeta1c_Electron

const std::string Root::TElectronIsEMSelector::m_cutNameClusterStripsWeta1c_Electron
private

shower width weighted by distance from the maximum one

Definition at line 439 of file TElectronIsEMSelector.h.

â—† m_cutNameClusterStripsWtot_Electron

const std::string Root::TElectronIsEMSelector::m_cutNameClusterStripsWtot_Electron
private

shower width in 1st sampling

Definition at line 435 of file TElectronIsEMSelector.h.

â—† m_cutNameConversionMatch_Electron

const std::string Root::TElectronIsEMSelector::m_cutNameConversionMatch_Electron
private

matching to photon (not necessarily conversion–the name is historical)

Definition at line 412 of file TElectronIsEMSelector.h.

â—† m_cutNameIsolation_Electron

const std::string Root::TElectronIsEMSelector::m_cutNameIsolation_Electron
private

isolation

Definition at line 473 of file TElectronIsEMSelector.h.

â—† m_cutNameTrackA0_Electron

const std::string Root::TElectronIsEMSelector::m_cutNameTrackA0_Electron
private

distance of closet approach

Definition at line 450 of file TElectronIsEMSelector.h.

â—† m_cutNameTrackA0Tight_Electron

const std::string Root::TElectronIsEMSelector::m_cutNameTrackA0Tight_Electron
private

distance of closet approach for tight selection (not to be used in new ++ menus)

Definition at line 467 of file TElectronIsEMSelector.h.

â—† m_cutNameTrackBlayer_Electron

const std::string Root::TElectronIsEMSelector::m_cutNameTrackBlayer_Electron
private

B layer hit.

Definition at line 444 of file TElectronIsEMSelector.h.

â—† m_cutNameTrackIsolation_Electron

const std::string Root::TElectronIsEMSelector::m_cutNameTrackIsolation_Electron
private

tracker isolation

Definition at line 477 of file TElectronIsEMSelector.h.

â—† m_cutNameTrackMatchEoverP_Electron

const std::string Root::TElectronIsEMSelector::m_cutNameTrackMatchEoverP_Electron
private

energy-momentum match

Definition at line 456 of file TElectronIsEMSelector.h.

â—† m_cutNameTrackMatchEta_Electron

const std::string Root::TElectronIsEMSelector::m_cutNameTrackMatchEta_Electron
private

eta difference between cluster and extrapolated track in the 1st sampling

Definition at line 452 of file TElectronIsEMSelector.h.

â—† m_cutNameTrackMatchEtaTight_Electron

const std::string Root::TElectronIsEMSelector::m_cutNameTrackMatchEtaTight_Electron
private

eta difference between cluster and extrapolated track in the 1st sampling for tight selection (not to be used in new ++ menus)

Definition at line 470 of file TElectronIsEMSelector.h.

â—† m_cutNameTrackMatchPhi_Electron

const std::string Root::TElectronIsEMSelector::m_cutNameTrackMatchPhi_Electron
private

phi difference between cluster and extrapolated track in the 2nd sampling

Definition at line 454 of file TElectronIsEMSelector.h.

â—† m_cutNameTrackPixel_Electron

const std::string Root::TElectronIsEMSelector::m_cutNameTrackPixel_Electron
private

number of Pixel hits

Definition at line 446 of file TElectronIsEMSelector.h.

â—† m_cutNameTrackSi_Electron

const std::string Root::TElectronIsEMSelector::m_cutNameTrackSi_Electron
private

number of Pixel and SCT hits

Definition at line 448 of file TElectronIsEMSelector.h.

â—† m_cutNameTrackTRTeProbabilityHT_Electron

const std::string Root::TElectronIsEMSelector::m_cutNameTrackTRTeProbabilityHT_Electron
private

Cut on the TRT eProbabilityHT_Electron.

Definition at line 458 of file TElectronIsEMSelector.h.

â—† m_cutNameTrackTRThits_Electron

const std::string Root::TElectronIsEMSelector::m_cutNameTrackTRThits_Electron
private

number of TRT hits

Definition at line 460 of file TElectronIsEMSelector.h.

â—† m_cutNameTrackTRTratio90_Electron

const std::string Root::TElectronIsEMSelector::m_cutNameTrackTRTratio90_Electron
private

ratio of high to all TRT hits for non-isolated electrons (not for new ++ menus)

Definition at line 464 of file TElectronIsEMSelector.h.

â—† m_cutNameTrackTRTratio_Electron

const std::string Root::TElectronIsEMSelector::m_cutNameTrackTRTratio_Electron
private

ratio of high to all TRT hits for isolated electrons

Definition at line 462 of file TElectronIsEMSelector.h.

â—† m_cutNumTRT

std::vector<float> Root::TElectronIsEMSelector::m_cutNumTRT

cut on Number of TRT hits for e-ID

Definition at line 309 of file TElectronIsEMSelector.h.

â—† m_cutPi

std::vector<int> Root::TElectronIsEMSelector::m_cutPi

cut min on pixel hits for e-ID

Definition at line 284 of file TElectronIsEMSelector.h.

â—† m_cutPositionClusterBackEnergyFraction_Electron

int Root::TElectronIsEMSelector::m_cutPositionClusterBackEnergyFraction_Electron
private

energy fraction in the third layer

Definition at line 353 of file TElectronIsEMSelector.h.

â—† m_cutPositionClusterEtaRange_Electron

int Root::TElectronIsEMSelector::m_cutPositionClusterEtaRange_Electron
private

cluster eta range

Definition at line 336 of file TElectronIsEMSelector.h.

â—† m_cutPositionClusterHadronicLeakage_Electron

int Root::TElectronIsEMSelector::m_cutPositionClusterHadronicLeakage_Electron
private

cluster leakage into the hadronic calorimeter

Definition at line 342 of file TElectronIsEMSelector.h.

â—† m_cutPositionClusterIsolation_Electron

int Root::TElectronIsEMSelector::m_cutPositionClusterIsolation_Electron
private

calorimetric isolation

Definition at line 402 of file TElectronIsEMSelector.h.

â—† m_cutPositionClusterMiddleEnergy_Electron

int Root::TElectronIsEMSelector::m_cutPositionClusterMiddleEnergy_Electron
private

Et<0 cut.

Definition at line 344 of file TElectronIsEMSelector.h.

â—† m_cutPositionClusterMiddleEratio33_Electron

int Root::TElectronIsEMSelector::m_cutPositionClusterMiddleEratio33_Electron
private

energy ratio in 2nd sampling (e.g E233/E237)

Definition at line 348 of file TElectronIsEMSelector.h.

â—† m_cutPositionClusterMiddleEratio37_Electron

int Root::TElectronIsEMSelector::m_cutPositionClusterMiddleEratio37_Electron
private

energy ratio in 2nd sampling (e.g E237/E277)

Definition at line 346 of file TElectronIsEMSelector.h.

â—† m_cutPositionClusterMiddleWidth_Electron

int Root::TElectronIsEMSelector::m_cutPositionClusterMiddleWidth_Electron
private

width in the second sampling (e.g Weta2)

Definition at line 350 of file TElectronIsEMSelector.h.

â—† m_cutPositionClusterStripsDeltaE_Electron

int Root::TElectronIsEMSelector::m_cutPositionClusterStripsDeltaE_Electron
private

difference between 2nd maximum and 1st minimum in strips (e2tsts1-emins1)

Definition at line 360 of file TElectronIsEMSelector.h.

â—† m_cutPositionClusterStripsDeltaEmax2_Electron

int Root::TElectronIsEMSelector::m_cutPositionClusterStripsDeltaEmax2_Electron
private

energy of 2nd maximum in 1st sampling ~e2tsts1/(1000+const_lumi*et)

Definition at line 358 of file TElectronIsEMSelector.h.

â—† m_cutPositionClusterStripsDEmaxs1_Electron

int Root::TElectronIsEMSelector::m_cutPositionClusterStripsDEmaxs1_Electron
private

difference between max and 2nd max in strips

Definition at line 369 of file TElectronIsEMSelector.h.

â—† m_cutPositionClusterStripsEratio_Electron

int Root::TElectronIsEMSelector::m_cutPositionClusterStripsEratio_Electron
private

fraction of energy found in 1st sampling (NB: not used in fact for electrons)

Definition at line 356 of file TElectronIsEMSelector.h.

â—† m_cutPositionClusterStripsFracm_Electron

int Root::TElectronIsEMSelector::m_cutPositionClusterStripsFracm_Electron
private

shower shape in shower core 1st sampling

Definition at line 364 of file TElectronIsEMSelector.h.

â—† m_cutPositionClusterStripsWeta1c_Electron

int Root::TElectronIsEMSelector::m_cutPositionClusterStripsWeta1c_Electron
private

shower width weighted by distance from the maximum one

Definition at line 366 of file TElectronIsEMSelector.h.

â—† m_cutPositionClusterStripsWtot_Electron

int Root::TElectronIsEMSelector::m_cutPositionClusterStripsWtot_Electron
private

shower width in 1st sampling

Definition at line 362 of file TElectronIsEMSelector.h.

â—† m_cutPositionConversionMatch_Electron

int Root::TElectronIsEMSelector::m_cutPositionConversionMatch_Electron
private

matching to photon (not necessarily conversion–the name is historical)

Definition at line 339 of file TElectronIsEMSelector.h.

â—† m_cutPositionIsolation_Electron

int Root::TElectronIsEMSelector::m_cutPositionIsolation_Electron
private

isolation

Definition at line 400 of file TElectronIsEMSelector.h.

â—† m_cutPositionTrackA0_Electron

int Root::TElectronIsEMSelector::m_cutPositionTrackA0_Electron
private

distance of closet approach

Definition at line 377 of file TElectronIsEMSelector.h.

â—† m_cutPositionTrackA0Tight_Electron

int Root::TElectronIsEMSelector::m_cutPositionTrackA0Tight_Electron
private

distance of closet approach for tight selection (not to be used in new ++ menus)

Definition at line 394 of file TElectronIsEMSelector.h.

â—† m_cutPositionTrackBlayer_Electron

int Root::TElectronIsEMSelector::m_cutPositionTrackBlayer_Electron
private

B layer hit.

Definition at line 371 of file TElectronIsEMSelector.h.

â—† m_cutPositionTrackIsolation_Electron

int Root::TElectronIsEMSelector::m_cutPositionTrackIsolation_Electron
private

tracker isolation

Definition at line 404 of file TElectronIsEMSelector.h.

â—† m_cutPositionTrackMatchEoverP_Electron

int Root::TElectronIsEMSelector::m_cutPositionTrackMatchEoverP_Electron
private

energy-momentum match

Definition at line 383 of file TElectronIsEMSelector.h.

â—† m_cutPositionTrackMatchEta_Electron

int Root::TElectronIsEMSelector::m_cutPositionTrackMatchEta_Electron
private

eta difference between cluster and extrapolated track in the 1st sampling

Definition at line 379 of file TElectronIsEMSelector.h.

â—† m_cutPositionTrackMatchEtaTight_Electron

int Root::TElectronIsEMSelector::m_cutPositionTrackMatchEtaTight_Electron
private

eta difference between cluster and extrapolated track in the 1st sampling for tight selection (not to be used in new ++ menus)

Definition at line 397 of file TElectronIsEMSelector.h.

â—† m_cutPositionTrackMatchPhi_Electron

int Root::TElectronIsEMSelector::m_cutPositionTrackMatchPhi_Electron
private

phi difference between cluster and extrapolated track in the 2nd sampling

Definition at line 381 of file TElectronIsEMSelector.h.

â—† m_cutPositionTrackPixel_Electron

int Root::TElectronIsEMSelector::m_cutPositionTrackPixel_Electron
private

number of Pixel hits

Definition at line 373 of file TElectronIsEMSelector.h.

â—† m_cutPositionTrackSi_Electron

int Root::TElectronIsEMSelector::m_cutPositionTrackSi_Electron
private

number of Pixel and SCT hits

Definition at line 375 of file TElectronIsEMSelector.h.

â—† m_cutPositionTrackTRTeProbabilityHT_Electron

int Root::TElectronIsEMSelector::m_cutPositionTrackTRTeProbabilityHT_Electron
private

Cut on the TRT eProbabilityHT_Electron.

Definition at line 385 of file TElectronIsEMSelector.h.

â—† m_cutPositionTrackTRThits_Electron

int Root::TElectronIsEMSelector::m_cutPositionTrackTRThits_Electron
private

number of TRT hits

Definition at line 387 of file TElectronIsEMSelector.h.

â—† m_cutPositionTrackTRTratio90_Electron

int Root::TElectronIsEMSelector::m_cutPositionTrackTRTratio90_Electron
private

ratio of high to all TRT hits for non-isolated electrons (not for new ++ menus)

Definition at line 391 of file TElectronIsEMSelector.h.

â—† m_cutPositionTrackTRTratio_Electron

int Root::TElectronIsEMSelector::m_cutPositionTrackTRTratio_Electron
private

ratio of high to all TRT hits for isolated electrons

Definition at line 389 of file TElectronIsEMSelector.h.

â—† m_cutReta37

std::vector<float> Root::TElectronIsEMSelector::m_cutReta37

cut on ratio e237/e277 for e-ID

Definition at line 260 of file TElectronIsEMSelector.h.

â—† m_cutRphi33

std::vector<float> Root::TElectronIsEMSelector::m_cutRphi33

cut on ratio e233/e277 for e-ID

Definition at line 262 of file TElectronIsEMSelector.h.

â—† m_cutSi

std::vector<int> Root::TElectronIsEMSelector::m_cutSi

cut min on precision hits for e-ID

Definition at line 286 of file TElectronIsEMSelector.h.

â—† m_cutTRTRatio

std::vector<float> Root::TElectronIsEMSelector::m_cutTRTRatio

cut on Ratio of TR hits to Number of TRT hits for e-ID

Definition at line 311 of file TElectronIsEMSelector.h.

â—† m_cutTRTRatio90

std::vector<float> Root::TElectronIsEMSelector::m_cutTRTRatio90

cut on Ratio of TR hits to Number of TRT hits for 10% loss due to TRT

Definition at line 313 of file TElectronIsEMSelector.h.

â—† m_cutWeta1c

std::vector<float> Root::TElectronIsEMSelector::m_cutWeta1c

cut on width in 1st sampling for e-ID

Definition at line 274 of file TElectronIsEMSelector.h.

â—† m_cutWeta2c

std::vector<float> Root::TElectronIsEMSelector::m_cutWeta2c

cut on shower width in 2nd sampling for e-ID

Definition at line 264 of file TElectronIsEMSelector.h.

â—† m_cutWtot

std::vector<float> Root::TElectronIsEMSelector::m_cutWtot

cut on total width in 1st sampling for e-ID

Definition at line 272 of file TElectronIsEMSelector.h.

â—† m_imsg

std::atomic<IMessageSvc*> AthMessaging::m_imsg { nullptr }
mutableprivateinherited

MessageSvc pointer.

Definition at line 135 of file AthMessaging.h.

â—† m_isEMMask

unsigned int Root::TElectronIsEMSelector::m_isEMMask

which subset of cuts to apply

Definition at line 244 of file TElectronIsEMSelector.h.

â—† m_lvl

std::atomic<MSG::Level> AthMessaging::m_lvl { MSG::NIL }
mutableprivateinherited

Current logging level.

Definition at line 138 of file AthMessaging.h.

â—† m_msg_tls

boost::thread_specific_ptr<MsgStream> AthMessaging::m_msg_tls
mutableprivateinherited

MsgStream instance (a std::cout like with print-out levels)

Definition at line 132 of file AthMessaging.h.

â—† m_nm

std::string AthMessaging::m_nm
privateinherited

Message source name.

Definition at line 129 of file AthMessaging.h.

â—† m_useTRTOutliers

bool Root::TElectronIsEMSelector::m_useTRTOutliers

use of TRT outliers

Definition at line 247 of file TElectronIsEMSelector.h.

â—† m_useTRTXenonHits

bool Root::TElectronIsEMSelector::m_useTRTXenonHits

use of TRT Xenon Hits

Definition at line 249 of file TElectronIsEMSelector.h.


The documentation for this class was generated from the following files:
Root::TElectronIsEMSelector::m_cutNameClusterIsolation_Electron
const std::string m_cutNameClusterIsolation_Electron
calorimetric isolation
Definition: TElectronIsEMSelector.h:475
egammaPID::ClusterMiddleEratio37_Electron
@ ClusterMiddleEratio37_Electron
energy ratio in 2nd sampling (e.g E237/E277)
Definition: egammaPIDdefs.h:104
AthMessaging::m_lvl
std::atomic< MSG::Level > m_lvl
Current logging level.
Definition: AthMessaging.h:138
Root::TElectronIsEMSelector::m_cutmaxDeltaPhi
std::vector< float > m_cutmaxDeltaPhi
cut max on delta phi for e-ID
Definition: TElectronIsEMSelector.h:298
Root::TElectronIsEMSelector::m_cutNameTrackA0Tight_Electron
const std::string m_cutNameTrackA0Tight_Electron
distance of closet approach for tight selection (not to be used in new ++ menus)
Definition: TElectronIsEMSelector.h:467
Root::TElectronIsEMSelector::m_cutTRTRatio
std::vector< float > m_cutTRTRatio
cut on Ratio of TR hits to Number of TRT hits for e-ID
Definition: TElectronIsEMSelector.h:311
et
Extra patterns decribing particle interation process.
Root::TElectronIsEMSelector::m_cutNameClusterStripsFracm_Electron
const std::string m_cutNameClusterStripsFracm_Electron
shower shape in shower core 1st sampling
Definition: TElectronIsEMSelector.h:437
egammaPID::TrackSi_Electron
@ TrackSi_Electron
number of Pixel and SCT hits
Definition: egammaPIDdefs.h:130
Root::TElectronIsEMSelector::m_cutSi
std::vector< int > m_cutSi
cut min on precision hits for e-ID
Definition: TElectronIsEMSelector.h:286
Root::TElectronIsEMSelector::m_cutBinET_TRT
std::vector< float > m_cutBinET_TRT
Et binning for cuts on TRT for e-ID.
Definition: TElectronIsEMSelector.h:307
Root::TElectronIsEMSelector::m_cutPositionTrackBlayer_Electron
int m_cutPositionTrackBlayer_Electron
B layer hit.
Definition: TElectronIsEMSelector.h:371
Root::TElectronIsEMSelector::m_cutNameClusterMiddleEratio33_Electron
const std::string m_cutNameClusterMiddleEratio33_Electron
energy ratio in 2nd sampling (e.g E233/E237)
Definition: TElectronIsEMSelector.h:421
Root::TElectronIsEMSelector::m_cutPositionClusterHadronicLeakage_Electron
int m_cutPositionClusterHadronicLeakage_Electron
cluster leakage into the hadronic calorimeter
Definition: TElectronIsEMSelector.h:342
ParticleGun_SamplingFraction.eta2
eta2
Definition: ParticleGun_SamplingFraction.py:96
Root::TElectronIsEMSelector::m_cutPi
std::vector< int > m_cutPi
cut min on pixel hits for e-ID
Definition: TElectronIsEMSelector.h:284
egammaPID::TrackTRThits_Electron
@ TrackTRThits_Electron
number of TRT hits
Definition: egammaPIDdefs.h:142
xAOD::EgammaParameters::Reta
@ Reta
e237/e277
Definition: EgammaEnums.h:154
egammaPID::TrackA0_Electron
@ TrackA0_Electron
distance of closet approach
Definition: egammaPIDdefs.h:132
egammaPID::TrackMatchEta_Electron
@ TrackMatchEta_Electron
eta difference between cluster and extrapolated track in the 1st sampling
Definition: egammaPIDdefs.h:134
Root::TElectronIsEMSelector::m_cutPositionTrackA0Tight_Electron
int m_cutPositionTrackA0Tight_Electron
distance of closet approach for tight selection (not to be used in new ++ menus)
Definition: TElectronIsEMSelector.h:394
xAOD::et
et
Definition: TrigEMCluster_v1.cxx:25
Root::TElectronIsEMSelector::m_cutPositionTrackTRThits_Electron
int m_cutPositionTrackTRThits_Electron
number of TRT hits
Definition: TElectronIsEMSelector.h:387
egammaPID::TrackPixel_Electron
@ TrackPixel_Electron
number of Pixel hits
Definition: egammaPIDdefs.h:128
Root::TElectronIsEMSelector::m_cutNameConversionMatch_Electron
const std::string m_cutNameConversionMatch_Electron
matching to photon (not necessarily conversion–the name is historical)
Definition: TElectronIsEMSelector.h:412
egammaPID::ClusterMiddleEnergy_Electron
@ ClusterMiddleEnergy_Electron
energy in 2nd sampling (e.g E277>0)
Definition: egammaPIDdefs.h:102
extractSporadic.c1
c1
Definition: extractSporadic.py:134
Root::TElectronIsEMSelector::m_cutNumTRT
std::vector< float > m_cutNumTRT
cut on Number of TRT hits for e-ID
Definition: TElectronIsEMSelector.h:309
egammaPID::TrackTRTratio90_Electron
@ TrackTRTratio90_Electron
ratio of high to all TRT hits for non-isolated electrons (not for new ++ menus)
Definition: egammaPIDdefs.h:146
Root::TElectronIsEMSelector::m_cutPositionClusterStripsDEmaxs1_Electron
int m_cutPositionClusterStripsDEmaxs1_Electron
difference between max and 2nd max in strips
Definition: TElectronIsEMSelector.h:369
Root::TElectronIsEMSelector::m_cutNameTrackMatchEoverP_Electron
const std::string m_cutNameTrackMatchEoverP_Electron
energy-momentum match
Definition: TElectronIsEMSelector.h:456
egammaPID::ClusterEtaRange_Electron
@ ClusterEtaRange_Electron
cluster eta range
Definition: egammaPIDdefs.h:96
Root::TElectronIsEMSelector::m_cutNameIsolation_Electron
const std::string m_cutNameIsolation_Electron
isolation
Definition: TElectronIsEMSelector.h:473
dq_defect_virtual_defect_validation.d1
d1
Definition: dq_defect_virtual_defect_validation.py:79
Root::TElectronIsEMSelector::m_cutminDeltaPhi
std::vector< float > m_cutminDeltaPhi
cut min on delta phi for e-ID (this should be negative)
Definition: TElectronIsEMSelector.h:296
Root::TElectronIsEMSelector::m_cutPositionClusterStripsFracm_Electron
int m_cutPositionClusterStripsFracm_Electron
shower shape in shower core 1st sampling
Definition: TElectronIsEMSelector.h:364
Root::TElectronIsEMSelector::m_acceptInfo
asg::AcceptInfo m_acceptInfo
Accept info.
Definition: TElectronIsEMSelector.h:331
Root::TElectronIsEMSelector::m_cutWeta1c
std::vector< float > m_cutWeta1c
cut on width in 1st sampling for e-ID
Definition: TElectronIsEMSelector.h:274
Root::TElectronIsEMSelector::m_cutNameTrackMatchPhi_Electron
const std::string m_cutNameTrackMatchPhi_Electron
phi difference between cluster and extrapolated track in the 2nd sampling
Definition: TElectronIsEMSelector.h:454
vec
std::vector< size_t > vec
Definition: CombinationsGeneratorTest.cxx:9
xAOD::EgammaParameters::Rphi
@ Rphi
e233/e237
Definition: EgammaEnums.h:156
egammaPID::ClusterStripsFracm_Electron
@ ClusterStripsFracm_Electron
shower shape in shower core 1st sampling
Definition: egammaPIDdefs.h:120
Root::TElectronIsEMSelector::m_cutBinEta_TRT
std::vector< float > m_cutBinEta_TRT
Eta binning for cuts on TRT for e-ID.
Definition: TElectronIsEMSelector.h:305
AthMessaging::m_imsg
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
Definition: AthMessaging.h:135
ElectronSelectorHelpers::passBLayerRequirement
bool passBLayerRequirement(const xAOD::TrackParticle &tp)
return true if effective number of BL hits + outliers is at least one
Definition: ElectronSelectorHelpers.cxx:59
egammaPID::ClusterHadronicLeakage_Electron
@ ClusterHadronicLeakage_Electron
cluster leakage into the hadronic calorimeter
Definition: egammaPIDdefs.h:100
Root::TElectronIsEMSelector::m_cutBinEta
std::vector< float > m_cutBinEta
range of eta bins for e-ID
Definition: TElectronIsEMSelector.h:252
Root::TElectronIsEMSelector::m_cutNameTrackSi_Electron
const std::string m_cutNameTrackSi_Electron
number of Pixel and SCT hits
Definition: TElectronIsEMSelector.h:448
Trk::u
@ u
Enums for curvilinear frames.
Definition: ParamDefs.h:77
Athena::getMessageSvc
IMessageSvc * getMessageSvc(bool quiet=false)
Definition: getMessageSvc.cxx:20
Root::TElectronIsEMSelector::m_cutRphi33
std::vector< float > m_cutRphi33
cut on ratio e233/e277 for e-ID
Definition: TElectronIsEMSelector.h:262
egammaPID::ClusterStripsWeta1c_Electron
@ ClusterStripsWeta1c_Electron
shower width weighted by distance from the maximum one
Definition: egammaPIDdefs.h:122
python.utils.AtlRunQueryLookup.mask
string mask
Definition: AtlRunQueryLookup.py:460
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
Root::TElectronIsEMSelector::m_cutPositionClusterStripsWtot_Electron
int m_cutPositionClusterStripsWtot_Electron
shower width in 1st sampling
Definition: TElectronIsEMSelector.h:362
Root::TElectronIsEMSelector::m_cutNameTrackTRTratio90_Electron
const std::string m_cutNameTrackTRTratio90_Electron
ratio of high to all TRT hits for non-isolated electrons (not for new ++ menus)
Definition: TElectronIsEMSelector.h:464
Root::TElectronIsEMSelector::m_cutNameClusterStripsWeta1c_Electron
const std::string m_cutNameClusterStripsWeta1c_Electron
shower width weighted by distance from the maximum one
Definition: TElectronIsEMSelector.h:439
Root::TElectronIsEMSelector::m_cutNameClusterStripsEratio_Electron
const std::string m_cutNameClusterStripsEratio_Electron
fraction of energy found in 1st sampling (NB: not used in fact for electrons)
Definition: TElectronIsEMSelector.h:429
xAOD::EgammaParameters::f3
@ f3
fraction of energy reconstructed in 3rd sampling
Definition: EgammaEnums.h:54
egammaPID::TrackTRTratio_Electron
@ TrackTRTratio_Electron
ratio of high to all TRT hits for isolated electrons
Definition: egammaPIDdefs.h:144
Root::TElectronIsEMSelector::m_cutPositionTrackTRTeProbabilityHT_Electron
int m_cutPositionTrackTRTeProbabilityHT_Electron
Cut on the TRT eProbabilityHT_Electron.
Definition: TElectronIsEMSelector.h:385
hotSpotInTAG.c0
c0
Definition: hotSpotInTAG.py:192
Root::TElectronIsEMSelector::m_cutNameClusterStripsDEmaxs1_Electron
const std::string m_cutNameClusterStripsDEmaxs1_Electron
difference between max and 2nd max in strips
Definition: TElectronIsEMSelector.h:442
Root::TElectronIsEMSelector::m_cutNameTrackTRTratio_Electron
const std::string m_cutNameTrackTRTratio_Electron
ratio of high to all TRT hits for isolated electrons
Definition: TElectronIsEMSelector.h:462
Root::TElectronIsEMSelector::m_cutPositionTrackMatchEta_Electron
int m_cutPositionTrackMatchEta_Electron
eta difference between cluster and extrapolated track in the 1st sampling
Definition: TElectronIsEMSelector.h:379
Root::TElectronIsEMSelector::m_cutReta37
std::vector< float > m_cutReta37
cut on ratio e237/e277 for e-ID
Definition: TElectronIsEMSelector.h:260
Root::TElectronIsEMSelector::m_useTRTOutliers
bool m_useTRTOutliers
use of TRT outliers
Definition: TElectronIsEMSelector.h:247
TrigConf::MSGTC::Level
Level
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:21
egammaPID::ClusterMiddleWidth_Electron
@ ClusterMiddleWidth_Electron
width in the second sampling (e.g Weta2)
Definition: egammaPIDdefs.h:108
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
Root::TElectronIsEMSelector::m_cutNameTrackMatchEtaTight_Electron
const std::string m_cutNameTrackMatchEtaTight_Electron
eta difference between cluster and extrapolated track in the 1st sampling for tight selection (not to...
Definition: TElectronIsEMSelector.h:470
Root::TElectronIsEMSelector::m_cutEProbabilityHT
std::vector< float > m_cutEProbabilityHT
cut on on eProbabilityHT new TRT PID tool
Definition: TElectronIsEMSelector.h:315
egammaPID::ClusterStripsDEmaxs1_Electron
@ ClusterStripsDEmaxs1_Electron
difference between max and 2nd max in strips
Definition: egammaPIDdefs.h:124
Root::TElectronIsEMSelector::m_cutPositionClusterStripsWeta1c_Electron
int m_cutPositionClusterStripsWeta1c_Electron
shower width weighted by distance from the maximum one
Definition: TElectronIsEMSelector.h:366
Root::TElectronIsEMSelector::m_cutPositionClusterBackEnergyFraction_Electron
int m_cutPositionClusterBackEnergyFraction_Electron
energy fraction in the third layer
Definition: TElectronIsEMSelector.h:353
Root::TElectronIsEMSelector::m_cutPositionClusterMiddleEratio33_Electron
int m_cutPositionClusterMiddleEratio33_Electron
energy ratio in 2nd sampling (e.g E233/E237)
Definition: TElectronIsEMSelector.h:348
Root::TElectronIsEMSelector::m_cutDeltaE
std::vector< float > m_cutDeltaE
cut on Emax2 - Emin in 1st sampling for e-ID
Definition: TElectronIsEMSelector.h:268
lumiFormat.i
int i
Definition: lumiFormat.py:85
Root::TElectronIsEMSelector::m_cutPositionTrackA0_Electron
int m_cutPositionTrackA0_Electron
distance of closet approach
Definition: TElectronIsEMSelector.h:377
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Root::TElectronIsEMSelector::m_cutNameTrackMatchEta_Electron
const std::string m_cutNameTrackMatchEta_Electron
eta difference between cluster and extrapolated track in the 1st sampling
Definition: TElectronIsEMSelector.h:452
Root::TElectronIsEMSelector::m_cutPositionIsolation_Electron
int m_cutPositionIsolation_Electron
isolation
Definition: TElectronIsEMSelector.h:400
Root::TElectronIsEMSelector::m_cutF3
std::vector< float > m_cutF3
cut values for cut on f3
Definition: TElectronIsEMSelector.h:279
egammaPID::TrackA0Tight_Electron
@ TrackA0Tight_Electron
distance of closet approach for tight selection (!! Used in new ++ menus dc14)
Definition: egammaPIDdefs.h:148
Root::TElectronIsEMSelector::m_cutDEmaxs1
std::vector< float > m_cutDEmaxs1
cut on (Emax1-Emax2)/(Emax1-Emax2) for e-ID
Definition: TElectronIsEMSelector.h:270
Root::TElectronIsEMSelector::m_cutDeltaEta
std::vector< float > m_cutDeltaEta
cut max on delta eta for e-ID
Definition: TElectronIsEMSelector.h:292
Root::TElectronIsEMSelector::m_cutNameClusterBackEnergyFraction_Electron
const std::string m_cutNameClusterBackEnergyFraction_Electron
energy fraction in the third layer
Definition: TElectronIsEMSelector.h:426
egammaPID::ClusterBackEnergyFraction_Electron
@ ClusterBackEnergyFraction_Electron
energy fraction in the third layer
Definition: egammaPIDdefs.h:110
plotting.yearwise_luminosity_vs_mu.bins
bins
Definition: yearwise_luminosity_vs_mu.py:30
Root::TElectronIsEMSelector::m_cutminEp
std::vector< float > m_cutminEp
cut min on E/p for e-ID
Definition: TElectronIsEMSelector.h:300
Root::TElectronIsEMSelector::m_cutPositionTrackMatchEtaTight_Electron
int m_cutPositionTrackMatchEtaTight_Electron
eta difference between cluster and extrapolated track in the 1st sampling for tight selection (not to...
Definition: TElectronIsEMSelector.h:397
Root::TElectronIsEMSelector::m_cutPositionTrackMatchPhi_Electron
int m_cutPositionTrackMatchPhi_Electron
phi difference between cluster and extrapolated track in the 2nd sampling
Definition: TElectronIsEMSelector.h:381
a0
double a0
Definition: globals.cxx:27
Root::TElectronIsEMSelector::m_cutNameClusterEtaRange_Electron
const std::string m_cutNameClusterEtaRange_Electron
cluster eta range
Definition: TElectronIsEMSelector.h:409
Root::TElectronIsEMSelector::m_cutNameClusterHadronicLeakage_Electron
const std::string m_cutNameClusterHadronicLeakage_Electron
cluster leakage into the hadronic calorimeter
Definition: TElectronIsEMSelector.h:415
egammaPID::TrackMatchEoverP_Electron
@ TrackMatchEoverP_Electron
energy-momentum match
Definition: egammaPIDdefs.h:138
Root::TElectronIsEMSelector::m_cutPositionClusterStripsDeltaE_Electron
int m_cutPositionClusterStripsDeltaE_Electron
difference between 2nd maximum and 1st minimum in strips (e2tsts1-emins1)
Definition: TElectronIsEMSelector.h:360
xAOD::EgammaParameters::Rhad1
@ Rhad1
ethad1/et
Definition: EgammaEnums.h:162
Root::TElectronIsEMSelector::calocuts_electrons
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
Definition: TElectronIsEMSelector.cxx:564
egammaPID::TrackMatchPhi_Electron
@ TrackMatchPhi_Electron
phi difference between cluster and extrapolated track in the 2nd sampling
Definition: egammaPIDdefs.h:136
Root::TElectronIsEMSelector::m_cutPositionTrackIsolation_Electron
int m_cutPositionTrackIsolation_Electron
tracker isolation
Definition: TElectronIsEMSelector.h:404
Root::TElectronIsEMSelector::m_cutNameTrackIsolation_Electron
const std::string m_cutNameTrackIsolation_Electron
tracker isolation
Definition: TElectronIsEMSelector.h:477
Root::TElectronIsEMSelector::m_cutPositionClusterIsolation_Electron
int m_cutPositionClusterIsolation_Electron
calorimetric isolation
Definition: TElectronIsEMSelector.h:402
Root::TElectronIsEMSelector::m_cutDeltaEtaTight
std::vector< float > m_cutDeltaEtaTight
cut max on delta eta for Tight e-ID
Definition: TElectronIsEMSelector.h:294
Root::TElectronIsEMSelector::m_cutPositionTrackSi_Electron
int m_cutPositionTrackSi_Electron
number of Pixel and SCT hits
Definition: TElectronIsEMSelector.h:375
Root::TElectronIsEMSelector::m_useTRTXenonHits
bool m_useTRTXenonHits
use of TRT Xenon Hits
Definition: TElectronIsEMSelector.h:249
Root::TElectronIsEMSelector::m_cutFracm
std::vector< float > m_cutFracm
cut on Fside in 1st sampling for e-ID
Definition: TElectronIsEMSelector.h:276
Root::TElectronIsEMSelector::m_cutPositionClusterMiddleEratio37_Electron
int m_cutPositionClusterMiddleEratio37_Electron
energy ratio in 2nd sampling (e.g E237/E277)
Definition: TElectronIsEMSelector.h:346
Root::TElectronIsEMSelector::TrackCut
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
Definition: TElectronIsEMSelector.cxx:708
Root::TElectronIsEMSelector::CheckVar
bool CheckVar(const std::vector< T > &vec, int choice) const
Definition: TElectronIsEMSelector.cxx:968
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
asg::AsgMessaging
Class mimicking the AthMessaging class from the offline software.
Definition: AsgMessaging.h:40
Root::TElectronIsEMSelector::m_cutA0Tight
std::vector< float > m_cutA0Tight
cut min on transverse impact parameter for Tight e-ID
Definition: TElectronIsEMSelector.h:290
egammaPID::ClusterStripsDeltaEmax2_Electron
@ ClusterStripsDeltaEmax2_Electron
energy of 2nd maximum in 1st sampling ~e2tsts1/(1000+const_lumi*et)
Definition: egammaPIDdefs.h:114
Root::TElectronIsEMSelector::m_cutPositionClusterMiddleEnergy_Electron
int m_cutPositionClusterMiddleEnergy_Electron
Et<0 cut.
Definition: TElectronIsEMSelector.h:344
Root::TElectronIsEMSelector::m_cutPositionClusterMiddleWidth_Electron
int m_cutPositionClusterMiddleWidth_Electron
width in the second sampling (e.g Weta2)
Definition: TElectronIsEMSelector.h:350
Root::TElectronIsEMSelector::m_cutTRTRatio90
std::vector< float > m_cutTRTRatio90
cut on Ratio of TR hits to Number of TRT hits for 10% loss due to TRT
Definition: TElectronIsEMSelector.h:313
Root::TElectronIsEMSelector::m_cutHadLeakage
std::vector< float > m_cutHadLeakage
cut on hadronic energy for e-ID
Definition: TElectronIsEMSelector.h:258
egammaPID::ClusterStripsDeltaE_Electron
@ ClusterStripsDeltaE_Electron
difference between 2nd maximum and 1st minimum in strips (e2tsts1-emins1)
Definition: egammaPIDdefs.h:116
Root::TElectronIsEMSelector::m_isEMMask
unsigned int m_isEMMask
which subset of cuts to apply
Definition: TElectronIsEMSelector.h:244
Root::TElectronIsEMSelector::FindEtEtaBin
std::vector< int > FindEtEtaBin(double et, double eta2) const
Definition: TElectronIsEMSelector.cxx:922
Root::TElectronIsEMSelector::m_cutPositionClusterStripsEratio_Electron
int m_cutPositionClusterStripsEratio_Electron
fraction of energy found in 1st sampling (NB: not used in fact for electrons)
Definition: TElectronIsEMSelector.h:356
python.DataFormatRates.c2
c2
Definition: DataFormatRates.py:123
Root::TElectronIsEMSelector::m_cutBinET
std::vector< float > m_cutBinET
range of ET bins for e-ID
Definition: TElectronIsEMSelector.h:254
Root::TElectronIsEMSelector::m_cutPositionTrackTRTratio_Electron
int m_cutPositionTrackTRTratio_Electron
ratio of high to all TRT hits for isolated electrons
Definition: TElectronIsEMSelector.h:389
Root::TElectronIsEMSelector::m_cutmaxEp
std::vector< float > m_cutmaxEp
cut max on E/p for e-ID
Definition: TElectronIsEMSelector.h:302
egammaPID::ClusterMiddleEratio33_Electron
@ ClusterMiddleEratio33_Electron
energy ratio in 2nd sampling (e.g E233/E237)
Definition: egammaPIDdefs.h:106
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
AllowedVariables::nPixHitsPlusDeadSensors
@ nPixHitsPlusDeadSensors
Definition: AsgElectronSelectorTool.cxx:57
Root::TElectronIsEMSelector::m_cutNameClusterStripsWtot_Electron
const std::string m_cutNameClusterStripsWtot_Electron
shower width in 1st sampling
Definition: TElectronIsEMSelector.h:435
Root::TElectronIsEMSelector::m_cutDeltaEmax2
std::vector< float > m_cutDeltaEmax2
cut on Delta Emax2 in 1st sampling for e-ID
Definition: TElectronIsEMSelector.h:266
egammaPID::TrackMatchEtaTight_Electron
@ TrackMatchEtaTight_Electron
eta difference between cluster and extrapolated track in the 1st sampling for tight selection (!...
Definition: egammaPIDdefs.h:151
AthMessaging::m_nm
std::string m_nm
Message source name.
Definition: AthMessaging.h:129
Root::TElectronIsEMSelector::m_cutNameClusterMiddleWidth_Electron
const std::string m_cutNameClusterMiddleWidth_Electron
width in the second sampling (e.g Weta2)
Definition: TElectronIsEMSelector.h:423
Root::TElectronIsEMSelector::m_cutNameTrackPixel_Electron
const std::string m_cutNameTrackPixel_Electron
number of Pixel hits
Definition: TElectronIsEMSelector.h:446
Root::TElectronIsEMSelector::m_cutPositionClusterEtaRange_Electron
int m_cutPositionClusterEtaRange_Electron
cluster eta range
Definition: TElectronIsEMSelector.h:336
Root::TElectronIsEMSelector::m_cutNameClusterMiddleEnergy_Electron
const std::string m_cutNameClusterMiddleEnergy_Electron
energy in 2nd sampling (e.g E277>0)
Definition: TElectronIsEMSelector.h:417
python.AtlRunQueryAMI.choice
int choice
Definition: AtlRunQueryAMI.py:210
egammaPID::TrackBlayer_Electron
@ TrackBlayer_Electron
B layer hit.
Definition: egammaPIDdefs.h:126
xAOD::EgammaParameters::e277
@ e277
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 7x7
Definition: EgammaEnums.h:80
Root::TElectronIsEMSelector::m_cutWtot
std::vector< float > m_cutWtot
cut on total width in 1st sampling for e-ID
Definition: TElectronIsEMSelector.h:272
Root::TElectronIsEMSelector::calcIsEm
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
Definition: TElectronIsEMSelector.cxx:469
Root::TElectronIsEMSelector::m_cutPositionTrackTRTratio90_Electron
int m_cutPositionTrackTRTratio90_Electron
ratio of high to all TRT hits for non-isolated electrons (not for new ++ menus)
Definition: TElectronIsEMSelector.h:391
Root::TElectronIsEMSelector::m_cutWeta2c
std::vector< float > m_cutWeta2c
cut on shower width in 2nd sampling for e-ID
Definition: TElectronIsEMSelector.h:264
xAOD::EgammaParameters::Eratio
@ Eratio
(emaxs1-e2tsts1)/(emaxs1+e2tsts1)
Definition: EgammaEnums.h:158
Root::TElectronIsEMSelector::m_cutPositionTrackMatchEoverP_Electron
int m_cutPositionTrackMatchEoverP_Electron
energy-momentum match
Definition: TElectronIsEMSelector.h:383
Root::TElectronIsEMSelector::m_cutNameTrackA0_Electron
const std::string m_cutNameTrackA0_Electron
distance of closet approach
Definition: TElectronIsEMSelector.h:450
Root::TElectronIsEMSelector::m_cutNameClusterStripsDeltaE_Electron
const std::string m_cutNameClusterStripsDeltaE_Electron
difference between 2nd maximum and 1st minimum in strips (e2tsts1-emins1)
Definition: TElectronIsEMSelector.h:433
Root::TElectronIsEMSelector::m_cutNameTrackTRThits_Electron
const std::string m_cutNameTrackTRThits_Electron
number of TRT hits
Definition: TElectronIsEMSelector.h:460
Root::TElectronIsEMSelector::m_cutNameClusterStripsDeltaEmax2_Electron
const std::string m_cutNameClusterStripsDeltaEmax2_Electron
energy of 2nd maximum in 1st sampling ~e2tsts1/(1000+const_lumi*et)
Definition: TElectronIsEMSelector.h:431
xAOD::EgammaParameters::Rhad
@ Rhad
ethad/et
Definition: EgammaEnums.h:160
asg::AcceptData
Definition: AcceptData.h:30
xAOD::EgammaParameters::DeltaE
@ DeltaE
e2tsts1-emins1
Definition: EgammaEnums.h:164
Root::TElectronIsEMSelector::m_cutNameClusterMiddleEratio37_Electron
const std::string m_cutNameClusterMiddleEratio37_Electron
energy ratio in 2nd sampling (e.g E237/E277)
Definition: TElectronIsEMSelector.h:419
Root::TElectronIsEMSelector::m_cutBL
std::vector< int > m_cutBL
cut min on b-layer hits for e-ID
Definition: TElectronIsEMSelector.h:282
Root::TElectronIsEMSelector::m_cutPositionConversionMatch_Electron
int m_cutPositionConversionMatch_Electron
matching to photon (not necessarily conversion–the name is historical)
Definition: TElectronIsEMSelector.h:339
Root::TElectronIsEMSelector::m_cutPositionTrackPixel_Electron
int m_cutPositionTrackPixel_Electron
number of Pixel hits
Definition: TElectronIsEMSelector.h:373
python.AutoConfigFlags.msg
msg
Definition: AutoConfigFlags.py:7
egammaPID::ClusterStripsWtot_Electron
@ ClusterStripsWtot_Electron
shower width in 1st sampling
Definition: egammaPIDdefs.h:118
Root::TElectronIsEMSelector::m_cutNameTrackBlayer_Electron
const std::string m_cutNameTrackBlayer_Electron
B layer hit.
Definition: TElectronIsEMSelector.h:444
egammaPID::TrackTRTeProbabilityHT_Electron
@ TrackTRTeProbabilityHT_Electron
Cut on the TRT eProbabilityHT_Electron.
Definition: egammaPIDdefs.h:140
Root::TElectronIsEMSelector::m_cutNameTrackTRTeProbabilityHT_Electron
const std::string m_cutNameTrackTRTeProbabilityHT_Electron
Cut on the TRT eProbabilityHT_Electron.
Definition: TElectronIsEMSelector.h:458
Root::TElectronIsEMSelector::m_cutA0
std::vector< float > m_cutA0
cut min on transverse impact parameter for e-ID
Definition: TElectronIsEMSelector.h:288
read_hist_ntuple.f1
f1
Definition: read_hist_ntuple.py:4
asg::AcceptInfo::addCut
int addCut(const std::string &cutName, const std::string &cutDescription)
Add a cut; returning the cut position.
Definition: AcceptInfo.h:53
Root::TElectronIsEMSelector::m_cutF1
std::vector< float > m_cutF1
cut on fraction of energy deposited in 1st sampling for e-ID
Definition: TElectronIsEMSelector.h:256
Root::TElectronIsEMSelector::m_cutPositionClusterStripsDeltaEmax2_Electron
int m_cutPositionClusterStripsDeltaEmax2_Electron
energy of 2nd maximum in 1st sampling ~e2tsts1/(1000+const_lumi*et)
Definition: TElectronIsEMSelector.h:358
Root::TElectronIsEMSelector::fillAccept
asg::AcceptData fillAccept(unsigned int isEM) const
Definition: TElectronIsEMSelector.cxx:360