00001
00002
00003
00004
00005
00006
00007
00008 class TCanvas;
00009 TCanvas *c=0;
00010 TFile *fd=0;
00011
00012
00013
00014
00015
00016 plJetsL2(char *hFile="xx.hist.root", char *pathPS=0) {
00017
00018
00019 gStyle->SetPalette(1,0);
00020 gStyle->SetOptStat(10);
00021
00022 TString rootHistFname=hFile;
00023 fd=new TFile(rootHistFname);
00024 assert(fd->IsOpen());
00025 c=new TCanvas("aa","aa",600,500);
00026 printf("To view plots exec: plJetsL2(1) ,2,3,4,5,6,10,20,21,22\n");
00027 if(pathPS) plAll(pathPS);
00028 }
00029
00030
00031
00032 plAll(char *pathPS) {
00033 int pgA[]={1,2,3,4,5,6,10,20,21,22};
00034 int i;
00035 int k=0;
00036 for(i=0;i<10;i++) {
00037 char txt[100];
00038 int page=pgA[i];
00039 sprintf(txt,"%s/L2jet_Page%02d.ps",pathPS,page);
00040 plJetsL2(page);
00041 c->Print(txt);
00042 k++;
00043 }
00044 printf("#L2jet_plALL_done_%d\n",k);
00045 }
00046
00047
00048
00049
00050 plJetsL2(int page) {
00051
00052 if(c==0) {
00053 printf(" execute plJetsL2() first to open the Canvas, QUIT\n");
00054 return;
00055 }
00056
00057 TString tit="L2Jet-page"; tit+=page;
00058 c->SetTitle(tit);
00059 c->Clear();
00060
00061 switch (page) {
00062
00063 case 1: {
00064 gStyle->SetOptStat(1110);
00065 char *names[]={"h10","h11","h12"};
00066 c->Divide(2,2);
00067 int i;
00068 for(i=0;i<3;i++) {
00069 c->cd(i+1);
00070 TH1F *h=(TH1F *)fd->Get(names[i]);
00071 h->Draw();
00072 if(i==0) {
00073 gPad->SetLogy();
00074 h->SetFillColor(kBlue);
00075 h->SetXTitle("Input: 1=btow, 2=etaw Accept: 4=oneJet, 5=diJet, 6=rnd" );
00076 h->SetTitle("total events 0=anyInput 8=anyAccept");
00077 }
00078 if(i==2) {
00079 int nbin=5;
00080 h->Rebin(nbin); h->Scale(1./nbin);
00081 }
00082 }
00083
00084
00085 c->cd(4);
00086 const int mxh=3;
00087 int nbin=50;
00088 float mxT=50.;
00089 TH1F *hA[mxh];
00090 float yMax=0;
00091
00092 char *names2[]={"h13","h14","h15"};
00093 for(i=0;i<3;i++) {
00094 TH1F *h=(TH1F *)fd->Get(names2[i]);
00095 h->Rebin(nbin); h->Scale(1./nbin);
00096 if(i==0) {
00097 h->Draw();
00098 h->SetTitle("accpet rate blue:monoJet, red:diJet, black:random");
00099 } else h->Draw("same");
00100 if(i==0) {h->SetLineColor(kBlue);}
00101 if(i==1) {h->SetLineColor(kRed); h->SetLineStyle(2);}
00102 if(i==2) {h->SetLineColor(kBlack); h->SetLineStyle(2);}
00103 if(yMax<h->GetMaximum()) yMax=h->GetMaximum();
00104 h->SetLineWidth(2.);
00105 hA[i]=h;
00106 }
00107 for(i=0;i<mxh;i++) hA[i]->SetMaximum(yMax*1.1);
00108 if(yMax>0.5) gPad->SetLogy();
00109 } break;
00110
00111
00112 case 2: {
00113 gStyle->SetOptStat(0);
00114 TH1F *h0=(TH1F *)fd->Get("h21");
00115 float yMax=h0->GetMaximum();
00116 h0->SetMaximum(yMax*1.1);
00117
00118 h0->SetFillColor(kRed);
00119 h0->SetLineColor(kRed);
00120 int nd=6;
00121 int nx=4800/nd;
00122 c->Divide(1,nd);
00123 int i;
00124 for(i=0;i<nd;i++) {
00125 TH1F *ha=(TH1F *)h0->Clone();
00126 ha->SetAxisRange(nx*i, nx*(i+1));
00127 c->cd(i+1);
00128 ha->Draw();
00129
00130
00131 TString aaa="soft=";
00132 aaa+=nx*i+1; aaa+="+";
00133 tx=new TText(nx*i-100,1.,aaa);
00134 tx->SetTextSize(0.15);
00135 tx->Draw();
00136
00137 }
00138 } break;
00139
00140
00141 case 3: {
00142 gStyle->SetOptStat(0);
00143 TH1F *h0=(TH1F *)fd->Get("h31");
00144 h0->SetFillColor(kBlue);
00145 float yMax=h0->GetMaximum();
00146 h0->SetMaximum(yMax*1.1);
00147 int nd=6;
00148 int nx=h0->GetNbinsX()/nd;
00149 c->Divide(1,nd);
00150 int i;
00151 for(i=0;i<nd;i++) {
00152 TH1F *ha=(TH1F *)h0->Clone();
00153 ha->SetAxisRange(nx*i, nx*(i+1));
00154 c->cd(i+1);
00155 ha->Draw();
00156
00157
00158 TString aaa="crate=";
00159 aaa+=i+1;
00160 tx=new TText(nx*i-15,1.,aaa);
00161 tx->SetTextSize(0.2);
00162 tx->Draw();
00163 }
00164 } break;
00165
00166
00167 case 4: {
00168
00169 gStyle->SetOptStat(10);
00170 TH1F *hb=(TH1F *)fd->Get("h22");
00171 TH1F *he=(TH1F *)fd->Get("h32");
00172 he->SetTitle("ETOW");
00173 c->Divide(0);
00174 c->Range(0,0,1,1);
00175 float xDiv=0.7;
00176
00177 pdL = new TPad("padL", "padL",0.0,0.,xDiv,1.);
00178 pdL->Draw();
00179
00180 pdR = new TPad("padR", "padR",xDiv,0.,1.,1.);
00181 pdR->Draw();
00182
00183 float zMx=hb->GetMaximum();
00184 if(zMx<he->GetMaximum()) zMx=he->GetMaximum();
00185 hb->SetMaximum(zMx*1.2);
00186 he->SetMaximum(zMx*1.2);
00187
00188 pdL->cd();
00189 hb->Draw("colz");
00190 TLine* ln=new TLine(20.,-10.,20., 130);
00191 ln->SetLineColor(kMagenta);
00192 ln->Draw();
00193 tx=new TText(5,121,"BTOW-East"); tx->Draw();tx->SetTextColor(kMagenta);
00194 tx=new TText(25,121,"BTOW-West"); tx->Draw();tx->SetTextColor(kMagenta);
00195
00196 pdR->cd();
00197 he->Draw("colz");
00198 tx=new TText(4,61,"Endcap"); tx->Draw();tx->SetTextColor(kMagenta);
00199 tx->SetTextSize(0.1);
00200 } ;break;
00201
00202 case 5: {
00203 gStyle->SetOptStat(10);
00204 char *names[]={"h40","h41","h43","h42"};
00205 c->Divide(2,2);
00206 int i;
00207 for(i=0;i<4;i++) {
00208 c->cd(i+1);
00209 TH1F *h=(TH1F *)fd->Get(names[i]);
00210 h->Draw("colz");
00211 if(i%2) draw_eta_phi_text();
00212 }
00213 } break;
00214
00215
00216 case 6: {
00217 gStyle->SetOptStat(1110);
00218 char *names[]={"h44","h45","h47","h46","h48"};
00219 c->Divide(2,3);
00220 int i;
00221 for(i=0;i<5;i++) {
00222 c->cd(i+1);
00223 TH1F *h=(TH1F *)fd->Get(names[i]);
00224 h->Draw();
00225 h->SetLineWidth(2.);
00226 if(i!=2 && i!=4) gPad->SetLogy();
00227 }
00228 } break;
00229
00230
00231 case 10: {
00232 gStyle->SetOptStat(10);
00233 char *names[]={"h50","h51","h53","h52"};
00234 c->Divide(2,2);
00235 int i;
00236 for(i=0;i<4;i++) {
00237 c->cd(i+1);
00238 TH1F *h=(TH1F *)fd->Get(names[i]);
00239 if(i==1) h->Draw("colz");
00240 else h->Draw();
00241 if(i==0) gPad->SetLogy();
00242 if(i==1) draw_eta_phi_text();
00243 if(i>1) h->SetMinimum(0);
00244 }
00245 } break;
00246
00247 case 20: {
00248 gStyle->SetOptStat(10);
00249 char *names[]={"h60","h61","h63","h62"};
00250 c->Divide(2,2);
00251 int i;
00252 for(i=0;i<4;i++) {
00253 c->cd(i+1);
00254 TH1F *h=(TH1F *)fd->Get(names[i]);
00255 h->Draw("colz");
00256 if(i%2) draw_eta_phi_text();
00257 }
00258 } break;
00259
00260 case 21: {
00261 gStyle->SetOptStat(1110);
00262 char *names1[]={"h64","h66","h68"};
00263 char *names2[]={"h65","h67","h69"};
00264 c->Divide(2,2);
00265 int i;
00266 for(i=0;i<3;i++) {
00267 c->cd(i+1);
00268 TH1F *h1=(TH1F *)fd->Get(names1[i]);
00269 h1->Draw(); h1->SetLineColor(kRed);
00270 h1->SetLineWidth(2.);
00271 TH1F *h2=(TH1F *)fd->Get(names2[i]);
00272 h2->SetLineWidth(2.); h2->Draw("same");
00273 h2->SetLineColor(kBlue); h2->SetLineStyle(2);
00274
00275 if(i==0) gPad->SetLogy();
00276
00277
00278 if(i<3) {
00279 h1->SetMinimum(0.9);
00280 if(i==0)h1->SetTitle("diJet Et (accepted)");
00281 if(i==1)h1->SetTitle("diJet eta (accepted)");
00282 if(i==2)h1->SetTitle("diJet phi (accepted)");
00283 lg=new TLegend(0.4,0.42,.7,0.55);
00284 lg->AddEntry(h1,"High Et jet");
00285 lg->AddEntry(h2,"Low Et jet");
00286 lg->Draw();
00287 }
00288
00289 else h1->SetMinimum(0);
00290
00291 float yMax=h1->GetMaximum();
00292 if(yMax<h2->GetMaximum()){
00293 yMax=h2->GetMaximum();
00294 h1->SetMaximum(yMax*1.1);
00295 }
00296 if(i==2) {
00297 t=new TText(2.8,yMax/5,"RED Jet1 ET > GREEN Jet2 ET ");
00298 t->Draw();
00299 }
00300
00301 }
00302 TH1F *h=(TH1F *)fd->Get("h70");
00303 c->cd(4);
00304 h->Draw();
00305
00306 t=new TLatex(3,h->GetMaximum()*.3,"#Delta #zeta=phi(J1,J2) * sign( K_{T} x S_{Y} )");
00307 t->Draw();
00308
00309 } break;
00310
00311 case 22: {
00312 gStyle->SetOptStat(110);
00313 char *names[]={"h71","h72","h73","h74"};
00314 c->Divide(2,2);
00315 int i;
00316 for(i=0;i<4;i++) {
00317 c->cd(i+1);
00318 TH1F *h=(TH1F *)fd->Get(names[i]);
00319 if(i<=2) h->Draw("colz");
00320 if(i==3) {
00321 h->Draw();
00322 gPad->SetLogy();
00323 }
00324 if(i==1) draw_eta12_text();
00325 }
00326
00327 } break;
00328
00329
00330 default: ;
00331 }
00332
00333
00334 }
00335
00336
00337 void draw_eta_phi_text() {
00338 ln=new TLine(5.,0.,5., 33); ln->SetLineColor(kMagenta); ln->Draw();
00339 ln=new TLine(10.,0.,10., 33); ln->SetLineColor(kMagenta); ln->Draw();
00340 tx=new TText(.8,29.8,"BTOW-East"); tx->Draw();tx->SetTextColor(kMagenta);
00341 tx=new TText(5.8,30.5,"BTOW-West"); tx->Draw();tx->SetTextColor(kMagenta);
00342 tx=new TText(10.5,30.5,"Endcap"); tx->Draw();tx->SetTextColor(kMagenta);
00343 }
00344
00345
00346
00347 void draw_eta12_text() {
00348 ln=new TLine(10.,0.,10., 16); ln->SetLineColor(kMagenta); ln->Draw();
00349 ln=new TLine(-1.,10.,15., 10); ln->SetLineColor(kMagenta); ln->Draw();
00350
00351 tx=new TText(4.8,14.8,"BTOW"); tx->Draw();tx->SetTextColor(kMagenta);
00352 tx=new TText(10.5,15.1,"Endcap"); tx->Draw();tx->SetTextColor(kMagenta);
00353
00354 tx=new TText(14.5,7,"BTOW"); tx->Draw();tx->SetTextColor(kMagenta);
00355 tx=new TText(14.5,12,"Endcap"); tx->Draw();tx->SetTextColor(kMagenta);
00356 }
00357
00358
00359
00360
00361
00362