9 import modularAnalysis
as ma
13 import stdCharged
as stdc
16 from variables
import variables
18 variables.addAlias(
'TubeX',
'extraInfo(TubePosX)')
19 variables.addAlias(
'TubeY',
'extraInfo(TubePosY)')
20 variables.addAlias(
'TubeZ',
'extraInfo(TubePosZ)')
21 variables.addAlias(
'Tube00',
'extraInfo(TubeCov00)')
22 variables.addAlias(
'Tube01',
'extraInfo(TubeCov01)')
23 variables.addAlias(
'Tube02',
'extraInfo(TubeCov02)')
24 variables.addAlias(
'Tube10',
'extraInfo(TubeCov10)')
25 variables.addAlias(
'Tube11',
'extraInfo(TubeCov11)')
26 variables.addAlias(
'Tube12',
'extraInfo(TubeCov12)')
27 variables.addAlias(
'Tube20',
'extraInfo(TubeCov20)')
28 variables.addAlias(
'Tube21',
'extraInfo(TubeCov21)')
29 variables.addAlias(
'Tube22',
'extraInfo(TubeCov22)')
31 variables.addAlias(
'avf00',
'extraInfo(prod_vtx_cov00)')
32 variables.addAlias(
'avf01',
'extraInfo(prod_vtx_cov01)')
33 variables.addAlias(
'avf02',
'extraInfo(prod_vtx_cov02)')
34 variables.addAlias(
'avf10',
'extraInfo(prod_vtx_cov10)')
35 variables.addAlias(
'avf11',
'extraInfo(prod_vtx_cov11)')
36 variables.addAlias(
'avf12',
'extraInfo(prod_vtx_cov12)')
37 variables.addAlias(
'avf20',
'extraInfo(prod_vtx_cov20)')
38 variables.addAlias(
'avf21',
'extraInfo(prod_vtx_cov21)')
39 variables.addAlias(
'avf22',
'extraInfo(prod_vtx_cov22)')
41 variables.addAlias(
'avfPx',
'extraInfo(Px_after_avf)')
42 variables.addAlias(
'avfPy',
'extraInfo(Py_after_avf)')
43 variables.addAlias(
'avfPz',
'extraInfo(Pz_after_avf)')
44 variables.addAlias(
'avfE',
'extraInfo(E_after_avf)')
46 variables.addAlias(
'mcPxCms',
'useCMSFrame(mcPX)')
47 variables.addAlias(
'mcPyCms',
'useCMSFrame(mcPY)')
48 variables.addAlias(
'mcPzCms',
'useCMSFrame(mcPZ)')
49 variables.addAlias(
'mcECms',
'useCMSFrame(mcE)')
51 variables.addAlias(
'tube_dir_X',
'extraInfo(TubeDirX)')
52 variables.addAlias(
'tube_dir_Y',
'extraInfo(TubeDirY)')
53 variables.addAlias(
'tube_dir_Z',
'extraInfo(TubeDirZ)')
55 variables.addAlias(
'truex',
'matchedMC(x)')
56 variables.addAlias(
'truey',
'matchedMC(y)')
57 variables.addAlias(
'truez',
'matchedMC(z)')
59 variables.addAlias(
'Distance',
'extraInfo(CalculatedDistance)')
60 variables.addAlias(
'DistanceError',
'extraInfo(CalculatedDistanceError)')
61 variables.addAlias(
'DistanceVector_X',
'extraInfo(CalculatedDistanceVector_X)')
62 variables.addAlias(
'DistanceVector_Y',
'extraInfo(CalculatedDistanceVector_Y)')
63 variables.addAlias(
'DistanceVector_Z',
'extraInfo(CalculatedDistanceVector_Z)')
64 variables.addAlias(
'DistanceCovMatrixXX',
'extraInfo(CalculatedDistanceCovMatrixXX)')
65 variables.addAlias(
'DistanceCovMatrixXY',
'extraInfo(CalculatedDistanceCovMatrixXY)')
66 variables.addAlias(
'DistanceCovMatrixXZ',
'extraInfo(CalculatedDistanceCovMatrixXZ)')
67 variables.addAlias(
'DistanceCovMatrixYX',
'extraInfo(CalculatedDistanceCovMatrixYX)')
68 variables.addAlias(
'DistanceCovMatrixYY',
'extraInfo(CalculatedDistanceCovMatrixYY)')
69 variables.addAlias(
'DistanceCovMatrixYZ',
'extraInfo(CalculatedDistanceCovMatrixYZ)')
70 variables.addAlias(
'DistanceCovMatrixZX',
'extraInfo(CalculatedDistanceCovMatrixZX)')
71 variables.addAlias(
'DistanceCovMatrixZY',
'extraInfo(CalculatedDistanceCovMatrixZY)')
72 variables.addAlias(
'DistanceCovMatrixZZ',
'extraInfo(CalculatedDistanceCovMatrixZZ)')
74 my_path = b2.create_path()
78 ma.inputMdst(
'default',
82 stdc.stdPi(listtype=
'all', path=my_path)
83 stdc.stdPi(listtype=
'good', path=my_path)
84 stdc.stdK(listtype=
'all', path=my_path)
85 stdc.stdK(listtype=
'good', path=my_path)
86 stdc.stdMu(listtype=
'all', path=my_path)
87 stdc.stdMu(listtype=
'good', path=my_path)
89 ma.reconstructDecay(
'D0:kpi -> K-:good pi+:good',
'', path=my_path)
90 ma.matchMCTruth(
'D0:kpi', path=my_path)
91 ma.applyCuts(
'D0:kpi',
'abs(mcPDG)==421', path=my_path)
92 vx.raveFit(
'D0:kpi', 0.0, path=my_path)
94 ma.reconstructDecay(
'J/psi:mumu -> mu+:good mu-:good',
'', path=my_path)
95 vx.raveFit(
'J/psi:mumu', 0.0, path=my_path)
98 ma.reconstructDecay(
'B+:tag -> anti-D0:kpi pi+:all',
'', path=my_path)
99 ma.matchMCTruth(
'B+:tag', path=my_path)
100 ma.applyCuts(
'B+:tag',
'isSignalAcceptMissingNeutrino>0.5', path=my_path)
101 vx.raveFit(
'B+:tag', 0.0, path=my_path)
104 ma.reconstructDecay(
'B-:sigT -> J/psi:mumu K-:good pi+:good pi-:good',
'', path=my_path)
105 ma.matchMCTruth(
'B-:sigT', path=my_path)
106 ma.applyCuts(
'B-:sigT',
'abs(mcPDG)==521', path=my_path)
108 ma.reconstructDecay(
'Upsilon(4S):sig -> B+:tag B-:sigT',
'', path=my_path)
110 mytestmodule2 = b2.register_module(
'BtubeCreator')
111 my_path.add_module(mytestmodule2,
112 listName=
'Upsilon(4S):sig',
113 decayString=
'Upsilon(4S) -> ^B+ B-')
114 vx.raveFit(
'B-:sigT', 0.0, constraint=
'btube', path=my_path)
116 ma.calculateDistance(
'B-:sigT',
'B- -> ^J/psi K- pi+ pi-',
"vertexbtube", path=my_path)
118 output_file =
'test.root'
119 true_vars = [
'truex',
'truey',
'truez']
120 avf_vars = [
'avf00',
'avf01',
'avf02',
'avf10',
'avf11',
'avf12',
'avf20',
'avf21',
'avf22',
'avfPx',
'avfPy',
'avfPz',
'avfE']
138 common_vars = vc.kinematics + vc.vertex + vc.mc_vertex + vc.mc_truth + \
139 vc.mc_kinematics + [
'InvM',
'mcPxCms',
'mcPyCms',
'mcPzCms',
'mcECms']
146 'DistanceCovMatrixXX',
147 'DistanceCovMatrixXY',
148 'DistanceCovMatrixXZ',
149 'DistanceCovMatrixYX',
150 'DistanceCovMatrixYY',
151 'DistanceCovMatrixYZ',
152 'DistanceCovMatrixZX',
153 'DistanceCovMatrixZY',
154 'DistanceCovMatrixZZ']
155 Distance_vars_sig = vu.create_aliases_for_selected(
156 list_of_variables=distance_vars,
157 decay_string=
'Upsilon(4S):sig -> B+:tag ^B-:sigT',
159 D_vars_tagside = vu.create_aliases_for_selected(
160 list_of_variables=common_vars,
161 decay_string=
'B+:tag -> ^anti-D0:kpi pi+:all',
163 U4S_vars_sig = vu.create_aliases_for_selected(
164 list_of_variables=common_vars + tube_vars + true_vars,
165 decay_string=
'Upsilon(4S):sig -> B+:tag ^B-:sigT',
167 U4S_vars_tag = vu.create_aliases_for_selected(
168 list_of_variables=common_vars + avf_vars + true_vars,
169 decay_string=
'Upsilon(4S):sig -> ^B+:tag B-:sigT',
171 U4S_vars = common_vars + U4S_vars_tag + U4S_vars_sig + D_vars_tagside + Distance_vars_sig
172 ma.variablesToNtuple(
'Upsilon(4S):sig', U4S_vars,
173 filename=output_file, treename=
'u4stree', path=my_path)
174 ma.variablesToNtuple(
'B+:tag', common_vars,
175 filename=output_file, treename=
'tagtree', path=my_path)
def require_file(filename, data_type="", py_case=None)
def clean_working_directory()
def safe_process(*args, **kwargs)