1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
import ROOT
def fitResidual(histo,nSigmas=2,verbose=False):
option = "R0"
if not verbose: option += "Q"
minFit = histo.GetMean() - histo.GetRMS()
maxFit = histo.GetMean() + histo.GetRMS()
funcName = histo.GetName() + "_gaus"
fitFunc = ROOT.TF1(funcName,"gaus",minFit,maxFit)
histo.Fit(fitFunc,option)
minFit = fitFunc.GetParameter(1) - nSigmas*fitFunc.GetParameter(2)
maxFit = fitFunc.GetParameter(1) + nSigmas*fitFunc.GetParameter(2)
fitFunc.SetRange(minFit,maxFit)
histo.Fit(fitFunc,option)
return (histo,fitFunc)
|