CMS 3D CMS Logo

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 ()=default
 
 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 ()=default
 

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 ( )
default
egHLT::OffEgSel::OffEgSel ( const edm::ParameterSet config)
inlineexplicit

Definition at line 31 of file EgHLTOffEgSel.h.

References singleTopDQM_cfi::setup.

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

Member Function Documentation

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

Definition at line 45 of file EgHLTOffEgSel.h.

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

Definition at line 46 of file EgHLTOffEgSel.h.

References singleTopDQM_cfi::setup.

46 { return eeCutValues_; }
EgCutValues eeCutValues_
Definition: EgHLTOffEgSel.h:27
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(), and getCutCode().

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

Definition at line 25 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)
29  cutCode |= EgCutCodes::ET;
30  if (std::fabs(ele.etaSC()) < cuts.minEta || std::fabs(ele.etaSC()) > cuts.maxEta)
31  cutCode |= EgCutCodes::DETETA;
32  if (ele.isGap())
33  cutCode |= EgCutCodes::CRACK;
34  //track cuts
35  if (std::fabs(ele.dEtaIn()) > cuts.maxDEtaIn)
36  cutCode |= EgCutCodes::DETAIN;
37  if (std::fabs(ele.dPhiIn()) > cuts.maxDPhiIn)
38  cutCode |= EgCutCodes::DPHIIN;
39  if (ele.invEInvP() > cuts.maxInvEInvP)
40  cutCode |= EgCutCodes::INVEINVP;
41  //supercluster cuts
42  if (ele.hOverE() > cuts.maxHadem && ele.hOverE() * ele.caloEnergy() > cuts.maxHadEnergy)
43  cutCode |= EgCutCodes::HADEM;
44  if (ele.sigmaIEtaIEta() > cuts.maxSigmaIEtaIEta)
45  cutCode |= EgCutCodes::SIGMAIETAIETA;
46  if (ele.sigmaEtaEta() > cuts.maxSigmaEtaEta)
47  cutCode |= EgCutCodes::SIGMAETAETA;
48  //---Morse-------
49  //if(ele.r9()<cuts.minR9) cutCode |= EgCutCodes::R9;
50  if (ele.r9() < cuts.minR9)
51  cutCode |= EgCutCodes::MINR9;
52  if (ele.r9() > cuts.maxR9)
53  cutCode |= EgCutCodes::MAXR9;
54  //----------------
55 
56  //std isolation cuts
57  if (ele.isolEm() > (cuts.isolEmConstTerm +
58  cuts.isolEmGradTerm * (ele.et() < cuts.isolEmGradStart ? 0. : (ele.et() - cuts.isolEmGradStart))))
59  cutCode |= EgCutCodes::ISOLEM;
60  if (ele.isolHad() >
61  (cuts.isolHadConstTerm +
62  cuts.isolHadGradTerm * (ele.et() < cuts.isolHadGradStart ? 0. : (ele.et() - cuts.isolHadGradStart))))
63  cutCode |= EgCutCodes::ISOLHAD;
64  if (ele.isolPtTrks() >
65  (cuts.isolPtTrksConstTerm +
66  cuts.isolPtTrksGradTerm * (ele.et() < cuts.isolPtTrksGradStart ? 0. : (ele.et() - cuts.isolPtTrksGradStart))))
67  cutCode |= EgCutCodes::ISOLPTTRKS;
68  //ele Nr trks not defined, assume it passes
69  //hlt isolation cuts
70  if (ele.et() <=
71  0.) { //even it if et<=0, we give it a shot at passing isolation. Note this should be an impossible case
72  if (ele.hltIsolTrksEle() > cuts.maxHLTIsolTrksEle)
73  cutCode |= EgCutCodes::HLTISOLTRKSELE;
74  if (ele.hltIsolTrksPho() > cuts.maxHLTIsolTrksPho)
75  cutCode |= EgCutCodes::HLTISOLTRKSPHO;
76  if (ele.hltIsolHad() > cuts.maxHLTIsolHad)
77  cutCode |= EgCutCodes::HLTISOLHAD;
78  if (ele.hltIsolEm() > cuts.maxHLTIsolEm)
79  cutCode |= EgCutCodes::HLTISOLEM;
80  } else {
81  if (ele.hltIsolTrksEle() > cuts.maxHLTIsolTrksEle &&
82  ele.hltIsolTrksEle() / ele.et() > cuts.maxHLTIsolTrksEleOverPt &&
83  ele.hltIsolTrksEle() / ele.et() / ele.et() > cuts.maxHLTIsolTrksEleOverPt2)
84  cutCode |= EgCutCodes::HLTISOLTRKSELE;
85  if (ele.hltIsolTrksPho() > cuts.maxHLTIsolTrksPho &&
86  ele.hltIsolTrksPho() / ele.et() > cuts.maxHLTIsolTrksPhoOverPt &&
87  ele.hltIsolTrksPho() / ele.et() / ele.et() > cuts.maxHLTIsolTrksPhoOverPt2)
88  cutCode |= EgCutCodes::HLTISOLTRKSPHO;
89  if (ele.hltIsolHad() > cuts.maxHLTIsolHad && ele.hltIsolHad() / ele.et() > cuts.maxHLTIsolHadOverEt &&
90  ele.hltIsolHad() / ele.et() / ele.et() > cuts.maxHLTIsolHadOverEt2)
91  cutCode |= EgCutCodes::HLTISOLHAD;
92  if (ele.hltIsolEm() > cuts.maxHLTIsolEm && ele.hltIsolEm() / ele.et() > cuts.maxHLTIsolEmOverEt &&
93  ele.hltIsolEm() / ele.et() / ele.et() > cuts.maxHLTIsolEmOverEt2)
94  cutCode |= EgCutCodes::HLTISOLEM;
95  }
96 
97  //cuts on CTF track, HLT tracking doesnt handle poor quaility tracks
98  if (ele.validCTFTrack()) {
99  if (!(ele.ctfTrkOuterRadius() >= cuts.minCTFTrkOuterRadius && //note I'm NOTing the result of the AND
100  ele.ctfTrkInnerRadius() <= cuts.maxCTFTrkInnerRadius &&
101 
102  ele.ctfTrkHitsFound() >= cuts.minNrCTFTrkHits && ele.ctfTrkHitsLost() <= cuts.maxNrCTFTrkHitsLost))
103  cutCode |= EgCutCodes::CTFTRACK; //the next line can also set this bit
105  DetId innerDetId(ele.ctfTrack()->extra()->innerDetId());
106  DetId outerDetId(ele.ctfTrack()->extra()->outerDetId());
107 
108  if (outerDetId.subdetId() >= 5 && innerDetId.subdetId() >= 3)
109  cutCode |= EgCutCodes::CTFTRACK; //1,2 = pixel, 3,4,5,6 sistrip
110  }
111  // std::cout <<"eta "<<ele.detEta()<<" max inner "<<cuts.maxCTFTrkInnerRadius<<" inner "<<ele.ctfTrkInnerRadius()<<std::endl;
112  } else
113  cutCode |= EgCutCodes::CTFTRACK;
114 
115  if (std::fabs(ele.hltDEtaIn()) > cuts.maxHLTDEtaIn)
116  cutCode |= EgCutCodes::HLTDETAIN;
117  if (std::fabs(ele.hltDPhiIn()) > cuts.maxHLTDPhiIn)
118  cutCode |= EgCutCodes::HLTDPHIIN;
119  if (std::fabs(ele.hltInvEInvP()) > cuts.maxHLTInvEInvP)
120  cutCode |= EgCutCodes::HLTINVEINVP;
121 
122  return (cutCode & cuts.cutMask & cutMask);
123 }
int ctfTrkHitsFound() const
Definition: EgHLTOffEle.h:223
reco::TrackRef ctfTrack() const
Definition: EgHLTOffEle.h:203
float caloEnergy() const
Definition: EgHLTOffEle.h:132
float r9() const
Definition: EgHLTOffEle.h:168
float invEInvP() const
Definition: EgHLTOffEle.h:171
float et() const
Definition: EgHLTOffEle.h:124
float ctfTrkInnerRadius() const
Definition: EgHLTOffEle.h:221
bool validCTFTrack() const
Definition: EgHLTOffEle.h:207
float dPhiIn() const
Definition: EgHLTOffEle.h:153
float hltDPhiIn() const
Definition: EgHLTOffEle.h:192
float isolEm() const
Definition: EgHLTOffEle.h:179
float hltInvEInvP() const
Definition: EgHLTOffEle.h:193
float dEtaIn() const
Definition: EgHLTOffEle.h:152
float etaSC() const
Definition: EgHLTOffEle.h:133
bool isGap() const
Definition: EgHLTOffEle.h:141
float sigmaIEtaIEta() const
Definition: EgHLTOffEle.h:162
float sigmaEtaEta() const
Definition: EgHLTOffEle.cc:7
float hltIsolHad() const
Definition: EgHLTOffEle.h:187
Definition: DetId.h:17
int ctfTrkHitsLost() const
Definition: EgHLTOffEle.h:224
float hltIsolTrksPho() const
Definition: EgHLTOffEle.h:186
float isolPtTrks() const
Definition: EgHLTOffEle.h:183
float ctfTrkOuterRadius() const
Definition: EgHLTOffEle.h:222
float hltIsolTrksEle() const
Definition: EgHLTOffEle.h:185
float hltDEtaIn() const
Definition: EgHLTOffEle.h:191
float hOverE() const
Definition: EgHLTOffEle.h:151
float isolHad() const
Definition: EgHLTOffEle.h:180
float hltIsolEm() const
Definition: EgHLTOffEle.h:188
int OffEgSel::getCutCode ( const OffPho pho,
int  cutMask = ~0x0 
) const

