5 Created on Sun Feb 8 12:39:00 2015
6 Alternative version with stacked bars
11 from ROOT
import TFile, TTree, TObjArray
15 components = {
'Touschek_LER',
'Touschek_HER'}
18 dose_data = {
'Touschek_HER': {
31 3: 33.624 * np.pi / 180,
49 fileName =
'/data/belle2/BG/Feb2015/output/base_kekcc/base_touschek_histo.root'
50 print(
'reading from file ', fileName)
52 rootfile = TFile(fileName)
53 tree = rootfile.Get(
'bSummary')
55 nev = tree.GetEntries()
56 for iev
in range(0, nev):
59 dose_data[str(tree.component)][tree.layer][tree.ladder - 1, tree.sensor - 1] = 100 * tree.dose
63 component =
'Touschek_LER'
66 ladder_width = 2 * np.pi / layer_nladders[layer]
67 ladder_angles = np.linspace(layer_phi0[layer], layer_phi0[layer] + 2 * np.pi,
68 layer_nladders[layer], endpoint=
False)
69 bottoms = np.zeros(layer_nladders[layer])
70 ax = subplot(2, 2, layer - 2, polar=
True)
71 for sensor
in range(layer_nsensors[layer]):
74 dose_data[component][layer][:, sensor],
77 label=str(sensor + 1),
80 bottoms += dose_data[component][layer][:, sensor]
82 bar.set_facecolor(plt.cm.Paired(0.1 + 0.15 * sensor))
85 r_shift = 0.1 * max(bottoms)
86 for (i, r)
in zip(range(layer_nladders[layer]), bottoms):
97 for tick
in ax.yaxis.get_major_ticks():
98 tick.label.set_fontsize(7)
100 for tick
in ax.xaxis.get_major_ticks():
101 tick.label.set_fontsize(9)
103 fullscale = np.max(bottoms)
104 ax.set_ylim(-0.25 * fullscale, 1.2 * fullscale)
107 1.35 * np.max(bottoms),
114 ax.legend(title=
'Sensor', fontsize=9, bbox_to_anchor=(1.4, 0.5))
115 ax.set_title(
'Layer ' + str(layer), x=0.0, y=0.97)
117 savefig(
'layers.png')