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 def initialize(self, branchname=hwneuroinput2dfindertracks):
43 self.
nullpathnullpath = b2.create_path()
52 tracksegmentsname=hwneuroinputsegmenthits,
53 twodtracksname=hwneuroinput2dfindertracks,
54 neurotracksname=hwneurotracks,
55 recotracksname="RecoTracks"
61 self.
nullpathnullpath = b2.create_path()
64 self.return_value(bool(self.
hastrginfohastrginfo()
and
72 def neurotrack_allgoodquality(self):
75 if tr.getQualityVector() > 0:
81 def add_neuro_unpacker(path, debug_level=4, debugout=False, **kwargs):
83 unpacker = b2.register_module(
'CDCTriggerUnpacker')
85 unpacker.logging.log_level = b2.LogLevel.DEBUG
86 unpacker.logging.debug_level = debug_level
87 unpacker.logging.set_info(b2.LogLevel.DEBUG, b2.LogInfo.LEVEL | b2.LogInfo.MESSAGE)
89 unpacker.param(
'headerSize', 3)
91 unpacker.param(
'unpackTracker2D',
False)
93 unpacker.param(
'decode2DFinderTrack',
False)
95 unpacker.param(
'decode2DFinderInput',
False)
96 unpacker.param(
'2DNodeId', [
101 unpacker.param(
'NeuroNodeId', [
107 if 'useDB' in kwargs:
108 unpacker.param(
'useDB', kwargs[
'useDB'])
110 unpacker.param(
'useDB',
True)
112 if 'sim13dt' in kwargs:
113 unpacker.param(
'sim13dt', kwargs[
'sim13dt'])
115 unpacker.param(
'sim13dt',
False)
116 unpacker.param(
'unpackNeuro',
True)
117 unpacker.param(
'decodeNeuro',
True)
118 path.add_module(unpacker)
121 def add_neuro_2d_unpackers(path, debug_level=4, debugout=False, **kwargs):
123 unpacker = b2.register_module(
'CDCTriggerUnpacker')
125 unpacker.logging.log_level = b2.LogLevel.DEBUG
126 unpacker.logging.debug_level = debug_level
127 unpacker.logging.set_info(b2.LogLevel.DEBUG, b2.LogInfo.LEVEL | b2.LogInfo.MESSAGE)
129 unpacker.param(
'headerSize', 3)
131 unpacker.param(
'unpackTracker2D',
True)
133 unpacker.param(
'decode2DFinderTrack',
True)
135 unpacker.param(
'decode2DFinderInput',
True)
136 unpacker.param(
'2DNodeId', [
142 unpacker.param(
'NeuroNodeId', [
148 if 'useDB' in kwargs:
149 unpacker.param(
'useDB', kwargs[
'useDB'])
151 unpacker.param(
'useDB',
True)
153 if 'sim13dt' in kwargs:
154 unpacker.param(
'sim13dt', kwargs[
'sim13dt'])
156 unpacker.param(
'sim13dt',
False)
157 unpacker.param(
'unpackNeuro',
True)
158 unpacker.param(
'decodeNeuro',
True)
159 path.add_module(unpacker)
162 def add_neurotrigger_sim(path, nntweightfile=None, debug_level=4, debugout=False, **kwargs):
163 nnt = b2.register_module(
'CDCTriggerNeuro')
164 if 'inputCollectionName' in kwargs:
165 nnt.param(
'inputCollectionName', kwargs[
'inputCollectionName'])
167 nnt.param(
'inputCollectionName', hwneuroinput2dfindertracks)
168 if 'outputCollectionName' in kwargs:
169 nnt.param(
'outputCollectionName', kwargs[
'outputCollectionName'])
171 nnt.param(
'outputCollectionName', hwsimneurotracks)
172 if 'hitCollectionName' in kwargs:
173 nnt.param(
'hitCollectionName', kwargs[
'hitCollectionName'])
175 nnt.param(
'hitCollectionName', hwneuroinputsegmenthits)
176 if 'writeMLPinput' in kwargs:
177 nnt.param(
'writeMLPinput', kwargs[
'writeMLPinput'])
179 nnt.param(
'writeMLPinput',
True)
180 if 'fixedPoint' in kwargs:
181 nnt.param(
'fixedPoint', kwargs[
'fixedPoint'])
183 nnt.param(
'fixedPoint',
True)
184 if nntweightfile
is not None:
187 if 'et_option' in kwargs:
188 nnt.param(
'et_option', kwargs[
'et_option'])
190 nnt.logging.log_level = b2.LogLevel.DEBUG
191 nnt.logging.debug_level = debug_level
195 def add_neurotrigger_hw(path, nntweightfile=None, debug_level=4, debugout=False, **kwargs):
196 nnt = b2.register_module(
'CDCTriggerNeuro')
197 if 'inputCollectionName' in kwargs:
198 nnt.param(
'inputCollectionName', kwargs[
'inputCollectionName'])
200 nnt.param(
'inputCollectionName', hwneurotracks)
201 if 'outputCollectionName' in kwargs:
202 nnt.param(
'outputCollectionName', kwargs[
'outputCollectionName'])
204 nnt.param(
'outputCollectionName', hwsimneurotracks)
205 if 'hitCollectionName' in kwargs:
206 nnt.param(
'hitCollectionName', kwargs[
'hitCollectionName'])
208 nnt.param(
'hitCollectionName', hwneuroinputsegmenthits)
209 if 'writeMLPinput' in kwargs:
210 nnt.param(
'writeMLPinput', kwargs[
'writeMLPinput'])
212 nnt.param(
'writeMLPinput',
True)
213 if 'fixedPoint' in kwargs:
214 nnt.param(
'fixedPoint', kwargs[
'fixedPoint'])
216 nnt.param(
'fixedPoint',
True)
217 if 'realinputCollectonName' in kwargs:
218 nnt.param(
'realinputCollectionName', kwargs[
'realinputCollectionName'])
220 nnt.param(
'realinputCollectionName', hwneuroinput2dfindertracks)
222 if nntweightfile
is not None:
224 nnt.param(
'NeuroHWTrackInputMode',
True)
225 if 'et_option' in kwargs:
226 nnt.param(
'et_option', kwargs[
'et_option'])
228 nnt.logging.log_level = b2.LogLevel.DEBUG
229 nnt.logging.debug_level = debug_level
233 def add_neuro_simulation(path):
234 path.add_module(
'CDCTriggerTSF',
237 TSHitCollectionName=simsegmenthits)
238 path.add_module(
'CDCTrigger2DFinder',
239 minHits=4, minHitsShort=4, minPt=0.3,
240 hitCollectionName=simsegmenthits,
241 outputCollectionName=sim2dtracks_swts)
242 path.add_module(
'CDCTriggerNeuro',
243 inputCollectionName=sim2dtracks_swts,
244 outputCollectionName=simneurotracks_swtssw2d,
245 hitCollectionName=simsegmenthits,
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.
Defining a filter for skipping trigger suppressed events in realdata:
def neurotrack_allgoodquality(self)