1 import FWCore.ParameterSet.Config
as cms
4 egamma_identification_drnn_dbscan, \
5 egamma_identification_histomax
7 from Configuration.Eras.Modifier_phase2_hgcalV10_cff
import phase2_hgcalV10
8 from Configuration.Eras.Modifier_phase2_hgcalV11_cff
import phase2_hgcalV11
9 from Configuration.Eras.Modifier_phase2_hfnose_cff
import phase2_hfnose
12 binSums = cms.vuint32(13,
16 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
17 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
25 dr_layerbylayer = ([0] +
26 [0.015]*EE_DR_GROUP + [0.020]*EE_DR_GROUP + [0.030]*EE_DR_GROUP + [0.040]*EE_DR_GROUP +
27 [0.040]*FH_DR_GROUP + [0.050]*FH_DR_GROUP +
31 dr_layerbylayer_Bcoefficient = ([0] +
32 [0.020]*EE_DR_GROUP + [0.020]*EE_DR_GROUP + [0.02]*EE_DR_GROUP + [0.020]*EE_DR_GROUP +
33 [0.020]*FH_DR_GROUP + [0.020]*FH_DR_GROUP +
37 neighbour_weights_1stOrder = cms.vdouble(0, 0.25, 0,
41 neighbour_weights_2ndOrder = cms.vdouble(-0.25, 0.5, -0.25,
46 seed_smoothing_ecal = cms.vdouble(
51 seed_smoothing_hcal = cms.vdouble(
59 distance_C3d_params = cms.PSet(type_multicluster=cms.string(
'dRC3d'),
60 dR_multicluster=cms.double(0.01),
61 minPt_multicluster=cms.double(0.5),
62 dist_dbscan_multicluster=cms.double(0.),
63 minN_dbscan_multicluster=cms.uint32(0),
64 EGIdentification=egamma_identification_drnn_cone.clone(),
68 dbscan_C3d_params = cms.PSet(type_multicluster=cms.string(
'DBSCANC3d'),
69 dR_multicluster=cms.double(0.),
70 minPt_multicluster=cms.double(0.5),
71 dist_dbscan_multicluster=cms.double(0.005),
72 minN_dbscan_multicluster=cms.uint32(3),
73 EGIdentification=egamma_identification_drnn_dbscan.clone())
76 histoMax_C3d_seeding_params = cms.PSet(type_histoalgo=cms.string(
'HistoMaxC3d'),
77 nBins_X1_histo_multicluster=cms.uint32(42),
78 nBins_X2_histo_multicluster=cms.uint32(216),
80 kROverZMin=cms.double(0.076),
81 kROverZMax=cms.double(0.58),
82 threshold_histo_multicluster=cms.double(10.),
83 neighbour_weights=neighbour_weights_1stOrder,
84 seed_position=cms.string(
"TCWeighted"),
85 seeding_space=cms.string(
"RPhi"),
86 seed_smoothing_ecal=seed_smoothing_ecal,
87 seed_smoothing_hcal=seed_smoothing_hcal,
90 histoMax_C3d_clustering_params = cms.PSet(dR_multicluster=cms.double(0.03),
91 dR_multicluster_byLayer_coefficientA=cms.vdouble(),
92 dR_multicluster_byLayer_coefficientB=cms.vdouble(),
93 shape_threshold=cms.double(1.),
94 shape_distance=cms.double(0.015),
95 minPt_multicluster=cms.double(0.5),
96 cluster_association=cms.string(
"NearestNeighbour"),
97 EGIdentification=egamma_identification_histomax.clone(),
101 histoMax_C3d_sorting_truncation_params = cms.PSet(AlgoName = cms.string(
'HGCalSortingTruncationWrapper'),
102 maxTCs=cms.uint32(80),
109 phase2_hgcalV10.toModify(histoMax_C3d_seeding_params,
110 threshold_histo_multicluster=8.5,
114 histoMaxVariableDR_C3d_params = histoMax_C3d_clustering_params.clone(
115 AlgoName = cms.string(
'HGCalHistoClusteringWrapper'),
116 dR_multicluster = cms.double(0.),
117 dR_multicluster_byLayer_coefficientA = cms.vdouble(dr_layerbylayer),
118 dR_multicluster_byLayer_coefficientB = cms.vdouble([0]*(MAX_LAYERS+1))
122 histoSecondaryMax_C3d_params = histoMax_C3d_seeding_params.clone(
123 type_histoalgo = cms.string(
'HistoSecondaryMaxC3d')
126 histoMaxXYVariableDR_C3d_params = histoMax_C3d_seeding_params.clone(
127 seeding_space=cms.string(
"XY"),
128 nBins_X1_histo_multicluster=cms.uint32(192),
129 nBins_X2_histo_multicluster=cms.uint32(192)
132 histoInterpolatedMax_C3d_params = histoMax_C3d_seeding_params.clone(
133 type_histoalgo = cms.string(
'HistoInterpolatedMaxC3d')
137 histoThreshold_C3d_params = histoMax_C3d_seeding_params.clone(
138 type_histoalgo = cms.string(
'HistoThresholdC3d')
142 histoMax_C3d_params = cms.PSet(
143 type_multicluster=cms.string(
'Histo'),
144 histoMax_C3d_clustering_parameters = histoMaxVariableDR_C3d_params.clone(),
145 histoMax_C3d_seeding_parameters = histoMax_C3d_seeding_params.clone(),
146 histoMax_C3d_sorting_truncation_parameters = histoMax_C3d_sorting_truncation_params.clone(),
150 energy_interpretations_em = cms.PSet(type = cms.string(
'HGCalTriggerClusterInterpretationEM'),
151 layer_containment_corrs = cms.vdouble(0., 0.0, 1.38, 0.97, 1.11, 0.92, 1.06, 1.01, 1.06, 0.89, 1.0, 1.06, 0.89, 1.62, 1.83),
152 scale_correction_coeff = cms.vdouble(53.94, -27.15),
153 dr_bylayer = cms.vdouble([0.015]*15)
156 phase2_hgcalV10.toModify(
157 energy_interpretations_em,
158 layer_containment_corrs=cms.vdouble(0., 0.0, 1.73, 0.97, 1.08, 1.1, 1.01, 0.96, 1.18, 0.98, 1.05, 0.99, 0.89, 1.75, 2.0),
159 scale_correction_coeff=cms.vdouble(53.92, -27.53),
162 phase2_hgcalV11.toModify(
163 energy_interpretations_em,
164 layer_containment_corrs=cms.vdouble(0., 0.0, 1.28, 1.09, 1.0, 1.07, 1.09, 1.04, 1.0, 1.09, 1.07, 1.03, 0.93, 1.4, 1.89),
165 scale_correction_coeff=cms.vdouble(52.99, -24.96),
169 energy_interpretations = cms.VPSet(energy_interpretations_em)
171 be_proc = cms.PSet(ProcessorName = cms.string(
'HGCalBackendLayer2Processor3DClustering'),
172 C3d_parameters = histoMax_C3d_params.clone(),
173 energy_interpretations = energy_interpretations
176 l1tHGCalBackEndLayer2Producer = cms.EDProducer(
177 "HGCalBackendLayer2Producer",
178 InputCluster = cms.InputTag(
'l1tHGCalBackEndLayer1Producer:HGCalBackendLayer1Processor2DClustering'),
179 ProcessorParameters = be_proc.clone()
182 l1tHGCalBackEndStage2Producer = cms.EDProducer(
183 "HGCalBackendLayer2Producer",
184 InputCluster = cms.InputTag(
'l1tHGCalBackEndStage1Producer:HGCalBackendStage1Processor'),
185 ProcessorParameters = be_proc.clone()
188 l1tHGCalBackEndLayer2ProducerHFNose = l1tHGCalBackEndLayer2Producer.clone(
189 InputCluster = cms.InputTag(
'l1tHGCalBackEndLayer1ProducerHFNose:HGCalBackendLayer1Processor2DClustering'),
190 ProcessorParameters = dict(
191 C3d_parameters = dict(
192 histoMax_C3d_seeding_parameters = dict(
194 nBins_X1_histo_multicluster = 4,
195 binSumsHisto = cms.vuint32(13,11,9,9),