596 auto msgguard =
MSGUser()->StartTitleWithGuard(
"NGFigure::ConfigParameters");
632 for (
int i = 0; i <
binnumx; i++)
634 for (
int j = 0; j <
binnumy; j++)
646 for (
int i = 0; i <
binnumx; i++)
648 for (
int j = 0; j <
binnumy; j++)
650 Text2D->SetBinContent(i + 1, j + 1, (
int)((
Text2D->GetBinContent(i + 1, j + 1)) * pow(10,
asmb)) / pow(10,
asmb));
651 Text2D->SetBinError(i + 1, j + 1, (
int)((
Text2D->GetBinError(i + 1, j + 1)) * pow(10,
asmb)) / pow(10,
asmb));
683 for (
int j = 0; j < 2; j++)
685 sum_err2 = sum_err2 +
Main_Hist[j]->GetBinError(i + 1) *
Main_Hist[j]->GetBinError(i + 1);
691 Main_Hist[0]->SetBinError(i + 1, sqrt(sum_err2));
706 sprintf(
name,
"SubHist_%lu", i);
742 if (j + 1 < StartBin || j + 1 > EndBin)
747 double val_err = sqrt(
Main_Hist[0]->GetBinError(j + 1) *
Main_Hist[0]->GetBinError(j + 1) +
753 chi2 = chi2 + val * val / val_err / val_err;
756 sprintf(
name,
"#chi^{2}/ndf=%.1f/%d", chi2, ndof);
757 for (
int j = 0; j < 3; j++)
760 if (((TString)
name).Length() > 22)
761 overlimit = ((TString)
name).Length() - 22;
762 while (
LegendName[i].Length() < 16 - overlimit)
781 sprintf(
name,
"SubHist_%lu", i);
791 sprintf(
name,
"SubHist_%d", 0);
803 MSGUser()->MSG_ERROR(
"Unknown Sub Tag");
808 sprintf(
name,
"SubHist_%d", 1);
820 MSGUser()->MSG_ERROR(
"Unknown Sub Tag");
830 double temp_err1 =
Sub_Hist[1]->GetBinError(i + 1);
831 double temp_err0 =
Sub_Hist[0]->GetBinError(i + 1);
833 Sub_Hist[1]->SetBinError(i + 1, temp_err0);
834 Sub_Hist[0]->SetBinError(i + 1, temp_err1);
853 if (i + 1 < StartBin || i + 1 > EndBin)
858 double val_err = sqrt(
Main_Hist[0]->GetBinError(i + 1) *
Main_Hist[0]->GetBinError(i + 1) +
864 chi2 = chi2 + val * val / val_err / val_err;
866 MSGUser()->MSG_INFO(
"Chi Square Value: ", chi2);
867 sprintf(
name,
"#chi^{2}/ndf=%.1f/%d", chi2, ndof);
868 for (
int i = 0; i < 2; i++)
871 if (((TString)
name).Length() > 20)
872 overlimit = ((TString)
name).Length() - 20;
873 while (
LegendName[0].Length() < 14 - overlimit)
884 Sub_Stack =
new THStack(
"Sub_Stack",
"");
921 double val_up =
Main_Hist[i]->GetBinContent(j + 1) +
Main_Hist[i]->GetBinError(j + 1);
922 double val_down =
Main_Hist[i]->GetBinContent(j + 1) -
Main_Hist[i]->GetBinError(j + 1);
932 if (j + 1 < StartBin || j + 1 > EndBin)
948 if (val_up > max_main)
950 if (val_down < min_main)
970 if (j + 1 < StartBin || j + 1 > EndBin)
974 if (val_up > max_main)
976 if (val_down < min_main)
983 for (
size_t i = 0; i <
Sub_Hist.size(); i++)
987 double val_up =
Sub_Hist[i]->GetBinContent(j + 1) +
Sub_Hist[i]->GetBinError(j + 1);
988 double val_down =
Sub_Hist[i]->GetBinContent(j + 1) -
Sub_Hist[i]->GetBinError(j + 1);
998 if (j + 1 < StartBin || j + 1 > EndBin)
1014 if (val_up > max_sub)
1016 if (val_down < min_sub)
1026 length_main = (max_main - min_main) / 0.5;
1030 length_sub = (max_sub - min_sub) / (1 - 2 *
LeftPercentage - 0.08);
1032 length_sub = (max_sub - min_sub) / 0.5;
1044 MSGUser()->MSG_ERROR(
"Max is Smaller Than Min!");
1049 MSGUser()->MSG_ERROR(
"Hist is not defined in the ordered range!");
1054 MSGUser()->MSG_ERROR(
"Hist is not defined in the ordered range!");
1059 MSGUser()->MSG_ERROR(
"Min value too small!");
1064 MSGUser()->MSG_ERROR(
"Max value too large!");
1513 int round = (i - index) / 12 * 2 + 1;
1517 Main_Hist[i]->SetLineColor(kRed + round);
1518 Main_Hist[i]->SetMarkerColor(kRed + round);
1520 Main_Hist[i]->SetFillColor(kRed + round);
1522 Main_Hist[i]->SetFillColor(kRed + round);
1533 Main_Hist[i]->SetMarkerColor(kGray + 2);
1538 Main_Hist[i]->SetLineColor(kBlue + round);
1539 Main_Hist[i]->SetMarkerColor(kBlue + round);
1541 Main_Hist[i]->SetFillColor(kBlue + round);
1548 Main_Hist[i]->SetMarkerColor(kAzure + 1);
1555 Main_Hist[i]->SetLineColor(kGreen + round);
1556 Main_Hist[i]->SetMarkerColor(kGreen + round);
1558 Main_Hist[i]->SetFillColor(kGreen + round);
1564 Main_Hist[i]->SetLineColor(kOrange + 1);
1565 Main_Hist[i]->SetMarkerColor(kOrange + 1);
1567 Main_Hist[i]->SetFillColor(kOrange + 1);
1572 Main_Hist[i]->SetLineColor(kPink + round);
1573 Main_Hist[i]->SetMarkerColor(kPink + round);
1575 Main_Hist[i]->SetFillColor(kPink + round);
1587 Main_Hist[i]->SetLineColor(kAzure + round);
1588 Main_Hist[i]->SetMarkerColor(kAzure + round);
1590 Main_Hist[i]->SetFillColor(kAzure + round);
1597 Main_Hist[i]->SetMarkerColor(kGreen + 1);
1602 Main_Hist[i]->SetLineColor(kSpring + round);
1603 Main_Hist[i]->SetMarkerColor(kSpring + round);
1605 Main_Hist[i]->SetFillColor(kSpring + round);
1609 Main_Hist[i]->SetLineColor(kMagenta + round);
1610 Main_Hist[i]->SetMarkerColor(kMagenta + round);
1612 Main_Hist[i]->SetFillColor(kMagenta + round);
1616 Main_Hist[i]->SetLineColor(kCyan + round);
1617 Main_Hist[i]->SetMarkerColor(kCyan + round);
1619 Main_Hist[i]->SetFillColor(kCyan + round);
1623 Main_Hist[i]->SetLineColor(kYellow + round);
1624 Main_Hist[i]->SetMarkerColor(kYellow + round);
1626 Main_Hist[i]->SetFillColor(kYellow + round);
1630 Main_Hist[i]->SetLineColor(kViolet + round);
1631 Main_Hist[i]->SetMarkerColor(kViolet + round);
1633 Main_Hist[i]->SetFillColor(kViolet + round);
1637 Main_Hist[i]->SetLineColor(kTeal + round);
1638 Main_Hist[i]->SetMarkerColor(kTeal + round);
1640 Main_Hist[i]->SetFillColor(kTeal + round);
1644 Main_Hist[i]->SetLineColor(kOrange + round);
1645 Main_Hist[i]->SetMarkerColor(kOrange + round);
1647 Main_Hist[i]->SetFillColor(kOrange + round);
1653 for (
size_t i = 0; i <
Main_Graph.size(); i++)
1672 for (
size_t i = 0; i <
Sub_Hist.size(); i++)
1688 int round = (i - index) / 12 * 2 + 1;
1692 Sub_Hist[i]->SetLineColor(kRed + round);
1693 Sub_Hist[i]->SetMarkerColor(kRed + round);
1695 Sub_Hist[i]->SetFillColor(kRed + round);
1698 Sub_Hist[i]->SetFillColor(kGray + round);
1699 Sub_Hist[i]->SetLineColor(kGray + 2);
1700 Sub_Hist[i]->SetMarkerColor(kGray + 2);
1705 Sub_Hist[i]->SetLineColor(kGray + 2);
1706 Sub_Hist[i]->SetMarkerColor(kGray + 2);
1711 Sub_Hist[i]->SetLineColor(kBlue + round);
1712 Sub_Hist[i]->SetMarkerColor(kBlue + round);
1714 Sub_Hist[i]->SetFillColor(kBlue + round);
1720 Sub_Hist[i]->SetLineColor(kAzure + 1);
1721 Sub_Hist[i]->SetMarkerColor(kAzure + 1);
1726 Sub_Hist[i]->SetLineColor(kGreen + round);
1727 Sub_Hist[i]->SetMarkerColor(kGreen + round);
1729 Sub_Hist[i]->SetFillColor(kGreen + round);
1735 Sub_Hist[i]->SetLineColor(kOrange + 1);
1736 Sub_Hist[i]->SetMarkerColor(kOrange + 1);
1741 Sub_Hist[i]->SetLineColor(kPink + round);
1742 Sub_Hist[i]->SetMarkerColor(kPink + round);
1747 Sub_Hist[i]->SetLineColor(kRed + 1);
1748 Sub_Hist[i]->SetMarkerColor(kRed + 1);
1753 Sub_Hist[i]->SetLineColor(kAzure + round);
1754 Sub_Hist[i]->SetMarkerColor(kAzure + round);
1760 Sub_Hist[i]->SetLineColor(kGreen + 1);
1761 Sub_Hist[i]->SetMarkerColor(kGreen + 1);
1766 Sub_Hist[i]->SetLineColor(kSpring + round);
1767 Sub_Hist[i]->SetMarkerColor(kSpring + round);
1771 Sub_Hist[i]->SetLineColor(kMagenta + round);
1772 Sub_Hist[i]->SetMarkerColor(kMagenta + round);
1776 Sub_Hist[i]->SetLineColor(kCyan + round);
1777 Sub_Hist[i]->SetMarkerColor(kCyan + round);
1781 Sub_Hist[i]->SetLineColor(kYellow + round);
1782 Sub_Hist[i]->SetMarkerColor(kYellow + round);
1786 Sub_Hist[i]->SetLineColor(kViolet + round);
1787 Sub_Hist[i]->SetMarkerColor(kViolet + round);
1791 Sub_Hist[i]->SetLineColor(kTeal + round);
1792 Sub_Hist[i]->SetMarkerColor(kTeal + round);
1796 Sub_Hist[i]->SetLineColor(kOrange + round);
1797 Sub_Hist[i]->SetMarkerColor(kOrange + round);
1803 for (
size_t i = 0; i <
Sub_Hist.size(); i++)
1819 int round = (i - index) / 12 * 2 + 1;
1823 Sub_Hist[i]->SetLineColor(kRed + round);
1824 Sub_Hist[i]->SetMarkerColor(kRed + round);
1826 Sub_Hist[i]->SetFillColor(kRed + round);
1828 Sub_Hist[i]->SetFillColor(kRed + round);
1833 Sub_Hist[i]->SetLineColor(kBlue + round);
1834 Sub_Hist[i]->SetMarkerColor(kBlue + round);
1836 Sub_Hist[i]->SetFillColor(kBlue + round);
1842 Sub_Hist[i]->SetLineColor(kGray + 2);
1843 Sub_Hist[i]->SetMarkerColor(kGray + 2);