CMS 3D CMS Logo

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

#include <CutBasedPhotonIDAlgo.h>

Public Member Functions

 CutBasedPhotonIDAlgo ()
 
void decideEB (const reco::Photon *pho, bool &LooseEM, bool &LoosePhoton, bool &TightPhoton)
 
void decideEE (const reco::Photon *pho, bool &LooseEM, bool &LoosePhoton, bool &TightPhoton)
 
void setup (const edm::ParameterSet &conf)
 
virtual ~CutBasedPhotonIDAlgo ()
 

Private Attributes

bool dophotonEcalRecHitIsolationCut_
 
bool dophotonHadOverEMCut_
 
bool dophotonHcalTowerIsolationCut_
 
bool dophotonHCNTrkCut_
 
bool dophotonHCTrkIsolationCut_
 
bool dophotonR9Cut_
 
bool dophotonSCNTrkCut_
 
bool dophotonSCTrkIsolationCut_
 
bool dophotonsigmaeeCut_
 
bool dorequireFiducial_
 
double looseEMEcalIsoRelativeCutOffsetEB_
 
double looseEMEcalIsoRelativeCutOffsetEE_
 
double looseEMEcalIsoRelativeCutSlopeEB_
 
double looseEMEcalIsoRelativeCutSlopeEE_
 
double looseEMEtaWidthCutEB_
 
double looseEMEtaWidthCutEE_
 
double looseEMHadOverEMCutEB_
 
double looseEMHadOverEMCutEE_
 
double looseEMHcalTowerIsolationCutOffsetEB_
 
double looseEMHcalTowerIsolationCutOffsetEE_
 
double looseEMHcalTowerIsolationCutSlopeEB_
 
double looseEMHcalTowerIsolationCutSlopeEE_
 
int looseEMHollowConeNTrkCutEB_
 
int looseEMHollowConeNTrkCutEE_
 
double looseEMHollowConeTrkIsolationOffsetEB_
 
double looseEMHollowConeTrkIsolationOffsetEE_
 
double looseEMHollowConeTrkIsolationSlopeEB_
 
double looseEMHollowConeTrkIsolationSlopeEE_
 
double looseEMR9CutEB_
 
double looseEMR9CutEE_
 
int looseEMSolidConeNTrkCutEB_
 
int looseEMSolidConeNTrkCutEE_
 
double looseEMSolidConeTrkIsolationCutEB_
 
double looseEMSolidConeTrkIsolationCutEE_
 
double looseEMSolidConeTrkIsolationOffsetEB_
 
double looseEMSolidConeTrkIsolationOffsetEE_
 
double looseEMSolidConeTrkIsolationSlopeEB_
 
double looseEMSolidConeTrkIsolationSlopeEE_
 
double loosephotonEcalIsoRelativeCutOffsetEB_
 
double loosephotonEcalIsoRelativeCutOffsetEE_
 
double loosephotonEcalIsoRelativeCutSlopeEB_
 
double loosephotonEcalIsoRelativeCutSlopeEE_
 
double loosephotonEtaWidthCutEB_
 
double loosephotonEtaWidthCutEE_
 
double loosephotonHadOverEMCutEB_
 
double loosephotonHadOverEMCutEE_
 
double loosephotonHcalTowerIsolationCutOffsetEB_
 
double loosephotonHcalTowerIsolationCutOffsetEE_
 
double loosephotonHcalTowerIsolationCutSlopeEB_
 
double loosephotonHcalTowerIsolationCutSlopeEE_
 
int loosephotonHollowConeNTrkCutEB_
 
int loosephotonHollowConeNTrkCutEE_
 
double loosephotonHollowConeTrkIsolationOffsetEB_
 
double loosephotonHollowConeTrkIsolationOffsetEE_
 
double loosephotonHollowConeTrkIsolationSlopeEB_
 
double loosephotonHollowConeTrkIsolationSlopeEE_
 
double loosephotonR9CutEB_
 
double loosephotonR9CutEE_
 
int loosephotonSolidConeNTrkCutEB_
 
int loosephotonSolidConeNTrkCutEE_
 
double loosephotonSolidConeTrkIsolationCutEB_
 
double loosephotonSolidConeTrkIsolationCutEE_
 
double loosephotonSolidConeTrkIsolationOffsetEB_
 
double loosephotonSolidConeTrkIsolationOffsetEE_
 
double loosephotonSolidConeTrkIsolationSlopeEB_
 
double loosephotonSolidConeTrkIsolationSlopeEE_
 
double tightphotonEcalIsoRelativeCutOffsetEB_
 
double tightphotonEcalIsoRelativeCutOffsetEE_
 
double tightphotonEcalIsoRelativeCutSlopeEB_
 
double tightphotonEcalIsoRelativeCutSlopeEE_
 
double tightphotonEtaWidthCutEB_
 
double tightphotonEtaWidthCutEE_
 
double tightphotonHadOverEMCutEB_
 
double tightphotonHadOverEMCutEE_
 
double tightphotonHcalTowerIsolationCutOffsetEB_
 
double tightphotonHcalTowerIsolationCutOffsetEE_
 
double tightphotonHcalTowerIsolationCutSlopeEB_
 
double tightphotonHcalTowerIsolationCutSlopeEE_
 
int tightphotonHollowConeNTrkCutEB_
 
int tightphotonHollowConeNTrkCutEE_
 
double tightphotonHollowConeTrkIsolationOffsetEB_
 
double tightphotonHollowConeTrkIsolationOffsetEE_
 
double tightphotonHollowConeTrkIsolationSlopeEB_
 
double tightphotonHollowConeTrkIsolationSlopeEE_
 
double tightphotonR9CutEB_
 
double tightphotonR9CutEE_
 
int tightphotonSolidConeNTrkCutEB_
 
int tightphotonSolidConeNTrkCutEE_
 
double tightphotonSolidConeTrkIsolationCutEB_
 
double tightphotonSolidConeTrkIsolationCutEE_
 
double tightphotonSolidConeTrkIsolationOffsetEB_
 
double tightphotonSolidConeTrkIsolationOffsetEE_
 
double tightphotonSolidConeTrkIsolationSlopeEB_
 
double tightphotonSolidConeTrkIsolationSlopeEE_
 

Detailed Description

Definition at line 10 of file CutBasedPhotonIDAlgo.h.

Constructor & Destructor Documentation

CutBasedPhotonIDAlgo::CutBasedPhotonIDAlgo ( )
inline

Definition at line 14 of file CutBasedPhotonIDAlgo.h.

14 {};
virtual CutBasedPhotonIDAlgo::~CutBasedPhotonIDAlgo ( )
inlinevirtual

Definition at line 16 of file CutBasedPhotonIDAlgo.h.

16 {};

Member Function Documentation

void CutBasedPhotonIDAlgo::decideEB ( const reco::Photon pho,
bool &  LooseEM,
bool &  LoosePhoton,
bool &  TightPhoton 
)

Definition at line 115 of file CutBasedPhotonIDAlgo.cc.

