예제 #1
0
void PrefsTree::cleanAll()
{
    doAll( true );
}
예제 #2
0
void PrefsTree::applyAll()
{
    doAll( false );
}
예제 #3
0
//=================================================
plZana(  int page=0,int pl=2,  char *core0="run12long", char *iPath="../9.10.12/", char *oPath="./out/z/"){ //1=gif, 2=ps, 3=both
  //core0="jba322";
  if(page==0) {
    doAll(core0,iPath);
    return;
  }
  

  char *nameA[]={"_Z_EventType"}; //pg 1
  char *nameB[]={"_Z_et1iso","_Z_et1val","_Z_et1frac","_Z_et2iso","_Z_et2val","_Z_et2frac"}; //pg 2
  char *nameC[]={"_Z_phi12","_Z_ZmassLike","_Z_chRecPNp","_Z_ZmassUnlike"};
  char *nameD[]={"muEne_Deta","_Z_Ene_Deta"};// pg 4

  char *nameE[]={"_Z_Endcap_EventType","_Z_Y2","_Z_etaZ"}; //pg 5
  char *nameF[]={"_Z_Eet1iso","_Z_Eet1val","_Z_Eet1frac","_Z_Eet2iso","_Z_Eet2val","_Z_Eet2frac"}; //pg 6
  char *nameG[]={"_Z_Ephi12","_Z_ELike_chRecPNp","_Z_E_ZmassLike","_Z_Eeta12","_Z_EUnlike_chRecPNp","_Z_E_ZmassUnlike"} //pg7

  gStyle->SetOptFit(1);
  TString fullInpName=iPath;  fullInpName+=core0;
  fullInpName+=".wana.hist.root";  
  fd=new TFile(fullInpName);
  if(! fd->IsOpen()) {
    printf("EROR: input histo file not found, quit\n",fullInpName.Data());
    return;
  } else {
    printf("Opened: %s\n",fullInpName.Data());
  }

  //switch to TDirectory for eta binning
  if(fd->Get("muStatEve")==0)
    fd->cd("Z");

  if(page==1){ 
    //fd->ls(); 
    h0=(TH1*)gDirectory->Get("_Z_EventType"); assert(h0);
    printf("%s: ",h0->GetName());
    for(int k=1;k<=14;k++) printf("%.0f, ",h0->GetBinContent(k));
    printf("\n");
  }
 gStyle->SetPalette(1,0);
 gStyle->SetOptStat(0);
 char padTit[1000];
 sprintf(padTit,"%s",core0);

 switch (page) {

 case 1:{   
    can=new TCanvas("aa","aa",800,600);    TPad *c=makeTitle(can,padTit,page);
    c->Divide(1,1);gStyle->SetOptStat(0);
    char **nameX=nameA;
    for(int i=0;i<1;i++) {
      char txt[100];
      printf("->%s<\n",nameX[i]);
      h=(TH1*)gDirectory->Get(nameX[i]);  assert(h);
      c->cd(i+1); h->Draw();
      if(i==0) h->Draw("h text");
    }
    c->GetPad(1)->SetLogy();
   
 } break;//--------------------------------------

 case 2:{   
    can=new TCanvas("aa","aa",800,600);    TPad *c=makeTitle(can,padTit,page);
    c->Divide(3,2);gStyle->SetOptStat(1110);
    char **nameX=nameB;
    for(int i=0;i<6;i++) {
      char txt[100];
      printf("->%s<\n",nameX[i]);
      h=(TH1*)gDirectory->Get(nameX[i]);  assert(h);
      c->cd(i+1); h->Draw();
    }
   c->GetPad(2)->SetLogy();
   
 } break;//--------------------------------------


 case 3:{  
    can=new TCanvas("aa","aa",800,600);    TPad *c=makeTitle(can,padTit,page);
    //can->SetGrayscale();
    c->Divide(2,2);gStyle->SetOptStat(10);
    char **nameX=nameC;
    for(int i=0;i<4;i++) {
      char txt[100];
      printf("->%s<\n",nameX[i]);
      h=(TH1*)gDirectory->Get(nameX[i]);  assert(h);
      c->cd(i+1); h->Draw();
      if(i==2) {
	h2=(TH2F*) h;
	h2->Rebin2D(2,2); //h2->SetMaximum(3);
	h2->Draw("colz");
	//h2->Draw("box"); h2->SetFillColor(kBlack);
	//h3=(TH2F*)pubchRecPNp;	h3->Rebin2D(2,2);
	//h3->Draw("colz same");
	//h2->Draw("box same");  
      }
      if(i==3)  {
	//h->SetFillColor(kYellow);
	//h->SetMaximum(4);
        h->SetAxisRange(0,130);
	//h->Fit("gaus","","RH",75.,115.);
      }
    }
 
        
 } break;//--------------------------------------

 case 4:{   
    can=new TCanvas("aa","aa",800,600);    TPad *c=makeTitle(can,padTit,page);
    c->Divide(1,2);gStyle->SetOptStat(1110);
    char **nameX=nameD;
    for(int i=0;i<2;i++) {
      char txt[100];
      if(i==0) continue;
      printf("->%s<\n",nameX[i]);
      h2=(TH2F*)gDirectory->Get(nameX[i]);  assert(h2);
      h2->Rebin2D(2,2);
      c->cd(i+1); h2->Draw("colz");	
    }
 
 } break;//--------------------------------------

 case 5:{   
    can=new TCanvas("aa","aa",800,600);    TPad *c=makeTitle(can,padTit,page);
    c->Divide(2,2);gStyle->SetOptStat(0);
    char **nameX=nameE;
    for(int i=0;i<3;i++) {
      char txt[100];
      printf("->%s<\n",nameX[i]);
      h=(TH1*)gDirectory->Get(nameX[i]);  //assert(h);
      if(h==0) continue;
      c->cd(i+1); h->Draw();
      if(i<2) {  h->Draw("h text");
	h->SetMarkerSize(2); // for bigger text
      }
      if(i==2) { h->Rebin(8); h->Draw(); }
      
    }
    c->GetPad(1)->SetLogy();
   
 } break;//--------------------------------------

 case 6:{   
    can=new TCanvas("aa","aa",800,600);    TPad *c=makeTitle(can,padTit,page);
    c->Divide(3,2);gStyle->SetOptStat(1110);
    char **nameX=nameF;
    for(int i=0;i<6;i++) {
      char txt[100];
      printf("->%s<\n",nameX[i]);
      h=(TH1*)gDirectory->Get(nameX[i]);  assert(h);
      c->cd(i+1); h->Draw();
    }
   c->GetPad(2)->SetLogy();
   
 } break;//--------------------------------------
   
 case 7:{  
    can=new TCanvas("aa","aa",800,600);    TPad *c=makeTitle(can,padTit,page);
    //can->SetGrayscale();
    c->Divide(3,2);gStyle->SetOptStat(10);
    char **nameX=nameG;
    for(int i=0;i<6;i++) {
      char txt[100];
      printf("->%s<\n",nameX[i]);
      h=(TH1*)gDirectory->Get(nameX[i]);  assert(h);
      c->cd(i+1); h->Draw();
      if(i==3) h->Draw("colz");
      if(i==1 || i==4) {
	h2=(TH2F*) h;
	h2->Rebin2D(2,2); //h2->SetMaximum(3);
	h2->Draw("colz");
	//h2->Draw("box"); h2->SetFillColor(kBlack);
	//h3=(TH2F*)pubchRecPNp;	h3->Rebin2D(2,2);
	//h3->Draw("colz same");
	//h2->Draw("box same");  
      }
      //if(i==3)  {
	//h->SetFillColor(kYellow);
	//h->SetMaximum(4);
        //h->SetAxisRange(0,130);
	//h->Fit("gaus","","RH",75.,115.);
      //}
    }
 
        
 } break;//--------------------------------------

 
 default:
     printf("page=%d NOT defined\n",page);

 }

 char text[100];
 sprintf(text,"%s%s_page%03d",oPath,core0,page);
 TString tit=text;
 can->SetTitle(tit);
 can->SetName(tit);

 
 if(pl&1) can->Print(tit+".gif");
 if(pl&2) can->Print(tit+".ps");
 
}
예제 #4
0
//=================================================
plPubJS(  int page=1,int pl=0, char *core0="R10103042", char *iPath="", char *oPath=""){ //1=gif, 2=ps, 3=both
  //char *iPath="/star/data05/scratch/stevens4/wAnalysisOut/data/";
  //char *iPath="/star/u/stevens4/wAnalysis/out/verB4.3/useEtow2allLT20/";
  //char *iPath="/star/u/stevens4/wAnalysis/out/verB4.3/useEtow1/";
  char *iPath="/star/u/stevens4/wAnalysis/out/verB4.3/enhanceQCD/";
  //char *iPath="/star/u/stevens4/wAnalysis/out/";
  //core0="R10097000";
  core0="run9setABCD";
  //core0="mcSetD1_ppWprod";
  //core0="mcSetD2_ppQCD10_inf_filter";
  //core0="mcSetD1_ppZprod";
  if(page==0) {
    doAll(pl);
    return;
  }
  
  /*
    
  cat run9setABCD*ps | ps2pdf - all.pdf
  mv all.pdf ~/stevens4/tmp/all-run9setABCD-pub.pdf
  
  */
  
  
  char *nameA[]={"JSetowEneZ1","JSetowEneZ2","JSetowEneZ3","JSetowEneZ4"};
  char *nameB[]={"JSetowHighPostTr","JSetowTotPostTr","JSetowHighPreNear","JSetowTotPreNear"};
  char *nameC[]={"JSetowHighPreAway","JSetowTotPreAway"};
  char *nameD[]={"JSawayNTow","JSawayNTr"};
  //char *nameD[]={"JSawayNTow","JSawayNTr","JSnearNTow","JSnearNTr"};
  char *nameE[]={"JSawayCond1","JSawayCond2"};

  gStyle->SetOptFit(1);
  TString fullInpName=iPath;  fullInpName+=core0;
  fullInpName+=".wana.hist.root";  
  fd=new TFile(fullInpName);
  if(! fd->IsOpen()) {
    printf("EROR: input histo file not found, quit\n",fullInpName.Data());
    return;
  } else {
    printf("Opened: %s\n",fullInpName.Data());
  }

  TLine *ln; TList *Lx;

  gStyle->SetPalette(1,0);
  //gStyle->SetOptStat(0);
  char padTit[1000];
  sprintf(padTit,"%s",core0);
  
  switch (page) {
    
  case 1:{ sprintf(padTit,"ETOW Gain Study I, %s",core0);
  can=new TCanvas("aa","aa",800,600);    TPad *c=makeTitle(can,padTit,page);
  c->Divide(2,2);gStyle->SetOptStat(1);
  char **nameX=nameA;
  for(int i=0;i<4;i++) {
    char txt[100]; int xInt=0;
    printf("->%s<\n",nameX[i]);
    h=(TH1*)fd->Get(nameX[i]);  assert(h);
    TAxis* axX=h->GetXaxis();  int nbX=axX->GetNbins();
    float entries= h->GetEntries();
    for(int j=nbX; j>0; j--){
      xInt += h->GetBinContent(j);
      //if(i==0) cout<<j<<" "<<xInt<<endl;
      if(xInt > 0.0005*entries) 
	{float bin=j; break;}
    }
    cout<<i+1<<" 0.01% of counts in energy = "<<bin/10<<" bin"<<endl;
    Lx=h->GetListOfFunctions();
    ln=new TLine(bin/10,0,bin/10,1.e6);  ln->SetLineColor(kRed);  Lx->Add(ln);

    c->cd(i+1); h->Draw();
    c->GetPad(i+1)->SetLogy();
  }
  
  } break;//--------------------------------------
  
  case 2:{ sprintf(padTit,"ETOW Gain Study II, %s",core0);  
  can=new TCanvas("aa","aa",800,600);    TPad *c=makeTitle(can,padTit,page);
  gStyle->SetOptStat(0); int entries=0;
  leg = new TLegend(0.6,0.7,.9,.9);
  leg->SetHeader("Z vertex range (cm)");
  char **nameX=nameA;
  for(int i=0;i<4;i++) {
    char txt[100]; string entry;
    printf("->%s<\n",nameX[i]);
    h=(TH1*)fd->Get(nameX[i]);  assert(h);
    h->Rebin(10);
    if(i==0) entry="[-100,-50]"; if(i==1) entry="[-50,0]";
    if(i==2) {entry="[0,50]"; h->SetLineStyle(2);} 
    if(i==3) {entry="[50,100]"; h->SetLineStyle(2);}
    
    if(i==0) {h->Draw(); entries=h->GetEntries(); gPad->SetLogy(); h->SetTitle("Normalized Endcap Tower E");}
    else { h->SetLineColor(i+1); h->DrawNormalized("same",entries);}
    leg->AddEntry(h,Form("%s",entry),"l");
  }
  leg->Draw();
  } break;//--------------------------------------

  case 3:{ sprintf(padTit,"Beam Background I, %s",core0);  
  can=new TCanvas("aa","aa",800,600);    TPad *c=makeTitle(can,padTit,page);
  c->Divide(2,2); gStyle->SetOptStat(10);
    char **nameX=nameB;
    for(int i=0;i<4;i++) {
      char txt[100];
      printf("->%s<\n",nameX[i]);
      h=(TH1*)fd->Get(nameX[i]);  assert(h);
      c->cd(i+1); h->Draw("colz");
    }
  } break;//--------------------------------------
  
  case 4:{ sprintf(padTit,"Beam Background II, %s",core0);   
    can=new TCanvas("aa","aa",800,600);    TPad *c=makeTitle(can,padTit,page);
    c->Divide(2,2); gStyle->SetOptStat(10);
    char **nameX=nameC;
    for(int i=0;i<2;i++) {
      char txt[100];
      printf("->%s<\n",nameX[i]);
      h=(TH1*)fd->Get(nameX[i]);  assert(h);
      c->cd(i+1); h->Draw("colz");
    }  
  } break;//--------------------------------------

  case 5:{ sprintf(padTit,"Away Side Counters, %s",core0);   
    can=new TCanvas("aa","aa",800,600);    TPad *c=makeTitle(can,padTit,page);
    c->Divide(2,1);//gStyle->SetOptStat(0);
    char **nameX=nameD;
    for(int i=0;i<2;i++) {
      char txt[100];
      printf("->%s<\n",nameX[i]);
      h=(TH1*)fd->Get(nameX[i]);  assert(h);
      c->cd(i+1); h->Draw();
      c->GetPad(i+1)->SetLogy();
    }  
  } break;//--------------------------------------

  case 6:{ sprintf(padTit,"Away Side Conditions, %s",core0);   
    can=new TCanvas("aa","aa",800,600);    TPad *c=makeTitle(can,padTit,page);
    c->Divide(2,2);//gStyle->SetOptStat(0);
    char **nameX=nameE;
    for(int i=0;i<2;i++) {
      char txt[100];
      printf("->%s<\n",nameX[i]);
      h=(TH1*)fd->Get(nameX[i]);  assert(h);
      c->cd(i+1); h->Draw();
    }  
  } break;//--------------------------------------
    
    
    
  default:
    printf("page=%d NOT defined\n",page);
    return;
  }
  
 char text[100];
 sprintf(text,"%s%s_page%03d",oPath,core0,page);
 TString tit=text;
 can->SetTitle(tit);
 can->SetName(tit);

 
 if(pl&1) can->Print(tit+".gif");
 if(pl&2) can->Print(tit+".ps");
 
}
예제 #5
0
int main(int argc, char **argv) {
  int help=0;
  int arg=1;

  gasnet_handlerentry_t htable[] = { 
    { hidx_ping_shorthandler,  ping_shorthandler  },
    { hidx_pong_shorthandler,  pong_shorthandler  },
    { hidx_ping_medhandler,    ping_medhandler    },
    { hidx_pong_medhandler,    pong_medhandler    },
    { hidx_ping_longhandler,   ping_longhandler   },
    { hidx_pong_longhandler,   pong_longhandler   },

    { hidx_ping_shorthandler_flood,  ping_shorthandler_flood  },
    { hidx_pong_shorthandler_flood,  pong_shorthandler_flood  },
    { hidx_ping_medhandler_flood,    ping_medhandler_flood    },
    { hidx_pong_medhandler_flood,    pong_medhandler_flood    },
    { hidx_ping_longhandler_flood,   ping_longhandler_flood   },
    { hidx_pong_longhandler_flood,   pong_longhandler_flood   },

    { hidx_done_shorthandler,  done_shorthandler  }
  };

  GASNET_Safe(gasnet_init(&argc, &argv));

  mynode = gasnet_mynode();
  numnode = gasnet_nodes();

  arg = 1;
  while (argc > arg) {
    if (!strcmp(argv[arg], "-p")) {
#if GASNET_PAR
      pollers = atoi(argv[arg+1]);
      arg += 2;
#else
      if (0 == mynode) {
        fprintf(stderr, "testam %s\n", GASNET_CONFIG_STRING);
        fprintf(stderr, "ERROR: The -p option is only available in the PAR configuration.\n");
        fflush(NULL);
      }
      sleep(1);
      gasnet_exit(1);
#endif
    } else if (!strcmp(argv[arg], "-in")) {
      insegment = 1;
      ++arg;
    } else if (!strcmp(argv[arg], "-out")) {
      insegment = 0;
      ++arg;
    } else if (!strcmp(argv[arg], "-c")) {
      crossmachinemode = 1;
      ++arg;
    } else if (argv[arg][0] == '-') {
      help = 1;
      ++arg;
    } else break;
  }

  if (argc > arg) { iters = atoi(argv[arg]); ++arg; }
  if (!iters) iters = 1000;
  if (argc > arg) { maxsz = atoi(argv[arg]); ++arg; }
  if (!maxsz) maxsz = 2*1024*1024;
  if (argc > arg) { TEST_SECTION_PARSE(argv[arg]); ++arg; }

  GASNET_Safe(gasnet_attach(htable, sizeof(htable)/sizeof(gasnet_handlerentry_t),
                            TEST_SEGSZ_REQUEST, TEST_MINHEAPOFFSET));
#if GASNET_PAR
  test_init("testam", 1, "[options] (iters) (maxsz) (test_sections)\n"
               "  The '-in' or '-out' option selects whether the requestor's\n"
               "    buffer is in the GASNet segment or not (default is 'in').\n"
               "  The -p option gives the number of polling threads, specified as\n"
               "    a non-negative integer argument (default is no polling threads).\n"
               "  The -c option enables cross-machine pairing (default is nearest neighbor).\n");
#else
  test_init("testam", 1, "[options] (iters) (maxsz) (test_sections)\n"
               "  The '-in' or '-out' option selects whether the requestor's\n"
               "    buffer is in the GASNet segment or not (default is 'in').\n"
               "  The -c option enables cross-machine pairing (default is nearest neighbor).\n");
#endif
  if (help || argc > arg) test_usage();

  TEST_PRINT_CONDUITINFO();

  if (insegment) {
    myseg = TEST_MYSEG();
  } else {
    char *space = test_malloc(alignup(maxsz,PAGESZ) + PAGESZ);
    myseg = alignup_ptr(space, PAGESZ);
  }

  maxmed = MIN(maxsz, gasnet_AMMaxMedium());
  maxlongreq = MIN(maxsz, gasnet_AMMaxLongRequest());
  maxlongrep = MIN(maxsz, gasnet_AMMaxLongReply());

  if (crossmachinemode) {
    if ((numnode%2) && (mynode == numnode-1)) {
      sender = 1;
      peer = mynode;
    } else {
      gasnet_node_t half = numnode / 2;
      sender = (mynode < half);
      peer = sender ? (mynode + half) : (mynode - half);
    }
  } else {
    peer = mynode ^ 1;
    sender = mynode % 2 == 0;
    if (peer == numnode) {
      peer = mynode;
    }
  }

  recvr = !sender || (peer == mynode);

  peerseg = TEST_SEG(peer);

  BARRIER();

  if (mynode == 0) {
      printf("Running %sAM performance test with %i iterations"
#if GASNET_PAR
             " and %i extra recvr polling threads"
#endif
             "...\n",
             (crossmachinemode ? "cross-machine ": ""),
             iters
#if GASNET_PAR
             ,pollers
#endif
            );
      printf("   Msg Sz  Description                             Total time   Avg. time   Bandwidth\n"
             "   ------  -----------                             ----------   ---------   ---------\n");
      fflush(stdout);
  }
#if GASNET_PAR
  if (pollers)
    test_createandjoin_pthreads(pollers+1,doAll,NULL,0);
  else
#endif
    doAll(NULL);

  MSG("done.");

  gasnet_exit(0);
  return 0;
}