26int main(
int argc,
char **argv)
52 catch(
const exception& error) {
53 FATAL(error.what() << endl);
61 const bool logE = properties.
getValue<
bool>(
"logE");
62 const int option = properties.
getValue<
int> (
"option");
66 const int Nbins = hMeff.GetNbinsX();
68 if (option != (
int) JEvtWeightFactorMeffRatio::EVIS_LEADING_LEPTON_CONTR &&
69 option != (
int) JEvtWeightFactorMeffRatio::EVIS_HADRONIC_CONTR) {
74 case (
int) JEvtWeightFactorMeffRatio::ENERGY_INITIAL_STATE :
75 mfp = &JEvtWeightFactorMeffRatio::getMeffRatio1;
77 case (
int) JEvtWeightFactorMeffRatio::ENERGY_NEUTRINO:
78 mfp = &JEvtWeightFactorMeffRatio::getMeffRatio2;
80 case (
int) JEvtWeightFactorMeffRatio::EVIS:
81 mfp = &JEvtWeightFactorMeffRatio::getMeffRatio3;
88 g.SetName(hMeff.GetName());
90 for (Int_t i = 0; i < Nbins; ++i) {
92 const double x = hMeff.GetBinCenter(i+1);
93 const double y = (factor.*mfp)(logE ? pow(10.0, x) : x);
109 case (
int) JEvtWeightFactorMeffRatio::EVIS_LEADING_LEPTON_CONTR:
110 mfp = &JEvtWeightFactorMeffRatio::getMeffRatio4;
112 case (
int) JEvtWeightFactorMeffRatio::EVIS_HADRONIC_CONTR:
113 mfp = &JEvtWeightFactorMeffRatio::getMeffRatio5;
119 const Int_t N = Nbins * Nbins * (Nbins + 1) / 2;
122 g.SetName(hMeff.GetName());
126 for (Int_t i = 0; i < Nbins; ++i) {
128 const double x = hMeff.GetBinCenter(i+1);
130 for (Int_t j = 0; j < i; ++j, ++k) {
132 const double y = hMeff.GetBinCenter(j+1);
133 const double z = (logE ?
134 (factor.*mfp)(pow(10.0, x), pow(10.0, y)) :
135 (factor.*mfp)(x, y));
137 g.SetPoint(k, x, y, z);