CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Static Public Member Functions | Private Attributes
egHLT::OffEgSel Class Reference

#include <EgHLTOffEgSel.h>

Public Member Functions

const EgCutValuesebCuts () const
 
const EgCutValueseeCuts () const
 
int getCutCode (const OffEle &ele, int cutMask=~0x0) const
 
int getCutCode (const OffPho &pho, int cutMask=~0x0) const
 
 OffEgSel ()
 
 OffEgSel (const edm::ParameterSet &config)
 
bool passCuts (const OffEle &ele, int cutMask=~0x0) const
 
bool passCuts (const OffPho &pho, int cutMask=~0x0) const
 
void setEBCuts (const EgCutValues &cuts)
 
void setEECuts (const EgCutValues &cuts)
 
void setup (const edm::ParameterSet &)
 
 ~OffEgSel ()
 

Static Public Member Functions

static int getCutCode (const OffEle &ele, const EgCutValues &cuts, int cutMask=~0x0)
 
static int getCutCode (const OffPho &pho, const EgCutValues &cuts, int cutMask=~0x0)
 

Private Attributes

EgCutValues ebCutValues_
 
EgCutValues eeCutValues_
 

Detailed Description

Definition at line 24 of file EgHLTOffEgSel.h.

Constructor & Destructor Documentation

egHLT::OffEgSel::OffEgSel ( )
inline

Definition at line 32 of file EgHLTOffEgSel.h.

32 {}//default, it doesnt to anything
egHLT::OffEgSel::OffEgSel ( const edm::ParameterSet config)
inlineexplicit

Definition at line 33 of file EgHLTOffEgSel.h.

References setup().

33 {setup(config);}
void setup(const edm::ParameterSet &)
egHLT::OffEgSel::~OffEgSel ( )
inline

Definition at line 34 of file EgHLTOffEgSel.h.

34 {} //we own nothing so default destructor, copy and assignment okay

Member Function Documentation

const EgCutValues& egHLT::OffEgSel::ebCuts ( ) const
inline

Definition at line 48 of file EgHLTOffEgSel.h.

References ebCutValues_.

48 {return ebCutValues_;}
EgCutValues ebCutValues_
Definition: EgHLTOffEgSel.h:28
const EgCutValues& egHLT::OffEgSel::eeCuts ( ) const
inline

Definition at line 49 of file EgHLTOffEgSel.h.

References eeCutValues_.

49 {return eeCutValues_;}
EgCutValues eeCutValues_
Definition: EgHLTOffEgSel.h:29
int OffEgSel::getCutCode ( const OffEle ele,
int  cutMask = ~0x0 
) const

Definition at line 18 of file EgHLTOffEgSel.cc.

References egHLT::OffEle::detEta(), ebCutValues_, and eeCutValues_.

Referenced by egHLT::OffHelper::fillOffEleVec(), egHLT::OffHelper::fillOffPhoVec(), getCutCode(), and passCuts().

19 {
20  if(fabs(ele.detEta())<1.5) return getCutCode(ele,ebCutValues_,cutMask);
21  else return getCutCode(ele,eeCutValues_,cutMask);
22 }
float detEta() const
Definition: EgHLTOffEle.h:125
int getCutCode(const OffEle &ele, int cutMask=~0x0) const
EgCutValues eeCutValues_
Definition: EgHLTOffEgSel.h:29
EgCutValues ebCutValues_
Definition: EgHLTOffEgSel.h:28
int OffEgSel::getCutCode ( const OffEle ele,
const EgCutValues cuts,
int  cutMask = ~0x0 
)
static

Definition at line 24 of file EgHLTOffEgSel.cc.

