In[]:=
In[]:=
(*=========================================================================*)(*6.ERRORANALYSIS:PDGGLUEBALLSVSTWISTORSTRINGPREDICTIONS*)(*=========================================================================*)(*ExperimentalMasses(GeV),J,andLevelnfora=1/2*)dataAnti={{1.426,1,0,"f1(1420)"},{1.506,0,1,"f0(1500)"},{1.971,1,1,"f1(1970)"},{2.011,2,0,"f2(2010)"},{2.530,2,1,"f2(2530)"},{2.600,3,0,"X(2600)"}};​​​​(*ExperimentalMasses(GeV),J,andLevelmfora=1*)​​dataPer={{2.101,0,1,"f0(2100)"}};​​​​(*TheoreticalMassFunctions(usingsigmaVal=0.18)*)​​massThAnti[J_,n_]:=Sqrt[4*Pi*sigmaVal*(J+n-1/12)];​​massThPer[J_,m_]:=Sqrt[8*Pi*sigmaVal*(J+m)];​​​​(*---Analysisfora=1/2Sector---*)​​mExpA=dataAnti[[All,1]];​​mThA=massThAnti[#[[2]],#[[3]]]&/@dataAnti;​​​​errsA=Abs[mExpA-mThA];​​relErrsA=errsA/mExpA;​​​​maeA=Mean[errsA];​​mreA=Mean[relErrsA];​​​​ssTotA=Total[(mExpA-Mean[mExpA])^2];​​ssResA=Total[errsA^2];​​r2A=1-ssResA/ssTotA;​​​​(*---Analysisfora=1Sector---*)​​mExpP=dataPer[[All,1]];​​mThP=massThPer[#[[2]],#[[3]]]&/@dataPer;​​​​errsP=Abs[mExpP-mThP];​​relErrsP=errsP/mExpP;​​​​maeP=Mean[errsP];​​mreP=Mean[relErrsP];​​​​(*---CombinedAnalysis---*)​​mExpAll=Join[mExpA,mExpP];​​mThAll=Join[mThA,mThP];​​​​errsAll=Abs[mExpAll-mThAll];​​relErrsAll=errsAll/mExpAll;​​​​maeAll=Mean[errsAll];​​mreAll=Mean[relErrsAll];​​​​ssTotAll=Total[(mExpAll-Mean[mExpAll])^2];​​ssResAll=Total[errsAll^2];​​r2All=1-ssResAll/ssTotAll;​​​​(*PrintReport*)​​Print[""];​​Print["========================================================================="];​​Print[" FIT STATISTICS: PDG GLUEBALLS VS ZERO-PARAMETER PREDICTIONS "];​​Print["========================================================================="];​​​​Print["\n[ a=1/2 (Anti-Periodic) Sector ]"];​​Print[StringForm[" Number of States: ``",Length[dataAnti]]];​​Print[StringForm[" Mean Absolute Error (MAE): `` MeV",NumberForm[maeA*1000,{4,1}]]];​​Print[StringForm[" Mean Relative Error (MRE): `` %",NumberForm[mreA*100,{4,2}]]];​​Print[StringForm[" R^2 Fit Score: ``",NumberForm[r2A,{5,4}]]];​​​​Print["\n[ a=1 (Periodic) Sector ]"];​​Print[StringForm[" Number of States: ``",Length[dataPer]]];​​Print[StringForm[" Absolute Error: `` MeV",NumberForm[maeP*1000,{4,1}]]];​​Print[StringForm[" Relative Error: `` %",NumberForm[mreP*100,{4,2}]]];​​Print[" (R^2 is statistically undefined for a single data point)"];​​​​Print["\n[ Combined Sectors ]"];​​Print[StringForm[" Total States: ``",Length[mExpAll]]];​​Print[StringForm[" Overall MAE: `` MeV",NumberForm[maeAll*1000,{4,1}]]];​​Print[StringForm[" Overall MRE: `` %",NumberForm[mreAll*100,{4,2}]]];​​Print[StringForm[" Overall R^2 Fit Score: ``",NumberForm[r2All,{5,4}]]];​​​​Print["\n========================================================================="];​​Print[" INDIVIDUAL MASS DEVIATIONS (GeV)"];​​Print["-------------------------------------------------------------------------"];​​Print[StringPadRight["State",12],StringPadRight["M_exp",10],StringPadRight["M_theory",12],"Difference"];​​Print["-------------------------------------------------------------------------"];​​Do[Print[StringPadRight[dataAnti[[i,4]],12],StringPadRight[ToString[NumberForm[mExpA[[i]],{4,3}]],10],StringPadRight[ToString[NumberForm[mThA[[i]],{4,3}]],12],ToString[NumberForm[errsA[[i]],{4,3}]]],{i,1,Length[dataAnti]}];​​Do[Print[StringPadRight[dataPer[[i,4]],12],StringPadRight[ToString[NumberForm[mExpP[[i]],{4,3}]],10],StringPadRight[ToString[NumberForm[mThP[[i]],{4,3}]],12],ToString[NumberForm[errsP[[i]],{4,3}]]],{i,1,Length[dataPer]}];​​Print["========================================================================="];