from ROOT import TFile, TCanvas, TH1F, TLorentzVector
%jsroot on
Welcome to JupyROOT 6.07/07
file = TFile("../data/Dimuons.root","READ");
Jpsi = TH1F("Jpsi","#mu#mu mass;#mu#mu mass [GeV];Events", 1000, 2, 12)
for dimu in file.Dimuons:
if dimu.Muon1_Global and dimu.Muon2_Global:
muon1 = TLorentzVector(dimu.Muon1_Px, dimu.Muon1_Py, dimu.Muon1_Pz, dimu.Muon1_Energy)
muon2 = TLorentzVector(dimu.Muon2_Px, dimu.Muon2_Py, dimu.Muon2_Pz, dimu.Muon2_Energy)
InvariantMass = (muon1 + muon2).M()
if InvariantMass > 2.0 and InvariantMass < 12.0:
Jpsi.Fill(InvariantMass)
#Importing colors. All colors can be found at: https://root.cern.ch/doc/master/pict1_TColor_002.png
from ROOT import TF1, kGreen, kRed, kBlack, kBlue, kMagenta, kSpring, kOrange
Canvas = TCanvas()
Possible fitting options:
"gaus" gaussian
"pol1" 1st order polynomial
Gaussian = TF1("Gaussian","gaus", 3.03, 3.16)
Gaussian2 = TF1("Gaussian2","gaus", 3.61, 3.73)
Gaussian3 = TF1("Gaussian3","gaus", 9.30, 9.60)
Gaussian4 = TF1("Gaussian4","gaus", 9.90, 10.10)
Background = TF1("Background","pol1", 2, 3.5)
Background2 = TF1("Background2","pol1", 3.5, 4.5)
Background3 = TF1("Background3","pol1", 9.0,9.80)
Background4 = TF1("Background4","pol1", 9.8,10.2)
Gaussian.SetLineColor(kMagenta)
Gaussian2.SetLineColor(kRed)
Gaussian3.SetLineColor(kGreen)
Gaussian4.SetLineColor(kOrange)
Background.SetLineColor(kMagenta-3)
Background2.SetLineColor(kRed-3)
Background3.SetLineColor(kGreen-3)
Background4.SetLineColor(kOrange-3)
#Adding all of the ranges to the graph. "R" adds one range, "R+" adds any more desired ranges on top of the graph.
Jpsi.Fit(Gaussian, "R")
Jpsi.Fit(Gaussian2,"R+")
Jpsi.Fit(Gaussian3,"R+")
Jpsi.Fit(Gaussian4,"R+")
Jpsi.Fit(Background,"R+")
Jpsi.Fit(Background2, "R+")
Jpsi.Fit(Background3, "R+")
Jpsi.Fit(Background4, "R+")
Canvas.Draw()
FCN=149.029 FROM MIGRAD STATUS=CONVERGED 72 CALLS 73 TOTAL EDM=1.40552e-08 STRATEGY= 1 ERROR MATRIX ACCURATE EXT PARAMETER STEP FIRST NO. NAME VALUE ERROR SIZE DERIVATIVE 1 Constant 3.87217e+03 3.08784e+01 1.36350e-01 -4.17442e-06 2 Mean 3.09296e+00 2.01458e-04 1.47484e-06 6.38239e-01 3 Sigma 3.07769e-02 2.03771e-04 1.02893e-05 -5.38318e-02 FCN=8.48386 FROM MIGRAD STATUS=CONVERGED 81 CALLS 82 TOTAL EDM=4.55485e-08 STRATEGY= 1 ERROR MATRIX ACCURATE EXT PARAMETER STEP FIRST NO. NAME VALUE ERROR SIZE DERIVATIVE 1 Constant 2.02642e+02 6.59361e+00 7.27255e-03 2.53700e-05 2 Mean 3.68088e+00 1.46786e-03 1.99949e-06 -8.89178e-02 3 Sigma 4.09420e-02 1.78075e-03 1.78405e-05 2.41617e-02 FCN=42.858 FROM MIGRAD STATUS=CONVERGED 81 CALLS 82 TOTAL EDM=2.05062e-07 STRATEGY= 1 ERROR MATRIX ACCURATE EXT PARAMETER STEP FIRST NO. NAME VALUE ERROR SIZE DERIVATIVE 1 Constant 5.31770e+02 6.83870e+00 1.56278e-02 5.69628e-05 2 Mean 9.45177e+00 1.43259e-03 4.62733e-06 -6.96265e-03 3 Sigma 1.09536e-01 2.06032e-03 1.75886e-05 1.10902e-01 FCN=21.9992 FROM MIGRAD STATUS=CONVERGED 113 CALLS 114 TOTAL EDM=4.24603e-08 STRATEGY= 1 ERROR MATRIX ACCURATE EXT PARAMETER STEP FIRST NO. NAME VALUE ERROR SIZE DERIVATIVE 1 Constant 3.16395e+02 6.14258e+00 9.78039e-03 -4.38850e-05 2 Mean 1.00088e+01 4.11976e-03 9.22171e-06 -4.50788e-02 3 Sigma 1.29048e-01 1.00618e-02 6.63857e-05 -1.05958e-03 **************************************** Minimizer is Linear Chi2 = 27583.4 NDf = 148 p0 = 440.809 +/- 6.31772 p1 = -100.673 +/- 2.15527 **************************************** Minimizer is Linear Chi2 = 868.298 NDf = 98 p0 = 226.733 +/- 10.01 p1 = -45.0541 +/- 2.45115 **************************************** Minimizer is Linear Chi2 = 3873.43 NDf = 78 p0 = -1161.29 +/- 56.4754 p1 = 145.267 +/- 6.0377 **************************************** Minimizer is Linear Chi2 = 275.335 NDf = 38 p0 = -1195.13 +/- 201.499 p1 = 144.083 +/- 20.1662