References egHLT::OffEle::caloEnergy(), egHLT::EgCutCodes::CRACK, egHLT::EgCutCodes::CTFTRACK, egHLT::OffEle::ctfTrack(), egHLT::OffEle::ctfTrkHitsFound(), egHLT::OffEle::ctfTrkHitsLost(), egHLT::OffEle::ctfTrkInnerRadius(), egHLT::OffEle::ctfTrkOuterRadius(), egHLT::EgCutValues::cutMask, egHLT::EgCutCodes::DETAIN, egHLT::OffEle::dEtaIn(), egHLT::EgCutCodes::DETETA, egHLT::EgCutCodes::DPHIIN, egHLT::OffEle::dPhiIn(), egHLT::EgCutCodes::ET, egHLT::OffEle::et(), egHLT::OffEle::etaSC(), egHLT::EgCutCodes::HADEM, egHLT::EgCutCodes::HLTDETAIN, egHLT::OffEle::hltDEtaIn(), egHLT::EgCutCodes::HLTDPHIIN, egHLT::OffEle::hltDPhiIn(), egHLT::EgCutCodes::HLTINVEINVP, egHLT::OffEle::hltInvEInvP(), egHLT::EgCutCodes::HLTISOLEM, egHLT::OffEle::hltIsolEm(), egHLT::EgCutCodes::HLTISOLHAD, egHLT::OffEle::hltIsolHad(), egHLT::EgCutCodes::HLTISOLTRKSELE, egHLT::OffEle::hltIsolTrksEle(), egHLT::EgCutCodes::HLTISOLTRKSPHO, egHLT::OffEle::hltIsolTrksPho(), egHLT::OffEle::hOverE(), egHLT::EgCutCodes::INVEINVP, egHLT::OffEle::invEInvP(), egHLT::OffEle::isGap(), egHLT::EgCutCodes::ISOLEM, egHLT::OffEle::isolEm(), egHLT::EgCutValues::isolEmConstTerm, egHLT::EgCutValues::isolEmGradStart, egHLT::EgCutValues::isolEmGradTerm, egHLT::EgCutCodes::ISOLHAD, egHLT::OffEle::isolHad(), egHLT::EgCutValues::isolHadConstTerm, egHLT::EgCutValues::isolHadGradStart, egHLT::EgCutValues::isolHadGradTerm, egHLT::EgCutCodes::ISOLPTTRKS, egHLT::OffEle::isolPtTrks(), egHLT::EgCutValues::isolPtTrksConstTerm, egHLT::EgCutValues::isolPtTrksGradStart, egHLT::EgCutValues::isolPtTrksGradTerm, egHLT::EgCutValues::maxCTFTrkInnerRadius, egHLT::EgCutValues::maxDEtaIn, egHLT::EgCutValues::maxDPhiIn, egHLT::EgCutValues::maxEta, egHLT::EgCutValues::maxHadem, egHLT::EgCutValues::maxHadEnergy, egHLT::EgCutValues::maxHLTDEtaIn, egHLT::EgCutValues::maxHLTDPhiIn, egHLT::EgCutValues::maxHLTInvEInvP, egHLT::EgCutValues::maxHLTIsolEm, egHLT::EgCutValues::maxHLTIsolEmOverEt, egHLT::EgCutValues::maxHLTIsolEmOverEt2, egHLT::EgCutValues::maxHLTIsolHad, egHLT::EgCutValues::maxHLTIsolHadOverEt, egHLT::EgCutValues::maxHLTIsolHadOverEt2, egHLT::EgCutValues::maxHLTIsolTrksEle, egHLT::EgCutValues::maxHLTIsolTrksEleOverPt, egHLT::EgCutValues::maxHLTIsolTrksEleOverPt2, egHLT::EgCutValues::maxHLTIsolTrksPho, egHLT::EgCutValues::maxHLTIsolTrksPhoOverPt, egHLT::EgCutValues::maxHLTIsolTrksPhoOverPt2, egHLT::EgCutValues::maxInvEInvP, egHLT::EgCutValues::maxNrCTFTrkHitsLost, egHLT::EgCutValues::maxR9, egHLT::EgCutCodes::MAXR9, egHLT::EgCutValues::maxSigmaEtaEta, egHLT::EgCutValues::maxSigmaIEtaIEta, egHLT::EgCutValues::minCTFTrkOuterRadius, egHLT::EgCutValues::minEt, egHLT::EgCutValues::minEta, egHLT::EgCutValues::minNrCTFTrkHits, egHLT::EgCutValues::minR9, egHLT::EgCutCodes::MINR9, egHLT::OffEle::r9(), egHLT::EgCutValues::requirePixelHitsIfOuterInOuter, egHLT::EgCutCodes::SIGMAETAETA, egHLT::OffEle::sigmaEtaEta(), egHLT::EgCutCodes::SIGMAIETAIETA, egHLT::OffEle::sigmaIEtaIEta(), and egHLT::OffEle::validCTFTrack().