References dophotonEcalRecHitIsolationCut_, dophotonHadOverEMCut_, dophotonHcalTowerIsolationCut_, dophotonHCNTrkCut_, dophotonHCTrkIsolationCut_, dophotonR9Cut_, dophotonSCNTrkCut_, dophotonSCTrkIsolationCut_, dophotonsigmaeeCut_, dorequireFiducial_, reco::Photon::ecalRecHitSumEtConeDR04(), reco::Photon::hadronicOverEm(), reco::Photon::hcalTowerSumEtConeDR04(), reco::Photon::isEBEEGap(), reco::Photon::isEBEtaGap(), reco::Photon::isEBPhiGap(), reco::Photon::isEEDeeGap(), reco::Photon::isEERingGap(), looseEMEcalIsoRelativeCutOffsetEB_, looseEMEcalIsoRelativeCutSlopeEB_, looseEMEtaWidthCutEB_, looseEMHadOverEMCutEB_, looseEMHcalTowerIsolationCutOffsetEB_, looseEMHcalTowerIsolationCutSlopeEB_, looseEMHollowConeNTrkCutEB_, looseEMHollowConeTrkIsolationOffsetEB_, looseEMHollowConeTrkIsolationSlopeEB_, looseEMR9CutEB_, looseEMSolidConeNTrkCutEB_, looseEMSolidConeTrkIsolationOffsetEB_, looseEMSolidConeTrkIsolationSlopeEB_, loosephotonEcalIsoRelativeCutOffsetEB_, loosephotonEcalIsoRelativeCutSlopeEB_, loosephotonEtaWidthCutEB_, loosephotonHadOverEMCutEB_, loosephotonHcalTowerIsolationCutOffsetEB_, loosephotonHcalTowerIsolationCutSlopeEB_, loosephotonHollowConeNTrkCutEB_, loosephotonHollowConeTrkIsolationOffsetEB_, loosephotonHollowConeTrkIsolationSlopeEB_, loosephotonR9CutEB_, loosephotonSolidConeNTrkCutEB_, loosephotonSolidConeTrkIsolationOffsetEB_, loosephotonSolidConeTrkIsolationSlopeEB_, reco::Photon::nTrkHollowConeDR04(), reco::Photon::nTrkSolidConeDR04(), reco::LeafCandidate::pt(), reco::Photon::r9(), reco::Photon::sigmaIetaIeta(), tightphotonEcalIsoRelativeCutOffsetEB_, tightphotonEcalIsoRelativeCutSlopeEB_, tightphotonEtaWidthCutEB_, tightphotonHadOverEMCutEB_, tightphotonHcalTowerIsolationCutOffsetEB_, tightphotonHcalTowerIsolationCutSlopeEB_, tightphotonHollowConeNTrkCutEB_, tightphotonHollowConeTrkIsolationOffsetEB_, tightphotonHollowConeTrkIsolationSlopeEB_, tightphotonR9CutEB_, tightphotonSolidConeNTrkCutEB_, tightphotonSolidConeTrkIsolationOffsetEB_, tightphotonSolidConeTrkIsolationSlopeEB_, reco::Photon::trkSumPtHollowConeDR04(), and reco::Photon::trkSumPtSolidConeDR04().

Referenced by PhotonIDProducer::produce().

115  {
116 
117 
119  //If one has selected to apply fiducial cuts, they will be
120  //applied for all loosePhoton, tightPhoton.
121  //Consider yourself warned!
123 
124  //Require supercluster is within fiducial volume.
125  if(dorequireFiducial_){
126  if (pho->isEBEEGap()) {
127  LooseEM = false;
128  LoosePhoton = false;
129  TightPhoton = false;
130  return;
131  }
132  if ( pho->isEBEtaGap() || pho->isEBPhiGap() ){
133  LooseEM = false;
134  LoosePhoton = false;
135  TightPhoton = false;
136  return;
137  }
138  if ( pho->isEERingGap() || pho->isEEDeeGap() ){
139  LooseEM = false;
140  LoosePhoton = false;
141  TightPhoton = false;
142  return;
143  }
144  }
146  //Done with fiducial cuts.
148 
149  //first do looseEM selection, if Photon is not LooseEM,
150  //by definition it is also not LoosePhoton or TightPhoton
151 
152  //Cut on the sum of ecal rec hits in a cone
155  if(pho->ecalRecHitSumEtConeDR04() > cutvalue){
156  LooseEM = false;
157  LoosePhoton = false;
158  TightPhoton = false;
159  return;
160  }
161  }
162 
163  //Cut on the sum of hcal rec hits in a cone (HBHE)
166  if(pho->hcalTowerSumEtConeDR04() > cutvalue){
167  LooseEM = false;
168  LoosePhoton = false;
169  TightPhoton = false;
170  return;
171  }
172  }
173 
174  //Cut on number of tracks within the solid cone.
175  if (dophotonSCNTrkCut_){
177  LooseEM = false;
178  LoosePhoton = false;
179  TightPhoton = false;
180  return;
181  }
182  }
183 
184  //Cut on number of tracks within the hollow cone.
185  if (dophotonHCNTrkCut_){
187  LooseEM = false;
188  LoosePhoton = false;
189  TightPhoton = false;
190  return;
191  }
192  }
193 
194  //Cut on the sum of tracks within a solid cone
197  if (pho->trkSumPtSolidConeDR04() > cutvalue){
198  LooseEM = false;
199  LoosePhoton = false;
200  TightPhoton = false;
201  return;
202  }
203  }
204 
205  //Cut on the sum of tracks within a hollow cone
208  if (pho->trkSumPtHollowConeDR04() > cutvalue){
209  LooseEM = false;
210  LoosePhoton = false;
211  TightPhoton = false;
212  return;
213  }
214  }
215 
216  //HadoverEM cut
218  float hadoverE = pho->hadronicOverEm();
219  if (hadoverE > looseEMHadOverEMCutEB_){
220  LooseEM = false;
221  LoosePhoton = false;
222  TightPhoton = false;
223  return;
224  }
225  }
226 
227  //eta width
228 
229  if (dophotonsigmaeeCut_){
230 
231  double sigmaee = pho->sigmaIetaIeta();
232  if (sigmaee > looseEMEtaWidthCutEB_){
233  LooseEM = false;
234  LoosePhoton = false;
235  TightPhoton = false;
236  return;
237  }
238  }
239  //R9 cut
240  if (dophotonR9Cut_){
241  if (pho->r9() < looseEMR9CutEB_){
242  LooseEM = false;
243  LoosePhoton = false;
244  TightPhoton = false;
245  return;
246  }
247  }
248  LooseEM = true;
249 
251  //Next do loosephoton selection.
252  //If an object is not LoosePhoton, it is also not
253  //TightPhoton!
255  //Cut on the sum of ecal rec hits in a cone
258  if(pho->ecalRecHitSumEtConeDR04() > cutvalue){
259  LoosePhoton = false;
260  TightPhoton = false;
261  return;
262  }
263  }
264 
265  //Cut on the sum of hcal rec hits in a cone (HBHE)
268  if(pho->hcalTowerSumEtConeDR04() > cutvalue){
269  LoosePhoton = false;
270  TightPhoton = false;
271  return;
272  }
273  }
274 
275  //Cut on number of tracks within the solid cone.
276  if (dophotonSCNTrkCut_){
278  LoosePhoton = false;
279  TightPhoton = false;
280  return;
281  }
282  }
283 
284  //Cut on number of tracks within the hollow cone.
285  if (dophotonHCNTrkCut_){
287  LoosePhoton = false;
288  TightPhoton = false;
289  return;
290  }
291  }
292 
293  //Cut on the sum of tracks within a solid cone
296  if (pho->trkSumPtSolidConeDR04() > cutvalue){
297  LoosePhoton = false;
298  TightPhoton = false;
299  return;
300  }
301  }
302 
303  //Cut on the sum of tracks within a hollow cone
306  if (pho->trkSumPtHollowConeDR04() > cutvalue){
307  LoosePhoton = false;
308  TightPhoton = false;
309  return;
310  }
311  }
312 
313  //HadoverEM cut
315  float hadoverE = pho->hadronicOverEm();
316  if (hadoverE > loosephotonHadOverEMCutEB_){
317  LoosePhoton = false;
318  TightPhoton = false;
319  return;
320  }
321  }
322 
323  //eta width
324 
325  if (dophotonsigmaeeCut_){
326 
327  double sigmaee = pho->sigmaIetaIeta();
328  if (sigmaee > loosephotonEtaWidthCutEB_){
329  LoosePhoton = false;
330  TightPhoton = false;
331  return;
332  }
333  }
334  //R9 cut
335  if (dophotonR9Cut_){
336  if (pho->r9() < loosephotonR9CutEB_){
337  LoosePhoton = false;
338  TightPhoton = false;
339  return;
340  }
341  }
342  //If one reaches this point, the decision has been made that this object,
343  //is indeed loosePhoton.
344  LoosePhoton = true;
345 
347  //Next do tightphoton selection.
348  //This is the tightest critieria,
349  //and once more one assumes that these criteria are
350  //tighter than loose.
352  //Cut on the sum of ecal rec hits in a cone
355  if(pho->ecalRecHitSumEtConeDR04() > cutvalue){
356  LoosePhoton = true;
357  TightPhoton = false;
358  return;
359  }
360  }
361 
362  //Cut on the sum of hcal rec hits in a cone (HBHE)
365  if(pho->hcalTowerSumEtConeDR04() > cutvalue){
366  LoosePhoton = true;
367  TightPhoton = false;
368  return;
369  }
370  }
371 
372  //Cut on number of tracks within the solid cone.
373  if (dophotonSCNTrkCut_){
375  LoosePhoton = true;
376  TightPhoton = false;
377  return;
378  }
379  }
380 
381  //Cut on number of tracks within the hollow cone.
382  if (dophotonHCNTrkCut_){
384  LoosePhoton = true;
385  TightPhoton = false;
386  return;
387  }
388  }
389 
390  //Cut on the sum of tracks within a solid cone
393  if (pho->trkSumPtSolidConeDR04() > cutvalue){
394  LoosePhoton = true;
395  TightPhoton = false;
396  return;
397  }
398  }
399 
400  //Cut on the sum of tracks within a hollow cone
403  if (pho->trkSumPtHollowConeDR04() > cutvalue){
404  LoosePhoton = true;
405  TightPhoton = false;
406  return;
407  }
408  }
409 
410  //HadoverEM cut
412  float hadoverE = pho->hadronicOverEm();
413  if (hadoverE > tightphotonHadOverEMCutEB_){
414  LoosePhoton = true;
415  TightPhoton = false;
416  return;
417  }
418  }
419 
420  //eta width
421 
422  if (dophotonsigmaeeCut_){
423  double sigmaee = pho->sigmaIetaIeta();
424  if (sigmaee > tightphotonEtaWidthCutEB_){
425  LoosePhoton = true;
426  TightPhoton = false;
427  return;
428  }
429  }
430  //R9 cut
431  if (dophotonR9Cut_){
432  if (pho->r9() < tightphotonR9CutEB_){
433  LoosePhoton = true;
434  TightPhoton = false;
435  return;
436  }
437  }
438 
439  //if you got here, you must have passed all cuts!
440  TightPhoton = true;
441 
442 }
float hcalTowerSumEtConeDR04() const
Hcal isolation sum.
Definition: Photon.h:388
bool isEEDeeGap() const
Definition: Photon.h:130
double loosephotonSolidConeTrkIsolationOffsetEB_
float trkSumPtSolidConeDR04() const
Definition: Photon.h:400
bool isEBEEGap() const
true if photon is in boundary between EB and EE
Definition: Photon.h:132
float ecalRecHitSumEtConeDR04() const
Definition: Photon.h:386
double loosephotonHcalTowerIsolationCutOffsetEB_
virtual double pt() const
transverse momentum
double tightphotonSolidConeTrkIsolationOffsetEB_
double loosephotonEcalIsoRelativeCutOffsetEB_
double looseEMHollowConeTrkIsolationSlopeEB_
bool isEBPhiGap() const
Definition: Photon.h:126
float sigmaIetaIeta() const
Definition: Photon.h:224
double tightphotonHollowConeTrkIsolationOffsetEB_
int nTrkHollowConeDR04() const
Definition: Photon.h:406
double loosephotonEcalIsoRelativeCutSlopeEB_
float hadronicOverEm() const
the total hadronic over electromagnetic fraction
Definition: Photon.h:203
double loosephotonHollowConeTrkIsolationOffsetEB_
double looseEMSolidConeTrkIsolationOffsetEB_
double tightphotonEcalIsoRelativeCutSlopeEB_
double tightphotonHcalTowerIsolationCutOffsetEB_
double loosephotonHcalTowerIsolationCutSlopeEB_
double tightphotonHollowConeTrkIsolationSlopeEB_
int nTrkSolidConeDR04() const
Definition: Photon.h:404
bool isEERingGap() const
Definition: Photon.h:129
double looseEMHollowConeTrkIsolationOffsetEB_
double loosephotonHollowConeTrkIsolationSlopeEB_
float trkSumPtHollowConeDR04() const
Definition: Photon.h:402
double tightphotonSolidConeTrkIsolationSlopeEB_
double tightphotonEcalIsoRelativeCutOffsetEB_
float r9() const
Definition: Photon.h:227
double loosephotonSolidConeTrkIsolationSlopeEB_
double looseEMHcalTowerIsolationCutOffsetEB_
double tightphotonHcalTowerIsolationCutSlopeEB_
bool isEBEtaGap() const
Definition: Photon.h:125
void CutBasedPhotonIDAlgo::decideEE ( const reco::Photon pho,
bool &  LooseEM,
bool &  LoosePhoton,
bool &  TightPhoton 
)

