2 from ROOT
import Belle2
9 hwneurotracks =
'CDCTriggerNeuroTracks'
10 hwneuroinput2dfindertracks =
'CDCTriggerNNInput2DFinderTracks'
11 hwneuroinputsegmenthits =
'CDCTriggerNNInputSegmentHits'
19 hwsimneurotracks =
'TSimNeuroTracks'
23 simneurotracks_swtssw2d =
'TRGCDCNeuroTracks'
24 simsegmenthits =
'SimSegmentHits'
25 sim2dtracks_swts =
'TRGCDC2DFinderTracks'
33 def initialize(self, branchname=hwneuroinput2dfindertracks):
42 def add_neuro_unpacker(path, debug_level=4, debugout=False, **kwargs):
44 unpacker = basf2.register_module(
'CDCTriggerUnpacker')
46 unpacker.logging.log_level = LogLevel.DEBUG
47 unpacker.logging.debug_level = debug_level
48 unpacker.logging.set_info(LogLevel.DEBUG, LogInfo.LEVEL | LogInfo.MESSAGE)
50 unpacker.param(
'headerSize', 3)
52 unpacker.param(
'unpackTracker2D',
False)
54 unpacker.param(
'decode2DFinderTrack',
False)
56 unpacker.param(
'decode2DFinderInput',
False)
57 unpacker.param(
'2DNodeId', [
62 unpacker.param(
'NeuroNodeId', [
69 unpacker.param(
'useDB', kwargs[
'useDB'])
71 unpacker.param(
'useDB',
True)
73 if 'sim13dt' in kwargs:
74 unpacker.param(
'sim13dt', kwargs[
'sim13dt'])
76 unpacker.param(
'sim13dt',
False)
77 unpacker.param(
'unpackNeuro',
True)
78 unpacker.param(
'decodeNeuro',
True)
79 path.add_module(unpacker)
82 def add_neuro_2d_unpackers(path, debug_level=4, debugout=False, **kwargs):
84 unpacker = basf2.register_module(
'CDCTriggerUnpacker')
86 unpacker.logging.log_level = LogLevel.DEBUG
87 unpacker.logging.debug_level = debug_level
88 unpacker.logging.set_info(LogLevel.DEBUG, LogInfo.LEVEL | LogInfo.MESSAGE)
90 unpacker.param(
'headerSize', 3)
92 unpacker.param(
'unpackTracker2D',
True)
94 unpacker.param(
'decode2DFinderTrack',
True)
96 unpacker.param(
'decode2DFinderInput',
True)
97 unpacker.param(
'2DNodeId', [
103 unpacker.param(
'NeuroNodeId', [
109 if 'useDB' in kwargs:
110 unpacker.param(
'useDB', kwargs[
'useDB'])
112 unpacker.param(
'useDB',
True)
114 if 'sim13dt' in kwargs:
115 unpacker.param(
'sim13dt', kwargs[
'sim13dt'])
117 unpacker.param(
'sim13dt',
False)
118 unpacker.param(
'unpackNeuro',
True)
119 unpacker.param(
'decodeNeuro',
True)
120 path.add_module(unpacker)
123 def add_neurotrigger_sim(path, nntweightfile=None, debug_level=4, debugout=False, **kwargs):
124 nnt = basf2.register_module(
'CDCTriggerNeuro')
125 if 'inputCollectionName' in kwargs:
126 nnt.param(
'inputCollectionName', kwargs[
'inputCollectionName'])
128 nnt.param(
'inputCollectionName', hwneuroinput2dfindertracks)
129 if 'outputCollectionName' in kwargs:
130 nnt.param(
'outputCollectionName', kwargs[
'outputCollectionName'])
132 nnt.param(
'outputCollectionName', hwsimneurotracks)
133 if 'hitCollectionName' in kwargs:
134 nnt.param(
'hitCollectionName', kwargs[
'hitCollectionName'])
136 nnt.param(
'hitCollectionName', hwneuroinputsegmenthits)
137 if 'writeMLPinput' in kwargs:
138 nnt.param(
'writeMLPinput', kwargs[
'writeMLPinput'])
140 nnt.param(
'writeMLPinput',
True)
141 if 'fixedPoint' in kwargs:
142 nnt.param(
'fixedPoint', kwargs[
'fixedPoint'])
144 nnt.param(
'fixedPoint',
True)
145 if nntweightfile
is not None:
148 if 'et_option' in kwargs:
149 nnt.param(
'et_option', kwargs[
'et_option'])
151 nnt.logging.log_level = LogLevel.DEBUG
152 nnt.logging.debug_level = debug_level
156 def add_neurotrigger_hw(path, nntweightfile=None, debug_level=4, debugout=False, **kwargs):
157 nnt = basf2.register_module(
'CDCTriggerNeuro')
158 if 'inputCollectionName' in kwargs:
159 nnt.param(
'inputCollectionName', kwargs[
'inputCollectionName'])
161 nnt.param(
'inputCollectionName', hwneurotracks)
162 if 'outputCollectionName' in kwargs:
163 nnt.param(
'outputCollectionName', kwargs[
'outputCollectionName'])
165 nnt.param(
'outputCollectionName', hwsimneurotracks)
166 if 'hitCollectionName' in kwargs:
167 nnt.param(
'hitCollectionName', kwargs[
'hitCollectionName'])
169 nnt.param(
'hitCollectionName', hwneuroinputsegmenthits)
170 if 'writeMLPinput' in kwargs:
171 nnt.param(
'writeMLPinput', kwargs[
'writeMLPinput'])
173 nnt.param(
'writeMLPinput',
True)
174 if 'fixedPoint' in kwargs:
175 nnt.param(
'fixedPoint', kwargs[
'fixedPoint'])
177 nnt.param(
'fixedPoint',
True)
178 if 'realinputCollectonName' in kwargs:
179 nnt.param(
'realinputCollectionName', kwargs[
'realinputCollectionName'])
181 nnt.param(
'realinputCollectionName', hwneuroinput2dfindertracks)
183 if nntweightfile
is not None:
185 nnt.param(
'NeuroHWTrackInputMode',
True)
186 if 'et_option' in kwargs:
187 nnt.param(
'et_option', kwargs[
'et_option'])
189 nnt.logging.log_level = LogLevel.DEBUG
190 nnt.logging.debug_level = debug_level
194 def add_neuro_simulation(path):
195 path.add_module(
'CDCTriggerTSF',
198 TSHitCollectionName=simsegmenthits)
199 path.add_module(
'CDCTrigger2DFinder',
200 minHits=4, minHitsShort=4, minPt=0.3,
201 hitCollectionName=simsegmenthits,
202 outputCollectionName=sim2dtracks_swts)
203 path.add_module(
'CDCTriggerNeuro',
204 inputCollectionName=sim2dtracks_swts,
205 outputCollectionName=simneurotracks_swtssw2d,
206 hitCollectionName=simsegmenthits,