In [1]:



--2017-10-31 04:09:38--  https://github.com/mazurov/webfest2013/raw/master/notebooks/TESHEP_Pedagogical_Data.root
Resolving github.com (github.com)... 192.30.255.113, 192.30.255.112
Connecting to github.com (github.com)|192.30.255.113|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://raw.githubusercontent.com/mazurov/webfest2013/master/notebooks/TESHEP_Pedagogical_Data.root [following]
--2017-10-31 04:09:38--  https://raw.githubusercontent.com/mazurov/webfest2013/master/notebooks/TESHEP_Pedagogical_Data.root
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.0.133, 151.101.64.133, 151.101.128.133, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.0.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 50928169 (49M) [application/octet-stream]
Saving to: 'TESHEP_Pedagogical_Data.root'

TESHEP_Pedagogical_ 100%[===================>]  48.57M  54.8MB/s    in 0.9s    

2017-10-31 04:09:40 (54.8 MB/s) - 'TESHEP_Pedagogical_Data.root' saved [50928169/50928169]


In [1]:
from ROOT import TFile, RooRealVar, RooDataSet, RooArgSet, RooGaussian, RooChebychev, RooArgList, RooAddPdf, RooFit


Welcome to JupyROOT 6.10/02

In [2]:
inputfile = TFile("TESHEP_Pedagogical_Data.root")

In [3]:
inputchain = inputfile.Get("DecayTree")

In [4]:
inputchain


Out[4]:
<ROOT.TTree object ("DecayTree") at 0x5ef54a0>

In [5]:
nameoffitvar = "D0_MM"

In [6]:
rangeoffit = (1816., 1914)

In [7]:
backgroundrange = (1890., 1914.)

In [8]:
nsigmasigbox = 2.

In [9]:
massvar = RooRealVar("D0_MM", "D0_MM", rangeoffit[0], rangeoffit[1])

In [10]:
mydataset = RooDataSet("DecayTreeDataSet","DecayTreeDataSet",RooArgSet(massvar))

In [11]:
mydataset


Out[11]:
<ROOT.RooDataSet object ("DecayTreeDataSet") at 0x62bcc24>

In [12]:
for entry in range(0,inputchain.GetEntries()) :
  inputchain.GetEntry(entry)
  if inputchain.__getattr__(nameoffitvar) > rangeoffit[1] or \
     inputchain.__getattr__(nameoffitvar) < rangeoffit[0] :
    continue
  massvar.setVal(inputchain.__getattr__(nameoffitvar))
  mydataset.add(RooArgSet(massvar))

In [13]:
gausMean_B 	= RooRealVar("gausMean_B","gausMean_B",(rangeoffit[0]+rangeoffit[1])/2.,rangeoffit[0],rangeoffit[1])
gausWidth_B 	= RooRealVar("gausWidth_B","gausWidth_B",15.,1.,50.)
chebOne_B 	= RooRealVar("chebOne_B","chebOne_B",0.1,-5.,5.)
gaussian_B 	= RooGaussian("gaussian_B","gaussian_B",massvar,gausMean_B,gausWidth_B)
cheb_B     	= RooChebychev("cheb_B","cheb_B",massvar,RooArgList(chebOne_B))

In [ ]:
N_Sig_B = RooRealVar("N_Sig_B","N_Sig_B",1000,0,25000)
N_Bkg_B = RooRealVar("N_Bkg_B","N_Bkg_B",1000,0,50000)

In [ ]:
totalpdf_B = RooAddPdf("totalpdf_B","totalpdf_B", RooArgList(gaussian_B,cheb_B), RooArgList(N_Sig_B,N_Bkg_B))
totalpdf_B.fitTo(mydataset, RooFit.Extended())

In [ ]:
canv_Dmass = rootnotes.default_canvas()
frame_Dmass = massvar.frame()
mydataset.plotOn(frame_Dmass,RooFit.Binning(100))
totalpdf_B.plotOn(frame_Dmass)
frame_Dmass.Draw()

In [ ]:
canv_Dmass

In [ ]: