{ TCanvas *c1 = new TCanvas("likenessb", "likenessb", 900, 700); TCanvas *c2 = new TCanvas("likenessc", "likenessc", 900, 700); TCanvas *c3 = new TCanvas("output", "output", 900, 700); c1->Divide(1,0); c2->Divide(1,0); c3->Divide(1,0); /*TH1F *hblikeness_tb = new TH1F("hblikeness_tb", "blikeness1db", 20, 0., 1.); TH1F *hclikeness_tb = new TH1F("hclikeness_tb", "clikeness1db", 20, 0., 1.); TH1F *hblikeness_tc = new TH1F("hblikeness_tc", "blikeness1dc", 20, 0., 1.); TH1F *hclikeness_tc = new TH1F("hclikeness_tc", "clikeness1dc", 20, 0., 1.); TH1F *hblikeness_tg = new TH1F("hblikeness_tg", "blikeness1dc", 20, 0., 1.); TH1F *hclikeness_tg = new TH1F("hclikeness_tg", "clikeness1dc", 20, 0., 1.); TH1F *hblikeness_ts = new TH1F("hblikeness_ts", "likeness1ds", 20, 0., 1.); TH1F *hclikeness_ts = new TH1F("hlikeness_ts", "blikeness1ds", 20, 0., 1.);*/ // TH1F *hclikeness_t = new TH1F("hclikeness_t", "clikeness1d", 20, 0., 1.); // TH1F *hbclikeness_t = new TH1F("hbclikeness_t", "bclikeness1d", 20, 0., 1.); // TH1F *hlikeness_t = new TH1F("hlikeness_t", "likeness1d", 20, 0., 1.); //TH2F *hlikenessbb_t = (TH2F*) f->Get("hlikenessbb_t"); //TH2F *hlikenesscc_t = (TH2F*) f->Get("hlikenesscc_t"); //TH2F *hlikenessgg_t = (TH2F*) f->Get("hlikenessgg_t"); //TH2F *hlikenessbg_t = (TH2F*) f->Get("hlikenessbg_t"); //TH2F *hlikeness = (TH2F*) f->Get("hlikeness"); TFile *fb = TFile::Open("MUON_350_bb_temp.root"); TH2F *hlikenessbb_t = (TH2F*) fb->Get("hlikenessS"); TFile *fc = TFile::Open("MUON_350_cc_temp.root"); TH2F *hlikenesscc_t = (TH2F*) fc->Get("hlikenessS"); TFile *fg = TFile::Open("MUON_350_gg_temp.root"); TH2F *hlikenessgg_t = (TH2F*) fg->Get("hlikenessS"); TFile *f = TFile::Open("MUON_350_llh.root"); TH2F *hlikenessbkg_t = (TH2F*) f->Get("hlikenessB"); TH2F *hlikeness = (TH2F*) f->Get("hlikenessS"); TH2F *hlikesum = new TH2F ("hlikesum", "likesum", 20, 0., 1., 20, 0., 1.); hlikesum->Add(hlikenessbb_t,1); hlikesum->Add(hlikenesscc_t,1); hlikesum->Add(hlikenessgg_t,1); /*for(Int_t i=1; i<21; i++){ for(Int_t j=1; j<21; j++){ Double_t entries_bb=hlikenessbb_t->GetBinContent(i,j); Double_t entries_cb=hlikenesscc_t->GetBinContent(i,j); Double_t entries_gb=hlikenessgg_t->GetBinContent(i,j); Double_t entries_sb=hlikeness_t->GetBinContent(i,j); hblikeness_tb->AddBinContent(i,entries_bb); hblikeness_tc->AddBinContent(i,entries_cb); hblikeness_tg->AddBinContent(i,entries_gb); hblikeness_ts->AddBinContent(i,entries_sb); } } for(Int_t i=1; i<21; i++){ for(Int_t j=1; j<21; j++){ Double_t entries_bc=hlikenessbb_t->GetBinContent(j,i); Double_t entries_cc=hlikenesscc_t->GetBinContent(j,i); Double_t entries_gc=hlikenessgg_t->GetBinContent(j,i); Double_t entries_sc=hlikeness_t->GetBinContent(j,i); hclikeness_tb->AddBinContent(i,entries_bc); hclikeness_tc->AddBinContent(i,entries_cc); hclikeness_tg->AddBinContent(i,entries_gc); hclikeness_ts->AddBinContent(i,entries_sc); } } */ // c1->cd(1); // hblikeness_tb->Draw(); // c2->cd(1); // hclikeness_t->Draw() TObjArray *mc = new TObjArray(); //mc->Add(hblikeness_t); //mc->Add(hclikeness_t); //mc->Add(hgclikeness_t); mc->Add(hlikenessbb_t); mc->Add(hlikenesscc_t); mc->Add(hlikenessgg_t); TFractionFitter* fit = new TFractionFitter(hlikesum, mc); // initialise fit->Constrain(1,0.0,2.0); fit->Constrain(2,0.0,2.0); fit->Constrain(2,0.0,2.0); Int_t status = fit->Fit(); // perform the fit cout << "fit status: " << status << endl; if (status == 0) { // check on fit status TH1F* result = (TH1F*) fit->GetPlot(); c2->cd(1); hlikeness->Draw("Ep"); result->SetFillColor(4); c3->cd(3); result->Draw(); } }