25 {
26  int cutCode = 0x0;
27  //kinematic cuts
28  if(ele.et() < cuts.minEt) cutCode |= EgCutCodes::ET;
29  if(fabs(ele.etaSC()) < cuts.minEta || fabs(ele.etaSC()) > cuts.maxEta) cutCode |= EgCutCodes::DETETA;
30  if(ele.isGap()) cutCode |= EgCutCodes::CRACK;
31  //track cuts
32  if(fabs(ele.dEtaIn()) > cuts.maxDEtaIn ) cutCode |=EgCutCodes::DETAIN;
33  if(fabs(ele.dPhiIn()) > cuts.maxDPhiIn ) cutCode |=EgCutCodes::DPHIIN;
34  if(ele.invEInvP() > cuts.maxInvEInvP) cutCode |= EgCutCodes::INVEINVP;
35  //supercluster cuts
36  if(ele.hOverE() > cuts.maxHadem && ele.hOverE()*ele.caloEnergy() > cuts.maxHadEnergy) cutCode |= EgCutCodes::HADEM;
37  if(ele.sigmaIEtaIEta() > cuts.maxSigmaIEtaIEta) cutCode |= EgCutCodes::SIGMAIETAIETA;
38  if(ele.sigmaEtaEta() > cuts.maxSigmaEtaEta) cutCode |= EgCutCodes::SIGMAETAETA;
39  //---Morse-------
40  //if(ele.r9()<cuts.minR9) cutCode |= EgCutCodes::R9;
41  if(ele.r9() < cuts.minR9) cutCode |= EgCutCodes::MINR9;
42  if(ele.r9() > cuts.maxR9) cutCode |= EgCutCodes::MAXR9;
43  //----------------
44 
45  //std isolation cuts
46  if(ele.isolEm()>( cuts.isolEmConstTerm + cuts.isolEmGradTerm*(ele.et()<cuts.isolEmGradStart ? 0. : (ele.et()-cuts.isolEmGradStart)))) cutCode |=EgCutCodes::ISOLEM;
47  if(ele.isolHad()> (cuts.isolHadConstTerm + cuts.isolHadGradTerm*(ele.et()<cuts.isolHadGradStart ? 0. : (ele.et()-cuts.isolHadGradStart)))) cutCode |=EgCutCodes::ISOLHAD;
48  if(ele.isolPtTrks() > (cuts.isolPtTrksConstTerm + cuts.isolPtTrksGradTerm*(ele.et()<cuts.isolPtTrksGradStart ? 0. : (ele.et()-cuts.isolPtTrksGradStart))))cutCode |=EgCutCodes::ISOLPTTRKS;
49  //ele Nr trks not defined, assume it passes
50  //hlt isolation cuts
51  if(ele.et()<=0.){//even it if et<=0, we give it a shot at passing isolation. Note this should be an impossible case
54  if(ele.hltIsolHad() > cuts.maxHLTIsolHad) cutCode |=EgCutCodes::HLTISOLHAD;
55  if(ele.hltIsolEm() > cuts.maxHLTIsolEm) cutCode |=EgCutCodes::HLTISOLEM;
56  }else{
57  if(ele.hltIsolTrksEle() > cuts.maxHLTIsolTrksEle && ele.hltIsolTrksEle()/ele.et() > cuts.maxHLTIsolTrksEleOverPt &&
58  ele.hltIsolTrksEle()/ele.et()/ele.et() > cuts.maxHLTIsolTrksEleOverPt2 ) cutCode |=EgCutCodes::HLTISOLTRKSELE;
59  if(ele.hltIsolTrksPho() > cuts.maxHLTIsolTrksPho && ele.hltIsolTrksPho()/ele.et() > cuts.maxHLTIsolTrksPhoOverPt &&
60  ele.hltIsolTrksPho()/ele.et()/ele.et() > cuts.maxHLTIsolTrksPhoOverPt2 ) cutCode |=EgCutCodes::HLTISOLTRKSPHO;
61  if(ele.hltIsolHad() > cuts.maxHLTIsolHad && ele.hltIsolHad()/ele.et() > cuts.maxHLTIsolHadOverEt &&
62  ele.hltIsolHad()/ele.et()/ele.et() > cuts.maxHLTIsolHadOverEt2) cutCode |=EgCutCodes::HLTISOLHAD;
63  if(ele.hltIsolEm() > cuts.maxHLTIsolEm && ele.hltIsolEm()/ele.et() > cuts.maxHLTIsolEmOverEt &&
64  ele.hltIsolEm()/ele.et()/ele.et() > cuts.maxHLTIsolEmOverEt2) cutCode |=EgCutCodes::HLTISOLEM;
65  }
66 
67 
68  //cuts on CTF track, HLT tracking doesnt handle poor quaility tracks
69  if(ele.validCTFTrack()){
70  if(!(ele.ctfTrkOuterRadius() >= cuts.minCTFTrkOuterRadius && //note I'm NOTing the result of the AND
72 
73  ele.ctfTrkHitsFound() >= cuts.minNrCTFTrkHits &&
74  ele.ctfTrkHitsLost() <= cuts.maxNrCTFTrkHitsLost)) cutCode |=EgCutCodes::CTFTRACK; //the next line can also set this bit
76  DetId innerDetId(ele.ctfTrack()->extra()->innerDetId());
77  DetId outerDetId(ele.ctfTrack()->extra()->outerDetId());
78 
79  if(outerDetId.subdetId()>=5 && innerDetId.subdetId()>=3) cutCode |=EgCutCodes::CTFTRACK; //1,2 = pixel, 3,4,5,6 sistrip
80  }
81  // std::cout <<"eta "<<ele.detEta()<<" max inner "<<cuts.maxCTFTrkInnerRadius<<" inner "<<ele.ctfTrkInnerRadius()<<std::endl;
82  }else cutCode |=EgCutCodes::CTFTRACK;
83 
84  if(fabs(ele.hltDEtaIn()) > cuts.maxHLTDEtaIn) cutCode |=EgCutCodes::HLTDETAIN;
85  if(fabs(ele.hltDPhiIn()) > cuts.maxHLTDPhiIn) cutCode |=EgCutCodes::HLTDPHIIN;
86  if(fabs(ele.hltInvEInvP()) > cuts.maxHLTInvEInvP) cutCode |=EgCutCodes::HLTINVEINVP;
87 
88  return (cutCode & cuts.cutMask & cutMask);
89 }
int ctfTrkHitsFound() const
Definition: EgHLTOffEle.h:206
reco::TrackRef ctfTrack() const
Definition: EgHLTOffEle.h:191
float caloEnergy() const
Definition: EgHLTOffEle.h:123
float r9() const
Definition: EgHLTOffEle.h:160
float invEInvP() const
Definition: EgHLTOffEle.h:163
float et() const
Definition: EgHLTOffEle.h:117
float ctfTrkInnerRadius() const
Definition: EgHLTOffEle.h:204
bool validCTFTrack() const
Definition: EgHLTOffEle.h:193
float dPhiIn() const
Definition: EgHLTOffEle.h:145
float hltDPhiIn() const
Definition: EgHLTOffEle.h:180
float isolEm() const
Definition: EgHLTOffEle.h:167
float hltInvEInvP() const
Definition: EgHLTOffEle.h:181
float dEtaIn() const
Definition: EgHLTOffEle.h:144
float etaSC() const
Definition: EgHLTOffEle.h:124
bool isGap() const
Definition: EgHLTOffEle.h:132
float sigmaIEtaIEta() const
Definition: EgHLTOffEle.h:154
float sigmaEtaEta() const
Definition: EgHLTOffEle.cc:5
float hltIsolHad() const
Definition: EgHLTOffEle.h:175
Definition: DetId.h:18
int ctfTrkHitsLost() const
Definition: EgHLTOffEle.h:207
float hltIsolTrksPho() const
Definition: EgHLTOffEle.h:174
float isolPtTrks() const
Definition: EgHLTOffEle.h:171
float ctfTrkOuterRadius() const
Definition: EgHLTOffEle.h:205
float hltIsolTrksEle() const
Definition: EgHLTOffEle.h:173
float hltDEtaIn() const
Definition: EgHLTOffEle.h:179
float hOverE() const
Definition: EgHLTOffEle.h:143
float isolHad() const
Definition: EgHLTOffEle.h:168
float hltIsolEm() const
Definition: EgHLTOffEle.h:176
int OffEgSel::getCutCode ( const OffPho pho,
int  cutMask = ~0x0 
) const

