#include #include #include #include #include #include #include "TROOT.h" #include "TFile.h" #include "TTree.h" #include "TBranch.h" #include "TNtuple.h" #include "TPostScript.h" #include "TH1.h" #include "TH2.h" #include "TCanvas.h" #include "TStyle.h" #include "TGraphErrors.h" #include "TGaxis.h" #include "TLatex.h" using namespace std; void makeslide_cbelsa_all() { TFile *f = new TFile("result_cross_50_sigma.root"); TFile *g = new TFile("get_cbelsa2.root"); TFile *g2 = new TFile("get_CB2.root"); TFile hh ("tes.root", "RECREATE", "Cross Sections from histos"); TH1D *h2[80]; TH1D *h3[22]; TH1D *h3b[22]; TH1D *ratio = new TH1D("ratio","ratio",40,0,2); char name[100], name1[100], name2[100]; char NPad[100]; char NCanvas[100]; float mp =0.93827201; float wcenter; //int wilbin; float xmin = -1.0; float xmax = 1.0; float ymin = 0.0; float ymax = /*0.12*/0.1; int divx = 5; int divy = 4; bool ylog =0; int binenergy = 18; char xaxis[100]=" cos #theta^{K}_{cm}"; char yaxis[100]=" d#sigma/d#Omega [#mub]"; for (int i=0; i<40; i++) { float elow = 1.15+(.05*i); sprintf(name1,"data_cross_E%f",elow); h2[i] = (TH1D*)f->Get(name1); h2[i]->Sumw2(); } for (int i=0; i<11; i++) { float ener = 1.15+(.1*i); sprintf(name1,"data_cross_E%f",ener); h3[2*i] = (TH1D*)g->Get(name1); h3[2*i]->Sumw2(); h3[2*i+1] = (TH1D*)g->Get(name1); h3[2*i+1]->Sumw2(); } for (int i=0; i<11; i++) { float ener = 1.15+(.1*i); sprintf(name1,"data_cross_E%f",ener); h3b[2*i] = (TH1D*)g2->Get(name1); h3b[2*i]->Sumw2(); h3b[2*i+1] = (TH1D*)g2->Get(name1); h3b[2*i+1]->Sumw2(); } TLatex xTitle,yTitle; TGaxis *yax,*xax; Float_t small = 1e-5; gROOT->SetStyle("Plain"); gStyle->SetOptTitle(0); gStyle->SetOptStat(0000000); gStyle->SetPadBorderMode(0); gStyle->SetFrameBorderMode(0); gStyle->SetLabelSize(.1,"Y"); gStyle->SetLabelSize(.1,"X"); //gStyle->SetErrorY(0); //gROOT->SetBatch(); TCanvas *tC; TPad *c; sprintf(NCanvas,"tC_cross"); sprintf(NPad,"c_cross"); tC = new TCanvas(NCanvas,"omega",30,10,700,500); gPad->SetFillStyle(0); gPad->SetFrameFillStyle(0); c = new TPad(NPad,"pad", .1, .1, .95, .95); gPad->SetFillStyle(0); //gPad->SetFillStyle(1001); gPad->SetFrameFillStyle(0); c->Draw(); c->Divide(divx,divy,small,small); for (int e=0; e<20; e++) { //fortest c->cd(e+1); //float Eg = 1.1 + (.1 *(e))+0.05; gPad->SetFillStyle(0); gPad->SetFrameFillStyle(0); gPad->SetTopMargin(small); gPad->SetBottomMargin(small); gPad->SetRightMargin(small); gPad->SetLeftMargin(small); if(ylog==1){ gPad->SetLogy(); } //keepthis int wilbin = e; h2[e]->SetMaximum(ymax); h2[e]->SetMinimum(ymin); h2[e]->SetAxisRange(xmin,xmax); h2[e]->SetLineColor(kBlack); h2[e]->SetMarkerColor(1); h2[e]->SetMarkerStyle(20); h2[e]->SetMarkerSize(0.5); h2[e]->Draw("P "); h2[e]->Write(); h3[wilbin]->SetMaximum(ymax); h3[wilbin]->SetMinimum(ymin); h3[wilbin]->SetAxisRange(xmin,xmax); h3[wilbin]->SetLineColor(kBlue); h3[wilbin]->SetMarkerColor(4); h3[wilbin]->SetMarkerStyle(21); h3[wilbin]->SetMarkerSize(0.5); h3[wilbin]->Draw("P SAME"); h3[wilbin]->Write(); h3b[wilbin]->SetMaximum(ymax); h3b[wilbin]->SetMinimum(ymin); h3b[wilbin]->SetAxisRange(xmin,xmax); h3b[wilbin]->SetLineColor(kRed); h3b[wilbin]->SetMarkerColor(2); h3b[wilbin]->SetMarkerStyle(22); h3b[wilbin]->SetMarkerSize(0.5); h3b[wilbin]->Draw("P SAME"); h3b[wilbin]->Write(); // ///////////////////////////////// // Titles for individual plots // ///////////////////////////////// TLatex plotTitle; char title[200]; float min = 1.15+(e)*0.05; float max = 1.20+(e)*0.05; sprintf(title,"%3.2f < E < %3.2f GeV",min,max); plotTitle.SetTextSize(0.092); plotTitle.DrawLatex(-0.7,0.085,title); TLatex plotTitle2; char title2[200]; //float min = 1.15+(e)*0.05; //float max = 1.2+(e)*0.05; //sprintf(title,"%3.2f < E < %3.2f",min,max); sprintf(title2,"+ : g11"); plotTitle2.SetTextSize(0.09); plotTitle2.SetTextColor(2); plotTitle2.DrawLatex(-0.9,2.5,title2); TLatex plotTitle3; char title3[200]; //float min = 1.15+(e)*0.05; //float max = 1.2+(e)*0.05; //sprintf(title,"%3.2f < E < %3.2f",min,max); sprintf(title3,"+ : g12"); plotTitle3.SetTextSize(0.09); plotTitle3.DrawLatex(-0.9,5.5,title3); } // ////////// // Axes // ////////// tC->cd(); for(int i=0;i<4;i++) { if(ylog==1){ yax = new TGaxis(.1,(((.95-.1)/divy)*i)+.1,.1,(((.95-.1)/divy)*(i+1))+.1,ymin,ymax,3,"+G"); } else{ yax = new TGaxis(.1,(((.95-.1)/divy)*i)+.1,.1,(((.95-.1)/divy)*(i+1))+.1,ymin,ymax,3,"+"); } yax->SetLabelSize(.025); yax->SetLabelOffset(-.015); yax->Draw(); } for (int i=0;i<5;i++) { xax = new TGaxis((((.95-.1)/divx)*i)+.1,.1,(((.95-.1)/divx)*(i+1))+.1,.1,xmin,xmax,5,"-"); xax->SetLabelSize(.025); xax->SetLabelOffset(-.03); xax->Draw(); } /////////////////// // Axes labeling // /////////////////// keep this off at the moment xTitle.SetTextSize(0.037); xTitle.DrawLatex(0.5,0.02,xaxis); yTitle.SetTextSize(0.035); yTitle.SetTextAngle(90); yTitle.DrawLatex(0.04,0.45,yaxis); //sprintf(name,file); // tC->Print("Crossomega_using_MKcorrection_2.eps");//this is the latest tC->Print("cross_all.eps"); }