1 import FWCore.ParameterSet.Config
as cms
7 references = collections.defaultdict(list)
9 if "trackExtenderWithMTD" not in process.producerNames():
10 return (products, references)
12 def _branchName(productType, moduleLabel, instanceLabel=""):
13 return "%s_%s_%s_%s" % (productType, moduleLabel, instanceLabel, process.name_())
17 def _addProduct(name):
18 products[name].
append(_branchName(
"Trajectorys", name))
19 products[name].
append(_branchName(
"TrajectorysToOnerecoTracksAssociation", name))
20 references[_branchName(
"TrajectorysToOnerecoTracksAssociation", name)] = [_branchName(
"Trajectorys", name)]
21 trajectoryLabels.append(name)
23 for name, module
in process.producers_().
items():
24 cppType = module.type_()
25 if cppType ==
"TrackProducer":
26 if module.TrajectoryInEvent:
28 elif cppType ==
"DuplicateListMerger":
29 if module.copyTrajectories:
31 elif cppType ==
"TrackListMerger":
32 trackListMergers.append(module)
37 def _containsTrajectory(vinputtag):
40 if not isinstance(t, cms.VInputTag):
42 for label
in trajectoryLabels:
43 if t2.getModuleLabel() == label:
51 for tlm
in trackListMergers:
52 if _containsTrajectory(tlm.TrackProducers):
53 _addProduct(tlm.label())
56 noTrajectoryYet.append(tlm)
57 trackListMergers = noTrajectoryYet
59 return (products, references)
def customiseEarlyDeleteForCKF(process, products)