CMS 3D CMS Logo

Classes | Functions | Variables
cutBasedPhotonID_tools Namespace Reference

Classes

class  IsolationCutInputs
 
class  WorkingPoint_V1
 
class  WorkingPoint_V2
 

Functions

def configureVIDCutBasedPhoID_V1 (wpEB, wpEE, isoInputs)
 
def configureVIDCutBasedPhoID_V2 (wpEB, wpEE, isoInputs)
 
def configureVIDCutBasedPhoID_V3 (wpEB, wpEE, isoInputs)
 
def configureVIDCutBasedPhoID_V4 (wpEB, wpEE, isoInputs)
 
def configureVIDCutBasedPhoID_V5 (wpEB, wpEE, isoInputs)
 
def psetChHadIsoWithEALinScalingCut (wpEB, wpEE, isoInputs)
 
def psetMinPtCut ()
 
def psetNeuHadIsoWithEAExpoScalingCut (wpEB, wpEE, isoInputs)
 
def psetNeuHadIsoWithEAExpoScalingEBCut (wpEB, wpEE, isoInputs)
 
def psetNeuHadIsoWithEALinScalingCut (wpEB, wpEE, isoInputs)
 
def psetNeuHadIsoWithEAQuadScalingCut (wpEB, wpEE, isoInputs)
 
def psetPhoFull5x5SigmaIEtaIEtaCut (wpEB, wpEE)
 
def psetPhoFull5x5SigmaIEtaIEtaValueMapCut (wpEB, wpEE)
 
def psetPhoHcalOverEcalBcCut (wpEB, wpEE)
 
def psetPhoIsoWithEALinScalingCut (wpEB, wpEE, isoInputs)
 
def psetPhoSCEtaMultiRangeCut ()
 

Variables

 ebCutOff
 

Function Documentation

◆ configureVIDCutBasedPhoID_V1()

def cutBasedPhotonID_tools.configureVIDCutBasedPhoID_V1 (   wpEB,
  wpEE,
  isoInputs 
)
This function configures the full cms.PSet for a VID ID and returns it.
The inputs: two objects of the type WorkingPoint_V1, one
containing the cuts for the Barrel (EB) and the other one for the Endcap (EE).
The third argument contains data for isolation calculation.

Definition at line 321 of file cutBasedPhotonID_tools.py.

321 def configureVIDCutBasedPhoID_V1( wpEB, wpEE, isoInputs ):
322  """
323  This function configures the full cms.PSet for a VID ID and returns it.
324  The inputs: two objects of the type WorkingPoint_V1, one
325  containing the cuts for the Barrel (EB) and the other one for the Endcap (EE).
326  The third argument contains data for isolation calculation.
327  """
328  # print "VID: Configuring cut set %s" % wpEB.idName
329  parameterSet = cms.PSet(
330  #
331  idName = cms.string( wpEB.idName ), # same name stored in the _EB and _EE objects
332  cutFlow = cms.VPSet(
333  psetMinPtCut(), # pt cut
334  psetPhoSCEtaMultiRangeCut(), # eta cut
335  psetPhoHcalOverEcalBcCut(wpEB,wpEE), # H/E cut
336  psetPhoFull5x5SigmaIEtaIEtaValueMapCut(wpEB,wpEE), # full 5x5 sigmaIEtaIEta cut
337  psetChHadIsoWithEALinScalingCut(wpEB,wpEE,isoInputs), # charged hadron isolation cut
338  psetNeuHadIsoWithEALinScalingCut(wpEB,wpEE,isoInputs), # neutral hadron isolation cut
339  psetPhoIsoWithEALinScalingCut(wpEB,wpEE,isoInputs) # photon isolation cut
340  )
341  )
342  #
343  return parameterSet
344 

References psetChHadIsoWithEALinScalingCut(), psetMinPtCut(), psetNeuHadIsoWithEALinScalingCut(), psetPhoFull5x5SigmaIEtaIEtaValueMapCut(), psetPhoHcalOverEcalBcCut(), psetPhoIsoWithEALinScalingCut(), and psetPhoSCEtaMultiRangeCut().

◆ configureVIDCutBasedPhoID_V2()

def cutBasedPhotonID_tools.configureVIDCutBasedPhoID_V2 (   wpEB,
  wpEE,
  isoInputs 
)
This function configures the full cms.PSet for a VID ID and returns it.
The inputs: first object is of the type WorkingPoint_V2, second object
is of the type WorkingPoint_V1, containing the cuts for the Barrel (EB) 
and the other one for the Endcap (EE).
The third argument contains data for isolation calculation.

The V2 with respect to V1 has one change: the neutral hadron isolation
cut has an exponential pt scaling for the barrel.

