6 from modularAnalysis
import inputMdst, matchMCTruth, variablesToNtuple, process, statistics
7 from stdV0s
import stdKshorts
12 input_file_name = str(sys.argv[1])
14 input_file_name =
'/hsm/belle2/bdata/MC/release-01-00-03/DB00000294/MC10/prod00004770/'\
15 's00/e0000/4S/r00000/mixed/mdst/sub00/mdst_00000*_prod00004770_task0000000*.root'
18 identifier = sys.argv[2]
20 identifier =
'Kshort_FastBDT.xml'
23 tree_name =
'ks_training_variables'
24 training_file_name =
'KshortClassifierTrainingData.root'
26 my_variables = [
'SigM',
27 'formula( E / E_uncertainty )',
28 'formula( flightTime / flightTimeErr)',
29 'cosAngleBetweenMomentumAndVertexVector',
30 'min(abs(daughter(0, d0)),abs(daughter(1, d0)))',
31 'formula(daughter(0, pionID) + daughter(1, pionID))'
34 target_variable =
'isSignal'
38 training_path = basf2.core.Path()
39 inputMdst(
'default', input_file_name, path=training_path)
40 stdKshorts(path=training_path)
41 matchMCTruth(
'K_S0:merged', path=training_path)
44 my_variables + [target_variable],
50 process(training_path, int(2e5))
55 training_string =
'basf2_mva_teacher --datafiles {data_files} --treename {tree_name}'\
56 ' --identifier {identifier} --variables {variables} --target_variable'\
57 ' {target_variable} --method FastBDT --nTrees 400 --nCutLevels 8 --nLevels 4'.format(
58 data_files=training_file_name,
60 identifier=identifier,
61 variables=
''.join([
' "%s" ' % var
for var
in my_variables]),
62 target_variable=target_variable)
64 os.system(training_string)
70 tag_name =
"development"
73 remove_local_files =
False
76 os.system(
'basf2_mva_upload --identifier {identifier} --db_identifier {identifier_db}'
77 ' --begin_experiment {ex_b} --end_experiment {ex_e} --begin_run {run_b} --end_run {run_e}'.format(
78 identifier=identifier,
79 identifier_db=identifier.split(
".xml")[0],
86 data_base_file = here +
"/localdb/database.txt"
90 os.system(
"conditionsdb upload {TAGNAME} {DATABASEFILE}".format(TAGNAME=tag_name, DATABASEFILE=data_base_file))
92 if remove_local_files:
93 os.system(
'rm -r {}'.format(here +
'/localdb/'))
94 os.system(
'rm {}/{}'.format(here, training_file_name))
95 os.system(
'rm {}/{}'.format(here, identifier))