{ TCanvas *c1 = new TCanvas("c1", "c1",700,500); c1->Divide(2,1); TH1F *h_InvMass = new TH1F("h_InvMass","InvMass",65,1070,1200); h_InvMass->SetBinContent(4,306); h_InvMass->SetBinContent(5,7342); h_InvMass->SetBinContent(6,9612); h_InvMass->SetBinContent(7,11005); h_InvMass->SetBinContent(8,12185); h_InvMass->SetBinContent(9,12853); h_InvMass->SetBinContent(10,13421); h_InvMass->SetBinContent(11,13750); h_InvMass->SetBinContent(12,13802); h_InvMass->SetBinContent(13,13839); h_InvMass->SetBinContent(14,14108); h_InvMass->SetBinContent(15,13950); h_InvMass->SetBinContent(16,14388); h_InvMass->SetBinContent(17,14731); h_InvMass->SetBinContent(18,15366); h_InvMass->SetBinContent(19,17777); h_InvMass->SetBinContent(20,21282); h_InvMass->SetBinContent(21,29030); h_InvMass->SetBinContent(22,47626); h_InvMass->SetBinContent(23,71254); h_InvMass->SetBinContent(24,51273); h_InvMass->SetBinContent(25,26755); h_InvMass->SetBinContent(26,17630); h_InvMass->SetBinContent(27,14348); h_InvMass->SetBinContent(28,12931); h_InvMass->SetBinContent(29,12170); h_InvMass->SetBinContent(30,11809); h_InvMass->SetBinContent(31,11391); h_InvMass->SetBinContent(32,11066); h_InvMass->SetBinContent(33,10803); h_InvMass->SetBinContent(34,10717); h_InvMass->SetBinContent(35,10540); h_InvMass->SetBinContent(36,10124); h_InvMass->SetBinContent(37,10095); h_InvMass->SetBinContent(38,9731); h_InvMass->SetBinContent(39,9858); h_InvMass->SetBinContent(40,9723); h_InvMass->SetBinContent(41,9429); h_InvMass->SetBinContent(42,9390); h_InvMass->SetBinContent(43,9230); h_InvMass->SetBinContent(44,8893); h_InvMass->SetBinContent(45,8946); h_InvMass->SetBinContent(46,8949); h_InvMass->SetBinContent(47,8769); h_InvMass->SetBinContent(48,8811); h_InvMass->SetBinContent(49,8571); h_InvMass->SetBinContent(50,8397); h_InvMass->SetBinContent(51,8307); h_InvMass->SetBinContent(52,8225); h_InvMass->SetBinContent(53,8032); h_InvMass->SetBinContent(54,7955); h_InvMass->SetBinContent(55,7946); h_InvMass->SetBinContent(56,8029); h_InvMass->SetBinContent(57,7796); h_InvMass->SetBinContent(58,7815); h_InvMass->SetBinContent(59,7565); h_InvMass->SetBinContent(60,7516); h_InvMass->SetBinContent(61,7497); h_InvMass->SetBinContent(62,7331); h_InvMass->SetBinContent(63,7369); h_InvMass->SetBinContent(64,7279); h_InvMass->SetBinContent(65,7091); h_InvMass->SetBinContent(66,829831); h_InvMass->SetEntries(1653560); h_InvMass->SetStats(0); TH1F * h_InvMass_full = h_InvMass->Clone("h_InvMass_full"); h_InvMass->SetTitle("Partial fit"); h_InvMass_full->SetTitle("Full fit"); TF1 * fsig = new TF1("fsig", "gaus(0)+gaus(3)", 1100, 1150); TF1 * fbg = new TF1("fbg", "pol1(0)", 1100, 1150); TF1 * fit_sum = new TF1("fit_sum", "fsig+fbg", 1100, 1150); TF1 * fit_full = new TF1("fit_full", "gaus(0)+gaus(3)+pol1(6)", 1100, 1150); double fit_args[8] = { 30000, 1115, 5, 30000, 1115, 5, 100, -0.1 }; for (int i = 0; i < 8; ++i) { std::cout << fit_args[i] << std::endl; fit_sum->SetParameter(i, fit_args[i]); fit_full->SetParameter(i, fit_args[i]); } c1->cd(1); h_InvMass->Draw(); h_InvMass->Fit(fit_sum, "", "same", 1100, 1150); c1->cd(2); h_InvMass_full->Draw(); h_InvMass_full->Fit(fit_full, "", "same", 1100, 1150); }