23
23
import Configuration
25
25
import maus_cpp.globals
26
import maus_cpp.converter
27
28
class MapCppTrackerReconTestCase(unittest.TestCase): # pylint: disable = R0904
28
29
"""Tests for MapCppTrackerRecon"""
30
31
cfg = json.loads(Configuration.Configuration().getConfigJSON())
31
cfg['reconstruction_geometry_filename'] = 'Stage4.dat'
32
geom = os.getenv("MAUS_ROOT_DIR")+"/src/map/"+\
33
"MapCppTrackerMCDigitization/MapCppTrackerMCDigitizationTest.dat"
34
cfg['reconstruction_geometry_filename'] = geom
32
35
cfg['SciFiPRHelicalOn'] = 0
33
36
cfg['SciFiStraightOn'] = 0
50
53
output with good straight track data"""
51
54
if maus_cpp.globals.has_instance():
52
55
maus_cpp.globals.death()
53
self.cfg['reconstruction_geometry_filename'] = 'Stage4.dat'
56
self.cfg['reconstruction_geometry_filename'] = self.geom
54
57
self.cfg['SciFiPRHelicalOn'] = 0
55
58
self.cfg['SciFiPRStraightOn'] = 1
56
print "Flags passed: "
57
print self.cfg['SciFiPRHelicalOn']
58
print self.cfg['SciFiPRStraightOn']
59
success = self.mapper.birth(json.dumps(self.cfg))
60
self.assertTrue(success)
59
# self.cfg['SciFiPatRecVerbosity'] = 1
60
# print "Flags passed: "
61
# print self.cfg['SciFiPRHelicalOn']
62
# print self.cfg['SciFiPRStraightOn']
63
self.mapper.birth(json.dumps(self.cfg))
61
64
# Read in a spill of mc data containing 5 straight tracks
62
65
test1 = ('%s/src/map/MapCppTrackerRecon/test_straight_digits.json' %
63
66
os.environ.get("MAUS_ROOT_DIR"))
71
74
data = fin.readline()
72
75
result = self.mapper.process(data)
73
spill_out = json.loads(result)
76
spill_out = maus_cpp.converter.json_repr(result)
74
77
self.assertTrue('recon_events' in spill_out)
75
self.assertEqual(5, len(spill_out['recon_events']))
78
self.assertEqual(1, len(spill_out['recon_events']))
76
79
# Check the first event
77
80
revt = spill_out['recon_events'][0]
78
81
self.assertTrue('sci_fi_event' in revt)
92
95
output with good helical track data"""
93
96
if maus_cpp.globals.has_instance():
94
97
maus_cpp.globals.death()
95
self.cfg['reconstruction_geometry_filename'] = 'Stage6.dat'
98
self.cfg['reconstruction_geometry_filename'] = self.geom
96
99
self.cfg['SciFiPRHelicalOn'] = 1
97
100
self.cfg['SciFiStraightOn'] = 0
98
success = self.mapper.birth(json.dumps(self.cfg))
99
self.assertTrue(success)
101
# self.cfg['SciFiPatRecVerbosity'] = 1
102
self.mapper.birth(json.dumps(self.cfg))
100
103
# Read in a spill of mc data containing 5 straight tracks
101
104
# test1 = ('%s/src/map/MapCppTrackerRecon/test_helical_digits.json' %
102
105
# os.environ.get("MAUS_ROOT_DIR"))
103
106
test1 = ('%s/src/map/MapCppTrackerRecon/test_helical_digits.json' %
104
os.environ.get("MAUS_ROOT_DIR"))
107
os.environ.get("MAUS_ROOT_DIR"))
105
108
fin = open(test1,'r')
106
109
# Check the first spill (helices)
109
112
data = fin.readline()
110
113
result = self.mapper.process(data)
111
spill_out = json.loads(result)
114
spill_out = maus_cpp.converter.json_repr(result)
112
115
self.assertTrue('recon_events' in spill_out)
113
116
self.assertEqual(1, len(spill_out['recon_events']))
114
117
# Check the first event
115
118
revt = spill_out['recon_events'][0]
116
119
self.assertTrue('digits' in revt['sci_fi_event'])
117
self.assertEqual(31, len(revt['sci_fi_event']['digits']))
120
self.assertEqual(32, len(revt['sci_fi_event']['digits']))
118
121
self.assertTrue('clusters' in revt['sci_fi_event'])
119
122
self.assertEqual(30, len(revt['sci_fi_event']['clusters']))
120
123
self.assertTrue('spacepoints' in revt['sci_fi_event'])
134
137
if cls.test_config != "":
135
138
maus_cpp.globals.birth(cls.test_config)
136
139
# Check we death() the mapper
137
success = cls.mapper.death()
139
raise Exception('InitializeFail', 'Could not start worker')
140
141
cls.mapper = None
142
143
if __name__ == '__main__':