Definition at line 345 of file cutBasedPhotonID_tools.py.

345 def configureVIDCutBasedPhoID_V2( wpEB, wpEE, isoInputs ):
346  """
347  This function configures the full cms.PSet for a VID ID and returns it.
348  The inputs: first object is of the type WorkingPoint_V2, second object
349  is of the type WorkingPoint_V1, containing the cuts for the Barrel (EB)
350  and the other one for the Endcap (EE).
351  The third argument contains data for isolation calculation.
352 
353  The V2 with respect to V1 has one change: the neutral hadron isolation
354  cut has an exponential pt scaling for the barrel.
355  """
356  # print "VID: Configuring cut set %s" % wpEB.idName
357  parameterSet = cms.PSet(
358  #
359  idName = cms.string( wpEB.idName ), # same name stored in the _EB and _EE objects
360  cutFlow = cms.VPSet(
361  psetMinPtCut(), # pt cut
362  psetPhoSCEtaMultiRangeCut(), # eta cut
363  psetPhoHcalOverEcalBcCut(wpEB,wpEE), # H/E cut
364  psetPhoFull5x5SigmaIEtaIEtaValueMapCut(wpEB,wpEE), # full 5x5 sigmaIEtaIEta cut
365  psetChHadIsoWithEALinScalingCut(wpEB,wpEE,isoInputs), # charged hadron isolation cut
366  psetNeuHadIsoWithEAExpoScalingEBCut(wpEB,wpEE,isoInputs), # neutral hadron isolation cut
367  psetPhoIsoWithEALinScalingCut(wpEB,wpEE,isoInputs) # photon isolation cut
368  )
369  )
370  #
371  return parameterSet
372 

References psetChHadIsoWithEALinScalingCut(), psetMinPtCut(), psetNeuHadIsoWithEAExpoScalingEBCut(), psetPhoFull5x5SigmaIEtaIEtaValueMapCut(), psetPhoHcalOverEcalBcCut(), psetPhoIsoWithEALinScalingCut(), and psetPhoSCEtaMultiRangeCut().

◆ configureVIDCutBasedPhoID_V3()

def cutBasedPhotonID_tools.configureVIDCutBasedPhoID_V3 (   wpEB,
  wpEE,
  isoInputs 
)
This function configures the full cms.PSet for a VID ID and returns it.
The inputs: first object is of the type WorkingPoint_V2, second object
is of the type WorkingPoint_V1, containing the cuts for the Barrel (EB) 
and the other one for the Endcap (EE).
The third argument contains data for isolation calculation.

The V3 with respect to V2 has one change: the full5x5 sigmaIEtaIEta
is taken from the native reco::Photon method and not from a ValueMap
produced upstream by some producer module.

Definition at line 373 of file cutBasedPhotonID_tools.py.

373 def configureVIDCutBasedPhoID_V3( wpEB, wpEE, isoInputs ):
374  """
375  This function configures the full cms.PSet for a VID ID and returns it.
376  The inputs: first object is of the type WorkingPoint_V2, second object
377  is of the type WorkingPoint_V1, containing the cuts for the Barrel (EB)
378  and the other one for the Endcap (EE).
379  The third argument contains data for isolation calculation.
380 
381  The V3 with respect to V2 has one change: the full5x5 sigmaIEtaIEta
382  is taken from the native reco::Photon method and not from a ValueMap
383  produced upstream by some producer module.
384  """
385  # print "VID: Configuring cut set %s" % wpEB.idName
386  parameterSet = cms.PSet(
387  #
388  idName = cms.string( wpEB.idName ), # same name stored in the _EB and _EE objects
389  cutFlow = cms.VPSet(
390  psetMinPtCut(), # pt cut
391  psetPhoSCEtaMultiRangeCut(), # eta cut
392  psetPhoHcalOverEcalBcCut(wpEB,wpEE), # H/E cut
393  psetPhoFull5x5SigmaIEtaIEtaCut(wpEB,wpEE), # full 5x5 sigmaIEtaIEta cut
394  psetChHadIsoWithEALinScalingCut(wpEB,wpEE,isoInputs), # charged hadron isolation cut
395  psetNeuHadIsoWithEAExpoScalingEBCut(wpEB,wpEE,isoInputs), # neutral hadron isolation cut
396  psetPhoIsoWithEALinScalingCut(wpEB,wpEE,isoInputs) # photon isolation cut
397  )
398  )
399  #
400  return parameterSet
401 

References psetChHadIsoWithEALinScalingCut(), psetMinPtCut(), psetNeuHadIsoWithEAExpoScalingEBCut(), psetPhoFull5x5SigmaIEtaIEtaCut(), psetPhoHcalOverEcalBcCut(), psetPhoIsoWithEALinScalingCut(), and psetPhoSCEtaMultiRangeCut().