Definition at line 91 of file EgHLTOffEgSel.cc.

References egHLT::OffPho::detEta(), ebCutValues_, eeCutValues_, and getCutCode().

92 {
93  if(fabs(pho.detEta())<1.5) return getCutCode(pho,ebCutValues_,cutMask);
94  else return getCutCode(pho,eeCutValues_,cutMask);
95 }
int getCutCode(const OffEle &ele, int cutMask=~0x0) const
EgCutValues eeCutValues_
Definition: EgHLTOffEgSel.h:29
float detEta() const
Definition: EgHLTOffPho.h:108
EgCutValues ebCutValues_
Definition: EgHLTOffEgSel.h:28
int OffEgSel::getCutCode ( const OffPho pho,
const EgCutValues cuts,
int  cutMask = ~0x0 
)
static

Definition at line 98 of file EgHLTOffEgSel.cc.

References egHLT::EgCutCodes::CRACK, egHLT::EgCutCodes::CTFTRACK, egHLT::EgCutValues::cutMask, egHLT::EgCutCodes::DETAIN, egHLT::EgCutCodes::DETETA, egHLT::EgCutCodes::DPHIIN, egHLT::OffPho::energy(), egHLT::EgCutCodes::ET, egHLT::OffPho::et(), egHLT::OffPho::etaSC(), egHLT::EgCutCodes::HADEM, egHLT::EgCutCodes::HLTDETAIN, egHLT::EgCutCodes::HLTDPHIIN, egHLT::EgCutCodes::HLTINVEINVP, egHLT::EgCutCodes::HLTISOLEM, egHLT::OffPho::hltIsolEm(), egHLT::EgCutCodes::HLTISOLHAD, egHLT::OffPho::hltIsolHad(), egHLT::OffPho::hltIsolTrks(), egHLT::EgCutCodes::HLTISOLTRKSELE, egHLT::EgCutCodes::HLTISOLTRKSPHO, egHLT::OffPho::hOverE(), egHLT::EgCutCodes::INVEINVP, egHLT::OffPho::isGap(), egHLT::EgCutCodes::ISOLEM, egHLT::OffPho::isolEm(), egHLT::EgCutValues::isolEmConstTerm, egHLT::EgCutValues::isolEmGradStart, egHLT::EgCutValues::isolEmGradTerm, egHLT::EgCutCodes::ISOLHAD, egHLT::OffPho::isolHad(), egHLT::EgCutValues::isolHadConstTerm, egHLT::EgCutValues::isolHadGradStart, egHLT::EgCutValues::isolHadGradTerm, egHLT::EgCutCodes::ISOLNRTRKS, egHLT::OffPho::isolNrTrks(), egHLT::EgCutValues::isolNrTrksConstTerm, egHLT::EgCutCodes::ISOLPTTRKS, egHLT::OffPho::isolPtTrks(), egHLT::EgCutValues::isolPtTrksConstTerm, egHLT::EgCutValues::isolPtTrksGradStart, egHLT::EgCutValues::isolPtTrksGradTerm, egHLT::EgCutValues::maxEta, egHLT::EgCutValues::maxHadem, egHLT::EgCutValues::maxHadEnergy, egHLT::EgCutValues::maxHLTIsolEm, egHLT::EgCutValues::maxHLTIsolEmOverEt, egHLT::EgCutValues::maxHLTIsolEmOverEt2, egHLT::EgCutValues::maxHLTIsolHad, egHLT::EgCutValues::maxHLTIsolHadOverEt, egHLT::EgCutValues::maxHLTIsolHadOverEt2, egHLT::EgCutValues::maxHLTIsolTrksPho, egHLT::EgCutValues::maxHLTIsolTrksPhoOverPt, egHLT::EgCutValues::maxHLTIsolTrksPhoOverPt2, egHLT::EgCutValues::maxR9, egHLT::EgCutCodes::MAXR9, egHLT::EgCutValues::maxSigmaEtaEta, egHLT::EgCutValues::maxSigmaIEtaIEta, egHLT::EgCutValues::minEt, egHLT::EgCutValues::minEta, egHLT::EgCutValues::minR9, egHLT::EgCutCodes::MINR9, egHLT::OffPho::r9(), egHLT::EgCutCodes::SIGMAETAETA, egHLT::OffPho::sigmaEtaEta(), egHLT::EgCutCodes::SIGMAIETAIETA, and egHLT::OffPho::sigmaIEtaIEta().

