10 process._Process__name=
"EmbeddedRECO"
11 process.TFileService = cms.Service(
"TFileService", fileName = cms.string(
"histo_embedded.root") )
14 outputModule = process.output
18 outputModule = getattr(process,str(getattr(process,
list(process.endpaths)[-1])))
22 print "Changing eventcontent to RAW+AODSIM + misc. "
23 outputModule.outputCommands = cms.untracked.vstring(
"drop *")
24 outputModule.outputCommands.extend(process.RAWEventContent.outputCommands )
25 outputModule.outputCommands.extend(process.AODSIMEventContent.outputCommands )
27 keepMC = cms.untracked.vstring(
"keep *_*_zMusExtracted_*",
28 "keep *_*_zmmCands_*",
29 "keep *_removedInputMuons_*_*",
30 "keep *_generator_*_*",
31 "keep *_PhotonIDProd_*_*",
33 "keep *_photonCore_*_*",
34 "keep *_genParticles_*_*",
35 "keep *_particleFlow_*_*",
36 "keep *_generator_*_*",
37 "keep *_tmfTracks_*_EmbeddedRECO",
38 "keep *_offlinePrimaryVertices_*_EmbeddedRECO",
39 "keep *_offlinePrimaryVerticesWithBS_*_EmbeddedRECO",
40 "keep *_PhotonIDProd_*_*",
42 "keep *_photonCore_*_*",
43 "keep *_genParticles_*_*",
44 "keep *_particleFlow_*_*",
46 outputModule.outputCommands.extend(keepMC)
50 for item
in outputModule.outputCommands[:]:
51 if item ==
"drop *" and index != 0:
53 del outputModule.outputCommands[index]
58 hltProcessName =
"HLT"
61 hltProcessName = __HLT__
66 process.dimuonsHLTFilter.TriggerResultsTag.processName = hltProcessName
67 process.goodZToMuMuAtLeast1HLT.TrigTag.processName = hltProcessName
68 process.goodZToMuMuAtLeast1HLT.triggerEvent.processName = hltProcessName
69 process.hltTrigReport,HLTriggerResults.processName = hltProcessName
73 process.VtxSmeared = cms.EDProducer(
"FlatEvtVtxGenerator",
74 MaxZ = cms.double(0.0),
75 MaxX = cms.double(0.0),
76 MaxY = cms.double(0.0),
77 MinX = cms.double(0.0),
78 MinY = cms.double(0.0),
79 MinZ = cms.double(0.0),
80 TimeOffset = cms.double(0.0),
81 src = cms.InputTag(
"generator")
84 import FWCore.ParameterSet.VarParsing
as VarParsing
86 options.register (
'mdtau',
88 VarParsing.VarParsing.multiplicity.singleton,
89 VarParsing.VarParsing.varType.int,
90 "mdtau value for tauola")
92 options.register (
'transformationMode',
94 VarParsing.VarParsing.multiplicity.singleton,
95 VarParsing.VarParsing.varType.int,
96 "transformation mode. 0=mumu->mumu, 1=mumu->tautau")
98 options.register (
'minVisibleTransverseMomentum',
100 VarParsing.VarParsing.multiplicity.singleton,
101 VarParsing.VarParsing.varType.string,
102 "generator level cut on visible transverse momentum (typeN:pT,[...];[...])")
104 options.register (
'useJson',
106 VarParsing.VarParsing.multiplicity.singleton,
107 VarParsing.VarParsing.varType.int,
108 "should I enable json usage?")
110 options.register (
'overrideBeamSpot',
112 VarParsing.VarParsing.multiplicity.singleton,
113 VarParsing.VarParsing.varType.int,
114 "should I override beamspot in globaltag?")
125 if not hasattr(process,
"doNotParse"):
127 if hasattr(sys,
"argv") ==
True:
128 if not sys.argv[0].endswith(
'cmsDriver.py'):
129 options.parseArguments()
132 print "CL parsing disabled!"
136 print "Setting mdtau to ", options.mdtau
137 process.generator.ZTauTau.TauolaOptions.InputCards.mdtau = options.mdtau
138 process.newSource.ZTauTau.TauolaOptions.InputCards.mdtau = options.mdtau
139 process.generator.ParticleGun.ExternalDecays.Tauola.InputCards.mdtau = options.mdtau
140 process.newSource.ParticleGun.ExternalDecays.Tauola.InputCards.mdtau = options.mdtau
142 print "Setting minVisibleTransverseMomentum to ", options.minVisibleTransverseMomentum
143 process.newSource.ZTauTau.minVisibleTransverseMomentum = cms.untracked.string(options.minVisibleTransverseMomentum)
144 process.generator.ZTauTau.minVisibleTransverseMomentum = cms.untracked.string(options.minVisibleTransverseMomentum)
146 print "Setting transformationMode to ", options.transformationMode
147 process.generator.ZTauTau.transformationMode = cms.untracked.int32(options.transformationMode)
148 process.newSource.ZTauTau.transformationMode = cms.untracked.int32(options.transformationMode)
150 if setFromCL
and options.overrideBeamSpot != 0 :
151 print "options.overrideBeamSpot", options.overrideBeamSpot
153 bs = cms.string(
"BeamSpotObjects_2009_LumiBased_SigmaZ_v21_offline")
159 process.GlobalTag.toGet = cms.VPSet(
160 cms.PSet(record = cms.string(
"BeamSpotObjectsRcd"),
162 connect = cms.untracked.string(
"frontier://FrontierProd/CMS_COND_31X_BEAMSPOT")
165 print "BeamSpot in globaltag set to ", bs
167 print "BeamSpot in globaltag not changed"
169 if setFromCL
and options.useJson != 0:
170 print "Enabling json usage"
171 import PhysicsTools.PythonAnalysis.LumiList
as LumiList
172 import FWCore.ParameterSet.Types
as CfgTypes
174 process.source.lumisToProcess = CfgTypes.untracked(CfgTypes.VLuminosityBlockRange())
175 process.source.lumisToProcess.extend(myLumis)
180 process.generalTracksORG = process.generalTracks.clone()
182 process.generalTracks = cms.EDProducer(
"RecoTracksMixer",
183 trackCol1 = cms.InputTag(
"generalTracksORG",
"",
"EmbeddedRECO"),
184 trackCol2 = cms.InputTag(
"removedInputMuons",
"tracks")
187 for p
in process.paths:
188 pth = getattr(process,p)
189 if "generalTracks" in pth.moduleNames():
190 pth.replace(process.generalTracks, process.generalTracksORG*process.generalTracks)
195 process.trackerDrivenElectronSeedsORG = process.trackerDrivenElectronSeeds.clone()
196 process.trackerDrivenElectronSeedsORG.TkColList = cms.VInputTag(cms.InputTag(
"generalTracksORG"))
198 process.trackerDrivenElectronSeeds = cms.EDProducer(
"ElectronSeedTrackRefUpdater",
199 PreIdLabel = process.trackerDrivenElectronSeedsORG.PreIdLabel,
200 PreGsfLabel = process.trackerDrivenElectronSeedsORG.PreGsfLabel,
201 targetTracks = cms.InputTag(
"generalTracks"),
202 inSeeds = cms.InputTag(
"trackerDrivenElectronSeedsORG", process.trackerDrivenElectronSeedsORG.PreGsfLabel.value()),
203 inPreId = cms.InputTag(
"trackerDrivenElectronSeedsORG", process.trackerDrivenElectronSeedsORG.PreIdLabel.value()),
206 for p
in process.paths:
207 pth = getattr(process,p)
208 if "trackerDrivenElectronSeeds" in pth.moduleNames():
209 pth.replace(process.trackerDrivenElectronSeeds, process.trackerDrivenElectronSeedsORG*process.trackerDrivenElectronSeeds)
213 process.trackerDrivenElectronSeedsMerged = cms.EDProducer(
"ElectronSeedTrackRefUpdaterAndMerger",
214 PreIdLabel = process.trackerDrivenElectronSeedsORG.PreIdLabel,
215 PreGsfLabel = process.trackerDrivenElectronSeedsORG.PreGsfLabel,
216 targetTracks = cms.InputTag(
"generalTracks"),
217 inSeeds1 = cms.InputTag(
"trackerDrivenElectronSeedsORG", process.trackerDrivenElectronSeeds.PreGsfLabel.value()),
218 inPreId1 = cms.InputTag(
"trackerDrivenElectronSeedsORG", process.trackerDrivenElectronSeeds.PreIdLabel.value()),
219 inSeeds2 = cms.InputTag(
"trackerDrivenElectronSeeds", process.trackerDrivenElectronSeeds.PreGsfLabel.value()),
220 inPreId2 = cms.InputTag(
"trackerDrivenElectronSeeds", process.trackerDrivenElectronSeeds.PreIdLabel.value())
223 process.electronMergedSeedsPhotonCoreHack = cms.EDProducer(
"ElectronSeedMerger",
224 EcalBasedSeeds = cms.InputTag(
"ecalDrivenElectronSeeds"),
225 TkBasedSeeds = cms.InputTag(
"trackerDrivenElectronSeedsMerged",
"SeedsForGsf")
228 process.photonCore.pixelSeedProducer = cms.string(
'electronMergedSeedsPhotonCoreHack')
231 for p
in process.paths:
232 pth = getattr(process,p)
233 if "photonCore" in pth.moduleNames():
234 pth.replace(process.photonCore,
235 process.trackerDrivenElectronSeedsMerged * process.electronMergedSeedsPhotonCoreHack *process.photonCore)
241 process.electronGsfTracksORG = process.electronGsfTracks.clone()
242 process.electronGsfTracks = cms.EDProducer(
"GsfTrackMixer",
243 col1 = cms.InputTag(
"electronGsfTracksORG",
"",
"EmbeddedRECO"),
244 col2= cms.InputTag(
"electronGsfTracks",
"", inputProcess),
249 process.gsfConversionTrackProducer.TrackProducer = cms.string(
'electronGsfTracksORG')
251 for p
in process.paths:
252 pth = getattr(process,p)
253 if "electronGsfTracks" in pth.moduleNames():
254 pth.replace(process.electronGsfTracks, process.electronGsfTracksORG*process.electronGsfTracks)
261 process.electronMergedSeedsORG = process.electronMergedSeeds.clone()
262 process.electronMergedSeeds = cms.EDProducer("ElectronSeedsMixer",
263 col1 = cms.InputTag("electronMergedSeeds","", inputProcess),
264 col2 = cms.InputTag("electronMergedSeedsORG","","EmbeddedRECO")
266 for p in process.paths:
267 pth = getattr(process,p)
268 if "electronMergedSeeds" in pth.moduleNames():
269 pth.replace(process.electronMergedSeeds, process.electronMergedSeedsORG*process.electronMergedSeeds)
272 process.generalConversionTrackProducer.TrackProducer = cms.string(
'generalTracksORG')
275 process.gsfElectronsORG = process.gsfElectrons.clone()
276 process.gsfElectrons = cms.EDProducer(
"GSFElectronsMixer",
277 col1 = cms.InputTag(
"gsfElectronsORG"),
278 col2 = cms.InputTag(
"gsfElectrons",
"",inputProcess),
280 for p
in process.paths:
281 pth = getattr(process,p)
282 if "gsfElectrons" in pth.moduleNames():
283 pth.replace(process.gsfElectrons, process.gsfElectronsORG*process.gsfElectrons)
288 for p
in process.paths:
289 pth = getattr(process,p)
292 for mod
in pth.moduleNames():
293 if mod.find(
"dedx") != -1:
294 print "Removing", mod
295 module=getattr(process,mod)
300 clConfig = cms.PSet (
301 depsPlus = cms.InputTag(
"anaDeposits",
"plus" ),
302 depsMinus = cms.InputTag(
"anaDeposits",
"minus" )
307 process.castorrecoORG = process.castorreco.clone()
308 process.castorreco = cms.EDProducer(
"CastorRHMixer",
309 cleaningAlgo = cms.string(
"CaloCleanerAllCrossed"),
310 cleaningConfig = clConfig,
311 todo = cms.VPSet(cms.PSet ( colZmumu = cms.InputTag(
"castorreco",
"", inputProcess ), colTauTau = cms.InputTag(
"castorrecoORG" ) ))
314 for p
in process.paths:
315 pth = getattr(process,p)
316 if "castorreco" in pth.moduleNames():
317 pth.replace(process.castorreco, process.castorrecoORG*process.castorreco)
319 process.ecalRecHitORG = process.ecalRecHit.clone()
320 process.ecalRecHit = cms.EDProducer(
"EcalRHMixer",
321 cleaningAlgo = cms.string(
"CaloCleanerAllCrossed"),
323 cleaningConfig = clConfig,
325 cms.PSet ( colZmumu = cms.InputTag(
"ecalRecHit",
"EcalRecHitsEB", inputProcess ),
326 colTauTau = cms.InputTag(
"ecalRecHitORG",
"EcalRecHitsEB" ) ),
328 cms.PSet ( colZmumu = cms.InputTag(
"ecalRecHit",
"EcalRecHitsEE", inputProcess ),
329 colTauTau = cms.InputTag(
"ecalRecHitORG",
"EcalRecHitsEE" ) )
332 for p
in process.paths:
333 pth = getattr(process,p)
334 if "ecalRecHit" in pth.moduleNames():
335 pth.replace(process.ecalRecHit, process.ecalRecHitORG*process.ecalRecHit)
339 process.hbherecoORG = process.hbhereco.clone()
340 process.hbhereco = cms.EDProducer(
"HBHERHMixer",
341 cleaningAlgo = cms.string(
"CaloCleanerAllCrossed"),
342 cleaningConfig = clConfig,
344 cms.VPSet(cms.PSet ( colZmumu = cms.InputTag(
"hbhereco",
"", inputProcess ), colTauTau = cms.InputTag(
"hbherecoORG",
"" )))
346 for p
in process.paths:
347 pth = getattr(process,p)
348 if "hbhereco" in pth.moduleNames():
349 pth.replace(process.hbhereco, process.hbherecoORG*process.hbhereco)
352 process.hfrecoORG = process.hfreco.clone()
353 process.hfreco = cms.EDProducer(
"HFRHMixer",
354 cleaningAlgo = cms.string(
"CaloCleanerAllCrossed"),
355 cleaningConfig = clConfig,
357 cms.VPSet(cms.PSet ( colZmumu = cms.InputTag(
"hfreco",
"", inputProcess ), colTauTau = cms.InputTag(
"hfrecoORG",
"" )))
359 for p
in process.paths:
360 pth = getattr(process,p)
361 if "hfreco" in pth.moduleNames():
362 pth.replace(process.hfreco, process.hfrecoORG*process.hfreco)
366 process.horecoORG = process.horeco.clone()
367 process.horeco = cms.EDProducer(
"HORHMixer",
368 cleaningAlgo = cms.string(
"CaloCleanerAllCrossed"),
369 cleaningConfig = clConfig,
371 cms.VPSet(cms.PSet ( colZmumu = cms.InputTag(
"horeco",
"", inputProcess ), colTauTau = cms.InputTag(
"horecoORG",
"" )))
373 for p
in process.paths:
374 pth = getattr(process,p)
375 if "horeco" in pth.moduleNames():
376 pth.replace(process.horeco, process.horecoORG*process.horeco)
386 for s
in process.sequences:
387 seq = getattr(process,s)
388 seq.remove(process.offlineBeamSpot)
392 process.metreco.remove(process.BeamHaloId)
397 outputModule = process.output
401 outputModule = getattr(process,str(getattr(process,
list(process.endpaths)[-1])))
405 process.filterEmptyEv.src = cms.untracked.InputTag(
"generator",
"",
"EmbeddedRECO")
409 process.schedule.remove(process.DQM_FEDIntegrity_v3)
414 process.RECOSIMoutput.outputCommands.extend([
'keep *_*_*_skimGoldenZmumu2'])
417 process.RECOSIMoutput.outputCommands.extend([
'keep *_*ORG_*_*'])
428 if hasattr(process,
"doZmumuSkim"):
429 print "Enabling Zmumu skim"
434 cmssw_ver = os.environ[
"CMSSW_VERSION"]
435 if cmssw_ver.find(
"CMSSW_4_2") != -1:
437 print "Using legacy version of Zmumu skim. Note, that muon isolation is disabled"
439 process.load(
"TauAnalysis/MCEmbeddingTools/ZmumuStandalonSelectionLegacy_cff")
441 process.load(
"TauAnalysis/MCEmbeddingTools/ZmumuStandalonSelection_cff")
442 process.load(
"TrackingTools/TransientTrack/TransientTrackBuilder_cfi")
445 for path
in process.paths:
446 getattr(process,path)._seq = process.goldenZmumuSelectionSequence * getattr(process,path)._seq
456 print "Zmumu skim not enabled"
459 print "# ######################################################################################"
460 print " Following parameters can be added before customize function "
461 print " call in order to controll process customization: "
462 print " process.doNotParse = cms.PSet() # disables CL parsing for crab compat"
463 print " process.doZmumuSkim = cms.PSet() # adds Zmumu skimming before embedding is run"
464 print "# ######################################################################################"
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger list("!*","!HLTx*"if it matches 2 triggers or more) will accept the event if all the matching triggers are FAIL.It will reject the event if any of the triggers are PASS or EXCEPTION(this matches the behavior of"!*"before the partial wildcard feature was incorporated).Triggers which are in the READY state are completely ignored.(READY should never be returned since the trigger paths have been run