00001
00002
00003
00004
00005
00006 TCanvas *can=0;
00007
00008 void doAll(){
00009 for(int i=10;i<=19;i++) plPPV3D(i,2);
00010 plPPV3D(1,2);
00011 }
00012
00013
00014 void plPPVtrack4beamLine( int page=1,int pl=0, char *core0="st_W_10097106_raw_5180001", char *path="./"){
00015
00016 gStyle->SetOptFit(1);
00017 TString fullInpName=path;
00018 fullInpName+=core0; fullInpName+=".ppv.hist";
00019 fullInpName+=".root";
00020 fd=new TFile(fullInpName);
00021 if(! fd->IsOpen()) {
00022 printf("EROR: input histo file not found, quit\n",fullInpName.Data());
00023 return;
00024 } else {
00025 printf("Opened: %s\n",fullInpName.Data());
00026 }
00027 if(page==1){
00028 fd->ls();
00029 printf("v3D_myStat: ");
00030 for(int k=1;k<10;k++) printf("%.0f, ",v3D_myStat->GetBinContent(k));
00031 printf("\n");
00032 }
00033 gStyle->SetPalette(1,0);
00034 gStyle->SetOptStat(0);
00035 char padTit[1000];
00036 sprintf(padTit,"%s",core0);
00037
00038
00039 char *nameA[]={"inPt","inSigY","myStat","inSigZ","inTr","eve0YX"};
00040
00041 switch (page) {
00042
00043 case 1:{
00044 can=new TCanvas("aa","aa",800,600); TPad *c=makeTitle(can,padTit,page);
00045 c->Divide(3,2);gStyle->SetOptStat(1001111);
00046
00047 char **nameX=nameA;
00048 for(int i=0;i<6;i++) {
00049 char txt[100];
00050
00051 sprintf(txt,"v3D_%s",nameX[i]);
00052 printf("->%s<\n",txt);
00053 h=(TH1*)fd->Get(txt); assert(h);
00054 c->cd(i+1); h->Draw();
00055 if(i==1) h->SetAxisRange(0,10.);
00056 if(i==2) h->SetMinimum(0.7);
00057 }
00058 c->GetPad(1)->SetLogy();
00059
00060
00061 break;
00062 }
00063 case 2:{
00064 can=new TCanvas("aa","aa",900,600); TPad *c=makeTitle(can,padTit,page);
00065 c->Divide(3,2);gStyle->SetOptStat(1001111);
00066 for(int i=0;i<6;i++) {
00067 char txt[100];
00068 sprintf(txt,"v3D_chi%d",i+1);
00069 printf("->%s<\n",txt);
00070 h=(TH1*)fd->Get(txt); assert(h);
00071 c->cd(i+1); h->Draw();
00072 if(i>0) {
00073 h->Draw("colz");
00074 }
00075 }
00076 break;
00077 }
00078
00079 case 10:
00080 case 11:
00081 case 12:
00082 case 13:
00083 case 14:
00084 case 15:
00085 case 16:
00086 case 17:
00087 case 18:
00088 case 19:
00089 {
00090 can=new TCanvas("aa","aa",500,750); TPad *c=makeTitle(can,padTit,page);
00091 int nP=3;
00092 c->Divide(2,nP);gStyle->SetOptStat(0);
00093 int eve0=(page-10)*nP;
00094 eve0+=2;
00095 for(int i=0;i<nP;i++) {
00096 char txt[100];
00097 sprintf(txt,"v3D_eve%dYX",eve0+i);
00098 printf("->%s<\n",txt);
00099 h=(TH1*)fd->Get(txt); assert(h);
00100 c->cd(2*i+1); h->Draw();
00101 sprintf(txt,"v3D_eve%dYZ",eve0+i);
00102 printf("->%s<\n",txt);
00103 h=(TH1*)fd->Get(txt); assert(h);
00104 c->cd(2*i+2); h->Draw();
00105 }
00106 break;
00107 }
00108
00109
00110
00111 default:
00112 printf("page=%d NOT defined\n",page);
00113
00114 }
00115
00116 char text[100];
00117 sprintf(text,"outPS/%s_page%03d",core0,page);
00118 TString tit=text;
00119 can->SetTitle(tit);
00120 can->SetName(tit);
00121
00122
00123 if(pl&1) can->Print(tit+".gif");
00124 if(pl&2) can->Print(tit+".ps");
00125
00126 }
00127
00128
00129 TPad *makeTitle(TCanvas *c,char *core, int page) {
00130
00131 c->Range(0,0,1,1);
00132 TPad *pad0 = new TPad("pad0", "apd0",0.0,0.95,1.,1.);
00133 pad0->Draw();
00134 pad0->cd();
00135
00136 TPaveText *pt = new TPaveText(0,0.,1,1,"br");
00137 pt->Draw();
00138 TDatime dt;
00139 TString txt2=core;
00140 txt2+=", page=";
00141 txt2+=page;
00142 txt2+=", ";
00143 txt2+=dt.AsString();
00144 pt->AddText(txt2);
00145 txt2="--";
00146 pt->AddText(txt2);
00147
00148 c->cd();
00149 pad = new TPad("pad1", "apd1",0.0,0.0,1,.95);
00150 pad->Draw();
00151 return pad;
00152 }