Definition at line 446 of file CutBasedPhotonIDAlgo.cc.

References dophotonEcalRecHitIsolationCut_, dophotonHadOverEMCut_, dophotonHcalTowerIsolationCut_, dophotonHCNTrkCut_, dophotonHCTrkIsolationCut_, dophotonR9Cut_, dophotonSCNTrkCut_, dophotonSCTrkIsolationCut_, dophotonsigmaeeCut_, dorequireFiducial_, reco::Photon::ecalRecHitSumEtConeDR04(), reco::Photon::hadronicOverEm(), reco::Photon::hcalTowerSumEtConeDR04(), reco::Photon::isEBEEGap(), reco::Photon::isEBEtaGap(), reco::Photon::isEBPhiGap(), reco::Photon::isEEDeeGap(), reco::Photon::isEERingGap(), looseEMEcalIsoRelativeCutOffsetEE_, looseEMEcalIsoRelativeCutSlopeEE_, looseEMEtaWidthCutEE_, looseEMHadOverEMCutEE_, looseEMHcalTowerIsolationCutOffsetEE_, looseEMHcalTowerIsolationCutSlopeEE_, looseEMHollowConeNTrkCutEE_, looseEMHollowConeTrkIsolationOffsetEE_, looseEMHollowConeTrkIsolationSlopeEE_, looseEMR9CutEE_, looseEMSolidConeNTrkCutEE_, looseEMSolidConeTrkIsolationOffsetEE_, looseEMSolidConeTrkIsolationSlopeEE_, loosephotonEcalIsoRelativeCutOffsetEE_, loosephotonEcalIsoRelativeCutSlopeEE_, loosephotonEtaWidthCutEE_, loosephotonHadOverEMCutEE_, loosephotonHcalTowerIsolationCutOffsetEE_, loosephotonHcalTowerIsolationCutSlopeEE_, loosephotonHollowConeNTrkCutEE_, loosephotonHollowConeTrkIsolationOffsetEE_, loosephotonHollowConeTrkIsolationSlopeEE_, loosephotonR9CutEE_, loosephotonSolidConeNTrkCutEE_, loosephotonSolidConeTrkIsolationOffsetEE_, loosephotonSolidConeTrkIsolationSlopeEE_, reco::Photon::nTrkHollowConeDR04(), reco::Photon::nTrkSolidConeDR04(), reco::LeafCandidate::pt(), reco::Photon::r9(), reco::Photon::sigmaIetaIeta(), tightphotonEcalIsoRelativeCutOffsetEE_, tightphotonEcalIsoRelativeCutSlopeEE_, tightphotonEtaWidthCutEE_, tightphotonHadOverEMCutEE_, tightphotonHcalTowerIsolationCutOffsetEE_, tightphotonHcalTowerIsolationCutSlopeEE_, tightphotonHollowConeNTrkCutEE_, tightphotonHollowConeTrkIsolationOffsetEE_, tightphotonHollowConeTrkIsolationSlopeEE_, tightphotonR9CutEE_, tightphotonSolidConeNTrkCutEE_, tightphotonSolidConeTrkIsolationOffsetEE_, tightphotonSolidConeTrkIsolationSlopeEE_, reco::Photon::trkSumPtHollowConeDR04(), and reco::Photon::trkSumPtSolidConeDR04().

Referenced by PhotonIDProducer::produce().

