void CanvasPartition(TCanvas *C,const Int_t Nx = 2,const Int_t Ny = 2, Float_t lMargin = 0.15, Float_t rMargin = 0.05, Float_t bMargin = 0.15, Float_t tMargin = 0.05); void try1() { gStyle->SetOptStat(0); TCanvas *C = (TCanvas*) gROOT->FindObject("C"); if (C) delete C; C = new TCanvas("C","canvas",640,1024); C->SetFillStyle(4000); // Number of PADS const Int_t Nx = 1; const Int_t Ny = 6; // Margins Float_t lMargin = 0.12; Float_t rMargin = 0.05; Float_t bMargin = 0.05; Float_t tMargin = 0.05; // Canvas setup CanvasPartition(C,Nx,Ny,lMargin,rMargin,bMargin,tMargin); TPad *pad[Nx][Ny]; C->cd(0); // Get the pads previously created. char pname[16]; sprintf(pname,"pad_%i_%i",0,0); pad[0][0] = (TPad*) gROOT->FindObject(pname); pad[0][0]->Draw(); pad[0][0]->SetFillStyle(4000); pad[0][0]->SetFrameFillStyle(4000); pad[0][0]->cd(); // Size factors Float_t xFactor = pad[0][0]->GetAbsWNDC()/pad[0][0]->GetAbsWNDC(); Float_t yFactor = pad[0][0]->GetAbsHNDC()/pad[0][0]->GetAbsHNDC(); char hname[16]; sprintf(hname,"h_%i_%i",0,0); TGraphErrors *g = new TGraphErrors("with_err.txt"); g->GetXaxis()->SetLabelSize(0.08); g->GetYaxis()->SetLabelSize(0.08); g->GetXaxis()->SetLabelFont(62); g->GetYaxis()->SetLabelFont(62); //g->GetXaxis()-> SetRangeUser(40., 136.); g->SetMarkerStyle(24); g->SetMarkerColor(1); g->SetLineColor(1); //g->GetXaxis()-> SetRangeUser(40., 136.); if (g->GetN() > 0) g->Draw("APL"); // second hist C->cd(0); // Get the pads previously created. sprintf(pname,"pad_%i_%i",0,1); pad[0][1] = (TPad*) gROOT->FindObject(pname); pad[0][1]->Draw(); pad[0][1]->SetFillStyle(4000); pad[0][1]->SetFrameFillStyle(4000); pad[0][1]->cd(); // Size factors xFactor = pad[0][0]->GetAbsWNDC()/pad[0][1]->GetAbsWNDC(); yFactor = pad[0][0]->GetAbsHNDC()/pad[0][1]->GetAbsHNDC(); sprintf(hname,"h_%i_%i",0,1); TFile *file4=TFile::Open("file4_treeFF01.root"); TTree *tree4=(TTree*)file4->Get("Analysis"); TH1D*h4 = new TH1D("h4","",96.,40.,136.); tree4->Draw("M_Tot>>h4"); h4->Draw("E1"); C->cd(0); // Get the pads previously created. sprintf(pname,"pad_%i_%i",0,2); pad[0][2] = (TPad*) gROOT->FindObject(pname); pad[0][2]->Draw(); pad[0][2]->SetFillStyle(4000); pad[0][2]->SetFrameFillStyle(4000); pad[0][2]->cd(); // Size factors xFactor = pad[0][0]->GetAbsWNDC()/pad[0][2]->GetAbsWNDC(); yFactor = pad[0][0]->GetAbsHNDC()/pad[0][2]->GetAbsHNDC(); sprintf(hname,"h_%i_%i",0,2); TFile *file3=TFile::Open("file3_treeFF01.root"); TTree *tree3=(TTree*)file3->Get("Analysis"); TH1D*h3 = new TH1D("h3","",96.,40.,136.); tree3->Draw("M_Tot>>h3"); h3->Draw("E1"); C->cd(0); // Get the pads previously created. sprintf(pname,"pad_%i_%i",0,3); pad[0][3] = (TPad*) gROOT->FindObject(pname); pad[0][3]->Draw(); pad[0][3]->SetFillStyle(4000); pad[0][3]->SetFrameFillStyle(4000); pad[0][3]->cd(); // Size factors xFactor = pad[0][0]->GetAbsWNDC()/pad[0][3]->GetAbsWNDC(); yFactor = pad[0][0]->GetAbsHNDC()/pad[0][3]->GetAbsHNDC(); sprintf(hname,"h_%i_%i",0,3); TFile *file2=TFile::Open("file2_treeFF01.root"); TTree *tree2=(TTree*)file2->Get("Analysis"); TH1D*h2 = new TH1D("h2","",96.,40.,136.); tree2->Draw("M_Tot>>h2"); h2->Draw("E1"); C->cd(0); // Get the pads previously created. sprintf(pname,"pad_%i_%i",0,4); pad[0][4] = (TPad*) gROOT->FindObject(pname); pad[0][4]->Draw(); pad[0][4]->SetFillStyle(4000); pad[0][4]->SetFrameFillStyle(4000); pad[0][4]->cd(); // Size factors xFactor = pad[0][0]->GetAbsWNDC()/pad[0][4]->GetAbsWNDC(); yFactor = pad[0][0]->GetAbsHNDC()/pad[0][4]->GetAbsHNDC(); sprintf(hname,"h_%i_%i",0,4); TFile *file1=TFile::Open("file1_treeFF01.root"); TTree *tree1=(TTree*)file1->Get("Analysis"); TH1D*h1 = new TH1D("h1","",96.,40.,136.); tree1->Draw("M_Tot>>h1"); h1->Draw("E1"); C->cd(0); // Get the pads previously created. sprintf(pname,"pad_%i_%i",0,5); pad[0][5] = (TPad*) gROOT->FindObject(pname); pad[0][5]->Draw(); pad[0][5]->SetFillStyle(4000); pad[0][5]->SetFrameFillStyle(4000); pad[0][5]->cd(); // Size factors xFactor = pad[0][0]->GetAbsWNDC()/pad[0][5]->GetAbsWNDC(); yFactor = pad[0][0]->GetAbsHNDC()/pad[0][5]->GetAbsHNDC(); sprintf(hname,"h_%i_%i",0,5); TFile *file1_2D=TFile::Open("RAW158OS_treeFF01.root"); TTree *tree1_2D=(TTree*)file1_2D->Get("Analysis_Fis"); TH2D*h1_2D = new TH2D("h1_2D","",88.,44.,132., 88., 77., 165.); h1_2D->GetXaxis()->SetLabelSize(0.08); h1_2D->GetYaxis()->SetLabelSize(0.08); h1_2D->GetXaxis()->SetLabelFont(62); h1_2D->GetYaxis()->SetLabelFont(62); tree1_2D->Draw("Tke_Fis_Rel_F1F2:M_Tot>>h1_2D"); h1_2D->Draw("colz"); } void CanvasPartition(TCanvas *C,const Int_t Nx,const Int_t Ny, Float_t lMargin, Float_t rMargin, Float_t bMargin, Float_t tMargin) { if (!C) return; // Setup Pad layout: Float_t vSpacing = 0.0; Float_t vStep = (1.- bMargin - tMargin - (Ny-1) * vSpacing) / Ny; Float_t hSpacing = 0.0; Float_t hStep = (1.- lMargin - rMargin - (Nx-1) * hSpacing) / Nx; Float_t vposd,vposu,vmard,vmaru,vfactor; Float_t hposl,hposr,hmarl,hmarr,hfactor; for (Int_t i=0;icd(0); char name[16]; sprintf(name,"pad_%i_%i",i,j); TPad *pad = (TPad*) gROOT->FindObject(name); if (pad) delete pad; pad = new TPad(name,"",hposl,vposd,hposr,vposu); pad->SetLeftMargin(hmarl); pad->SetRightMargin(hmarr); pad->SetBottomMargin(vmard); pad->SetTopMargin(vmaru); pad->SetFrameBorderMode(0); pad->SetBorderMode(0); pad->SetBorderSize(0); pad->Draw(); } } }