0.6513]) #[4688, 0.01, -0.079, 0.0001]) bwExpoParameters = numpy.array([0.379, -0.0053]) relBwExpoParameters = numpy.array([0.379, -0.0053]) perExpoBwParameters = numpy.array([11, 1.91, 1.96, -0.59]) perExpoRelBwParameters = numpy.array([73000, 1.91, 3.5, -0.84]) dimitriRelBwParameters = numpy.array([77, 1.5, -0.57]) modDimitriRelBwParameters = numpy.array([77, 1.96, 1.5, -0.57]) # parameter limits perExpoBwParLimits = numpy.array([[1, 1.5, 2.5], [3, -1.2, -0.12]]) perExpoRelBwParLimits = numpy.array([[1, 1.5, 2.5], [3, -1.2, -0.12]]) dimitriRelBwParLimits = numpy.array([[2, -1.2, -0.12]]) modDimitriRelBwParLimits = numpy.array([[1, 1.5, 2.5], [3, -1.2, -0.12]]) # fit with root fitfunc = fit.fitTH1(nctMu26Expo1jetHist, 110, 160, parameters, pdf.expopdf, "R", root.kRed) fitfuncChebyshev = fit.fitTH1(nctMu26Chebyshev1jetHist, 110, 160, chebyshevParameters, pdf.chebyshev, "R", root.kRed) fitfuncDimitri = fit.fitTH1(nctMu26Dimitri1jetHist, 110, 160, dimitriParameters, pdf.modifiedDimitripdf, "R", root.kRed) fitfuncBwExpo = fit.fitTH1(nctMu26BwExpo1jetHist, 110, 160, bwExpoParameters, pdf.bwExpo, "R", root.kRed) fitfuncRelBwExpo = fit.fitTH1(nctMu26RelBwExpo1jetHist, 110, 160, relBwExpoParameters, pdf.relBwExpo, "R", root.kRed) fitfuncPerExpoBw = fit.fitTH1withParLimits(nctMu26PerExpoBw1jetHist, 110, 160, perExpoBwParameters, pdf.perExpoBw, "R", root.kRed, perExpoBwParLimits) fitfuncPerExpoRelBw = fit.fitTH1withParLimits(nctMu26PerExpoRelBw1jetHist, 110,
relBwExpoParameters = numpy.array([0.379, -0.0053]) perExpoBwParameters = numpy.array([23, 1.89, 1.96, -0.7]) perExpoRelBwParameters = numpy.array([150000, 1.87, 3, -0.8]) dimitriRelBwParameters = numpy.array([150, 1.65, -0.7]) modDimitriRelBwParameters = numpy.array([168, 1.92, 0.6, -0.44]) # parameter limits perExpoBwParLimits = numpy.array([[1, 1.5, 2.5], [3, -1.2, -0.12]]) perExpoRelBwParLimits = numpy.array([[1, 1.5, 2.5], [3, -1.2, -0.12]]) dimitriRelBwParLimits = numpy.array([[2, -1.2, -0.12]]) modDimitriRelBwParLimits = numpy.array([[1, 1.5, 2.5], [3, -1.2, -0.12]]) chebyshevParLimits = numpy.array([[3, -0.0001, 0], [4, -0.000001, 0], [5, 0, 0.00000001], [6, -0.00000000001, 0]]) # fit with root fitfunc = fit.fitTH1(nctMu26ExponcncHist, 110, 160, parameters, pdf.expopdf, "R", root.kRed) fitfuncChebyshev = fit.fitTH1withParLimits(nctMu26ChebyshevncncHist, 110, 160, chebyshevParameters, pdf.chebyshev, "R", root.kRed, chebyshevParLimits) fitfuncDimitri = fit.fitTH1(nctMu26DimitrincncHist, 110, 160, dimitriParameters, pdf.modifiedDimitripdf, "R", root.kRed) fitfuncBwExpo = fit.fitTH1(nctMu26BwExponcncHist, 110, 160, bwExpoParameters, pdf.bwExpo, "R", root.kRed) fitfuncRelBwExpo = fit.fitTH1(nctMu26RelBwExponcncHist, 110, 160, relBwExpoParameters, pdf.relBwExpo, "R", root.kRed) fitfuncPerExpoBw = fit.fitTH1withParLimits(nctMu26PerExpoBwncncHist, 110, 160, perExpoBwParameters, pdf.perExpoBw, "R", root.kRed, perExpoBwParLimits) fitfuncPerExpoRelBw = fit.fitTH1withParLimits(nctMu26PerExpoRelBwncncHist, 110,
0.6513]) #[4688, 0.01, -0.079, 0.0001]) bwExpoParameters = numpy.array([0.379, -0.0053]) relBwExpoParameters = numpy.array([0.379, -0.0053]) perExpoBwParameters = numpy.array([107, 1.94, 1.46, -0.54]) perExpoRelBwParameters = numpy.array([870000, 1.94, 2.3, -0.6]) dimitriRelBwParameters = numpy.array([965.2, 0.548, -0.37069]) modDimitriRelBwParameters = numpy.array([709, 1.94, 0.2, -0.29]) # parameter limits perExpoBwParLimits = numpy.array([[1, 1.5, 2.5], [3, -0.6, 1.0]]) perExpoRelBwParLimits = numpy.array([[1, 1.5, 2.5], [3, -1.2, 1.2]]) dimitriRelBwParLimits = numpy.array([[2, -1.2, 1.2]]) modDimitriRelBwParLimits = numpy.array([[1, 1.5, 2.5], [3, -1.2, 1.2]]) # fit with root fitfunc = fit.fitTH1(nctMu26for110to310ExpoFullHist, 110, 310, parameters, pdf.expopdf, "R", root.kRed) fitfuncChebyshev = fit.fitTH1(nctMu26for110to310ChebyshevFullHist, 110, 310, chebyshevParameters, pdf.chebyshev, "R", root.kRed) fitfuncBernstein = fit.fitTH1(nctMu26for110to310BernsteinFullHist, 110, 310, bernsteinParameters, pdf.bernstein, "R", root.kRed) fitfuncDimitri = fit.fitTH1(nctMu26for110to310DimitriFullHist, 110, 310, dimitriParameters, pdf.modifiedDimitripdf, "R", root.kRed) fitfuncBwExpo = fit.fitTH1(nctMu26for110to310BwExpoFullHist, 110, 310, bwExpoParameters, pdf.bwExpo, "R", root.kRed) fitfuncRelBwExpo = fit.fitTH1(nctMu26for110to310RelBwExpoFullHist, 110, 310, relBwExpoParameters, pdf.relBwExpo, "R", root.kRed) fitfuncPerExpoBw = fit.fitTH1withParLimits(nctMu26for110to310PerExpoBwFullHist,
bwExpoParameters = numpy.array([0.379, -0.0053]) relBwExpoParameters = numpy.array([0.379, -0.0053]) perExpoBwParameters = numpy.array([107, 1.94, 1.46, -0.54]) perExpoRelBwParameters = numpy.array([870000, 1.94, 2.3, -0.6]) dimitriRelBwParameters = numpy.array([965.2, 0.548, -0.37069]) modDimitriRelBwParameters = numpy.array([965.2, 1.94, 0.548, -0.37069]) # parameter limits perExpoBwParLimits = numpy.array([[1, 1.5, 2.5],[3, -0.6, -0.12]]) perExpoRelBwParLimits = numpy.array([[1, 1.5, 2.5],[3, -1.2, -0.12]]) dimitriRelBwParLimits = numpy.array([[2, -1.2, -0.12]]) modDimitriRelBwParLimits = numpy.array([[1, 1.5, 2.5],[3, -1.2, -0.12]]) chebyshevParLimits = numpy.array([[3, -0.0001, 0],[4, -0.000001, 0],[5, 0, 0.00000001],[6, -0.00000000001, 0]]) # fit with root fitfunc = fit.fitTH1(nctPhotonExpoFullHist, 110, 160, parameters, pdf.expopdf, "R", root.kRed) fitfuncChebyshev = fit.fitTH1withParLimits(nctPhotonChebyshevFullHist, 110, 160, chebyshevParameters, pdf.chebyshev, "R", root.kRed, chebyshevParLimits) fitfuncDimitri = fit.fitTH1(nctPhotonDimitriFullHist, 110, 160, dimitriParameters, pdf.modifiedDimitripdf, "R", root.kRed) fitfuncBwExpo = fit.fitTH1(nctPhotonBwExpoFullHist, 110, 160, bwExpoParameters, pdf.bwExpo, "R", root.kRed) fitfuncRelBwExpo = fit.fitTH1(nctPhotonRelBwExpoFullHist, 110, 160, relBwExpoParameters, pdf.relBwExpo, "R", root.kRed) fitfuncPerExpoBw = fit.fitTH1withParLimits(nctPhotonPerExpoBwFullHist, 110, 160, perExpoBwParameters, pdf.perExpoBw, "R", root.kRed, perExpoBwParLimits) fitfuncPerExpoRelBw = fit.fitTH1withParLimits(nctPhotonPerExpoRelBwFullHist, 110, 160, perExpoRelBwParameters, pdf.perExpoRelBw, "R", root.kRed, perExpoRelBwParLimits) fitfuncDimitriRelBw = fit.fitTH1withParLimits(nctPhotonDimitriRelBwFullHist, 110, 160, dimitriRelBwParameters, pdf.dimitriRelBw, "R", root.kRed, dimitriRelBwParLimits) fitfuncModDimitriRelBw = fit.fitTH1withParLimits(nctPhotonModDimitriRelBwFullHist, 110, 160, modDimitriRelBwParameters, pdf.modDimitriRelBw, "R", root.kRed, modDimitriRelBwParLimits) #==================================================================================
bwExpoParameters = numpy.array([0.379, -0.0053]) relBwExpoParameters = numpy.array([0.379, -0.0053]) perExpoBwParameters = numpy.array([17, 1.92, 1.28, -0.49]) perExpoRelBwParameters = numpy.array([130000, 1.89, 2.4, -0.6]) dimitriRelBwParameters = numpy.array([135, 0.548, -0.37069]) modDimitriRelBwParameters = numpy.array([340, 1.9, -1.8, 0.4]) # parameter limits perExpoBwParLimits = numpy.array([[1, 1.5, 2.5],[3, -0.6, -0.12]]) perExpoRelBwParLimits = numpy.array([[1, 1.5, 2.5],[3, -1.2, -0.12]]) dimitriRelBwParLimits = numpy.array([[2, -9, 7]]) modDimitriRelBwParLimits = numpy.array([[1, 1.5, 2.8]]) #,[3, -1.2, -0.12]]) chebyshevParLimits = numpy.array([[3, -0.0001, 0],[4, -0.000001, 0],[5, 0, 0.00000001],[6, -0.00000000001, 0]]) # fit with root fitfunc = fit.fitTH1(nctMu26nnloExpoccHist, 110, 160, parameters, pdf.expopdf, "R", root.kRed) fitfuncChebyshev = fit.fitTH1withParLimits(nctMu26nnloChebyshevccHist, 110, 160, chebyshevParameters, pdf.chebyshev, "R", root.kRed, chebyshevParLimits) fitfuncDimitri = fit.fitTH1(nctMu26nnloDimitriccHist, 110, 160, dimitriParameters, pdf.modifiedDimitripdf, "R", root.kRed) fitfuncBwExpo = fit.fitTH1(nctMu26nnloBwExpoccHist, 110, 160, bwExpoParameters, pdf.bwExpo, "R", root.kRed) fitfuncRelBwExpo = fit.fitTH1(nctMu26nnloRelBwExpoccHist, 110, 160, relBwExpoParameters, pdf.relBwExpo, "R", root.kRed) fitfuncPerExpoBw = fit.fitTH1withParLimits(nctMu26nnloPerExpoBwccHist, 110, 160, perExpoBwParameters, pdf.perExpoBw, "R", root.kRed, perExpoBwParLimits) fitfuncPerExpoRelBw = fit.fitTH1withParLimits(nctMu26nnloPerExpoRelBwccHist, 110, 160, perExpoRelBwParameters, pdf.perExpoRelBw, "R", root.kRed, perExpoRelBwParLimits) fitfuncDimitriRelBw = fit.fitTH1withParLimits(nctMu26nnloDimitriRelBwccHist, 110, 160, dimitriRelBwParameters, pdf.dimitriRelBw, "R", root.kRed, dimitriRelBwParLimits) fitfuncModDimitriRelBw = fit.fitTH1withParLimits(nctMu26nnloModDimitriRelBwccHist, 110, 160, modDimitriRelBwParameters, pdf.modDimitriRelBw, "R", root.kRed, modDimitriRelBwParLimits) #==================================================================================
nctPhotonFullHist.SetBinContent(binNum, xsec) # adjust histogram settings settings.setDataPoint(nctPhotonFullHist, root.kBlack, root.kFullDotLarge) #================================================================================== # Fit the Histograms ////////////////////////////////////////////////////////////// #================================================================================== # specify number of fit parameters #parameters = numpy.array([0.3, -1, -2, 0.5]) parameters = numpy.array([1, 110, 0.01]) # fit with root #fit.fitTH1(nctPhotonFullHist, 110, 160, parameters, pdf.dimitripdf, "R", root.kRed) fitfunc = fit.fitTH1(nctPhotonFullHist, 110, 160, parameters, pdf.expopdf, "R", root.kRed) #================================================================================== # Draw Plots ////////////////////////////////////////////////////////////////////// #================================================================================== # make a TCanvas and draw the histograms #canvas = root.TCanvas() #nctPhotonFullHist.Draw("P") # make a TCanvas and a histogram plot with residuals residualCanvas = root.TCanvas("residualCanvas", "residualCanvas") settings.makeResidualHist(residualCanvas, nctPhotonFullHist, nctPhotonFullHist.GetXaxis().GetTitle(), "data - fit", 0, "P", root.kBlue, fitfunc)
perExpoRelBwParameters = numpy.array([870000, 1.94, 2.3, -0.6]) dimitriRelBwParameters = numpy.array([965.2, 0.548, -0.37069]) modDimitriRelBwParameters = numpy.array([118, 2.5, 7, -2]) # parameter limits perExpoBwParLimits = numpy.array([[1, 1.5, 2.5], [3, -0.6, -0.12]]) perExpoRelBwParLimits = numpy.array([[1, 1.5, 2.5], [3, -1.2, -0.12]]) dimitriRelBwParLimits = numpy.array([[2, -1.2, -0.12]]) modDimitriRelBwParLimits = numpy.array([[1, 1.5, 2.8]]) #,[3, -1.2, -0.12]]) chebyshevParLimits = numpy.array([[3, -0.0001, 0.0001], [4, -0.000001, 0.000001], [5, -0.00000001, 0.00000001], [6, -0.00000000001, 0.00000000001]]) # fit with root fitfunc = fit.fitTH1(nctMu26nnloExpoFullHist, 110, 160, parameters, pdf.expopdf, "R", root.kRed) fitfuncChebyshev = fit.fitTH1(nctMu26nnloChebyshevFullHist, 110, 160, chebyshevParameters, pdf.chebyshev, "S", root.kRed) #chebyshevParLimits) fitfuncBernstein = fit.fitTH1(nctMu26nnloBernsteinFullHist, 110, 160, bernsteinParameters, pdf.bernstein, "S", root.kRed) fitfuncDimitri = fit.fitTH1(nctMu26nnloDimitriFullHist, 110, 160, dimitriParameters, pdf.modifiedDimitripdf, "R", root.kRed) fitfuncBwExpo = fit.fitTH1(nctMu26nnloBwExpoFullHist, 110, 160, bwExpoParameters, pdf.bwExpo, "R", root.kRed) fitfuncRelBwExpo = fit.fitTH1(nctMu26nnloRelBwExpoFullHist, 110, 160, relBwExpoParameters, pdf.relBwExpo, "R", root.kRed)