ATLAS Offline Software
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | Friends | List of all members
Root::TPhotonIsEMSelector Class Reference

#include <TPhotonIsEMSelector.h>

Inheritance diagram for Root::TPhotonIsEMSelector:
Collaboration diagram for Root::TPhotonIsEMSelector:

Public Member Functions

 TPhotonIsEMSelector (const char *name="TPhotonIsEMSelector")
 Standard constructor. More...
 
 ~TPhotonIsEMSelector ()
 Standard destructor. More...
 
StatusCode initialize ()
 Initialize this class. More...
 
asg::AcceptData accept (float eta2, double et, float Rhad1, float Rhad, float e277, float Reta, float Rphi, float weta2c, float f1, float Eratio, float DeltaE, float weta1c, float wtot, float fracm, float f3, double ep, bool isConversion, float mu)
 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 Rhad1, float Rhad, float e277, float Reta, float Rphi, float weta2c, float f1, float Eratio, float DeltaE, float weta1c, float wtot, float fracm, float f3, double ep, bool isConversion, float mu) const
 
unsigned int calocuts_photonsConverted (float eta2, double et, float Rhad1, float Rhad, float e277, float Reta, float Rphi, float weta2c, float f1, float Eratio, float DeltaE, float weta1c, float wtot, float fracm, float f3, double ep, unsigned int iflag, float mu) const
 Apply calorimeter cuts for selection of converted photons. More...
 
unsigned int calocuts_photonsNonConverted (float eta2, double et, float Rhad1, float Rhad, float e277, float Reta, float Rphi, float weta2c, float f1, float Eratio, float DeltaE, float weta1c, float wtot, float fracm, float f3, unsigned int iflag, float mu) const
 Apply calorimeter cuts for selection of non converted photons. More...
 
const asg::AcceptInfogetAcceptInfo () const
 accesss to the accept info object More...
 
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_forceConvertedPhotonPID
 boolean to force to test converted photon hypothesis More...
 
bool m_forceNonConvertedPhotonPID
 boolean to force to test non converted photon hypothesis More...
 
std::vector< float > m_cutBinEta_photonsNonConverted
 range of eta bins for photon-ID More...
 
std::vector< float > m_cutBinEnergy_photonsNonConverted
 range of ET bins for photon-ID More...
 
std::vector< float > m_cutBinMu_photonsNonConverted
 range of mu bins for photon-ID More...
 
std::vector< float > m_e277_photonsNonConverted
 Cut in E277 for photons. More...
 
std::vector< float > m_cutHadLeakage_photonsNonConverted
 Cut on hadronic leakage for photons. More...
 
std::vector< float > m_Reta37_photonsNonConverted
 ratio E237/E277 More...
 
std::vector< float > m_Rphi33_photonsNonConverted
 ratio E233/E237 More...
 
std::vector< float > m_weta2_photonsNonConverted
 Cut on width in 2nd sampling for photons. More...
 
std::vector< float > m_cutBinEtaStrips_photonsNonConverted
 binning in eta in strips for photons More...
 
std::vector< float > m_cutBinEnergyStrips_photonsNonConverted
 
std::vector< float > m_cutBinMuStrips_photonsNonConverted
 binning in pielup in strips for photons More...
 
std::vector< float > m_f1_photonsNonConverted
 Cut on fraction of energy rec. More...
 
std::vector< float > m_deltae_photonsNonConverted
 Cut on Demax2 for photons. More...
 
std::vector< float > m_DEmaxs1_photonsNonConverted
 cut on (Emax1-Emax2)/(Emax1-Emax2) for photons More...
 
std::vector< float > m_wtot_photonsNonConverted
 Cut on total width in strips for photons. More...
 
std::vector< float > m_fracm_photonsNonConverted
 Cut on fraction of energy outside core for photons. More...
 
std::vector< float > m_w1_photonsNonConverted
 Cut on width in 3 strips for photons. More...
 
std::vector< float > m_cutF3_photonsNonConverted
 cut values for cut on f3 or f3core More...
 
std::vector< float > m_cutBinEta_photonsConverted
 range of eta bins for photon-ID More...
 
std::vector< float > m_cutBinEnergy_photonsConverted
 range of ET bins for photon-ID More...
 
std::vector< float > m_cutBinMu_photonsConverted
 range of mu bins for photon-ID More...
 
std::vector< float > m_e277_photonsConverted
 Cut in E277 for photons. More...
 
std::vector< float > m_cutHadLeakage_photonsConverted
 Cut on hadronic leakage for photons. More...
 
std::vector< float > m_Reta37_photonsConverted
 ratio E237/E277 More...
 
std::vector< float > m_Rphi33_photonsConverted
 ratio E233/E237 More...
 
std::vector< float > m_weta2_photonsConverted
 Cut on width in 2nd sampling for photons. More...
 
std::vector< float > m_cutBinEtaStrips_photonsConverted
 binning in eta in strips for photons More...
 
std::vector< float > m_cutBinEnergyStrips_photonsConverted
 
std::vector< float > m_cutBinMuStrips_photonsConverted
 binning in pileup in strips for photons More...
 
std::vector< float > m_f1_photonsConverted
 Cut on fraction of energy rec. More...
 
std::vector< float > m_deltae_photonsConverted
 Cut on Demax2 for photons. More...
 
std::vector< float > m_DEmaxs1_photonsConverted
 cut on (Emax1-Emax2)/(Emax1-Emax2) for photons More...
 
std::vector< float > m_wtot_photonsConverted
 Cut on total width in strips for photons. More...
 
std::vector< float > m_fracm_photonsConverted
 Cut on fraction of energy outside core for photons. More...
 
std::vector< float > m_w1_photonsConverted
 Cut on width in 3 strips for photons. More...
 
std::vector< float > m_cutminEp_photonsConverted
 cut min on E/p for e-ID More...
 
std::vector< float > m_cutmaxEp_photonsConverted
 cut max on E/p for e-ID More...
 
std::vector< float > m_cutF3_photonsConverted
 cut values for cut on f3 or f3core More...
 

Private Member Functions

asg::AcceptData fillAccept (unsigned int isEM) const
 
template<typename T >
bool checkVar (const std::vector< T > &vec, int choice) const
 Method that check vector size. More...
 
void initMessaging () const
 Initialize our message level and MessageSvc. More...
 

Private Attributes

asg::AcceptInfo m_acceptInfo
 Accept info. More...
 
int m_cutPositionClusterEtaRange_Photon
 cluster eta range More...
 
int m_cutPositionClusterBackEnergyFraction_Photon
 energy fraction in the third layer More...
 
int m_cutPositionClusterHadronicLeakage_Photon
 cluster leakage into the hadronic calorimeter More...
 
int m_cutPositionClusterMiddleEnergy_Photon
 energy in 2nd sampling (e277) More...
 
int m_cutPositionClusterMiddleEratio37_Photon
 energy ratio in 2nd sampling More...
 
int m_cutPositionClusterMiddleEratio33_Photon
 energy ratio in 2nd sampling for photons More...
 
int m_cutPositionClusterMiddleWidth_Photon
 width in the second sampling More...
 
int m_cutPositionClusterStripsEratio_Photon
 fraction of energy found in 1st sampling More...
 
int m_cutPositionClusterStripsDeltaE_Photon
 energy of 2nd maximum in 1st sampling ~e2tsts1/(1000+const_lumi*et) More...
 
int m_cutPositionClusterStripsWtot_Photon
 shower width in 1st sampling More...
 
int m_cutPositionClusterStripsFracm_Photon
 shower shape in shower core 1st sampling More...
 
int m_cutPositionClusterStripsWeta1c_Photon
 shower width weighted by distance from the maximum one More...
 
int m_cutPositionClusterStripsDEmaxs1_Photon
 difference between max and 2nd max in strips More...
 
int m_cutPositionTrackMatchEoverP_Photon
 energy-momentum match for photon selection More...
 
int m_cutPositionAmbiguityResolution_Photon
 ambiguity resolution for photon (vs electron) More...
 
int m_cutPositionIsolation_Photon
 isolation More...
 
int m_cutPositionClusterIsolation_Photon
 calorimetric isolation for photon selection More...
 
int m_cutPositionTrackIsolation_Photon
 tracker isolation for photon selection More...
 
const std::string m_cutNameClusterEtaRange_Photon
 cluster eta range More...
 
const std::string m_cutNameClusterBackEnergyFraction_Photon
 energy fraction in the third layer More...
 
const std::string m_cutNameClusterHadronicLeakage_Photon
 cluster leakage into the hadronic calorimeter More...
 
const std::string m_cutNameClusterMiddleEnergy_Photon
 energy in 2nd sampling (e277) More...
 
const std::string m_cutNameClusterMiddleEratio37_Photon
 energy ratio in 2nd sampling More...
 
const std::string m_cutNameClusterMiddleEratio33_Photon
 energy ratio in 2nd sampling for photons More...
 
const std::string m_cutNameClusterMiddleWidth_Photon
 width in the second sampling More...
 
const std::string m_cutNameClusterStripsEratio_Photon
 fraction of energy found in 1st sampling More...
 
const std::string m_cutNameClusterStripsDeltaE_Photon
 energy of 2nd maximum in 1st sampling ~e2tsts1/(1000+const_lumi*et) More...
 
const std::string m_cutNameClusterStripsWtot_Photon
 shower width in 1st sampling More...
 
const std::string m_cutNameClusterStripsFracm_Photon
 shower shape in shower core 1st sampling More...
 
const std::string m_cutNameClusterStripsWeta1c_Photon
 shower width weighted by distance from the maximum one More...
 
const std::string m_cutNameClusterStripsDEmaxs1_Photon
 difference between max and 2nd max in strips More...
 
const std::string m_cutNameTrackMatchEoverP_Photon
 energy-momentum match for photon selection More...
 
const std::string m_cutNameAmbiguityResolution_Photon
 ambiguity resolution for photon (vs electron) More...
 
const std::string m_cutNameIsolation_Photon
 isolation More...
 
const std::string m_cutNameClusterIsolation_Photon
 calorimetric isolation for photon selection More...
 
const std::string m_cutNameTrackIsolation_Photon
 tracker isolation for photon selection 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 ::AsgPhotonIsEMSelector
 

Detailed Description

Definition at line 39 of file TPhotonIsEMSelector.h.

Constructor & Destructor Documentation

◆ TPhotonIsEMSelector()

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

Standard constructor.

TPhotonIsEMSelector.cxx.

Original by Jovan Mitrevski (Feb. 2012) Modified by Roger Naranjo

Package: PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools

This class in intented to apply a cut based identification criteria to photons

cluster eta range

energy fraction in the third layer

cluster leakage o the hadronic calorimeter

energy in 2nd sampling (e277)

energy ratio in 2nd sampling

energy ratio in 2nd sampling for photons

width in the second sampling

fraction of energy found in 1st sampling

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

energy-momentum match for photon selection

ambiguity resolution for photon (vs electron)

isolation

calorimetric isolation for photon selection

tracker isolation for photon selection

cluster eta range

energy fraction in the third layer

cluster leakage into the hadronic calorimeter

energy in 2nd sampling (e277)

energy ratio in 2nd sampling

energy ratio in 2nd sampling for photons

width in the second sampling

fraction of energy found in 1st sampling

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

energy-momentum match for photon selection

ambiguity resolution for photon (vs electron)

isolation

calorimetric isolation for photon selection

tracker isolation for photon selection

Definition at line 19 of file TPhotonIsEMSelector.cxx.

