void translate() { c = new TCanvas("c","c",200,10,700,500); c->Divide(2,1); TH1 *h1 = new TH1F("h1","h1",100,-4,4); gRandom->SetSeed(); Float_t px, py; for (Int_t i = 0; i < 25000; i++) { gRandom->Rannor(px,py); Float_t random = gRandom->Rndm(1); h1->Fill(px); } c->cd(1); h1->Draw(); c->cd(2); TranslateTH1(h1,2.)->Draw(); } TH1 *TranslateTH1(TH1 *h, Double_t t) { Double_t xmin = h->GetXaxis()->GetXmin()+t; Double_t xmax = h->GetXaxis()->GetXmax()+t; Int_t n = h->GetNbinsX(); TH1 *ht = new TH1F("translated", h->GetTitle(), n, xmin, xmax); for (int i=1; i<=n; i++) { ht->SetBinContent(i,h->GetBinContent(i)); } ht->SetEntries(h->GetEntries()); return ht; }