CMS 3D CMS Logo

Public Member Functions | Private Attributes | Static Private Attributes

jetTools::AddJetCollection Class Reference

Inherits FWCore::GuiBrowsers::ConfigToolBase::ConfigToolBase.

List of all members.

Public Member Functions

def __call__
def __init__
def getDefaultParameters
def toolCode

Private Attributes

 _comment
 _parameters

Static Private Attributes

tuple _defaultParameters = dicttypes.SortedKeysDict()
string _label = 'addJetCollection'

Detailed Description

Add a new collection of jets. Takes the configuration from the
already configured standard jet collection as starting point;
replaces before calling addJetCollection will also affect the
new jet collections

Definition at line 167 of file jetTools.py.


Constructor & Destructor Documentation

def jetTools::AddJetCollection::__init__ (   self)

Definition at line 176 of file jetTools.py.

00177                       :
00178         ConfigToolBase.__init__(self)
00179         self.addParameter(self._defaultParameters,'jetCollection',self._defaultValue,'Input jet collection', cms.InputTag)
00180         self.addParameter(self._defaultParameters,'algoLabel',self._defaultValue, "label to indicate the jet algorithm (e.g.'AK5')",str)
00181         self.addParameter(self._defaultParameters,'typeLabel',self._defaultValue, "label to indicate the type of constituents (e.g. 'Calo', 'Pflow', 'Jpt', ...)",str)
00182         self.addParameter(self._defaultParameters,'doJTA',True, "run b tagging sequence for new jet collection and add it to the new pat jet collection")
00183         self.addParameter(self._defaultParameters,'doBTagging',True, 'run JetTracksAssociation and JetCharge and add it to the new pat jet collection (will autom. be true if doBTagging is set to true)')        
00184         self.addParameter(self._defaultParameters,'jetCorrLabel',None, "payload and list of new jet correction labels, such as (\'AK5Calo\',[\'L2Relative\', \'L3Absolute\'])", tuple,acceptNoneValue=True )
00185         self.addParameter(self._defaultParameters,'doType1MET',True, "if jetCorrLabel is not 'None', set this to 'True' to redo the Type1 MET correction for the new jet colllection; at the moment it must be 'False' for non CaloJets otherwise the JetMET POG module crashes. ")
00186         self.addParameter(self._defaultParameters,'doL1Cleaning',True, "copy also the producer modules for cleanLayer1 will be set to 'True' automatically when doL1Counters is 'True'")
00187         self.addParameter(self._defaultParameters,'doL1Counters',False, "copy also the filter modules that accept/reject the event looking at the number of jets")
00188         self.addParameter(self._defaultParameters,'genJetCollection',cms.InputTag("ak5GenJets"), "GenJet collection to match to")
00189         self.addParameter(self._defaultParameters,'doJetID',True, "add jetId variables to the added jet collection?")
00190         self.addParameter(self._defaultParameters,'jetIdLabel',"ak5", " specify the label prefix of the xxxJetID object; in general it is the jet collection tag like ak5, kt4 sc5, aso. For more information have a look to SWGuidePATTools#add_JetCollection")
00191         self.addParameter(self._defaultParameters, 'outputModules', ['out'], "output module labels, empty list of label indicates no output, default: ['out']")
00192         
00193         self._parameters=copy.deepcopy(self._defaultParameters)
00194         self._comment = ""
        

Member Function Documentation

def jetTools::AddJetCollection::__call__ (   self,
  process,
  jetCollection = None,
  algoLabel = None,
  typeLabel = None,
  doJTA = None,
  doBTagging = None,
  jetCorrLabel = None,
  doType1MET = None,
  doL1Cleaning = None,
  doL1Counters = None,
  genJetCollection = None,
  doJetID = None,
  jetIdLabel = None,
  outputModule = None,
  outputModules = None 
)

Definition at line 198 of file jetTools.py.

