Belle II Software  release-05-02-19
first_data_analysis_script.py
1 #!/usr/bin/env python3
2 # -*- coding: utf-8 -*-
3 
4 import os
5 
6 import basf2
7 import rawdata
8 
9 from tracking import add_hit_preparation_modules, add_track_finding, add_track_fit_and_track_creator
10 from tracking.harvesting_validation import recorded_data_module
11 
12 
13 def get_output_file_name(file_name):
14  input_file_names = os.environ["FILE_NAMES"].split()
15  assert len(input_file_names) == 1
16  input_file_name = input_file_names[0]
17  input_file_name = os.path.splitext(os.path.basename(input_file_name))[0]
18 
19  return input_file_name + "_" + file_name
20 
21 
22 if __name__ == "__main__":
23  basf2.reset_database()
24  basf2.use_central_database(os.environ["BASF2_GDT"])
25 
26  path = basf2.create_path()
27 
28  input_file_names = os.environ["FILE_NAMES"].split()
29  print(f"Using input files {input_file_names}")
30 
31  path.add_module("RootInput", inputFileNames=input_file_names)
32 
33  path.add_module("Gearbox")
34  path.add_module("Geometry", useDB=True)
35 
37 
38  add_hit_preparation_modules(path)
39  path.add_module('SetupGenfitExtrapolation', energyLossBrems=False, noiseBrems=False)
40 
41  add_track_finding(path, svd_ckf_mode="VXDTF2_before_with_second_ckf", prune_temporary_tracks=False)
42 
43  add_track_fit_and_track_creator(path)
44 
45  # Resetting MinClusterTime parameter to turn of cut on cluster time
46  for m in path.modules():
47  if m.name() == "SVDSpacePointCreator":
48  m.param("MinClusterTime", -999)
49 
50  path.add_module("RootOutput", outputFileName=get_output_file_name("reconstructed.root"))
51 
52  path.add_module(recorded_data_module.TrackInfoHarvester(output_file_name=get_output_file_name('trackLevelInformation.root')))
53  path.add_module(recorded_data_module.HitInfoHarvester(output_file_name=get_output_file_name('hitLevelInformation.root')))
54  path.add_module(recorded_data_module.EventInfoHarvester(output_file_name=get_output_file_name('eventLevelInformation.root')))
55 
56  basf2.print_path(path)
57  basf2.process(path)
58  print(basf2.statistics)
tracking.harvesting_validation
Definition: __init__.py:1
basf2.process
def process(path, max_event=0)
Definition: __init__.py:25
rawdata.add_unpackers
def add_unpackers(path, components=None, writeKLMDigitRaws=False)
Definition: rawdata.py:62