53 process._Process__name=
"SELECTandSIM"
56 process.TFileService = cms.Service(
"TFileService", fileName = cms.string(
"histo_reconstruction.root") )
58 process.tmfTracks = cms.EDProducer(
"RecoTracksMixer",
59 trackCol1 = cms.InputTag(
"removedInputMuons",
"tracks"),
60 trackCol2 = cms.InputTag(
"generalTracks",
"",
"SELECTandSIM")
63 process.offlinePrimaryVerticesWithBS.TrackLabel = cms.InputTag(
"tmfTracks")
64 process.offlinePrimaryVertices.TrackLabel = cms.InputTag(
"tmfTracks")
65 process.muons.TrackExtractorPSet.inputTrackCollection = cms.InputTag(
"tmfTracks")
68 process.metreco.remove(process.BeamHaloId)
73 outputModule = process.output
77 outputModule = getattr(process,str(getattr(process,
list(process.endpaths)[-1])))
81 print "Changing eventcontent to AODSIM + misc "
82 outputModule.outputCommands = process.AODSIMEventContent.outputCommands
83 keepMC = cms.untracked.vstring(
"keep *_*_zMusExtracted_*",
84 "keep *_removedInputMuons_*_*",
85 "keep *_generator_*_*",
86 "keep *_tmfTracks_*_SELECTandSIM",
87 "keep *_offlinePrimaryVertices_*_SELECTandSIM",
88 "keep *_offlinePrimaryVerticesWithBS_*_SELECTandSIM",
89 "keep *_PhotonIDProd_*_*",
91 "keep *_photonCore_*_*",
92 "keep *_genParticles_*_*",
93 "keep *_particleFlow_*_*",
95 outputModule.outputCommands.extend(keepMC)
97 if hasattr(process,
"iterativeTracking" ) :
98 process.iterativeTracking.__iadd__(process.tmfTracks)
99 elif hasattr(process,
"trackCollectionMerging" ) :
100 process.trackCollectionMerging.__iadd__(process.tmfTracks)
102 raise "Cannot find tracking sequence"
104 process.particleFlowORG = process.particleFlow.clone()
105 if hasattr(process,
"famosParticleFlowSequence"):
106 process.famosParticleFlowSequence.remove(process.pfElectronTranslatorSequence)
107 process.famosParticleFlowSequence.remove(process.particleFlow)
108 process.famosParticleFlowSequence.__iadd__(process.particleFlowORG)
109 process.famosParticleFlowSequence.__iadd__(process.particleFlow)
110 process.famosParticleFlowSequence.__iadd__(process.pfElectronTranslatorSequence)
111 elif hasattr(process,
"particleFlowReco"):
112 process.particleFlowReco.remove(process.pfElectronTranslatorSequence)
113 process.particleFlowReco.remove(process.particleFlow)
114 process.particleFlowReco.__iadd__(process.particleFlowORG)
115 process.particleFlowReco.__iadd__(process.particleFlow)
116 process.particleFlowReco.__iadd__(process.pfElectronTranslatorSequence)
118 raise "Cannot find tracking sequence"
120 process.particleFlow = cms.EDProducer(
'PFCandidateMixer',
121 col1 = cms.untracked.InputTag(
"removedInputMuons",
"pfCands"),
122 col2 = cms.untracked.InputTag(
"particleFlowORG",
"")
127 from FWCore.ParameterSet.Types
import InputTag
128 for p
in process.paths:
129 i = getattr(process,p)
130 target = process.particleFlow
133 seqVis.prepareSearch()
134 seqVis.setLookFor(target)
136 while ( seqVis.catch != 1
and seqVis.found == 1 ):
138 target = seqVis.giveNext()
140 targetAttributes =
dir(target)
141 for targetAttribute
in targetAttributes:
142 attr=getattr(target,targetAttribute)
143 if isinstance(attr, InputTag)
and attr.getModuleLabel()==
"particleFlow":
144 if ( attr.getProductInstanceLabel()!=
"" ):
145 print "Changing: ", target,
" ", targetAttribute,
" ", attr,
" to particleFlowORG",
146 attr.setModuleLabel(
"particleFlowORG")
150 seqVis.prepareSearch()
151 seqVis.setLookFor(target)
158 process.source.duplicateCheckMode = cms.untracked.string(
'noDuplicateCheck')
160 import FWCore.ParameterSet.VarParsing
as VarParsing
163 options.register (
'overrideBeamSpot',
165 VarParsing.VarParsing.multiplicity.singleton,
166 VarParsing.VarParsing.varType.int,
167 "should I override beamspot in globaltag?")
170 options.register (
'primaryProcess',
172 VarParsing.VarParsing.multiplicity.singleton,
173 VarParsing.VarParsing.varType.string,
174 "original processName")
179 if hasattr(sys,
"argv") ==
True:
180 options.parseArguments()
184 process.offlinePrimaryVertices.beamSpotLabel = cms.InputTag(
"offlineBeamSpot",
"",options.primaryProcess)
185 process.offlinePrimaryVerticesWithBS.beamSpotLabel = cms.InputTag(
"offlineBeamSpot",
"",options.primaryProcess)
187 if options.overrideBeamSpot != 0:
188 bs = cms.string(
"BeamSpotObjects_2009_LumiBased_SigmaZ_v18_offline")
193 process.GlobalTag.toGet = cms.VPSet(
194 cms.PSet(record = cms.string(
"BeamSpotObjectsRcd"),
196 connect = cms.untracked.string(
"frontier://FrontierProd/CMS_COND_31X_BEAMSPOT")
199 print "BeamSpot in globaltag set to ", bs
201 print "BeamSpot in globaltag not changed"
203 print "#############################################################"
204 print " Warning! PFCandidates 'electron' collection is not mixed, "
205 print " and probably shouldnt be used. "
206 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