Functions
Numu2017Fits.h File Reference

Go to the source code of this file.

Functions

double correct_prod3_fd_muon_length (double trkLen, bool ismc)
 
double correct_prod3_fd_calE_low_gain (double calE, bool ismc)
 
double correct_prod3_fd_calE_high_gain (double calE, bool ismc)
 
double correct_prod3_fd_calE (double calE, int run, bool ismc)
 
double predict_prod3_fd_p1_muon_energy (double trkLen)
 
double predict_prod3_fd_p2_muon_energy (double trkLen)
 
double predict_prod3_fd_p3_muon_energy (double trkLen)
 
double predict_prod3_fd_p4_muon_energy (double trkLen)
 
double predict_prod3_fd_p5_muon_energy (double trkLen)
 
double predict_prod3_fd_p1_had_energy (double hadVisE)
 
double predict_prod3_fd_p2_had_energy (double hadVisE)
 
double predict_prod3_fd_p3_had_energy (double hadVisE)
 
double predict_prod3_fd_p4_had_energy (double hadVisE)
 
double predict_prod3_fd_p5_had_energy (double hadVisE)
 
double predict_prod3_fd_p1_muon_energy_corr (double trkLen, bool ismc)
 
double predict_prod3_fd_p2_muon_energy_corr (double trkLen, bool ismc)
 
double predict_prod3_fd_p3_muon_energy_corr (double trkLen, bool ismc)
 
double predict_prod3_fd_p4_muon_energy_corr (double trkLen, bool ismc)
 
double predict_prod3_fd_p5_muon_energy_corr (double trkLen, bool ismc)
 
double predict_prod3_fd_p1_had_energy_corr (double hadVisE, bool ismc)
 
double predict_prod3_fd_p2_had_energy_corr (double hadVisE, bool ismc)
 
double predict_prod3_fd_p3_had_energy_corr (double hadVisE, bool ismc)
 
double predict_prod3_fd_p4_had_energy_corr (double hadVisE, bool ismc)
 
double predict_prod3_fd_p5_had_energy_corr (double hadVisE, bool ismc)
 
double predict_prod3_nd_p3_act_energy (double ndtrklenact)
 
double predict_prod3_nd_p3_cat_energy (double ndtrklencat)
 
double predict_prod3_nd_p3_had_energy (double hadVisE)
 
double predict_mprod16_nd_p4_act_energy (double ndtrklenact)
 
double predict_mprod16_nd_p4_cat_energy (double ndtrklencat)
 
double predict_mprod16_nd_p4_had_energy (double hadVisE)
 
double predict_prod3_nd_p4_act_energy (double ndtrklenact)
 
double predict_prod3_nd_p4_cat_energy (double ndtrklencat)
 
double predict_prod3_nd_p4_had_energy (double hadVisE)
 
double predict_prod3_fd_muon_energy (double trkLen, int run, bool ismc, bool isRHC)
 
double predict_prod3_fd_had_energy (double hadVisE, int run, bool ismc, bool isRHC)
 
double predict_prod3_nd_act_energy (double ndtrklenact, bool isRHC)
 
double predict_prod3_nd_cat_energy (double ndtrklencat, bool isRHC)
 
double predict_prod3_nd_had_energy (double hadVisE, bool isRHC)
 

Function Documentation

double correct_prod3_fd_calE ( double  calE,
int  run,
bool  ismc 
)

Definition at line 132 of file Numu2017Fits.cxx.

References fd_period_2_run_end.

Referenced by predict_prod3_fd_had_energy(), and ana::predict_special_fd_had_energy().

133 {
134  /* Calorimetric energy miscalibration fix: doc-23372-v2 */
135  if (ismc) {
136  return calE;
137  }
138 
139  if (run <= fd_period_2_run_end) {
140  /* low gain correction */
141  return calE * 0.9844;
142  }
143 
144  /* high gain correction */
145  return calE * 0.9949;
146 }
const int fd_period_2_run_end
Definition: Numu2017Fits.cxx:5
Definition: run.py:1
double correct_prod3_fd_calE_high_gain ( double  calE,
bool  ismc 
)

Definition at line 119 of file Numu2017Fits.cxx.

Referenced by predict_prod3_fd_p3_had_energy_corr(), predict_prod3_fd_p4_had_energy_corr(), predict_prod3_fd_p5_had_energy_corr(), NumuEnergyFunc::predict_prod4_fd_had_energy_p(), ana::predict_special_fd_p3_had_energy_corr(), and ana::predict_special_fd_p5_had_energy_corr().

120 {
121  /* Calorimetric energy miscalibration fix: doc-23372-v2 */
122  if (ismc) {
123  return calE;
124  }
125 
126  /* high gain correction */
127  return calE * 0.9949;
128 }
double correct_prod3_fd_calE_low_gain ( double  calE,
bool  ismc 
)

