6 <input>SVDValidationTTreeTrueHit.root</input>
7 <input>SVDValidationTTreeCluster.root</input>
8 <output>SVDClusterPerformance.root</output>
10 Validation plots related to cluster performance.
13 SVD Software Group, svd-software@belle2.org
18 from plotUtils
import *
20 inputTH = R.TFile.Open(
"../SVDValidationTTreeTrueHit.root")
21 inputC = R.TFile.Open(
"../SVDValidationTTreeCluster.root")
23 treeTH = inputTH.Get(
"tree")
24 treeC = inputC.Get(
"tree")
26 histsCP = R.TFile.Open(
"SVDClusterPerformance.root",
"recreate")
35 x_label=
'Cluster time (ns)',
39 expr=
'cluster_clsTime',
41 descr=
'Reconstructed time of the cluster for all clusters related to one TrueHit.',
42 check=
'Distribution peak between -20 and 20 ns.',
47 name=
'PositionResidual',
48 title=
'Cluster position residual',
52 x_label=
'Cluster position residual (cm)',
56 expr=
'cluster_position - truehit_position',
58 descr=
'Definition: (reconstructed position of the cluster) - (position of the TrueHit).',
59 check=
'Distribution peak around 0.',
64 name=
'PositionResidual_size1',
65 title=
'Cluster position residual for one strip',
69 x_label=
'Cluster position residual (cm)',
73 expr=
'cluster_position - truehit_position',
75 descr=
'Definition: (reconstructed position of the cluster) - (position of the TrueHit).',
76 check=
'Distribution peak around 0.',
81 name=
'PositionResidual_size2',
82 title=
'Cluster position residual for two strips',
86 x_label=
'Cluster position residual (cm)',
90 expr=
'cluster_position - truehit_position',
92 descr=
'Definition: (reconstructed position of the cluster) - (position of the TrueHit).',
93 check=
'Distribution peak around 0.',
98 name=
'PositionResidual_size3plus',
99 title=
'Cluster position residual for 3 or more strips',
103 x_label=
'Cluster position residual (cm)',
107 expr=
'cluster_position - truehit_position',
109 descr=
'Definition: (reconstructed position of the cluster) - (position of the TrueHit).',
110 check=
'Distribution peak around 0.',
116 title=
'Cluster position pull',
120 x_label=
'Cluster position pull',
124 expr=
'(cluster_position - truehit_position)/cluster_positionSigma',
126 descr=
'Definition: (cluster_position - truehit_position)/cluster_positionSigma.',
127 check=
'Distribution peaks around 0 with RMS less than 2.0.',
132 name=
'PositionPull_size1',
133 title=
'Cluster position pull for one strip',
137 x_label=
'Cluster position pull',
141 expr=
'(cluster_position - truehit_position)/cluster_positionSigma',
143 descr=
'Definition: (cluster_position - truehit_position)/cluster_positionSigma.',
144 check=
'Distribution peaks around 0 with RMS less than 2.0.',
149 name=
'PositionPull_size2',
150 title=
'Cluster position pull for two strip',
154 x_label=
'Cluster position pull',
158 expr=
'(cluster_position - truehit_position)/cluster_positionSigma',
160 descr=
'Definition: (cluster_position - truehit_position)/cluster_positionSigma.',
161 check=
'Distribution peaks around 0 with RMS less than 2.0.',
166 name=
'PositionPull_size3plus',
167 title=
'Cluster position pull for 3 or more strips',
171 x_label=
'Cluster position pull',
175 expr=
'(cluster_position - truehit_position)/cluster_positionSigma',
177 descr=
'Definition: (cluster_position - truehit_position)/cluster_positionSigma.',
178 check=
'Distribution peaks around 0 with RMS less than 2.0.',
183 name=
'TimeResolution',
184 title=
'Cluster time resolution',
188 x_label=
'Cluster time resolution (ns)',
192 expr=
'cluster_clsTime - truehit_time',
194 descr=
'Definition: (reconstructed time of the cluster) - (time of the TrueHit)\
195 for all clusters related to one TrueHit.',
196 check=
'Distribution between -20 and 20 ns.',
201 name=
'ClusterCharge',
202 title=
'Cluster charge',
206 x_label=
'Cluster charge (# of electrons)',
210 expr=
'cluster_charge',
212 descr=
'Reconstructed charge of the cluster related to one TrueHit.',
213 check=
'Distribution peaks around 20-40 ke.',
218 title=
'Cluster Signal/Noise ratio',
222 x_label=
'Cluster charge (# of electrons)',
228 descr=
'Signal/Noise ratio of the cluster related to one TrueHit.',
229 check=
'Distribution peaks around 20.',
233 name=
'InterstripPosition',
234 title=
'Interstrip position',
238 x_label=
'Interstrip Position',
242 expr=
'cluster_interstripPosition',
244 descr=
'Definition: (cluster_position % strip_pitch / strip_pitch)',
250 title=
'Cluster size',
254 x_label=
'Cluster size (# of strips in cluster)',
260 descr=
'Number of strips in the Cluster related to one TrueHit.',
261 check=
'Distribution peaks in range 2-3.',
265 name=
'ClusterizationEfficiency_U',
266 title=
'Efficiency of clusterization for U side',
267 x_label=
'SVD regions',
268 y_label=
'Efficiency',
269 granules=granulesLayersTypes,
274 descr=
'(number of clusters related to TrueHit) / (number of Truehits)',
275 check=
'Efficiency should be close to 1 in all bins.',
280 name=
'ClusterizationEfficiency_V',
281 title=
'Efficiency of clusterization for V side',
282 x_label=
'SVD regions',
283 y_label=
'Efficiency',
284 granules=granulesLayersTypes,
289 descr=
'(number of clusters related to TrueHit) / (number of Truehits)',
290 check=
'Efficiency should be close to 1 in all bins.',
295 name=
'ClusterizationPurity_U',
296 title=
'Purity of clusterization for U side',
297 x_label=
'SVD regions',
299 granules=granulesLayersTypes,
304 descr=
'(number of clusters related to one TrueHit) / (number of clusters).\
305 Evaluates the fraction of signal cluster over the total number of clusters.',
306 check=
'Purity should be above 0 in all bins.',
311 name=
'ClusterizationPurity_V',
312 title=
'Purity of clusterization for V side',
313 x_label=
'SVD regions',
315 granules=granulesLayersTypes,
320 descr=
'(number of clusters related to one TrueHit) / (number of clusters).\
321 Evaluates the fraction of signal cluster over the total number of clusters.',
322 check=
'Purity should be above 0 in all bins.',