31f_cb = ROOT.TF1(
"MyCrystalBall", 
"crystalball", -5.0, 5.0)
 
   32f_exp = ROOT.TF1(
"MyExponential", 
"expo", -5.0, 5.0)
 
   35f_exp.SetParameters(1.0, -0.3)
 
   36f_cb.SetParameters(1, signal_mean, 0.3, 2, 1.5)
 
   40fnorm_exp_cb = ROOT.TF1NormSum(f_cb, f_exp, nsig, nbkg)
 
   43f_sum = ROOT.TF1(
"fsum", fnorm_exp_cb, -5.0, 5.0, fnorm_exp_cb.GetNpar())
 
   46parameter_values = fnorm_exp_cb.GetParameters()
 
   47f_sum.SetParameters(parameter_values.data())
 
   56f_sum.SetParName(1, 
"NBackground")
 
   57f_sum.SetParName(0, 
"NSignal")
 
   58for i 
in range(2, f_sum.GetNpar()):
 
   59    f_sum.SetParName(i, fnorm_exp_cb.GetParName(i))
 
   64h_sum = ROOT.TH1D(
"h_ExpCB", 
"Exponential Bkg + CrystalBall function", nBins, -5.0, 5.0)
 
   65h_sum.FillRandom(
"fsum", nEvents)
 
   66print(
"Time to generate {0} events:  ".
format(nEvents))
 
   71h_sum.Scale(1.0, 
"width")
 
   75c1 = ROOT.TCanvas(
"Fit", 
"Fit", 800, 1000)
 
   77result = h_sum.Fit(
"fsum", 
"SQ")
 
   80print(
"Time to fit using ROOT TF1Normsum: ")
 
   84for i, pref 
in enumerate([nsig, nbkg, signal_mean]):
 
   85    if not ROOT.TMath.AreEqualAbs(pref, f_sum.GetParameter(i), f_sum.GetParError(i) * 10.0):
 
   88            "Difference found in fitted {0} - difference is {1:.2f} sigma".
format(
 
   89                f_sum.GetParName(i), (f_sum.GetParameter(i) - pref) / f_sum.GetParError(i)
 
   93ROOT.gStyle.SetOptStat(0)
 
   95t1 = ROOT.TLatex(-2.5, 300000, 
"NSignal = {0:g} #pm {1:g}".
format(f_sum.GetParameter(0), f_sum.GetParError(0)))
 
   96t2 = ROOT.TLatex(-2.5, 270000, 
"Nbackgr = {0:g} #pm {1:g}".
format(f_sum.GetParameter(1), f_sum.GetParError(1)))
 
  100c1.SaveAs(
"fitNormSum.png")
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t format
static void SetDefaultMinimizer(const char *type, const char *algo=nullptr)
Set the default Minimizer type and corresponding algorithms.