Definition at line 106 of file Numu2017Fits.cxx.

Referenced by predict_prod3_fd_p1_had_energy_corr(), predict_prod3_fd_p2_had_energy_corr(), NumuEnergyFunc::predict_prod4_fd_had_energy_p(), ana::predict_special_fd_p1_had_energy_corr(), and ana::predict_special_fd_p2_had_energy_corr().

107 {
108  /* Calorimetric energy miscalibration fix: doc-23372-v2 */
109  if (ismc) {
110  return calE;
111  }
112 
113  /* low gain correction */
114  return calE * 0.9844;
115 }
double correct_prod3_fd_muon_length ( double  trkLen,
bool  ismc 
)
double predict_mprod16_nd_p4_act_energy ( double  ndtrklenact)

Definition at line 515 of file Numu2017Fits.cxx.

References PandAna.reco_validation.add_data::offset, and spline3().

516 {
517  /* Note, this fit was done on the miniprod 2016 sample doc-18966-v2 */
518 
519  const double offset = 1.560502711152023103e-01;
520  const double slope0 = 1.927996549217538824e-01;
521  const double stitch1 = 2.763097394311628818e+00;
522  const double slope1 = 2.000138250885013236e-01;
523  const double stitch2 = 4.649293917550735955e+00;
524  const double slope2 = 2.075538808578699379e-01;
525  const double stitch3 = 9.095060911026711992e+00;
526  const double slope3 = 2.145950730831300002e-01;
527 
528  if (ndtrklenact <= 0) {
529  return 0;
530  }
531 
532  return spline3(ndtrklenact / 100,
533  offset, slope0,
534  stitch1, slope1,
535  stitch2, slope2,
536  stitch3, slope3);
537 }
static double spline3(double x, double offset, double slope0, double stitch1, double slope1, double stitch2, double slope2, double stitch3, double slope3)
double predict_mprod16_nd_p4_cat_energy ( double  ndtrklencat)

Definition at line 541 of file Numu2017Fits.cxx.

References PandAna.reco_validation.add_data::offset, and spline3().

542 {
543  /* Note, this fit was done on the miniprod 2016 sample doc-18966-v2 */
544 
545  const double offset = 7.059293364276031379e-02;
546  const double slope0 = 1.052724154897643205e-01;
547  const double stitch1 = 1.466666666666676111e-01;
548  const double slope1 = 5.555668682049775819e-01;
549  const double stitch2 = 2.274316786094766840e+00;
550  const double slope2 = 2.015720164137814852e+00;
551  const double stitch3 = 2.301657526094746054e+00;
552  const double slope3 = 3.938167768948175884e-01;
553 
554  if (ndtrklencat <= 0) {
555  return 0;
556  }
557 
558  return spline3(ndtrklencat / 100,
559  offset, slope0,
560  stitch1, slope1,
561  stitch2, slope2,
562  stitch3, slope3);
563 }
static double spline3(double x, double offset, double slope0, double stitch1, double slope1, double stitch2, double slope2, double stitch3, double slope3)
double predict_mprod16_nd_p4_had_energy ( double  hadVisE)

Definition at line 567 of file Numu2017Fits.cxx.

References PandAna.reco_validation.add_data::offset, and spline3().

568 {
569  /* Note, this fit was done on the miniprod 2016 sample doc-18966-v2 */
570 
571  const double offset = 4.370690101565655183e-02;
572  const double slope0 = 2.306317746493836029e+00;
573  const double stitch1 = 5.046916149809789476e-02;
574  const double slope1 = 3.250145515659832895e+00;
575  const double stitch2 = 1.021625084023882746e-01;
576  const double slope2 = 1.624362074506924047e+00;
577  const double stitch3 = 1.684459951617373330e-01;
578  const double slope3 = 1.892049412037302369e+00;
579 
580  if (hadVisE <= 0) {
581  return 0;
582  }
583 
584  return spline3(hadVisE,
585  offset, slope0,
586  stitch1, slope1,
587  stitch2, slope2,
588  stitch3, slope3);
589 }
static double spline3(double x, double offset, double slope0, double stitch1, double slope1, double stitch2, double slope2, double stitch3, double slope3)
double predict_prod3_fd_had_energy ( double  hadVisE,
int  run,
bool  ismc,
bool  isRHC 
)

Definition at line 688 of file Numu2017Fits.cxx.

References correct_prod3_fd_calE(), fd_period_1_run_end, fd_period_2_run_end, fd_period_3_run_end, fd_period_4_run_end, fd_period_5_run_end, predict_prod3_fd_p1_had_energy(), predict_prod3_fd_p2_had_energy(), predict_prod3_fd_p3_had_energy(), predict_prod3_fd_p4_had_energy(), and predict_prod3_fd_p5_had_energy().

Referenced by ana::TAHadEND(), and fnex::NuMuAnalysisSetup::ThirdAnalysisEnergy().

