plScanEff( char *conf="A") { gStyle->SetPalette(1,0); gStyle->SetOptStat(0); TString outF="scan";outF+=conf; outF+=".hist.root"; fd=new TFile(outF); const int mxH=6; char *nameA[mxH]={"trEff_Zm30","trEff_Z0","trEff_Zp30","qEff_Zm30","qEff_Z0","qEff_Zp30"}; TH2F *hA[mxH]; int i; for(i=0;iGet(nameA[i]); assert(hA[i]); } TH2F *h0=hA[0]; axX=h0->GetXaxis(); axY=h0->GetYaxis(); int nx=axX->GetNbins(); int ny=axY->GetNbins(); // nx=5; ny=7; int ix,iy; TString tabF="./aaa.html"; tabF="/star/u/balewski/WWW-E/TUP-study/take3_chargeRecoScan/tab"; tabF+=conf; tabF+=".html"; FILE *fo=fopen(tabF.Data(),"w"); assert(fo); fprintf(fo,"take3 Confguration=%s
Charge reco efficiency vs. eta,pT, and zVertex",conf); fprintf(fo,""); fprintf(fo,"
eta "); for(iy=1;iy<=ny; iy++) { if(iy%2) continue; float pt=axY->GetBinCenter(iy); fprintf(fo," Pt=%.f ",pt); } fprintf(fo,"\n"); for(ix=1;ix<=nx; ix++) { float eta=axX->GetBinCenter(ix); if(eta<0.4 || eta>2.8) continue; fprintf(fo,"\n
%.2f ",eta); for(iy=1;iy<=ny; iy++) { if(iy%2) continue; int iz; fprintf(fo," "); for(iz=0;iz<3;iz++) { TH2F *h1=hA[3+iz]; float eff=h1->GetBinContent(ix,iy); fprintf(fo,"z%d: %.2f ",iz+1,eff); if(iz<2) fprintf(fo,"
"); } } fprintf(fo,"\n"); } fprintf(fo,"\n
"); fclose(fo); // return; c=new TCanvas("aa2","aa2",900,700); c->Divide(3,2); for(i=0;i<6;i++) { c->cd(i+1); TH2F *h=hA[i]; h->Draw("colz"); h->SetMinimum(1.01); h->SetMinimum(0.45); h->SetAxisRange(0.5,2.8,"x"); } }