446  {
447 
449  //If one has selected to apply fiducial cuts, they will be
450  //applied for all , loosePhoton, tightPhoton.
451  //Consider yourself warned!
453 
454  //Require supercluster is within fiducial volume.
455  if(dorequireFiducial_){
456  if (pho->isEBEEGap()) {
457  LooseEM = false;
458  LoosePhoton = false;
459  TightPhoton = false;
460 
461  return;
462  }
463  if ( pho->isEBEtaGap() || pho->isEBPhiGap() ){
464  LooseEM = false;
465  LoosePhoton = false;
466  TightPhoton = false;
467  return;
468  }
469  if (pho->isEERingGap() || pho->isEEDeeGap() ){
470  LooseEM = false;
471  LoosePhoton = false;
472  TightPhoton = false;
473  return;
474  }
475  }
477  //Done with fiducial cuts.
479  //Do LooseEM selection. By definition, if a photon does not pass LooseEM, it does not pass LoosePhoton or TightPhoton!
482  if(pho->ecalRecHitSumEtConeDR04() > cutvalue){
483  LooseEM = false;
484  LoosePhoton = false;
485  TightPhoton = false;
486  return;
487  }
488  }
489 
490  //Cut on the sum of hcal towers in a cone (HBHE)
493  if(pho->hcalTowerSumEtConeDR04() > cutvalue){
494  LooseEM = false;
495  LoosePhoton = false;
496  TightPhoton = false;
497  return;
498  }
499  }
500 
501  //Cut on number of tracks within the solid cone.
502  if (dophotonSCNTrkCut_){
504  LooseEM = false;
505  LoosePhoton = false;
506  TightPhoton = false;
507  return;
508  }
509  }
510 
511  //Cut on number of tracks within the hollow cone.
512  if (dophotonHCNTrkCut_){
514  LooseEM = false;
515  LoosePhoton = false;
516  TightPhoton = false;
517  return;
518  }
519  }
520 
521 
522  //Cut on the sum of tracks within a solid cone
525  if (pho->trkSumPtSolidConeDR04() > cutvalue){
526  LooseEM = false;
527  LoosePhoton = false;
528  TightPhoton = false;
529  return;
530  }
531  }
532 
533  //Cut on the sum of tracks within a hollow cone
536  if (pho->trkSumPtHollowConeDR04() > cutvalue){
537  LooseEM = false;
538  LoosePhoton = false;
539  TightPhoton = false;
540  return;
541  }
542  }
543 
544  //HadoverEM cut
546  float hadoverE = pho->hadronicOverEm();
547  if (hadoverE > looseEMHadOverEMCutEE_){
548  LooseEM = false;
549  LoosePhoton = false;
550  TightPhoton = false;
551  return;
552  }
553  }
554 
555  //eta width
556 
557  if (dophotonsigmaeeCut_){
558 
559  double sigmaee = pho->sigmaIetaIeta();
560 
561  if (sigmaee > looseEMEtaWidthCutEE_){
562  LooseEM = false;
563  LoosePhoton = false;
564  TightPhoton = false;
565  return;
566  }
567  }
568  //R9 cut
569  if (dophotonR9Cut_){
570  if (pho->r9() < looseEMR9CutEE_){
571  LooseEM = false;
572  LoosePhoton = false;
573  TightPhoton = false;
574  return;
575  }
576  }
577  LooseEM = true;
579  //Next do loosephoton selection.
580  //If an object is not LoosePhoton, it is also not
581  //TightPhoton!
583 
586  if(pho->ecalRecHitSumEtConeDR04() > cutvalue){
587  LoosePhoton = false;
588  TightPhoton = false;
589  return;
590  }
591  }
592 
593  //Cut on the sum of hcal rec hits in a cone (HBHE)
596  if(pho->hcalTowerSumEtConeDR04() > cutvalue){
597  LoosePhoton = false;
598  TightPhoton = false;
599  return;
600  }
601  }
602 
603  //Cut on number of tracks within the solid cone.
604  if (dophotonSCNTrkCut_){
606  LoosePhoton = false;
607  TightPhoton = false;
608  return;
609  }
610  }
611 
612  //Cut on number of tracks within the hollow cone.
613  if (dophotonHCNTrkCut_){
615  LoosePhoton = false;
616  TightPhoton = false;
617  return;
618  }
619  }
620 
621 
622  //Cut on the sum of tracks within a solid cone
625  if (pho->trkSumPtSolidConeDR04() > cutvalue){
626  LoosePhoton = false;
627  TightPhoton = false;
628  return;
629  }
630  }
631 
632  //Cut on the sum of tracks within a hollow cone
635  if (pho->trkSumPtHollowConeDR04() > cutvalue){
636  LoosePhoton = false;
637  TightPhoton = false;
638  return;
639  }
640  }
641 
642  //HadoverEM cut
644  float hadoverE = pho->hadronicOverEm();
645  if (hadoverE > loosephotonHadOverEMCutEE_){
646  LoosePhoton = false;
647  TightPhoton = false;
648  return;
649  }
650  }
651 
652  //eta width
653 
654  if (dophotonsigmaeeCut_){
655 
656  double sigmaee = pho->sigmaIetaIeta();
657 
658  if (sigmaee > loosephotonEtaWidthCutEE_){
659  LoosePhoton = false;
660  TightPhoton = false;
661  return;
662  }
663  }
664  //R9 cut
665  if (dophotonR9Cut_){
666  if (pho->r9() < loosephotonR9CutEE_){
667  LoosePhoton = false;
668  TightPhoton = false;
669  return;
670  }
671  }
672  //If one reaches this point, the decision has been made that this object,
673  //is indeed loosePhoton.
674  LoosePhoton = true;
676  //Next do tightphoton selection.
677  //This is the tightest critieria,
678  //and once more one assumes that these criteria are
679  //tighter than loose.
683  if(pho->ecalRecHitSumEtConeDR04() > cutvalue){
684  LoosePhoton = true;
685  TightPhoton = false;
686  return;
687  }
688  }
689 
690  //Cut on the sum of hcal rec hits in a cone (HBHE)
693  if(pho->hcalTowerSumEtConeDR04() > cutvalue){
694  LoosePhoton = true;
695  TightPhoton = false;
696  return;
697  }
698  }
699 
700  //Cut on number of tracks within the solid cone.
701  if (dophotonSCNTrkCut_){
703  LoosePhoton = true;
704  TightPhoton = false;
705  return;
706  }
707  }
708 
709  //Cut on number of tracks within the hollow cone.
710  if (dophotonHCNTrkCut_){
712  LoosePhoton = true;
713  TightPhoton = false;
714  return;
715  }
716  }
717 
718 
719  //Cut on the sum of tracks within a solid cone
722  if (pho->trkSumPtSolidConeDR04() > cutvalue){
723  LoosePhoton = true;
724  TightPhoton = false;
725  return;
726  }
727  }
728 
729  //Cut on the sum of tracks within a hollow cone
732  if (pho->trkSumPtHollowConeDR04() > cutvalue){
733  LoosePhoton = true;
734  TightPhoton = false;
735  return;
736  }
737  }
738 
739 
740  //HadoverEM cut
742  float hadoverE = pho->hadronicOverEm();
743  if (hadoverE > tightphotonHadOverEMCutEE_){
744  LoosePhoton = true;
745  TightPhoton = false;
746  return;
747  }
748  }
749 
750  //eta width
751 
752  if (dophotonsigmaeeCut_){
753 
754  double sigmaee = pho->sigmaIetaIeta();
755 
756  if (sigmaee > tightphotonEtaWidthCutEE_){
757  LoosePhoton = true;
758  TightPhoton = false;
759  return;
760  }
761  }
762  //R9 cut
763  if (dophotonR9Cut_){
764  if (pho->r9() < tightphotonR9CutEE_){
765  LoosePhoton = true;
766  TightPhoton = false;
767  return;
768  }
769  }
770 
771  //if you got here, you must have passed all cuts!
772  TightPhoton = true;
773 
774 }
float hcalTowerSumEtConeDR04() const
Hcal isolation sum.
Definition: Photon.h:388
bool isEEDeeGap() const
Definition: Photon.h:130
float trkSumPtSolidConeDR04() const
Definition: Photon.h:400
double looseEMSolidConeTrkIsolationOffsetEE_
bool isEBEEGap() const
true if photon is in boundary between EB and EE
Definition: Photon.h:132
float ecalRecHitSumEtConeDR04() const
Definition: Photon.h:386
virtual double pt() const
transverse momentum
double tightphotonHollowConeTrkIsolationSlopeEE_
double loosephotonSolidConeTrkIsolationOffsetEE_
double looseEMHcalTowerIsolationCutOffsetEE_
bool isEBPhiGap() const
Definition: Photon.h:126
double tightphotonHcalTowerIsolationCutSlopeEE_
double looseEMHollowConeTrkIsolationOffsetEE_
float sigmaIetaIeta() const
Definition: Photon.h:224
double loosephotonHcalTowerIsolationCutSlopeEE_
int nTrkHollowConeDR04() const
Definition: Photon.h:406
double loosephotonHcalTowerIsolationCutOffsetEE_
float hadronicOverEm() const
the total hadronic over electromagnetic fraction
Definition: Photon.h:203
double looseEMHollowConeTrkIsolationSlopeEE_
double tightphotonHcalTowerIsolationCutOffsetEE_
double loosephotonHollowConeTrkIsolationSlopeEE_
double tightphotonSolidConeTrkIsolationOffsetEE_
double loosephotonSolidConeTrkIsolationSlopeEE_
int nTrkSolidConeDR04() const
Definition: Photon.h:404
bool isEERingGap() const
Definition: Photon.h:129
float trkSumPtHollowConeDR04() const
Definition: Photon.h:402
float r9() const
Definition: Photon.h:227
double tightphotonSolidConeTrkIsolationSlopeEE_
double tightphotonHollowConeTrkIsolationOffsetEE_
double loosephotonHollowConeTrkIsolationOffsetEE_
bool isEBEtaGap() const
Definition: Photon.h:125
void CutBasedPhotonIDAlgo::setup ( const edm::ParameterSet conf)

