#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 #include #include double mean; double stddev; float fillcolor=0.35; void calotb21() { gStyle->SetOptStat(111110); gSystem->mkdir(TString::Format("graph"), kTRUE); TFile *fin = TFile::Open("setup/build/LemmaMC.root"); fin->ls (); if (fin == 0) { printf("Error: cannot open the file!\n"); } else { int Idpart[5]= {-11,11,-13,13,22}; for (int i=0; i<5; i++){ gSystem->mkdir(TString::Format("graph/%d",Idpart[i]), kTRUE); for (int calorimetro=0; calorimetro <24; calorimetro++ ){ TTree *t=0; fin->GetObject("LEMMA",t); t->SetScanField(0); TCanvas *c01 = new TCanvas("c01","",1280,1024); c01->SetLogy(); t->SetLineColor(kBlue); TString outputname = TString::Format("graph/%d/Calo_EnDep[%d]_Idp=%d.pdf", Idpart[i],calorimetro,Idpart[i]); TString henestring = TString::Format("Calo_EnDep[%d] >> htemp(100., 0., 0.)", calorimetro); TString selection = TString::Format("Idp==%d", Idpart[i]); t->Draw(henestring, selection); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(""); TH1F *hene = (TH1F*)gPad->GetPrimitive("htemp"); hene->SetFillStyle(1001); hene->GetXaxis()->SetTitle("Energy (GeV)"); hene->GetYaxis()->SetTitle("Counts"); hene->GetXaxis()->SetLabelFont(43); hene->GetXaxis()->SetLabelSize(30); hene->GetYaxis()->SetLabelFont(43); hene->GetYaxis()->SetLabelSize(30); hene->GetXaxis()->SetTitleFont(43); hene->GetXaxis()->SetTitleSize(30); hene->GetYaxis()->SetTitleFont(43); hene->GetYaxis()->SetTitleSize(30); hene->SetFillColorAlpha(kBlue, fillcolor); mean=hene->GetMean(); stddev=hene->GetRMS(); hene->Draw(); hene->SetName("Title"); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* leg = new TLegend(0.65, 0.7, .75, .75); leg->SetHeader("Legend"); leg->SetNColumns(1); leg->AddEntry(hene, "Data", "l"); leg->Draw(); gPad->Update(); TPaveStats *stats = (TPaveStats*)hene->GetListOfFunctions()->FindObject("stats"); stats->SetTextColor(kBlue); stats->SetX1NDC(0.80); stats->SetX2NDC(0.98); stats->SetY1NDC(0.77); stats->SetY2NDC(0.92); gPad->Update(); if (mean !=0 && stddev !=0){ c01->Print(outputname); } delete c01; } } } }