22 def __init__(self, output_file, evtgen, check_eklm):
24 super(KLMK0LPlotModule, self).__init__()
28 self.check_eklm = check_eklm
30 self.output_file = ROOT.TFile(output_file,
'recreate')
31 contact =
'Kirill Chilikin (chilikin@lebedev.ru)'
33 self.hist_nkl = ROOT.TH1F(
'k0l_number',
34 'Number of KLM clusters per 1 MC particle',
36 self.hist_nkl.SetXTitle(
'KLM clusters')
37 self.hist_nkl.SetYTitle(
'Events')
38 functions = self.hist_nkl.GetListOfFunctions()
39 functions.Add(TNamed(
'Description',
'Number of KLM clusters per 1 MC particle'))
40 functions.Add(TNamed(
'Check',
'No efficiency decrease or multiple candidates \
42 functions.Add(TNamed(
'Contact', contact))
43 functions.Add(TNamed(
'MetaOptions',
'shifter'))
45 self.hist_xres = ROOT.TH1F(
'k0l_xres',
46 'KLM K0L decay vertex X resolution',
48 self.hist_xres.SetXTitle(
'cm')
49 self.hist_xres.SetYTitle(
'Events')
50 functions = self.hist_xres.GetListOfFunctions()
51 functions.Add(TNamed(
'Description',
'X resolution'))
52 functions.Add(TNamed(
'Check',
'No bias, resolution ~ 16 cm.'))
53 functions.Add(TNamed(
'Contact', contact))
54 functions.Add(TNamed(
'MetaOptions',
'shifter'))
56 self.hist_yres = ROOT.TH1F(
'k0l_yres',
57 'KLM K0L decay vertex Y resolution',
59 self.hist_yres.SetXTitle(
'cm')
60 self.hist_yres.SetYTitle(
'Events')
61 functions = self.hist_yres.GetListOfFunctions()
62 functions.Add(TNamed(
'Description',
'Y resolution'))
63 functions.Add(TNamed(
'Check',
'No bias, resolution ~ 16 cm.'))
64 functions.Add(TNamed(
'Contact', contact))
65 functions.Add(TNamed(
'MetaOptions',
'shifter'))
67 self.hist_zres = ROOT.TH1F(
'k0l_zres',
68 'KLM K0L decay vertex Z resolution',
70 self.hist_zres.SetXTitle(
'cm')
71 self.hist_zres.SetYTitle(
'Events')
72 functions = self.hist_zres.GetListOfFunctions()
73 functions.Add(TNamed(
'Description',
'Z resolution'))
74 functions.Add(TNamed(
'Check',
'No bias, resolution ~ 16 cm.'))
75 functions.Add(TNamed(
'Contact', contact))
76 functions.Add(TNamed(
'MetaOptions',
'shifter'))
78 self.hist_tres = ROOT.TH1F(
'k0l_tres',
79 'KLM K0L decay time resolution',
81 self.hist_tres.SetXTitle(
'ns')
82 self.hist_tres.SetYTitle(
'Events')
83 functions = self.hist_tres.GetListOfFunctions()
84 functions.Add(TNamed(
'Description',
'Time resolution'))
85 functions.Add(TNamed(
'Check',
'No bias.'))
86 functions.Add(TNamed(
'Contact', contact))
87 functions.Add(TNamed(
'MetaOptions',
'shifter'))
89 self.hist_pres = ROOT.TH1F(
'k0l_pres',
90 'KLM K0L momentum resolution',
92 self.hist_pres.SetXTitle(
'GeV')
93 self.hist_pres.SetYTitle(
'Events')
94 functions = self.hist_pres.GetListOfFunctions()
95 functions.Add(TNamed(
'Description',
'Momentum resolution'))
96 functions.Add(TNamed(
'Check',
'No bias.'))
97 functions.Add(TNamed(
'Contact', contact))
98 functions.Add(TNamed(
'MetaOptions',
'shifter'))
100 self.hist_ptres = ROOT.TH1F(
'k0l_ptres',
101 'KLM K0L momentum theta resolution',
103 self.hist_ptres.SetXTitle(
'rad')
104 self.hist_ptres.SetYTitle(
'Events')
105 functions = self.hist_ptres.GetListOfFunctions()
106 functions.Add(TNamed(
'Description',
'Momentum theta resolution'))
107 functions.Add(TNamed(
'Check',
'No bias, resolution ~ 0.06'))
108 functions.Add(TNamed(
'Contact', contact))
109 functions.Add(TNamed(
'MetaOptions',
'shifter'))
111 self.hist_ppres = ROOT.TH1F(
'k0l_ppres',
112 'KLM K0L momentum phi resolution',
114 self.hist_ppres.SetXTitle(
'rad')
115 self.hist_ppres.SetYTitle(
'Events')
116 functions = self.hist_ppres.GetListOfFunctions()
117 functions.Add(TNamed(
'Description',
'Momentum phi resolution'))
118 functions.Add(TNamed(
'Check',
'No bias, resolution ~ 0.07'))
119 functions.Add(TNamed(
'Contact', contact))
120 functions.Add(TNamed(
'MetaOptions',
'shifter'))
122 self.hist_covmat = ROOT.TH1F(
'k0l_covmat',
123 'KLM K0L coordinates covariance matrix',
125 self.hist_covmat.GetXaxis().SetBinLabel(1,
'xx')
126 self.hist_covmat.GetXaxis().SetBinLabel(2,
'xy')
127 self.hist_covmat.GetXaxis().SetBinLabel(3,
'xz')
128 self.hist_covmat.GetXaxis().SetBinLabel(4,
'yy')
129 self.hist_covmat.GetXaxis().SetBinLabel(5,
'yz')
130 self.hist_covmat.GetXaxis().SetBinLabel(6,
'zz')
131 self.hist_covmat.SetYTitle(
'Covariance, cm^{2}')
132 functions = self.hist_covmat.GetListOfFunctions()
133 functions.Add(TNamed(
'Description',
'Momentum phi resolution'))
134 functions.Add(TNamed(
'Check',
'No large off-diagonal elements.'))
135 functions.Add(TNamed(
'Contact', contact))
136 functions.Add(TNamed(
'MetaOptions',
'shifter'))
138 self.hist_corrmat = ROOT.TH1F(
'k0l_corrmat',
139 'KLM K0L correlation matrix',
141 self.hist_corrmat.GetXaxis().SetBinLabel(1,
'xx')
142 self.hist_corrmat.GetXaxis().SetBinLabel(2,
'xy')
143 self.hist_corrmat.GetXaxis().SetBinLabel(3,
'xz')
144 self.hist_corrmat.GetXaxis().SetBinLabel(4,
'xp')
145 self.hist_corrmat.GetXaxis().SetBinLabel(5,
'yy')
146 self.hist_corrmat.GetXaxis().SetBinLabel(6,
'yz')
147 self.hist_corrmat.GetXaxis().SetBinLabel(7,
'yp')
148 self.hist_corrmat.GetXaxis().SetBinLabel(8,
'zz')
149 self.hist_corrmat.GetXaxis().SetBinLabel(9,
'zp')
150 self.hist_corrmat.GetXaxis().SetBinLabel(10,
'pp')
151 self.hist_corrmat.SetYTitle(
'Correlation coefficient')
152 functions = self.hist_corrmat.GetListOfFunctions()
153 functions.Add(TNamed(
'Description',
'Momentum phi resolution'))
154 functions.Add(TNamed(
'Check',
'No large off-diagonal elements.'))
155 functions.Add(TNamed(
'Contact', contact))
156 functions.Add(TNamed(
'MetaOptions',
'shifter'))
158 self.vertex_k_av = ROOT.TVector3(0, 0, 0)