// RooFit #include "RooRealVar.h" #include "RooDataSet.h" using namespace RooFit; // ROOT #include "TTree.h" // c/c++ #include using namespace std; void fitw() { const char* signal_name = "dstbg-e.d"; /// === observables ================================================ RooRealVar MW("MW", "M(W_{R})", 500, 3000, "GeV/c^{2}"); MW.setBins(25); RooRealVar MN("MN", "M(#nu_{R})", 0, 2500, "GeV/c^{2}"); MN.setBins(25); RooRealVar NoW("NoW", "M(#nu_{R})/M(W_{R})", 0, 1, ""); NoW.setBins(25); /// === Data definition ============================================== RooRealVar weight("weight", "weight", 1); // signal TTree stree(signal_name, signal_name); stree.ReadFile(signal_name, "MW/D:MN/D:NoW/D:weight/D"); RooDataSet* sdata = new RooDataSet(signal_name, signal_name, RooArgSet(MW, MN, NoW, weight), Import(stree), WeightVar(weight)); cout << "signal: " << sdata->GetTitle() << ", sumEntries = " << sdata->sumEntries() << ", numEntries = " << sdata->numEntries() << endl; }