19  :
20  asg::AsgMessaging(std::string(name)),
21  m_isEMMask(0),//All will pass if not defined
28  // selection for tight photons
62  m_cutNameClusterEtaRange_Photon("ClusterEtaRange_Photon"),
64  m_cutNameClusterBackEnergyFraction_Photon("ClusterBackEnergyFraction_Photon"),
66  m_cutNameClusterHadronicLeakage_Photon("ClusterHadronicLeakage_Photon"),
68  m_cutNameClusterMiddleEnergy_Photon("ClusterMiddleEnergy_Photon"),
70  m_cutNameClusterMiddleEratio37_Photon("ClusterMiddleEratio37_Photon"),
72  m_cutNameClusterMiddleEratio33_Photon("ClusterMiddleEratio33_Photon"),
74  m_cutNameClusterMiddleWidth_Photon("ClusterMiddleWidth_Photon"),
76  m_cutNameClusterStripsEratio_Photon("ClusterStripsEratio_Photon"),
78  m_cutNameClusterStripsDeltaE_Photon("ClusterStripsDeltaE_Photon"),
80  m_cutNameClusterStripsWtot_Photon("ClusterStripsWtot_Photon"),
82  m_cutNameClusterStripsFracm_Photon("ClusterStripsFracm_Photon"),
84  m_cutNameClusterStripsWeta1c_Photon("ClusterStripsWeta1c_Photon"),
86  m_cutNameClusterStripsDEmaxs1_Photon("ClusterStripsDEmaxs1_Photon"),
88  m_cutNameTrackMatchEoverP_Photon("TrackMatchEoverP_Photon"),
90  m_cutNameAmbiguityResolution_Photon("AmbiguityResolution_Photon"),
92  m_cutNameIsolation_Photon("Isolation_Photon"),
94  m_cutNameClusterIsolation_Photon("ClusterIsolation_Photon"),
96  m_cutNameTrackIsolation_Photon("TrackIsolation_Photon") {
115 }

◆ ~TPhotonIsEMSelector()

TPhotonIsEMSelector::~TPhotonIsEMSelector ( )
default

Standard destructor.

Member Function Documentation

◆ accept() [1/2]

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

Return dummy accept with only info.

Definition at line 98 of file TPhotonIsEMSelector.h.

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

◆ accept() [2/2]

asg::AcceptData TPhotonIsEMSelector::accept ( float  eta2,
double  et,
float  Rhad1,
float  Rhad,
float  e277,
float  Reta,
float  Rphi,
float  weta2c,
float  f1,
float  Eratio,
float  DeltaE,
float  weta1c,
float  wtot,
float  fracm,
float  f3,
double  ep,
bool  isConversion,
float  mu 
)

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

Method to calculate the actual accept of each cut individually.

Parameters
shower_shapeseach shower shape
isConvertedappy cuts to converted or unconverted photons
Returns
AcceptData

Definition at line 289 of file TPhotonIsEMSelector.cxx.

325  {
326 
327  // Do the actual selection
328 
329  unsigned int isEM = calcIsEm(eta2,
330  et,
331  Rhad1,
332  Rhad,
333  e277,
334  Reta,
335  Rphi,
336  weta2c,
337  f1,
338  Eratio,
339  DeltaE,
340  weta1c,
341  wtot,
342  fracm,
343  f3,
344  ep,
345  isConversion,
346  mu);
347 
348  return fillAccept(isEM);
349 }

◆ calcIsEm()

unsigned int TPhotonIsEMSelector::calcIsEm ( float  eta2,
double  et,
float  Rhad1,
float  Rhad,
float  e277,
float  Reta,
float  Rphi,
float  weta2c,
float  f1,
float  Eratio,
float  DeltaE,
float  weta1c,
float  wtot,
float  fracm,
float  f3,
double  ep,
bool  isConversion,
float  mu 
) const

Definition at line 355 of file TPhotonIsEMSelector.cxx.

391  {
392  unsigned int iflag = 0;
393 
394  // apply calorimeter selection for photons
396  // force to test converted photon hypothesis
398  et,
399  Rhad1,
400  Rhad,
401  e277,
402  Reta,
403  Rphi,
404  weta2c,
405  f1,
406  Eratio,
407  DeltaE,
408  weta1c,
409  wtot,
410  fracm,
411  f3,
412  ep,
413  iflag,
414  mu);
415 
416  } else if (m_forceNonConvertedPhotonPID || !isConversion) {
418  et,
419  Rhad1,
420  Rhad,
421  e277,
422  Reta,
423  Rphi,
424  weta2c,
425  f1,
426  Eratio,
427  DeltaE,
428  weta1c,
429  wtot,
430  fracm,
431  f3,
432  iflag,
433  mu);
434  } else {
436  et,
437  Rhad1,
438  Rhad,
439  e277,
440  Reta,
441  Rphi,
442  weta2c,
443  f1,
444  Eratio,
445  DeltaE,
446  weta1c,
447  wtot,
448  fracm,
449  f3,
450  ep,
451  iflag,
452  mu);
453  }
454 
455 
456  return iflag;
457 }

◆ calocuts_photonsConverted()

unsigned int TPhotonIsEMSelector::calocuts_photonsConverted ( float  eta2,
double  et,
float  Rhad1,
float  Rhad,
float  e277,
float  Reta,
float  Rphi,
float  weta2c,
float  f1,
float  Eratio,
float  DeltaE,
float  weta1c,
float  wtot,
float  fracm,
float  f3,
double  ep,
unsigned int  iflag,
float  mu 
) const

Apply calorimeter cuts for selection of converted photons.

Method that applies the selection to converted photons @params Shower Shapes.

Returns
unsigned int with the bits that tells if the cuts passed

Definition at line 726 of file TPhotonIsEMSelector.cxx.

761  {
762  int ibine = 0;
763  // loop on ET range
764  for (unsigned int ibe = 1; ibe <= m_cutBinEnergy_photonsConverted.size(); ibe++) {
765  if (ibe < m_cutBinEnergy_photonsConverted.size()) {
766  if (et >= m_cutBinEnergy_photonsConverted[ibe - 1] &&
768  ibine = ibe;
769  }
770  } else if (ibe == m_cutBinEnergy_photonsConverted.size()) {
771  if (et >= m_cutBinEnergy_photonsConverted[ibe - 1]) {
772  ibine = ibe;
773  }
774  }
775  }
776 
777  int ibinEta = -1;
778  // loop on eta range
779  for (unsigned int ibin = 0; ibin < m_cutBinEta_photonsConverted.size(); ibin++) {
780  if (ibin == 0) {
782  ibinEta = 0;
783  }
784  } else {
785  if (eta2 >= m_cutBinEta_photonsConverted[ibin - 1] &&
787  ibinEta = ibin;
788  }
789  }
790  }
791  //Negative ibinEta means we are ouside the range
792  //e.g abs(eta) > 2.47 or so
793  if (ibinEta < 0) {
794  iflag |= (0x1 << egammaPID::ClusterEtaRange_Photon);
795  return iflag;
796  }
797 
798  int ibinMu = 0;
799  // loop on mu range
800  for (unsigned int ibin=1; ibin <= m_cutBinMu_photonsConverted.size(); ibin++) {
801  if ( ibin < m_cutBinMu_photonsConverted.size() ) {
802  if ( mu >= m_cutBinMu_photonsConverted[ibin-1] &&
803  mu < m_cutBinMu_photonsConverted[ibin] ) {
804  ibinMu = ibin;
805  }
806  }
807  else if ( ibin == m_cutBinMu_photonsConverted.size() ) {
808  if ( mu >= m_cutBinMu_photonsConverted[ibin-1] ) {
809  ibinMu = ibin;
810  }
811  }
812  }
813 
814  // check the bin number
815  //const int ibin_combined = ibine * m_cutBinEta_photonsConverted.size() + ibinEta;
816  const int ibin_combined
817  = ibinMu * ( m_cutBinEta_photonsConverted.size() *
818  ( m_cutBinEnergy_photonsConverted.size()+1 ) )
819  + ibine * m_cutBinEta_photonsConverted.size()
820  + ibinEta;
821 
822  //
823  // second sampling cuts
824  //
825  if ((m_e277_photonsConverted.empty())) {
826  ATH_MSG_WARNING("e277 needs to be set ");
827  }
828  if (!m_e277_photonsConverted.empty() && e277 >= m_e277_photonsConverted[0]) {
829 
830  // hadronic leakage
832  if (eta2 < 0.8) {
833  if (Rhad1 > m_cutHadLeakage_photonsConverted[ibin_combined])
835  } else if (eta2 >= 0.8 && eta2 < 1.37) {
836  if (Rhad > m_cutHadLeakage_photonsConverted[ibin_combined])
838  } else {
839  if (Rhad1 > m_cutHadLeakage_photonsConverted[ibin_combined])
841  }
842  }
843 
844  // F3
846  if (f3 > m_cutF3_photonsConverted[ibin_combined]) {
848  }
849  }
850 
851  // E237/E277
853  if (Reta < m_Reta37_photonsConverted[ibin_combined]) {
854  iflag |= (0x1 << egammaPID::ClusterMiddleEratio37_Photon);
855  }
856  }
857 
858  // E233/E237
860  if (Rphi < m_Rphi33_photonsConverted[ibin_combined]) {
861  iflag |= (0x1 << egammaPID::ClusterMiddleEratio33_Photon);
862  }
863  }
864 
865  // width in 2n sampling
867  if (weta2c > m_weta2_photonsConverted[ibin_combined]) {
868  iflag |= (0x1 << egammaPID::ClusterMiddleWidth_Photon);
869  }
870  }
871  } else {
872  iflag |= (0x1 << egammaPID::ClusterMiddleEnergy_Photon);
873  }
874 
875  //
876  // first sampling cuts
877  //
878  if (!m_cutBinEtaStrips_photonsConverted.empty()) {
879 
880  int ibineStrips = 0;
881  // loop on ET range
882  for (unsigned int ibe = 1; ibe <= m_cutBinEnergyStrips_photonsConverted.size(); ibe++) {
883  if (ibe < m_cutBinEnergyStrips_photonsConverted.size()) {
884  if (et >= m_cutBinEnergyStrips_photonsConverted[ibe - 1] &&
886  ibineStrips = ibe;
887  }
888  } else if (ibe == m_cutBinEnergyStrips_photonsConverted.size()) {
889  if (et >= m_cutBinEnergyStrips_photonsConverted[ibe - 1]) {
890  ibineStrips = ibe;
891  }
892  }
893  }
894 
895  int ibinEtaStrips = -1;
896  // loop on eta range
897  for (unsigned int ibin = 0; ibin < m_cutBinEtaStrips_photonsConverted.size(); ibin++) {
898  if (ibin == 0) {
900  ibinEtaStrips = 0;
901  }
902  } else {
903  if (eta2 >= m_cutBinEtaStrips_photonsConverted[ibin - 1] &&
905  ibinEtaStrips = ibin;
906  }
907  }
908  }
909 
910  int ibinMuStrips = 0;
911  // loop on mu range
912  for (unsigned int ibmu=1;
913  ibmu <= m_cutBinMuStrips_photonsConverted.size(); ibmu++) {
914  if ( ibmu <m_cutBinMuStrips_photonsConverted.size() ) {
915  if ( mu >= m_cutBinMuStrips_photonsConverted[ibmu-1] &&
917  ibinMuStrips = ibmu;
918  }
919  }
920  else if ( ibmu == m_cutBinMuStrips_photonsConverted.size() ) {
921  if ( mu >= m_cutBinMuStrips_photonsConverted[ibmu-1] ) {
922  ibinMuStrips = ibmu;
923  }
924  }
925  }
926 
927  // check the bin number
928  if (ibinEtaStrips == -1) {
929  iflag |= (0x1 << egammaPID::ClusterEtaRange_Photon);
930  return iflag;
931  }
932 
933  //const int ibin_combinedStrips = ibineStrips * m_cutBinEtaStrips_photonsConverted.size() + ibinEtaStrips;
934  const int ibin_combinedStrips
935  = ibinMuStrips * m_cutBinEtaStrips_photonsNonConverted.size()
937  + ibineStrips * m_cutBinEtaStrips_photonsNonConverted.size()
938  + ibinEtaStrips;
939 
941  if (f1 < m_f1_photonsConverted[0]) {
942  iflag |= (0x1 << egammaPID::ClusterStripsEratio_Photon);
943  }
944  }
945 
946  // Delta E
948  if (DeltaE > m_deltae_photonsConverted[ibin_combinedStrips]) {
949  iflag |= (0x1 << egammaPID::ClusterStripsDeltaE_Photon);
950  }
951  }
952 
953  // Eratio
955  if (Eratio <= m_DEmaxs1_photonsConverted[ibin_combinedStrips])
956  iflag |= (0x1 << egammaPID::ClusterStripsDEmaxs1_Photon);
957  }
958 
959  // total width in strips
961  if (wtot > m_wtot_photonsConverted[ibin_combinedStrips]) {
962  iflag |= (0x1 << egammaPID::ClusterStripsWtot_Photon);
963  }
964  }
965 
966  // (E(+/-3)-E(+/-1))/E(+/-1)
968  if (fracm > m_fracm_photonsConverted[ibin_combinedStrips]) {
969  iflag |= (0x1 << egammaPID::ClusterStripsFracm_Photon);
970  }
971  }
972 
973  // width in 3 strips
974  if (checkVar(m_w1_photonsConverted, 16)) {
975  if (weta1c > m_w1_photonsConverted[ibin_combinedStrips]) {
976  iflag |= (0x1 << egammaPID::ClusterStripsWeta1c_Photon);
977  }
978  }
979  }
980 
981  // cut on E/p
982  //
985  if (ep < m_cutminEp_photonsConverted[ibin_combined] ||
986  ep > m_cutmaxEp_photonsConverted[ibin_combined])
987  iflag |= (0x1 << egammaPID::TrackMatchEoverP_Photon);
988  }
989 
990  return iflag;
991 }