◆ configureVIDCutBasedPhoID_V4()

def cutBasedPhotonID_tools.configureVIDCutBasedPhoID_V4 (   wpEB,
  wpEE,
  isoInputs 
)
This function configures the full cms.PSet for a VID ID and returns it.
The inputs: first object is of the type WorkingPoint_V2, second object
is of the type WorkingPoint_V2 as well, first containing the cuts for the 
Barrel (EB) and the other one for the Endcap (EE).
The third argument contains data for isolation calculation.

The V4 with respect to V3 has one change: both barrel and endcap
use the exponential scaling for the neutral hadron isolation cut
(in V3 it was only done for the barrel)

Definition at line 402 of file cutBasedPhotonID_tools.py.

402 def configureVIDCutBasedPhoID_V4( wpEB, wpEE, isoInputs ):
403  """
404  This function configures the full cms.PSet for a VID ID and returns it.
405  The inputs: first object is of the type WorkingPoint_V2, second object
406  is of the type WorkingPoint_V2 as well, first containing the cuts for the
407  Barrel (EB) and the other one for the Endcap (EE).
408  The third argument contains data for isolation calculation.
409 
410  The V4 with respect to V3 has one change: both barrel and endcap
411  use the exponential scaling for the neutral hadron isolation cut
412  (in V3 it was only done for the barrel)
413  """
414  # print "VID: Configuring cut set %s" % wpEB.idName
415  parameterSet = cms.PSet(
416  #
417  idName = cms.string( wpEB.idName ), # same name stored in the _EB and _EE objects
418  cutFlow = cms.VPSet(
419  psetMinPtCut(), # pt cut
420  psetPhoSCEtaMultiRangeCut(), # eta cut
421  psetPhoHcalOverEcalBcCut(wpEB,wpEE), # H/E cut
422  psetPhoFull5x5SigmaIEtaIEtaCut(wpEB,wpEE), # full 5x5 sigmaIEtaIEta cut
423  psetChHadIsoWithEALinScalingCut(wpEB,wpEE,isoInputs), # charged hadron isolation cut
424  psetNeuHadIsoWithEAExpoScalingCut(wpEB,wpEE,isoInputs), # neutral hadron isolation cut
425  psetPhoIsoWithEALinScalingCut(wpEB,wpEE,isoInputs) # photon isolation cut
426  )
427  )
428  #
429  return parameterSet
430 

References psetChHadIsoWithEALinScalingCut(), psetMinPtCut(), psetNeuHadIsoWithEAExpoScalingCut(), psetPhoFull5x5SigmaIEtaIEtaCut(), psetPhoHcalOverEcalBcCut(), psetPhoIsoWithEALinScalingCut(), and psetPhoSCEtaMultiRangeCut().

◆ configureVIDCutBasedPhoID_V5()

def cutBasedPhotonID_tools.configureVIDCutBasedPhoID_V5 (   wpEB,
  wpEE,
  isoInputs 
)
This function configures the full cms.PSet for a VID ID and returns it.
The inputs: first object is of the type WorkingPoint_V2, second object
is of the type WorkingPoint_V2 as well, first containing the cuts for the 
Barrel (EB) and the other one for the Endcap (EE).
The third argument contains data for isolation calculation.

The V5 with respect to V4 has one change: the neutral hadron isolation
for both barrel and endcap now uses quadratic polynomial scaling.

Definition at line 431 of file cutBasedPhotonID_tools.py.

431 def configureVIDCutBasedPhoID_V5( wpEB, wpEE, isoInputs ):
432  """
433  This function configures the full cms.PSet for a VID ID and returns it.
434  The inputs: first object is of the type WorkingPoint_V2, second object
435  is of the type WorkingPoint_V2 as well, first containing the cuts for the
436  Barrel (EB) and the other one for the Endcap (EE).
437  The third argument contains data for isolation calculation.
438 
439  The V5 with respect to V4 has one change: the neutral hadron isolation
440  for both barrel and endcap now uses quadratic polynomial scaling.
441  """
442  # print "VID: Configuring cut set %s" % wpEB.idName
443  parameterSet = cms.PSet(
444  #
445  idName = cms.string( wpEB.idName ), # same name stored in the _EB and _EE objects
446  cutFlow = cms.VPSet(
447  psetMinPtCut(), # pt cut
448  psetPhoSCEtaMultiRangeCut(), # eta cut
449  psetPhoHcalOverEcalBcCut(wpEB,wpEE), # H/E cut
450  psetPhoFull5x5SigmaIEtaIEtaCut(wpEB,wpEE), # full 5x5 sigmaIEtaIEta cut
451  psetChHadIsoWithEALinScalingCut(wpEB,wpEE,isoInputs), # charged hadron isolation cut
452  psetNeuHadIsoWithEAQuadScalingCut(wpEB,wpEE,isoInputs), # neutral hadron isolation cut
453  psetPhoIsoWithEALinScalingCut(wpEB,wpEE,isoInputs) # photon isolation cut
454  )
455  )
456  #
457  return parameterSet
458 

