File indexing completed on 2025-08-06 08:14:12
0001
0002
0003
0004 #ifndef noi_fmt__h
0005 #define noi_fmt__h
0006 #include "noiDict.h"
0007
0008 noiDict _tu_fmt__hg_dict() {
0009 return {{
0010 "MarkerStyle", kFullCircle,
0011 "MarkerColor", kBlack,
0012 "MarkerAlpha", 1.,
0013 "MarkerSize", 1.,
0014
0015 "LineWidth", 1 ,
0016 "LineStyle", 1 ,
0017
0018
0019
0020
0021
0022 "xAxisTitleFont", 43,
0023 "xAxisTitleSize", 22,
0024 "xAxisTitleOffset", 1.6 ,
0025
0026 "xAxisLabelFont", 43,
0027 "xAxisLabelSize", 18,
0028 "xAxisLabelOffset", 0.02,
0029
0030 "yAxisTitleFont", 43,
0031 "yAxisTitleSize", 22,
0032 "yAxisTitleOffset", 1.85,
0033
0034 "yAxisLabelFont", 43,
0035 "yAxisLabelSize", 18,
0036 "yAxisLabelOffset", 0.02,
0037
0038 "zAxisTitleFont", 43,
0039 "zAxisTitleSize", 22,
0040 "zAxisTitleOffset", 2.4 ,
0041
0042 "zAxisLabelFont", 43,
0043 "zAxisLabelSize", 18,
0044 "zAxisLabelOffset", 0.02 ,
0045
0046 "SetStats", 0
0047 }};
0048 };
0049
0050 TH1* noi_fmt (TH1* hg, noiDict _override={{}}, noiDict dict=_tu_fmt__hg_dict()) {
0051
0052 dict += _override;
0053
0054
0055 if (dict["Name"]) hg->SetName(dict("Name"));
0056
0057 if (dict["SetStats"]) hg->SetStats((int)dict("SetStats"));
0058
0059 if (dict["no_errors"]) for (int i=1; i<=hg->GetNbinsX(); ++i) hg->SetBinError(i,0.);
0060
0061
0062 if (dict["MarkerStyle"]) hg->SetMarkerStyle(dict("MarkerStyle"));
0063
0064 if (dict["MarkerColor"]) hg->SetMarkerColor(dict("MarkerColor"));
0065 if (dict["MarkerColorAlpha"]) hg->SetMarkerColorAlpha(dict("MarkerColorAlpha",1),dict("MarkerColorAlpha",2));
0066
0067
0068 if (dict["MarkerSize"]) hg->SetMarkerSize(dict("MarkerSize"));
0069
0070 if (dict["LineWidth"]) hg->SetLineWidth(dict("LineWidth"));
0071 if (dict["LineStyle"]) hg->SetLineStyle(dict("LineStyle"));
0072
0073 if (dict["LineColor"]) hg->SetLineColor(dict("LineColor"));
0074 if (dict["LineColorAlpha"]) hg->SetLineColorAlpha(dict("LineColorAlpha",1),dict("LineColorAlpha",2));
0075
0076 if (!dict["LineColor"] && !dict["LineColorAlpha"] && (dict["MarkerColor"] || dict["MarkerColorAlpha"])) {
0077 if (dict["MarkerColor"]) hg->SetLineColor(dict("MarkerColor"));
0078 if (dict["MarkerColorAlpha"]) hg->SetLineColorAlpha(dict("MarkerColorAlpha",1),dict("MarkerColorAlpha",2));
0079 }
0080
0081
0082 if (dict["FillColor"]) hg->SetFillColor(dict("FillColor"));
0083 if (dict["FillColorAlpha"]) hg->SetFillColorAlpha(dict("FillColorAlpha",1),dict("FillColorAlpha",2));
0084
0085 if (dict["FillStyle"]) hg->SetFillStyle(dict("FillStyle"));
0086
0087
0088 if (dict["Title"]) hg->SetTitle(dict("Title"));
0089 if (dict["xAxisTitle"]) hg->GetXaxis()->SetTitle(dict("xAxisTitle"));
0090 if (dict["yAxisTitle"]) hg->GetYaxis()->SetTitle(dict("yAxisTitle"));
0091
0092
0093
0094 if (dict["TitleSize"]) hg->SetTitleSize(dict("TitleSize"));
0095 if (dict["TitleFont"]) hg->SetTitleFont(dict("TitleFont"));
0096
0097 if (dict["xAxisTitleFont"])
0098 hg->GetXaxis()->SetTitleFont(dict("xAxisTitleFont"));
0099 if (dict["xAxisTitleSize"])
0100 hg->GetXaxis()->SetTitleSize(dict("xAxisTitleSize"));
0101
0102
0103 if (dict["xAxisTitleOffset"])
0104 hg->GetXaxis()->SetTitleOffset(dict("xAxisTitleOffset"));
0105 if (dict["xAxisLabelFont"])
0106 hg->GetXaxis()->SetLabelFont(dict("xAxisLabelFont"));
0107 if (dict["xAxisLabelSize"])
0108 hg->GetXaxis()->SetLabelSize(dict("xAxisLabelSize"));
0109 if (dict["xAxisLabelOffset"])
0110 hg->GetXaxis()->SetLabelOffset(dict("xAxisLabelOffset"));
0111
0112
0113 if (dict["yAxisTitleFont"])
0114 hg->GetYaxis()->SetTitleFont(dict("yAxisTitleFont"));
0115 if (dict["yAxisTitleSize"])
0116 hg->GetYaxis()->SetTitleSize(dict("yAxisTitleSize"));
0117 if (dict["yAxisTitleOffset"])
0118 hg->GetYaxis()->SetTitleOffset(dict("yAxisTitleOffset"));
0119 if (dict["yAxisLabelFont"])
0120 hg->GetYaxis()->SetLabelFont(dict("yAxisLabelFont"));
0121 if (dict["yAxisLabelSize"])
0122 hg->GetYaxis()->SetLabelSize(dict("yAxisLabelSize"));
0123 if (dict["yAxisLabelOffset"])
0124 hg->GetYaxis()->SetLabelOffset(dict("yAxisLabelOffset"));
0125
0126
0127
0128 if (dict["zAxisTitleFont"])
0129 hg->GetZaxis()->SetTitleFont(dict("zAxisTitleFont"));
0130 if (dict["zAxisTitleSize"])
0131 hg->GetZaxis()->SetTitleSize(dict("zAxisTitleSize"));
0132 if (dict["zAxisTitleOffset"])
0133 hg->GetZaxis()->SetTitleOffset(dict("zAxisTitleOffset"));
0134 if (dict["zAxisLabelFont"])
0135 hg->GetZaxis()->SetLabelFont(dict("zAxisLabelFont"));
0136 if (dict["zAxisLabelSize"])
0137 hg->GetZaxis()->SetLabelSize(dict("zAxisLabelSize"));
0138 if (dict["zAxisLabelOffset"])
0139 hg->GetZaxis()->SetLabelOffset(dict("zAxisLabelOffset"));
0140
0141 if (dict["xAxisRange"]) hg->GetXaxis()->SetRangeUser(dict("xAxisRange",1),dict("xAxisRange",2));
0142
0143 if (dict["xAxisRangeLo"] || dict["xAxisRangeHi"]) {
0144 if (!dict["xAxisRangeLo"] || !dict["xAxisRangeHi"]) {
0145 cout << " Warning in noi_fmt: has xAxisRange{lo||hi} but not both. Needs both."<<endl;
0146 cout << " -> Not setting xAxisRange." << endl;
0147 } else {
0148 hg->GetXaxis()->SetRangeUser(dict("xAxisRangeLo"), dict("xAxisRangeHi"));
0149 }
0150 }
0151
0152 if (dict["yAxisRange"]) hg->GetYaxis()->SetRangeUser(dict("yAxisRange",1),dict("yAxisRange",2));
0153 if (dict["yAxisRangeLo"] || dict["yAxisRangeHi"]) {
0154 if (!dict["yAxisRangeLo"] || !dict["yAxisRangeHi"]) {
0155 cout << " Warning in noi_fmt: has yAxisRange{Lo||Hi} but not both. Needs both."<<endl;
0156 cout << " -> Not setting yAxisRange." << endl;
0157 } else {
0158 hg->GetYaxis()->SetRangeUser(dict("yAxisRangeLo"), dict("yAxisRangeHi"));
0159 }
0160 }
0161 if (dict["zAxisRangeLo"] || dict["zAxisRangeHi"]) {
0162 if (!dict["zAxisRangeLo"] || !dict["zAxisRangeHi"]) {
0163 cout << " Warning in noi_fmt: has zAxisRange{lo||hi} but not both. Needs both."<<endl;
0164 cout << " -> Not setting zAxisRange." << endl;
0165 } else {
0166 hg->GetZaxis()->SetRangeUser(dict("zAxisRangeLo"), dict("zAxisRangeHi"));
0167 }
0168 }
0169
0170 if (dict["xAxisNdivisions"]) hg->GetXaxis()->SetNdivisions(dict("xAxisNdivisions"));
0171 if (dict["yAxisNdivisions"]) hg->GetYaxis()->SetNdivisions(dict("yAxisNdivisions"));
0172 if (dict["zAxisNdivisions"]) hg->GetZaxis()->SetNdivisions(dict("zAxisNdivisions"));
0173 return hg;
0174 };
0175
0176 TLine* noi_fmt(TLine* line, noiDict options={{}}, noiDict dict={{
0177 "LineColor",kBlack, "LineColorAlpha",kBlack, 1., "LineStyle",1,
0178 "LineWidth",1 }})
0179 {
0180 dict += options;
0181 line->SetLineColorAlpha(dict("LineColorAlpha",1),dict("LineColorAlpha",2));
0182 line->SetLineStyle(dict("LineStyle"));
0183 line->SetLineWidth(dict("LineWidth"));
0184 return line;
0185 }
0186
0187 TLegend* noi_fmt (TLegend* leg, noiDict _override={{}},
0188
0189 noiDict dict={{ "LineColor", kWhite, "LineColorAlpha",0., "FillColorAlpha",kWhite, 0. }}
0190 ) {
0191 dict += _override;
0192 if (dict["LineColor"])
0193 leg->SetLineColorAlpha(dict("LineColor"),dict("LineColorAlpha",0.));
0194 if (dict["FillColor"])
0195 leg->SetLineColorAlpha(dict("FillColor"),dict("FillColorAlpha",0.));
0196 if (dict["FillStyle"])
0197 leg->SetFillStyle(dict("FillStyle"));
0198 if (dict["TextSize"]) leg->SetTextSize(dict("TextSize"));
0199 return leg;
0200 };
0201
0202 TGraph* noi_fmt (TGraph* hg, noiDict _override={{}}, noiDict dict=_tu_fmt__hg_dict()) {
0203
0204 dict += _override;
0205
0206 if (dict["MarkerStyle"]) hg->SetMarkerStyle(dict("MarkerStyle"));
0207 if (dict["MarkerColor"]) hg->SetMarkerColor(dict("MarkerColor"));
0208 if (dict["MarkerColorAlpha"]) hg->SetMarkerColorAlpha(dict("MarkerColorAlpha",1),dict("MarkerColorAlpha",2));
0209
0210 if (dict["MarkerSize"]) hg->SetMarkerSize(dict("MarkerSize"));
0211 if (dict["LineWidth"]) hg->SetLineWidth(dict("LineWidth"));
0212 if (dict["LineStyle"]) hg->SetLineStyle(dict("LineStyle"));
0213
0214 if (dict["LineColor"]) hg->SetLineColor(dict("LineColor"));
0215 if (dict["LineColorAlpha"]) hg->SetLineColorAlpha(dict("LineColorAlpha",1),dict("LineColorAlpha",2));
0216
0217 if (!dict["LineColor"] && !dict["LineColorAlpha"] && (dict["MarkerColor"] || dict["MarkerColorAlpha"])) {
0218 if (dict["MarkerColor"]) hg->SetLineColor(dict("MarkerColor"));
0219 if (dict["MarkerColorAlpha"]) hg->SetLineColorAlpha(dict("MarkerColorAlpha",1),dict("MarkerColorAlpha",2));
0220 }
0221
0222
0223 if (dict["FillColor"]) hg->SetFillColor(dict("FillColor"));
0224 if (dict["FillColorAlpha"]) hg->SetFillColorAlpha(dict("FillColorAlpha",1),dict("FillColorAlpha",2));
0225
0226 if (dict["FillStyle"]) hg->SetFillStyle(dict("FillStyle"));
0227
0228
0229 if (dict["Title"]) hg->SetTitle(dict("Title"));
0230 if (dict["xAxisTitle"]) hg->GetXaxis()->SetTitle(dict("xAxisTitle"));
0231 if (dict["yAxisTitle"]) hg->GetYaxis()->SetTitle(dict("yAxisTitle"));
0232
0233
0234
0235
0236 if (dict["xAxisTitleFont"])
0237 hg->GetXaxis()->SetTitleFont(dict("xAxisTitleFont"));
0238 if (dict["xAxisTitleSize"])
0239 hg->GetXaxis()->SetTitleSize(dict("xAxisTitleSize"));
0240
0241
0242 if (dict["xAxisTitleOffset"])
0243 hg->GetXaxis()->SetTitleOffset(dict("xAxisTitleOffset"));
0244 if (dict["xAxisLabelFont"])
0245 hg->GetXaxis()->SetLabelFont(dict("xAxisLabelFont"));
0246 if (dict["xAxisLabelSize"])
0247 hg->GetXaxis()->SetLabelSize(dict("xAxisLabelSize"));
0248 if (dict["xAxisLabelOffset"])
0249 hg->GetXaxis()->SetLabelOffset(dict("xAxisLabelOffset"));
0250
0251
0252 if (dict["yAxisTitleFont"])
0253 hg->GetYaxis()->SetTitleFont(dict("yAxisTitleFont"));
0254 if (dict["yAxisTitleSize"])
0255 hg->GetYaxis()->SetTitleSize(dict("yAxisTitleSize"));
0256 if (dict["yAxisTitleOffset"])
0257 hg->GetYaxis()->SetTitleOffset(dict("yAxisTitleOffset"));
0258 if (dict["yAxisLabelFont"])
0259 hg->GetYaxis()->SetLabelFont(dict("yAxisLabelFont"));
0260 if (dict["yAxisLabelSize"])
0261 hg->GetYaxis()->SetLabelSize(dict("yAxisLabelSize"));
0262 if (dict["yAxisLabelOffset"])
0263 hg->GetYaxis()->SetLabelOffset(dict("yAxisLabelOffset"));
0264
0265 if (dict["xAxisRange"]) hg->GetXaxis()->SetRangeUser(dict("xAxisRange",1),dict("xAxisRange",2));
0266
0267 if (dict["xAxisRangeLo"] || dict["xAxisRangeHi"]) {
0268 if (!dict["xAxisRangeLo"] || !dict["xAxisRangeHi"]) {
0269 cout << " Warning in noi_fmt: has xAxisRange{lo||hi} but not both. Needs both."<<endl;
0270 cout << " -> Not setting xAxisRange." << endl;
0271 } else {
0272 hg->GetXaxis()->SetRangeUser(dict("xAxisRangeLo"), dict("xAxisRangeHi"));
0273 }
0274 }
0275
0276 if (dict["yAxisRange"]) hg->GetYaxis()->SetRangeUser(dict("yAxisRange",1),dict("yAxisRange",2));
0277 if (dict["yAxisRangeLo"] || dict["yAxisRangeHi"]) {
0278 if (!dict["yAxisRangeLo"] || !dict["yAxisRangeHi"]) {
0279 cout << " Warning in noi_fmt: has yAxisRange{Lo||Hi} but not both. Needs both."<<endl;
0280 cout << " -> Not setting yAxisRange." << endl;
0281 } else {
0282 hg->GetYaxis()->SetRangeUser(dict("yAxisRangeLo"), dict("yAxisRangeHi"));
0283 }
0284 }
0285
0286 if (dict["xAxisNdivisions"]) hg->GetXaxis()->SetNdivisions(dict("xAxisNdivisions"));
0287 if (dict["yAxisNdivisions"]) hg->GetYaxis()->SetNdivisions(dict("yAxisNdivisions"));
0288 return hg;
0289 };
0290
0291 #endif