Total_inel_Xsec = ConfigInfo['Total_inel_Xsec'] if OldNormAvailable: oldNormalization = ConfigInfo['OldNormalization'] if oldNormalization < 0: print "Value of old normalization from json makes no sense, is negative, hence assume no old normalization available" OldNormAvailable = False # print "OldNormAvailable, oldNormalization", OldNormAvailable, oldNormalization FormulaToUse = ConfigInfo['FormulaToUse'] Scanpairs = ConfigInfo['Scanpairs'] fitResult = fitResultReader(InputFitResultsFile) CapSigmaDict = fitResult.getFitParam("CapSigma") # CapSigmaDict = fitResult.getFitParam("sigma") # print CapSigmaDict["Scan_1"]["1040"] CapSigmaErrDict = fitResult.getFitParam("CapSigmaErr") # CapSigmaErrDict = fitResult.getFitParam("sigmaErr") # print CapSigmaErrDict["Scan_1"]["1040"] peakDict = fitResult.getFitParam("peak") # peakDict = fitResult.getFitParam("Amp") peakErrDict = fitResult.getFitParam("peakErr") # peakErrDict = fitResult.getFitParam("AmpErr") fitstatusDict = fitResult.getFitParam("fitStatus") chi2Dict = fitResult.getFitParam("chi2")
Fill = ConfigInfo['Fill'] AnalysisDir = ConfigInfo['AnalysisDir'] Luminometer = ConfigInfo['Luminometer'] Corr = ConfigInfo['Corr'] FitName = ConfigInfo['FitName'] InputFitResultsFile = ConfigInfo['InputFitResultsFile'] corrFull = makeCorrString(Corr) InputFitResultsFile = AnalysisDir + "/" + Luminometer + "/results/" + corrFull + "/" + InputFitResultsFile InputXsecResultsFile = AnalysisDir + "/" + Luminometer + "/results/" + corrFull + "/" + 'LumiCalibration_'+ Luminometer+ '_'+ FitName + "_" + str(Fill)+'.pkl' outFileName = AnalysisDir + "/" + Luminometer + "/results/" + corrFull + "/plots_"+FitName+"_"+Fill+".pdf" fitResult = fitResultReader(InputFitResultsFile) xsecResult = fitResultReader(InputXsecResultsFile) # print ">> xsecResult" # print xsecResult.fitParamNames # Fit function parameters come in pairs of: value, valueErr # Hand over value, valuerErr dictionaries to plotAll # For other parameters, e.g. fit status, chi2, ndf, put them in separate list, for which pseudo error dictionary is provided where all errrors are set to 0.0 # First find out where block of fit function parameters with their errors is paramlist = fitResult.fitParamNames[3:] lasterridx = 0 for idx, entry in enumerate(paramlist): if "Err" in entry: lasterridx = idx fitlist = paramlist[:(lasterridx+1)]