00001 #include "TSystem.h"
00002 #include "TString.h"
00003
00004 void RunHijing(const char *jobid="test")
00005 {
00006 Int_t nev=99999999;
00007
00008 TString input("/star/u/russcher/gamma/analysis/data/hijing/hijing.root");
00009
00010 TString outdir("/star/u/russcher/gamma/analysis/output/dAu/hijing/");
00011 TString psout("pi0_hijing.ps");
00012 TString rootout("pi0_hijing.root");
00013 psout.Prepend(jobid);
00014 rootout.Prepend(jobid);
00015 TString command("mkdir ");
00016 command.Append(outdir.Data());
00017 command.Append(jobid);
00018 gSystem->Exec(command.Data());
00019 cout<<endl<<"storing results in: "<<command.Data()<<endl<<endl;
00020 outdir.Append(jobid);
00021 outdir.Append("/");
00022
00023 psout.Prepend(outdir.Data());
00024 rootout.Prepend(outdir.Data());
00025
00026 gSystem->Load("MyEvent/MyEvent.so");
00027 gSystem->Load("gamma/analysis/lib/AnaCuts.so");
00028 gSystem->Load("gamma/analysis/lib/Pi0Analysis.so");
00029
00030 Pi0Analysis *pi0=new Pi0Analysis(psout.Data(),"dAu");
00031 pi0->setMC(kFALSE);
00032 pi0->setHijing(kTRUE);
00033 pi0->init(rootout.Data());
00034 pi0->make(nev,input.Data());
00035
00036 TH1F *h_mb=new TH1F(*pi0->getYield(0,"mb"));
00037 for(int i=1;i<=h_mb->GetNbinsX();i++){
00038 h_mb->SetBinContent(i,h_mb->GetBinContent(i)*h_mb->GetXaxis()->GetBinWidth(i));
00039 h_mb->SetBinError(i,h_mb->GetBinError(i)*h_mb->GetXaxis()->GetBinWidth(i));
00040 }
00041 TH1F *h_input=new TH1F(*(TH1F*)pi0->h_mcneutronsMB);
00042
00043 TCanvas *c=new TCanvas("c","c",400,600);
00044 c->Divide(1,2);
00045 c->cd(1);
00046 gPad->SetLogy();
00047 h_input->Draw();
00048 h_mb->Draw("same");
00049 h_mb->SetLineStyle(2);
00050 c->cd(2);
00051 TH1F *eff=new TH1F(*h_mb);
00052 eff->Divide(h_input);
00053 eff->Draw();
00054 c->cd(0);
00055 c->SaveAs("hijing.ps");
00056
00057 pi0->finish();
00058 }