00213                                            :
00214 
00215         ## stop processing if 'outputModule' exists and show the new alternative
00216         if  not outputModule is None:
00217             depricatedOptionOutputModule(self)
00218         if jetCollection  is None:
00219             jetCollection=self._defaultParameters['jetCollection'].value
00220         if algoLabel is None:
00221             algoLabel=self._defaultParameters['algoLabel'].value
00222         if typeLabel is None:
00223             typeLabel=self._defaultParameters['typeLabel'].value
00224         if doJTA is None:
00225             doJTA=self._defaultParameters['doJTA'].value
00226         if doBTagging is None:
00227             doBTagging=self._defaultParameters['doBTagging'].value
00228         if jetCorrLabel  is None:
00229             jetCorrLabel=self._defaultParameters['jetCorrLabel'].value
00230         if doType1MET  is None:
00231             doType1MET=self._defaultParameters['doType1MET'].value
00232         if doL1Cleaning is None:
00233             doL1Cleaning=self._defaultParameters['doL1Cleaning'].value
00234         if doL1Counters  is None:
00235             doL1Counters=self._defaultParameters['doL1Counters'].value
00236         if genJetCollection  is None:
00237             genJetCollection=self._defaultParameters['genJetCollection'].value
00238         if doJetID  is None:
00239             doJetID=self._defaultParameters['doJetID'].value
00240         if jetIdLabel  is None:
00241             jetIdLabel=self._defaultParameters['jetIdLabel'].value
00242         if outputModules is None:
00243             outputModules=self._defaultParameters['outputModules'].value    
00244 
00245         self.setParameter('jetCollection',jetCollection)
00246         self.setParameter('algoLabel',algoLabel)
00247         self.setParameter('typeLabel',typeLabel)
00248         self.setParameter('doJTA',doJTA)
00249         self.setParameter('doBTagging',doBTagging)
00250         self.setParameter('jetCorrLabel',jetCorrLabel)
00251         self.setParameter('doType1MET',doType1MET)
00252         self.setParameter('doL1Cleaning',doL1Cleaning)
00253         self.setParameter('doL1Counters',doL1Counters)
00254         self.setParameter('genJetCollection',genJetCollection)
00255         self.setParameter('doJetID',doJetID)
00256         self.setParameter('jetIdLabel',jetIdLabel)
00257         self.setParameter('outputModules',outputModules)
00258    
00259         self.apply(process) 
        
def jetTools::AddJetCollection::getDefaultParameters (   self)

Definition at line 195 of file jetTools.py.

00196                                   :
00197         return self._defaultParameters

def jetTools::AddJetCollection::toolCode (   self,
  process 
)

Definition at line 260 of file jetTools.py.

