5 process.load(
"Validation.RecoTrack.trackingNtuple_cff")
6 process.TFileService = cms.Service(
"TFileService",
7 fileName = cms.string(
'trackingNtuple.root')
10 if process.trackingNtuple.includeSeeds.value()
and not hasattr(process,
"reconstruction_step"):
11 raise Exception(
"TrackingNtuple includeSeeds=True needs reconstruction which is missing")
14 if not hasattr(process,
"validation_step"):
15 raise Exception(
"TrackingNtuple customise assumes process.validation_step exists")
19 usePileupSimHits = hasattr(process,
"mix")
and hasattr(process.mix,
"input")
and len(process.mix.input.fileNames) > 0
22 ntuplePath = cms.EndPath(process.trackingNtupleSequence)
23 if process.trackingNtuple.includeAllHits
and usePileupSimHits:
24 ntuplePath.insert(0, cms.SequencePlaceholder(
"mix"))
26 process.load(
"Validation.RecoTrack.crossingFramePSimHitToPSimHits_cfi")
27 instanceLabels = [tag.getModuleLabel()+tag.getProductInstanceLabel()
for tag
in process.simHitTPAssocProducer.simHitSrc]
28 process.crossingFramePSimHitToPSimHits.src = [
"mix:"+l
for l
in instanceLabels]
29 process.simHitTPAssocProducer.simHitSrc = [
"crossingFramePSimHitToPSimHits:"+l
for l
in instanceLabels]
30 process.trackingNtupleSequence.insert(0, process.crossingFramePSimHitToPSimHits)
33 modifier = cms.Modifier()
35 modifier.toReplaceWith(process.validation_step, ntuplePath)
37 if hasattr(process,
"prevalidation_step"):
38 modifier.toReplaceWith(process.prevalidation_step, cms.Path())
41 for outputModule
in process.outputModules_().itervalues():
42 for path
in process.paths_().itervalues():
43 path.remove(outputModule)
44 for path
in process.endpaths_().itervalues():
45 path.remove(outputModule)
def customiseTrackingNtuple