Definition at line 125 of file EgHLTOffEgSel.cc.

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

125  {
126  if (std::fabs(pho.detEta()) < 1.5)
127  return getCutCode(pho, ebCutValues_, cutMask);
128  else
129  return getCutCode(pho, eeCutValues_, cutMask);
130 }
int getCutCode(const OffEle &ele, int cutMask=~0x0) const
EgCutValues eeCutValues_
Definition: EgHLTOffEgSel.h:27
float detEta() const
Definition: EgHLTOffPho.h:113
EgCutValues ebCutValues_
Definition: EgHLTOffEgSel.h:26
int OffEgSel::getCutCode ( const OffPho pho,
const EgCutValues cuts,
int  cutMask = ~0x0 
)
static

Definition at line 133 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().

133  {
134  int cutCode = 0x0;
135  //kinematic cuts
136  if (pho.et() < cuts.minEt)
137  cutCode |= EgCutCodes::ET;
138  if (std::fabs(pho.etaSC()) < cuts.minEta || std::fabs(pho.etaSC()) > cuts.maxEta)
139  cutCode |= EgCutCodes::DETETA;
140  if (pho.isGap())
141  cutCode |= EgCutCodes::CRACK;
142  //track cuts (all fail)
143  cutCode |= EgCutCodes::DETAIN;
144  cutCode |= EgCutCodes::DPHIIN;
145  cutCode |= EgCutCodes::INVEINVP;
146  //supercluster cuts
147  if (pho.hOverE() > cuts.maxHadem && pho.hOverE() * pho.energy() > cuts.maxHadEnergy)
148  cutCode |= EgCutCodes::HADEM;
149  if (pho.sigmaIEtaIEta() > cuts.maxSigmaIEtaIEta)
150  cutCode |= EgCutCodes::SIGMAIETAIETA;
151  if (pho.sigmaEtaEta() > cuts.maxSigmaEtaEta)
152  cutCode |= EgCutCodes::SIGMAETAETA;
153  //----Morse--------
154  //if(pho.r9()<cuts.minR9) cutCode |= EgCutCodes::R9;
155  if (pho.r9() < cuts.minR9)
156  cutCode |= EgCutCodes::MINR9;
157  if (pho.r9() > cuts.maxR9)
158  cutCode |= EgCutCodes::MAXR9;
159  //----------------
160  //std isolation cuts
161  if (pho.isolEm() > (cuts.isolEmConstTerm +
162  cuts.isolEmGradTerm * (pho.et() < cuts.isolEmGradStart ? 0. : (pho.et() - cuts.isolEmGradStart))))
163  cutCode |= EgCutCodes::ISOLEM;
164  if (pho.isolHad() >
165  (cuts.isolHadConstTerm +
166  cuts.isolHadGradTerm * (pho.et() < cuts.isolHadGradStart ? 0. : (pho.et() - cuts.isolHadGradStart))))
167  cutCode |= EgCutCodes::ISOLHAD;
168  if (pho.isolPtTrks() >
169  (cuts.isolPtTrksConstTerm +
170  cuts.isolPtTrksGradTerm * (pho.et() < cuts.isolPtTrksGradStart ? 0. : (pho.et() - cuts.isolPtTrksGradStart))))
171  cutCode |= EgCutCodes::ISOLPTTRKS;
172  if (pho.isolNrTrks() > cuts.isolNrTrksConstTerm)
173  cutCode |= EgCutCodes::ISOLNRTRKS;
174 
175  //hlt isolation cuts
176  cutCode |= EgCutCodes::HLTISOLTRKSELE; //automatically fails ele track isolation
177  if (pho.et() <=
178  0.) { //even it if et<=0, we give it a shot at passing isolation. Note this should be an impossible case
179  if (pho.hltIsolTrks() > cuts.maxHLTIsolTrksPho)
180  cutCode |= EgCutCodes::HLTISOLTRKSPHO;
181  if (pho.hltIsolHad() > cuts.maxHLTIsolHad)
182  cutCode |= EgCutCodes::HLTISOLHAD;
183  if (pho.hltIsolEm() > cuts.maxHLTIsolEm)
184  cutCode |= EgCutCodes::HLTISOLEM;
185  } else {
186  if (pho.hltIsolTrks() > cuts.maxHLTIsolTrksPho && pho.hltIsolTrks() / pho.et() > cuts.maxHLTIsolTrksPhoOverPt &&
187  pho.hltIsolTrks() / pho.et() / pho.et() > cuts.maxHLTIsolTrksPhoOverPt2)
188  cutCode |= EgCutCodes::HLTISOLTRKSPHO;
189  if (pho.hltIsolHad() > cuts.maxHLTIsolHad && pho.hltIsolHad() / pho.et() > cuts.maxHLTIsolHadOverEt &&
190  pho.hltIsolHad() / pho.et() / pho.et() > cuts.maxHLTIsolHadOverEt2)
191  cutCode |= EgCutCodes::HLTISOLHAD;
192  if (pho.hltIsolEm() > cuts.maxHLTIsolEm && pho.hltIsolEm() / pho.et() > cuts.maxHLTIsolEmOverEt &&
193  pho.hltIsolEm() / pho.et() / pho.et() > cuts.maxHLTIsolEmOverEt2)
194  cutCode |= EgCutCodes::HLTISOLEM;
195  }
196 
197  //track cuts, photon will automatically fail them (for now)
198  cutCode |= EgCutCodes::CTFTRACK;
199  cutCode |= EgCutCodes::HLTDETAIN;
200  cutCode |= EgCutCodes::HLTDPHIIN;
201  cutCode |= EgCutCodes::HLTINVEINVP;
202 
203  return (cutCode & cuts.cutMask & cutMask);
204 }
float hltIsolTrks() const
Definition: EgHLTOffPho.h:138
float et() const
Definition: EgHLTOffPho.h:104
float isolHad() const
Definition: EgHLTOffPho.h:134
float isolPtTrks() const
Definition: EgHLTOffPho.h:136
float energy() const
Definition: EgHLTOffPho.h:106
float etaSC() const
Definition: EgHLTOffPho.h:112
float hOverE() const
Definition: EgHLTOffPho.h:121
float sigmaEtaEta() const
Definition: EgHLTOffPho.cc:7
float r9() const
Definition: EgHLTOffPho.h:130
float hltIsolHad() const
Definition: EgHLTOffPho.h:137
bool isGap() const
Definition: EgHLTOffPho.h:118
float sigmaIEtaIEta() const
Definition: EgHLTOffPho.h:125
int isolNrTrks() const
Definition: EgHLTOffPho.h:135
float hltIsolEm() const
Definition: EgHLTOffPho.h:139
float isolEm() const
Definition: EgHLTOffPho.h:133
bool egHLT::OffEgSel::passCuts ( const OffEle ele,
int  cutMask = ~0x0 
) const
inline

Definition at line 34 of file EgHLTOffEgSel.h.

References L1TMuonDQMOffline_cfi::cuts.

34 { 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 38 of file EgHLTOffEgSel.h.

38 { 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 42 of file EgHLTOffEgSel.h.

References L1TMuonDQMOffline_cfi::cuts.

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

Definition at line 43 of file EgHLTOffEgSel.h.

References L1TMuonDQMOffline_cfi::cuts.

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

Definition at line 13 of file EgHLTOffEgSel.cc.

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

Referenced by egHLT::OffHelper::setup().

13  {
16 }
T getParameter(std::string const &) const
EgCutValues eeCutValues_
Definition: EgHLTOffEgSel.h:27
void setup(const edm::ParameterSet &iConfig)
EgCutValues ebCutValues_
Definition: EgHLTOffEgSel.h:26

Member Data Documentation

EgCutValues egHLT::OffEgSel::ebCutValues_
private

Definition at line 26 of file EgHLTOffEgSel.h.

Referenced by getCutCode(), and setup().

EgCutValues egHLT::OffEgSel::eeCutValues_
private

Definition at line 27 of file EgHLTOffEgSel.h.

Referenced by getCutCode(), and setup().