6 from ROOT
import Belle2
7 from b2test_utils
import safe_process, clean_working_directory
9 basf2.conditions.disable_globaltag_replay()
10 basf2.set_random_seed(
"something important")
13 basf2.logging.set_info(basf2.LogLevel.FATAL, basf2.logging.get_info(basf2.LogLevel.ERROR))
14 basf2.logging.enable_summary(
False)
18 """Doesn't do anything."""
21 with clean_working_directory():
22 for filename
in [
"root_input.root",
"chaintest_empty.root",
"chaintest_1.root",
"chaintest_2.root"]:
23 os.symlink(basf2.find_file(f
'framework/tests/{filename}'), filename)
31 input_module = main.add_module(
"RootInput", inputFileName=
"root_input.root",
32 branchNames=[
'EventMetaData',
'PXDDigits',
'PXDTrueHits',
'PXDClusters'],
33 excludeBranchNames=[
'PXDClusters'], skipNEvents=1, logLevel=basf2.LogLevel.WARNING)
35 main.add_module(
"EventInfoPrinter")
36 main.add_module(
"PrintCollections", printForEvent=0)
39 assert safe_process(main) == 0
43 input_module.param(
'entrySequences', [
"0,3:10,23"])
44 assert safe_process(main) == 0
49 for evtNo
in range(1, 6):
51 main.add_module(
"RootInput", inputFileName=
'root_input.root',
52 branchNames=[
"EventMetaData"], skipToEvent=[0, 1, evtNo], logLevel=basf2.LogLevel.WARNING)
53 main.add_module(
"EventInfoPrinter")
58 input_module = main.add_module(
'RootInput', inputFileNames=[
'chaintest_1.root',
'chaintest_2.root'],
59 logLevel=basf2.LogLevel.WARNING)
65 input_module.param(
'entrySequences', [
'0,3:4,10:100',
'1:2,4,12:13'])
69 Test module which writes out the processed event numbers
70 into the global processed_event_numbers list
75 Initialize this nice class with the list of expected event
76 numbers to see in the correct order
101 main.add_module(
TestingModule([2, 9, 10, 15, 16, 6, 3, 9, 18, 14]))
102 assert safe_process(main) == 0
104 basf2.set_random_seed(
"something important")
107 basf2.logging.set_info(basf2.LogLevel.FATAL, basf2.logging.get_info(basf2.LogLevel.ERROR))
111 input_module = main.add_module(
'RootInput', inputFileNames=[
'chaintest_1.root',
'chaintest_2.root'],
112 logLevel=basf2.LogLevel.WARNING)
118 input_module.param(
'entrySequences', [
':',
'1:2,4,12:13'])
120 expected_event_numbers = [2, 6, 5, 9, 10, 11, 8, 12, 0, 13, 15, 16, 6, 3, 9, 18, 14]
123 assert safe_process(main) == 0
125 full_list = [
"chaintest_empty.root",
"chaintest_1.root",
"chaintest_2.root",
"chaintest_1.root"]
126 for i
in range(len(full_list)):
128 main.add_module(
'RootInput', inputFileNames=full_list[:i + 1])
129 main.add_module(
"EventInfoPrinter")
134 Small module to mark all events except for the ones in the given list as
140 Initialize this nice class with the list/set of accepted event
141 numbers to see. Order not important. All other events will be flagged
151 """Set error flag if required"""
153 error = Belle2.EventMetaData.c_HLTDiscard
if self.
emd.getEvent() % 2 == 0
else \
154 Belle2.EventMetaData.c_HLTCrash
155 self.
emd.addErrorFlag(error)
158 main.add_module(
"EventInfoSetter", evtNumList=10)
160 main.add_module(
"RootOutput", outputFileName=
"brokenevents.root")
161 assert safe_process(main) == 0
164 main.add_module(
"RootInput", inputFileName=
"brokenevents.root")
166 assert safe_process(main) == 0