◆ calocuts_photonsNonConverted()

unsigned int TPhotonIsEMSelector::calocuts_photonsNonConverted ( float  eta2,
double  et,
float  Rhad1,
float  Rhad,
float  e277,
float  Reta,
float  Rphi,
float  weta2c,
float  f1,
float  Eratio,
float  DeltaE,
float  weta1c,
float  wtot,
float  fracm,
float  f3,
unsigned int  iflag,
float  mu 
) const

Apply calorimeter cuts for selection of non converted photons.

Method that applies the selection to unconverted photons @params Shower Shapes.

Returns
unsigned int with the bits that tells if the cuts passed

Definition at line 464 of file TPhotonIsEMSelector.cxx.

495  {
496  //
497  // second sampling cuts
498  //
499  if ((m_e277_photonsNonConverted.empty())) {
500  ATH_MSG_WARNING("e277 needs to be set ");
501  }
503  int ibine = 0;
504  // loop on ET range
505  for (unsigned int ibe = 1; ibe <= m_cutBinEnergy_photonsNonConverted.size();
506  ibe++) {
507  if (ibe < m_cutBinEnergy_photonsNonConverted.size()) {
508  if (et >= m_cutBinEnergy_photonsNonConverted[ibe - 1] &&
510  ibine = ibe;
511  }
512  } else if (ibe == m_cutBinEnergy_photonsNonConverted.size()) {
513  if (et >= m_cutBinEnergy_photonsNonConverted[ibe - 1]) {
514  ibine = ibe;
515  }
516  }
517  }
518 
519  int ibinEta = -1;
520  // loop on eta range
521  for (unsigned int ibin = 0; ibin < m_cutBinEta_photonsNonConverted.size();
522  ibin++) {
523  if (ibin == 0) {
525  ibinEta = 0;
526  }
527  } else {
528  if (eta2 >= m_cutBinEta_photonsNonConverted[ibin - 1] &&
530  ibinEta = ibin;
531  }
532  }
533  }
534 
535  //Negative ibinEta means we are ouside the range
536  //e.g abs(eta) > 2.47 or so
537  if (ibinEta < 0) {
538  iflag |= (0x1 << egammaPID::ClusterEtaRange_Photon);
539  return iflag;
540  }
541 
542  int ibinMu = 0;
543  // loop on mu range
544  for (unsigned int ibin=1; ibin <= m_cutBinMu_photonsNonConverted.size();
545  ibin++) {
546  if ( ibin < m_cutBinMu_photonsNonConverted.size() ) {
547  if ( mu >= m_cutBinMu_photonsNonConverted[ibin-1] &&
549  ibinMu = ibin;
550  }
551  }
552  else if ( ibin == m_cutBinMu_photonsNonConverted.size() ) {
553  if ( mu >= m_cutBinMu_photonsNonConverted[ibin-1] ) {
554  ibinMu = ibin;
555  }
556  }
557  }
558 
559  // check the bin number
560  //const int ibin_combined = ibine * m_cutBinEta_photonsNonConverted.size() + ibinEta;
561  const int ibin_combined
562  = ibinMu * ( m_cutBinEta_photonsNonConverted.size() *
564  + ibine * m_cutBinEta_photonsNonConverted.size()
565  + ibinEta;
566 
567  // hadronic leakage
569  if (eta2 < 0.8) {
570  if (Rhad1 > m_cutHadLeakage_photonsNonConverted[ibin_combined])
572  } else if (eta2 >= 0.8 && eta2 < 1.37) {
573  if (Rhad > m_cutHadLeakage_photonsNonConverted[ibin_combined])
575  } else {
576  if (Rhad1 > m_cutHadLeakage_photonsNonConverted[ibin_combined])
578  }
579  }
580 
581  // F3
583  if (f3 > m_cutF3_photonsNonConverted[ibin_combined]) {
585  }
586  }
587 
588  // E237/E277
590  if (Reta < m_Reta37_photonsNonConverted[ibin_combined]) {
591  iflag |= (0x1 << egammaPID::ClusterMiddleEratio37_Photon);
592  }
593  }
594 
595  // E233/E237
597  if (Rphi < m_Rphi33_photonsNonConverted[ibin_combined]) {
598  iflag |= (0x1 << egammaPID::ClusterMiddleEratio33_Photon);
599  }
600  }
601 
602  // width in 2n sampling
604  if (weta2c > m_weta2_photonsNonConverted[ibin_combined]) {
605  iflag |= (0x1 << egammaPID::ClusterMiddleWidth_Photon);
606  }
607  }
608  } else {
609  iflag |= (0x1 << egammaPID::ClusterMiddleEnergy_Photon);
610  }
611 
612  //
613  // first sampling cuts
614  //
616 
617  int ibineStrips = 0;
618  // loop on ET range
619  for (unsigned int ibe = 1; ibe <= m_cutBinEnergyStrips_photonsNonConverted.size(); ibe++) {
620  if (ibe < m_cutBinEnergyStrips_photonsNonConverted.size()) {
623  ibineStrips = ibe;
624  }
625  } else if (ibe == m_cutBinEnergyStrips_photonsNonConverted.size()) {
627  ibineStrips = ibe;
628  }
629  }
630  }
631 
632  int ibinEtaStrips = -1;
633  // loop on eta range
634  for (unsigned int ibin = 0; ibin < m_cutBinEtaStrips_photonsNonConverted.size(); ibin++) {
635  if (ibin == 0) {
637  ibinEtaStrips = 0;
638  }
639  } else {
640  if (eta2 >= m_cutBinEtaStrips_photonsNonConverted[ibin - 1] &&
642  ibinEtaStrips = ibin;
643  }
644  }
645  }
646 
647  //Negative ibinEta means we are ouside the range
648  //e.g abs(eta) > 2.47 or so
649  if (ibinEtaStrips < 0) {
650  iflag |= (0x1 << egammaPID::ClusterEtaRange_Photon);
651  return iflag;
652  }
653 
654  int ibinMuStrips = 0;
655  // loop on mu range
656  for (unsigned int ibmu=1;
657  ibmu <= m_cutBinMuStrips_photonsNonConverted.size(); ibmu++) {
658  if ( ibmu <m_cutBinMuStrips_photonsNonConverted.size() ) {
659  if ( mu >= m_cutBinMuStrips_photonsNonConverted[ibmu-1] &&
661  ibinMuStrips = ibmu;
662  }
663  }
664  else if ( ibmu == m_cutBinMuStrips_photonsNonConverted.size() ) {
665  if ( mu >= m_cutBinMuStrips_photonsNonConverted[ibmu-1] ) {
666  ibinMuStrips = ibmu;
667  }
668  }
669  }
670 
671  //const int ibin_combinedStrips = ibineStrips * m_cutBinEtaStrips_photonsNonConverted.size() + ibinEtaStrips;
672  const int ibin_combinedStrips
673  = ibinMuStrips * m_cutBinEtaStrips_photonsNonConverted.size()
675  + ibineStrips * m_cutBinEtaStrips_photonsNonConverted.size()
676  + ibinEtaStrips;
677 
679  if (f1 < m_f1_photonsNonConverted[0]) {
680  iflag |= (0x1 << egammaPID::ClusterStripsEratio_Photon);
681  }
682  }
683 
684  // Delta E
686  if (DeltaE > m_deltae_photonsNonConverted[ibin_combinedStrips]) {
687  iflag |= (0x1 << egammaPID::ClusterStripsDeltaE_Photon);
688  }
689  }
690 
691  // Eratio
693  if (Eratio <= m_DEmaxs1_photonsNonConverted[ibin_combinedStrips])
694  iflag |= (0x1 << egammaPID::ClusterStripsDEmaxs1_Photon);
695  }
696 
697  // total width in strips
699  if (wtot > m_wtot_photonsNonConverted[ibin_combinedStrips]) {
700  iflag |= (0x1 << egammaPID::ClusterStripsWtot_Photon);
701  }
702  }
703 
704  // (E(+/-3)-E(+/-1))/E(+/-1)
706  if (fracm > m_fracm_photonsNonConverted[ibin_combinedStrips]) {
707  iflag |= (0x1 << egammaPID::ClusterStripsFracm_Photon);
708  }
709  }
710 
711  // width in 3 strips
713  if (weta1c > m_w1_photonsNonConverted[ibin_combinedStrips]) {
714  iflag |= (0x1 << egammaPID::ClusterStripsWeta1c_Photon);
715  }
716  }
717  }
718  return iflag;
719 }

◆ checkVar()

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

Method that check vector size.

0 : size should be 1

11 : vs etaNB_photonsConv 12 : vs etNB_photonsConv 13 : vs combinedNB_photonsConv 14 : vs etaStripsNB_photonsConv 15 : vs etStripsNB_photonsConv 16 : combinedStripsNB_photonsConv 21 : vs etaNB_photonsNonConv 22 : vs etNB_photonsNonConv 23 : vs combinedNB_photonsNonConv 24 : vs etaStripsNB_photonsNonConv 25 : vs etStripsNB_photonsNonConv 26 : combinedStripsNB_photonsNonConv @params Vector, choice to check

Returns
boolean

Definition at line 1013 of file TPhotonIsEMSelector.cxx.