690 {
691  hadVisE = correct_prod3_fd_calE(hadVisE, run, ismc);
692 
693  if (run <= fd_period_1_run_end) {
694  return predict_prod3_fd_p1_had_energy(hadVisE);
695  }
696 
697  if (run <= fd_period_2_run_end) {
698  return predict_prod3_fd_p2_had_energy(hadVisE);
699  }
700 
701  if (run <= fd_period_3_run_end) {
702  return predict_prod3_fd_p3_had_energy(hadVisE);
703  }
704 
705  if (run <= fd_period_4_run_end) {
706  return predict_prod3_fd_p4_had_energy(hadVisE);
707  }
708 
709  if (run <= fd_period_5_run_end) {
710  return predict_prod3_fd_p5_had_energy(hadVisE);
711  }
712 
713  /* period 5 was the last period 2017 energy estimators were trained on */
714 
715  if (isRHC) {
716  return predict_prod3_fd_p4_had_energy(hadVisE);
717  }
718 
719  return predict_prod3_fd_p5_had_energy(hadVisE);
720 }
const int fd_period_4_run_end
Definition: Numu2017Fits.cxx:7
double predict_prod3_fd_p4_had_energy(double hadVisE)
double predict_prod3_fd_p1_had_energy(double hadVisE)
const int fd_period_2_run_end
Definition: Numu2017Fits.cxx:5
const int fd_period_1_run_end
Definition: Numu2017Fits.cxx:4
const int fd_period_3_run_end
Definition: Numu2017Fits.cxx:6
double predict_prod3_fd_p2_had_energy(double hadVisE)
double correct_prod3_fd_calE(double calE, int run, bool ismc)
Definition: run.py:1
const int fd_period_5_run_end
Definition: Numu2017Fits.cxx:8
double predict_prod3_fd_p3_had_energy(double hadVisE)
double predict_prod3_fd_p5_had_energy(double hadVisE)
double predict_prod3_fd_muon_energy ( double  trkLen,
int  run,
bool  ismc,
bool  isRHC 
)

Definition at line 652 of file Numu2017Fits.cxx.

References correct_prod3_fd_muon_length(), fd_period_1_run_end, fd_period_2_run_end, fd_period_3_run_end, fd_period_4_run_end, fd_period_5_run_end, predict_prod3_fd_p1_muon_energy(), predict_prod3_fd_p2_muon_energy(), predict_prod3_fd_p3_muon_energy(), predict_prod3_fd_p4_muon_energy(), and predict_prod3_fd_p5_muon_energy().

Referenced by ana::TAHadEND(), and fnex::NuMuAnalysisSetup::ThirdAnalysisEnergy().

654 {
655  trkLen = correct_prod3_fd_muon_length(trkLen, ismc);
656 
657  if (run <= fd_period_1_run_end) {
658  return predict_prod3_fd_p1_muon_energy(trkLen);
659  }
660 
661  if (run <= fd_period_2_run_end) {
662  return predict_prod3_fd_p2_muon_energy(trkLen);
663  }
664 
665  if (run <= fd_period_3_run_end) {
666  return predict_prod3_fd_p3_muon_energy(trkLen);
667  }
668 
669  if (run <= fd_period_4_run_end) {
670  return predict_prod3_fd_p4_muon_energy(trkLen);
671  }
672 
673  if (run <= fd_period_5_run_end) {
674  return predict_prod3_fd_p5_muon_energy(trkLen);
675  }
676 
677  /* period 5 was the last period 2017 energy estimators were trained on */
678 
679  if (isRHC) {
680  return predict_prod3_fd_p4_muon_energy(trkLen);
681  }
682 
683  return predict_prod3_fd_p5_muon_energy(trkLen);
684 }
double correct_prod3_fd_muon_length(double trkLen, bool ismc)
const int fd_period_4_run_end
Definition: Numu2017Fits.cxx:7
double predict_prod3_fd_p5_muon_energy(double trkLen)
double predict_prod3_fd_p3_muon_energy(double trkLen)
const int fd_period_2_run_end
Definition: Numu2017Fits.cxx:5
const int fd_period_1_run_end
Definition: Numu2017Fits.cxx:4
const int fd_period_3_run_end
Definition: Numu2017Fits.cxx:6
double predict_prod3_fd_p4_muon_energy(double trkLen)
Definition: run.py:1
double predict_prod3_fd_p1_muon_energy(double trkLen)
double predict_prod3_fd_p2_muon_energy(double trkLen)
const int fd_period_5_run_end
Definition: Numu2017Fits.cxx:8
double predict_prod3_fd_p1_had_energy ( double  hadVisE)

Definition at line 258 of file Numu2017Fits.cxx.

References PandAna.reco_validation.add_data::offset, and spline3().

Referenced by predict_prod3_fd_had_energy(), and predict_prod3_fd_p1_had_energy_corr().

