1 import FWCore.ParameterSet.Config
as cms
3 particleFlowBlock = cms.EDProducer(
6 verbose = cms.untracked.bool(
False),
8 debug = cms.untracked.bool(
False),
16 elementImporters = cms.VPSet(
17 cms.PSet( importerName = cms.string(
"GSFTrackImporter"),
18 source = cms.InputTag(
"pfTrackElec"),
19 gsfsAreSecondary = cms.bool(
False),
20 superClustersArePF = cms.bool(
True) ),
21 cms.PSet( importerName = cms.string(
"ConvBremTrackImporter"),
22 source = cms.InputTag(
"pfTrackElec") ),
23 cms.PSet( importerName = cms.string(
"SuperClusterImporter"),
24 source_eb = cms.InputTag(
"particleFlowSuperClusterECAL:particleFlowSuperClusterECALBarrel"),
25 source_ee = cms.InputTag(
"particleFlowSuperClusterECAL:particleFlowSuperClusterECALEndcapWithPreshower"),
26 source_towers = cms.InputTag(
"towerMaker"),
27 maximumHoverE = cms.double(0.5),
28 minSuperClusterPt = cms.double(10.0),
29 minPTforBypass = cms.double(100.0),
30 superClustersArePF = cms.bool(
True) ),
31 cms.PSet( importerName = cms.string(
"ConversionTrackImporter"),
32 source = cms.InputTag(
"pfConversions") ),
37 cms.PSet( importerName = cms.string(
"NuclearInteractionTrackImporter"),
38 source = cms.InputTag(
"pfDisplacedTrackerVertex") ),
41 cms.PSet( importerName = cms.string(
"GeneralTracksImporter"),
42 source = cms.InputTag(
"pfTrack"),
43 muonSrc = cms.InputTag(
"muons1stStep"),
44 cleanBadConvertedBrems = cms.bool(
True),
45 useIterativeTracking = cms.bool(
True),
46 maxDPtOPt = cms.double(1.),
47 DPtOverPtCuts_byTrackAlgo = cms.vdouble(10.0,10.0,10.0,
49 NHitCuts_byTrackAlgo = cms.vuint32(3,3,3,3,3,3)
58 cms.PSet( importerName = cms.string(
"ECALClusterImporter"),
59 source = cms.InputTag(
"particleFlowClusterECAL"),
60 BCtoPFCMap = cms.InputTag(
'particleFlowSuperClusterECAL:PFClusterAssociationEBEE') ),
61 cms.PSet( importerName = cms.string(
"GenericClusterImporter"),
62 source = cms.InputTag(
"particleFlowClusterHCAL") ),
63 cms.PSet( importerName = cms.string(
"GenericClusterImporter"),
64 source = cms.InputTag(
"particleFlowBadHcalPseudoCluster") ),
65 cms.PSet( importerName = cms.string(
"GenericClusterImporter"),
66 source = cms.InputTag(
"particleFlowClusterHO") ),
67 cms.PSet( importerName = cms.string(
"GenericClusterImporter"),
68 source = cms.InputTag(
"particleFlowClusterHF") ),
69 cms.PSet( importerName = cms.string(
"GenericClusterImporter"),
70 source = cms.InputTag(
"particleFlowClusterPS") ),
81 linkDefinitions = cms.VPSet(
82 cms.PSet( linkerName = cms.string(
"PreshowerAndECALLinker"),
83 linkType = cms.string(
"PS1:ECAL"),
84 useKDTree = cms.bool(
True) ),
85 cms.PSet( linkerName = cms.string(
"PreshowerAndECALLinker"),
86 linkType = cms.string(
"PS2:ECAL"),
87 useKDTree = cms.bool(
True) ),
88 cms.PSet( linkerName = cms.string(
"TrackAndECALLinker"),
89 linkType = cms.string(
"TRACK:ECAL"),
90 useKDTree = cms.bool(
True) ),
91 cms.PSet( linkerName = cms.string(
"TrackAndHCALLinker"),
92 linkType = cms.string(
"TRACK:HCAL"),
93 useKDTree = cms.bool(
True) ),
94 cms.PSet( linkerName = cms.string(
"TrackAndHOLinker"),
95 linkType = cms.string(
"TRACK:HO"),
96 useKDTree = cms.bool(
False) ),
97 cms.PSet( linkerName = cms.string(
"ECALAndHCALLinker"),
98 linkType = cms.string(
"ECAL:HCAL"),
99 useKDTree = cms.bool(
False) ),
100 cms.PSet( linkerName = cms.string(
"HCALAndHOLinker"),
101 linkType = cms.string(
"HCAL:HO"),
102 useKDTree = cms.bool(
False) ),
103 cms.PSet( linkerName = cms.string(
"HFEMAndHFHADLinker"),
104 linkType = cms.string(
"HFEM:HFHAD"),
105 useKDTree = cms.bool(
False) ),
106 cms.PSet( linkerName = cms.string(
"TrackAndTrackLinker"),
107 linkType = cms.string(
"TRACK:TRACK"),
108 useKDTree = cms.bool(
False) ),
109 cms.PSet( linkerName = cms.string(
"ECALAndECALLinker"),
110 linkType = cms.string(
"ECAL:ECAL"),
111 useKDTree = cms.bool(
False) ),
112 cms.PSet( linkerName = cms.string(
"GSFAndECALLinker"),
113 linkType = cms.string(
"GSF:ECAL"),
114 useKDTree = cms.bool(
False) ),
115 cms.PSet( linkerName = cms.string(
"TrackAndGSFLinker"),
116 linkType = cms.string(
"TRACK:GSF"),
117 useKDTree = cms.bool(
False),
118 useConvertedBrems = cms.bool(
True) ),
119 cms.PSet( linkerName = cms.string(
"GSFAndBREMLinker"),
120 linkType = cms.string(
"GSF:BREM"),
121 useKDTree = cms.bool(
False) ),
122 cms.PSet( linkerName = cms.string(
"GSFAndGSFLinker"),
123 linkType = cms.string(
"GSF:GSF"),
124 useKDTree = cms.bool(
False) ),
125 cms.PSet( linkerName = cms.string(
"ECALAndBREMLinker"),
126 linkType = cms.string(
"ECAL:BREM"),
127 useKDTree = cms.bool(
False) ),
128 cms.PSet( linkerName = cms.string(
"GSFAndHCALLinker"),
129 linkType = cms.string(
"GSF:HCAL"),
130 useKDTree = cms.bool(
False) ),
131 cms.PSet( linkerName = cms.string(
"HCALAndBREMLinker"),
132 linkType = cms.string(
"HCAL:BREM"),
133 useKDTree = cms.bool(
False) ),
134 cms.PSet( linkerName = cms.string(
"SCAndECALLinker"),
135 linkType = cms.string(
"SC:ECAL"),
136 useKDTree = cms.bool(
False),
137 SuperClusterMatchByRef = cms.bool(
True) )
143 for i, pset
in enumerate(particleFlowBlock.elementImporters):
144 if pset.importerName.value() == name:
148 from Configuration.Eras.Modifier_phase2_hgcal_cff
import phase2_hgcal
150 _insertGeneralTracksImporter = {}
152 _insertGeneralTracksImporter[idx] =
dict(
153 importerName = cms.string(
'GeneralTracksImporterWithVeto'),
154 veto = cms.InputTag(
'hgcalTrackCollection:TracksInHGCal')
156 phase2_hgcal.toModify(
158 elementImporters = _insertGeneralTracksImporter
179 from Configuration.Eras.Modifier_phase2_timing_cff
import phase2_timing
180 _addTiming = particleFlowBlock.elementImporters.copy()
181 _addTiming.append( cms.PSet( importerName = cms.string(
"TrackTimingImporter"),
182 timeValueMap = cms.InputTag(
"trackTimeValueMapProducer:generalTracksConfigurableFlatResolutionModel"),
183 timeErrorMap = cms.InputTag(
"trackTimeValueMapProducer:generalTracksConfigurableFlatResolutionModelResolution"),
184 timeValueMapGsf = cms.InputTag(
"gsfTrackTimeValueMapProducer:electronGsfTracksConfigurableFlatResolutionModel"),
185 timeErrorMapGsf = cms.InputTag(
"gsfTrackTimeValueMapProducer:electronGsfTracksConfigurableFlatResolutionModelResolution")
189 from Configuration.Eras.Modifier_phase2_timing_layer_tile_cff
import phase2_timing_layer_tile
190 from Configuration.Eras.Modifier_phase2_timing_layer_bar_cff
import phase2_timing_layer_bar
191 _addTimingLayer = particleFlowBlock.elementImporters.copy()
192 _addTimingLayer.append( cms.PSet( importerName = cms.string(
"TrackTimingImporter"),
193 timeValueMap = cms.InputTag(
"tofPID:t0"),
194 timeErrorMap = cms.InputTag(
"tofPID:sigmat0"),
198 timeValueMapGsf = cms.InputTag(
"tofPID:t0"),
199 timeErrorMapGsf = cms.InputTag(
"tofPID:sigmat0")
203 phase2_timing.toModify(
205 elementImporters = _addTiming
208 (phase2_timing_layer_tile | phase2_timing_layer_bar).toModify(
210 elementImporters = _addTimingLayer
def _findIndicesByModule(name)