Hi @couet, you code works, but I’m trying to use it also for the second pad then I get error.
In the first pad I’ve
c25->cd(1);
TH2F *henecdsubstringcutrelTHF = new TH2F("henecdsubstringcutrelTHF", "", 10000, 0., 0.,10000., 0.,0.);
TString what = TString::Format("Calo_EnDep[%d] : Calo_EnDep[%d]>> henecdsubstringcutrelTHF", d, c);
t->Draw(what, cut && cut3sub && cut4sub && !cut5sub && !cut5sub2);
gPad->Modified();
gPad->Update(); // make sure it's really (re)drawn
henecdsubstringcutrelTHF->SetTitle(cdhenecdsubstringcutrelTHFname);
henecdsubstringcutrelTHF->GetXaxis()->SetTitle(cdeneXnameabenecvsd);
henecdsubstringcutrelTHF->GetYaxis()->SetTitle(cdeneYnameabenecvsd);
henecdsubstringcutrelTHF->GetYaxis()->SetTitleSize(c2_YTitleSize);
henecdsubstringcutrelTHF->GetYaxis()->SetTitleFont(c2_YTitleFont);
henecdsubstringcutrelTHF->GetYaxis()->SetTitleOffset(c2_YTitleOffset);
henecdsubstringcutrelTHF->GetYaxis()->SetLabelFont(c2_YLabelFont);
henecdsubstringcutrelTHF->GetYaxis()->SetLabelSize(c2_YLabelSize);
henecdsubstringcutrelTHF->GetXaxis()->SetTitleSize(c2_XTitleSize);
henecdsubstringcutrelTHF->GetXaxis()->SetTitleFont(c2_XTitleFont);
henecdsubstringcutrelTHF->GetXaxis()->SetTitleOffset(c2_XTitleOffset);
henecdsubstringcutrelTHF->GetXaxis()->SetLabelFont(c2_XLabelFont);
henecdsubstringcutrelTHF->GetXaxis()->SetLabelSize(c2_XLabelSize);
henecdsubstringcutrelTHF->Draw("COLZ");
henecdsubstringcutrelTHF->SetName(heneabname);
gPad->Modified();
gPad->Update(); // make sure it's really (re)drawn
TH1 *hh = henecdsubstringcutrelTHF->DrawCopy("colz"); // creates all axes
gPad->Modified();
gPad->Update(); // make sure it's really (re)drawn
TPaletteAxis * palette = (TPaletteAxis *) hh->GetListOfFunctions()->FindObject("palette");
palette->SetX1NDC(0.86);
palette->SetX2NDC(0.90);
palette->SetY1NDC(0.20);
palette->SetY2NDC(0.80);
c25->Modified();
c25->Update();
TLegend* leghenecdsubstringcutrelTHF = new TLegend(0.65, 0.7, .75, .75);
leghenecdsubstringcutrelTHF->SetHeader("Legend");
leghenecdsubstringcutrelTHF->SetNColumns(1);
leghenecdsubstringcutrelTHF->AddEntry(hh, "Data", "l");
leghenecdsubstringcutrelTHF->Draw();
gPad->Update();
TPaveStats *statsghenecdsubstringcutrelTHF = (TPaveStats*)hh->GetListOfFunctions()->FindObject("stats");
statsghenecdsubstringcutrelTHF->SetTextColor(kBlue);
statsghenecdsubstringcutrelTHF->SetX1NDC(0.80); statsghenecdsubstringcutrelTHF->SetX2NDC(0.98);
statsghenecdsubstringcutrelTHF->SetY1NDC(0.77); statsghenecdsubstringcutrelTHF->SetY2NDC(0.92);
gPad->Update();
In the second one I wrote:
c25->cd(2);
TH2F *henecdsubstringcutrelTHFsumdiff = new TH2F("henecdsubstringcutrelTHFsumdiff", "", 10000, 0., 0., 10000, 0., 0.);
TString whatsumdiff = TString::Format("(Calo_EnDep[%d] - Calo_EnDep[%d]) : (Calo_EnDep[%d] + Calo_EnDep[%d])>> henecdsubstringcutrelTHFsumdiff", c, d,c,d);
t->Draw(whatsumdiff, cut && cut3sub && cut4sub && !cut5sub && !cut5sub2);
gPad->Modified();
gPad->Update(); // make sure it's really (re)drawn
henecdsubstringcutrelTHFsumdiff->SetTitle(cdhenecdsubstringcutrelTHFnamesumdiff);
henecdsubstringcutrelTHFsumdiff->GetXaxis()->SetTitle(cdeneXnameabenecvsdsumdiff);
henecdsubstringcutrelTHFsumdiff->GetYaxis()->SetTitle(cdeneYnameabenecvsdsumdiff);
henecdsubstringcutrelTHFsumdiff->GetYaxis()->SetTitleSize(c2_YTitleSize);
henecdsubstringcutrelTHFsumdiff->GetYaxis()->SetTitleFont(c2_YTitleFont);
henecdsubstringcutrelTHFsumdiff->GetYaxis()->SetTitleOffset(c2_YTitleOffset);
henecdsubstringcutrelTHFsumdiff->GetYaxis()->SetLabelFont(c2_YLabelFont);
henecdsubstringcutrelTHFsumdiff->GetYaxis()->SetLabelSize(c2_YLabelSize);
henecdsubstringcutrelTHFsumdiff->GetXaxis()->SetTitleSize(c2_XTitleSize);
henecdsubstringcutrelTHFsumdiff->GetXaxis()->SetTitleFont(c2_XTitleFont);
henecdsubstringcutrelTHFsumdiff->GetXaxis()->SetTitleOffset(c2_XTitleOffset);
henecdsubstringcutrelTHFsumdiff->GetXaxis()->SetLabelFont(c2_XLabelFont);
henecdsubstringcutrelTHFsumdiff->GetXaxis()->SetLabelSize(c2_XLabelSize);
henecdsubstringcutrelTHFsumdiff->Draw("COLZ");
henecdsubstringcutrelTHFsumdiff->SetName(heneabname);
gPad->Modified();
gPad->Update(); // make sure it's really (re)drawn
TH1 *hh2 = henecdsubstringcutrelTHFsumdiff->DrawCopy("colz"); // creates all axes
gPad->Modified();
gPad->Update(); // make sure it's really (re)drawn
TPaletteAxis * palette2 = (TPaletteAxis *) hh2->GetListOfFunctions()->FindObject("palette");
palette2->SetX1NDC(0.86);
palette2->SetX2NDC(0.90);
palette2->SetY1NDC(0.20);
palette2->SetY2NDC(0.80);
c25->Modified();
c25->Update();
TLegend* leghenecdsubstringcutrelTHFsumdiff = new TLegend(0.65, 0.7, .75, .75);
leghenecdsubstringcutrelTHFsumdiff->SetHeader("Legend");
leghenecdsubstringcutrelTHFsumdiff->SetNColumns(1);
leghenecdsubstringcutrelTHFsumdiff->AddEntry(hh2, "Data", "l");
leghenecdsubstringcutrelTHFsumdiff->Draw();
gPad->Update();
TPaveStats *statsghenecdsubstringcutrelTHFsumdiff = (TPaveStats*)henecdsubstringcutrelTHFsumdiff->GetListOfFunctions()->FindObject("stats");
statsghenecdsubstringcutrelTHFsumdiff->SetTextColor(kBlue);
statsghenecdsubstringcutrelTHFsumdiff->SetX1NDC(0.80); statsghenecdsubstringcutrelTHFsumdiff->SetX2NDC(0.98);
statsghenecdsubstringcutrelTHFsumdiff->SetY1NDC(0.77); statsghenecdsubstringcutrelTHFsumdiff->SetY2NDC(0.92);
gPad->Update();
c25->Print(myplothenecdsubstringcutrelTHF);
but I get this error:
I copied all the code of first pad, just replacing the name:
henecdsubstringcutrelTHF -> henecdsubstringcutrelTHFsumdiff
hh->hh2
palette->palette2
etc.
calo.C (938.3 KB)