CMS 3D CMS Logo

concentrator.py
Go to the documentation of this file.
1 
2 import FWCore.ParameterSet.Config as cms
4 from L1Trigger.L1THGCal.hgcalConcentratorProducer_cfi import threshold_conc_proc, best_conc_proc, supertc_conc_proc, coarsetc_onebitfraction_proc, custom_conc_proc
5 
6 
7 def create_supertriggercell(process, inputs,
8  stcSize=supertc_conc_proc.stcSize,
9  type_energy_division=supertc_conc_proc.type_energy_division,
10  fixedDataSizePerHGCROC=supertc_conc_proc.fixedDataSizePerHGCROC,
11  coarsenTriggerCells=supertc_conc_proc.coarsenTriggerCells,
12  ctcSize=supertc_conc_proc.ctcSize,
13  ):
14  producer = process.hgcalConcentratorProducer.clone(
15  InputTriggerCells = cms.InputTag('{}:HGCalVFEProcessorSums'.format(inputs)),
16  InputTriggerSums = cms.InputTag('{}:HGCalVFEProcessorSums'.format(inputs))
17  )
18  producer.ProcessorParameters = supertc_conc_proc.clone(
19  stcSize = stcSize,
20  type_energy_division = type_energy_division,
21  fixedDataSizePerHGCROC = fixedDataSizePerHGCROC,
22  coarsenTriggerCells = coarsenTriggerCells,
23  ctcSize = ctcSize,
24  )
25  return producer
26 
27 
28 def create_threshold(process, inputs,
29  threshold_silicon=threshold_conc_proc.threshold_silicon, # in mipT
30  threshold_scintillator=threshold_conc_proc.threshold_scintillator # in mipT
31  ):
32  producer = process.hgcalConcentratorProducer.clone(
33  InputTriggerCells = cms.InputTag('{}:HGCalVFEProcessorSums'.format(inputs)),
34  InputTriggerSums = cms.InputTag('{}:HGCalVFEProcessorSums'.format(inputs))
35  )
36  producer.ProcessorParameters = threshold_conc_proc.clone(
37  threshold_silicon = threshold_silicon, # MipT
38  threshold_scintillator = threshold_scintillator # MipT
39  )
40  return producer
41 
42 
43 def create_bestchoice(process, inputs,
44  triggercells=best_conc_proc.NData,
45  coarsenTriggerCells=best_conc_proc.coarsenTriggerCells,
46  ctcSize=best_conc_proc.ctcSize,
47  ):
48  producer = process.hgcalConcentratorProducer.clone(
49  InputTriggerCells = cms.InputTag('{}:HGCalVFEProcessorSums'.format(inputs)),
50  InputTriggerSums = cms.InputTag('{}:HGCalVFEProcessorSums'.format(inputs))
51  )
52  producer.ProcessorParameters = best_conc_proc.clone(
53  NData = triggercells,
54  coarsenTriggerCells = coarsenTriggerCells,
55  ctcSize=ctcSize,
56  )
57  return producer
58 
59 
60 def create_onebitfraction(process, inputs,
61  stcSize=coarsetc_onebitfraction_proc.stcSize,
62  fixedDataSizePerHGCROC=coarsetc_onebitfraction_proc.fixedDataSizePerHGCROC
63  ):
64  producer = process.hgcalConcentratorProducer.clone(
65  InputTriggerCells = cms.InputTag('{}:HGCalVFEProcessorSums'.format(inputs)),
66  InputTriggerSums = cms.InputTag('{}:HGCalVFEProcessorSums'.format(inputs))
67  )
68  producer.ProcessorParameters = coarsetc_onebitfraction_proc.clone(
69  stcSize = stcSize,
70  fixedDataSizePerHGCROC = fixedDataSizePerHGCROC
71  )
72  return producer
73 
74 
75 def create_mixedfeoptions(process, inputs,
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  producer = process.hgcalConcentratorProducer.clone(
82  InputTriggerCells = cms.InputTag('{}:HGCalVFEProcessorSums'.format(inputs)),
83  InputTriggerSums = cms.InputTag('{}:HGCalVFEProcessorSums'.format(inputs))
84  )
85  producer.ProcessorParameters = custom_conc_proc.clone(
86  stcSize = stcSize,
87  type_energy_division = type_energy_division,
88  fixedDataSizePerHGCROC = fixedDataSizePerHGCROC,
89  NData = triggercells,
90  Method = cms.vstring('bestChoiceSelect','superTriggerCellSelect','superTriggerCellSelect'),
91  )
92  return producer
93 
94 
95 def create_custom(process, inputs,
96  stcSize=custom_conc_proc.stcSize,
97  type_energy_division=custom_conc_proc.type_energy_division,
98  fixedDataSizePerHGCROC=custom_conc_proc.fixedDataSizePerHGCROC,
99  triggercells=custom_conc_proc.NData,
100  threshold_silicon=custom_conc_proc.threshold_silicon, # in mipT
101  threshold_scintillator=custom_conc_proc.threshold_scintillator, # in mipT
102  Method = custom_conc_proc.Method,
103  coarsenTriggerCells=custom_conc_proc.coarsenTriggerCells,
104  ctcSize=custom_conc_proc.ctcSize,
105  ):
106  producer = process.hgcalConcentratorProducer.clone(
107  InputTriggerCells = cms.InputTag('{}:HGCalVFEProcessorSums'.format(inputs)),
108  InputTriggerSums = cms.InputTag('{}:HGCalVFEProcessorSums'.format(inputs))
109  )
110  producer.ProcessorParameters = custom_conc_proc.clone(
111  stcSize = stcSize,
112  type_energy_division = type_energy_division,
113  fixedDataSizePerHGCROC = fixedDataSizePerHGCROC,
114  NData = triggercells,
115  threshold_silicon = threshold_silicon, # MipT
116  threshold_scintillator = threshold_scintillator, # MipT
117  Method = Method,
118  coarsenTriggerCells=coarsenTriggerCells,
119  ctcSize = ctcSize,
120  )
121  return producer
122 
hgcalConcentratorProducer_cfi
hgcalDigitizer_cfi
concentrator.create_bestchoice
def create_bestchoice(process, inputs, triggercells=best_conc_proc.NData, coarsenTriggerCells=best_conc_proc.coarsenTriggerCells, ctcSize=best_conc_proc.ctcSize)
Definition: concentrator.py:43
concentrator.create_mixedfeoptions
def create_mixedfeoptions(process, inputs, stcSize=custom_conc_proc.stcSize, type_energy_division=custom_conc_proc.type_energy_division, fixedDataSizePerHGCROC=custom_conc_proc.fixedDataSizePerHGCROC, triggercells=custom_conc_proc.NData)
Definition: concentrator.py:75
concentrator.create_custom
def create_custom(process, inputs, stcSize=custom_conc_proc.stcSize, type_energy_division=custom_conc_proc.type_energy_division, fixedDataSizePerHGCROC=custom_conc_proc.fixedDataSizePerHGCROC, triggercells=custom_conc_proc.NData, threshold_silicon=custom_conc_proc.threshold_silicon, threshold_scintillator=custom_conc_proc.threshold_scintillator, Method=custom_conc_proc.Method, coarsenTriggerCells=custom_conc_proc.coarsenTriggerCells, ctcSize=custom_conc_proc.ctcSize)
Definition: concentrator.py:95
concentrator.create_threshold
def create_threshold(process, inputs, threshold_silicon=threshold_conc_proc.threshold_silicon, threshold_scintillator=threshold_conc_proc.threshold_scintillator # in mipT)
Definition: concentrator.py:28
concentrator.create_supertriggercell
def create_supertriggercell(process, inputs, stcSize=supertc_conc_proc.stcSize, type_energy_division=supertc_conc_proc.type_energy_division, fixedDataSizePerHGCROC=supertc_conc_proc.fixedDataSizePerHGCROC, coarsenTriggerCells=supertc_conc_proc.coarsenTriggerCells, ctcSize=supertc_conc_proc.ctcSize)
Definition: concentrator.py:7
format
concentrator.create_onebitfraction
def create_onebitfraction(process, inputs, stcSize=coarsetc_onebitfraction_proc.stcSize, fixedDataSizePerHGCROC=coarsetc_onebitfraction_proc.fixedDataSizePerHGCROC)
Definition: concentrator.py:60