Belle II Software  release-05-02-19
baseline.py
1 #!/usr/bin/env python3
2 # -*- coding: utf-8 -*-
3 
4 # Thomas Keck 2017
5 
6 import basf2_mva
7 from basf2 import *
8 from modularAnalysis import *
9 
10 if __name__ == "__main__":
11  variables = ['p', 'pt', 'pz', 'phi',
12  'daughter(0, p)', 'daughter(0, pz)', 'daughter(0, pt)', 'daughter(0, phi)',
13  'daughter(1, p)', 'daughter(1, pz)', 'daughter(1, pt)', 'daughter(1, phi)',
14  'daughter(2, p)', 'daughter(2, pz)', 'daughter(2, pt)', 'daughter(2, phi)',
15  'chiProb', 'dr', 'dz', 'dphi',
16  'daughter(0, dr)', 'daughter(1, dr)', 'daughter(0, dz)', 'daughter(1, dz)',
17  'daughter(0, dphi)', 'daughter(1, dphi)',
18  'daughter(0, chiProb)', 'daughter(1, chiProb)', 'daughter(2, chiProb)', 'daughter(2, M)',
19  'daughter(0, atcPIDBelle(3,2))', 'daughter(1, atcPIDBelle(3,2))',
20  'daughterAngle(0, 1)', 'daughterAngle(0, 2)', 'daughterAngle(1, 2)',
21  'daughter(2, daughter(0, E))', 'daughter(2, daughter(1, E))',
22  'daughter(2, daughter(0, clusterLAT))', 'daughter(2, daughter(1, clusterLAT))',
23  'daughter(2, daughter(0, clusterHighestE))', 'daughter(2, daughter(1, clusterHighestE))',
24  'daughter(2, daughter(0, clusterNHits))', 'daughter(2, daughter(1, clusterNHits))',
25  'daughter(2, daughter(0, clusterE9E25))', 'daughter(2, daughter(1, clusterE9E25))',
26  'daughter(2, daughter(0, minC2HDist))', 'daughter(2, daughter(1, minC2HDist))',
27  'daughterInvariantMass(1, 2)', 'daughterInvariantMass(0, 1)', 'daughterInvariantMass(0, 2)'
28  ]
29 
30  general_options = basf2_mva.GeneralOptions()
31  general_options.m_datafiles = basf2_mva.vector("train_mc.root")
32  general_options.m_identifier = "MVABaseline"
33  general_options.m_treename = "tree"
34  general_options.m_variables = basf2_mva.vector(*variables)
35  general_options.m_target_variable = "isSignal"
36 
37  fastbdt_options = basf2_mva.FastBDTOptions()
38  basf2_mva.teacher(general_options, fastbdt_options)