Definition at line 7 of file CutBasedPhotonIDAlgo.cc.

References dophotonEcalRecHitIsolationCut_, dophotonHadOverEMCut_, dophotonHcalTowerIsolationCut_, dophotonHCNTrkCut_, dophotonHCTrkIsolationCut_, dophotonR9Cut_, dophotonSCNTrkCut_, dophotonSCTrkIsolationCut_, dophotonsigmaeeCut_, dorequireFiducial_, edm::ParameterSet::getParameter(), looseEMEcalIsoRelativeCutOffsetEB_, looseEMEcalIsoRelativeCutOffsetEE_, looseEMEcalIsoRelativeCutSlopeEB_, looseEMEcalIsoRelativeCutSlopeEE_, looseEMEtaWidthCutEB_, looseEMEtaWidthCutEE_, looseEMHadOverEMCutEB_, looseEMHadOverEMCutEE_, looseEMHcalTowerIsolationCutOffsetEB_, looseEMHcalTowerIsolationCutOffsetEE_, looseEMHcalTowerIsolationCutSlopeEB_, looseEMHcalTowerIsolationCutSlopeEE_, looseEMHollowConeNTrkCutEB_, looseEMHollowConeNTrkCutEE_, looseEMHollowConeTrkIsolationOffsetEB_, looseEMHollowConeTrkIsolationOffsetEE_, looseEMHollowConeTrkIsolationSlopeEB_, looseEMHollowConeTrkIsolationSlopeEE_, looseEMR9CutEB_, looseEMR9CutEE_, looseEMSolidConeNTrkCutEB_, looseEMSolidConeNTrkCutEE_, looseEMSolidConeTrkIsolationCutEB_, looseEMSolidConeTrkIsolationCutEE_, looseEMSolidConeTrkIsolationOffsetEB_, looseEMSolidConeTrkIsolationOffsetEE_, looseEMSolidConeTrkIsolationSlopeEB_, looseEMSolidConeTrkIsolationSlopeEE_, loosephotonEcalIsoRelativeCutOffsetEB_, loosephotonEcalIsoRelativeCutOffsetEE_, loosephotonEcalIsoRelativeCutSlopeEB_, loosephotonEcalIsoRelativeCutSlopeEE_, loosephotonEtaWidthCutEB_, loosephotonEtaWidthCutEE_, loosephotonHadOverEMCutEB_, loosephotonHadOverEMCutEE_, loosephotonHcalTowerIsolationCutOffsetEB_, loosephotonHcalTowerIsolationCutOffsetEE_, loosephotonHcalTowerIsolationCutSlopeEB_, loosephotonHcalTowerIsolationCutSlopeEE_, loosephotonHollowConeNTrkCutEB_, loosephotonHollowConeNTrkCutEE_, loosephotonHollowConeTrkIsolationOffsetEB_, loosephotonHollowConeTrkIsolationOffsetEE_, loosephotonHollowConeTrkIsolationSlopeEB_, loosephotonHollowConeTrkIsolationSlopeEE_, loosephotonR9CutEB_, loosephotonR9CutEE_, loosephotonSolidConeNTrkCutEB_, loosephotonSolidConeNTrkCutEE_, loosephotonSolidConeTrkIsolationCutEB_, loosephotonSolidConeTrkIsolationCutEE_, loosephotonSolidConeTrkIsolationOffsetEB_, loosephotonSolidConeTrkIsolationOffsetEE_, loosephotonSolidConeTrkIsolationSlopeEB_, loosephotonSolidConeTrkIsolationSlopeEE_, tightphotonEcalIsoRelativeCutOffsetEB_, tightphotonEcalIsoRelativeCutOffsetEE_, tightphotonEcalIsoRelativeCutSlopeEB_, tightphotonEcalIsoRelativeCutSlopeEE_, tightphotonEtaWidthCutEB_, tightphotonEtaWidthCutEE_, tightphotonHadOverEMCutEB_, tightphotonHadOverEMCutEE_, tightphotonHcalTowerIsolationCutOffsetEB_, tightphotonHcalTowerIsolationCutOffsetEE_, tightphotonHcalTowerIsolationCutSlopeEB_, tightphotonHcalTowerIsolationCutSlopeEE_, tightphotonHollowConeNTrkCutEB_, tightphotonHollowConeNTrkCutEE_, tightphotonHollowConeTrkIsolationOffsetEB_, tightphotonHollowConeTrkIsolationOffsetEE_, tightphotonHollowConeTrkIsolationSlopeEB_, tightphotonHollowConeTrkIsolationSlopeEE_, tightphotonR9CutEB_, tightphotonR9CutEE_, tightphotonSolidConeNTrkCutEB_, tightphotonSolidConeNTrkCutEE_, tightphotonSolidConeTrkIsolationOffsetEB_, tightphotonSolidConeTrkIsolationOffsetEE_, tightphotonSolidConeTrkIsolationSlopeEB_, and tightphotonSolidConeTrkIsolationSlopeEE_.