259 {
260  const double offset = 6.069740170932858003e-02;
261  const double slope0 = 1.103685627830206739e+00;
262  const double stitch1 = 8.221169483726585570e-02;
263  const double slope1 = 2.094686049645236192e+00;
264  const double stitch2 = 5.335415728146151171e-01;
265  const double slope2 = 1.649382412059058556e+00;
266  const double stitch3 = 9.849999979737633637e-01;
267  const double slope3 = 2.153569995620331134e+00;
268 
269  if (hadVisE <= 0) {
270  return 0;
271  }
272 
273  return spline3(hadVisE,
274  offset, slope0,
275  stitch1, slope1,
276  stitch2, slope2,
277  stitch3, slope3);
278 }
static double spline3(double x, double offset, double slope0, double stitch1, double slope1, double stitch2, double slope2, double stitch3, double slope3)
double predict_prod3_fd_p1_had_energy_corr ( double  hadVisE,
bool  ismc 
)

Definition at line 475 of file Numu2017Fits.cxx.

References correct_prod3_fd_calE_low_gain(), and predict_prod3_fd_p1_had_energy().

Referenced by ana::TAHadEND().

476 {
477  hadVisE = correct_prod3_fd_calE_low_gain(hadVisE, ismc);
478  return predict_prod3_fd_p1_had_energy(hadVisE);
479 }
double predict_prod3_fd_p1_had_energy(double hadVisE)
double correct_prod3_fd_calE_low_gain(double calE, bool ismc)
double predict_prod3_fd_p1_muon_energy ( double  trkLen)

Definition at line 150 of file Numu2017Fits.cxx.

References PandAna.reco_validation.add_data::offset, and spline2().

Referenced by predict_prod3_fd_muon_energy(), and predict_prod3_fd_p1_muon_energy_corr().

151 {
152  const double offset = 1.483250632870023455e-01;
153  const double slope0 = 1.955739883601782803e-01;
154  const double stitch1 = 4.129999078650119060e+00;
155  const double slope1 = 2.057095056740816386e-01;
156  const double stitch2 = 9.414831896417680923e+00;
157  const double slope2 = 2.147448462294846983e-01;
158 
159  if (trkLen <= 0) {
160  return 0;
161  }
162 
163  return spline2(trkLen / 100,
164  offset, slope0,
165  stitch1, slope1,
166  stitch2, slope2);
167 }
static double spline2(double x, double offset, double slope0, double stitch1, double slope1, double stitch2, double slope2)
double predict_prod3_fd_p1_muon_energy_corr ( double  trkLen,
bool  ismc 
)

Definition at line 435 of file Numu2017Fits.cxx.

References correct_prod3_fd_muon_length(), and predict_prod3_fd_p1_muon_energy().

Referenced by ana::TAHadEND().

436 {
437  trkLen = correct_prod3_fd_muon_length(trkLen, ismc);
438  return predict_prod3_fd_p1_muon_energy(trkLen);
439 }
double correct_prod3_fd_muon_length(double trkLen, bool ismc)
double predict_prod3_fd_p1_muon_energy(double trkLen)
double predict_prod3_fd_p2_had_energy ( double  hadVisE)

Definition at line 282 of file Numu2017Fits.cxx.

References PandAna.reco_validation.add_data::offset, and spline3().

Referenced by predict_prod3_fd_had_energy(), and predict_prod3_fd_p2_had_energy_corr().

283 {
284  const double offset = 3.487649857913088791e-02;
285  const double slope0 = 2.109632444227325987e+00;
286  const double stitch1 = 5.092713207810132259e-01;
287  const double slope1 = 1.716494894914534886e+00;
288  const double stitch2 = 9.449999998699000203e-01;
289  const double slope2 = 2.338916725792882456e+00;
290  const double stitch3 = 1.351608484611389382e+00;
291  const double slope3 = 1.670675446405347708e+00;
292 
293  if (hadVisE <= 0) {
294  return 0;
295  }
296 
297  return spline3(hadVisE,
298  offset, slope0,
299  stitch1, slope1,
300  stitch2, slope2,
301  stitch3, slope3);
302 }
static double spline3(double x, double offset, double slope0, double stitch1, double slope1, double stitch2, double slope2, double stitch3, double slope3)
double predict_prod3_fd_p2_had_energy_corr ( double  hadVisE,
bool  ismc 
)

Definition at line 483 of file Numu2017Fits.cxx.

References correct_prod3_fd_calE_low_gain(), and predict_prod3_fd_p2_had_energy().

Referenced by ana::TAHadEND().

484 {
485  hadVisE = correct_prod3_fd_calE_low_gain(hadVisE, ismc);
486  return predict_prod3_fd_p2_had_energy(hadVisE);
487 }
double predict_prod3_fd_p2_had_energy(double hadVisE)
double correct_prod3_fd_calE_low_gain(double calE, bool ismc)
double predict_prod3_fd_p2_muon_energy ( double  trkLen)

