2 const float PI=2*acos(0);
10 plWana(
int page=-1,
int pl=2,
char *core0=
"sumR12P13ib",
char *iPath=
"/star/u/jlzhang/run12-dev/",
char *oPath=
"/star/u/jlzhang/run12-dev/movies/",
int isMC=0,
char *etaBin=
"Eta7"){
16 doAll(core0,iPath,isMC,oPath,etaBin);
24 char *nameA[]={
"muStatEve",
"muStatTrk",
"muStatBtow"};
25 char *nameB[]={
"muVRf",
"muZv",
"muNV",
"mubX48"};
26 char *nameC[]={
"mubX7",
"mubX7v"};
27 char *nameD[]={
"muDsm1",
"muDsm2",
"muDsm3",
"muDsm4"};
28 char *nameE[]={
"muTrNfit",
"muTrFitFrac",
"muTrch2",
"muTrRxyIn",
"muTrRxyOut",
"muTrch2b"};
29 char *nameF[]={
"muTr2D1",
"muTrPt1",
"muTrPt1N",
"muTrPt1Pr",
"muTrPt1NPr"};
30 char *nameG[]={
"muBmaxAdc",
"muBtotAdc",
"muBclAdcPt",
"muBclET"};
31 char *nameH[]={
"muBclET24",
"muBclE242D",
"muBclET24R"};
33 char *nameJ[]={
"muBdist1",
"muBdist2",
"muBdist3",
"muBdist4"};
34 char *nameK[]={
"muBjetETR",
"muTjetBjet2D",
"muTBjetET"};
35 char *nameL[]={
"muBjetET",
"muBclEjetE2D",
"muTjetET"};
36 char *nameM[]={
"muTwayET",
"muBwayET",
"muBclETPt",
"muEwayET"};
38 char *nameW[]={
"muTotwayET2D",
"musPtBalance_clust",
"muWET",
"muW2D1"};
39 char *namePB[]={
"musPtBalance_clust",
"musPtBalance_awayTot",
"muWeta"};
40 char *nameB1[]={
"muSEadc1",
"muSPadc1"};
41 char *nameN[]={
"muTrdEdX",
"muWdedx"};
42 char *nameO[]={
"muWglDcaSP",
"muWglDcaSN"};
44 char *nameP[]={
"muETlive0",
"muETlive1",
"muETlive2",
"muETlive3",
"muWcar1",
"muWcar2",
"muWcar3"};
47 char *nameR1[]={
"muChRecPNg",
"muChRecPNp"};
48 char *nameR2[]={
"muChRecHypCorrPNg",
"muChRecHypCorrPNp"};
51 char *nameS1[]={
"spinStatEve",
"spins4mon",
"spinbX48",
"spinbX7",
"spinbX48c",
"spinbX7c"};
52 char *nameS5[]={
"spinET_P",
"spinET_N",
"spinQpT",
"spinQpT2"};
53 char *nameS6[]={
"spinQpT_hits",
"spinQpT_hitF",
"spinHitsFit_Frac"};
54 char *nameS2[]={
"spinY0",
"spinY1",
"spinY2_P",
"spinY2_N"};
55 char *nameS3[]={,
"spinY3_P",
"spinY3_N",
"spinY4_P",
"spinY4_N"};
56 char *nameS4[]={
"spinY5_P",
"spinY5_N",
"spinLepEta_P",
"spinLepEta_N"};
61 TString fullInpName=iPath; fullInpName+=core0;
62 fullInpName+=
".wana.hist.root";
63 fd=
new TFile(fullInpName);
65 printf(
"EROR: input histo file not found, quit\n",fullInpName.Data());
68 printf(
"Opened: %s\n",fullInpName.Data());
72 if(fd->Get(
"muStatEve")==0) {
73 cout<<
"Switching to etaBin "<<etaBin<<
" now have to use gDirectory"<<endl;
76 cout<<
"Missing TDirectory of interest, no plots!"<<endl;
82 if(page==1 || page==13){
84 h0=(TH1*)gDirectory->Get(
"muStatEve"); assert(h0);
85 printf(
"%s: ",h0->GetName());
86 for(
int k=1;k<=17;k++) printf(
"%.0f, ",h0->GetBinContent(k));
91 if(page>=23 && page<=25 && gDirectory->Get(
"AspinStatEve")==0 && gDirectory->Get(Form(
"A%sspinStatEve",etaBin))==0)
return;
92 if((page==19 || page==20 || page==22) && gDirectory->Get(
"pubJoe1")==0)
return;
93 if(page==21 && gDirectory->Get(
"pubJoe1")==0) {
94 nameR2[0]=
"muChRecPNg";
95 nameR2[1]=
"muChRecPNp";
97 if( ((page>=2 && page<=6) || (page>=31 && page<=43) || page==15) && !fd->cd(
"tpc"))
return;
102 gStyle->SetPalette(1,0);
103 gStyle->SetOptStat(0);
105 sprintf(padTit,
"%s",core0);
110 can=
new TCanvas(
"aa",
"aa",800,600); TPad *c=makeTitle(can,padTit,page);
111 c->Divide(1,2);gStyle->SetOptStat(0);
113 for(
int i=0;i<2;i++) {
114 printf(
"->%s<\n",nameX[i]);
115 h=(TH1*)gDirectory->Get(nameX[i]); assert(h);
116 c->cd(i+1); h->Draw();
117 if(i==0) h->Draw(
"h text");
119 c->GetPad(1)->SetLogy();
120 c->GetPad(2)->SetLogy();
124 can=
new TCanvas(
"aa",
"aa",800,600); TPad *c=makeTitle(can,padTit,page);
125 c->Divide(2,2);gStyle->SetOptStat(1110);
127 for(
int i=0;i<4;i++) {
128 printf(
"->%s<\n",nameX[i]);
129 h=(TH1*)gDirectory->Get(nameX[i]); assert(h);
130 c->cd(i+1); h->Draw();
131 if(i==1) h->Fit(
"gaus",
"",
"hR",-50,50);
133 c->GetPad(1)->SetLogy();
134 c->GetPad(3)->SetLogy();
139 can=
new TCanvas(
"aa",
"aa",800,600); TPad *c=makeTitle(can,padTit,page);
140 c->Divide(1,2);gStyle->SetOptStat(10);
144 for(
int i=0;i<2;i++) {
145 printf(
"->%s<\n",nameX[i]);
146 hA[i]=(TH1F*)gDirectory->Get(nameX[i]); assert(hA[i]);
147 if(i==0) hA[i]->Draw();
148 else hA[i]->Draw(
"same");
153 hA[0]->SetFillColor(0);
155 TH1 *hEf=(TH1F*) hA[1]->Clone();
156 hEf->SetTitle(
"Vertex effi vs. bXing");
157 hEf->SetName(
"muVefbx");
158 hEf->SetFillColor(0); hEf->SetLineColor(kMagenta);
161 hEf->Draw(); hEf->SetMaximum(1.1);
162 hEf->Fit(
"pol0",
"",
"Rh",50,100);
167 can=
new TCanvas(
"aa",
"aa",800,600); TPad *c=makeTitle(can,padTit,page);
168 c->Divide(2,2);gStyle->SetOptStat(1001111);
170 for(
int i=0;i<4;i++) {
171 printf(
"->%s<\n",nameX[i]);
172 h=(TH1*)gDirectory->Get(nameX[i]); assert(h);
173 c->cd(i+1); h->Draw();
175 h->SetFillColor(kBlue);
180 c->GetPad(1)->SetLogy();
181 c->GetPad(2)->SetLogy();
182 c->GetPad(3)->SetLogy();
187 case 5:{ sprintf(padTit,
"Track selection cuts, %s",core0);
188 can=
new TCanvas(
"aa",
"aa",800,600); TPad *c=makeTitle(can,padTit,page);
189 c->Divide(3,2);gStyle->SetOptStat(110);
191 for(
int i=0;i<6;i++) {
192 printf(
"->%s<\n",nameX[i]);
193 h=(TH1*)gDirectory->Get(nameX[i]); assert(h);
194 c->cd(i+1); h->Draw();
195 if(i==5) h->Draw(
"colz");
202 case 6:{ sprintf(padTit,
"Selected high PT tracks, %s",core0);
203 can=
new TCanvas(
"aa",
"aa",800,600); TPad *c0=makeTitle(can,padTit,page);
204 TPad *cL,*cR; splitPadX(0.4,&cL,&cR);
206 cR->Divide(2,2);gStyle->SetOptStat(10);
209 for(
int i=0;i<5;i++) {
210 printf(
"->%s<\n",nameX[i]);
211 h=(TH1*)gDirectory->Get(nameX[i]); assert(h);
217 if(i==1 || i==3) {cR->cd(1+i/2); h1=h; h->Draw(); h->SetMinimum(.1);}
218 if(i==4) h->SetFillColor(9);
219 if(i==2 || i==4) { h2=h; h->Draw(
"same"); cR->cd(2+i/2);
220 h=(TH1F*) h2->Clone(); h->SetTitle(
"Ratio Negtive/all");h->Divide(h1); h->Draw();
221 h->SetMinimum(0.2); h->SetMaximum(0.7);
223 if(i>0) h->SetAxisRange(0,50);
225 cR->GetPad(1)->SetLogy();
226 cR->GetPad(2)->SetLogy();
229 case 7:{ sprintf(padTit,
"BTOW response, %s",core0);
230 can=
new TCanvas(
"aa",
"aa",800,600); TPad *c=makeTitle(can,padTit,page);
231 c->Divide(2,2);gStyle->SetOptStat(1000110);
233 for(
int i=0;i<4;i++) {
234 printf(
"->%s<\n",nameX[i]);
235 h=(TH1*)gDirectory->Get(nameX[i]); assert(h);
236 c->cd(i+1); h->Draw();
237 if(i==2 ) h->Draw(
"colz");
238 if(i==2) h->SetMaximum(0.6* h->GetMaximum());
240 c->GetPad(1)->SetLogy();
241 c->GetPad(2)->SetLogy();
242 c->GetPad(3)->SetLogz();
243 c->GetPad(4)->SetLogy();
246 case 8:{ sprintf(padTit,
"2x2 / 4x4 cluster isolation cut, %s",core0);
247 can=
new TCanvas(
"aa",
"aa",800,600); TPad *c=makeTitle(can,padTit,page);
248 c->Divide(2,2);gStyle->SetOptStat(10);
250 for(
int i=0;i<3;i++) {
251 printf(
"->%s<\n",nameX[i]);
252 h=(TH1*)gDirectory->Get(nameX[i]); assert(h);
253 c->cd(i+1); h->Draw();
254 if(i==1 ) h->Draw(
"colz");
256 c->GetPad(1)->SetLogy();
257 c->GetPad(2)->SetLogz();
260 case 9:{ sprintf(padTit,
"3D distance between track & cluster, %s",core0);
261 can=
new TCanvas(
"aa",
"aa",800,600); TPad *c=makeTitle(can,padTit,page);
262 c->Divide(2,2);gStyle->SetOptStat(10);
264 for(
int i=0;i<4;i++) {
265 printf(
"->%s<\n",nameX[i]);
266 h=(TH1*)gDirectory->Get(nameX[i]); assert(h);
269 else h->Draw(
"colz");
273 case 10:{ sprintf(padTit,
"separted near jet in BOW & TPC, %s",core0);
274 can=
new TCanvas(
"aa",
"aa",800,600); TPad *c=makeTitle(can,padTit,page);
275 c->Divide(2,2);gStyle->SetOptStat(10);
277 for(
int i=0;i<3;i++) {
278 printf(
"->%s<\n",nameX[i]);
279 h=(TH1*)gDirectory->Get(nameX[i]); assert(h);
280 c->cd(i+1); h->Draw();
281 if(i==1 ) h->Draw(
"colz");
283 c->GetPad(1)->SetLogy();
284 c->GetPad(2)->SetLogz();
285 c->GetPad(3)->SetLogy();
289 case 11:{ sprintf(padTit,
"TPC+BTOW near jet ET, %s",core0);
290 can=
new TCanvas(
"aa",
"aa",800,600); TPad *c=makeTitle(can,padTit,page);
291 c->Divide(2,2);gStyle->SetOptStat(10);
293 for(
int i=0;i<3;i++) {
294 printf(
"->%s<\n",nameX[i]);
295 h=(TH1*)gDirectory->Get(nameX[i]); assert(h);
296 c->cd(i+1); h->Draw();
297 if(i==1 ) h->Draw(
"colz");
300 c->GetPad(2)->SetLogz();
304 case 12:{ sprintf(padTit,
"away ET veto, %s",core0);
305 can=
new TCanvas(
"aa",
"aa",800,600); TPad *c=makeTitle(can,padTit,page);
306 c->Divide(2,2);gStyle->SetOptStat(10);
308 for(
int i=0;i<4;i++) {
309 printf(
"->%s<\n",nameX[i]);
310 h=(TH1*)gDirectory->Get(nameX[i]); assert(h);
311 c->cd(i+1); h->Draw();
312 if(i==2) h->SetAxisRange(0,60);
317 c->GetPad(1)->SetLogy();
318 c->GetPad(2)->SetLogy();
319 c->GetPad(4)->SetLogy();
324 case 13:{ sprintf(padTit,
"best W selection, %s",core0);
325 can=
new TCanvas(
"aa",
"aa",900,800); TPad *c=makeTitle(can,padTit,page);
326 c->Divide(2,2);gStyle->SetOptStat(10);
328 for(
int i=0;i<4;i++) {
330 printf(
"->%s<\n",nameX[i]);
331 h=(TH1*)gDirectory->Get(nameX[i]); assert(h);
333 float sum=h->GetEntries();
334 sprintf(txt,
"%.0f eve >thres",sum);
335 tx=
new TText(30,55,txt); tx->Draw();
338 c->cd(i+1); h->Draw();
339 if(i<3) h->SetAxisRange(0,60);
340 if(i!=2 ) h->Draw(
"colz");
341 if(i==0 ) h->SetAxisRange(0,60,
"y");
342 if(i==1 ) {h->SetAxisRange(0,60,
"x");h->SetAxisRange(-40,60,
"y");}
344 h->Draw(
"eh"); h->SetAxisRange(0,60);
345 float sum=h->Integral(26,100);
346 h->Rebin(); h->SetFillColor(4);
347 sprintf(txt,
"%.0f eve >thres",sum);
348 tx=
new TText(40,h->GetMaximum()*0.9,txt); tx->Draw();
349 h->SetAxisRange(0,60);
355 case 14: { sprintf(padTit,
"pT-Balance plots (out of order) %s",core0);
356 can=
new TCanvas(
"aa",
"aa",800,600); TPad *c=makeTitle(can,padTit,page);
357 c->Divide(2,2);gStyle->SetOptStat(10);
359 for(
int i=0;i<3;i++) {
360 printf(
"->%s<\n",nameX[i]);
361 h=(TH1*)gDirectory->Get(nameX[i]); assert(h);
363 if(i==2) {h->Rebin(4); h->GetXaxis()->SetRangeUser(-1.5,1.5);}
364 if(i<2) h->Draw(
"colz");
371 case 15:{ sprintf(padTit,
"BSMD raw spectra, %s",core0);
372 can=
new TCanvas(
"aa",
"aa",800,600); TPad *c=makeTitle(can,padTit,page);
373 c->Divide(1,2);gStyle->SetOptStat(10);
375 for(
int i=0;i<2;i++) {
376 printf(
"->%s<\n",nameX[i]);
377 h=(TH1*)gDirectory->Get(nameX[i]); assert(h);
378 c->cd(i+1); h->Draw();
380 c->GetPad(1)->SetLogy();
381 c->GetPad(2)->SetLogy();
385 case 16:{ sprintf(padTit,
"TPC dEdx for all & W tracks, %s",core0);
386 can=
new TCanvas(
"aa",
"aa",800,600); TPad *c=makeTitle(can,padTit,page);
387 c->Divide(2,1);gStyle->SetOptStat(10);
389 for(
int i=0;i<2;i++) {
390 printf(
"->%s<\n",nameX[i]);
391 h=(TH1*)gDirectory->Get(nameX[i]); assert(h);
392 c->cd(i+1); h->Draw(
"colz");
394 c->GetPad(1)->SetLogz();
397 case 17:{ sprintf(padTit,
"TPC global DCA to Vertex for W tracks, %s",core0);
398 can=
new TCanvas(
"aa",
"aa",800,600); TPad *c=makeTitle(can,padTit,page);
399 c->Divide(2,2);gStyle->SetOptStat(10);
401 for(
int i=0;i<2;i++) {
402 printf(
"->%s<\n",nameX[i]);
403 h=(TH1*)gDirectory->Get(nameX[i]); assert(h);
404 c->cd(i+1); h->Draw(
"colz");
405 h->SetAxisRange(0,60); h->SetAxisRange(-2.,2.,
"y");
411 case 18:{ sprintf(padTit,
"electron candidate ET vs. condition, %s",core0);
412 can=
new TCanvas(
"aa",
"aa",800,600); TPad *c=makeTitle(can,padTit,page);
413 gStyle->SetOptStat(10);
415 c->cd(); TPad *cL,*cR; splitPadX(0.5,&cL,&cR);
416 cL->cd(); cR->Divide(1,3);
417 for(
int i=0;i<7;i++) {
418 printf(
"->%s<\n",nameX[i]);
419 h=(TH1*)gDirectory->Get(nameX[i]); assert(h);
420 if(i==0) { h->Draw(); h->SetAxisRange(0,60);}
421 if(i>0 && i<4) h->Draw(
"same");
422 if(i==1) h->SetFillColor(kBlue);
423 if(i==2) h->SetFillColor(8);
424 if(i==3) h->SetFillColor(kRed);
425 if(i==4) { cR->cd(1); h->Draw(); h->SetAxisRange(0,5); }
426 if(i==5) { cR->cd(2); h->Draw();}
427 if(i==6) { cR->cd(3); h->Draw(); h->Fit(
"gaus",
"",
"Rh",-100,80); h->GetXaxis()->SetTitle(
"Z (cm)");}
429 h->GetXaxis()->SetTitleOffset(0.9);
430 h->GetXaxis()->SetLabelSize(0.06); h->GetXaxis()->SetTitleSize(0.05); h->SetMinimum(0.8);}
433 cL->GetPad(0)->SetLogy();
434 cR->GetPad(1)->SetLogy();
439 case 19:{ sprintf(padTit,
"charge separation, %s",core0);
440 can=
new TCanvas(
"aa",
"aa",800,600); TPad *c=makeTitle(can,padTit,page);
441 c->Divide(2,1);gStyle->SetOptStat(110110);
442 ln=
new TLine(0,0,70,0); ln->SetLineColor(kMagenta);
444 for(
int i=0;i<2;i++) {
445 printf(
"->%s<\n",nameX[i]);
446 h=(TH1*)gDirectory->Get(nameX[i]); assert(h);
447 c->cd(i+1); h->Draw(
"colz"); h->SetAxisRange(0,70);
453 case 20:{ sprintf(padTit,
"Charge Separation Hyperbola Corrected, %s",core0);
454 can=
new TCanvas(
"aa",
"aa",800,600); TPad *c=makeTitle(can,padTit,page);
455 c->Divide(2,1);gStyle->SetOptStat(110110);
456 ln=
new TLine(0,0,70,0); ln->SetLineColor(kMagenta);
458 for(
int i=0;i<2;i++) {
459 printf(
"->%s<\n",nameX[i]);
460 h=(TH1*)gDirectory->Get(nameX[i]); assert(h);
461 c->cd(i+1); h->Draw(
"colz"); h->SetAxisRange(0,70);
467 case 23:{ sprintf(padTit,
"bXing & spin QA, %s",core0);
468 can=
new TCanvas(
"aa",
"aa",800,600); TPad *c=makeTitle(can,spinPre+padTit,page);
469 c->Divide(2,3);gStyle->SetOptStat(1000010);
471 for(
int i=0;i<6;i++) {
472 printf(
"->%s<\n",nameX[i]);
473 h=(TH1*)gDirectory->Get(spinPre+nameX[i]); assert(h);
474 c->cd(i+1); h->Draw();
475 if(i==1) { h->Draw(
"colz");}
477 c->GetPad(1)->SetLogy();
482 case 24:{ sprintf(padTit,
"Final Ws for spin analysis, %s",core0);
483 can=
new TCanvas(
"aa",
"aa",800,600); TPad *c=makeTitle(can,spinPre+padTit,page);
484 c->Divide(2,2);gStyle->SetOptStat(10);
486 for(
int i=0;i<4;i++) {
487 printf(
"->%s<\n",nameX[i]);
488 h=(TH1*)gDirectory->Get(spinPre+nameX[i]); assert(h);
489 c->cd(i+1); h->Draw();
490 if(i==2) { hx=(TH1*) h->Clone(); h->SetFillColor(9); hx->SetFillColor(46);
491 hx->SetAxisRange(0,1); hx->Draw(
"same");
494 if(i==3) { h->Draw(
"colz"); ((TH2F*)h)->Rebin2D(1,2);}
496 if(i<2||i==3) h->SetAxisRange(0,70);
501 case 25:{ sprintf(padTit,
"Charge separation vs. track quality, %s", core0);
502 can=
new TCanvas(
"aa",
"aa",800,600); TPad *c=makeTitle(can,spinPre+padTit,page);
503 c->Divide(2,2);gStyle->SetOptStat(10);
505 for(
int i=0;i<3;i++) {
506 printf(
"->%s<\n",nameX[i]);
507 h=(TH1*)gDirectory->Get(spinPre+nameX[i]); assert(h);
508 c->cd(i+1); h->Draw(
"colz"); ((TH2F*)h)->Rebin2D(1,2);
515 { sprintf(padTit,
"spin sorting: lumi & Ws, %s",core0);
517 if(page==26) { nameX=nameS3;sprintf(padTit,
"spin sorting: QCD background, %s",core0);}
518 can=
new TCanvas(
"aa",
"aa",800,600); TPad *c=makeTitle(can,spinPre+padTit,page);
519 c->Divide(2,2);gStyle->SetOptStat(1000010);
521 for(
int i=0;i<4;i++) {
522 printf(
"->%s<\n",nameX[i]);
523 h=(TH1*)gDirectory->Get(spinPre+nameX[i]); assert(h);
524 c->cd(i+1); h->Draw(
"h text");
528 case 28:{ sprintf(padTit,
"charge & ET vs. spin state, %s",core0);
529 can=
new TCanvas(
"aa",
"aa",800,600); TPad *c=makeTitle(can,spinPre+padTit,page);
530 c->Divide(2,2);gStyle->SetOptStat(10);
532 for(
int i=0;i<4;i++) {
533 printf(
"->%s<\n",nameX[i]);
534 h=(TH1*)gDirectory->Get(spinPre+nameX[i]); assert(h);
535 c->cd(i+1); h->Draw(
"colz");
557 int iCut=(page-31)/2;
558 int sec1=1, sec2=12;
if(iew) sec1=13, sec2=24;
559 char *titA[]={
"stats",
"nFitPoints",
" nFit/nPossible",
"1st hit Rxy",
"last hit Rxy",
"dE/dX"};
560 char *titB[]={
"Stat",
"TrNfit",
"TrFitFrac",
"TrRxyIn",
"TrRxyOut",
"TrdEdX"};
561 sprintf(padTit,
"TPC %s sectors[%d,%d], %s",titA[iCut],sec1,sec2,core0);
562 can=
new TCanvas(
"aa",
"aa",800,600); TPad *c=makeTitle(can,padTit,page);
563 c->Divide(4,3);gStyle->SetOptStat(10);
564 for(
int i=0;i<12;i++) {
566 sprintf(name,
"sec%d_%s",i+sec1,titB[iCut]);
567 printf(
"->%s<\n",name);
568 h=(TH1*)gDirectory->Get(name); assert(h);
575 h->SetFillColor(col);
583 sprintf(padTit,
"TPC accepted tracks, %s",core0);
584 can=
new TCanvas(
"aa",
"aa",800,600); TPad *c=makeTitle(can,padTit,page);
585 c->Divide(2,1);gStyle->SetOptStat(10);
587 c->cd(1); h2->Draw(
"colz");labelTpcSectors() ;
591 for(
int i=0;i<24;i++) {
593 sprintf(name,
"sec%d_Tr2D1",i+1);
594 printf(
"->%s<\n",name);
595 h=(TH1*)gDirectory->Get(name); assert(h); h->SetLineColor(30+i);
596 if(i==0) h->Draw(
"box");
597 else h->Draw(
"box same");
603 printf(
"page=%d NOT defined\n",page);
608 sprintf(text,
"%s%s_page%03d",oPath,core0,page);
614 if(pl&1) can->Print(tit+
".gif");
615 if(pl&2) can->Print(tit+spinPre+
".ps");
620 void labelTpcSectors() {
621 for(
float eta=-0.8; eta<.6; eta+=1.4)
622 for(
float x=-PI-.1; x<PI; x+=PI/6) {
623 int sec=tpcSec(x, eta);;
625 sprintf(txt,
"sec %d",sec);
626 tx=
new TText(eta,x,txt); tx->Draw();tx->SetTextSize(0.03); tx->SetTextColor(kMagenta);
631 void splitPadX(
float x, TPad **cL, TPad **cR) {
632 (*cL) =
new TPad(
"padL",
"apdL",0.0,0.,x,0.95);
634 (*cR) =
new TPad(
"padL",
"apdL",x+0.005,0.,1.0,0.95);
639 void splitPadY(
float y, TPad **cU, TPad **cD) {
640 (*cU) =
new TPad(
"padD",
"apdD",0,y+0.005,1.0,1.);
642 (*cD) =
new TPad(
"padU",
"apdU",0.0,0.,1.,y);
652 int tpcSec(
float phiRad,
float etaDet){
654 float phi=phiRad/PI*180;
662 sec=13+(int)( x/30.);
669 TPad *makeTitle(TCanvas *c,
char *core,
int page) {
671 TPad *pad0 =
new TPad(
"pad0",
"apd0",0.0,0.95,1.,1.);
675 TPaveText *pt =
new TPaveText(0,0.,1,1,
"br");
688 pad =
new TPad(
"pad1",
"apd1",0.0,0.0,1,.95);
694 void doAll(
char *core0=
"",
char *iPath=
"",
int isMC=0,
char* oPath=
"",
char* etaBin=
""){
695 for(
int i=1;i<=28;i++) {
696 if ( isMC && i==2 )
continue;
697 if ( isMC && i==3 )
continue;
698 if ( isMC && i==4 )
continue;
699 if ( isMC && i>=23 )
continue;
700 plWana(i,2,core0,iPath,oPath,isMC,etaBin);
703 for(
int i=31;i<=43;i++) plWana(i,2,core0,iPath,oPath,isMC,etaBin);