Belle II Software development
categories.py
1# This script contains a list of categories available for event level training
2
3def get_available_categories():
4 """
5 Gets all available categories for eventlevel FT training.
6 Also returns a named tuple corresponding to each category as
7 ['particleList', 'trackName', 'eventName', 'variableName', 'code']
8 """
9 # imports
10 import collections
11
12 # create a tuple to store category related info
13 FTCategoryParameters = collections.namedtuple('FTCategoryParameters',
14 ['particleList', 'trackName', 'eventName', 'variableName', 'code'])
15
16 available_categories = {
17 'Electron': FTCategoryParameters(
18 'e+:inRoe',
19 'Electron',
20 'Electron',
21 'QpOf(e+:inRoe, isRightCategory(Electron), isRightCategory(Electron))',
22 0
23 ),
24 'IntermediateElectron': FTCategoryParameters(
25 'e+:inRoe',
26 'IntermediateElectron',
27 'IntermediateElectron',
28 'QpOf(e+:inRoe, isRightCategory(IntermediateElectron), isRightCategory(IntermediateElectron))',
29 1
30 ),
31 'Muon': FTCategoryParameters(
32 'mu+:inRoe',
33 'Muon',
34 'Muon',
35 'QpOf(mu+:inRoe, isRightCategory(Muon), isRightCategory(Muon))',
36 2
37 ),
38 'IntermediateMuon': FTCategoryParameters(
39 'mu+:inRoe',
40 'IntermediateMuon',
41 'IntermediateMuon',
42 'QpOf(mu+:inRoe, isRightCategory(IntermediateMuon), isRightCategory(IntermediateMuon))',
43 3
44 ),
45 'KinLepton': FTCategoryParameters(
46 'mu+:inRoe',
47 'KinLepton',
48 'KinLepton',
49 'QpOf(mu+:inRoe, isRightCategory(KinLepton), isRightCategory(KinLepton))',
50 4
51 ),
52 'IntermediateKinLepton': FTCategoryParameters(
53 'mu+:inRoe',
54 'IntermediateKinLepton',
55 'IntermediateKinLepton',
56 'QpOf(mu+:inRoe, isRightCategory(IntermediateKinLepton), isRightCategory(IntermediateKinLepton))',
57 5
58 ),
59 'Kaon': FTCategoryParameters(
60 'K+:inRoe',
61 'Kaon',
62 'Kaon',
63 'weightedQpOf(K+:inRoe, isRightCategory(Kaon), isRightCategory(Kaon))',
64 6
65 ),
66 'SlowPion': FTCategoryParameters(
67 'pi+:inRoe',
68 'SlowPion',
69 'SlowPion',
70 'QpOf(pi+:inRoe, isRightCategory(SlowPion), isRightCategory(SlowPion))',
71 7
72 ),
73 'FastHadron': FTCategoryParameters(
74 'pi+:inRoe',
75 'FastHadron',
76 'FastHadron',
77 'QpOf(pi+:inRoe, isRightCategory(FastHadron), isRightCategory(FastHadron))',
78 8
79 ),
80 'Lambda': FTCategoryParameters(
81 'Lambda0:inRoe',
82 'Lambda',
83 'Lambda',
84 'weightedQpOf(Lambda0:inRoe, isRightCategory(Lambda), isRightCategory(Lambda))',
85 9
86 ),
87 'FSC': FTCategoryParameters(
88 'pi+:inRoe',
89 'SlowPion',
90 'FSC',
91 'QpOf(pi+:inRoe, isRightCategory(FSC), isRightCategory(SlowPion))',
92 10
93 ),
94 'MaximumPstar': FTCategoryParameters(
95 'pi+:inRoe',
96 'MaximumPstar',
97 'MaximumPstar',
98 'QpOf(pi+:inRoe, isRightCategory(MaximumPstar), isRightCategory(MaximumPstar))',
99 11
100 ),
101 'KaonPion': FTCategoryParameters(
102 'K+:inRoe',
103 'Kaon',
104 'KaonPion',
105 'QpOf(K+:inRoe, isRightCategory(KaonPion), isRightCategory(Kaon))',
106 12
107 ),
108 }
109
110 return available_categories