In [1]:
import sys
sys.path.append('../../FourVector')
sys.path.append('../project')
from FourVector import FourVector
from ThreeVector import ThreeVector
from FutureColliderTools import SmearVertex, GetCorrectedMass, GetMissingMass2, GetQ2
from FutureColliderDataLoader import LoadData_KMuNu, LoadData_DsMuNu
from FutureColliderVariables import *
from FutureColliderFitter import FutureFitter
import numpy as np
import ROOT
ROOT.enableJSVis()
ROOT.gStyle.SetOptStat(0)
from IPython.display import Image
Yields = []
There is no significant difference between the two modes $$\sigma_{x,y,z}: \sigma_{xy} = 0.0144, \sigma_z = 0.078$$
In [2]:
Fitter = FutureFitter("../output/Data_Histograms_Run1_LHCb.root", "MCORR_Data_KMuNu", "../output/Source_Histograms_KMu_Run1_LHCb_Merged.root", True)
Fitter.Fit()
c1 = ROOT.TCanvas("c1", "c1", 900,900)
Fitter.Plot(c1)
c1.Draw()
c1.Print("ExampleFit_KMuNu_Run1.pdf")
Yields += [Fitter.GetYield()["13512010"]]
In [3]:
Fitter = FutureFitter("../output/Data_Histograms_Run5_RF_LHCb.root", "MCORR_Data_KMuNu", "../output/Source_Histograms_KMu_Run5_RF_LHCb_Merged.root", True)
Fitter.Fit()
c1 = ROOT.TCanvas("c1", "c1", 900,900)
Fitter.Plot(c1)
c1.Draw()
c1.Print("ExampleFit_KMuNu_Run5_RF.pdf")
Yields += [Fitter.GetYield()["13512010"]]
In [4]:
Fitter = FutureFitter("../output/Data_Histograms_Run5_NoRF_LHCb.root", "MCORR_Data_KMuNu", "../output/Source_Histograms_KMu_Run5_NoRF_LHCb_Merged.root", True)
Fitter.Fit()
c1 = ROOT.TCanvas("c1", "c1", 900,900)
Fitter.Plot(c1)
c1.Draw()
c1.Print("ExampleFit_KMuNu_Run5_NoRF.pdf")
Yields += [Fitter.GetYield()["13512010"]]
In [5]:
Fitter = FutureFitter("../output/Data_Histograms_Run1_LHCb.root", "MCORR_Data_DsMuNu", "../output/Source_Histograms_DsMu_Run1_LHCb_Merged.root", False)
Fitter.Fit()
c1 = ROOT.TCanvas("c1", "c1", 900,900)
Fitter.Plot(c1)
c1.Draw()
c1.Print("ExampleFit_DsMuNu_Run1.pdf")
Yields += [Fitter.GetYield()["13774000_Ds"]]
In [6]:
Fitter = FutureFitter("../output/Data_Histograms_Run5_RF_LHCb.root", "MCORR_Data_DsMuNu", "../output/Source_Histograms_DsMu_Run5_RF_LHCb_Merged.root", False)
Fitter.Fit()
c1 = ROOT.TCanvas("c1", "c1", 900,900)
Fitter.Plot(c1)
c1.Draw()
c1.Print("ExampleFit_DsMuNu_Run5_RF.pdf")
Yields += [Fitter.GetYield()["13774000_Ds"]]
In [7]:
Fitter = FutureFitter("../output/Data_Histograms_Run5_NoRF_LHCb.root", "MCORR_Data_DsMuNu", "../output/Source_Histograms_DsMu_Run5_NoRF_LHCb_Merged.root", False)
Fitter.Fit()
c1 = ROOT.TCanvas("c1", "c1", 900,900)
Fitter.Plot(c1)
c1.Draw()
c1.Print("ExampleFit_DsMuNu_Run5_NoRF.pdf")
Yields += [Fitter.GetYield()["13774000_Ds"]]
In [11]:
from prettytable import PrettyTable
PT = PrettyTable(("", "K Mu Nu", "Ds Mu Nu"))
PT.add_row( ["Run1", Yields[0][1] / Yields[0][0], Yields[3][1] / Yields[3][0]])
PT.add_row( ["Run5 RF Foil", Yields[1][1] / Yields[1][0], Yields[4][1] / Yields[4][0]])
PT.add_row( ["Run5 No RF Foil", Yields[2][1] / Yields[2][0], Yields[5][1] / Yields[5][0]])
print "Fitter uncertainties"
print PT
In [ ]: