// Assuming that "h1" and "h2" have EXACTLY the same x-bins' edges ...
TH1F *h3 = new TH1F(*h1);
h3->SetNameTitle("h3", "min(h1, h2)");
h3->Reset("M");
for (int i = 1; i <= h3->GetNbinsX(); i++)
h3->Fill(h3->GetBinCenter(i),
TMath::Min(h1->GetBinContent(i), h2->GetBinContent(i)));
std::cout << h3->Integral() << std::endl;
std::cout << h3->Integral("width") << std::endl;