References psetChHadIsoWithEALinScalingCut(), psetMinPtCut(), psetNeuHadIsoWithEAQuadScalingCut(), psetPhoFull5x5SigmaIEtaIEtaCut(), psetPhoHcalOverEcalBcCut(), psetPhoIsoWithEALinScalingCut(), and psetPhoSCEtaMultiRangeCut().

◆ psetChHadIsoWithEALinScalingCut()

def cutBasedPhotonID_tools.psetChHadIsoWithEALinScalingCut (   wpEB,
  wpEE,
  isoInputs 
)
Arguments: two containers of working point cut values of the type WorkingPoint_*
The third argument contains data for isolation calculation.
The cut is (for lessThan==True), otherwise replace "<" with ">="
      X < constTerm + linearPtTerm*pt + quadPtTerm* pt*pt + rho*EA

Definition at line 167 of file cutBasedPhotonID_tools.py.

167 def psetChHadIsoWithEALinScalingCut(wpEB, wpEE, isoInputs):
168  """
169  Arguments: two containers of working point cut values of the type WorkingPoint_*
170  The third argument contains data for isolation calculation.
171  The cut is (for lessThan==True), otherwise replace "<" with ">="
172  X < constTerm + linearPtTerm*pt + quadPtTerm* pt*pt + rho*EA
173  """
174  return cms.PSet(
175  cutName = cms.string('PhoGenericRhoPtScaledCut'),
176  cutVariable = cms.string("chargedHadronIso"),
177  lessThan = cms.bool(True),
178  # cut
179  constTermEB = cms.double( wpEB.absPFChaHadIsoWithEACut_C1 ),
180  constTermEE = cms.double( wpEE.absPFChaHadIsoWithEACut_C1 ),
181  linearPtTermEB = cms.double( wpEB.absPFChaHadIsoWithEACut_C2 ),
182  linearPtTermEE = cms.double( wpEE.absPFChaHadIsoWithEACut_C2 ),
183  quadPtTermEB = cms.double( 0. ),
184  quadPtTermEE = cms.double( 0. ),
185  needsAdditionalProducts = cms.bool(True),
186  isIgnored = cms.bool(False),
187  rho = cms.InputTag("fixedGridRhoFastjetAll"),
188  effAreasConfigFile = cms.FileInPath( isoInputs.chHadIsolationEffAreas )
189  )
190 
191 # Configure the cut on the neutral hadron isolation that uses
192 # the linear pt scaling for barrel and endcap

Referenced by configureVIDCutBasedPhoID_V1(), configureVIDCutBasedPhoID_V2(), configureVIDCutBasedPhoID_V3(), configureVIDCutBasedPhoID_V4(), and configureVIDCutBasedPhoID_V5().

◆ psetMinPtCut()

def cutBasedPhotonID_tools.psetMinPtCut ( )

Definition at line 96 of file cutBasedPhotonID_tools.py.

96 def psetMinPtCut():
97  return cms.PSet(
98  cutName = cms.string("MinPtCut"),
99  minPt = cms.double(5.0),
100  needsAdditionalProducts = cms.bool(False),
101  isIgnored = cms.bool(False)
102  )
103 
104 # Take all particles in the eta ranges 0-ebCutOff and ebCutOff-2.5

Referenced by configureVIDCutBasedPhoID_V1(), configureVIDCutBasedPhoID_V2(), configureVIDCutBasedPhoID_V3(), configureVIDCutBasedPhoID_V4(), and configureVIDCutBasedPhoID_V5().

◆ psetNeuHadIsoWithEAExpoScalingCut()

def cutBasedPhotonID_tools.psetNeuHadIsoWithEAExpoScalingCut (   wpEB,
  wpEE,
  isoInputs 
)
Arguments: two containers of working point cut values of the type WorkingPoint_*
The third argument contains data for isolation calculation.

Definition at line 242 of file cutBasedPhotonID_tools.py.