1013  {
1014  // check vector size
1015 
1016 
1017  const unsigned int etaNB_photonsConv = m_cutBinEta_photonsConverted.size();
1018  const unsigned int etNB_photonsConv = m_cutBinEnergy_photonsConverted.size();
1019  const unsigned int muNB_photonsConv = m_cutBinMu_photonsConverted.size();
1020  const unsigned int etaStripsNB_photonsConv = m_cutBinEtaStrips_photonsConverted.size();
1021  const unsigned int etStripsNB_photonsConv = m_cutBinEnergyStrips_photonsConverted.size();
1022  const unsigned int muStripsNB_photonsConv = m_cutBinMuStrips_photonsConverted.size();
1023  const unsigned int etaNB_photonsNonConv = m_cutBinEta_photonsNonConverted.size();
1024  const unsigned int etNB_photonsNonConv = m_cutBinEnergy_photonsNonConverted.size();
1025  const unsigned int muNB_photonsNonConv = m_cutBinMu_photonsNonConverted.size();
1026  const unsigned int etaStripsNB_photonsNonConv = m_cutBinEtaStrips_photonsNonConverted.size();
1027  const unsigned int etStripsNB_photonsNonConv = m_cutBinEnergyStrips_photonsNonConverted.size();
1028  const unsigned int muStripsNB_photonsNonConv = m_cutBinMuStrips_photonsNonConverted.size();
1029 
1030  unsigned int combinedStripsNB_photonsConv = etaStripsNB_photonsConv;
1031  unsigned int combinedStripsNB_photonsNonConv = etaStripsNB_photonsNonConv;
1032  unsigned int combinedNB_photonsNonConv = etaNB_photonsNonConv;
1033  unsigned int combinedNB_photonsConv = etaNB_photonsConv;
1034 
1035  // pt-dependent cuts
1036  if (etStripsNB_photonsNonConv > 0)
1037  combinedStripsNB_photonsNonConv = etaStripsNB_photonsNonConv * (etStripsNB_photonsNonConv + 1);
1038 
1039  if (etNB_photonsConv > 0)
1040  combinedNB_photonsConv = etaNB_photonsConv * (etNB_photonsConv + 1);
1041 
1042  if (etStripsNB_photonsConv > 0)
1043  combinedStripsNB_photonsConv = etaStripsNB_photonsConv * (etStripsNB_photonsConv + 1);
1044 
1045  if (etNB_photonsNonConv > 0)
1046  combinedNB_photonsNonConv = etaNB_photonsNonConv * (etNB_photonsNonConv + 1);
1047 
1048  // mu-dependent cuts
1049  if (muStripsNB_photonsNonConv > 0)
1050  combinedStripsNB_photonsNonConv *= (muStripsNB_photonsNonConv + 1);
1051 
1052  if (muNB_photonsConv > 0)
1053  combinedNB_photonsConv *= (muNB_photonsConv + 1);
1054 
1055  if (muStripsNB_photonsConv > 0)
1056  combinedStripsNB_photonsConv *= (muStripsNB_photonsConv + 1);
1057 
1058  if (muNB_photonsNonConv > 0)
1059  combinedNB_photonsNonConv *= (muNB_photonsNonConv + 1);
1060 
1061  // if size of vector is 0 it means cut is not defined
1062  if (vec.empty()) return false;
1063  // check if size is 1
1064  if (choice == 0) {
1065  if (vec.size() != 1) {
1066  ATH_MSG_ERROR("vector size is "
1067  << vec.size() << " but needs 1");
1068  return false;
1069  }
1070  }
1071 
1072  // check if size is etaNB_photonsConv
1073  if (choice == 11) {
1074 
1075  if (vec.size() != etaNB_photonsConv) {
1076  ATH_MSG_ERROR("vector size is "
1077  << vec.size() << " but needs etaNB_photonsConv "
1078  << etaNB_photonsConv);
1079  return false;
1080 
1081  }
1082  }
1083 
1084  // check if size is etNB_photonsConv
1085  if (choice == 12) {
1086  if (vec.size() != etNB_photonsConv) {
1087  ATH_MSG_ERROR("vector size is "
1088  << vec.size() << " but needs etNB_photonsConv="
1089  << etNB_photonsConv);
1090  return false;
1091  }
1092  }
1093 
1094  // check if size is combinedNB_photonsConv
1095  if (choice == 13) {
1096  if (vec.size() != combinedNB_photonsConv) {
1097  ATH_MSG_ERROR("vector size is "
1098  << vec.size() << " but needs combinedNB_photonsConv="
1099  << combinedNB_photonsConv);
1100  return false;
1101  }
1102  }
1103 
1104  // check if size is etaStripsNB_photonsConv
1105  if (choice == 14) {
1106  if (vec.size() != etaStripsNB_photonsConv) {
1107  ATH_MSG_ERROR("vector size is "
1108  << vec.size() << " but needs etaStripsNB_photonsConv="
1109  << etaStripsNB_photonsConv);
1110  return false;
1111  }
1112  }
1113 
1114  // check if size is etStripsNB_photonsConv
1115  if (choice == 15) {
1116  if (vec.size() != etStripsNB_photonsConv) {
1117  ATH_MSG_ERROR("vector size is "
1118  << vec.size() << " but needs etStripsNB_photonsConv="
1119  << etStripsNB_photonsConv);
1120  return false;
1121  }
1122  }
1123 
1124  // check if size is combinedStripsNB_photonsConv
1125  if (choice == 16) {
1126  if (vec.size() != combinedStripsNB_photonsConv) {
1127  ATH_MSG_ERROR("vector size is "
1128  << vec.size() << " but needs combinedStripsNB_photonsConv="
1129  << combinedStripsNB_photonsConv);
1130  return false;
1131  }
1132  }
1133 
1134  // check if size is etaNB_photonsNonConv
1135  if (choice == 21) {
1136  if (vec.size() != etaNB_photonsNonConv) {
1137  ATH_MSG_ERROR("vector size is "
1138  << vec.size() << " but needs etaNB_photonsNonConv "
1139  << etaNB_photonsNonConv);
1140  return false;
1141  }
1142  }
1143 
1144  // check if size is etNB_photonsNonConv
1145  if (choice == 22) {
1146  if (vec.size() != etNB_photonsNonConv) {
1147  ATH_MSG_ERROR("vector size is "
1148  << vec.size() << " but needs etNB_photonsNonConv="
1149  << etNB_photonsNonConv);
1150  return false;
1151  }
1152  }
1153 
1154  // check if size is combinedNB_photonsNonConv
1155  if (choice == 23) {
1156  if (vec.size() != combinedNB_photonsNonConv) {
1157  ATH_MSG_ERROR("vector size is "
1158  << vec.size() << " but needs combinedNB_photonsNonConv="
1159  << combinedNB_photonsNonConv);
1160  return false;
1161  }
1162  }
1163 
1164  // check if size is etaStripsNB_photonsNonConv
1165  if (choice == 24) {
1166  if (vec.size() != etaStripsNB_photonsNonConv) {
1167  ATH_MSG_ERROR("vector size is "
1168  << vec.size() << " but needs etaStripsNB_photonsNonConv="
1169  << etaStripsNB_photonsNonConv);
1170  return false;
1171  }
1172  }
1173 
1174  // check if size is etStripsNB_photonsNonConv
1175  if (choice == 25) {
1176  if (vec.size() != etStripsNB_photonsNonConv) {
1177  ATH_MSG_ERROR("vector size is "
1178  << vec.size() << " but needs etStripsNB_photonsNonConv="
1179  << etStripsNB_photonsNonConv);
1180  return false;
1181  }
1182  }
1183 
1184  // check if size is combinedStripsNB_photonsNonConv
1185  if (choice == 26) {
1186  if (vec.size() != combinedStripsNB_photonsNonConv) {
1187  ATH_MSG_ERROR("vector size is "
1188  << vec.size() << " but needs combinedStripsNB_photonsNonConv="
1189  << combinedStripsNB_photonsNonConv);
1190  return false;
1191  }
1192  }
1193 
1194  return true;
1195 
1196 
1197 }

◆ fillAccept()

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

Definition at line 272 of file TPhotonIsEMSelector.cxx.

272  {
273  asg::AcceptData acceptData(&m_acceptInfo);
274  for (int i = 0; i < 32; i++) {
275  const unsigned int mask = (0x1u << i) & m_isEMMask;
276  acceptData.setCutResult(i, (isEM & mask) == 0);
277  }
278 
279  return acceptData;
280 }

◆ getAcceptInfo()

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

accesss to the accept info object

Definition at line 322 of file TPhotonIsEMSelector.h.

322 { return m_acceptInfo; }

◆ initialize()

StatusCode TPhotonIsEMSelector::initialize ( )

Initialize this class.

The initialization of this tool registers all applied cuts and make sure that they got registered.

The order of the cuts does matter since each cut corresponds to a bit, i.e, Cut0 corresponds to bit 0, Cut1 to bit 1, etc.

cluster eta range, bit 0

energy fraction in the third layer (f3), bit 7

cluster leakage into the hadronic calorimeter, bit 10

energy in 2nd sampling (e277), bit 11

energy ratio in 2nd sampling, bit 12

energy ratio in 2nd sampling for photons, bit 13

width in the second sampling, bit 14

fraction of energy found in 1st sampling, bit 15

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

shower width in 1st sampling, bit 18

shower shape in shower core 1st sampling, bit 19

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

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

energy-momentum match for photon selection, bit 22

ambiguity resolution for photon (vs electron), bit 23

isolation, bit 29

calorimetric isolation for photon selection, bit 30

tracker isolation for photon selection, bit 31

Definition at line 126 of file TPhotonIsEMSelector.cxx.