99 {
100  int cutCode = 0x0;
101  //kinematic cuts
102  if(pho.et()< cuts.minEt) cutCode |= EgCutCodes::ET;
103  if(fabs(pho.etaSC())< cuts.minEta || fabs(pho.etaSC())>cuts.maxEta) cutCode |= EgCutCodes::DETETA;
104  if(pho.isGap()) cutCode |= EgCutCodes::CRACK;
105  //track cuts (all fail)
106  cutCode |=EgCutCodes::DETAIN;
107  cutCode |=EgCutCodes::DPHIIN;
108  cutCode |=EgCutCodes::INVEINVP;
109  //supercluster cuts
110  if(pho.hOverE()> cuts.maxHadem && pho.hOverE()*pho.energy()>cuts.maxHadEnergy) cutCode |= EgCutCodes::HADEM;
111  if(pho.sigmaIEtaIEta()>cuts.maxSigmaIEtaIEta) cutCode |= EgCutCodes::SIGMAIETAIETA;
112  if(pho.sigmaEtaEta()>cuts.maxSigmaEtaEta) cutCode |= EgCutCodes::SIGMAETAETA;
113  //----Morse--------
114  //if(pho.r9()<cuts.minR9) cutCode |= EgCutCodes::R9;
115  if(pho.r9()<cuts.minR9) cutCode |= EgCutCodes::MINR9;
116  if(pho.r9()>cuts.maxR9) cutCode |= EgCutCodes::MAXR9;
117  //----------------
118  //std isolation cuts
119  if(pho.isolEm()>( cuts.isolEmConstTerm + cuts.isolEmGradTerm*(pho.et()<cuts.isolEmGradStart ? 0. : (pho.et()-cuts.isolEmGradStart)))) cutCode |=EgCutCodes::ISOLEM;
120  if(pho.isolHad()> (cuts.isolHadConstTerm + cuts.isolHadGradTerm*(pho.et()<cuts.isolHadGradStart ? 0. : (pho.et()-cuts.isolHadGradStart)))) cutCode |=EgCutCodes::ISOLHAD;
121  if(pho.isolPtTrks() > (cuts.isolPtTrksConstTerm + cuts.isolPtTrksGradTerm*(pho.et()<cuts.isolPtTrksGradStart ? 0. : (pho.et()-cuts.isolPtTrksGradStart))))cutCode |=EgCutCodes::ISOLPTTRKS;
122  if(pho.isolNrTrks() > cuts.isolNrTrksConstTerm) cutCode |=EgCutCodes::ISOLNRTRKS;
123 
124  //hlt isolation cuts
125  cutCode |=EgCutCodes::HLTISOLTRKSELE; //automatically fails ele track isolation
126  if(pho.et()<=0.){ //even it if et<=0, we give it a shot at passing isolation. Note this should be an impossible case
127  if(pho.hltIsolTrks() > cuts.maxHLTIsolTrksPho) cutCode |=EgCutCodes::HLTISOLTRKSPHO;
128  if(pho.hltIsolHad() > cuts.maxHLTIsolHad) cutCode |=EgCutCodes::HLTISOLHAD;
129  if(pho.hltIsolEm() > cuts.maxHLTIsolEm) cutCode |=EgCutCodes::HLTISOLEM;
130  }else{
131  if(pho.hltIsolTrks() > cuts.maxHLTIsolTrksPho && pho.hltIsolTrks()/pho.et() > cuts.maxHLTIsolTrksPhoOverPt &&
132  pho.hltIsolTrks()/pho.et()/pho.et() > cuts.maxHLTIsolTrksPhoOverPt2 ) cutCode |=EgCutCodes::HLTISOLTRKSPHO;
133  if(pho.hltIsolHad() > cuts.maxHLTIsolHad && pho.hltIsolHad()/pho.et() > cuts.maxHLTIsolHadOverEt &&
134  pho.hltIsolHad()/pho.et()/pho.et() > cuts.maxHLTIsolHadOverEt2) cutCode |=EgCutCodes::HLTISOLHAD;
135  if(pho.hltIsolEm() > cuts.maxHLTIsolEm && pho.hltIsolEm()/pho.et() > cuts.maxHLTIsolEmOverEt &&
136  pho.hltIsolEm()/pho.et()/pho.et() > cuts.maxHLTIsolEmOverEt2) cutCode |=EgCutCodes::HLTISOLEM;
137  }
138 
139  //track cuts, photon will automatically fail them (for now)
140  cutCode |=EgCutCodes::CTFTRACK;
141  cutCode |=EgCutCodes::HLTDETAIN;
142  cutCode |=EgCutCodes::HLTDPHIIN;
143  cutCode |=EgCutCodes::HLTINVEINVP;
144 
145  return (cutCode & cuts.cutMask & cutMask) ;
146 }
float hltIsolTrks() const
Definition: EgHLTOffPho.h:135
float et() const
Definition: EgHLTOffPho.h:101
float isolHad() const
Definition: EgHLTOffPho.h:131
float isolPtTrks() const
Definition: EgHLTOffPho.h:133
float energy() const
Definition: EgHLTOffPho.h:103
float etaSC() const
Definition: EgHLTOffPho.h:107
float hOverE() const
Definition: EgHLTOffPho.h:116
float sigmaEtaEta() const
Definition: EgHLTOffPho.cc:5
float r9() const
Definition: EgHLTOffPho.h:127
float hltIsolHad() const
Definition: EgHLTOffPho.h:134
bool isGap() const
Definition: EgHLTOffPho.h:113
float sigmaIEtaIEta() const
Definition: EgHLTOffPho.h:122
int isolNrTrks() const
Definition: EgHLTOffPho.h:132
float hltIsolEm() const
Definition: EgHLTOffPho.h:136
float isolEm() const
Definition: EgHLTOffPho.h:130
bool egHLT::OffEgSel::passCuts ( const OffEle ele,
int  cutMask = ~0x0 
) const
inline