Definition at line 171 of file Numu2017Fits.cxx.

References PandAna.reco_validation.add_data::offset, and spline2().

Referenced by predict_prod3_fd_muon_energy(), and predict_prod3_fd_p2_muon_energy_corr().

172 {
173  const double offset = 1.532385212574850497e-01;
174  const double slope0 = 1.943835976098556295e-01;
175  const double stitch1 = 3.854492640068833520e+00;
176  const double slope1 = 2.057372525501594829e-01;
177  const double stitch2 = 9.882283054843421510e+00;
178  const double slope2 = 2.182658523728695510e-01;
179 
180  if (trkLen <= 0) {
181  return 0;
182  }
183 
184  return spline2(trkLen / 100,
185  offset, slope0,
186  stitch1, slope1,
187  stitch2, slope2);
188 }
static double spline2(double x, double offset, double slope0, double stitch1, double slope1, double stitch2, double slope2)
double predict_prod3_fd_p2_muon_energy_corr ( double  trkLen,
bool  ismc 
)

Definition at line 443 of file Numu2017Fits.cxx.

References correct_prod3_fd_muon_length(), and predict_prod3_fd_p2_muon_energy().

Referenced by ana::TAHadEND().

444 {
445  trkLen = correct_prod3_fd_muon_length(trkLen, ismc);
446  return predict_prod3_fd_p2_muon_energy(trkLen);
447 }
double correct_prod3_fd_muon_length(double trkLen, bool ismc)
double predict_prod3_fd_p2_muon_energy(double trkLen)
double predict_prod3_fd_p3_had_energy ( double  hadVisE)

Definition at line 306 of file Numu2017Fits.cxx.

References PandAna.reco_validation.add_data::offset, and spline3().

Referenced by predict_prod3_fd_had_energy(), and predict_prod3_fd_p3_had_energy_corr().

307 {
308  const double offset = 4.729065467246984511e-02;
309  const double slope0 = 1.931526076780770929e+00;
310  const double stitch1 = 2.799421333699638192e-01;
311  const double slope1 = 2.266534645077610488e+00;
312  const double stitch2 = 4.692746254578271659e-01;
313  const double slope2 = 1.648693959937136633e+00;
314  const double stitch3 = 8.921135013900192146e-01;
315  const double slope3 = 2.020802581638818651e+00;
316 
317  if (hadVisE <= 0) {
318  return 0;
319  }
320 
321  return spline3(hadVisE,
322  offset, slope0,
323  stitch1, slope1,
324  stitch2, slope2,
325  stitch3, slope3);
326 }
static double spline3(double x, double offset, double slope0, double stitch1, double slope1, double stitch2, double slope2, double stitch3, double slope3)
double predict_prod3_fd_p3_had_energy_corr ( double  hadVisE,
bool  ismc 
)

Definition at line 491 of file Numu2017Fits.cxx.

References correct_prod3_fd_calE_high_gain(), and predict_prod3_fd_p3_had_energy().

Referenced by ana::TAHadEND().

492 {
493  hadVisE = correct_prod3_fd_calE_high_gain(hadVisE, ismc);
494  return predict_prod3_fd_p3_had_energy(hadVisE);
495 }
double correct_prod3_fd_calE_high_gain(double calE, bool ismc)
double predict_prod3_fd_p3_had_energy(double hadVisE)
double predict_prod3_fd_p3_muon_energy ( double  trkLen)

Definition at line 192 of file Numu2017Fits.cxx.

References PandAna.reco_validation.add_data::offset, and spline2().

Referenced by predict_prod3_fd_muon_energy(), and predict_prod3_fd_p3_muon_energy_corr().

193 {
194  const double offset = 1.476537053972520885e-01;
195  const double slope0 = 1.960472718145106208e-01;
196  const double stitch1 = 4.120072099634467300e+00;
197  const double slope1 = 2.059084783219390091e-01;
198  const double stitch2 = 9.874976681687856583e+00;
199  const double slope2 = 2.178808582731997512e-01;
200 
201  if (trkLen <= 0) {
202  return 0;
203  }
204 
205  return spline2(trkLen / 100,
206  offset, slope0,
207  stitch1, slope1,
208  stitch2, slope2);
209 }
static double spline2(double x, double offset, double slope0, double stitch1, double slope1, double stitch2, double slope2)
double predict_prod3_fd_p3_muon_energy_corr ( double  trkLen,
bool  ismc 
)

Definition at line 451 of file Numu2017Fits.cxx.

References correct_prod3_fd_muon_length(), and predict_prod3_fd_p3_muon_energy().

Referenced by ana::TAHadEND().

