#include "TCanvas.h" #include "TPad.h" #include "TMultiGraph.h" #include "TGraph.h" #include "TGraphErrors.h" #include "TAxis.h" #include "TLegend.h" #include "TLatex.h" #include "TROOT.h" #include "TPaveStats.h" #include "TStyle.h" #include void urto() { const char *datain = "C:/data.txt"; const char *dataout = "C:/simulazione/urto_legno_catetometro.png"; TCanvas *c01 = new TCanvas("c01","multigraph",1280,1024); //c01->SetGrid(); float offx=1.3; float offy=1.3; float margr=0.08; float w=3; float margl=0.12; float line=2; // float ymax=1.0E6; gPad->SetLeftMargin(margl); gPad->SetRightMargin(margr); TGraphErrors *gamma = new TGraphErrors(datain,"%lg %lg 0 %lg"); //for(int i = 0; i < gamma->GetN(); i++) { // gamma->SetPointError(i, 0.0, TMath::Sqrt(gamma->GetY()[i])); //} // ex = 0.0 or 0.3 or 0.5 gamma->SetMarkerColor(kBlue); gamma->SetLineColor(kBlue); gamma->SetMarkerStyle(3); gamma->SetMarkerSize(1.3); gamma->SetLineWidth(line); TF1 *fitspettro = new TF1("fitspettro", "pol1", 0,5); TPaveText *t=new TPaveText(0.7,0.85,0.75,0.9,"brNDC"); fitspettro->SetParName(0,"q"); fitspettro->SetParName(1,"k"); //fitspettro->SetParameter(3,300); //fitspettro->SetParLimits(0,0,0.6); //fitspettro->SetParLimits(1,-1,1); fitspettro->SetLineColor(kRed+2); gamma->Fit("fitspettro","+"); fitspettro->SetLineWidth(line); fitspettro->Draw(); gamma->Draw("ap"); fitspettro->GetYaxis()->SetTitleOffset(offy); fitspettro->GetXaxis()->SetTitleOffset(offx); gamma->SetTitle(""); gamma->GetXaxis()->SetTitle("Collision"); gamma->GetYaxis()->SetTitle("ln(h_{0}/1m)"); gamma->GetYaxis()->SetTitleOffset(offy); gamma->GetXaxis()->SetTitleOffset(offx); TLegend* leg = new TLegend(0.75, 0.75, .85, .85); leg->SetHeader("Legend"); leg->SetNColumns(1); leg->AddEntry(gamma, "Data", "ap"); leg->AddEntry(fitspettro, "Fit", "l"); leg->Draw(); gPad->Update(); /*TPaveStats *stat = (TPaveStats*)(gamma->FindObject("stats")); stat->SetTextColor(kRed+2); stat->SetX1NDC(0.85); stat->SetX2NDC(0.98); stat->SetY1NDC(0.79); stat->SetY2NDC(0.94);*/ gPad->Update(); gPad->Update(); c01->Print(dataout); }