10 from ROOT
import Belle2
17 hwneurotracks =
'CDCTriggerNeuroTracks'
18 hwneuroinput2dfindertracks =
'CDCTriggerNNInput2DFinderTracks'
19 hwneuroinputsegmenthits =
'CDCTriggerNNInputSegmentHits'
27 hwsimneurotracks =
'TSimNeuroTracks'
31 simneurotracks_swtssw2d =
'TRGCDCNeuroTracks'
32 simsegmenthits =
'SimSegmentHits'
33 sim2dtracks_swts =
'TRGCDC2DFinderTracks'
41 nullpath = basf2.create_path()
42 mfilter = basf2.register_module(
"CDCTriggerUnpacker", unpackNeuro=
True)
43 path.add_module(mfilter)
44 mfilter.if_value(
'<1', nullpath)
53 self.
nullpathnullpath = basf2.create_path()
62 def neurotrack_allgoodquality(self):
65 if tr.getQualityVector() > 0:
71 def add_neuro_unpacker(path, debug_level=4, debugout=False, **kwargs):
73 unpacker = basf2.register_module(
'CDCTriggerUnpacker')
75 unpacker.logging.log_level = basf2.LogLevel.DEBUG
76 unpacker.logging.debug_level = debug_level
77 unpacker.logging.set_info(basf2.LogLevel.DEBUG, basf2.LogInfo.LEVEL | basf2.LogInfo.MESSAGE)
79 unpacker.param(
'headerSize', 3)
81 unpacker.param(
'unpackTracker2D',
False)
83 unpacker.param(
'decode2DFinderTrack',
False)
85 unpacker.param(
'decode2DFinderInput',
False)
86 unpacker.param(
'2DNodeId', [
91 unpacker.param(
'NeuroNodeId', [
98 unpacker.param(
'useDB', kwargs[
'useDB'])
100 unpacker.param(
'useDB',
True)
102 if 'sim13dt' in kwargs:
103 unpacker.param(
'sim13dt', kwargs[
'sim13dt'])
105 unpacker.param(
'sim13dt',
False)
106 unpacker.param(
'unpackNeuro',
True)
107 unpacker.param(
'decodeNeuro',
True)
108 path.add_module(unpacker)
111 def add_neuro_2d_unpackers(path, debug_level=4, debugout=False, **kwargs):
113 unpacker = basf2.register_module(
'CDCTriggerUnpacker')
115 unpacker.logging.log_level = basf2.LogLevel.DEBUG
116 unpacker.logging.debug_level = debug_level
117 unpacker.logging.set_info(basf2.LogLevel.DEBUG, basf2.LogInfo.LEVEL | basf2.LogInfo.MESSAGE)
119 unpacker.param(
'headerSize', 3)
121 unpacker.param(
'unpackTracker2D',
True)
123 unpacker.param(
'decode2DFinderTrack',
True)
125 unpacker.param(
'decode2DFinderInput',
True)
126 unpacker.param(
'2DNodeId', [
132 unpacker.param(
'NeuroNodeId', [
138 if 'useDB' in kwargs:
139 unpacker.param(
'useDB', kwargs[
'useDB'])
141 unpacker.param(
'useDB',
True)
143 if 'sim13dt' in kwargs:
144 unpacker.param(
'sim13dt', kwargs[
'sim13dt'])
146 unpacker.param(
'sim13dt',
False)
147 unpacker.param(
'unpackNeuro',
True)
148 unpacker.param(
'decodeNeuro',
True)
149 path.add_module(unpacker)
152 def add_neurotrigger_sim(path, nntweightfile=None, debug_level=4, debugout=False, **kwargs):
153 nnt = basf2.register_module(
'CDCTriggerNeuro')
154 if 'inputCollectionName' in kwargs:
155 nnt.param(
'inputCollectionName', kwargs[
'inputCollectionName'])
157 nnt.param(
'inputCollectionName', hwneuroinput2dfindertracks)
158 if 'outputCollectionName' in kwargs:
159 nnt.param(
'outputCollectionName', kwargs[
'outputCollectionName'])
161 nnt.param(
'outputCollectionName', hwsimneurotracks)
162 if 'hitCollectionName' in kwargs:
163 nnt.param(
'hitCollectionName', kwargs[
'hitCollectionName'])
165 nnt.param(
'hitCollectionName', hwneuroinputsegmenthits)
166 if 'writeMLPinput' in kwargs:
167 nnt.param(
'writeMLPinput', kwargs[
'writeMLPinput'])
169 nnt.param(
'writeMLPinput',
True)
170 if 'fixedPoint' in kwargs:
171 nnt.param(
'fixedPoint', kwargs[
'fixedPoint'])
173 nnt.param(
'fixedPoint',
True)
174 if nntweightfile
is not None:
177 if 'et_option' in kwargs:
178 nnt.param(
'et_option', kwargs[
'et_option'])
179 if 'EventTimeName' in kwargs:
180 nnt.param(
'EventTimeName', kwargs[
'EventTimeName'])
182 nnt.logging.log_level = basf2.LogLevel.DEBUG
183 nnt.logging.debug_level = debug_level
187 def add_neurotrigger_hw(path, nntweightfile=None, debug_level=4, debugout=False, **kwargs):
188 nnt = basf2.register_module(
'CDCTriggerNeuro')
189 if 'inputCollectionName' in kwargs:
190 nnt.param(
'inputCollectionName', kwargs[
'inputCollectionName'])
192 nnt.param(
'inputCollectionName', hwneurotracks)
193 if 'outputCollectionName' in kwargs:
194 nnt.param(
'outputCollectionName', kwargs[
'outputCollectionName'])
196 nnt.param(
'outputCollectionName', hwsimneurotracks)
197 if 'hitCollectionName' in kwargs:
198 nnt.param(
'hitCollectionName', kwargs[
'hitCollectionName'])
200 nnt.param(
'hitCollectionName', hwneuroinputsegmenthits)
201 if 'writeMLPinput' in kwargs:
202 nnt.param(
'writeMLPinput', kwargs[
'writeMLPinput'])
204 nnt.param(
'writeMLPinput',
True)
205 if 'fixedPoint' in kwargs:
206 nnt.param(
'fixedPoint', kwargs[
'fixedPoint'])
208 nnt.param(
'fixedPoint',
True)
209 if 'realinputCollectonName' in kwargs:
210 nnt.param(
'realinputCollectionName', kwargs[
'realinputCollectionName'])
212 nnt.param(
'realinputCollectionName', hwneuroinput2dfindertracks)
214 if nntweightfile
is not None:
216 nnt.param(
'NeuroHWTrackInputMode',
True)
217 if 'et_option' in kwargs:
218 nnt.param(
'et_option', kwargs[
'et_option'])
220 nnt.param(
'et_option',
'etf_or_fastestpriority')
222 if 'EventTimeName' in kwargs:
223 nnt.param(
'EventTimeName', kwargs[
'EventTimeName'])
225 nnt.param(
'EventTimeName',
'CDCTriggerNeuroETFT0')
227 nnt.logging.log_level = basf2.LogLevel.DEBUG
228 nnt.logging.debug_level = debug_level
232 def add_neuro_simulation(path, nntweightfile=None, **kwargs):
233 nnt = basf2.register_module(
'CDCTriggerNeuro')
234 tsf = basf2.register_module(
'CDCTriggerTSF')
235 if "InnerTSLUTFile" in kwargs:
236 tsf.param(
"InnerTSLUTFile", kwargs[
"InnerTSLUTFile"])
239 if "OuterTSLUTFile" in kwargs:
240 tsf.param(
"OuterTSLUTFile", kwargs[
"OuterTSLUTFile"])
243 tsf.param(
"TSHitCollectionName", simsegmenthits)
245 path.add_module(
'CDCTrigger2DFinder',
246 minHits=4, minHitsShort=4, minPt=0.3,
247 hitCollectionName=simsegmenthits,
248 outputCollectionName=sim2dtracks_swts)
249 if nntweightfile
is not None:
251 nnt.param(
'inputCollectionName', sim2dtracks_swts)
252 nnt.param(
'outputCollectionName', simneurotracks_swtssw2d)
253 nnt.param(
'hitCollectionName', simsegmenthits)
254 nnt.param(
'writeMLPinput',
True)
255 nnt.param(
'fixedPoint',
True)
static std::string findFile(const std::string &path, bool silent=false)
Search for given file or directory in local or central release directory, and return absolute path if...
a (simplified) python wrapper for StoreArray.
def neurotrack_allgoodquality(self)