Definition at line 37 of file EgHLTOffEgSel.h.

References getCutCode().

37 {return getCutCode(ele,cutMask)==0x0;}
int getCutCode(const OffEle &ele, int cutMask=~0x0) const
bool egHLT::OffEgSel::passCuts ( const OffPho pho,
int  cutMask = ~0x0 
) const
inline

Definition at line 41 of file EgHLTOffEgSel.h.

References getCutCode().

41 {return getCutCode(pho,cutMask)==0x0;}
int getCutCode(const OffEle &ele, int cutMask=~0x0) const
void egHLT::OffEgSel::setEBCuts ( const EgCutValues cuts)
inline

Definition at line 45 of file EgHLTOffEgSel.h.

References ParticleFlowFastSim_cff::cuts, and ebCutValues_.

void egHLT::OffEgSel::setEECuts ( const EgCutValues cuts)
inline

Definition at line 46 of file EgHLTOffEgSel.h.

References ParticleFlowFastSim_cff::cuts, and eeCutValues_.

void OffEgSel::setup ( const edm::ParameterSet iConfig)

Definition at line 11 of file EgHLTOffEgSel.cc.

References ebCutValues_, eeCutValues_, edm::ParameterSet::getParameter(), and egHLT::EgCutValues::setup().

Referenced by OffEgSel(), and egHLT::OffHelper::setup().

12 {
15 }
T getParameter(std::string const &) const
EgCutValues eeCutValues_
Definition: EgHLTOffEgSel.h:29
void setup(const edm::ParameterSet &iConfig)
EgCutValues ebCutValues_
Definition: EgHLTOffEgSel.h:28

Member Data Documentation

EgCutValues egHLT::OffEgSel::ebCutValues_
private

Definition at line 28 of file EgHLTOffEgSel.h.

Referenced by ebCuts(), getCutCode(), setEBCuts(), and setup().

EgCutValues egHLT::OffEgSel::eeCutValues_
private

Definition at line 29 of file EgHLTOffEgSel.h.

Referenced by eeCuts(), getCutCode(), setEECuts(), and setup().