1 import FWCore.ParameterSet.Config
as cms
5 adcSaturationBH_MIP = digiparam.hgchebackDigitizer.digiCfg.feCfg.adcSaturation_fC
6 adcNbitsBH = digiparam.hgchebackDigitizer.digiCfg.feCfg.adcNbits
13 STC_SIZE_CUSTOM_PERLAYER_100 = ([4] +
14 [4]*EE_DR_GROUP + [4]*EE_DR_GROUP + [4]*EE_DR_GROUP + [4]*EE_DR_GROUP +
15 [4]*FH_DR_GROUP + [4]*FH_DR_GROUP +
17 STC_SIZE_CUSTOM_PERLAYER_200 = ([16] +
18 [16]*EE_DR_GROUP + [16]*EE_DR_GROUP + [16]*EE_DR_GROUP + [16]*EE_DR_GROUP +
19 [16]*FH_DR_GROUP + [16]*FH_DR_GROUP +
21 STC_SIZE_CUSTOM_PERLAYER_300 = STC_SIZE_CUSTOM_PERLAYER_200
22 STC_SIZE_CUSTOM_PERLAYER_SCIN = STC_SIZE_CUSTOM_PERLAYER_200
25 CTC_SIZE = ( [2]*(MAX_LAYERS+1)*4)
26 STC_SIZE = ( [4]*(MAX_LAYERS+1)+ [16]*(MAX_LAYERS+1)*3 )
29 threshold_conc_proc = cms.PSet(ProcessorName = cms.string(
'HGCalConcentratorProcessorSelection'),
30 Method = cms.string(
'thresholdSelect'),
31 threshold_silicon = cms.double(2.),
32 threshold_scintillator = cms.double(2.),
33 coarsenTriggerCells = cms.bool(
False),
34 fixedDataSizePerHGCROC = cms.bool(
False),
35 ctcSize = cms.vuint32(CTC_SIZE),
42 bestchoice_ndata_centralized = [
43 13, 42, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
44 13, 40, 74, 80, 114, 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
45 12, 39, 72, 82, 116, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
46 12, 26, 53, 80, 114, 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
47 12, 25, 52, 79, 112, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
48 0, 24, 51, 78, 111, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
49 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
50 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
54 bestchoice_ndata_decentralized = [
55 1, 3, 6, 9, 14, 18, 23, 27, 32, 37, 41, 46, 0, 0, 0, 0,
56 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
57 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
58 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
59 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
60 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
61 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
62 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
66 superTCCompression_proc = cms.PSet(exponentBits = cms.uint32(4),
67 mantissaBits = cms.uint32(5),
68 rounding = cms.bool(
True),
71 coarseTCCompression_proc = cms.PSet(exponentBits = cms.uint32(4),
72 mantissaBits = cms.uint32(3),
73 rounding = cms.bool(
True),
77 best_conc_proc = cms.PSet(ProcessorName = cms.string(
'HGCalConcentratorProcessorSelection'),
78 Method = cms.string(
'bestChoiceSelect'),
79 NData = cms.vuint32(bestchoice_ndata_centralized),
80 coarsenTriggerCells = cms.bool(
False),
81 fixedDataSizePerHGCROC = cms.bool(
False),
82 coarseTCCompression = coarseTCCompression_proc.clone(),
83 superTCCalibration = vfe_proc.clone(),
84 ctcSize = cms.vuint32(CTC_SIZE),
87 supertc_conc_proc = cms.PSet(ProcessorName = cms.string(
'HGCalConcentratorProcessorSelection'),
88 Method = cms.string(
'superTriggerCellSelect'),
89 type_energy_division = cms.string(
'superTriggerCell'),
90 stcSize = cms.vuint32(STC_SIZE),
91 ctcSize = cms.vuint32(CTC_SIZE),
92 fixedDataSizePerHGCROC = cms.bool(
False),
93 coarsenTriggerCells = cms.bool(
False),
94 superTCCompression = superTCCompression_proc.clone(),
95 coarseTCCompression = coarseTCCompression_proc.clone(),
96 superTCCalibration = vfe_proc.clone(),
100 mixedbcstc_conc_proc = cms.PSet(ProcessorName = cms.string(
'HGCalConcentratorProcessorSelection'),
101 Method = cms.string(
'mixedBestChoiceSuperTriggerCell'),
102 NData = cms.vuint32(bestchoice_ndata_centralized),
103 coarsenTriggerCells = cms.bool(
False),
104 fixedDataSizePerHGCROC = cms.bool(
False),
105 type_energy_division = cms.string(
'superTriggerCell'),
106 stcSize = cms.vuint32(STC_SIZE),
107 ctcSize = cms.vuint32(CTC_SIZE),
108 supertccompression = superTCCompression_proc.clone(),
109 coarseTCCompression = coarseTCCompression_proc.clone(),
110 superTCCalibration = vfe_proc.clone(),
114 coarsetc_onebitfraction_proc = cms.PSet(ProcessorName = cms.string(
'HGCalConcentratorProcessorSelection'),
115 Method = cms.string(
'superTriggerCellSelect'),
116 type_energy_division = cms.string(
'oneBitFraction'),
117 stcSize = cms.vuint32([4]*(MAX_LAYERS+1)+ [8]*(MAX_LAYERS+1)*3),
118 ctcSize = cms.vuint32(CTC_SIZE),
119 fixedDataSizePerHGCROC = cms.bool(
True),
120 coarsenTriggerCells = cms.bool(
False),
121 oneBitFractionThreshold = cms.double(0.125),
122 oneBitFractionLowValue = cms.double(0.0625),
123 oneBitFractionHighValue = cms.double(0.25),
124 superTCCompression = superTCCompression_proc.clone(),
125 coarseTCCompression = coarseTCCompression_proc.clone(),
126 superTCCalibration = vfe_proc.clone(),
130 coarsetc_equalshare_proc = cms.PSet(ProcessorName = cms.string(
'HGCalConcentratorProcessorSelection'),
131 Method = cms.string(
'superTriggerCellSelect'),
132 type_energy_division = cms.string(
'equalShare'),
133 stcSize = cms.vuint32([4]*(MAX_LAYERS+1)+ [8]*(MAX_LAYERS+1)*3),
134 ctcSize = cms.vuint32(CTC_SIZE),
135 fixedDataSizePerHGCROC = cms.bool(
True),
136 coarsenTriggerCells = cms.bool(
False),
137 superTCCompression = superTCCompression_proc.clone(),
138 coarseTCCompression = coarseTCCompression_proc.clone(),
139 superTCCalibration = vfe_proc.clone(),
146 from Configuration.Eras.Modifier_phase2_hgcalV9_cff
import phase2_hgcalV9
151 phase2_hgcalV9.toModify(threshold_conc_proc,
152 threshold_silicon=1.35,
153 threshold_scintillator=1.35,
157 hgcalConcentratorProducer = cms.EDProducer(
158 "HGCalConcentratorProducer",
159 InputTriggerCells = cms.InputTag(
'hgcalVFEProducer:HGCalVFEProcessorSums'),
160 InputTriggerSums = cms.InputTag(
'hgcalVFEProducer:HGCalVFEProcessorSums'),
161 ProcessorParameters = threshold_conc_proc.clone()