CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Classes | Functions
vid_id_tools Namespace Reference

Classes

class  DataFormat
 

Functions

def addVIDSelectionToPATProducer
 
def setupAllVIDIdsInModule
 
def setupVIDElectronSelection
 
def setupVIDMuonSelection
 
def setupVIDPhotonSelection
 
def setupVIDSelection
 
def switchOnVIDElectronIdProducer
 
def switchOnVIDMuonIdProducer
 Muons. More...
 
def switchOnVIDPhotonIdProducer
 Photons. More...
 

Function Documentation

def vid_id_tools.addVIDSelectionToPATProducer (   patProducer,
  idProducer,
  idName 
)

Definition at line 28 of file vid_id_tools.py.

Referenced by setupVIDElectronSelection(), setupVIDMuonSelection(), and setupVIDPhotonSelection().

28 
29 def addVIDSelectionToPATProducer(patProducer,idProducer,idName):
30  patProducerIDs = None
31  for key in patProducer.__dict__.keys():
32  if 'IDSources' in key:
33  patProducerIDs = getattr(patProducer,key)
34  if patProducerIDs is None:
35  raise Exception('StrangePatModule','%s does not have ID sources!'%patProducer.label())
36  setattr(patProducerIDs,idName,cms.InputTag('%s:%s'%(idProducer,idName)))
37  sys.stderr.write('\t--- %s:%s added to %s\n'%(idProducer,idName,patProducer.label()))
def addVIDSelectionToPATProducer
Definition: vid_id_tools.py:28
def vid_id_tools.setupAllVIDIdsInModule (   process,
  id_module_name,
  setupFunction,
  patProducer = None 
)

Definition at line 38 of file vid_id_tools.py.

References dir.

Referenced by miniAOD_tools.miniAOD_customizeCommon().

38 
39 def setupAllVIDIdsInModule(process,id_module_name,setupFunction,patProducer=None):
40 # idmod = importlib.import_module(id_module_name)
41  idmod= __import__(id_module_name, globals(), locals(), ['idName','cutFlow'])
42  for name in dir(idmod):
43  item = getattr(idmod,name)
44  if hasattr(item,'idName') and hasattr(item,'cutFlow'):
45  setupFunction(process,item,patProducer)
46 
# Supported data formats defined via "enum"
def setupAllVIDIdsInModule
Definition: vid_id_tools.py:38
dbl *** dir
Definition: mlp_gen.cc:35
def vid_id_tools.setupVIDElectronSelection (   process,
  cutflow,
  patProducer = None 
)

Definition at line 73 of file vid_id_tools.py.

References addVIDSelectionToPATProducer(), and setupVIDSelection().

73 
74 def setupVIDElectronSelection(process,cutflow,patProducer=None):
75  if not hasattr(process,'egmGsfElectronIDs'):
76  raise Exception('VIDProducerNotAvailable','egmGsfElectronIDs producer not available in process!')
77  setupVIDSelection(process.egmGsfElectronIDs,cutflow)
78  #add to PAT electron producer if available or specified
79  if hasattr(process,'patElectrons') or patProducer is not None:
80  if patProducer is None:
81  patProducer = process.patElectrons
82  idName = cutflow.idName.value()
83  addVIDSelectionToPATProducer(patProducer,'egmGsfElectronIDs',idName)
def addVIDSelectionToPATProducer
Definition: vid_id_tools.py:28
def setupVIDElectronSelection
Definition: vid_id_tools.py:73
def setupVIDSelection
Definition: vid_id_tools.py:11
def vid_id_tools.setupVIDMuonSelection (   process,
  cutflow,
  patProducer = None 
)

Definition at line 94 of file vid_id_tools.py.

References addVIDSelectionToPATProducer(), and setupVIDSelection().

94 
95 def setupVIDMuonSelection(process,cutflow,patProducer=None):
96  if not hasattr(process,'muoMuonIDs'):
97  raise Exception('VIDProducerNotAvailable','muoMuonIDs producer not available in process!')
98  setupVIDSelection(process.muoMuonIDs,cutflow)
99  #add to PAT electron producer if available or specified
100  if hasattr(process,'patMuons') or patProducer is not None:
101  if patProducer is None:
102  patProducer = process.patMuons
103  idName = cutflow.idName.value()
104  addVIDSelectionToPATProducer(patProducer,'muoMuonIDs',idName)
def setupVIDMuonSelection
Definition: vid_id_tools.py:94
def addVIDSelectionToPATProducer
Definition: vid_id_tools.py:28
def setupVIDSelection
Definition: vid_id_tools.py:11
def vid_id_tools.setupVIDPhotonSelection (   process,
  cutflow,
  patProducer = None 
)

Definition at line 127 of file vid_id_tools.py.

References addVIDSelectionToPATProducer(), and setupVIDSelection().

