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()
81 stdc.stdPi(listtype=
'all', path=my_path)
82 stdc.stdPi(listtype=
'good', path=my_path)
83 stdc.stdK(listtype=
'all', path=my_path)
84 stdc.stdK(listtype=
'good', path=my_path)
85 stdc.stdMu(listtype=
'all', path=my_path)
86 stdc.stdMu(listtype=
'good', path=my_path)
88 ma.reconstructDecay(
'D0:kpi -> K-:good pi+:good',
'', path=my_path)
89 ma.matchMCTruth(
'D0:kpi', path=my_path)
90 ma.applyCuts(
'D0:kpi',
'abs(mcPDG)==421', path=my_path)
91 vx.raveFit(
'D0:kpi', 0.0, path=my_path)
93 ma.reconstructDecay(
'J/psi:mumu -> mu+:good mu-:good',
'', path=my_path)
94 vx.raveFit(
'J/psi:mumu', 0.0, path=my_path)
97 ma.reconstructDecay(
'B+:tag -> anti-D0:kpi pi+:all',
'', path=my_path)
98 ma.matchMCTruth(
'B+:tag', path=my_path)
99 ma.applyCuts(
'B+:tag',
'isSignalAcceptMissingNeutrino>0.5', path=my_path)
100 vx.raveFit(
'B+:tag', 0.0, path=my_path)
103 ma.reconstructDecay(
'B-:sigT -> J/psi:mumu K-:good pi+:good pi-:good',
'', path=my_path)
104 ma.matchMCTruth(
'B-:sigT', path=my_path)
105 ma.applyCuts(
'B-:sigT',
'abs(mcPDG)==521', path=my_path)
107 ma.reconstructDecay(
'Upsilon(4S):sig -> B+:tag B-:sigT',
'', path=my_path)
109 mytestmodule2 = b2.register_module(
'BtubeCreator')
110 my_path.add_module(mytestmodule2,
111 listName=
'Upsilon(4S):sig',
112 decayString=
'Upsilon(4S) -> ^B+ B-')
113 vx.raveFit(
'B-:sigT', 0.0, constraint=
'btube', path=my_path)
115 ma.calculateDistance(
'B-:sigT',
'B- -> ^J/psi K- pi+ pi-',
"vertexbtube", path=my_path)
117 output_file =
'test.root'
118 true_vars = [
'truex',
'truey',
'truez']
119 avf_vars = [
'avf00',
'avf01',
'avf02',
'avf10',
'avf11',
'avf12',
'avf20',
'avf21',
'avf22',
'avfPx',
'avfPy',
'avfPz',
'avfE']
137 common_vars = vc.kinematics + vc.vertex + vc.mc_vertex + vc.mc_truth + \
138 vc.mc_kinematics + [
'InvM',
'mcPxCms',
'mcPyCms',
'mcPzCms',
'mcECms']
145 'DistanceCovMatrixXX',
146 'DistanceCovMatrixXY',
147 'DistanceCovMatrixXZ',
148 'DistanceCovMatrixYX',
149 'DistanceCovMatrixYY',
150 'DistanceCovMatrixYZ',
151 'DistanceCovMatrixZX',
152 'DistanceCovMatrixZY',
153 'DistanceCovMatrixZZ']
154 Distance_vars_sig = vu.create_aliases_for_selected(
155 list_of_variables=distance_vars,
156 decay_string=
'Upsilon(4S):sig -> B+:tag ^B-:sigT',
158 D_vars_tagside = vu.create_aliases_for_selected(
159 list_of_variables=common_vars,
160 decay_string=
'B+:tag -> ^anti-D0:kpi pi+:all',
162 U4S_vars_sig = vu.create_aliases_for_selected(
163 list_of_variables=common_vars + tube_vars + true_vars,
164 decay_string=
'Upsilon(4S):sig -> B+:tag ^B-:sigT',
166 U4S_vars_tag = vu.create_aliases_for_selected(
167 list_of_variables=common_vars + avf_vars + true_vars,
168 decay_string=
'Upsilon(4S):sig -> ^B+:tag B-:sigT',
170 U4S_vars = common_vars + U4S_vars_tag + U4S_vars_sig + D_vars_tagside + Distance_vars_sig
171 ma.variablesToNtuple(
'Upsilon(4S):sig', U4S_vars,
172 filename=output_file, treename=
'u4stree', path=my_path)
173 ma.variablesToNtuple(
'B+:tag', common_vars,
174 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)