Belle II Software development
CreateTrainData_Lambda.py
1#!/usr/bin/env python3
2
3
10
11
17
18import basf2 as b2
19import modularAnalysis as ma
20import stdV0s as stdV0s
21import variables.collections as vc
22
23import LambdaSelector as LambdaSelector
24
25# Creat analysis path
26my_path = b2.create_path()
27
28# load input ROOT file
29ma.inputMdst(filename=b2.find_file('ccbar_background.root', 'examples', False), path=my_path)
30# load Lambda0 particle list
31stdV0s.stdLambdas(path=my_path)
32ma.matchMCTruth(list_name='Lambda0:merged', path=my_path)
33
34# apply cuts suitable for V0Selector
35# remove KS0 from particle list
36ma.cutAndCopyLists('Lambda0:V0Selector', 'Lambda0:merged', cut='mcPDG!=310', path=my_path)
37# apply cuts suitable for KsVeto
38# only include long lived particle, K_S0 and Lambda
39ma.cutAndCopyLists('Lambda0:KsVeto', 'Lambda0:merged', cut='isSignal==1 or mcPDG==310', path=my_path)
40
41# add variable aliases required for Lambda0Selector training
43
44# add variables required for Lambda0Selector training
45vars = ['lambda_selector_info', 'isNotContinuumEvent', 'isSignal', 'nMCDaughters', 'mcErrors', 'mcPDG',
46 'ArmenterosLongitudinalMomentumAsymmetry', 'pt', 'p', 'InvM', 'M', 'V0Deltad0', 'V0Deltaz0']
47vars += vc.kinematics + vc.mc_kinematics + vc.mc_truth + vc.mc_flight_info
48
49# output
50ma.variablesToNtuple('Lambda0:V0Selector',
51 variables=vars,
52 filename='LambdaSelector_train_V0Selector.root',
53 treename='lambdatree',
54 path=my_path)
55
56ma.variablesToNtuple('Lambda0:KsVeto',
57 variables=vars,
58 filename='LambdaSelector_train_KsVeto.root',
59 treename='ksvetotree',
60 path=my_path)
61
62# Process the events
63b2.process(my_path, max_event=10000)
64
65# print out the summary
66print(b2.statistics)
def add_variable_collection()
def stdLambdas(prioritiseV0=True, fitter='TreeFit', path=None, updateAllDaughters=False, writeOut=False)
Definition: stdV0s.py:182