128 def setupVIDPhotonSelection(process,cutflow,patProducer=None):
129  if not hasattr(process,'egmPhotonIDs'):
130  raise Exception('VIDProducerNotAvailable','egmPhotonIDs producer not available in process!\n')
131  setupVIDSelection(process.egmPhotonIDs,cutflow)
132  #add to PAT photon producer if available or specified
133  if hasattr(process,'patPhotons') or patProducer is not None:
134  if patProducer is None:
135  patProducer = process.patPhotons
136  idName = cutflow.idName.value()
137  addVIDSelectionToPATProducer(patProducer,'egmPhotonIDs',idName)
138 
def addVIDSelectionToPATProducer
Definition: vid_id_tools.py:28
def setupVIDPhotonSelection
def setupVIDSelection
Definition: vid_id_tools.py:11
def vid_id_tools.setupVIDSelection (   vidproducer,
  cutflow 
)

Definition at line 11 of file vid_id_tools.py.

Referenced by setupVIDElectronSelection(), setupVIDMuonSelection(), and setupVIDPhotonSelection().

11 
12 def setupVIDSelection(vidproducer,cutflow):
13  if not hasattr(cutflow,'idName'):
14  raise Exception('InvalidVIDCutFlow', 'The cutflow configuation provided is malformed and does not have a specified name!')
15  if not hasattr(cutflow,'cutFlow'):
16  raise Exception('InvalidVIDCutFlow', 'The cutflow configuration provided is malformed and does not have a specific cutflow!')
17  cutflow_md5 = central_id_registry.getMD5FromName(cutflow.idName)
18  isPOGApproved = cms.untracked.bool(False)
19  if hasattr(cutflow,'isPOGApproved'):
20  isPOGApproved = cutflow.isPOGApproved
21  del cutflow.isPOGApproved
22  vidproducer.physicsObjectIDs.append(
23  cms.PSet( idDefinition = cutflow,
24  isPOGApproved = isPOGApproved,
25  idMD5 = cms.string(cutflow_md5) )
26  )
27  sys.stderr.write('Added ID \'%s\' to %s\n'%(cutflow.idName.value(),vidproducer.label()))
def setupVIDSelection
Definition: vid_id_tools.py:11
def vid_id_tools.switchOnVIDElectronIdProducer (   process,
  dataFormat 
)

Definition at line 57 of file vid_id_tools.py.

Referenced by miniAOD_tools.miniAOD_customizeCommon().

57 
58 def switchOnVIDElectronIdProducer(process, dataFormat):
59  process.load('RecoEgamma.ElectronIdentification.egmGsfElectronIDs_cff')
60  dataFormatString = "Undefined"
61  if dataFormat == DataFormat.AOD:
62  # No reconfiguration is required, default settings are for AOD
63  dataFormatString = "AOD"
64  elif dataFormat == DataFormat.MiniAOD:
65  # If we are dealing with MiniAOD, we overwrite the electron collection
66  # name appropriately, for the fragment we just loaded above.
67  process.egmGsfElectronIDs.physicsObjectSrc = cms.InputTag('slimmedElectrons')
68  dataFormatString = "MiniAOD"
69  else:
70  raise Exception('InvalidVIDDataFormat', 'The requested data format is different from AOD or MiniAOD')
71  #
72  sys.stderr.write('Added \'egmGsfElectronIDs\' to process definition (%s format)!\n' % dataFormatString)
def switchOnVIDElectronIdProducer
Definition: vid_id_tools.py:57
def vid_id_tools.switchOnVIDMuonIdProducer (   process)

Muons.

Definition at line 90 of file vid_id_tools.py.

90 
91 def switchOnVIDMuonIdProducer(process):
92  process.load('RecoMuon.MuonIdentification.muoMuonIDs_cff')
93  sys.stderr.write('Added \'muoMuonIDs\' to process definition!\n')
def switchOnVIDMuonIdProducer
Muons.
Definition: vid_id_tools.py:90
def vid_id_tools.switchOnVIDPhotonIdProducer (   process,
  dataFormat 
)

Photons.

Definition at line 111 of file vid_id_tools.py.

112 def switchOnVIDPhotonIdProducer(process, dataFormat):
113  process.load('RecoEgamma.PhotonIdentification.egmPhotonIDs_cff')
114  dataFormatString = "Undefined"
115  if dataFormat == DataFormat.AOD:
116  # No reconfiguration is required, default settings are for AOD
117  dataFormatString = "AOD"
118  elif dataFormat == DataFormat.MiniAOD:
119  # If we are dealing with MiniAOD, we overwrite the electron collection
120  # name appropriately, for the fragment we just loaded above.
121  process.egmPhotonIDs.physicsObjectSrc = cms.InputTag('slimmedPhotons')
122  dataFormatString = "MiniAOD"
123  else:
124  raise Exception('InvalidVIDDataFormat', 'The requested data format is different from AOD or MiniAOD')
125  #
126  sys.stderr.write('Added \'egmPhotonIDs\' to process definition (%s format)!\n' % dataFormatString)
def switchOnVIDPhotonIdProducer
Photons.