452 {
453  trkLen = correct_prod3_fd_muon_length(trkLen, ismc);
454  return predict_prod3_fd_p3_muon_energy(trkLen);
455 }
double correct_prod3_fd_muon_length(double trkLen, bool ismc)
double predict_prod3_fd_p3_muon_energy(double trkLen)
double predict_prod3_fd_p4_had_energy ( double  hadVisE)

Definition at line 330 of file Numu2017Fits.cxx.

References PandAna.reco_validation.add_data::offset, and spline3().

Referenced by predict_prod3_fd_had_energy(), and predict_prod3_fd_p4_had_energy_corr().

331 {
332  const double offset = 4.332202531604933959e-02;
333  const double slope0 = 2.366131159456818178e+00;
334  const double stitch1 = 1.049999756567459169e-01;
335  const double slope1 = 1.897994466055304974e+00;
336  const double stitch2 = 4.598347475287963282e-01;
337  const double slope2 = 1.574651945578143808e+00;
338  const double stitch3 = 6.601961854211407799e-01;
339  const double slope3 = 2.086566751147730159e+00;
340 
341  if (hadVisE <= 0) {
342  return 0;
343  }
344 
345  return spline3(hadVisE,
346  offset, slope0,
347  stitch1, slope1,
348  stitch2, slope2,
349  stitch3, slope3);
350 }
static double spline3(double x, double offset, double slope0, double stitch1, double slope1, double stitch2, double slope2, double stitch3, double slope3)
double predict_prod3_fd_p4_had_energy_corr ( double  hadVisE,
bool  ismc 
)

Definition at line 499 of file Numu2017Fits.cxx.

References correct_prod3_fd_calE_high_gain(), and predict_prod3_fd_p4_had_energy().

Referenced by ana::TAHadEND().

500 {
501  hadVisE = correct_prod3_fd_calE_high_gain(hadVisE, ismc);
502  return predict_prod3_fd_p4_had_energy(hadVisE);
503 }
double predict_prod3_fd_p4_had_energy(double hadVisE)
double correct_prod3_fd_calE_high_gain(double calE, bool ismc)
double predict_prod3_fd_p4_muon_energy ( double  trkLen)

Definition at line 213 of file Numu2017Fits.cxx.

References PandAna.reco_validation.add_data::offset, and spline3().

Referenced by predict_prod3_fd_muon_energy(), and predict_prod3_fd_p4_muon_energy_corr().

214 {
215  const double offset = 1.543934877851929066e-01;
216  const double slope0 = 1.939411335845932782e-01;
217  const double stitch1 = 3.187688625921237140e+00;
218  const double slope1 = 2.020725882614244073e-01;
219  const double stitch2 = 5.031281501272647283e+00;
220  const double slope2 = 2.072840009844969800e-01;
221  const double stitch3 = 1.031568838438018076e+01;
222  const double slope3 = 2.182695636807331363e-01;
223 
224  if (trkLen <= 0) {
225  return 0;
226  }
227 
228  return spline3(trkLen / 100,
229  offset, slope0,
230  stitch1, slope1,
231  stitch2, slope2,
232  stitch3, slope3);
233 }
static double spline3(double x, double offset, double slope0, double stitch1, double slope1, double stitch2, double slope2, double stitch3, double slope3)
double predict_prod3_fd_p4_muon_energy_corr ( double  trkLen,
bool  ismc 
)

Definition at line 459 of file Numu2017Fits.cxx.

References correct_prod3_fd_muon_length(), and predict_prod3_fd_p4_muon_energy().

Referenced by ana::TAHadEND().

460 {
461  trkLen = correct_prod3_fd_muon_length(trkLen, ismc);
462  return predict_prod3_fd_p4_muon_energy(trkLen);
463 }
double correct_prod3_fd_muon_length(double trkLen, bool ismc)
double predict_prod3_fd_p4_muon_energy(double trkLen)
double predict_prod3_fd_p5_had_energy ( double  hadVisE)

Definition at line 354 of file Numu2017Fits.cxx.

References PandAna.reco_validation.add_data::offset, and spline2().

Referenced by predict_prod3_fd_had_energy(), and predict_prod3_fd_p5_had_energy_corr().

355 {
356  const double offset = 3.442138256673876739e-02;
357  const double slope0 = 2.036769676363937354e+00;
358  const double stitch1 = 5.603659885239966609e-01;
359  const double slope1 = 1.585650161781588352e+00;
360  const double stitch2 = 8.493299384706546329e-01;
361  const double slope2 = 2.050073571966713359e+00;
362 
363  if (hadVisE <= 0) {
364  return 0;
365  }
366 
367  return spline2(hadVisE,
368  offset, slope0,
369  stitch1, slope1,
370  stitch2, slope2);
371 }
static double spline2(double x, double offset, double slope0, double stitch1, double slope1, double stitch2, double slope2)
double predict_prod3_fd_p5_had_energy_corr ( double  hadVisE,
bool  ismc 
)

Definition at line 507 of file Numu2017Fits.cxx.