7  {
8 
9 
10  //Decision cuts
11  dophotonEcalRecHitIsolationCut_ = conf.getParameter<bool>("DoEcalRecHitIsolationCut");
12  dophotonHcalTowerIsolationCut_ = conf.getParameter<bool>("DoHcalTowerIsolationCut");
13  dophotonHCTrkIsolationCut_ = conf.getParameter<bool>("DoHollowConeTrackIsolationCut");
14  dophotonSCTrkIsolationCut_ = conf.getParameter<bool>("DoSolidConeTrackIsolationCut");
15  dophotonHCNTrkCut_ = conf.getParameter<bool>("DoHollowConeNTrkCut");
16  dophotonSCNTrkCut_ = conf.getParameter<bool>("DoSolidConeNTrkCut");
17  dophotonHadOverEMCut_ = conf.getParameter<bool>("DoHadOverEMCut");
18  dophotonsigmaeeCut_ = conf.getParameter<bool>("DoEtaWidthCut");
19  dophotonR9Cut_ = conf.getParameter<bool>("DoR9Cut");
20  dorequireFiducial_ = conf.getParameter<bool>("RequireFiducial");
21 
22  looseEMEcalIsoRelativeCutSlopeEB_ = conf.getParameter<double>("LooseEMEcalIsoRelativeCutSlopeEB");
23  looseEMEcalIsoRelativeCutOffsetEB_ = conf.getParameter<double>("LooseEMEcalIsoRelativeCutOffsetEB");
24  looseEMHcalTowerIsolationCutSlopeEB_ = conf.getParameter<double>("LooseEMHcalTowerIsoSlopeEB");
25  looseEMHcalTowerIsolationCutOffsetEB_ = conf.getParameter<double>("LooseEMHcalTowerIsoOffsetEB");
26  looseEMHollowConeTrkIsolationSlopeEB_ = conf.getParameter<double>("LooseEMHollowTrkSlopeEB");
27  looseEMHollowConeTrkIsolationOffsetEB_ = conf.getParameter<double>("LooseEMHollowTrkOffsetEB");
28  looseEMSolidConeTrkIsolationSlopeEB_ = conf.getParameter<double>("LooseEMSolidTrkSlopeEB");
29  looseEMSolidConeTrkIsolationOffsetEB_ = conf.getParameter<double>("LooseEMSolidTrkOffsetEB");
30  looseEMSolidConeTrkIsolationCutEB_ = conf.getParameter<double>("LooseEMSolidTrkEB");
31  looseEMSolidConeNTrkCutEB_ = conf.getParameter<int>("LooseEMSolidNTrkEB");
32  looseEMHollowConeNTrkCutEB_ = conf.getParameter<int>("LooseEMHollowNTrkEB");
33  looseEMEtaWidthCutEB_ = conf.getParameter<double>("LooseEMEtaWidthEB");
34  looseEMHadOverEMCutEB_ = conf.getParameter<double>("LooseEMHadOverEMEB");
35  looseEMR9CutEB_ = conf.getParameter<double>("LooseEMR9CutEB");
36 
37  loosephotonEcalIsoRelativeCutSlopeEB_ = conf.getParameter<double>("LoosePhotonEcalIsoRelativeCutSlopeEB");
38  loosephotonEcalIsoRelativeCutOffsetEB_ = conf.getParameter<double>("LoosePhotonEcalIsoRelativeCutOffsetEB");
39  loosephotonHcalTowerIsolationCutSlopeEB_ = conf.getParameter<double>("LoosePhotonHcalTowerIsoSlopeEB");
40  loosephotonHcalTowerIsolationCutOffsetEB_ = conf.getParameter<double>("LoosePhotonHcalTowerIsoOffsetEB");
41  loosephotonHollowConeTrkIsolationSlopeEB_ = conf.getParameter<double>("LoosePhotonHollowTrkSlopeEB");
42  loosephotonHollowConeTrkIsolationOffsetEB_ = conf.getParameter<double>("LoosePhotonHollowTrkOffsetEB");
43  loosephotonSolidConeTrkIsolationSlopeEB_ = conf.getParameter<double>("LoosePhotonSolidTrkSlopeEB");
44  loosephotonSolidConeTrkIsolationOffsetEB_ = conf.getParameter<double>("LoosePhotonSolidTrkOffsetEB");
45  loosephotonSolidConeTrkIsolationCutEB_ = conf.getParameter<double>("LoosePhotonSolidTrkEB");
46  loosephotonSolidConeNTrkCutEB_ = conf.getParameter<int>("LoosePhotonSolidNTrkEB");
47  loosephotonHollowConeNTrkCutEB_ = conf.getParameter<int>("LoosePhotonHollowNTrkEB");
48  loosephotonEtaWidthCutEB_ = conf.getParameter<double>("LoosePhotonEtaWidthEB");
49  loosephotonHadOverEMCutEB_ = conf.getParameter<double>("LoosePhotonHadOverEMEB");
50  loosephotonR9CutEB_ = conf.getParameter<double>("LoosePhotonR9CutEB");
51 
52 
53  tightphotonEcalIsoRelativeCutSlopeEB_ = conf.getParameter<double>("TightPhotonEcalIsoRelativeCutSlopeEB");
54  tightphotonEcalIsoRelativeCutOffsetEB_ = conf.getParameter<double>("TightPhotonEcalIsoRelativeCutOffsetEB");
55  tightphotonHcalTowerIsolationCutSlopeEB_ = conf.getParameter<double>("TightPhotonHcalTowerIsoSlopeEB");
56  tightphotonHcalTowerIsolationCutOffsetEB_ = conf.getParameter<double>("TightPhotonHcalTowerIsoOffsetEB");
57  tightphotonHollowConeTrkIsolationSlopeEB_ = conf.getParameter<double>("TightPhotonHollowTrkSlopeEB");
58  tightphotonHollowConeTrkIsolationOffsetEB_ = conf.getParameter<double>("TightPhotonHollowTrkOffsetEB");
59  tightphotonSolidConeTrkIsolationSlopeEB_ = conf.getParameter<double>("TightPhotonSolidTrkSlopeEB");
60  tightphotonSolidConeTrkIsolationOffsetEB_ = conf.getParameter<double>("TightPhotonSolidTrkOffsetEB");
61  tightphotonSolidConeNTrkCutEB_ = conf.getParameter<int>("TightPhotonSolidNTrkEB");
62  tightphotonHollowConeNTrkCutEB_ = conf.getParameter<int>("TightPhotonHollowNTrkEB");
63  tightphotonEtaWidthCutEB_ = conf.getParameter<double>("TightPhotonEtaWidthEB");
64  tightphotonHadOverEMCutEB_ = conf.getParameter<double>("TightPhotonHadOverEMEB");
65  tightphotonR9CutEB_ = conf.getParameter<double>("TightPhotonR9CutEB");
66 
67  //get cuts here EE
68 
69  looseEMEcalIsoRelativeCutSlopeEE_ = conf.getParameter<double>("LooseEMEcalIsoRelativeCutSlopeEE");
70  looseEMEcalIsoRelativeCutOffsetEE_ = conf.getParameter<double>("LooseEMEcalIsoRelativeCutOffsetEE");
71  looseEMHcalTowerIsolationCutSlopeEE_ = conf.getParameter<double>("LooseEMHcalTowerIsoSlopeEE");
72  looseEMHcalTowerIsolationCutOffsetEE_ = conf.getParameter<double>("LooseEMHcalTowerIsoOffsetEE");
73  looseEMHollowConeTrkIsolationSlopeEE_ = conf.getParameter<double>("LooseEMHollowTrkSlopeEE");
74  looseEMHollowConeTrkIsolationOffsetEE_ = conf.getParameter<double>("LooseEMHollowTrkOffsetEE");
75  looseEMSolidConeTrkIsolationSlopeEE_ = conf.getParameter<double>("LooseEMSolidTrkSlopeEE");
76  looseEMSolidConeTrkIsolationOffsetEE_ = conf.getParameter<double>("LooseEMSolidTrkOffsetEE");
77  looseEMSolidConeTrkIsolationCutEE_ = conf.getParameter<double>("LooseEMSolidTrkEE");
78  looseEMSolidConeNTrkCutEE_ = conf.getParameter<int>("LooseEMSolidNTrkEE");
79  looseEMHollowConeNTrkCutEE_ = conf.getParameter<int>("LooseEMHollowNTrkEE");
80  looseEMEtaWidthCutEE_ = conf.getParameter<double>("LooseEMEtaWidthEE");
81  looseEMHadOverEMCutEE_ = conf.getParameter<double>("LooseEMHadOverEMEE");
82  looseEMR9CutEE_ = conf.getParameter<double>("LooseEMR9CutEE");
83 
84  loosephotonEcalIsoRelativeCutSlopeEE_ = conf.getParameter<double>("LoosePhotonEcalIsoRelativeCutSlopeEE");
85  loosephotonEcalIsoRelativeCutOffsetEE_ = conf.getParameter<double>("LoosePhotonEcalIsoRelativeCutOffsetEE");
86  loosephotonHcalTowerIsolationCutSlopeEE_ = conf.getParameter<double>("LoosePhotonHcalTowerIsoSlopeEE");
87  loosephotonHcalTowerIsolationCutOffsetEE_ = conf.getParameter<double>("LoosePhotonHcalTowerIsoOffsetEE");
88  loosephotonHollowConeTrkIsolationSlopeEE_ = conf.getParameter<double>("LoosePhotonHollowTrkSlopeEE");
89  loosephotonHollowConeTrkIsolationOffsetEE_ = conf.getParameter<double>("LoosePhotonHollowTrkOffsetEE");
90  loosephotonSolidConeTrkIsolationSlopeEE_ = conf.getParameter<double>("LoosePhotonSolidTrkSlopeEE");
91  loosephotonSolidConeTrkIsolationOffsetEE_ = conf.getParameter<double>("LoosePhotonSolidTrkOffsetEE");
92  loosephotonSolidConeTrkIsolationCutEE_ = conf.getParameter<double>("LoosePhotonSolidTrkEE");
93  loosephotonSolidConeNTrkCutEE_ = conf.getParameter<int>("LoosePhotonSolidNTrkEE");
94  loosephotonHollowConeNTrkCutEE_ = conf.getParameter<int>("LoosePhotonHollowNTrkEE");
95  loosephotonEtaWidthCutEE_ = conf.getParameter<double>("LoosePhotonEtaWidthEE");
96  loosephotonHadOverEMCutEE_ = conf.getParameter<double>("LoosePhotonHadOverEMEE");
97  loosephotonR9CutEE_ = conf.getParameter<double>("LoosePhotonR9CutEE");
98 
99  tightphotonEcalIsoRelativeCutSlopeEE_ = conf.getParameter<double>("TightPhotonEcalIsoRelativeCutSlopeEE");
100  tightphotonEcalIsoRelativeCutOffsetEE_ = conf.getParameter<double>("TightPhotonEcalIsoRelativeCutOffsetEE");
101  tightphotonHcalTowerIsolationCutSlopeEE_ = conf.getParameter<double>("TightPhotonHcalTowerIsoSlopeEE");
102  tightphotonHcalTowerIsolationCutOffsetEE_ = conf.getParameter<double>("TightPhotonHcalTowerIsoOffsetEE");
103  tightphotonHollowConeTrkIsolationSlopeEE_ = conf.getParameter<double>("TightPhotonHollowTrkSlopeEE");
104  tightphotonHollowConeTrkIsolationOffsetEE_ = conf.getParameter<double>("TightPhotonHollowTrkOffsetEE");
105  tightphotonSolidConeTrkIsolationSlopeEE_ = conf.getParameter<double>("TightPhotonSolidTrkSlopeEE");
106  tightphotonSolidConeTrkIsolationOffsetEE_ = conf.getParameter<double>("TightPhotonSolidTrkOffsetEE");
107  tightphotonSolidConeNTrkCutEE_ = conf.getParameter<int>("TightPhotonSolidNTrkEE");
108  tightphotonHollowConeNTrkCutEE_ = conf.getParameter<int>("TightPhotonHollowNTrkEE");
109  tightphotonEtaWidthCutEE_ = conf.getParameter<double>("TightPhotonEtaWidthEE");
110  tightphotonHadOverEMCutEE_ = conf.getParameter<double>("TightPhotonHadOverEMEE");
111  tightphotonR9CutEE_ = conf.getParameter<double>("TightPhotonR9CutEE");
112 
113 }
T getParameter(std::string const &) const
double loosephotonSolidConeTrkIsolationOffsetEB_
double looseEMSolidConeTrkIsolationOffsetEE_
double loosephotonHcalTowerIsolationCutOffsetEB_
double tightphotonSolidConeTrkIsolationOffsetEB_
double loosephotonEcalIsoRelativeCutOffsetEB_
double tightphotonHollowConeTrkIsolationSlopeEE_
double loosephotonSolidConeTrkIsolationOffsetEE_
double looseEMHollowConeTrkIsolationSlopeEB_
double loosephotonSolidConeTrkIsolationCutEB_
double looseEMHcalTowerIsolationCutOffsetEE_
double tightphotonHcalTowerIsolationCutSlopeEE_
double looseEMHollowConeTrkIsolationOffsetEE_
double loosephotonHcalTowerIsolationCutSlopeEE_
double tightphotonHollowConeTrkIsolationOffsetEB_
double loosephotonHcalTowerIsolationCutOffsetEE_
double loosephotonEcalIsoRelativeCutSlopeEB_
double looseEMHollowConeTrkIsolationSlopeEE_
double tightphotonHcalTowerIsolationCutOffsetEE_
double loosephotonHollowConeTrkIsolationOffsetEB_
double looseEMSolidConeTrkIsolationOffsetEB_
double loosephotonHollowConeTrkIsolationSlopeEE_
double tightphotonSolidConeTrkIsolationOffsetEE_
double tightphotonEcalIsoRelativeCutSlopeEB_
double tightphotonHcalTowerIsolationCutOffsetEB_
double loosephotonSolidConeTrkIsolationSlopeEE_
double loosephotonHcalTowerIsolationCutSlopeEB_
double tightphotonHollowConeTrkIsolationSlopeEB_
double looseEMHollowConeTrkIsolationOffsetEB_
double loosephotonHollowConeTrkIsolationSlopeEB_
double tightphotonSolidConeTrkIsolationSlopeEB_
double tightphotonEcalIsoRelativeCutOffsetEB_
double loosephotonSolidConeTrkIsolationSlopeEB_
double tightphotonSolidConeTrkIsolationSlopeEE_
double tightphotonHollowConeTrkIsolationOffsetEE_
double looseEMHcalTowerIsolationCutOffsetEB_
double loosephotonHollowConeTrkIsolationOffsetEE_
double tightphotonHcalTowerIsolationCutSlopeEB_

