~chris-rogers/maus/emr_mc_digitization

« back to all changes in this revision

Viewing changes to tests/integration/test_scifi/test_scifi_recon/test_scifi_recon.py

  • Committer: Chris Rogers
  • Date: 2014-04-16 11:48:45 UTC
  • mfrom: (707 merge)
  • mto: This revision was merged to the branch mainline in revision 711.
  • Revision ID: chris.rogers@stfc.ac.uk-20140416114845-h3u3q7pdcxkxvovs
Update to trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
65
65
        tree = ROOT.TTree()
66
66
        tree = root_file.Get("Spill")
67
67
        tree.SetBranchAddress("data", data)
68
 
        tree.GetEntry(0)  # Use the 3rd spill
69
 
        spill = data.GetSpill()
70
 
 
71
 
        self.assertEqual(spill.GetDaqEventType(), "physics_event")
72
 
        self.assertEqual(spill.GetReconEvents().size(), 2)
73
 
 
74
 
        evt = spill.GetReconEvents()[0].GetSciFiEvent()
75
 
        self.assertEqual(evt.spacepoints().size(), 10)
76
 
 
77
 
        # Check have found tracks with correct params & correct seed spoints
78
 
        trks = evt.helicalprtracks()
79
 
        self.assertEqual(trks.size(), 2)
80
 
 
81
 
        sds0 = trks[0].get_spacepoints() # Tracker 1
82
 
        self.assertEqual(round(trks[0].get_R() - 6.28, 2), 0.0)
83
 
        self.assertEqual(round(trks[0].get_dsdz() - 0.0348, 4), 0.0)
84
 
        self.assertEqual(sds0.size(), 5)
85
 
        self.assertEqual(round(sds0[0].get_position().x() - (-10.46), 2), 0.0)
86
 
        self.assertEqual(round(sds0[1].get_position().x() - (-5.48), 2), 0.0)
87
 
        self.assertEqual(round(sds0[2].get_position().x() - (-0.50), 2), 0.0)
88
 
        self.assertEqual(round(sds0[3].get_position().x() - (-8.47), 2), 0.0)
89
 
        self.assertEqual(round(sds0[4].get_position().x() - (-12.70), 2), 0.0)
90
 
 
91
 
        sds1 = trks[1].get_spacepoints() # Tracker 2
92
 
        self.assertEqual(round(trks[1].get_R() - 18.57, 2), 0.0)
93
 
        self.assertEqual(round(trks[1].get_dsdz() - 0.1180, 4), 0.0)
94
 
        self.assertEqual(sds1.size(), 5)
95
 
        self.assertEqual(round(sds1[0].get_position().x() - (18.93), 2), 0.0)
96
 
        self.assertEqual(round(sds1[1].get_position().x() - (-0.75), 2), 0.0)
97
 
        self.assertEqual(round(sds1[2].get_position().x() - (-14.45), 2), 0.0)
98
 
        self.assertEqual(round(sds1[3].get_position().x() - (13.95), 2), 0.0)
99
 
        self.assertEqual(round(sds1[4].get_position().x() - (9.47), 2), 0.0)
 
68
 
 
69
        # Check the mean and standard deviation of some final track data
 
70
        tree.Draw("_spill._recon._scifi_event._scifitracks._P_value>>h1")
 
71
        h1 = ROOT.gDirectory.Get('h1')
 
72
        self.assertGreater(h1.GetMean(), 0.93)
 
73
        self.assertLess(h1.GetRMS(), 0.1)
 
74
 
 
75
        tree.Draw("_spill._recon._scifi_event._scifitracks._f_chi2>>h2")
 
76
        h2 = ROOT.gDirectory.Get('h2')
 
77
        self.assertLess(h2.GetMean(), 10)
 
78
        self.assertLess(h2.GetRMS(), 5)        
 
79
 
 
80
        tree.Draw("_spill._recon._scifi_event._scifitracks._s_chi2>>h3")
 
81
        h3 = ROOT.gDirectory.Get('h3')
 
82
        self.assertLess(h3.GetMean(), 20)
 
83
        self.assertLess(h3.GetRMS(), 10)
 
84
        
 
85
        # Most particles should be identified correctly as positives
 
86
        tree.Draw("_spill._recon._scifi_event._scifitracks._charge>>h4")
 
87
        h4 = ROOT.gDirectory.Get('h4')
 
88
        self.assertGreater(h4.GetMean(), 0.95) 
100
89
 
101
90
if __name__ == "__main__":
102
 
    unittest.main()
 
 
b'\\ No newline at end of file'
 
91
    unittest.main()