Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
plot_BCAL_point_time.C
Go to the documentation of this file.
1 
2 // Plot the various histograms produced by the BCAL_point_time plugin
3 #include <stdio.h>
4 
5 
6 void plot_BCAL_point_time(string filename, string prefix = "05GeVgamma")
7 {
8  char plot_filename[255];
9 
10  gStyle->SetOptStat(0);
11 
12  TDirectory *main = gDirectory;
13 
14  TFile *_file0 = new TFile(filename.c_str());
15  TDirectory *dir = (TDirectory*)gDirectory->FindObjectAny("bcalpointtime");
16  if(dir) dir->cd();
17 
18  TCanvas *canvas_point_NormVsZ = new TCanvas("canvas_point_NormVsZ","canvas_point_NormVsZ");
19  gPad->SetGridx();
20  gPad->SetGridy();
21  TH1I *point_NormVsZ_layer1 = (TH1I*)gDirectory->FindObjectAny("point_NormVsZ_layer1");
22  TH1I *point_NormVsZ_layer2 = (TH1I*)gDirectory->FindObjectAny("point_NormVsZ_layer2");
23  TH1I *point_NormVsZ_layer3 = (TH1I*)gDirectory->FindObjectAny("point_NormVsZ_layer3");
24  TH1I *point_NormVsZ_layer4 = (TH1I*)gDirectory->FindObjectAny("point_NormVsZ_layer4");
25  // TH1I *thrown_NVsZ = (TH1I*)gDirectory->FindObjectAny("thrown_NVsZ");
26  point_NormVsZ_layer2->Draw();
27  point_NormVsZ_layer1->Draw("same");
28  point_NormVsZ_layer3->Draw("same");
29  point_NormVsZ_layer4->Draw("same");
30  //thrown_NVsZ->Draw("same");
31  TLegend *leg = new TLegend(0.85,0.8,0.99,0.99);
32  leg->AddEntry(point_NormVsZ_layer1,"Layer 1");
33  leg->AddEntry(point_NormVsZ_layer2,"Layer 2");
34  leg->AddEntry(point_NormVsZ_layer3,"Layer 3");
35  leg->AddEntry(point_NormVsZ_layer4,"Layer 4");
36  leg->Draw();
37  sprintf(plot_filename,"plots/point_NormVsZ_%s.png",prefix.c_str());
38  canvas_point_NormVsZ->Print(plot_filename);
39  sprintf(plot_filename,"plots/point_NormVsZ_%s.pdf",prefix.c_str());
40  canvas_point_NormVsZ->Print(plot_filename);
41 
42  TCanvas *canvas_point_NormVsTheta = new TCanvas("canvas_point_NormVsTheta","canvas_point_NormVsTheta");
43  gPad->SetGridx();
44  gPad->SetGridy();
45  TH1I *point_NormVsTheta_layer1 = (TH1I*)gDirectory->FindObjectAny("point_NormVsTheta_layer1");
46  TH1I *point_NormVsTheta_layer2 = (TH1I*)gDirectory->FindObjectAny("point_NormVsTheta_layer2");
47  TH1I *point_NormVsTheta_layer3 = (TH1I*)gDirectory->FindObjectAny("point_NormVsTheta_layer3");
48  TH1I *point_NormVsTheta_layer4 = (TH1I*)gDirectory->FindObjectAny("point_NormVsTheta_layer4");
49  // TH1I *thrown_NVsTheta = (TH1I*)gDirectory->FindObjectAny("thrown_NVsTheta");
50  point_NormVsTheta_layer2->Draw();
51  point_NormVsTheta_layer1->Draw("same");
52  point_NormVsTheta_layer3->Draw("same");
53  point_NormVsTheta_layer4->Draw("same");
54  //thrown_NVsTheta->Draw("same");
55  leg = new TLegend(0.85,0.8,0.99,0.99);
56  leg->AddEntry(point_NormVsTheta_layer1,"Layer 1");
57  leg->AddEntry(point_NormVsTheta_layer2,"Layer 2");
58  leg->AddEntry(point_NormVsTheta_layer3,"Layer 3");
59  leg->AddEntry(point_NormVsTheta_layer4,"Layer 4");
60  leg->Draw();
61  sprintf(plot_filename,"plots/point_NormVsTheta_%s.png",prefix.c_str());
62  canvas_point_NormVsTheta->Print(plot_filename);
63  sprintf(plot_filename,"plots/point_NormVsTheta_%s.pdf",prefix.c_str());
64  canvas_point_NormVsTheta->Print(plot_filename);
65 
66  TCanvas *canvas_point_TimeVsZ = new TCanvas("canvas_point_TimeVsZ","canvas_point_TimeVsZ");
67  gPad->SetGridx();
68  gPad->SetGridy();
69  TH1I *point_TimeVsZ_layer1_prof = (TH1I*)gDirectory->FindObjectAny("point_TimeVsZ_layer1_prof");
70  TH1I *point_TimeVsZ_layer2_prof = (TH1I*)gDirectory->FindObjectAny("point_TimeVsZ_layer2_prof");
71  TH1I *point_TimeVsZ_layer3_prof = (TH1I*)gDirectory->FindObjectAny("point_TimeVsZ_layer3_prof");
72  TH1I *point_TimeVsZ_layer4_prof = (TH1I*)gDirectory->FindObjectAny("point_TimeVsZ_layer4_prof");
73  point_TimeVsZ_layer1_prof->Draw();
74  point_TimeVsZ_layer2_prof->Draw("same");
75  point_TimeVsZ_layer3_prof->Draw("same");
76  point_TimeVsZ_layer4_prof->Draw("same");
77  leg = new TLegend(0.85,0.8,0.99,0.99);
78  leg->AddEntry(point_TimeVsZ_layer1_prof,"Layer 1");
79  leg->AddEntry(point_TimeVsZ_layer2_prof,"Layer 2");
80  leg->AddEntry(point_TimeVsZ_layer3_prof,"Layer 3");
81  leg->AddEntry(point_TimeVsZ_layer4_prof,"Layer 4");
82  leg->Draw();
83  sprintf(plot_filename,"plots/point_TimeVsZ_prof_%s.png",prefix.c_str());
84  canvas_point_TimeVsZ->Print(plot_filename);
85  sprintf(plot_filename,"plots/point_TimeVsZ_prof_%s.pdf",prefix.c_str());
86  canvas_point_TimeVsZ->Print(plot_filename);
87 
88  TCanvas *canvas_hit_TimeVsZ = new TCanvas("canvas_hit_TimeVsZ","canvas_hit_TimeVsZ");
89  gPad->SetGridx();
90  gPad->SetGridy();
91  TH1I *hitus_TimeVsZ_layer1_prof = (TH1I*)gDirectory->FindObjectAny("hitus_TimeVsZ_layer1_prof");
92  TH1I *hitus_TimeVsZ_layer2_prof = (TH1I*)gDirectory->FindObjectAny("hitus_TimeVsZ_layer2_prof");
93  TH1I *hitus_TimeVsZ_layer3_prof = (TH1I*)gDirectory->FindObjectAny("hitus_TimeVsZ_layer3_prof");
94  TH1I *hitus_TimeVsZ_layer4_prof = (TH1I*)gDirectory->FindObjectAny("hitus_TimeVsZ_layer4_prof");
95  hitus_TimeVsZ_layer1_prof->Draw();
96  hitus_TimeVsZ_layer2_prof->Draw("same");
97  hitus_TimeVsZ_layer3_prof->Draw("same");
98  hitus_TimeVsZ_layer4_prof->Draw("same");
99  TH1I *hitds_TimeVsZ_layer1_prof = (TH1I*)gDirectory->FindObjectAny("hitds_TimeVsZ_layer1_prof");
100  TH1I *hitds_TimeVsZ_layer2_prof = (TH1I*)gDirectory->FindObjectAny("hitds_TimeVsZ_layer2_prof");
101  TH1I *hitds_TimeVsZ_layer3_prof = (TH1I*)gDirectory->FindObjectAny("hitds_TimeVsZ_layer3_prof");
102  TH1I *hitds_TimeVsZ_layer4_prof = (TH1I*)gDirectory->FindObjectAny("hitds_TimeVsZ_layer4_prof");
103  hitds_TimeVsZ_layer1_prof->Draw("same");
104  hitds_TimeVsZ_layer2_prof->Draw("same");
105  hitds_TimeVsZ_layer3_prof->Draw("same");
106  hitds_TimeVsZ_layer4_prof->Draw("same");
107  leg->Draw();
108  sprintf(plot_filename,"plots/hit_TimeVsZ_prof_%s.png",prefix.c_str());
109  canvas_hit_TimeVsZ->Print(plot_filename);
110  sprintf(plot_filename,"plots/hit_TimeVsZ_prof_%s.pdf",prefix.c_str());
111  canvas_hit_TimeVsZ->Print(plot_filename);
112 
113  TCanvas *canvas_hit_TimediffVsZ = new TCanvas("canvas_TimediffVsZ","canvas_TimediffVsZ");
114  gPad->SetGridx();
115  gPad->SetGridy();
116  TH1I *hit_TimediffVsZ_layer1_prof = (TH1I*)gDirectory->FindObjectAny("hit_TimediffVsZ_layer1_prof");
117  TH1I *hit_TimediffVsZ_layer2_prof = (TH1I*)gDirectory->FindObjectAny("hit_TimediffVsZ_layer2_prof");
118  TH1I *hit_TimediffVsZ_layer3_prof = (TH1I*)gDirectory->FindObjectAny("hit_TimediffVsZ_layer3_prof");
119  TH1I *hit_TimediffVsZ_layer4_prof = (TH1I*)gDirectory->FindObjectAny("hit_TimediffVsZ_layer4_prof");
120  hit_TimediffVsZ_layer1_prof->Draw();
121  hit_TimediffVsZ_layer2_prof->Draw("same");
122  hit_TimediffVsZ_layer3_prof->Draw("same");
123  hit_TimediffVsZ_layer4_prof->Draw("same");
124  leg->Draw();
125  sprintf(plot_filename,"plots/hit_TimediffVsZ_prof_%s.png",prefix.c_str());
126  canvas_hit_TimediffVsZ->Print(plot_filename);
127  sprintf(plot_filename,"plots/hit_TimediffVsZ_prof_%s.pdf",prefix.c_str());
128  canvas_hit_TimediffVsZ->Print(plot_filename);
129 
130  TCanvas *canvas_hit_TimesumVsZ = new TCanvas("canvas_hit_TimesumVsZ","canvas_hit_TimesumVsZ");
131  gPad->SetGridx();
132  gPad->SetGridy();
133  TH1I *hit_TimesumVsZ_layer1_prof = (TH1I*)gDirectory->FindObjectAny("hit_TimesumVsZ_layer1_prof");
134  TH1I *hit_TimesumVsZ_layer2_prof = (TH1I*)gDirectory->FindObjectAny("hit_TimesumVsZ_layer2_prof");
135  TH1I *hit_TimesumVsZ_layer3_prof = (TH1I*)gDirectory->FindObjectAny("hit_TimesumVsZ_layer3_prof");
136  TH1I *hit_TimesumVsZ_layer4_prof = (TH1I*)gDirectory->FindObjectAny("hit_TimesumVsZ_layer4_prof");
137  hit_TimesumVsZ_layer4_prof->Draw();
138  hit_TimesumVsZ_layer4_prof->SetMinimum(hit_TimesumVsZ_layer4_prof->GetMinimum(0.01)-1);
139  hit_TimesumVsZ_layer1_prof->Draw("same");
140  hit_TimesumVsZ_layer2_prof->Draw("same");
141  hit_TimesumVsZ_layer3_prof->Draw("same");
142  leg->Draw();
143  sprintf(plot_filename,"plots/hit_TimesumVsZ_prof_%s.png",prefix.c_str());
144  canvas_hit_TimesumVsZ->Print(plot_filename);
145  sprintf(plot_filename,"plots/hit_TimesumVsZ_prof_%s.pdf",prefix.c_str());
146  canvas_hit_TimesumVsZ->Print(plot_filename);
147 
148 
149  TCanvas *canvashit_TimeVsZ_scat = new TCanvas("canvashit_TimeVsZ_scat","canvashit_TimeVsZ_scat",800,1000);
150  TH1I *hitus_TimeVsZ_layer1 = (TH1I*)gDirectory->FindObjectAny("hitus_TimeVsZ_layer1");
151  TH1I *hitus_TimeVsZ_layer2 = (TH1I*)gDirectory->FindObjectAny("hitus_TimeVsZ_layer2");
152  TH1I *hitus_TimeVsZ_layer3 = (TH1I*)gDirectory->FindObjectAny("hitus_TimeVsZ_layer3");
153  TH1I *hitus_TimeVsZ_layer4 = (TH1I*)gDirectory->FindObjectAny("hitus_TimeVsZ_layer4");
154  TH1I *hitds_TimeVsZ_layer1 = (TH1I*)gDirectory->FindObjectAny("hitds_TimeVsZ_layer1");
155  TH1I *hitds_TimeVsZ_layer2 = (TH1I*)gDirectory->FindObjectAny("hitds_TimeVsZ_layer2");
156  TH1I *hitds_TimeVsZ_layer3 = (TH1I*)gDirectory->FindObjectAny("hitds_TimeVsZ_layer3");
157  TH1I *hitds_TimeVsZ_layer4 = (TH1I*)gDirectory->FindObjectAny("hitds_TimeVsZ_layer4");
158  canvashit_TimeVsZ_scat->Divide(2,4,0.001,0.001);
159  canvashit_TimeVsZ_scat->cd(1);
160  hitus_TimeVsZ_layer1->Draw("colz");
161  canvashit_TimeVsZ_scat->cd(2);
162  hitus_TimeVsZ_layer2->Draw("colz");
163  canvashit_TimeVsZ_scat->cd(3);
164  hitus_TimeVsZ_layer3->Draw("colz");
165  canvashit_TimeVsZ_scat->cd(4);
166  hitus_TimeVsZ_layer4->Draw("colz");
167  canvashit_TimeVsZ_scat->cd(5);
168  hitds_TimeVsZ_layer1->Draw("colz");
169  canvashit_TimeVsZ_scat->cd(6);
170  hitds_TimeVsZ_layer2->Draw("colz");
171  canvashit_TimeVsZ_scat->cd(7);
172  hitds_TimeVsZ_layer3->Draw("colz");
173  canvashit_TimeVsZ_scat->cd(8);
174  hitds_TimeVsZ_layer4->Draw("colz");
175  sprintf(plot_filename,"plots/hit_TimeVsZ_%s.png",prefix.c_str());
176  canvashit_TimeVsZ_scat->Print(plot_filename);
177  sprintf(plot_filename,"plots/hit_TimeVsZ_%s.pdf",prefix.c_str());
178  canvashit_TimeVsZ_scat->Print(plot_filename);
179 
180 
181  TCanvas *canvas_hit_TimediffVsZ_scat = new TCanvas("canvas_hit_TimediffVsZ_scat","canvas_hit_TimediffVsZ_scat",800,600);
182  TH1I *hit_TimediffVsZ_layer1 = (TH1I*)gDirectory->FindObjectAny("hit_TimediffVsZ_layer1");
183  TH1I *hit_TimediffVsZ_layer2 = (TH1I*)gDirectory->FindObjectAny("hit_TimediffVsZ_layer2");
184  TH1I *hit_TimediffVsZ_layer3 = (TH1I*)gDirectory->FindObjectAny("hit_TimediffVsZ_layer3");
185  TH1I *hit_TimediffVsZ_layer4 = (TH1I*)gDirectory->FindObjectAny("hit_TimediffVsZ_layer4");
186  canvas_hit_TimediffVsZ_scat->Divide(2,2,0.001,0.001);
187  canvas_hit_TimediffVsZ_scat->cd(1);
188  hit_TimediffVsZ_layer1->Draw("colz");
189  canvas_hit_TimediffVsZ_scat->cd(2);
190  hit_TimediffVsZ_layer2->Draw("colz");
191  canvas_hit_TimediffVsZ_scat->cd(3);
192  hit_TimediffVsZ_layer3->Draw("colz");
193  canvas_hit_TimediffVsZ_scat->cd(4);
194  hit_TimediffVsZ_layer4->Draw("colz");
195  sprintf(plot_filename,"plots/hit_TimediffVsZ_%s.png",prefix.c_str());
196  canvas_hit_TimediffVsZ_scat->Print(plot_filename);
197  sprintf(plot_filename,"plots/hit_TimediffVsZ_%s.pdf",prefix.c_str());
198  canvas_hit_TimediffVsZ_scat->Print(plot_filename);
199 
200  TCanvas *canvas_hit_TimesumVsZ_scat = new TCanvas("canvas_hit_TimesumVsZ_scat","canvas_hit_TimesumVsZ_scat",800,600);
201  TH1I *hit_TimesumVsZ_layer1 = (TH1I*)gDirectory->FindObjectAny("hit_TimesumVsZ_layer1");
202  TH1I *hit_TimesumVsZ_layer2 = (TH1I*)gDirectory->FindObjectAny("hit_TimesumVsZ_layer2");
203  TH1I *hit_TimesumVsZ_layer3 = (TH1I*)gDirectory->FindObjectAny("hit_TimesumVsZ_layer3");
204  TH1I *hit_TimesumVsZ_layer4 = (TH1I*)gDirectory->FindObjectAny("hit_TimesumVsZ_layer4");
205  canvas_hit_TimesumVsZ_scat->Divide(2,2,0.001,0.001);
206  canvas_hit_TimesumVsZ_scat->cd(1);
207  hit_TimesumVsZ_layer1->Draw("colz");
208  canvas_hit_TimesumVsZ_scat->cd(2);
209  hit_TimesumVsZ_layer2->Draw("colz");
210  canvas_hit_TimesumVsZ_scat->cd(3);
211  hit_TimesumVsZ_layer3->Draw("colz");
212  canvas_hit_TimesumVsZ_scat->cd(4);
213  hit_TimesumVsZ_layer4->Draw("colz");
214  sprintf(plot_filename,"plots/hit_TimesumVsZ_%s.png",prefix.c_str());
215  canvas_hit_TimesumVsZ_scat->Print(plot_filename);
216  sprintf(plot_filename,"plots/hit_TimesumVsZ_%s.pdf",prefix.c_str());
217  canvas_hit_TimesumVsZ_scat->Print(plot_filename);
218 
219 
220  // back to main dir
221  main->cd();
222 
223 }
sprintf(text,"Post KinFit Cut")
TString filename
void plot_BCAL_point_time(string filename, string prefix="05GeVgamma")
TLegend * leg
Definition: DIRC_digihit.C:58
TDirectory * dir
Definition: bcal_hist_eff.C:31
int main(int argc, char *argv[])
Definition: gendoc.cc:6