242 def psetNeuHadIsoWithEAExpoScalingCut(wpEB, wpEE, isoInputs):
243  """
244  Arguments: two containers of working point cut values of the type WorkingPoint_*
245  The third argument contains data for isolation calculation.
246  """
247  return cms.PSet(
248  cutName = cms.string('PhoAnyPFIsoWithEAAndExpoScalingCut'), # Neutral hadrons isolation block
249  # Barrel: cut = c1 + expo(pt*c2+c3)
250  C1_EB = cms.double( wpEB.absPFNeuHadIsoWithEACut_C1 ),
251  C2_EB = cms.double( wpEB.absPFNeuHadIsoWithEACut_C2 ),
252  C3_EB = cms.double( wpEB.absPFNeuHadIsoWithEACut_C3 ),
253  # Endcap: cut = cut = c1 + expo(pt*c2+c3)
254  C1_EE = cms.double( wpEE.absPFNeuHadIsoWithEACut_C1 ),
255  C2_EE = cms.double( wpEE.absPFNeuHadIsoWithEACut_C2 ),
256  C3_EE = cms.double( wpEE.absPFNeuHadIsoWithEACut_C3 ),
257  anyPFIsoMap = cms.InputTag( isoInputs.neuHadIsolationMapName ),
258  barrelCutOff = cms.double(ebCutOff),
259  useRelativeIso = cms.bool(False),
260  needsAdditionalProducts = cms.bool(True),
261  isIgnored = cms.bool(False),
262  rho = cms.InputTag("fixedGridRhoFastjetAll"),
263  effAreasConfigFile = cms.FileInPath( isoInputs.neuHadIsolationEffAreas )
264  )
265 
266 # Configure the cut on the neutral hadron isolation that uses
267 # the quadratic polynomial pt scaling for both barrel and endcap

Referenced by configureVIDCutBasedPhoID_V4().

◆ psetNeuHadIsoWithEAExpoScalingEBCut()

def cutBasedPhotonID_tools.psetNeuHadIsoWithEAExpoScalingEBCut (   wpEB,
  wpEE,
  isoInputs 
)
Arguments: two containers of working point cut values of the type WorkingPoint_*
The third argument contains data for isolation calculation.

Definition at line 217 of file cutBasedPhotonID_tools.py.

217 def psetNeuHadIsoWithEAExpoScalingEBCut(wpEB, wpEE, isoInputs):
218  """
219  Arguments: two containers of working point cut values of the type WorkingPoint_*
220  The third argument contains data for isolation calculation.
221  """
222  return cms.PSet(
223  cutName = cms.string('PhoAnyPFIsoWithEAAndExpoScalingEBCut'), # Neutral hadrons isolation block
224  # Barrel: cut = c1 + expo(pt*c2+c3)
225  C1_EB = cms.double( wpEB.absPFNeuHadIsoWithEACut_C1 ),
226  C2_EB = cms.double( wpEB.absPFNeuHadIsoWithEACut_C2 ),
227  C3_EB = cms.double( wpEB.absPFNeuHadIsoWithEACut_C3 ),
228  # Endcap: cut = c1 + pt*c2
229  C1_EE = cms.double( wpEE.absPFNeuHadIsoWithEACut_C1 ),
230  C2_EE = cms.double( wpEE.absPFNeuHadIsoWithEACut_C2 ),
231  anyPFIsoMap = cms.InputTag( isoInputs.neuHadIsolationMapName ),
232  barrelCutOff = cms.double(ebCutOff),
233  useRelativeIso = cms.bool(False),
234  needsAdditionalProducts = cms.bool(True),
235  isIgnored = cms.bool(False),
236  rho = cms.InputTag("fixedGridRhoFastjetAll"),
237  effAreasConfigFile = cms.FileInPath( isoInputs.neuHadIsolationEffAreas )
238  )
239 
240 # Configure the cut on the neutral hadron isolation that uses
241 # the exponential pt scaling for both barrel and endcap

Referenced by configureVIDCutBasedPhoID_V2(), and configureVIDCutBasedPhoID_V3().

◆ psetNeuHadIsoWithEALinScalingCut()

def cutBasedPhotonID_tools.psetNeuHadIsoWithEALinScalingCut (   wpEB,
  wpEE,
  isoInputs 
)
Arguments: two containers of working point cut values of the type WorkingPoint_*
The third argument contains data for isolation calculation.

Definition at line 193 of file cutBasedPhotonID_tools.py.

