Belle II Software  light-2212-foldex
LowEnergyPi0Identification.py
1 #!/usr/bin/env python3
2 # -*- coding: utf-8 -*-
3 
4 
11 
12 
15 
16 import argparse
17 import basf2
18 import b2biiConversion
19 import modularAnalysis as ma
20 import variables.collections as vc
21 from variables import variables
22 
23 # Arguments.
24 parser = argparse.ArgumentParser()
25 parser.add_argument('--belle1', action='store_true',
26  help='Belle 1 data analysis.')
27 arguments = parser.parse_args()
28 
29 # Create path.
30 analysis_path = basf2.create_path()
31 
32 # Load input file.
33 if arguments.belle1:
35  basf2.find_file('analysis/mdstBelle1_exp65_charged.root', 'validation'),
36  path=analysis_path)
37 else:
38  ma.inputMdst(filename=basf2.find_file("mdst14.root", "validation"),
39  path=analysis_path)
40 
41 # Reconstruction of photons.
42 gamma_list = 'gamma:all'
43 ma.fillParticleList(gamma_list, '', path=analysis_path)
44 
45 # Reconstruction of pi0.
46 mass_window = 0.02
47 mass_cut = f'abs(dM) < {mass_window}'
48 ma.cutAndCopyList('gamma:pi0', gamma_list, 'E > 0.02', path=analysis_path)
49 # Belle 1 has pi0:mdst, but reconstruct pi0 again to avoid preliminary cuts.
50 pi0_list = 'pi0:gamma'
51 ma.reconstructDecay('pi0:gamma -> gamma:pi0 gamma:pi0', mass_cut,
52  path=analysis_path)
53 if arguments.belle1:
54  payload_name_suffix = 'Belle1'
55 else:
56  payload_name_suffix = 'Belle2Release5'
57 ma.lowEnergyPi0Identification(pi0_list, 'gamma:pi0', payload_name_suffix,
58  path=analysis_path)
59 
60 # Variables.
61 variables.addAlias('identification', 'extraInfo(lowEnergyPi0Identification)')
62 pi0_vars = vc.kinematics + ['InvM', 'identification']
63 
64 # Output file.
65 filename = 'pi0_identification.root'
66 ma.variablesToNtuple('pi0:gamma', pi0_vars, filename=filename, treename='t1', path=analysis_path)
67 
68 # Progress.
69 analysis_path.add_module('Progress')
70 
71 # Process the events.
72 basf2.process(analysis_path)
73 
74 # Print out the summary.
75 print(basf2.statistics)
def convertBelleMdstToBelleIIMdst(inputBelleMDSTFile, applySkim=True, useBelleDBServer=None, convertBeamParameters=True, generatorLevelReconstruction=False, generatorLevelMCMatching=False, path=None, entrySequences=None, matchType2E9oE25Threshold=-1.1, enableNisKsFinder=True, HadronA=True, HadronB=True, enableRecTrg=False, enableEvtcls=True, SmearTrack=2, enableLocalDB=True)