Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ST_Monitoring_ADC.C
Go to the documentation of this file.
1 // File: ST_Monitoring_1.C
2 // Created: 05/17/2015
3 // Creator: Mahmoud Kamel, mkame006@fiu.edu
4 // Purpose: Displaying histograms for online monitoring purposes
5 {
6  // Define the directory that contains the histograms
7  TDirectory *dir = (TDirectory*)gDirectory->FindObjectAny("st_lowlevel");
8  if(dir) dir->cd();
9  // Grab Raw ADC object histograms
10  TH2I *h2_raw_pi_sector = (TH2I*)gDirectory->FindObjectAny("h2_raw_pi_sector");
11  TH2I *h2_raw_ped_sector = (TH2I*)gDirectory->FindObjectAny("h2_raw_ped_sector");
12  TH2I *h2_raw_pt_sector = (TH2I*)gDirectory->FindObjectAny("h2_raw_pt_sector");
13 
14  //Grab Offset applied ADC histograms
15 
16  TH2I *h2_adc_pcpi_sector = (TH2I*)gDirectory->FindObjectAny("h2_adc_pcpi_sector");
17  TH2I *h2_adc_pt_sector = (TH2I*)gDirectory->FindObjectAny("h2_adc_pt_sector");
18  TH2I *h2_adc_ped_sector = (TH2I*)gDirectory->FindObjectAny("h2_adc_ped_sector");
19  TH2I *h2_adc_pp_sector = (TH2I*)gDirectory->FindObjectAny("h2_adc_pp_sector");
20  TH2I *h2_st_time_vs_pcpi= (TH2I*)gDirectory->FindObjectAny("h2_st_time_vs_pcpi");
21  TH2I *h2_st_time_vs_pp= (TH2I*)gDirectory->FindObjectAny("h2_st_time_vs_pp");
22  //Create the canvas
23  if(gPad == NULL)
24  {
25  TCanvas *c1 = new TCanvas("c1","Start Counter ADC Histograms 1 (None offset)", 200, 10, 600, 480);
26  c1->cd(0);
27  c1->Draw();
28  c1->Update();
29  }
30  if(!gPad) return;
31  TCanvas *c1 = gPad->GetCanvas();
32  c1->Divide(3,2);
33  //TDC time when there is a hit in adc
34  c1->cd(1);
35  gStyle->SetOptStat(10);
36  gPad->SetTicks();
37  gPad->SetGrid();
38  if (h2_raw_pi_sector) h2_raw_pi_sector->Draw("colz");
39  h2_raw_pi_sector->SetLabelSize(0.025,"Y");
40  h2_raw_pi_sector->GetXaxis()->CenterTitle();
41  h2_raw_pi_sector->GetYaxis()->CenterTitle();
42  //t_tdc from hit object
43  h2_raw_pi_sector->GetYaxis()->SetTitleOffset(1.5);
44  gPad->SetLogz();
45  c1->cd(2);
46  gStyle->SetOptStat(10);
47  gPad->SetTicks();
48  gPad->SetGrid();
49  if (h2_adc_ped_sector) h2_adc_ped_sector->Draw("colz");
50  h2_adc_ped_sector->GetXaxis()->CenterTitle();
51  h2_adc_ped_sector->GetYaxis()->CenterTitle();
52  h2_adc_ped_sector->GetYaxis()->SetTitleOffset(1.6);
53  gPad->SetLogz();
54  // t from hit object (tdc time walk corrected)
55  c1->cd(3);
56  gPad->SetTicks();
57  gPad->SetGrid();
58  if (h2_raw_pt_sector) h2_raw_pt_sector->Draw("colz");
59  h2_raw_pt_sector->GetXaxis()->CenterTitle();
60  h2_raw_pt_sector->GetYaxis()->CenterTitle();
61  h2_raw_pt_sector->GetYaxis()->SetTitleOffset(1.55);
62  gPad->SetLogz();
63  c1->cd(4);
64  gStyle->SetOptStat(10);
65  gPad->SetTicks();
66  gPad->SetGrid();
67  TH1D *h_pi = h2_raw_pi_sector->ProjectionY();
68  h_pi->Draw();
69  h_pi->GetXaxis()->CenterTitle();
70  h_pi->GetYaxis()->CenterTitle();
71  c1->cd(5);
72  gStyle->SetOptStat(10);
73  gPad->SetTicks();
74  gPad->SetGrid();
75  TH1D *h_adc_ped = h2_adc_ped_sector->ProjectionY();
76  h_adc_ped->Draw();
77  h_adc_ped->GetXaxis()->CenterTitle();
78  h_adc_ped->GetYaxis()->CenterTitle();
79 
80  c1->cd(6);
81  gStyle->SetOptStat(10);
82  gPad->SetTicks();
83  gPad->SetGrid();
84  TH1D *h_pt = h2_raw_pt_sector->ProjectionY();
85  h_pt->Draw();
86  h_pt->GetXaxis()->CenterTitle();
87  h_pt->GetYaxis()->CenterTitle();
88 
89  //Create the canvas = 2
90  TCanvas *c2 = new TCanvas("c2","Start Counter ADC Histograms 2(offsets applied)", 200, 10, 600, 480);
91  c2->cd(1);
92  c2->Draw();
93  c2->Update();
94  if(!gPad) return;
95  c2 = gPad->GetCanvas();
96  c2->Divide(3,2);
97  // t_adc from hit object
98  c2->cd(1);
99  gStyle->SetOptStat(10);
100  gPad->SetTicks();
101  gPad->SetGrid();
102  if (h2_adc_pcpi_sector) h2_adc_pcpi_sector->Draw("colz");
103  h2_adc_pcpi_sector->GetXaxis()->CenterTitle();
104  h2_adc_pcpi_sector->GetYaxis()->CenterTitle();
105  h2_adc_pcpi_sector->GetYaxis()->SetTitleOffset(1.5);
106  h2_adc_pcpi_sector->SetLabelSize(0.03,"Y");
107  gPad->SetLogz();
108  // Energy loss from hit object
109  c2->cd(2);
110  gPad->SetTicks();
111  gPad->SetGrid();
112  if (h2_raw_ped_sector) h2_raw_ped_sector->Draw("colz");
113  h2_raw_ped_sector->GetYaxis()->SetTitleOffset(1.5);
114  h2_raw_ped_sector->GetXaxis()->CenterTitle();
115  h2_raw_ped_sector->GetYaxis()->CenterTitle();
116  gPad->SetLogz();
117  c2->cd(3);
118  gStyle->SetOptStat(10);
119  gPad->SetTicks();
120  gPad->SetGrid();
121  if (h2_adc_pt_sector) h2_adc_pt_sector->Draw("colz");
122  h2_adc_pt_sector->GetXaxis()->CenterTitle();
123  h2_adc_pt_sector->GetYaxis()->CenterTitle();
124  gPad->SetLogz();
125  c2->cd(4);
126  gStyle->SetOptStat(10);
127  gPad->SetTicks();
128  gPad->SetGrid();
129  TH1D *h_adc_pcpi = h2_adc_pcpi_sector->ProjectionY();
130  h_adc_pcpi->Draw();
131  h_adc_pcpi->GetXaxis()->CenterTitle();
132  h_adc_pcpi->GetYaxis()->CenterTitle();
133  c2->cd(5);
134  gPad->SetTicks();
135  gPad->SetGrid();
136  TH1D *h_ped = h2_raw_ped_sector->ProjectionY();
137  h_ped->Draw();
138  h_ped->GetXaxis()->CenterTitle();
139  h_ped->GetYaxis()->CenterTitle();
140  c2->cd(6);
141  gStyle->SetOptStat(10);
142  gPad->SetTicks();
143  gPad->SetGrid();
144  TH1D *h_adc_pt = h2_adc_pt_sector->ProjectionY();
145  h_adc_pt->Draw();
146  h_adc_pt->GetXaxis()->CenterTitle();
147  h_adc_pt->GetYaxis()->CenterTitle();
148 
149  //Create the canvas = 3
150  TCanvas *c3 = new TCanvas("c3","Start Counter ADC Histograms 3", 200, 10, 600, 480);
151  c3->cd(1);
152  c3->Draw();
153  c3->Update();
154  if(!gPad) return;
155  c3 = gPad->GetCanvas();
156  c3->Divide(3,2);
157  // t_adc from hit object
158  c3->cd(1);
159  gStyle->SetOptStat(10);
160  gPad->SetTicks();
161  gPad->SetGrid();
162  if (h2_adc_pp_sector) h2_adc_pp_sector->Draw("colz");
163  h2_adc_pp_sector->GetXaxis()->CenterTitle();
164  h2_adc_pp_sector->GetYaxis()->CenterTitle();
165  h2_adc_pp_sector->GetYaxis()->SetTitleOffset(1.5);
166  gPad->SetLogz();
167  c3->cd(2);
168  gStyle->SetOptStat(10);
169  gPad->SetTicks();
170  gPad->SetGrid();
171  if (h2_st_time_vs_pp) h2_st_time_vs_pp->Draw("colz");
172  h2_st_time_vs_pp->GetXaxis()->CenterTitle();
173  h2_st_time_vs_pp->GetYaxis()->CenterTitle();
174  h2_st_time_vs_pp->GetYaxis()->SetTitleOffset(1.4);
175  gPad->SetLogz();
176  c3->cd(3);
177  gStyle->SetOptStat(10);
178  gPad->SetTicks();
179  gPad->SetGrid();
180  if (h2_st_time_vs_pcpi) h2_st_time_vs_pcpi->Draw("colz");
181  h2_st_time_vs_pcpi->GetXaxis()->CenterTitle();
182  h2_st_time_vs_pcpi->GetYaxis()->CenterTitle();
183  gPad->SetLogz();
184  c3->cd(4);
185  gStyle->SetOptStat(10);
186  gPad->SetTicks();
187  gPad->SetGrid();
188  TH1D *h_adc_pp = h2_adc_pp_sector->ProjectionY();
189  h_adc_pp->Draw();
190  h_adc_pp->GetXaxis()->CenterTitle();
191  h_adc_pp->GetYaxis()->CenterTitle();
192  c3->cd(5);
193  gStyle->SetOptStat(10);
194  gPad->SetTicks();
195  gPad->SetGrid();
196  TH1D *h_adc_delta_t = h2_st_time_vs_pp->ProjectionY();
197  h_adc_delta_t->Draw();
198  h_adc_delta_t->GetXaxis()->CenterTitle();
199  h_adc_delta_t->GetYaxis()->CenterTitle();
200  c3->cd(6);
201  gStyle->SetOptStat(10);
202  gPad->SetTicks();
203  gPad->SetGrid();
204  TH1D *h_pcpi = h2_st_time_vs_pcpi->ProjectionX();
205  h_pcpi->Draw();
206  h_pcpi->GetXaxis()->CenterTitle();
207  h_pcpi->GetYaxis()->CenterTitle();
208 }
static TH2I * h2_st_time_vs_pcpi
static TH2I * h2_raw_ped_sector
Double_t c1[2][NMODULES]
Definition: tw_corr.C:68
Double_t c2[2][NMODULES]
Definition: tw_corr.C:69
static TH2I * h2_st_time_vs_pp
static TH2I * h2_adc_ped_sector
static TH2I * h2_adc_pp_sector
static TH2I * h2_raw_pt_sector
static TH2I * h2_raw_pi_sector
static TH2I * h2_adc_pcpi_sector
static TH2I * h2_adc_pt_sector
TDirectory * dir
Definition: bcal_hist_eff.C:31
TCanvas * c3