193 def psetNeuHadIsoWithEALinScalingCut( wpEB, wpEE, isoInputs):
194  """
195  Arguments: two containers of working point cut values of the type WorkingPoint_*
196  The third argument contains data for isolation calculation.
197  """
198  return cms.PSet(
199  cutName = cms.string('PhoGenericRhoPtScaledCut'),
200  cutVariable = cms.string("neutralHadronIso"),
201  lessThan = cms.bool(True),
202  # cut
203  constTermEB = cms.double( wpEB.absPFNeuHadIsoWithEACut_C1 ),
204  constTermEE = cms.double( wpEE.absPFNeuHadIsoWithEACut_C1 ),
205  linearPtTermEB = cms.double( wpEB.absPFNeuHadIsoWithEACut_C2 ),
206  linearPtTermEE = cms.double( wpEE.absPFNeuHadIsoWithEACut_C2 ),
207  quadPtTermEB = cms.double( 0. ),
208  quadPtTermEE = cms.double( 0. ),
209  needsAdditionalProducts = cms.bool(True),
210  isIgnored = cms.bool(False),
211  rho = cms.InputTag("fixedGridRhoFastjetAll"),
212  effAreasConfigFile = cms.FileInPath( isoInputs.neuHadIsolationEffAreas )
213  )
214 
215 # Configure the cut on the neutral hadron isolation that uses
216 # the exponential pt scaling for barrel and the linear pt scaling for endcap

Referenced by configureVIDCutBasedPhoID_V1().

◆ psetNeuHadIsoWithEAQuadScalingCut()

def cutBasedPhotonID_tools.psetNeuHadIsoWithEAQuadScalingCut (   wpEB,
  wpEE,
  isoInputs 
)
Arguments: two containers of working point cut values of the type WorkingPoint_*
The third argument contains data for isolation calculation.

Definition at line 268 of file cutBasedPhotonID_tools.py.

268 def psetNeuHadIsoWithEAQuadScalingCut(wpEB, wpEE, isoInputs):
269  """
270  Arguments: two containers of working point cut values of the type WorkingPoint_*
271  The third argument contains data for isolation calculation.
272  """
273  return cms.PSet(
274  cutName = cms.string('PhoGenericRhoPtScaledCut'),
275  cutVariable = cms.string("neutralHadronIso"),
276  lessThan = cms.bool(True),
277  # cut
278  constTermEB = cms.double( wpEB.absPFNeuHadIsoWithEACut_C1 ),
279  constTermEE = cms.double( wpEE.absPFNeuHadIsoWithEACut_C1 ),
280  linearPtTermEB = cms.double( wpEB.absPFNeuHadIsoWithEACut_C2 ),
281  linearPtTermEE = cms.double( wpEE.absPFNeuHadIsoWithEACut_C2 ),
282  quadPtTermEB = cms.double( wpEB.absPFNeuHadIsoWithEACut_C3 ),
283  quadPtTermEE = cms.double( wpEE.absPFNeuHadIsoWithEACut_C3 ),
284  needsAdditionalProducts = cms.bool(True),
285  isIgnored = cms.bool(False),
286  rho = cms.InputTag("fixedGridRhoFastjetAll"),
287  effAreasConfigFile = cms.FileInPath( isoInputs.neuHadIsolationEffAreas )
288  )
289 
290 # Configure the cut on the photon isolation that uses
291 # the linear pt scaling for barrel and endcap

Referenced by configureVIDCutBasedPhoID_V5().

◆ psetPhoFull5x5SigmaIEtaIEtaCut()

def cutBasedPhotonID_tools.psetPhoFull5x5SigmaIEtaIEtaCut (   wpEB,
  wpEE 
)
Arguments: two containers of working point cut values of the type WorkingPoint_*

Definition at line 152 of file cutBasedPhotonID_tools.py.

152 def psetPhoFull5x5SigmaIEtaIEtaCut(wpEB, wpEE):
153  """
154  Arguments: two containers of working point cut values of the type WorkingPoint_*
155  """
156  return cms.PSet(
157  cutName = cms.string('PhoFull5x5SigmaIEtaIEtaCut'),
158  cutValueEB = cms.double( wpEB.full5x5_sigmaIEtaIEtaCut ),
159  cutValueEE = cms.double( wpEE.full5x5_sigmaIEtaIEtaCut ),
160  barrelCutOff = cms.double(ebCutOff),
161  needsAdditionalProducts = cms.bool(False),
162  isIgnored = cms.bool(False)
163  )
164 
165 # Configure the cut on the charged hadron isolation that uses
166 # the linear pt scaling for barrel and endcap

Referenced by configureVIDCutBasedPhoID_V3(), configureVIDCutBasedPhoID_V4(), and configureVIDCutBasedPhoID_V5().

◆ psetPhoFull5x5SigmaIEtaIEtaValueMapCut()

def cutBasedPhotonID_tools.psetPhoFull5x5SigmaIEtaIEtaValueMapCut (   wpEB,
  wpEE 
)
Arguments: two containers of working point cut values of the type WorkingPoint_*