References correct_prod3_fd_calE_high_gain(), and predict_prod3_fd_p5_had_energy().

Referenced by ana::TAHadEND().

508 {
509  hadVisE = correct_prod3_fd_calE_high_gain(hadVisE, ismc);
510  return predict_prod3_fd_p5_had_energy(hadVisE);
511 }
double correct_prod3_fd_calE_high_gain(double calE, bool ismc)
double predict_prod3_fd_p5_had_energy(double hadVisE)
double predict_prod3_fd_p5_muon_energy ( double  trkLen)

Definition at line 237 of file Numu2017Fits.cxx.

References PandAna.reco_validation.add_data::offset, and spline2().

Referenced by predict_prod3_fd_muon_energy(), and predict_prod3_fd_p5_muon_energy_corr().

238 {
239  const double offset = 1.488648665093454948e-01;
240  const double slope0 = 1.955393334139079176e-01;
241  const double stitch1 = 3.982132354846828814e+00;
242  const double slope1 = 2.056853517430136113e-01;
243  const double stitch2 = 9.610128112133583755e+00;
244  const double slope2 = 2.178689785257645617e-01;
245 
246  if (trkLen <= 0) {
247  return 0;
248  }
249 
250  return spline2(trkLen / 100,
251  offset, slope0,
252  stitch1, slope1,
253  stitch2, slope2);
254 }
static double spline2(double x, double offset, double slope0, double stitch1, double slope1, double stitch2, double slope2)
double predict_prod3_fd_p5_muon_energy_corr ( double  trkLen,
bool  ismc 
)

Definition at line 467 of file Numu2017Fits.cxx.

References correct_prod3_fd_muon_length(), and predict_prod3_fd_p5_muon_energy().

Referenced by ana::TAHadEND().

468 {
469  trkLen = correct_prod3_fd_muon_length(trkLen, ismc);
470  return predict_prod3_fd_p5_muon_energy(trkLen);
471 }
double correct_prod3_fd_muon_length(double trkLen, bool ismc)
double predict_prod3_fd_p5_muon_energy(double trkLen)
double predict_prod3_nd_act_energy ( double  ndtrklenact,
bool  isRHC 
)

Definition at line 724 of file Numu2017Fits.cxx.

References predict_prod3_nd_p3_act_energy(), and predict_prod3_nd_p4_act_energy().

Referenced by fnex::NuMuAnalysisSetup::FillRecoVars(), ana::TAHadEND(), and fnex::NuMuAnalysisSetup::ThirdAnalysisEnergy().

725 {
726  if (isRHC) {
727  return predict_prod3_nd_p4_act_energy(ndtrklenact);
728  }
729 
730  return predict_prod3_nd_p3_act_energy(ndtrklenact);
731 }
double predict_prod3_nd_p3_act_energy(double ndtrklenact)
double predict_prod3_nd_p4_act_energy(double ndtrklenact)
double predict_prod3_nd_cat_energy ( double  ndtrklencat,
bool  isRHC 
)

Definition at line 735 of file Numu2017Fits.cxx.

References predict_prod3_nd_p3_cat_energy(), and predict_prod3_nd_p4_cat_energy().

Referenced by fnex::NuMuAnalysisSetup::FillRecoVars(), ana::TAHadEND(), and fnex::NuMuAnalysisSetup::ThirdAnalysisEnergy().

736 {
737  if (isRHC) {
738  return predict_prod3_nd_p4_cat_energy(ndtrklencat);
739  }
740 
741  return predict_prod3_nd_p3_cat_energy(ndtrklencat);
742 }
double predict_prod3_nd_p4_cat_energy(double ndtrklencat)
double predict_prod3_nd_p3_cat_energy(double ndtrklencat)
double predict_prod3_nd_had_energy ( double  hadVisE,
bool  isRHC 
)

Definition at line 746 of file Numu2017Fits.cxx.

References predict_prod3_nd_p3_had_energy(), and predict_prod3_nd_p4_had_energy().

Referenced by ana::TAHadEND(), and fnex::NuMuAnalysisSetup::ThirdAnalysisEnergy().

747 {
748  if (isRHC) {
749  return predict_prod3_nd_p4_had_energy(hadVisE);
750  }
751 
752  return predict_prod3_nd_p3_had_energy(hadVisE);
753 }
double predict_prod3_nd_p4_had_energy(double hadVisE)
double predict_prod3_nd_p3_had_energy(double hadVisE)
double predict_prod3_nd_p3_act_energy ( double  ndtrklenact)

Definition at line 375 of file Numu2017Fits.cxx.

References PandAna.reco_validation.add_data::offset, and spline1().

Referenced by predict_prod3_nd_act_energy(), and ana::TAHadEND().

