Belle II Software  release-05-01-25
test2_BottomoniumPiPiUpsilon.py
1 #!/usr/bin/env/python3
2 # -*-coding: utf-8-*-
3 
4 """
5 <header>
6  <input>../BottomoniumPiPiUpsilon.udst.root</input>
7  <output>BottomoniumPiPiUpsilon_Validation.root</output>
8  <contact>jiasen@buaa.edu.cn</contact>
9 </header>
10 """
11 
12 import basf2 as b2
13 import modularAnalysis as ma
14 from stdCharged import stdMu, stdPi
15 from beamparameters import add_beamparameters
16 
17 # create a new path
18 BottomoniumPiPiUpsilonskimpath = b2.Path()
19 
20 # set up for running at Y(3S)
21 beamparameters = add_beamparameters(BottomoniumPiPiUpsilonskimpath, "Y3S")
22 
23 filelist = ['../BottomoniumPiPiUpsilon.udst.root']
24 ma.inputMdstList('default', filelist, path=BottomoniumPiPiUpsilonskimpath)
25 
26 # use standard final state particle lists
27 stdMu('loose', path=BottomoniumPiPiUpsilonskimpath)
28 stdPi('all', path=BottomoniumPiPiUpsilonskimpath)
29 
30 # [Y(3S) -> pi+pi- [Y(1S,2S) -> mu+mu-]] decay
31 ma.reconstructDecay('Upsilon:mumu -> mu+:loose mu-:loose', '', path=BottomoniumPiPiUpsilonskimpath)
32 ma.reconstructDecay('Upsilon(3S):pipirecoil -> pi+:all pi-:all', '', path=BottomoniumPiPiUpsilonskimpath)
33 ma.reconstructDecay('Upsilon(3S):12Smumu -> Upsilon(3S):pipirecoil Upsilon:mumu', '', path=BottomoniumPiPiUpsilonskimpath)
34 
35 # the variables that are printed out are: the invariant mass of Y(1S,2S), the invariant mass
36 # of Y(3S), and the recoil mass of pi+pi-
37 ma.variablesToHistogram(
38  filename='BottomoniumPiPiUpsilon_Validation.root',
39  decayString='Upsilon(3S):12Smumu',
40  variables=[
41  ('daughterInvariantMass(1)',
42  70,
43  9.0,
44  10.4),
45  ('InvM',
46  70,
47  10.0,
48  10.7),
49  ('daughter(0,mRecoil)',
50  50,
51  9.2,
52  10.2)
53  ], path=BottomoniumPiPiUpsilonskimpath)
54 
55 b2.process(BottomoniumPiPiUpsilonskimpath)
56 print(b2.statistics)