Definition at line 136 of file cutBasedPhotonID_tools.py.

137  """
138  Arguments: two containers of working point cut values of the type WorkingPoint_*
139  """
140  return cms.PSet(
141  cutName = cms.string('PhoFull5x5SigmaIEtaIEtaValueMapCut'),
142  cutValueEB = cms.double( wpEB.full5x5_sigmaIEtaIEtaCut ),
143  cutValueEE = cms.double( wpEE.full5x5_sigmaIEtaIEtaCut ),
144  full5x5SigmaIEtaIEtaMap = cms.InputTag('photonIDValueMapProducer:phoFull5x5SigmaIEtaIEta'),
145  barrelCutOff = cms.double(ebCutOff),
146  needsAdditionalProducts = cms.bool(True),
147  isIgnored = cms.bool(False)
148  )
149 
150 # Configure the cut on full5x5 sigmaIEtaIEta that uses the native Photon field
151 # with this variable (works for releases past 7.2.0).

Referenced by configureVIDCutBasedPhoID_V1(), and configureVIDCutBasedPhoID_V2().

◆ psetPhoHcalOverEcalBcCut()

def cutBasedPhotonID_tools.psetPhoHcalOverEcalBcCut (   wpEB,
  wpEE 
)
Arguments: two containers of working point cut values of the type WorkingPoint_*

Definition at line 120 of file cutBasedPhotonID_tools.py.

120 def psetPhoHcalOverEcalBcCut( wpEB, wpEE):
121  """
122  Arguments: two containers of working point cut values of the type WorkingPoint_*
123  """
124  return cms.PSet(
125  cutName = cms.string('PhotonHcalOverEcalBcCut'),
126  hcalOverEcalCutValueEB = cms.double( wpEB.hOverECut ),
127  hcalOverEcalCutValueEE = cms.double( wpEE.hOverECut ),
128  barrelCutOff = cms.double(ebCutOff),
129  needsAdditionalProducts = cms.bool(False),
130  isIgnored = cms.bool(False)
131  )
132 
133 # Configure the cut on full5x5 sigmaIEtaIEta that uses a ValueMap,
134 # relying on an upstream producer that creates it. This was necessary
135 # for photons up to 7.2.0.

Referenced by configureVIDCutBasedPhoID_V1(), configureVIDCutBasedPhoID_V2(), configureVIDCutBasedPhoID_V3(), configureVIDCutBasedPhoID_V4(), and configureVIDCutBasedPhoID_V5().

◆ psetPhoIsoWithEALinScalingCut()

def cutBasedPhotonID_tools.psetPhoIsoWithEALinScalingCut (   wpEB,
  wpEE,
  isoInputs 
)
Arguments: two containers of working point cut values of the type WorkingPoint_*
The third argument contains data for isolation calculation.

Definition at line 292 of file cutBasedPhotonID_tools.py.

292 def psetPhoIsoWithEALinScalingCut(wpEB, wpEE, isoInputs):
293  """
294  Arguments: two containers of working point cut values of the type WorkingPoint_*
295  The third argument contains data for isolation calculation.
296  """
297  return cms.PSet(
298  cutName = cms.string('PhoGenericRhoPtScaledCut'),
299  cutVariable = cms.string("photonIso"),
300  lessThan = cms.bool(True),
301  # cut
302  constTermEB = cms.double( wpEB.absPFPhoIsoWithEACut_C1 ),
303  constTermEE = cms.double( wpEE.absPFPhoIsoWithEACut_C1 ),
304  linearPtTermEB = cms.double( wpEB.absPFPhoIsoWithEACut_C2 ),
305  linearPtTermEE = cms.double( wpEE.absPFPhoIsoWithEACut_C2 ),
306  quadPtTermEB = cms.double( 0. ),
307  quadPtTermEE = cms.double( 0. ),
308  needsAdditionalProducts = cms.bool(True),
309  isIgnored = cms.bool(False),
310  rho = cms.InputTag("fixedGridRhoFastjetAll"),
311  effAreasConfigFile = cms.FileInPath( isoInputs.phoIsolationEffAreas )
312  )
313 
314 
315 
316 # ==============================================================
317 # Define the complete cut sets
318 # ==============================================================
319 
320 

Referenced by configureVIDCutBasedPhoID_V1(), configureVIDCutBasedPhoID_V2(), configureVIDCutBasedPhoID_V3(), configureVIDCutBasedPhoID_V4(), and configureVIDCutBasedPhoID_V5().

◆ psetPhoSCEtaMultiRangeCut()

def cutBasedPhotonID_tools.psetPhoSCEtaMultiRangeCut ( )

Definition at line 105 of file cutBasedPhotonID_tools.py.

