#include "TFile.h" #include "TCanvas.h" #include "TStyle.h" #include "TH1.h" #include "TH2.h" #include "TH3.h" #include "TGaxis.h" #include "TRandom.h" #include "TLegend.h" #include "TPaveStats.h" #include "TGraph.h" #include "TSystem.h" #include "TTree.h" #include "TTreePlayer.h" #include "TF1.h" #include "TCut.h" #include "TPaletteAxis.h" void simlemmaev() { int n=3; int c_YTitleSize=25; int c_YTitleFont=43; double c_YTitleOffset=1.; int c_YLabelFont=43; int c_YLabelSize=25; int c_XTitleSize=25; int c_XTitleFont=43; double c_XTitleOffset=1.1; int c_XLabelFont=43; int c_XLabelSize=25; double c_XTitleOffsetTH3=2.; double c_YTitleOffsetTH3=2.; double c_ZTitleOffsetTH3=2.; float fillcolor=0.35; char dirin[50];//Directory where there is the input root file char dirout[50];//Main Directory where to save the output files char htempname[50]; char Event[50]; char direv[50]; sprintf(dirin, "C:/"); sprintf(dirout, "C:/"); sprintf(direv, "Events/"); sprintf(Event, "B1EventVariables"); sprintf(htempname, "Lemma"); TString myfilein = TString::Format("%sB1.root",dirin); gSystem->mkdir(TString::Format("%ssimulazione/", dirout), kTRUE); gSystem->mkdir(TString::Format("%ssimulazione/%s", dirout, direv), kTRUE); TString outfolder=TString::Format("%ssimulazione/",dirout); TString outfolderev=TString::Format("%ssimulazione/%s",dirout, direv); TString canvtitle = TString::Format("Simulation LEMMA"); gStyle->SetOptFit(); gStyle->SetOptStat(111110); TFile *fin = TFile::Open(myfilein); fin->ls (); TGaxis::SetMaxDigits(n); if (fin == 0) { printf("Error: cannot open the file!\n"); } else { TTree *te=0; fin->GetObject(Event,te); gStyle->SetOptFit(); gStyle->SetOptStat(111110); te->SetLineColor(kBlue); //---------------------------------------------------------------------EVENTS -------------------------------------------------------------// TCanvas *c18 = new TCanvas("c18",canvtitle,1280,1024); te->Draw(Form("ReleasedEnergy >> htemp(100, 0., 1.)")); te->GetHistogram()->SetTitle("Deposited Energy Target 1"); te->SetScanField(0); TH1F *htemprelenev= (TH1F*)gPad->GetPrimitive("htemp"); TF1 *fitev = new TF1("Fit", "landau"); htemprelenev->Fit("Fit"); htemprelenev->GetXaxis()->SetTitle("Energy (MeV)"); htemprelenev->GetYaxis()->SetTitle("Counts"); htemprelenev->GetYaxis()->SetTitleSize(c_YTitleSize); htemprelenev->GetYaxis()->SetTitleFont(c_YTitleFont); htemprelenev->GetYaxis()->SetTitleOffset(c_YTitleOffset); htemprelenev->GetYaxis()->SetLabelFont(c_YLabelFont); htemprelenev->GetYaxis()->SetLabelSize(c_YLabelSize); htemprelenev->GetXaxis()->SetTitleSize(c_XTitleSize); htemprelenev->GetXaxis()->SetTitleFont(c_XTitleFont); htemprelenev->GetXaxis()->SetTitleOffset(c_XTitleOffset); htemprelenev->GetXaxis()->SetLabelFont(c_XLabelFont); htemprelenev->GetXaxis()->SetLabelSize(c_XLabelSize); htemprelenev->SetFillStyle(1001); htemprelenev->SetFillColorAlpha(kBlue, fillcolor); htemprelenev->Draw(); htemprelenev->SetName(htempname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn c18->Update(); TLegend* legrelenev = new TLegend(0.25, 0.7, .35, .75); legrelenev->SetHeader("Legend"); legrelenev->SetNColumns(1); legrelenev->AddEntry(htemprelenev, "MC", "l"); legrelenev->AddEntry(fitev, "Fit", "l"); legrelenev->Draw(); c18->Update(); gPad->Modified(); gPad->Update(); TPaveStats *statsrelenev = (TPaveStats*)htemprelenev->GetListOfFunctions()->FindObject("stats"); statsrelenev->SetTextColor(kBlue); statsrelenev->SetX1NDC(0.70); statsrelenev->SetX2NDC(0.98); statsrelenev->SetY1NDC(0.67); statsrelenev->SetY2NDC(0.92); gPad->Update(); c18->Print("C:/simulazione/Events/Events_01.pdf"); delete c18; TCanvas *c19 = new TCanvas("c19",canvtitle,1280,1024); te->Draw(Form("ReleasedEnergy2 >> htemp(100, 0., 1)")); te->GetHistogram()->SetTitle("Deposited Energy Target 2"); te->SetScanField(0); TH1F *htemprelenev2= (TH1F*)gPad->GetPrimitive("htemp"); TF1 *fitev2 = new TF1("Fit2", "landau"); htemprelenev2->Fit("Fit2"); htemprelenev2->GetXaxis()->SetTitle("Energy (MeV)"); htemprelenev2->GetYaxis()->SetTitle("Counts"); htemprelenev2->GetYaxis()->SetTitleSize(c_YTitleSize); htemprelenev2->GetYaxis()->SetTitleFont(c_YTitleFont); htemprelenev2->GetYaxis()->SetTitleOffset(c_YTitleOffset); htemprelenev2->GetYaxis()->SetLabelFont(c_YLabelFont); htemprelenev2->GetYaxis()->SetLabelSize(c_YLabelSize); htemprelenev2->GetXaxis()->SetTitleSize(c_XTitleSize); htemprelenev2->GetXaxis()->SetTitleFont(c_XTitleFont); htemprelenev2->GetXaxis()->SetTitleOffset(c_XTitleOffset); htemprelenev2->GetXaxis()->SetLabelFont(c_XLabelFont); htemprelenev2->GetXaxis()->SetLabelSize(c_XLabelSize); htemprelenev2->SetFillStyle(1001); htemprelenev2->SetFillColorAlpha(kBlue, fillcolor); htemprelenev2->Draw(); htemprelenev2->SetName(htempname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn c19->Update(); TLegend* legrelenev2 = new TLegend(0.25, 0.7, .35, .75); legrelenev2->SetHeader("Legend"); legrelenev2->SetNColumns(1); legrelenev2->AddEntry(htemprelenev2, "MC", "l"); legrelenev2->AddEntry(fitev2, "Fit", "l"); legrelenev2->Draw(); c19->Update(); gPad->Modified(); gPad->Update(); TPaveStats *statsrelenev2 = (TPaveStats*)htemprelenev2->GetListOfFunctions()->FindObject("stats"); statsrelenev2->SetTextColor(kBlue); statsrelenev2->SetX1NDC(0.80); statsrelenev2->SetX2NDC(0.98); statsrelenev2->SetY1NDC(0.77); statsrelenev2->SetY2NDC(0.92); gPad->Update(); c19->Print("C:/simulazione/Events/Events_02.pdf"); delete c19; } }