12Alternative version with stacked bars
17from pylab
import plt, savefig, show, subplot
19components = {
'Touschek_LER',
'Touschek_HER'}
22dose_data = {
'Touschek_HER': {
35 3: 33.624 * np.pi / 180,
53fileName =
'/data/belle2/BG/Feb2015/output/base_kekcc/base_touschek_histo.root'
54print(
'reading from file ', fileName)
56rootfile = TFile(fileName)
57tree = rootfile.Get(
'bSummary')
59nev = tree.GetEntries()
60for iev
in range(0, nev):
63 dose_data[str(tree.component)][tree.layer][tree.ladder - 1, tree.sensor - 1] = 100 * tree.dose
67component =
'Touschek_LER'
70 ladder_width = 2 * np.pi / layer_nladders[layer]
71 ladder_angles = np.linspace(layer_phi0[layer], layer_phi0[layer] + 2 * np.pi,
72 layer_nladders[layer], endpoint=
False)
73 bottoms = np.zeros(layer_nladders[layer])
74 ax = subplot(2, 2, layer - 2, polar=
True)
75 for sensor
in range(layer_nsensors[layer]):
78 dose_data[component][layer][:, sensor],
81 label=str(sensor + 1),
84 bottoms += dose_data[component][layer][:, sensor]
86 bar.set_facecolor(plt.cm.Paired(0.1 + 0.15 * sensor))
89 r_shift = 0.1 * max(bottoms)
90 for (i, r)
in zip(range(layer_nladders[layer]), bottoms):
101 for tick
in ax.yaxis.get_major_ticks():
102 tick.label.set_fontsize(7)
104 for tick
in ax.xaxis.get_major_ticks():
105 tick.label.set_fontsize(9)
107 fullscale = np.max(bottoms)
108 ax.set_ylim(-0.25 * fullscale, 1.2 * fullscale)
111 1.35 * np.max(bottoms),
118 ax.legend(title=
'Sensor', fontsize=9, bbox_to_anchor=(1.4, 0.5))
119 ax.set_title(
'Layer ' + str(layer), x=0.0, y=0.97)