126  {
127 
128  StatusCode sc(StatusCode::SUCCESS);
129 
132  m_acceptInfo.addCut(m_cutNameClusterEtaRange_Photon, "Photon within eta range");
133  if (m_cutPositionClusterEtaRange_Photon < 0) sc = StatusCode::FAILURE;
134 
135  int voidcutpos = m_acceptInfo.addCut("VOID1", "No Cut"); // bit 1 is not used
136  if (voidcutpos < 0) sc = StatusCode::FAILURE;
137 
138  voidcutpos = m_acceptInfo.addCut("VOID2", "No Cut"); // bit 2 is not used
139  if (voidcutpos < 0) sc = StatusCode::FAILURE;
140 
141  voidcutpos = m_acceptInfo.addCut("VOID3", "No Cut"); // bit 3 is not used
142  if (voidcutpos < 0) sc = StatusCode::FAILURE;
143 
144  voidcutpos = m_acceptInfo.addCut("VOID4", "No Cut"); // bit 4 is not used
145  if (voidcutpos < 0) sc = StatusCode::FAILURE;
146 
147  voidcutpos = m_acceptInfo.addCut("VOID5", "No Cut"); // bit 5 is not used
148  if (voidcutpos < 0) sc = StatusCode::FAILURE;
149 
150  voidcutpos = m_acceptInfo.addCut("VOID6", "No Cut"); // bit 6 is not used
151  if (voidcutpos < 0) sc = StatusCode::FAILURE;
152 
156  if (m_cutPositionClusterBackEnergyFraction_Photon < 0) sc = StatusCode::FAILURE;
157 
158  voidcutpos = m_acceptInfo.addCut("VOID7", "No Cut"); // bit 8 is not used
159  if (voidcutpos < 0) sc = StatusCode::FAILURE;
160 
161  voidcutpos = m_acceptInfo.addCut("VOID8", "No Cut"); // bit 9 is not used
162  if (voidcutpos < 0) sc = StatusCode::FAILURE;
163 
167  if (m_cutPositionClusterHadronicLeakage_Photon < 0) sc = StatusCode::FAILURE;
168 
171  m_acceptInfo.addCut(m_cutNameClusterMiddleEnergy_Photon, "Energy in second sampling (E277) > Cut");
172  if (m_cutPositionClusterMiddleEnergy_Photon < 0) sc = StatusCode::FAILURE;
173 
177  if (m_cutPositionClusterMiddleEratio37_Photon < 0) sc = StatusCode::FAILURE;
178 
182  if (m_cutPositionClusterMiddleEratio33_Photon < 0) sc = StatusCode::FAILURE;
183 
187  if (m_cutPositionClusterMiddleWidth_Photon < 0) sc = StatusCode::FAILURE;
188 
192  if (m_cutPositionClusterStripsEratio_Photon < 0) sc = StatusCode::FAILURE;
193 
194  voidcutpos = m_acceptInfo.addCut("VOID9", "No Cut"); // bit 16 is not used
195  if (voidcutpos < 0) sc = StatusCode::FAILURE;
196 
200  "difference between 2nd maximum and 1st minimum in strips < Cut");
201  if (m_cutPositionClusterStripsDeltaE_Photon < 0) sc = StatusCode::FAILURE;
202 
206  if (m_cutPositionClusterStripsWtot_Photon < 0) sc = StatusCode::FAILURE;
207 
211  if (m_cutPositionClusterStripsFracm_Photon < 0) sc = StatusCode::FAILURE;
212 
216  if (m_cutPositionClusterStripsWeta1c_Photon < 0) sc = StatusCode::FAILURE;
217 
221  "difference between max and 2nd max in strips > Cut");
222  if (m_cutPositionClusterStripsDEmaxs1_Photon < 0) sc = StatusCode::FAILURE;
223 
226  m_acceptInfo.addCut(m_cutNameTrackMatchEoverP_Photon, "E/p within allowed range (conversions only)");
227  if (m_cutPositionTrackMatchEoverP_Photon < 0) sc = StatusCode::FAILURE;
228 
232  "Passes tighter ambiguity resolution vs electron");
233  if (m_cutPositionAmbiguityResolution_Photon < 0) sc = StatusCode::FAILURE;
234 
235  voidcutpos = m_acceptInfo.addCut("VOID10", "No Cut"); // bit 24 is not used
236  if (voidcutpos < 0) sc = StatusCode::FAILURE;
237 
238  voidcutpos = m_acceptInfo.addCut("VOID11", "No Cut"); // bit 25 is not used
239  if (voidcutpos < 0) sc = StatusCode::FAILURE;
240 
241  voidcutpos = m_acceptInfo.addCut("VOID12", "No Cut"); // bit 26 is not used
242  if (voidcutpos < 0) sc = StatusCode::FAILURE;
243 
244  voidcutpos = m_acceptInfo.addCut("VOID13", "No Cut"); // bit 27 is not used
245  if (voidcutpos < 0) sc = StatusCode::FAILURE;
246 
247  voidcutpos = m_acceptInfo.addCut("VOID14", "No Cut"); // bit 28 is not used
248  if (voidcutpos < 0) sc = StatusCode::FAILURE;
249 
252  m_acceptInfo.addCut(m_cutNameIsolation_Photon, "Track and calorimetric isolation");
253  if (m_cutPositionIsolation_Photon < 0) sc = StatusCode::FAILURE;
254 
257  m_acceptInfo.addCut(m_cutNameClusterIsolation_Photon, "calorimetric isolation only");
258  if (m_cutPositionClusterIsolation_Photon < 0) sc = StatusCode::FAILURE;
259 
262  m_acceptInfo.addCut(m_cutNameTrackIsolation_Photon, "track isolation only");
263  if (m_cutPositionTrackIsolation_Photon < 0) sc = StatusCode::FAILURE;
264 
265  if (sc == StatusCode::FAILURE) {
266  ATH_MSG_ERROR("Exceeded the number of allowed cuts in TPhotonIsEMSelector");
267  }
268 
269  return sc;
270 }

◆ 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 }

Friends And Related Function Documentation

◆ ::AsgPhotonIsEMSelector

friend class ::AsgPhotonIsEMSelector
friend

Definition at line 41 of file TPhotonIsEMSelector.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::TPhotonIsEMSelector::m_acceptInfo
private

Accept info.

Definition at line 334 of file TPhotonIsEMSelector.h.

◆ m_cutBinEnergy_photonsConverted

std::vector<float> Root::TPhotonIsEMSelector::m_cutBinEnergy_photonsConverted

range of ET bins for photon-ID

Definition at line 280 of file TPhotonIsEMSelector.h.

◆ m_cutBinEnergy_photonsNonConverted

std::vector<float> Root::TPhotonIsEMSelector::m_cutBinEnergy_photonsNonConverted

range of ET bins for photon-ID

Definition at line 237 of file TPhotonIsEMSelector.h.

◆ m_cutBinEnergyStrips_photonsConverted

std::vector<float> Root::TPhotonIsEMSelector::m_cutBinEnergyStrips_photonsConverted

Definition at line 297 of file TPhotonIsEMSelector.h.

◆ m_cutBinEnergyStrips_photonsNonConverted

std::vector<float> Root::TPhotonIsEMSelector::m_cutBinEnergyStrips_photonsNonConverted

Definition at line 254 of file TPhotonIsEMSelector.h.

◆ m_cutBinEta_photonsConverted

std::vector<float> Root::TPhotonIsEMSelector::m_cutBinEta_photonsConverted

range of eta bins for photon-ID

Definition at line 278 of file TPhotonIsEMSelector.h.

◆ m_cutBinEta_photonsNonConverted

std::vector<float> Root::TPhotonIsEMSelector::m_cutBinEta_photonsNonConverted

range of eta bins for photon-ID

Definition at line 235 of file TPhotonIsEMSelector.h.

◆ m_cutBinEtaStrips_photonsConverted

std::vector<float> Root::TPhotonIsEMSelector::m_cutBinEtaStrips_photonsConverted

binning in eta in strips for photons

Definition at line 295 of file TPhotonIsEMSelector.h.

◆ m_cutBinEtaStrips_photonsNonConverted

std::vector<float> Root::TPhotonIsEMSelector::m_cutBinEtaStrips_photonsNonConverted

binning in eta in strips for photons

Definition at line 252 of file TPhotonIsEMSelector.h.

◆ m_cutBinMu_photonsConverted

std::vector<float> Root::TPhotonIsEMSelector::m_cutBinMu_photonsConverted

range of mu bins for photon-ID

Definition at line 282 of file TPhotonIsEMSelector.h.

◆ m_cutBinMu_photonsNonConverted

std::vector<float> Root::TPhotonIsEMSelector::m_cutBinMu_photonsNonConverted

range of mu bins for photon-ID

Definition at line 239 of file TPhotonIsEMSelector.h.

◆ m_cutBinMuStrips_photonsConverted

std::vector<float> Root::TPhotonIsEMSelector::m_cutBinMuStrips_photonsConverted

binning in pileup in strips for photons

Definition at line 299 of file TPhotonIsEMSelector.h.

◆ m_cutBinMuStrips_photonsNonConverted

std::vector<float> Root::TPhotonIsEMSelector::m_cutBinMuStrips_photonsNonConverted

binning in pielup in strips for photons

Definition at line 256 of file TPhotonIsEMSelector.h.

◆ m_cutF3_photonsConverted

std::vector<float> Root::TPhotonIsEMSelector::m_cutF3_photonsConverted

cut values for cut on f3 or f3core

Definition at line 319 of file TPhotonIsEMSelector.h.

◆ m_cutF3_photonsNonConverted

std::vector<float> Root::TPhotonIsEMSelector::m_cutF3_photonsNonConverted

cut values for cut on f3 or f3core

Definition at line 272 of file TPhotonIsEMSelector.h.

◆ m_cutHadLeakage_photonsConverted

std::vector<float> Root::TPhotonIsEMSelector::m_cutHadLeakage_photonsConverted

Cut on hadronic leakage for photons.

Definition at line 286 of file TPhotonIsEMSelector.h.

◆ m_cutHadLeakage_photonsNonConverted

std::vector<float> Root::TPhotonIsEMSelector::m_cutHadLeakage_photonsNonConverted

Cut on hadronic leakage for photons.

Definition at line 243 of file TPhotonIsEMSelector.h.

◆ m_cutmaxEp_photonsConverted

std::vector<float> Root::TPhotonIsEMSelector::m_cutmaxEp_photonsConverted

cut max on E/p for e-ID

Definition at line 317 of file TPhotonIsEMSelector.h.

◆ m_cutminEp_photonsConverted

std::vector<float> Root::TPhotonIsEMSelector::m_cutminEp_photonsConverted

cut min on E/p for e-ID

Definition at line 315 of file TPhotonIsEMSelector.h.

◆ m_cutNameAmbiguityResolution_Photon

const std::string Root::TPhotonIsEMSelector::m_cutNameAmbiguityResolution_Photon
private

ambiguity resolution for photon (vs electron)

Definition at line 410 of file TPhotonIsEMSelector.h.

◆ m_cutNameClusterBackEnergyFraction_Photon

const std::string Root::TPhotonIsEMSelector::m_cutNameClusterBackEnergyFraction_Photon
private

energy fraction in the third layer

Definition at line 382 of file TPhotonIsEMSelector.h.

◆ m_cutNameClusterEtaRange_Photon

const std::string Root::TPhotonIsEMSelector::m_cutNameClusterEtaRange_Photon
private

cluster eta range

Definition at line 380 of file TPhotonIsEMSelector.h.

◆ m_cutNameClusterHadronicLeakage_Photon

const std::string Root::TPhotonIsEMSelector::m_cutNameClusterHadronicLeakage_Photon
private

cluster leakage into the hadronic calorimeter

Definition at line 384 of file TPhotonIsEMSelector.h.

◆ m_cutNameClusterIsolation_Photon

const std::string Root::TPhotonIsEMSelector::m_cutNameClusterIsolation_Photon
private

calorimetric isolation for photon selection

Definition at line 414 of file TPhotonIsEMSelector.h.

◆ m_cutNameClusterMiddleEnergy_Photon

const std::string Root::TPhotonIsEMSelector::m_cutNameClusterMiddleEnergy_Photon
private

energy in 2nd sampling (e277)

Definition at line 386 of file TPhotonIsEMSelector.h.

◆ m_cutNameClusterMiddleEratio33_Photon

const std::string Root::TPhotonIsEMSelector::m_cutNameClusterMiddleEratio33_Photon
private

energy ratio in 2nd sampling for photons

Definition at line 390 of file TPhotonIsEMSelector.h.

◆ m_cutNameClusterMiddleEratio37_Photon

const std::string Root::TPhotonIsEMSelector::m_cutNameClusterMiddleEratio37_Photon
private

energy ratio in 2nd sampling

Definition at line 388 of file TPhotonIsEMSelector.h.

◆ m_cutNameClusterMiddleWidth_Photon

const std::string Root::TPhotonIsEMSelector::m_cutNameClusterMiddleWidth_Photon
private

width in the second sampling

Definition at line 392 of file TPhotonIsEMSelector.h.

◆ m_cutNameClusterStripsDeltaE_Photon

const std::string Root::TPhotonIsEMSelector::m_cutNameClusterStripsDeltaE_Photon
private

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

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

Definition at line 398 of file TPhotonIsEMSelector.h.

◆ m_cutNameClusterStripsDEmaxs1_Photon

const std::string Root::TPhotonIsEMSelector::m_cutNameClusterStripsDEmaxs1_Photon
private

difference between max and 2nd max in strips

Definition at line 406 of file TPhotonIsEMSelector.h.

◆ m_cutNameClusterStripsEratio_Photon

const std::string Root::TPhotonIsEMSelector::m_cutNameClusterStripsEratio_Photon
private

fraction of energy found in 1st sampling

Definition at line 394 of file TPhotonIsEMSelector.h.

◆ m_cutNameClusterStripsFracm_Photon

const std::string Root::TPhotonIsEMSelector::m_cutNameClusterStripsFracm_Photon
private

shower shape in shower core 1st sampling

Definition at line 402 of file TPhotonIsEMSelector.h.

◆ m_cutNameClusterStripsWeta1c_Photon

const std::string Root::TPhotonIsEMSelector::m_cutNameClusterStripsWeta1c_Photon
private

shower width weighted by distance from the maximum one

Definition at line 404 of file TPhotonIsEMSelector.h.

◆ m_cutNameClusterStripsWtot_Photon

const std::string Root::TPhotonIsEMSelector::m_cutNameClusterStripsWtot_Photon
private

shower width in 1st sampling

Definition at line 400 of file TPhotonIsEMSelector.h.

