8 if __name__ ==
"__main__":
9 from basf2
import conditions
11 conditions.testing_payloads = [
12 'localdb/database.txt'
15 variables = [
'p',
'pt',
'pz',
'phi',
16 'daughter(0, p)',
'daughter(0, pz)',
'daughter(0, pt)',
'daughter(0, phi)',
17 'daughter(1, p)',
'daughter(1, pz)',
'daughter(1, pt)',
'daughter(1, phi)',
18 'daughter(2, p)',
'daughter(2, pz)',
'daughter(2, pt)',
'daughter(2, phi)',
19 'chiProb',
'dr',
'dz',
'dphi',
20 'daughter(0, dr)',
'daughter(1, dr)',
'daughter(0, dz)',
'daughter(1, dz)',
21 'daughter(0, dphi)',
'daughter(1, dphi)',
22 'daughter(0, chiProb)',
'daughter(1, chiProb)',
'daughter(2, chiProb)',
23 'daughter(0, kaonID)',
'daughter(0, pionID)',
'daughter(1, kaonID)',
'daughter(1, pionID)',
24 'daughterAngle(0, 1)',
'daughterAngle(0, 2)',
'daughterAngle(1, 2)',
25 'daughter(2, daughter(0, E))',
'daughter(2, daughter(1, E))',
26 'daughter(2, daughter(0, clusterTiming))',
'daughter(2, daughter(1, clusterTiming))',
27 'daughter(2, daughter(0, clusterE9E25))',
'daughter(2, daughter(1, clusterE9E25))',
28 'daughter(2, daughter(0, minC2HDist))',
'daughter(2, daughter(1, minC2HDist))',
31 variables2 = [
'p',
'pt',
'pz',
'phi',
32 'chiProb',
'dr',
'dz',
'dphi',
33 'daughter(2, chiProb)',
34 'daughter(0, kaonID)',
'daughter(0, pionID)',
'daughter(1, kaonID)',
'daughter(1, pionID)',
35 'daughter(2, daughter(0, E))',
'daughter(2, daughter(1, E))',
36 'daughter(2, daughter(0, clusterTiming))',
'daughter(2, daughter(1, clusterTiming))',
37 'daughter(2, daughter(0, clusterE9E25))',
'daughter(2, daughter(1, clusterE9E25))',
38 'daughter(2, daughter(0, minC2HDist))',
'daughter(2, daughter(1, minC2HDist))']
40 general_options = basf2_mva.GeneralOptions()
41 general_options.m_datafiles = basf2_mva.vector(
"train.root")
42 general_options.m_treename =
"tree"
43 general_options.m_variables = basf2_mva.vector(*variables)
45 general_options.m_spectators = basf2_mva.vector(
'daughterInvariantMass(0, 1)',
'daughterInvariantMass(0, 2)')
46 general_options.m_target_variable =
"isSignal"
47 general_options.m_identifier =
"fastbdt"
49 fastbdt_options = basf2_mva.FastBDTOptions()
50 fastbdt_options.m_nTrees = 100
51 fastbdt_options.m_nCuts = 10
52 fastbdt_options.m_nLevels = 5
53 fastbdt_options.m_shrinkage = 0.1
54 fastbdt_options.m_randRatio = 0.5
55 fastbdt_options.m_flatnessLoss = 10.0
57 basf2_mva.teacher(general_options, fastbdt_options)
59 general_options.m_identifier =
"fastbdt_baseline"
60 fastbdt_options.m_flatnessLoss = -1.0
61 basf2_mva.teacher(general_options, fastbdt_options)
63 general_options.m_identifier =
"fastbdt_drop_feature"
64 fastbdt_options.m_flatnessLoss = -1.0
65 general_options.m_variables = basf2_mva.vector(*variables2)
66 basf2_mva.teacher(general_options, fastbdt_options)