Belle II Software
release-05-01-25
trainRealisticSegmentPairRelationFilter.py
1
#!/usr/bin/env python3
2
# -*- coding: utf-8 -*-
3
4
import
os
5
import
sys
6
import
os.path
7
8
from
tracking.run.event_generation
import
ReadOrGenerateEventsRun
9
from
trackfindingcdc.run.training
import
TrainingRunMixin
10
11
12
class
RealisticSegmentPairRelationFilterTrainingRun
(TrainingRunMixin,
ReadOrGenerateEventsRun
):
13
"""Run to record segment pair relations encountered at the SegmentPairRelationCreator and retrain its mva method"""
14
15
16
n_events = 10000
17
18
generator_module =
"generic"
19
20
bkg_files = os.path.join(os.environ[
"VO_BELLE2_SW_DIR"
],
"bkg"
)
21
22
23
truth =
"truth_positive"
24
25
@property
26
def
identifier
(self):
27
"""Database identifier of the filter being trained"""
28
return
"trackfindingcdc_RealisticSegmentPairRelationFilter.xml"
29
30
def
create_path
(self):
31
"""Setup the recording path after the simulation"""
32
path = super().
create_path
()
33
path.add_module(
"TFCDC_WireHitPreparer"
,
34
flightTimeEstimation=
"outwards"
)
35
36
path.add_module(
'TFCDC_ClusterPreparer'
,
37
SuperClusterDegree=3,
38
SuperClusterExpandOverApogeeGap=
True
)
39
40
path.add_module(
"TFCDC_SegmentFinderFacetAutomaton"
)
41
42
43
if
self.
task
==
"train"
:
44
varSets = [
45
"realistic"
,
46
"filter(truth)"
,
47
"truth"
,
48
]
49
50
elif
self.
task
==
"eval"
:
51
varSets = [
52
"filter(simple)"
,
53
"filter(realistic)"
,
54
"filter(truth)"
,
55
]
56
57
elif
self.
task
==
"explore"
:
58
varSets = [
59
"basic"
,
60
"fit"
,
61
"filter(simple)"
,
62
"filter(truth)"
,
63
]
64
65
else
:
66
raise
ValueError(
"Unknown task "
+ self.
task
)
67
68
path.add_module(
"TFCDC_TrackFinderSegmentPairAutomaton"
,
69
SegmentPairRelationFilter=
"unionrecording"
,
70
SegmentPairRelationFilterParameters={
71
"rootFileName"
: self.sample_file_name,
72
"varSets"
: varSets,
73
})
74
75
return
path
76
77
78
def
main
():
79
run =
RealisticSegmentPairRelationFilterTrainingRun
()
80
run.configure_and_execute_from_commandline()
81
82
83
if
__name__ ==
"__main__"
:
84
import
logging
85
logging.basicConfig(stream=sys.stdout, level=logging.INFO, format=
'%(levelname)s:%(message)s'
)
86
main
()
trainRealisticSegmentPairRelationFilter.RealisticSegmentPairRelationFilterTrainingRun.identifier
def identifier(self)
Definition:
trainRealisticSegmentPairRelationFilter.py:26
trainRealisticSegmentPairRelationFilter.RealisticSegmentPairRelationFilterTrainingRun
Definition:
trainRealisticSegmentPairRelationFilter.py:12
tracking.run.event_generation.ReadOrGenerateEventsRun
Definition:
event_generation.py:26
main
int main(int argc, char **argv)
Run all tests.
Definition:
test_main.cc:77
tracking.run.event_generation
Definition:
event_generation.py:1
trainRealisticSegmentPairRelationFilter.RealisticSegmentPairRelationFilterTrainingRun.create_path
def create_path(self)
Definition:
trainRealisticSegmentPairRelationFilter.py:30
trainRealisticSegmentPairRelationFilter.RealisticSegmentPairRelationFilterTrainingRun.task
task
Process each event according to the user's desired task (train, eval, explore)
Definition:
trainRealisticSegmentPairRelationFilter.py:43
tracking
trackFindingCDC
train
trainRealisticSegmentPairRelationFilter.py
Generated on Fri Nov 5 2021 04:04:06 for Belle II Software by
1.8.17