Member Data Documentation

bool CutBasedPhotonIDAlgo::dophotonEcalRecHitIsolationCut_
private

Definition at line 32 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), decideEE(), and setup().

bool CutBasedPhotonIDAlgo::dophotonHadOverEMCut_
private

Definition at line 39 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), decideEE(), and setup().

bool CutBasedPhotonIDAlgo::dophotonHcalTowerIsolationCut_
private

Definition at line 33 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), decideEE(), and setup().

bool CutBasedPhotonIDAlgo::dophotonHCNTrkCut_
private

Definition at line 36 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), decideEE(), and setup().

bool CutBasedPhotonIDAlgo::dophotonHCTrkIsolationCut_
private

Definition at line 34 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), decideEE(), and setup().

bool CutBasedPhotonIDAlgo::dophotonR9Cut_
private

Definition at line 41 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), decideEE(), and setup().

bool CutBasedPhotonIDAlgo::dophotonSCNTrkCut_
private

Definition at line 37 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), decideEE(), and setup().

bool CutBasedPhotonIDAlgo::dophotonSCTrkIsolationCut_
private

Definition at line 35 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), decideEE(), and setup().

bool CutBasedPhotonIDAlgo::dophotonsigmaeeCut_
private

Definition at line 40 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), decideEE(), and setup().

bool CutBasedPhotonIDAlgo::dorequireFiducial_
private

Definition at line 38 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), decideEE(), and setup().

double CutBasedPhotonIDAlgo::looseEMEcalIsoRelativeCutOffsetEB_
private

Definition at line 44 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

double CutBasedPhotonIDAlgo::looseEMEcalIsoRelativeCutOffsetEE_
private

Definition at line 89 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

double CutBasedPhotonIDAlgo::looseEMEcalIsoRelativeCutSlopeEB_
private

Definition at line 43 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

double CutBasedPhotonIDAlgo::looseEMEcalIsoRelativeCutSlopeEE_
private

Definition at line 88 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

double CutBasedPhotonIDAlgo::looseEMEtaWidthCutEB_
private

Definition at line 54 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

double CutBasedPhotonIDAlgo::looseEMEtaWidthCutEE_
private

Definition at line 99 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

double CutBasedPhotonIDAlgo::looseEMHadOverEMCutEB_
private

Definition at line 55 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

double CutBasedPhotonIDAlgo::looseEMHadOverEMCutEE_
private

Definition at line 100 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

double CutBasedPhotonIDAlgo::looseEMHcalTowerIsolationCutOffsetEB_
private

Definition at line 46 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

double CutBasedPhotonIDAlgo::looseEMHcalTowerIsolationCutOffsetEE_
private

Definition at line 91 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

double CutBasedPhotonIDAlgo::looseEMHcalTowerIsolationCutSlopeEB_
private

Definition at line 45 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

double CutBasedPhotonIDAlgo::looseEMHcalTowerIsolationCutSlopeEE_
private

Definition at line 90 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

int CutBasedPhotonIDAlgo::looseEMHollowConeNTrkCutEB_
private

Definition at line 53 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

int CutBasedPhotonIDAlgo::looseEMHollowConeNTrkCutEE_
private

Definition at line 98 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

double CutBasedPhotonIDAlgo::looseEMHollowConeTrkIsolationOffsetEB_
private

Definition at line 48 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

double CutBasedPhotonIDAlgo::looseEMHollowConeTrkIsolationOffsetEE_
private

Definition at line 93 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

double CutBasedPhotonIDAlgo::looseEMHollowConeTrkIsolationSlopeEB_
private

Definition at line 47 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

double CutBasedPhotonIDAlgo::looseEMHollowConeTrkIsolationSlopeEE_
private

Definition at line 92 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

double CutBasedPhotonIDAlgo::looseEMR9CutEB_
private

Definition at line 56 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

double CutBasedPhotonIDAlgo::looseEMR9CutEE_
private

Definition at line 101 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

int CutBasedPhotonIDAlgo::looseEMSolidConeNTrkCutEB_
private

Definition at line 52 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

int CutBasedPhotonIDAlgo::looseEMSolidConeNTrkCutEE_
private

