19 #ifndef ROOTSPY_MACROS
20 #define rs_SetFlag(A) cout<<"rs_SetFlag ignored outside of RootSpy context"<<endl
21 #define rs_GetFlag(A) 0
22 #define rs_ResetHisto(A) cout<<"rs_ResetHisto ignored outside of RootSpy context"<<endl
23 #define rs_RestoreHisto(A) cout<<"rs_RestoreHisto ignored outside of RootSpy context"<<endl
24 #define InsertSeriesData(A) cout<<"InsertSeriesData ignored outside of RootSpy context"<<endl
25 #define InsertSeriesMassFit(A,B,C,D,E,F) cout<<"InsertSeriesMassFit ignored outside of RootSpy context"<<endl
31 TDirectory *
savedir = gDirectory;
35 TDirectory *
dir = (TDirectory*)gDirectory->FindObjectAny(
"highlevel");
37 TH1*
EventInfo = (TH1*)gDirectory->Get(
"EventInfo");
39 Double_t Nunix = EventInfo->GetBinContent(1);
41 Double_t sum_unix_time = EventInfo->GetBinContent(2);
42 unix_time = (sum_unix_time/Nunix);
43 time_t t = (time_t)unix_time;
50 dir = (TDirectory*)gDirectory->FindObjectAny(
"occupancy");
53 TH2I *digihits_trig1 = (TH2I*)gDirectory->FindObjectAny(
"digihits_trig1");
54 TH2I *digihits_trig3 = (TH2I*)gDirectory->FindObjectAny(
"digihits_trig3");
55 TH2I *digihits_trig4 = (TH2I*)gDirectory->FindObjectAny(
"digihits_trig4");
56 TH1F *digihits_scale_factors = (TH1F*)gDirectory->FindObjectAny(
"digihits_scale_factors");
60 TCanvas *
c1 =
new TCanvas(
"c1",
"", 1200, 900);
65 if(!gPad) {savedir->cd();
return;}
73 if(digihits_scale_factors){
74 double Nhists_summed = digihits_scale_factors->GetBinContent(digihits_scale_factors->GetNbinsX());
75 TAxis *xaxis = digihits_scale_factors->GetXaxis();
76 for(
int ibin=1; ibin<xaxis->GetNbins(); ibin++){
77 string lab = xaxis->GetBinLabel(ibin);
78 digihitbinmap[lab] = (double)ibin;
79 digihitsclmap[lab] = digihits_scale_factors->GetBinContent(ibin)/Nhists_summed;
83 TCanvas *c1 = gPad->GetCanvas();
88 TPad *
pad1 = (TPad*)gDirectory->FindObjectAny(
"digihitspad2");
89 if(!pad1) pad1 =
new TPad(
"digihitspad2",
"", 0.0, 0.0, 1.0, 0.5);
93 pad1->SetRightMargin(0.10);
94 pad1->SetLeftMargin(0.05);
95 pad1->SetBottomMargin(0.15);
96 pad1->SetTopMargin(0.05);
98 digihits_trig4->SetStats(0);
99 digihits_trig4->SetTitle(
" ");
100 digihits_trig4->GetXaxis()->SetLabelSize(0.06);
101 digihits_trig4->GetYaxis()->SetTitleSize(0.06);
102 digihits_trig4->GetYaxis()->SetTitleOffset(0.35);
103 digihits_trig4->Draw(
"colz");
107 latex.SetTextSize(0.07);
108 latex.SetTextAlign(12);
109 latex.DrawLatex(12.0, 115.0,
"Trig 4: PS");
112 latex.SetTextSize(0.04);
113 latex.SetTextAngle(90.0);
114 latex.SetTextAlign(22);
115 latex.SetTextColor(kWhite);
117 box.SetFillColor(kGray+1);
118 TAxis *xaxis = digihits_trig4->GetXaxis();
119 for(
auto p : digihitsclmap){
120 if(p.second == 0.0)
continue;
121 double x = xaxis->GetBinCenter((
int)digihitbinmap[p.first]);
125 sprintf(str,
"#divide%2.0f", p.second);
127 sprintf(str,
"#times%2.0f", 1.0/p.second);
129 box.DrawBox(x-0.3, y-9.0, x+0.33, y+9.0);
130 latex.DrawLatex(x, y, str);
134 box.SetFillColor(kGray);
135 latex.SetTextColor(kBlack);
136 TAxis *yaxis = digihits_trig4->GetYaxis();
138 ss <<
"digihits,trig=4 ";
139 for(
auto p : digihitbinmap){
140 int ibin = (int)digihitbinmap[p.first];
141 double x = xaxis->GetBinCenter(ibin);
146 for(
int jbin=1; jbin<=yaxis->GetNbins(); jbin++){
147 double w = digihits_trig4->GetBinContent(ibin, jbin);
148 double y = yaxis->GetBinLowEdge(jbin);
153 double mean = sum==0.0 ? 0.0:sumw/
sum;
154 double scale = digihitsclmap[p.first];
155 if(scale != 0.0) mean *= scale;
163 box.DrawBox(
x-0.3, y-10.0,
x+0.33, y+10.0);
164 latex.DrawLatex(
x, y, str);
167 if(digihits_scale_factors){
168 string lab = digihits_scale_factors->GetXaxis()->GetBinLabel(ibin);
169 if( ibin>1 ) ss <<
",";
170 ss << lab <<
"=" << mean;
175 if(digihits_trig4->Integral()>100000){
176 if(unix_time!=0.0) ss<<
" "<<(uint64_t)(unix_time*1.0E9);
188 TPad *
pad1 = (TPad*)gDirectory->FindObjectAny(
"digihitspad1");
189 if(!pad1) pad1 =
new TPad(
"digihitspad1",
"", 0.0, 0.5, 1.0, 1.0);
193 pad1->SetRightMargin(0.10);
194 pad1->SetLeftMargin(0.05);
195 pad1->SetBottomMargin(0.15);
196 pad1->SetTopMargin(0.05);
198 digihits_trig1->SetStats(0);
199 digihits_trig1->SetTitle(
" ");
200 digihits_trig1->GetXaxis()->SetLabelSize(0.06);
201 digihits_trig1->GetYaxis()->SetTitleSize(0.06);
202 digihits_trig1->GetYaxis()->SetTitleOffset(0.35);
203 digihits_trig1->Draw(
"colz");
207 latex.SetTextSize(0.07);
208 latex.SetTextAlign(12);
209 latex.DrawLatex(12.0, 115.0,
"Trig 1: FCAL+BCAL");
212 latex.SetTextSize(0.04);
213 latex.SetTextAngle(90.0);
214 latex.SetTextAlign(22);
215 latex.SetTextColor(kWhite);
217 box.SetFillColor(kGray+1);
218 TAxis *xaxis = digihits_trig1->GetXaxis();
219 for(
auto p : digihitsclmap){
220 if(p.second == 0.0)
continue;
221 double x = xaxis->GetBinCenter((
int)digihitbinmap[p.first]);
225 sprintf(str,
"#divide%2.0f", p.second);
227 sprintf(str,
"#times%2.0f", 1.0/p.second);
229 box.DrawBox(x-0.3, y-9.0, x+0.33, y+9.0);
230 latex.DrawLatex(x, y, str);
234 box.SetFillColor(kGray);
235 latex.SetTextColor(kBlack);
236 TAxis *yaxis = digihits_trig1->GetYaxis();
238 ss <<
"digihits,trig=1 ";
239 for(
auto p : digihitbinmap){
240 int ibin = (int)digihitbinmap[p.first];
241 double x = xaxis->GetBinCenter(ibin);
246 for(
int jbin=1; jbin<=yaxis->GetNbins(); jbin++){
247 double w = digihits_trig1->GetBinContent(ibin, jbin);
248 double y = yaxis->GetBinLowEdge(jbin);
253 double mean = sum==0.0 ? 0.0:sumw/
sum;
254 double scale = digihitsclmap[p.first];
255 if(scale>0.0) mean *= scale;
263 box.DrawBox(
x-0.3, y-10.0,
x+0.33, y+10.0);
264 latex.DrawLatex(
x, y, str);
267 if(digihits_scale_factors){
268 string lab = digihits_scale_factors->GetXaxis()->GetBinLabel(ibin);
269 if( ibin>1 ) ss <<
",";
270 ss << lab <<
"=" << mean;
275 if(digihits_trig1->Integral()>100000){
276 if(unix_time!=0.0) ss<<
" "<<(uint64_t)(unix_time*1.0E9);
sprintf(text,"Post KinFit Cut")
map< string, double > digihitsclmap
#define InsertSeriesData(A)
map< string, double > digihitbinmap