7 from caf.framework
import CAF
8 from caf
import backends
10 from reconstruction
import add_cosmics_reconstruction
12 from alignment
import setups
14 b2.set_log_level(b2.LogLevel.INFO)
18 print(
'Demonstrator of Millepede alignment of CDC layers with CAF')
22 inputFiles.append(os.path.abspath(file))
24 if not len(inputFiles):
25 print(
'Usage: basf2 caf_cdc_alignment DST_FILE.root [DST_FILE2.root ... ]')
28 print(
'Input DST files:')
31 reco_path = b2.create_path()
32 reco_path.add_module(
'Progress')
33 reco_path.add_module(
'Gearbox')
34 reco_path.add_module(
'Geometry', excludedComponents=[
'SVD',
'PXD',
'ARICH',
'BeamPipe',
'EKLM'])
36 add_cosmics_reconstruction(reco_path, components=[
'CDC'], merge_tracks=
True, pruneTracks=
False)
38 setups.dirty_data =
True
39 millepede = setups.setup_CDCLayers_GCR_Karim()
40 millepede.path = reco_path
41 calib_init = millepede.create(
'cdc_layers_init', inputFiles)
42 calib_init.max_iterations = 0
43 calib_init.max_files_per_collector_job = 1
45 setups.dirty_data =
False
46 millepede = setups.setup_CDCLayers_GCR_Karim()
47 millepede.path = reco_path
48 millepede.set_param(1.e-3,
'minPValue')
49 calib_std = millepede.create(
'cdc_layers_std', inputFiles)
50 calib_std.max_files_per_collector_job = 1
52 calib_std.depends_on(calib_init)
56 caf.add_calibration(calib_init)
57 caf.add_calibration(calib_std)
61 caf.output_dir =
'caf_output'
64 print(
"Finished CAF Processing")
67 if __name__ ==
"__main__":