{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"# CMS Open Data Example #6: Fitting the J/$\\psi$ fit\n",
"\n",
"## Import required modules"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"application/javascript": [
"\n",
"require(['notebook'],\n",
" function() {\n",
" IPython.CodeCell.config_defaults.highlight_modes['magic_text/x-c++src'] = {'reg':[/^%%cpp/]};\n",
" console.log(\"JupyROOT - %%cpp magic configured\");\n",
" }\n",
");\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Welcome to JupyROOT 6.07/07\n"
]
}
],
"source": [
"from ROOT import TFile, TCanvas, TH1F, TLorentzVector\n",
"%jsroot on"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Read in Data from Input File"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"file = TFile(\"../data/Dimuons.root\",\"READ\");"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Declare Histograms"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
""
]
}
],
"source": [
"Jpsi = TH1F(\"Jpsi\",\"#mu#mu mass;#mu#mu mass [GeV];Events\", 1000, 2, 12)"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"# Compute Invariant Mass of J/$\\psi$"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"for dimu in file.Dimuons:\n",
"\n",
" if dimu.Muon1_Global and dimu.Muon2_Global: \n",
" \n",
" muon1 = TLorentzVector(dimu.Muon1_Px, dimu.Muon1_Py, dimu.Muon1_Pz, dimu.Muon1_Energy)\n",
" \n",
" muon2 = TLorentzVector(dimu.Muon2_Px, dimu.Muon2_Py, dimu.Muon2_Pz, dimu.Muon2_Energy)\n",
" \n",
" InvariantMass = (muon1 + muon2).M() \n",
" \n",
" if InvariantMass > 2.0 and InvariantMass < 12.0:\n",
"\n",
" Jpsi.Fill(InvariantMass)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Fitting the J/$\\psi$ Peak"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"#Importing colors. All colors can be found at: https://root.cern.ch/doc/master/pict1_TColor_002.png\n",
"from ROOT import TF1, kGreen, kRed, kBlack, kBlue, kMagenta, kSpring, kOrange\n",
"\n",
"Canvas = TCanvas()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Possible fitting options:
\n",
"\"gaus\" gaussian
\n",
"\"pol1\" 1st order polynomial
"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {
"collapsed": false,
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" FCN=149.029 FROM MIGRAD STATUS=CONVERGED 72 CALLS 73 TOTAL\n",
" EDM=1.40552e-08 STRATEGY= 1 ERROR MATRIX ACCURATE \n",
" EXT PARAMETER STEP FIRST \n",
" NO. NAME VALUE ERROR SIZE DERIVATIVE \n",
" 1 Constant 3.87217e+03 3.08784e+01 1.36350e-01 -4.17442e-06\n",
" 2 Mean 3.09296e+00 2.01458e-04 1.47484e-06 6.38239e-01\n",
" 3 Sigma 3.07769e-02 2.03771e-04 1.02893e-05 -5.38318e-02\n",
" FCN=8.48386 FROM MIGRAD STATUS=CONVERGED 81 CALLS 82 TOTAL\n",
" EDM=4.55485e-08 STRATEGY= 1 ERROR MATRIX ACCURATE \n",
" EXT PARAMETER STEP FIRST \n",
" NO. NAME VALUE ERROR SIZE DERIVATIVE \n",
" 1 Constant 2.02642e+02 6.59361e+00 7.27255e-03 2.53700e-05\n",
" 2 Mean 3.68088e+00 1.46786e-03 1.99949e-06 -8.89178e-02\n",
" 3 Sigma 4.09420e-02 1.78075e-03 1.78405e-05 2.41617e-02\n",
" FCN=42.858 FROM MIGRAD STATUS=CONVERGED 81 CALLS 82 TOTAL\n",
" EDM=2.05062e-07 STRATEGY= 1 ERROR MATRIX ACCURATE \n",
" EXT PARAMETER STEP FIRST \n",
" NO. NAME VALUE ERROR SIZE DERIVATIVE \n",
" 1 Constant 5.31770e+02 6.83870e+00 1.56278e-02 5.69628e-05\n",
" 2 Mean 9.45177e+00 1.43259e-03 4.62733e-06 -6.96265e-03\n",
" 3 Sigma 1.09536e-01 2.06032e-03 1.75886e-05 1.10902e-01\n",
" FCN=21.9992 FROM MIGRAD STATUS=CONVERGED 113 CALLS 114 TOTAL\n",
" EDM=4.24603e-08 STRATEGY= 1 ERROR MATRIX ACCURATE \n",
" EXT PARAMETER STEP FIRST \n",
" NO. NAME VALUE ERROR SIZE DERIVATIVE \n",
" 1 Constant 3.16395e+02 6.14258e+00 9.78039e-03 -4.38850e-05\n",
" 2 Mean 1.00088e+01 4.11976e-03 9.22171e-06 -4.50788e-02\n",
" 3 Sigma 1.29048e-01 1.00618e-02 6.63857e-05 -1.05958e-03\n",
"\n",
"****************************************\n",
"Minimizer is Linear\n",
"Chi2 = 27583.4\n",
"NDf = 148\n",
"p0 = 440.809 +/- 6.31772 \n",
"p1 = -100.673 +/- 2.15527 \n",
"\n",
"****************************************\n",
"Minimizer is Linear\n",
"Chi2 = 868.298\n",
"NDf = 98\n",
"p0 = 226.733 +/- 10.01 \n",
"p1 = -45.0541 +/- 2.45115 \n",
"\n",
"****************************************\n",
"Minimizer is Linear\n",
"Chi2 = 3873.43\n",
"NDf = 78\n",
"p0 = -1161.29 +/- 56.4754 \n",
"p1 = 145.267 +/- 6.0377 \n",
"\n",
"****************************************\n",
"Minimizer is Linear\n",
"Chi2 = 275.335\n",
"NDf = 38\n",
"p0 = -1195.13 +/- 201.499 \n",
"p1 = 144.083 +/- 20.1662 \n"
]
},
{
"data": {
"text/html": [
"\n",
"