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.vstring([
'thresholdSelect']*3),
31 threshold_silicon = cms.double(2.),
32 threshold_scintillator = cms.double(2.),
33 coarsenTriggerCells = cms.vuint32(0,0,0),
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.vstring([
'bestChoiceSelect']*3),
79 NData = cms.vuint32(bestchoice_ndata_centralized),
80 coarsenTriggerCells = cms.vuint32(0,0,0),
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.vstring([
'superTriggerCellSelect']*3),
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.vuint32(0,0,0),
94 superTCCompression = superTCCompression_proc.clone(),
95 coarseTCCompression = coarseTCCompression_proc.clone(),
96 superTCCalibration = vfe_proc.clone(),
99 custom_conc_proc = cms.PSet(ProcessorName = cms.string(
'HGCalConcentratorProcessorSelection'),
100 Method = cms.vstring(
'bestChoiceSelect',
'superTriggerCellSelect',
'superTriggerCellSelect'),
101 NData = cms.vuint32(bestchoice_ndata_centralized),
102 threshold_silicon = cms.double(2.),
103 threshold_scintillator = cms.double(2.),
104 coarsenTriggerCells = cms.vuint32(0,0,0),
105 fixedDataSizePerHGCROC = cms.bool(
False),
106 type_energy_division = cms.string(
'superTriggerCell'),
107 stcSize = cms.vuint32(STC_SIZE),
108 ctcSize = cms.vuint32(CTC_SIZE),
109 superTCCompression = superTCCompression_proc.clone(),
110 coarseTCCompression = coarseTCCompression_proc.clone(),
111 superTCCalibration = vfe_proc.clone(),
115 coarsetc_onebitfraction_proc = cms.PSet(ProcessorName = cms.string(
'HGCalConcentratorProcessorSelection'),
116 Method = cms.vstring([
'superTriggerCellSelect']*3),
117 type_energy_division = cms.string(
'oneBitFraction'),
118 stcSize = cms.vuint32([4]*(MAX_LAYERS+1)+ [8]*(MAX_LAYERS+1)*3),
119 ctcSize = cms.vuint32(CTC_SIZE),
120 fixedDataSizePerHGCROC = cms.bool(
True),
121 coarsenTriggerCells = cms.vuint32(0,0,0),
122 oneBitFractionThreshold = cms.double(0.125),
123 oneBitFractionLowValue = cms.double(0.0625),
124 oneBitFractionHighValue = cms.double(0.25),
125 superTCCompression = superTCCompression_proc.clone(),
126 coarseTCCompression = coarseTCCompression_proc.clone(),
127 superTCCalibration = vfe_proc.clone(),
131 coarsetc_equalshare_proc = cms.PSet(ProcessorName = cms.string(
'HGCalConcentratorProcessorSelection'),
132 Method = cms.vstring([
'superTriggerCellSelect']*3),
133 type_energy_division = cms.string(
'equalShare'),
134 stcSize = cms.vuint32([4]*(MAX_LAYERS+1)+ [8]*(MAX_LAYERS+1)*3),
135 ctcSize = cms.vuint32(CTC_SIZE),
136 fixedDataSizePerHGCROC = cms.bool(
True),
137 coarsenTriggerCells = cms.vuint32(0,0,0),
138 superTCCompression = superTCCompression_proc.clone(),
139 coarseTCCompression = coarseTCCompression_proc.clone(),
140 superTCCalibration = vfe_proc.clone(),
147 from Configuration.Eras.Modifier_phase2_hgcalV9_cff
import phase2_hgcalV9
152 phase2_hgcalV9.toModify(threshold_conc_proc,
153 threshold_silicon=1.35,
154 threshold_scintillator=1.35,
158 hgcalConcentratorProducer = cms.EDProducer(
159 "HGCalConcentratorProducer",
160 InputTriggerCells = cms.InputTag(
'hgcalVFEProducer:HGCalVFEProcessorSums'),
161 InputTriggerSums = cms.InputTag(
'hgcalVFEProducer:HGCalVFEProcessorSums'),
162 ProcessorParameters = threshold_conc_proc.clone()
166 hgcalConcentratorProducerHFNose = hgcalConcentratorProducer.clone(
167 InputTriggerCells = cms.InputTag(
'hfnoseVFEProducer:HGCalVFEProcessorSums'),
168 InputTriggerSums = cms.InputTag(
'hfnoseVFEProducer:HGCalVFEProcessorSums')