◆ m_cutNameIsolation_Photon

const std::string Root::TPhotonIsEMSelector::m_cutNameIsolation_Photon
private

isolation

Definition at line 412 of file TPhotonIsEMSelector.h.

◆ m_cutNameTrackIsolation_Photon

const std::string Root::TPhotonIsEMSelector::m_cutNameTrackIsolation_Photon
private

tracker isolation for photon selection

Definition at line 416 of file TPhotonIsEMSelector.h.

◆ m_cutNameTrackMatchEoverP_Photon

const std::string Root::TPhotonIsEMSelector::m_cutNameTrackMatchEoverP_Photon
private

energy-momentum match for photon selection

Definition at line 408 of file TPhotonIsEMSelector.h.

◆ m_cutPositionAmbiguityResolution_Photon

int Root::TPhotonIsEMSelector::m_cutPositionAmbiguityResolution_Photon
private

ambiguity resolution for photon (vs electron)

Definition at line 369 of file TPhotonIsEMSelector.h.

◆ m_cutPositionClusterBackEnergyFraction_Photon

int Root::TPhotonIsEMSelector::m_cutPositionClusterBackEnergyFraction_Photon
private

energy fraction in the third layer

Definition at line 341 of file TPhotonIsEMSelector.h.

◆ m_cutPositionClusterEtaRange_Photon

int Root::TPhotonIsEMSelector::m_cutPositionClusterEtaRange_Photon
private

cluster eta range

Definition at line 339 of file TPhotonIsEMSelector.h.

◆ m_cutPositionClusterHadronicLeakage_Photon

int Root::TPhotonIsEMSelector::m_cutPositionClusterHadronicLeakage_Photon
private

cluster leakage into the hadronic calorimeter

Definition at line 343 of file TPhotonIsEMSelector.h.

◆ m_cutPositionClusterIsolation_Photon

int Root::TPhotonIsEMSelector::m_cutPositionClusterIsolation_Photon
private

calorimetric isolation for photon selection

Definition at line 373 of file TPhotonIsEMSelector.h.

◆ m_cutPositionClusterMiddleEnergy_Photon

int Root::TPhotonIsEMSelector::m_cutPositionClusterMiddleEnergy_Photon
private

energy in 2nd sampling (e277)

Definition at line 345 of file TPhotonIsEMSelector.h.

◆ m_cutPositionClusterMiddleEratio33_Photon

int Root::TPhotonIsEMSelector::m_cutPositionClusterMiddleEratio33_Photon
private

energy ratio in 2nd sampling for photons

Definition at line 349 of file TPhotonIsEMSelector.h.

◆ m_cutPositionClusterMiddleEratio37_Photon

int Root::TPhotonIsEMSelector::m_cutPositionClusterMiddleEratio37_Photon
private

energy ratio in 2nd sampling

Definition at line 347 of file TPhotonIsEMSelector.h.

◆ m_cutPositionClusterMiddleWidth_Photon

int Root::TPhotonIsEMSelector::m_cutPositionClusterMiddleWidth_Photon
private

width in the second sampling

Definition at line 351 of file TPhotonIsEMSelector.h.

◆ m_cutPositionClusterStripsDeltaE_Photon

int Root::TPhotonIsEMSelector::m_cutPositionClusterStripsDeltaE_Photon
private

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

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

Definition at line 357 of file TPhotonIsEMSelector.h.

◆ m_cutPositionClusterStripsDEmaxs1_Photon

int Root::TPhotonIsEMSelector::m_cutPositionClusterStripsDEmaxs1_Photon
private

difference between max and 2nd max in strips

Definition at line 365 of file TPhotonIsEMSelector.h.

◆ m_cutPositionClusterStripsEratio_Photon

int Root::TPhotonIsEMSelector::m_cutPositionClusterStripsEratio_Photon
private

fraction of energy found in 1st sampling

Definition at line 353 of file TPhotonIsEMSelector.h.

◆ m_cutPositionClusterStripsFracm_Photon

int Root::TPhotonIsEMSelector::m_cutPositionClusterStripsFracm_Photon
private

shower shape in shower core 1st sampling

Definition at line 361 of file TPhotonIsEMSelector.h.

◆ m_cutPositionClusterStripsWeta1c_Photon

int Root::TPhotonIsEMSelector::m_cutPositionClusterStripsWeta1c_Photon
private

shower width weighted by distance from the maximum one

Definition at line 363 of file TPhotonIsEMSelector.h.

◆ m_cutPositionClusterStripsWtot_Photon

int Root::TPhotonIsEMSelector::m_cutPositionClusterStripsWtot_Photon
private

shower width in 1st sampling

Definition at line 359 of file TPhotonIsEMSelector.h.

◆ m_cutPositionIsolation_Photon

int Root::TPhotonIsEMSelector::m_cutPositionIsolation_Photon
private

isolation

Definition at line 371 of file TPhotonIsEMSelector.h.

◆ m_cutPositionTrackIsolation_Photon

int Root::TPhotonIsEMSelector::m_cutPositionTrackIsolation_Photon
private

tracker isolation for photon selection

Definition at line 375 of file TPhotonIsEMSelector.h.

◆ m_cutPositionTrackMatchEoverP_Photon

int Root::TPhotonIsEMSelector::m_cutPositionTrackMatchEoverP_Photon
private

energy-momentum match for photon selection

Definition at line 367 of file TPhotonIsEMSelector.h.

◆ m_deltae_photonsConverted

std::vector<float> Root::TPhotonIsEMSelector::m_deltae_photonsConverted

Cut on Demax2 for photons.

Cut on Emax2-Emin for photons

Definition at line 305 of file TPhotonIsEMSelector.h.

◆ m_deltae_photonsNonConverted

std::vector<float> Root::TPhotonIsEMSelector::m_deltae_photonsNonConverted

Cut on Demax2 for photons.

Cut on Emax2-Emin for photons

Definition at line 262 of file TPhotonIsEMSelector.h.

◆ m_DEmaxs1_photonsConverted

std::vector<float> Root::TPhotonIsEMSelector::m_DEmaxs1_photonsConverted

cut on (Emax1-Emax2)/(Emax1-Emax2) for photons

Definition at line 307 of file TPhotonIsEMSelector.h.

◆ m_DEmaxs1_photonsNonConverted

std::vector<float> Root::TPhotonIsEMSelector::m_DEmaxs1_photonsNonConverted

cut on (Emax1-Emax2)/(Emax1-Emax2) for photons

Definition at line 264 of file TPhotonIsEMSelector.h.

◆ m_e277_photonsConverted

std::vector<float> Root::TPhotonIsEMSelector::m_e277_photonsConverted

Cut in E277 for photons.

Definition at line 284 of file TPhotonIsEMSelector.h.

◆ m_e277_photonsNonConverted

std::vector<float> Root::TPhotonIsEMSelector::m_e277_photonsNonConverted

Cut in E277 for photons.

Definition at line 241 of file TPhotonIsEMSelector.h.

◆ m_f1_photonsConverted

std::vector<float> Root::TPhotonIsEMSelector::m_f1_photonsConverted

Cut on fraction of energy rec.

in 1st sampling for photons

Definition at line 301 of file TPhotonIsEMSelector.h.

◆ m_f1_photonsNonConverted

std::vector<float> Root::TPhotonIsEMSelector::m_f1_photonsNonConverted

Cut on fraction of energy rec.

in 1st sampling for photons

Definition at line 258 of file TPhotonIsEMSelector.h.

◆ m_forceConvertedPhotonPID

bool Root::TPhotonIsEMSelector::m_forceConvertedPhotonPID

boolean to force to test converted photon hypothesis

Definition at line 226 of file TPhotonIsEMSelector.h.

◆ m_forceNonConvertedPhotonPID

bool Root::TPhotonIsEMSelector::m_forceNonConvertedPhotonPID

boolean to force to test non converted photon hypothesis

Definition at line 228 of file TPhotonIsEMSelector.h.

◆ m_fracm_photonsConverted

std::vector<float> Root::TPhotonIsEMSelector::m_fracm_photonsConverted

Cut on fraction of energy outside core for photons.

Definition at line 311 of file TPhotonIsEMSelector.h.

◆ m_fracm_photonsNonConverted

std::vector<float> Root::TPhotonIsEMSelector::m_fracm_photonsNonConverted

Cut on fraction of energy outside core for photons.

Definition at line 268 of file TPhotonIsEMSelector.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::TPhotonIsEMSelector::m_isEMMask

which subset of cuts to apply

Definition at line 222 of file TPhotonIsEMSelector.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_Reta37_photonsConverted

std::vector<float> Root::TPhotonIsEMSelector::m_Reta37_photonsConverted

ratio E237/E277

Definition at line 288 of file TPhotonIsEMSelector.h.

◆ m_Reta37_photonsNonConverted

std::vector<float> Root::TPhotonIsEMSelector::m_Reta37_photonsNonConverted

ratio E237/E277

Definition at line 245 of file TPhotonIsEMSelector.h.

◆ m_Rphi33_photonsConverted

std::vector<float> Root::TPhotonIsEMSelector::m_Rphi33_photonsConverted

ratio E233/E237

Definition at line 290 of file TPhotonIsEMSelector.h.

◆ m_Rphi33_photonsNonConverted

std::vector<float> Root::TPhotonIsEMSelector::m_Rphi33_photonsNonConverted

ratio E233/E237

Definition at line 247 of file TPhotonIsEMSelector.h.

◆ m_w1_photonsConverted

std::vector<float> Root::TPhotonIsEMSelector::m_w1_photonsConverted

Cut on width in 3 strips for photons.

Definition at line 313 of file TPhotonIsEMSelector.h.

◆ m_w1_photonsNonConverted

std::vector<float> Root::TPhotonIsEMSelector::m_w1_photonsNonConverted

Cut on width in 3 strips for photons.

Definition at line 270 of file TPhotonIsEMSelector.h.

◆ m_weta2_photonsConverted

std::vector<float> Root::TPhotonIsEMSelector::m_weta2_photonsConverted

Cut on width in 2nd sampling for photons.

Definition at line 292 of file TPhotonIsEMSelector.h.

◆ m_weta2_photonsNonConverted

std::vector<float> Root::TPhotonIsEMSelector::m_weta2_photonsNonConverted

Cut on width in 2nd sampling for photons.

Definition at line 249 of file TPhotonIsEMSelector.h.

◆ m_wtot_photonsConverted

std::vector<float> Root::TPhotonIsEMSelector::m_wtot_photonsConverted

Cut on total width in strips for photons.

Definition at line 309 of file TPhotonIsEMSelector.h.

◆ m_wtot_photonsNonConverted

std::vector<float> Root::TPhotonIsEMSelector::m_wtot_photonsNonConverted

Cut on total width in strips for photons.

Definition at line 266 of file TPhotonIsEMSelector.h.