106  return cms.PSet(
107  cutName = cms.string("PhoSCEtaMultiRangeCut"),
108  useAbsEta = cms.bool(True),
109  allowedEtaRanges = cms.VPSet(
110  cms.PSet( minEta = cms.double(0.0),
111  maxEta = cms.double(ebCutOff) ),
112  cms.PSet( minEta = cms.double(ebCutOff),
113  maxEta = cms.double(2.5) )
114  ),
115  needsAdditionalProducts = cms.bool(False),
116  isIgnored = cms.bool(False)
117  )
118 
119 # Configure the cut on H/E

Referenced by configureVIDCutBasedPhoID_V1(), configureVIDCutBasedPhoID_V2(), configureVIDCutBasedPhoID_V3(), configureVIDCutBasedPhoID_V4(), and configureVIDCutBasedPhoID_V5().

Variable Documentation

◆ ebCutOff

cutBasedPhotonID_tools.ebCutOff

Definition at line 5 of file cutBasedPhotonID_tools.py.

cutBasedPhotonID_tools.psetPhoIsoWithEALinScalingCut
def psetPhoIsoWithEALinScalingCut(wpEB, wpEE, isoInputs)
Definition: cutBasedPhotonID_tools.py:292
cutBasedPhotonID_tools.psetNeuHadIsoWithEAExpoScalingEBCut
def psetNeuHadIsoWithEAExpoScalingEBCut(wpEB, wpEE, isoInputs)
Definition: cutBasedPhotonID_tools.py:217
cutBasedPhotonID_tools.configureVIDCutBasedPhoID_V2
def configureVIDCutBasedPhoID_V2(wpEB, wpEE, isoInputs)
Definition: cutBasedPhotonID_tools.py:345
cutBasedPhotonID_tools.psetPhoFull5x5SigmaIEtaIEtaCut
def psetPhoFull5x5SigmaIEtaIEtaCut(wpEB, wpEE)
Definition: cutBasedPhotonID_tools.py:152
cutBasedPhotonID_tools.configureVIDCutBasedPhoID_V5
def configureVIDCutBasedPhoID_V5(wpEB, wpEE, isoInputs)
Definition: cutBasedPhotonID_tools.py:431
cutBasedPhotonID_tools.psetNeuHadIsoWithEALinScalingCut
def psetNeuHadIsoWithEALinScalingCut(wpEB, wpEE, isoInputs)
Definition: cutBasedPhotonID_tools.py:193
cutBasedPhotonID_tools.psetPhoHcalOverEcalBcCut
def psetPhoHcalOverEcalBcCut(wpEB, wpEE)
Definition: cutBasedPhotonID_tools.py:120
cutBasedPhotonID_tools.configureVIDCutBasedPhoID_V4
def configureVIDCutBasedPhoID_V4(wpEB, wpEE, isoInputs)
Definition: cutBasedPhotonID_tools.py:402
cutBasedPhotonID_tools.psetChHadIsoWithEALinScalingCut
def psetChHadIsoWithEALinScalingCut(wpEB, wpEE, isoInputs)
Definition: cutBasedPhotonID_tools.py:167
cutBasedPhotonID_tools.configureVIDCutBasedPhoID_V3
def configureVIDCutBasedPhoID_V3(wpEB, wpEE, isoInputs)
Definition: cutBasedPhotonID_tools.py:373
cutBasedPhotonID_tools.psetNeuHadIsoWithEAQuadScalingCut
def psetNeuHadIsoWithEAQuadScalingCut(wpEB, wpEE, isoInputs)
Definition: cutBasedPhotonID_tools.py:268
cutBasedPhotonID_tools.psetPhoSCEtaMultiRangeCut
def psetPhoSCEtaMultiRangeCut()
Definition: cutBasedPhotonID_tools.py:105
cutBasedPhotonID_tools.configureVIDCutBasedPhoID_V1
def configureVIDCutBasedPhoID_V1(wpEB, wpEE, isoInputs)
Definition: cutBasedPhotonID_tools.py:321
cutBasedPhotonID_tools.psetMinPtCut
def psetMinPtCut()
Definition: cutBasedPhotonID_tools.py:96
cutBasedPhotonID_tools.psetPhoFull5x5SigmaIEtaIEtaValueMapCut
def psetPhoFull5x5SigmaIEtaIEtaValueMapCut(wpEB, wpEE)
Definition: cutBasedPhotonID_tools.py:136
cutBasedPhotonID_tools.psetNeuHadIsoWithEAExpoScalingCut
def psetNeuHadIsoWithEAExpoScalingCut(wpEB, wpEE, isoInputs)
Definition: cutBasedPhotonID_tools.py:242