376 {
377  const double offset = 1.473446267714921820e-01;
378  const double slope0 = 1.958813916199254879e-01;
379  const double stitch1 = 4.117512435079445865e+00;
380  const double slope1 = 2.068093764675576485e-01;
381 
382  if (ndtrklenact <= 0) {
383  return 0;
384  }
385 
386  return spline1(ndtrklenact / 100,
387  offset, slope0,
388  stitch1, slope1);
389 }
static double spline1(double x, double offset, double slope0, double stitch1, double slope1)
double predict_prod3_nd_p3_cat_energy ( double  ndtrklencat)

Definition at line 393 of file Numu2017Fits.cxx.

References PandAna.reco_validation.add_data::offset, and spline3().

Referenced by predict_prod3_nd_cat_energy(), and ana::TAHadEND().

394 {
395  const double offset = 7.017118321474302700e-02;
396  const double slope0 = 1.009985063097527530e-01;
397  const double stitch1 = 1.466666666666738839e-01;
398  const double slope1 = 5.558686386480078401e-01;
399  const double stitch2 = 2.269449191147328015e+00;
400  const double slope2 = 1.506386606204337841e+00;
401  const double stitch3 = 2.310334083126842852e+00;
402  const double slope3 = 3.634575525654349382e-01;
403 
404  if (ndtrklencat <= 0) {
405  return 0;
406  }
407 
408  return spline3(ndtrklencat / 100,
409  offset, slope0,
410  stitch1, slope1,
411  stitch2, slope2,
412  stitch3, slope3);
413 }
static double spline3(double x, double offset, double slope0, double stitch1, double slope1, double stitch2, double slope2, double stitch3, double slope3)
double predict_prod3_nd_p3_had_energy ( double  hadVisE)

Definition at line 417 of file Numu2017Fits.cxx.

References PandAna.reco_validation.add_data::offset, and spline1().

Referenced by predict_prod3_nd_had_energy(), and ana::TAHadEND().

418 {
419  const double offset = 3.766323500934987134e-02;
420  const double slope0 = 2.206130121197688698e+00;
421  const double stitch1 = 5.005521534140644491e-01;
422  const double slope1 = 1.775841650258208393e+00;
423 
424  if (hadVisE <= 0) {
425  return 0;
426  }
427 
428  return spline1(hadVisE,
429  offset, slope0,
430  stitch1, slope1);
431 }
static double spline1(double x, double offset, double slope0, double stitch1, double slope1)
double predict_prod3_nd_p4_act_energy ( double  ndtrklenact)

Definition at line 593 of file Numu2017Fits.cxx.

References PandAna.reco_validation.add_data::offset, and spline1().

Referenced by predict_prod3_nd_act_energy(), and ana::TAHadEND().

594 {
595  const double offset = 1.456667491802539072e-01;
596  const double slope0 = 1.971031247457571411e-01;
597  const double stitch1 = 4.359417948299743273e+00;
598  const double slope1 = 2.078006187845642394e-01;
599 
600  if (ndtrklenact <= 0) {
601  return 0;
602  }
603 
604  return spline1(ndtrklenact / 100,
605  offset, slope0,
606  stitch1, slope1);
607 }
static double spline1(double x, double offset, double slope0, double stitch1, double slope1)
double predict_prod3_nd_p4_cat_energy ( double  ndtrklencat)

Definition at line 611 of file Numu2017Fits.cxx.

References PandAna.reco_validation.add_data::offset, and spline0().

Referenced by predict_prod3_nd_cat_energy(), and ana::TAHadEND().

612 {
613  /*
614  * NOTE: i really do not like a negative offset here, and overall this fit
615  * is much worse than similar fit on miniprod 2016
616  */
617 
618  const double offset = -2.247455892420480161e-03;
619  const double slope0 = 5.610243972312459748e-01;
620 
621  if (ndtrklencat <= 0) {
622  return 0;
623  }
624 
625  return spline0(ndtrklencat / 100,
626  offset, slope0);
627 }
static double spline0(double x, double offset, double slope0)
double predict_prod3_nd_p4_had_energy ( double  hadVisE)

Definition at line 631 of file Numu2017Fits.cxx.

References PandAna.reco_validation.add_data::offset, and spline2().

Referenced by predict_prod3_nd_had_energy(), and ana::TAHadEND().

632 {
633  const double offset = 4.483967184110027038e-02;
634  const double slope0 = 2.965814310246884133e+00;
635  const double stitch1 = 9.767960955481164165e-02;
636  const double slope1 = 1.531955866917958486e+00;
637  const double stitch2 = 1.708985997225620779e-01;
638  const double slope2 = 1.944014774753460850e+00;
639 
640  if (hadVisE <= 0) {
641  return 0;
642  }
643 
644  return spline2(hadVisE,
645  offset, slope0,
646  stitch1, slope1,
647  stitch2, slope2);
648 }
static double spline2(double x, double offset, double slope0, double stitch1, double slope1, double stitch2, double slope2)