Definition at line 97 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

double CutBasedPhotonIDAlgo::looseEMSolidConeTrkIsolationCutEB_
private

Definition at line 51 of file CutBasedPhotonIDAlgo.h.

Referenced by setup().

double CutBasedPhotonIDAlgo::looseEMSolidConeTrkIsolationCutEE_
private

Definition at line 96 of file CutBasedPhotonIDAlgo.h.

Referenced by setup().

double CutBasedPhotonIDAlgo::looseEMSolidConeTrkIsolationOffsetEB_
private

Definition at line 50 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

double CutBasedPhotonIDAlgo::looseEMSolidConeTrkIsolationOffsetEE_
private

Definition at line 95 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

double CutBasedPhotonIDAlgo::looseEMSolidConeTrkIsolationSlopeEB_
private

Definition at line 49 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

double CutBasedPhotonIDAlgo::looseEMSolidConeTrkIsolationSlopeEE_
private

Definition at line 94 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

double CutBasedPhotonIDAlgo::loosephotonEcalIsoRelativeCutOffsetEB_
private

Definition at line 59 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

double CutBasedPhotonIDAlgo::loosephotonEcalIsoRelativeCutOffsetEE_
private

Definition at line 104 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

double CutBasedPhotonIDAlgo::loosephotonEcalIsoRelativeCutSlopeEB_
private

Definition at line 58 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

double CutBasedPhotonIDAlgo::loosephotonEcalIsoRelativeCutSlopeEE_
private

Definition at line 103 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

double CutBasedPhotonIDAlgo::loosephotonEtaWidthCutEB_
private

Definition at line 69 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

double CutBasedPhotonIDAlgo::loosephotonEtaWidthCutEE_
private

Definition at line 114 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

double CutBasedPhotonIDAlgo::loosephotonHadOverEMCutEB_
private

Definition at line 70 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

double CutBasedPhotonIDAlgo::loosephotonHadOverEMCutEE_
private

Definition at line 115 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

double CutBasedPhotonIDAlgo::loosephotonHcalTowerIsolationCutOffsetEB_
private

Definition at line 61 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

double CutBasedPhotonIDAlgo::loosephotonHcalTowerIsolationCutOffsetEE_
private

Definition at line 106 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

double CutBasedPhotonIDAlgo::loosephotonHcalTowerIsolationCutSlopeEB_
private

Definition at line 60 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

double CutBasedPhotonIDAlgo::loosephotonHcalTowerIsolationCutSlopeEE_
private

Definition at line 105 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

int CutBasedPhotonIDAlgo::loosephotonHollowConeNTrkCutEB_
private

Definition at line 68 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

int CutBasedPhotonIDAlgo::loosephotonHollowConeNTrkCutEE_
private

Definition at line 113 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

double CutBasedPhotonIDAlgo::loosephotonHollowConeTrkIsolationOffsetEB_
private

Definition at line 63 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

double CutBasedPhotonIDAlgo::loosephotonHollowConeTrkIsolationOffsetEE_
private

Definition at line 108 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

double CutBasedPhotonIDAlgo::loosephotonHollowConeTrkIsolationSlopeEB_
private

Definition at line 62 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

double CutBasedPhotonIDAlgo::loosephotonHollowConeTrkIsolationSlopeEE_
private

Definition at line 107 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

double CutBasedPhotonIDAlgo::loosephotonR9CutEB_
private

Definition at line 71 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

double CutBasedPhotonIDAlgo::loosephotonR9CutEE_
private

Definition at line 116 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

int CutBasedPhotonIDAlgo::loosephotonSolidConeNTrkCutEB_
private

Definition at line 67 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

int CutBasedPhotonIDAlgo::loosephotonSolidConeNTrkCutEE_
private

Definition at line 112 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

double CutBasedPhotonIDAlgo::loosephotonSolidConeTrkIsolationCutEB_
private

Definition at line 66 of file CutBasedPhotonIDAlgo.h.

Referenced by setup().

double CutBasedPhotonIDAlgo::loosephotonSolidConeTrkIsolationCutEE_
private

Definition at line 111 of file CutBasedPhotonIDAlgo.h.

Referenced by setup().

double CutBasedPhotonIDAlgo::loosephotonSolidConeTrkIsolationOffsetEB_
private

Definition at line 65 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

double CutBasedPhotonIDAlgo::loosephotonSolidConeTrkIsolationOffsetEE_
private

Definition at line 110 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

double CutBasedPhotonIDAlgo::loosephotonSolidConeTrkIsolationSlopeEB_
private

Definition at line 64 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

double CutBasedPhotonIDAlgo::loosephotonSolidConeTrkIsolationSlopeEE_
private

Definition at line 109 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

double CutBasedPhotonIDAlgo::tightphotonEcalIsoRelativeCutOffsetEB_
private

Definition at line 74 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

double CutBasedPhotonIDAlgo::tightphotonEcalIsoRelativeCutOffsetEE_
private

Definition at line 119 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

double CutBasedPhotonIDAlgo::tightphotonEcalIsoRelativeCutSlopeEB_
private

Definition at line 73 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

double CutBasedPhotonIDAlgo::tightphotonEcalIsoRelativeCutSlopeEE_
private

Definition at line 118 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

double CutBasedPhotonIDAlgo::tightphotonEtaWidthCutEB_
private

Definition at line 84 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

double CutBasedPhotonIDAlgo::tightphotonEtaWidthCutEE_
private

Definition at line 129 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

double CutBasedPhotonIDAlgo::tightphotonHadOverEMCutEB_
private

Definition at line 85 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

double CutBasedPhotonIDAlgo::tightphotonHadOverEMCutEE_
private

Definition at line 130 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

double CutBasedPhotonIDAlgo::tightphotonHcalTowerIsolationCutOffsetEB_
private

Definition at line 76 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

double CutBasedPhotonIDAlgo::tightphotonHcalTowerIsolationCutOffsetEE_
private

Definition at line 121 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

double CutBasedPhotonIDAlgo::tightphotonHcalTowerIsolationCutSlopeEB_
private

Definition at line 75 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

double CutBasedPhotonIDAlgo::tightphotonHcalTowerIsolationCutSlopeEE_
private

Definition at line 120 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

int CutBasedPhotonIDAlgo::tightphotonHollowConeNTrkCutEB_
private

Definition at line 83 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

int CutBasedPhotonIDAlgo::tightphotonHollowConeNTrkCutEE_
private

Definition at line 128 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

double CutBasedPhotonIDAlgo::tightphotonHollowConeTrkIsolationOffsetEB_
private

Definition at line 78 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

double CutBasedPhotonIDAlgo::tightphotonHollowConeTrkIsolationOffsetEE_
private

Definition at line 123 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

double CutBasedPhotonIDAlgo::tightphotonHollowConeTrkIsolationSlopeEB_
private

Definition at line 77 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

double CutBasedPhotonIDAlgo::tightphotonHollowConeTrkIsolationSlopeEE_
private

Definition at line 122 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

double CutBasedPhotonIDAlgo::tightphotonR9CutEB_
private

Definition at line 86 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

double CutBasedPhotonIDAlgo::tightphotonR9CutEE_
private

Definition at line 131 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

int CutBasedPhotonIDAlgo::tightphotonSolidConeNTrkCutEB_
private

Definition at line 82 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

int CutBasedPhotonIDAlgo::tightphotonSolidConeNTrkCutEE_
private

Definition at line 127 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

double CutBasedPhotonIDAlgo::tightphotonSolidConeTrkIsolationCutEB_
private

Definition at line 81 of file CutBasedPhotonIDAlgo.h.

double CutBasedPhotonIDAlgo::tightphotonSolidConeTrkIsolationCutEE_
private

Definition at line 126 of file CutBasedPhotonIDAlgo.h.

double CutBasedPhotonIDAlgo::tightphotonSolidConeTrkIsolationOffsetEB_
private

Definition at line 80 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

double CutBasedPhotonIDAlgo::tightphotonSolidConeTrkIsolationOffsetEE_
private

Definition at line 125 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

double CutBasedPhotonIDAlgo::tightphotonSolidConeTrkIsolationSlopeEB_
private

Definition at line 79 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

double CutBasedPhotonIDAlgo::tightphotonSolidConeTrkIsolationSlopeEE_
private

Definition at line 124 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().