示例#1
0
                                 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,
示例#3
0
                                 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)

#==================================================================================
示例#5
0
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)