CMS 3D CMS Logo

customTriggerCellSelect.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
3 from L1Trigger.L1THGCal.hgcalConcentratorProducer_cfi import threshold_conc_proc, best_conc_proc, supertc_conc_proc, coarsetc_onebitfraction_proc, coarsetc_equalshare_proc, bestchoice_ndata_decentralized, custom_conc_proc, autoEncoder_conc_proc
4 
6  stcSize=supertc_conc_proc.stcSize,
7  type_energy_division=supertc_conc_proc.type_energy_division,
8  fixedDataSizePerHGCROC=supertc_conc_proc.fixedDataSizePerHGCROC
9  ):
10  parameters = supertc_conc_proc.clone(stcSize = stcSize,
11  type_energy_division = type_energy_division,
12  fixedDataSizePerHGCROC = fixedDataSizePerHGCROC
13  )
14  process.hgcalConcentratorProducer.ProcessorParameters = parameters
15  return process
16 
17 
19  threshold_silicon=threshold_conc_proc.threshold_silicon, # in mipT
20  threshold_scintillator=threshold_conc_proc.threshold_scintillator, # in mipT
21  coarsenTriggerCells=threshold_conc_proc.coarsenTriggerCells
22  ):
23  parameters = threshold_conc_proc.clone(
24  threshold_silicon = threshold_silicon,
25  threshold_scintillator = threshold_scintillator,
26  coarsenTriggerCells = coarsenTriggerCells
27  )
28  process.hgcalConcentratorProducer.ProcessorParameters = parameters
29  return process
30 
31 
33  triggercells=best_conc_proc.NData
34  ):
35  parameters = best_conc_proc.clone(NData = triggercells)
36  process.hgcalConcentratorProducer.ProcessorParameters = parameters
37  return process
38 
39 
41  return custom_triggercellselect_bestchoice(process, triggercells=bestchoice_ndata_decentralized)
42 
43 
45  stcSize=coarsetc_onebitfraction_proc.stcSize,
46  fixedDataSizePerHGCROC=coarsetc_onebitfraction_proc.fixedDataSizePerHGCROC,
47  oneBitFractionThreshold = coarsetc_onebitfraction_proc.oneBitFractionThreshold,
48  oneBitFractionLowValue = coarsetc_onebitfraction_proc.oneBitFractionLowValue,
49  oneBitFractionHighValue = coarsetc_onebitfraction_proc.oneBitFractionHighValue,
50  ):
51  parameters = coarsetc_onebitfraction_proc.clone(
52  stcSize = stcSize,
53  fixedDataSizePerHGCROC = fixedDataSizePerHGCROC,
54  oneBitFractionThreshold = oneBitFractionThreshold,
55  oneBitFractionLowValue = oneBitFractionLowValue,
56  oneBitFractionHighValue = oneBitFractionHighValue,
57  )
58  process.hgcalConcentratorProducer.ProcessorParameters = parameters
59  return process
60 
61 
62 
63 
64 def custom_coarsetc_equalshare(process,
65  stcSize=coarsetc_equalshare_proc.stcSize,
66  fixedDataSizePerHGCROC=coarsetc_equalshare_proc.fixedDataSizePerHGCROC,
67  ):
68  parameters = coarsetc_equalshare_proc.clone(
69  stcSize = stcSize,
70  fixedDataSizePerHGCROC = fixedDataSizePerHGCROC,
71  )
72  process.hgcalConcentratorProducer.ProcessorParameters = parameters
73  return process
74 
76  stcSize=custom_conc_proc.stcSize,
77  type_energy_division=custom_conc_proc.type_energy_division,
78  fixedDataSizePerHGCROC=custom_conc_proc.fixedDataSizePerHGCROC,
79  triggercells=custom_conc_proc.NData
80  ):
81  parameters = custom_conc_proc.clone(stcSize = stcSize,
82  type_energy_division = type_energy_division,
83  fixedDataSizePerHGCROC = fixedDataSizePerHGCROC,
84  NData=triggercells,
85  Method = cms.vstring('bestChoiceSelect','superTriggerCellSelect','superTriggerCellSelect'),
86  )
87  process.hgcalConcentratorProducer.ProcessorParameters = parameters
88  return process
89 
91  return custom_triggercellselect_mixedBestChoiceSuperTriggerCell(process, triggercells=bestchoice_ndata_decentralized)
92 
93 
94 
96  cellRemap = autoEncoder_conc_proc.cellRemap,
97  nBitsPerInput = autoEncoder_conc_proc.nBitsPerInput,
98  maxBitsPerOutput = autoEncoder_conc_proc.maxBitsPerOutput,
99  bitsPerLink = autoEncoder_conc_proc.bitsPerLink,
100  modelFiles = autoEncoder_conc_proc.modelFiles,
101  linkToGraphMap = autoEncoder_conc_proc.linkToGraphMap,
102  zeroSuppresionThreshold = autoEncoder_conc_proc.zeroSuppresionThreshold,
103  saveEncodedValues = autoEncoder_conc_proc.saveEncodedValues,
104  preserveModuleSum = autoEncoder_conc_proc.preserveModuleSum,
105  scintillatorMethod = 'thresholdSelect',
106  ):
107  parameters = autoEncoder_conc_proc.clone(
108  cellRemap = cellRemap,
109  nBitsPerInput = nBitsPerInput,
110  maxBitsPerOutput = maxBitsPerOutput,
111  bitsPerLink = bitsPerLink,
112  modelFiles = modelFiles,
113  linkToGraphMap = linkToGraphMap,
114  zeroSuppresionThreshold = zeroSuppresionThreshold,
115  saveEncodedValues = saveEncodedValues,
116  preserveModuleSum = preserveModuleSum,
117  Method = cms.vstring(['autoEncoder','autoEncoder', scintillatorMethod]),
118  )
119  process.hgcalConcentratorProducer.ProcessorParameters = parameters
120  return process
def custom_triggercellselect_bestchoice_decentralized(process)
def custom_triggercellselect_mixedBestChoiceSuperTriggerCell_decentralized(process)
def custom_coarsetc_equalshare(process, stcSize=coarsetc_equalshare_proc.stcSize, fixedDataSizePerHGCROC=coarsetc_equalshare_proc.fixedDataSizePerHGCROC)
def custom_triggercellselect_threshold(process, threshold_silicon=threshold_conc_proc.threshold_silicon, threshold_scintillator=threshold_conc_proc.threshold_scintillator, coarsenTriggerCells=threshold_conc_proc.coarsenTriggerCells)
def custom_triggercellselect_autoencoder(process, cellRemap=autoEncoder_conc_proc.cellRemap, nBitsPerInput=autoEncoder_conc_proc.nBitsPerInput, maxBitsPerOutput=autoEncoder_conc_proc.maxBitsPerOutput, bitsPerLink=autoEncoder_conc_proc.bitsPerLink, modelFiles=autoEncoder_conc_proc.modelFiles, linkToGraphMap=autoEncoder_conc_proc.linkToGraphMap, zeroSuppresionThreshold=autoEncoder_conc_proc.zeroSuppresionThreshold, saveEncodedValues=autoEncoder_conc_proc.saveEncodedValues, preserveModuleSum=autoEncoder_conc_proc.preserveModuleSum, scintillatorMethod='thresholdSelect')
def custom_triggercellselect_bestchoice(process, triggercells=best_conc_proc.NData)
def custom_triggercellselect_mixedBestChoiceSuperTriggerCell(process, stcSize=custom_conc_proc.stcSize, type_energy_division=custom_conc_proc.type_energy_division, fixedDataSizePerHGCROC=custom_conc_proc.fixedDataSizePerHGCROC, triggercells=custom_conc_proc.NData)
def custom_triggercellselect_supertriggercell(process, stcSize=supertc_conc_proc.stcSize, type_energy_division=supertc_conc_proc.type_energy_division, fixedDataSizePerHGCROC=supertc_conc_proc.fixedDataSizePerHGCROC)
def custom_coarsetc_onebitfraction(process, stcSize=coarsetc_onebitfraction_proc.stcSize, fixedDataSizePerHGCROC=coarsetc_onebitfraction_proc.fixedDataSizePerHGCROC, oneBitFractionThreshold=coarsetc_onebitfraction_proc.oneBitFractionThreshold, oneBitFractionLowValue=coarsetc_onebitfraction_proc.oneBitFractionLowValue, oneBitFractionHighValue=coarsetc_onebitfraction_proc.oneBitFractionHighValue)