#ifndef __CINT__ #include "RooGlobalFunc.h" #endif #include "RooRealVar.h" #include "RooDataSet.h" #include "RooDataHist.h" #include "RooGaussian.h" #include "RooConstVar.h" #include "RooCategory.h" #include "TCanvas.h" #include "TAxis.h" #include "RooPlot.h" #include "TFile.h" #include "TF1.h" #include "RooThresholdCategory.h" using namespace RooFit ; void testError() { RooRealVar Pt("Pt","Pt",0.,30.); RooRealVar PsProperDL("PsProperDL","Pseudo-Proper Decay Length (cm.)",-0.3,0.3); RooRealVar Mass("Mass","Mass",2.4,4.0); RooPlot *massFrame = Mass.frame(); TFile *fJpsiNtuple = TFile::Open("Out.root"); fJpsiNtuple->ls(); cout << "1111" << endl; Mass.setBins(100); TNtuple *nt = (TNtuple*)fJpsiNtuple->Get("ntuple"); RooDataSet data("data","data",RooArgSet(PsProperDL,Pt,Mass),Import(*nt)); //RooDataSet *data_mRange = (RooDataSet*)data.reduce(RooArgSet(PsProperDL,Pt,Mass),"(Mass > 2.4 & Mass < 2.8) | (Mass > 3.2 & Mass < 4.0)"); RooDataSet *data_mRange = (RooDataSet*)data.reduce(RooArgSet(PsProperDL,Mass,Pt)); // // // RooThresholdCategory massCat("massCat", "Mass_cat", Mass, "Mass_Cat_"); // SideBand1 | SideBand2 | Signal | SideBand3 | SideBand4 // 2.6 2.8 3.16 3.5 massCat.addThreshold(2.6, "SB1"); massCat.addThreshold(2.8, "SB2"); massCat.addThreshold(3.16, "Sig"); massCat.addThreshold(3.5, "SB3"); massCat.addThreshold(4.0, "SB4"); cout << data_mRange->numEntries() << endl; data_mRange->addColumn(massCat); data.plotOn(massFrame, Cut("massCat==massCat::SB1"), MarkerColor(kRed), LineColor(kRed)); data.plotOn(massFrame); massFrame->Draw(); }