The documentation for this class was generated from the following files:
Root::TPhotonIsEMSelector::m_cutNameClusterMiddleEratio37_Photon
const std::string m_cutNameClusterMiddleEratio37_Photon
energy ratio in 2nd sampling
Definition: TPhotonIsEMSelector.h:388
Root::TPhotonIsEMSelector::m_cutNameClusterEtaRange_Photon
const std::string m_cutNameClusterEtaRange_Photon
cluster eta range
Definition: TPhotonIsEMSelector.h:380
AthMessaging::m_lvl
std::atomic< MSG::Level > m_lvl
Current logging level.
Definition: AthMessaging.h:138
Root::TPhotonIsEMSelector::m_cutNameClusterStripsEratio_Photon
const std::string m_cutNameClusterStripsEratio_Photon
fraction of energy found in 1st sampling
Definition: TPhotonIsEMSelector.h:394
egammaPID::ClusterBackEnergyFraction_Photon
@ ClusterBackEnergyFraction_Photon
energy fraction in the third layer
Definition: egammaPIDdefs.h:166
Root::TPhotonIsEMSelector::m_cutBinMuStrips_photonsNonConverted
std::vector< float > m_cutBinMuStrips_photonsNonConverted
binning in pielup in strips for photons
Definition: TPhotonIsEMSelector.h:256
et
Extra patterns decribing particle interation process.
Root::TPhotonIsEMSelector::m_cutPositionClusterHadronicLeakage_Photon
int m_cutPositionClusterHadronicLeakage_Photon
cluster leakage into the hadronic calorimeter
Definition: TPhotonIsEMSelector.h:343
Root::TPhotonIsEMSelector::m_cutNameTrackIsolation_Photon
const std::string m_cutNameTrackIsolation_Photon
tracker isolation for photon selection
Definition: TPhotonIsEMSelector.h:416
Root::TPhotonIsEMSelector::m_cutBinEta_photonsNonConverted
std::vector< float > m_cutBinEta_photonsNonConverted
range of eta bins for photon-ID
Definition: TPhotonIsEMSelector.h:235
Root::TPhotonIsEMSelector::calocuts_photonsNonConverted
unsigned int calocuts_photonsNonConverted(float eta2, double et, float Rhad1, float Rhad, float e277, float Reta, float Rphi, float weta2c, float f1, float Eratio, float DeltaE, float weta1c, float wtot, float fracm, float f3, unsigned int iflag, float mu) const
Apply calorimeter cuts for selection of non converted photons.
Definition: TPhotonIsEMSelector.cxx:464
Root::TPhotonIsEMSelector::m_cutPositionClusterMiddleWidth_Photon
int m_cutPositionClusterMiddleWidth_Photon
width in the second sampling
Definition: TPhotonIsEMSelector.h:351
ParticleGun_SamplingFraction.eta2
eta2
Definition: ParticleGun_SamplingFraction.py:96
xAOD::EgammaParameters::Reta
@ Reta
e237/e277
Definition: EgammaEnums.h:154
Root::TPhotonIsEMSelector::m_cutNameClusterStripsWeta1c_Photon
const std::string m_cutNameClusterStripsWeta1c_Photon
shower width weighted by distance from the maximum one
Definition: TPhotonIsEMSelector.h:404
egammaPID::ClusterHadronicLeakage_Photon
@ ClusterHadronicLeakage_Photon
cluster leakage into the hadronic calorimeter
Definition: egammaPIDdefs.h:168
Root::TPhotonIsEMSelector::m_f1_photonsConverted
std::vector< float > m_f1_photonsConverted
Cut on fraction of energy rec.
Definition: TPhotonIsEMSelector.h:301
Root::TPhotonIsEMSelector::m_e277_photonsNonConverted
std::vector< float > m_e277_photonsNonConverted
Cut in E277 for photons.
Definition: TPhotonIsEMSelector.h:241
egammaPID::ClusterStripsDeltaE_Photon
@ ClusterStripsDeltaE_Photon
difference between 2nd maximum and 1st minimum in strips (e2tsts1-emins1)
Definition: egammaPIDdefs.h:182
Root::TPhotonIsEMSelector::m_deltae_photonsNonConverted
std::vector< float > m_deltae_photonsNonConverted
Cut on Demax2 for photons.
Definition: TPhotonIsEMSelector.h:262
Root::TPhotonIsEMSelector::m_cutPositionClusterStripsWtot_Photon
int m_cutPositionClusterStripsWtot_Photon
shower width in 1st sampling
Definition: TPhotonIsEMSelector.h:359
Root::TPhotonIsEMSelector::m_cutPositionIsolation_Photon
int m_cutPositionIsolation_Photon
isolation
Definition: TPhotonIsEMSelector.h:371
Root::TPhotonIsEMSelector::m_cutBinMuStrips_photonsConverted
std::vector< float > m_cutBinMuStrips_photonsConverted
binning in pileup in strips for photons
Definition: TPhotonIsEMSelector.h:299
Root::TPhotonIsEMSelector::m_cutBinEnergyStrips_photonsNonConverted
std::vector< float > m_cutBinEnergyStrips_photonsNonConverted
Definition: TPhotonIsEMSelector.h:254
Root::TPhotonIsEMSelector::m_cutminEp_photonsConverted
std::vector< float > m_cutminEp_photonsConverted
cut min on E/p for e-ID
Definition: TPhotonIsEMSelector.h:315
Root::TPhotonIsEMSelector::m_cutPositionClusterStripsEratio_Photon
int m_cutPositionClusterStripsEratio_Photon
fraction of energy found in 1st sampling
Definition: TPhotonIsEMSelector.h:353
Root::TPhotonIsEMSelector::m_wtot_photonsConverted
std::vector< float > m_wtot_photonsConverted
Cut on total width in strips for photons.
Definition: TPhotonIsEMSelector.h:309
Root::TPhotonIsEMSelector::m_cutNameClusterMiddleEratio33_Photon
const std::string m_cutNameClusterMiddleEratio33_Photon
energy ratio in 2nd sampling for photons
Definition: TPhotonIsEMSelector.h:390
Root::TPhotonIsEMSelector::m_cutBinEnergy_photonsConverted
std::vector< float > m_cutBinEnergy_photonsConverted
range of ET bins for photon-ID
Definition: TPhotonIsEMSelector.h:280
vec
std::vector< size_t > vec
Definition: CombinationsGeneratorTest.cxx:12
Root::TPhotonIsEMSelector::calocuts_photonsConverted
unsigned int calocuts_photonsConverted(float eta2, double et, float Rhad1, float Rhad, float e277, float Reta, float Rphi, float weta2c, float f1, float Eratio, float DeltaE, float weta1c, float wtot, float fracm, float f3, double ep, unsigned int iflag, float mu) const
Apply calorimeter cuts for selection of converted photons.
Definition: TPhotonIsEMSelector.cxx:726
Root::TPhotonIsEMSelector::m_Rphi33_photonsNonConverted
std::vector< float > m_Rphi33_photonsNonConverted
ratio E233/E237
Definition: TPhotonIsEMSelector.h:247
xAOD::EgammaParameters::Rphi
@ Rphi
e233/e237
Definition: EgammaEnums.h:156
Root::TPhotonIsEMSelector::m_Reta37_photonsNonConverted
std::vector< float > m_Reta37_photonsNonConverted
ratio E237/E277
Definition: TPhotonIsEMSelector.h:245
Root::TPhotonIsEMSelector::m_cutNameClusterMiddleEnergy_Photon
const std::string m_cutNameClusterMiddleEnergy_Photon
energy in 2nd sampling (e277)
Definition: TPhotonIsEMSelector.h:386
Root::TPhotonIsEMSelector::m_fracm_photonsNonConverted
std::vector< float > m_fracm_photonsNonConverted
Cut on fraction of energy outside core for photons.
Definition: TPhotonIsEMSelector.h:268
Root::TPhotonIsEMSelector::m_cutNameClusterStripsWtot_Photon
const std::string m_cutNameClusterStripsWtot_Photon
shower width in 1st sampling
Definition: TPhotonIsEMSelector.h:400
Root::TPhotonIsEMSelector::m_cutPositionClusterMiddleEratio33_Photon
int m_cutPositionClusterMiddleEratio33_Photon
energy ratio in 2nd sampling for photons
Definition: TPhotonIsEMSelector.h:349
Root::TPhotonIsEMSelector::m_cutPositionClusterIsolation_Photon
int m_cutPositionClusterIsolation_Photon
calorimetric isolation for photon selection
Definition: TPhotonIsEMSelector.h:373
AthMessaging::m_imsg
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
Definition: AthMessaging.h:135
Trk::u
@ u
Enums for curvilinear frames.
Definition: ParamDefs.h:83
Athena::getMessageSvc
IMessageSvc * getMessageSvc(bool quiet=false)
Definition: getMessageSvc.cxx:20
Root::TPhotonIsEMSelector::m_cutNameClusterBackEnergyFraction_Photon
const std::string m_cutNameClusterBackEnergyFraction_Photon
energy fraction in the third layer
Definition: TPhotonIsEMSelector.h:382
egammaPID::ClusterStripsWtot_Photon
@ ClusterStripsWtot_Photon
shower width in 1st sampling
Definition: egammaPIDdefs.h:184
python.utils.AtlRunQueryLookup.mask
string mask
Definition: AtlRunQueryLookup.py:460
Root::TPhotonIsEMSelector::m_Reta37_photonsConverted
std::vector< float > m_Reta37_photonsConverted
ratio E237/E277
Definition: TPhotonIsEMSelector.h:288
egammaPID::ClusterStripsEratio_Photon
@ ClusterStripsEratio_Photon
fraction of energy found in 1st sampling
Definition: egammaPIDdefs.h:178
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
Root::TPhotonIsEMSelector::calcIsEm
unsigned int calcIsEm(float eta2, double et, float Rhad1, float Rhad, float e277, float Reta, float Rphi, float weta2c, float f1, float Eratio, float DeltaE, float weta1c, float wtot, float fracm, float f3, double ep, bool isConversion, float mu) const
Definition: TPhotonIsEMSelector.cxx:355
Root::TPhotonIsEMSelector::m_cutBinEtaStrips_photonsConverted
std::vector< float > m_cutBinEtaStrips_photonsConverted
binning in eta in strips for photons
Definition: TPhotonIsEMSelector.h:295
Root::TPhotonIsEMSelector::m_DEmaxs1_photonsNonConverted
std::vector< float > m_DEmaxs1_photonsNonConverted
cut on (Emax1-Emax2)/(Emax1-Emax2) for photons
Definition: TPhotonIsEMSelector.h:264
Root::TPhotonIsEMSelector::m_cutPositionTrackIsolation_Photon
int m_cutPositionTrackIsolation_Photon
tracker isolation for photon selection
Definition: TPhotonIsEMSelector.h:375
xAOD::EgammaParameters::f3
@ f3
fraction of energy reconstructed in 3rd sampling
Definition: EgammaEnums.h:54
Root::TPhotonIsEMSelector::m_cutPositionClusterStripsDEmaxs1_Photon
int m_cutPositionClusterStripsDEmaxs1_Photon
difference between max and 2nd max in strips
Definition: TPhotonIsEMSelector.h:365
TrigConf::MSGTC::Level
Level
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:21
Root::TPhotonIsEMSelector::m_cutPositionTrackMatchEoverP_Photon
int m_cutPositionTrackMatchEoverP_Photon
energy-momentum match for photon selection
Definition: TPhotonIsEMSelector.h:367
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
Root::TPhotonIsEMSelector::m_cutHadLeakage_photonsNonConverted
std::vector< float > m_cutHadLeakage_photonsNonConverted
Cut on hadronic leakage for photons.
Definition: TPhotonIsEMSelector.h:243
egammaPID::ClusterMiddleEnergy_Photon
@ ClusterMiddleEnergy_Photon
energy in 2nd sampling (e277)
Definition: egammaPIDdefs.h:170
lumiFormat.i
int i
Definition: lumiFormat.py:92
Root::TPhotonIsEMSelector::m_cutF3_photonsConverted
std::vector< float > m_cutF3_photonsConverted
cut values for cut on f3 or f3core
Definition: TPhotonIsEMSelector.h:319
Root::TPhotonIsEMSelector::m_deltae_photonsConverted
std::vector< float > m_deltae_photonsConverted
Cut on Demax2 for photons.
Definition: TPhotonIsEMSelector.h:305
Root::TPhotonIsEMSelector::m_cutBinEtaStrips_photonsNonConverted
std::vector< float > m_cutBinEtaStrips_photonsNonConverted
binning in eta in strips for photons
Definition: TPhotonIsEMSelector.h:252
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Root::TPhotonIsEMSelector::m_cutNameIsolation_Photon
const std::string m_cutNameIsolation_Photon
isolation
Definition: TPhotonIsEMSelector.h:412
Root::TPhotonIsEMSelector::m_cutNameClusterMiddleWidth_Photon
const std::string m_cutNameClusterMiddleWidth_Photon
width in the second sampling
Definition: TPhotonIsEMSelector.h:392
Root::TPhotonIsEMSelector::m_cutPositionClusterEtaRange_Photon
int m_cutPositionClusterEtaRange_Photon
cluster eta range
Definition: TPhotonIsEMSelector.h:339
Root::TPhotonIsEMSelector::m_cutBinEnergyStrips_photonsConverted
std::vector< float > m_cutBinEnergyStrips_photonsConverted
Definition: TPhotonIsEMSelector.h:297
Root::TPhotonIsEMSelector::m_acceptInfo
asg::AcceptInfo m_acceptInfo
Accept info.
Definition: TPhotonIsEMSelector.h:334
Root::TPhotonIsEMSelector::m_cutPositionClusterStripsWeta1c_Photon
int m_cutPositionClusterStripsWeta1c_Photon
shower width weighted by distance from the maximum one
Definition: TPhotonIsEMSelector.h:363
Root::TPhotonIsEMSelector::m_cutBinMu_photonsConverted
std::vector< float > m_cutBinMu_photonsConverted
range of mu bins for photon-ID
Definition: TPhotonIsEMSelector.h:282
Root::TPhotonIsEMSelector::m_wtot_photonsNonConverted
std::vector< float > m_wtot_photonsNonConverted
Cut on total width in strips for photons.
Definition: TPhotonIsEMSelector.h:266
Root::TPhotonIsEMSelector::m_cutPositionClusterBackEnergyFraction_Photon
int m_cutPositionClusterBackEnergyFraction_Photon
energy fraction in the third layer
Definition: TPhotonIsEMSelector.h:341
Root::TPhotonIsEMSelector::m_cutBinEta_photonsConverted
std::vector< float > m_cutBinEta_photonsConverted
range of eta bins for photon-ID
Definition: TPhotonIsEMSelector.h:278
xAOD::EgammaParameters::Rhad1
@ Rhad1
ethad1/et
Definition: EgammaEnums.h:162
egammaPID::ClusterEtaRange_Photon
@ ClusterEtaRange_Photon
cluster eta range
Definition: egammaPIDdefs.h:164
Root::TPhotonIsEMSelector::m_f1_photonsNonConverted
std::vector< float > m_f1_photonsNonConverted
Cut on fraction of energy rec.
Definition: TPhotonIsEMSelector.h:258
Root::TPhotonIsEMSelector::m_isEMMask
unsigned int m_isEMMask
which subset of cuts to apply
Definition: TPhotonIsEMSelector.h:222
Root::TPhotonIsEMSelector::m_cutNameClusterStripsFracm_Photon
const std::string m_cutNameClusterStripsFracm_Photon
shower shape in shower core 1st sampling
Definition: TPhotonIsEMSelector.h:402
egammaPID::ClusterMiddleEratio37_Photon
@ ClusterMiddleEratio37_Photon
energy ratio in 2nd sampling
Definition: egammaPIDdefs.h:172
Root::TPhotonIsEMSelector::m_weta2_photonsNonConverted
std::vector< float > m_weta2_photonsNonConverted
Cut on width in 2nd sampling for photons.
Definition: TPhotonIsEMSelector.h:249
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
asg::AsgMessaging
Class mimicking the AthMessaging class from the offline software.
Definition: AsgMessaging.h:40
Root::TPhotonIsEMSelector::m_cutPositionClusterStripsFracm_Photon
int m_cutPositionClusterStripsFracm_Photon
shower shape in shower core 1st sampling
Definition: TPhotonIsEMSelector.h:361
Root::TPhotonIsEMSelector::m_cutBinEnergy_photonsNonConverted
std::vector< float > m_cutBinEnergy_photonsNonConverted
range of ET bins for photon-ID
Definition: TPhotonIsEMSelector.h:237
Root::TPhotonIsEMSelector::m_weta2_photonsConverted
std::vector< float > m_weta2_photonsConverted
Cut on width in 2nd sampling for photons.
Definition: TPhotonIsEMSelector.h:292
Root::TPhotonIsEMSelector::m_forceNonConvertedPhotonPID
bool m_forceNonConvertedPhotonPID
boolean to force to test non converted photon hypothesis
Definition: TPhotonIsEMSelector.h:228
egammaPID::ClusterStripsDEmaxs1_Photon
@ ClusterStripsDEmaxs1_Photon
difference between max and 2nd max in strips
Definition: egammaPIDdefs.h:190
Root::TPhotonIsEMSelector::m_cutPositionAmbiguityResolution_Photon
int m_cutPositionAmbiguityResolution_Photon
ambiguity resolution for photon (vs electron)
Definition: TPhotonIsEMSelector.h:369
egammaPID::ClusterStripsFracm_Photon
@ ClusterStripsFracm_Photon
shower shape in shower core 1st sampling
Definition: egammaPIDdefs.h:186
egammaPID::TrackMatchEoverP_Photon
@ TrackMatchEoverP_Photon
energy-momentum match for photon selection
Definition: egammaPIDdefs.h:192
egammaPID::ClusterStripsWeta1c_Photon
@ ClusterStripsWeta1c_Photon
shower width weighted by distance from the maximum one
Definition: egammaPIDdefs.h:188
Root::TPhotonIsEMSelector::m_cutBinMu_photonsNonConverted
std::vector< float > m_cutBinMu_photonsNonConverted
range of mu bins for photon-ID
Definition: TPhotonIsEMSelector.h:239
Root::TPhotonIsEMSelector::m_cutNameClusterStripsDEmaxs1_Photon
const std::string m_cutNameClusterStripsDEmaxs1_Photon
difference between max and 2nd max in strips
Definition: TPhotonIsEMSelector.h:406
Root::TPhotonIsEMSelector::m_cutmaxEp_photonsConverted
std::vector< float > m_cutmaxEp_photonsConverted
cut max on E/p for e-ID
Definition: TPhotonIsEMSelector.h:317
Root::TPhotonIsEMSelector::m_cutPositionClusterStripsDeltaE_Photon
int m_cutPositionClusterStripsDeltaE_Photon
energy of 2nd maximum in 1st sampling ~e2tsts1/(1000+const_lumi*et)
Definition: TPhotonIsEMSelector.h:357
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
Root::TPhotonIsEMSelector::m_cutNameClusterHadronicLeakage_Photon
const std::string m_cutNameClusterHadronicLeakage_Photon
cluster leakage into the hadronic calorimeter
Definition: TPhotonIsEMSelector.h:384
Root::TPhotonIsEMSelector::m_w1_photonsConverted
std::vector< float > m_w1_photonsConverted
Cut on width in 3 strips for photons.
Definition: TPhotonIsEMSelector.h:313
AthMessaging::m_nm
std::string m_nm
Message source name.
Definition: AthMessaging.h:129
Root::TPhotonIsEMSelector::m_w1_photonsNonConverted
std::vector< float > m_w1_photonsNonConverted
Cut on width in 3 strips for photons.
Definition: TPhotonIsEMSelector.h:270
Root::TPhotonIsEMSelector::checkVar
bool checkVar(const std::vector< T > &vec, int choice) const
Method that check vector size.
Definition: TPhotonIsEMSelector.cxx:1013
Root::TPhotonIsEMSelector::m_fracm_photonsConverted
std::vector< float > m_fracm_photonsConverted
Cut on fraction of energy outside core for photons.
Definition: TPhotonIsEMSelector.h:311
Root::TPhotonIsEMSelector::m_cutNameClusterIsolation_Photon
const std::string m_cutNameClusterIsolation_Photon
calorimetric isolation for photon selection
Definition: TPhotonIsEMSelector.h:414
python.AtlRunQueryAMI.choice
int choice
Definition: AtlRunQueryAMI.py:210
xAOD::EgammaParameters::e277
@ e277
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 7x7
Definition: EgammaEnums.h:80
Root::TPhotonIsEMSelector::m_cutPositionClusterMiddleEratio37_Photon
int m_cutPositionClusterMiddleEratio37_Photon
energy ratio in 2nd sampling
Definition: TPhotonIsEMSelector.h:347
Root::TPhotonIsEMSelector::m_e277_photonsConverted
std::vector< float > m_e277_photonsConverted
Cut in E277 for photons.
Definition: TPhotonIsEMSelector.h:284
xAOD::EgammaParameters::Eratio
@ Eratio
(emaxs1-e2tsts1)/(emaxs1+e2tsts1)
Definition: EgammaEnums.h:158
Root::TPhotonIsEMSelector::m_cutNameTrackMatchEoverP_Photon
const std::string m_cutNameTrackMatchEoverP_Photon
energy-momentum match for photon selection
Definition: TPhotonIsEMSelector.h:408
xAOD::EgammaParameters::Rhad
@ Rhad
ethad/et
Definition: EgammaEnums.h:160
asg::AcceptData
Definition: AcceptData.h:30
Root::TPhotonIsEMSelector::m_cutF3_photonsNonConverted
std::vector< float > m_cutF3_photonsNonConverted
cut values for cut on f3 or f3core
Definition: TPhotonIsEMSelector.h:272
Root::TPhotonIsEMSelector::m_cutPositionClusterMiddleEnergy_Photon
int m_cutPositionClusterMiddleEnergy_Photon
energy in 2nd sampling (e277)
Definition: TPhotonIsEMSelector.h:345
xAOD::EgammaParameters::DeltaE
@ DeltaE
e2tsts1-emins1
Definition: EgammaEnums.h:164
CaloNoise_fillDB.mu
mu
Definition: CaloNoise_fillDB.py:53
Root::TPhotonIsEMSelector::m_Rphi33_photonsConverted
std::vector< float > m_Rphi33_photonsConverted
ratio E233/E237
Definition: TPhotonIsEMSelector.h:290
Root::TPhotonIsEMSelector::fillAccept
asg::AcceptData fillAccept(unsigned int isEM) const
Definition: TPhotonIsEMSelector.cxx:272
python.AutoConfigFlags.msg
msg
Definition: AutoConfigFlags.py:7
Root::TPhotonIsEMSelector::m_cutHadLeakage_photonsConverted
std::vector< float > m_cutHadLeakage_photonsConverted
Cut on hadronic leakage for photons.
Definition: TPhotonIsEMSelector.h:286
Root::TPhotonIsEMSelector::m_forceConvertedPhotonPID
bool m_forceConvertedPhotonPID
boolean to force to test converted photon hypothesis
Definition: TPhotonIsEMSelector.h:226
egammaPID::ClusterMiddleWidth_Photon
@ ClusterMiddleWidth_Photon
width in the second sampling
Definition: egammaPIDdefs.h:176
egammaPID::ClusterMiddleEratio33_Photon
@ ClusterMiddleEratio33_Photon
energy ratio in 2nd sampling for photons
Definition: egammaPIDdefs.h:174
Root::TPhotonIsEMSelector::m_cutNameClusterStripsDeltaE_Photon
const std::string m_cutNameClusterStripsDeltaE_Photon
energy of 2nd maximum in 1st sampling ~e2tsts1/(1000+const_lumi*et)
Definition: TPhotonIsEMSelector.h:398
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::TPhotonIsEMSelector::m_DEmaxs1_photonsConverted
std::vector< float > m_DEmaxs1_photonsConverted
cut on (Emax1-Emax2)/(Emax1-Emax2) for photons
Definition: TPhotonIsEMSelector.h:307
Root::TPhotonIsEMSelector::m_cutNameAmbiguityResolution_Photon
const std::string m_cutNameAmbiguityResolution_Photon
ambiguity resolution for photon (vs electron)
Definition: TPhotonIsEMSelector.h:410