Belle II Software development
caf_state_machine.py
1
8import basf2 as b2
9from ROOT import Belle2 # noqa: make the Belle2 namespace available
10from ROOT.Belle2 import TestCalibrationAlgorithm as TestAlgo
11from caf.state_machines import CalibrationMachine
12from caf.framework import Calibration
13
14alg = TestAlgo()
15cal1 = Calibration('TestCalibrationClass1', "CaTest", alg, '/path/to/file.root')
16cal2 = Calibration('TestCalibrationClass2', "CaTest", alg, '/path/to/file.root')
17
18cm1 = CalibrationMachine(cal1)
19cm1.save_graph("calibration_graph.dot", "CalibrationMachine")
20
21b2.B2INFO("Currently in " + cm1.state.name + " state.")
22cm1.submit_collector(msg_before="About to submit", msg_after="Now submitted")
23cm1.complete(msg_before="Finishing", msg_after="Collector finished")
24b2.B2INFO("Currently in " + cm1.state.name + " state.")