00260                                :        
00261         jetCollection=self._parameters['jetCollection'].value
00262         algoLabel=self._parameters['algoLabel'].value
00263         typeLabel=self._parameters['typeLabel'].value
00264         doJTA=self._parameters['doJTA'].value
00265         doBTagging=self._parameters['doBTagging'].value
00266         jetCorrLabel=self._parameters['jetCorrLabel'].value
00267         doType1MET =self._parameters['doType1MET'].value
00268         doL1Cleaning=self._parameters['doL1Cleaning'].value
00269         doL1Counters=self._parameters['doL1Counters'].value
00270         genJetCollection=self._parameters['genJetCollection'].value
00271         doJetID=self._parameters['doJetID'].value
00272         jetIdLabel=self._parameters['jetIdLabel'].value
00273         outputModules=self._parameters['outputModules'].value
00274 
00275         ## create old module label from standardAlgo
00276         ## and standardType and return
00277         def oldLabel(prefix=''):        
00278             return jetCollectionString(prefix, '', '')
00279 
00280         ## create new module label from old module
00281         ## label and return
00282         def newLabel(oldLabel):
00283             newLabel=oldLabel
00284             oldLabel=oldLabel+algoLabel+typeLabel
00285             return oldLabel
00286 
00287         ## clone module and add it to the patDefaultSequence
00288         def addClone(hook, **replaceStatements):
00289             ## create a clone of the hook with corresponding
00290             ## parameter replacements
00291             newModule = getattr(process, hook).clone(**replaceStatements)
00292             ## add the module to the sequence
00293             addModuleToSequence(hook, newModule)
00294 
00295         ## add module to the patDefaultSequence
00296         def addModuleToSequence(hook, newModule):
00297             hookModule = getattr(process, hook)
00298             ## add the new module with standardAlgo &
00299             ## standardType replaced in module label
00300             setattr( process, newLabel(hook), newModule)
00301             ## add new module to default sequence
00302             ## just behind the hookModule
00303             process.patDefaultSequence.replace( hookModule, hookModule*newModule )
00304 
00305         ## add a clone of patJets
00306         addClone(oldLabel(), jetSource = jetCollection)
00307         ## add a clone of selectedPatJets    
00308         addClone(oldLabel('selected'), src=cms.InputTag(newLabel(oldLabel())))
00309         ## add a clone of cleanPatJets    
00310         if( doL1Cleaning ):
00311             addClone(oldLabel('clean'), src=cms.InputTag(newLabel(oldLabel('selected'))))
00312         ## add a clone of countPatJets    
00313         if( doL1Counters ):
00314             if( doL1Cleaning ):
00315                 addClone(oldLabel('count'), src=cms.InputTag(newLabel(oldLabel('clean'))))
00316             else:
00317                 addClone(oldLabel('count'), src=cms.InputTag(newLabel(oldLabel('selected'))))            
00318 
00319         ## get attributes of new module
00320         l1Jets = getattr(process, newLabel(oldLabel()))
00321 
00322         ## add a clone of gen jet matching
00323         addClone('patJetPartonMatch', src = jetCollection)
00324         addClone('patJetGenJetMatch', src = jetCollection, matched = genJetCollection)
00325 
00326         ## add a clone of parton and flavour associations
00327         addClone('patJetPartonAssociation', jets = jetCollection)
00328         addClone('patJetFlavourAssociation', srcByReference = cms.InputTag(newLabel('patJetPartonAssociation')))
00329 
00330         ## fix label for input tag
00331         def fixInputTag(x): x.setModuleLabel(newLabel(x.moduleLabel))
00332         ## fix label for vector of input tags
00333         def fixVInputTag(x): x[0].setModuleLabel(newLabel(x[0].moduleLabel))
00334 
00335         ## provide allLayer1Jet inputs with individual labels
00336         fixInputTag(l1Jets.genJetMatch)
00337         fixInputTag(l1Jets.genPartonMatch)
00338         fixInputTag(l1Jets.JetPartonMapSource)
00339 
00340         ## make VInputTag from strings 
00341         def vit(*args) : return cms.VInputTag( *[ cms.InputTag(x) for x in args ] )
00342 
00343         if (doJTA or doBTagging):
00344             ## add clone of jet track association        
00345             process.load("RecoJets.JetAssociationProducers.ak5JTA_cff")
00346             from RecoJets.JetAssociationProducers.ak5JTA_cff import ak5JetTracksAssociatorAtVertex
00347             ## add jet track association module to processes
00348             jtaLabel = 'jetTracksAssociatorAtVertex'+algoLabel+typeLabel
00349             setattr( process, jtaLabel, ak5JetTracksAssociatorAtVertex.clone(jets = jetCollection) )
00350             process.patDefaultSequence.replace(process.patJetCharge, getattr(process,jtaLabel)+process.patJetCharge)
00351             l1Jets.trackAssociationSource = cms.InputTag(jtaLabel)
00352             addClone('patJetCharge', src=cms.InputTag(jtaLabel)),
00353             fixInputTag(l1Jets.jetChargeSource)
00354         else:
00355             ## switch embedding of track association and jet
00356             ## charge estimate to 'False'        
00357             l1Jets.addAssociatedTracks = False
00358             l1Jets.addJetCharge = False
00359 
00360         if (doBTagging):
00361             ## define postfixLabel
00362             postfixLabel=algoLabel+typeLabel
00363             ## add b tagging sequence
00364             (btagSeq, btagLabels) = runBTagging(process, jetCollection, postfixLabel)
00365             ## add b tagging sequence before running the allLayer1Jets modules
00366             process.patDefaultSequence.replace(getattr(process,jtaLabel), getattr(process,jtaLabel)+btagSeq)
00367             ## replace corresponding tags for pat jet production
00368             l1Jets.trackAssociationSource = cms.InputTag(btagLabels['jta'])
00369             l1Jets.tagInfoSources = cms.VInputTag( *[ cms.InputTag(x) for x in btagLabels['tagInfos'] ] )
00370             l1Jets.discriminatorSources = cms.VInputTag( *[ cms.InputTag(x) for x in btagLabels['jetTags']  ] )
00371         else:
00372             ## switch general b tagging info switch off
00373             l1Jets.addBTagInfo = False
00374             ## adjust output
00375             if len(outputModules) > 0:
00376                 for outMod in outputModules:
00377                     if hasattr(process,outMod):
00378                         getattr(process,outMod).outputCommands.append("drop *_"+newLabel(oldLabel('selected'))+"_tagInfos_*")
00379                     else:
00380                         raise KeyError, "process has no OutModule named", outMod
00381 
00382         if (doJetID):
00383             l1Jets.addJetID = cms.bool(True)
00384             jetIdLabelNew = jetIdLabel + 'JetID'
00385             l1Jets.jetIDMap = cms.InputTag( jetIdLabelNew )
00386         else :
00387             l1Jets.addJetID = cms.bool(False)
00388 
00389         if (jetCorrLabel != None):
00390             ## add clone of jet energy corrections;
00391             ## catch a couple of exceptions first
00392             if (jetCorrLabel == False ):
00393                 raise ValueError, "In addJetCollection 'jetCorrLabel' must be set to 'None', not 'False'"
00394             if (jetCorrLabel == "None"):
00395                 raise ValueError, "In addJetCollection 'jetCorrLabel' must be set to 'None' (without quotes)"
00396             ## check for the correct format
00397             if type(jetCorrLabel) != type(('AK5Calo',['L2Relative'])): 
00398                 raise ValueError, "In addJetCollection 'jetCorrLabel' must be 'None', or of type ('payload',['correction1', 'correction2'])"            
00399 
00400             ## add clone of jetCorrFactors
00401             addClone('patJetCorrFactors', src = jetCollection)
00402             switchJetCorrLevels(process, jetCorrLabel = jetCorrLabel, postfix=algoLabel+typeLabel)
00403             getattr(process, newLabel('patJets')).jetCorrFactorsSource = cms.VInputTag(  cms.InputTag(newLabel('patJetCorrFactors')) )
00404         
00405             ## find out type of jet collection, switch type1MET corrections off for JPTJets
00406             jetCollType = ''
00407             if   ( 'CaloJets' in jetCollection.getModuleLabel() ):
00408                 jetCollType = 'Calo'
00409             elif ( 'PFJets' in jetCollection.getModuleLabel() or jetCollection.getModuleLabel().startswith('pfNo') or jetCollection.getModuleLabel() == 'particleFlow'):
00410                 jetCollType = 'PF'
00411             else:
00412                 print '============================================='
00413                 print 'Type1MET corrections are switched off for    '
00414                 print 'JPT Jets. Users are recommened to use tcMET  '
00415                 print 'together with JPT jets.                      '
00416                 print '============================================='
00417                 doType1MET=False
00418 
00419             ## add a clone of the type1MET correction for the new jet collection
00420             if (doType1MET):
00421                 ## create jet correctors for MET corrections
00422                 from JetMETCorrections.Configuration.JetCorrectionServicesAllAlgos_cff import ak5PFL1Fastjet, ak5PFL1Offset, ak5PFL2Relative, ak5PFL3Absolute, ak5PFResidual
00423                 setattr(process, jetCorrLabel[0]+'L1FastJet'   , ak5PFL1Fastjet.clone ( algorithm=jetCorrLabel[0]
00424                                                                                       , srcRho=cms.InputTag(newLabel('kt6'+jetCollType+'Jets'),'rho') ) )
00425                 setattr(process, jetCorrLabel[0]+'L1Offset'    , ak5PFL1Offset.clone  ( algorithm=jetCorrLabel[0] ) )
00426                 setattr(process, jetCorrLabel[0]+'L2Relative'  , ak5PFL2Relative.clone( algorithm=jetCorrLabel[0] ) )
00427                 setattr(process, jetCorrLabel[0]+'L3Absolute'  , ak5PFL3Absolute.clone( algorithm=jetCorrLabel[0] ) )
00428                 setattr(process, jetCorrLabel[0]+'L2L3Residual', ak5PFResidual.clone  ( algorithm=jetCorrLabel[0] ) )
00429                 ## combinded corrections
00430                 setattr(process, jetCorrLabel[0]+'CombinedCorrector', cms.ESProducer( 'JetCorrectionESChain'
00431                                                                                   , correctors = cms.vstring() ) )
00432                 
00433                 for corrLbl in jetCorrLabel[1]:
00434                     if corrLbl != 'L1FastJet' and corrLbl != 'L1Offset' and corrLbl != 'L2Relative' and corrLbl != 'L3Absolute' and corrLbl != 'L2L3Residual':
00435                         print '========================================='
00436                         print ' Type1MET corrections are currently only  '
00437                         print ' supported for the following corrections: '
00438                         print '   - L1FastJet'
00439                         print '   - L1Offset'
00440                         print '   - L2Relative'
00441                         print '   - L3Absolute'
00442                         print '   - L2L3Residual'
00443                         print ' But given was:'
00444                         print '   -', corrLbl
00445                         print '============================================='
00446                         raise ValueError, 'unsupported JEC for TypeI MET correction: '+corrLbl
00447                     else:
00448                         getattr(process, jetCorrLabel[0]+'CombinedCorrector').correctors.append(jetCorrLabel[0]+corrLbl)
00449 
00450                 ## configuration of MET corrections
00451                 if jetCollType == 'Calo':
00452                     from JetMETCorrections.Type1MET.caloMETCorrections_cff import caloJetMETcorr,caloType1CorrectedMet,caloType1p2CorrectedMet,produceCaloMETCorrections
00453                     
00454                     setattr(process,jetCorrLabel[0]+'JetMETcorr',   caloJetMETcorr.clone(srcMET       = "corMetGlobalMuons"))
00455                     setattr(process,jetCorrLabel[0]+'Type1CorMet',  caloType1CorrectedMet.clone(src   = "corMetGlobalMuons"))
00456                     setattr(process,jetCorrLabel[0]+'Type1p2CorMet',caloType1p2CorrectedMet.clone(src = "corMetGlobalMuons"))
00457                     
00458                     getattr(process,jetCorrLabel[0]+'JetMETcorr'   ).src          = cms.InputTag(jetCollection.getModuleLabel())
00459                     if ('L1FastJet' in jetCorrLabel[1] or 'L1Fastjet' in jetCorrLabel[1]):
00460                         getattr(process,jetCorrLabel[0]+'JetMETcorr'   ).offsetCorrLabel = cms.string(jetCorrLabel[0]+'L1FastJet')
00461                     elif ('L1Offset' in jetCorrLabel[1]):
00462                         getattr(process,jetCorrLabel[0]+'JetMETcorr'   ).offsetCorrLabel = cms.string(jetCorrLabel[0]+'L1Offset')
00463                     else:
00464                         getattr(process,jetCorrLabel[0]+'JetMETcorr'   ).offsetCorrLabel = cms.string('')
00465                     getattr(process,jetCorrLabel[0]+'JetMETcorr'   ).jetCorrLabel = cms.string(jetCorrLabel[0]+'CombinedCorrector')
00466 
00467                     getattr(process,jetCorrLabel[0]+'Type1CorMet'  ).srcType1Corrections = cms.VInputTag(
00468                         cms.InputTag(jetCorrLabel[0]+'JetMETcorr', 'type1')
00469                         )
00470                     
00471                     getattr(process,jetCorrLabel[0]+'Type1p2CorMet').srcType1Corrections = cms.VInputTag(
00472                         cms.InputTag(jetCorrLabel[0]+'JetMETcorr', 'type1')
00473                         )
00474                     getattr(process,jetCorrLabel[0]+'Type1p2CorMet').srcUnclEnergySums = cms.VInputTag(
00475                         cms.InputTag(jetCorrLabel[0]+'JetMETcorr', 'type2'),
00476                         cms.InputTag(jetCorrLabel[0]+'JetMETcorr', 'offset'),
00477                         cms.InputTag('muonCaloMETcorr')
00478                         )
00479 
00480                     ## add MET corrections to sequence
00481                     addClone('patMETs', metSource = cms.InputTag(jetCorrLabel[0]+'Type1CorMet'))
00482                     
00483                     setattr(process,'produce'+jetCorrLabel[0]+'METCorrections',produceCaloMETCorrections.copy())
00484                     getattr(process,'produce'+jetCorrLabel[0]+'METCorrections').replace(getattr(process,'caloJetMETcorr'),         getattr(process,jetCorrLabel[0]+'JetMETcorr'))
00485                     getattr(process,'produce'+jetCorrLabel[0]+'METCorrections').replace(getattr(process,'caloType1CorrectedMet'),  getattr(process,jetCorrLabel[0]+'Type1CorMet'))
00486                     getattr(process,'produce'+jetCorrLabel[0]+'METCorrections').replace(getattr(process,'caloType1p2CorrectedMet'),getattr(process,jetCorrLabel[0]+'Type1p2CorMet'))
00487                     process.patDefaultSequence.replace( getattr(process,newLabel('patMETs')),
00488                                                         getattr(process,'produce'+jetCorrLabel[0]+'METCorrections')
00489                                                         *getattr(process,newLabel('patMETs')) )                    
00490                 elif jetCollType == 'PF':
00491                     from JetMETCorrections.Type1MET.pfMETCorrections_cff import pfCandsNotInJet,pfJetMETcorr,pfCandMETcorr,pfType1CorrectedMet,pfType1p2CorrectedMet,producePFMETCorrections
00492                     setattr(process,jetCorrLabel[0]+'CandsNotInJet',pfCandsNotInJet.clone(topCollection = jetCollection))
00493                     setattr(process,jetCorrLabel[0]+'JetMETcorr',   pfJetMETcorr.clone(src              = jetCollection))
00494                     setattr(process,jetCorrLabel[0]+'CandMETcorr',  pfCandMETcorr.clone(src             = cms.InputTag(jetCorrLabel[0]+'CandsNotInJet')))
00495                     setattr(process,jetCorrLabel[0]+'Type1CorMet',  pfType1CorrectedMet.clone())
00496                     setattr(process,jetCorrLabel[0]+'Type1p2CorMet',pfType1p2CorrectedMet.clone())
00497 
00498                     if ('L1FastJet' in jetCorrLabel[1] or 'L1Fastjet' in jetCorrLabel[1]):
00499                         getattr(process,jetCorrLabel[0]+'JetMETcorr'   ).offsetCorrLabel = cms.string(jetCorrLabel[0]+'L1FastJet')
00500                     elif ('L1Offset' in jetCorrLabel[1]):
00501                         getattr(process,jetCorrLabel[0]+'JetMETcorr'   ).offsetCorrLabel = cms.string(jetCorrLabel[0]+'L1Offset')
00502                     else:
00503                         getattr(process,jetCorrLabel[0]+'JetMETcorr'   ).offsetCorrLabel = cms.string('')
00504                     getattr(process,jetCorrLabel[0]+'JetMETcorr').jetCorrLabel    = cms.string(jetCorrLabel[0]+'CombinedCorrector')
00505 
00506                     getattr(process,jetCorrLabel[0]+'Type1CorMet').srcType1Corrections = cms.VInputTag(
00507                         cms.InputTag(jetCorrLabel[0]+'JetMETcorr', 'type1')
00508                         )
00509                     getattr(process,jetCorrLabel[0]+'Type1p2CorMet').srcType1Corrections = cms.VInputTag(
00510                         cms.InputTag(jetCorrLabel[0]+'JetMETcorr', 'type1')
00511                         )
00512                     getattr(process,jetCorrLabel[0]+'Type1p2CorMet').srcUnclEnergySums = cms.VInputTag(
00513                         cms.InputTag(jetCorrLabel[0]+'JetMETcorr', 'type2'),
00514                         cms.InputTag(jetCorrLabel[0]+'JetMETcorr', 'offset'),
00515                         cms.InputTag(jetCorrLabel[0]+'CandMETcorr')                                    
00516                         )
00517 
00518                     ## add MET corrections to sequence
00519                     addClone('patMETs', metSource = cms.InputTag(jetCorrLabel[0]+'Type1CorMet'), addMuonCorrections = False)
00520                     setattr(process,'produce'+jetCorrLabel[0]+'METCorrections',producePFMETCorrections.copy())
00521                     getattr(process,'produce'+jetCorrLabel[0]+'METCorrections').replace(getattr(process,'pfCandsNotInJet'),      getattr(process,jetCorrLabel[0]+'CandsNotInJet'))
00522                     getattr(process,'produce'+jetCorrLabel[0]+'METCorrections').replace(getattr(process,'pfJetMETcorr'),         getattr(process,jetCorrLabel[0]+'JetMETcorr'))
00523                     getattr(process,'produce'+jetCorrLabel[0]+'METCorrections').replace(getattr(process,'pfCandMETcorr'),        getattr(process,jetCorrLabel[0]+'CandMETcorr'))
00524                     getattr(process,'produce'+jetCorrLabel[0]+'METCorrections').replace(getattr(process,'pfType1CorrectedMet'),  getattr(process,jetCorrLabel[0]+'Type1CorMet'))
00525                     getattr(process,'produce'+jetCorrLabel[0]+'METCorrections').replace(getattr(process,'pfType1p2CorrectedMet'),getattr(process,jetCorrLabel[0]+'Type1p2CorMet'))
00526                     process.patDefaultSequence.replace( getattr(process,newLabel('patMETs')),
00527                                                         getattr(process,'produce'+jetCorrLabel[0]+'METCorrections')
00528                                                         *getattr(process,newLabel('patMETs')) )
00529         else:
00530             ## switch jetCorrFactors off
00531             l1Jets.addJetCorrFactors = False
00532                
00533 addJetCollection=AddJetCollection()
00534 
00535 

Member Data Documentation

Definition at line 176 of file jetTools.py.

tuple jetTools::AddJetCollection::_defaultParameters = dicttypes.SortedKeysDict() [static, private]

Definition at line 175 of file jetTools.py.

string jetTools::AddJetCollection::_label = 'addJetCollection' [static, private]

Definition at line 174 of file jetTools.py.

Definition at line 176 of file jetTools.py.