Inherits FWCore::GuiBrowsers::ConfigToolBase::ConfigToolBase.
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' |
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.
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 = ""
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.
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
jetTools::AddJetCollection::_comment [private] |
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.
jetTools::AddJetCollection::_parameters [private] |
Definition at line 176 of file jetTools.py.