HighLAND
PionCrossSections.cxx
1 #include <PionCrossSections.hxx>
2 #include <iostream>
3 #include <math.h>
4 #include "ND280AnalysisUtils.hxx"
5 #define JMDEBUGFIXMATERIAL 1
6 namespace PiXSec{
7 
8  //===========================================
9  //Carbon
10  //==========================================
11 
12  //**********************
13  //pi+
14  //**********************
15 
16  //Total
17  Int_t ndp_c_tot_piP = 24;
18  Float_t mom_c_tot_piP[24] = {175.66,
19  224.44,
20  270.36,
21  314.67,
22  357.96,
23  432.2,
24  115.93,
25  133.9,
26  149.32,
27  179,
28  211,
29  227,
30  259,
31  294,
32  340,
33  372,
34  403,
35  453,
36  528,
37  603,
38  690,
39  822,
40  983,
41  995};
42 
43  Float_t xsec_c_tot_piP[24] = {465.0000,
44  638.0000,
45  670.0000,
46  626.0000,
47  552.0000,
48  445.0000,
49  214.0000,
50  253.0000,
51  329.0000,
52  501.3000,
53  624.6000,
54  646.9000,
55  682.7000,
56  640.9000,
57  569.4000,
58  522.7000,
59  473.7000,
60  408.4000,
61  352.7000,
62  304.4000,
63  291.9000,
64  297.7000,
65  322.2000,
66  344.1000};
67 
68  Float_t err_c_tot_piP[24] = {12.0000,
69  10.0000,
70  8.0000,
71  6.0000,
72  7.0000,
73  7.0000,
74  18.0000,
75  20.0000,
76  24.0000,
77  24.9000,
78  14.2000,
79  11.6000,
80  12.0000,
81  10.5000,
82  13.5000,
83  8.0000,
84  8.0000,
85  4.5000,
86  3.5000,
87  2.0000,
88  4.5000,
89  4.0000,
90  6.0000,
91  10.1000};
92 
93 
94  //Reactive (i.e. all inelastic processes).
95  Int_t ndp_c_rxn_piP = 16;
96  Float_t mom_c_rxn_piP[16] = {115.93,
97  133.9,
98  149.32,
99  175.66,
100  224.44,
101  270.36,
102  314.67,
103  357.96,
104  432.2,
105  710,
106  840,
107  995,
108  1000,
109  1360,
110  1580,
111  2000};
112 
113  Float_t xsec_c_rxn_piP[16] = {125,
114  147,
115  202,
116  287,
117  417,
118  447,
119  412,
120  366,
121  309,
122  263,
123  246,
124  258.9,
125  257,
126  248,
127  243,
128  224};
129 
130  Float_t err_c_rxn_piP[16] = {14,
131  14,
132  17,
133  21.63,
134  24.17,
135  23.41,
136  21.84,
137  21.19,
138  15.65,
139  14.26,
140  6.58,
141  10.17,
142  10.17,
143  10.17,
144  10.17,
145  10.17};
146 
147 
148  //Absorption
149  Int_t ndp_c_abs_piP = 22;
150  Float_t mom_c_abs_piP[22] = {175.66,
151  224.44,
152  270.36,
153  314.67,
154  357.96,
155  432.2,
156  363.32,
157  416.41,
158  520.77,
159  623.7,
160  58.99,
161  120.56,
162  142.41,
163  162.71,
164  181.99,
165  218.54,
166  236.12,
167  128.06,
168  309.19,
169  216.17,
170  351.52,
171  128.06};
172 
173  Float_t xsec_c_abs_piP[22] = {95.3,
174  151.13,
175  176,
176  139.39,
177  76.61,
178  64,
179  73,
180  69,
181  45,
182  39,
183  23,
184  35,
185  54,
186  71,
187  97,
188  138,
189  159,
190  50,
191  140,
192  160.88,
193  94.59,
194  88};
195 
196  Float_t err_c_abs_piP[22] = {20,
197  26,
198  36,
199  37,
200  32,
201  27,
202  14.6,
203  13.8,
204  9,
205  17.55,
206  9.2,
207  14,
208  21.6,
209  28.4,
210  24.25,
211  34.5,
212  39.75,
213  10,
214  28,
215  8.84,
216  8.84,
217  27};
218 
219 
220  //Charge Exchange
221  Int_t ndp_c_cex_piP = 10;
222  Float_t mom_c_cex_piP[10] = {175.66,
223  224.44,
224  314.67,
225  357.96,
226  432.2,
227  363.32,
228  416.41,
229  520.77,
230  623.7,
231  264.73};
232 
233  Float_t xsec_c_cex_piP[10] = {48.7,
234  52.87,
235  62.61,
236  65.39,
237  62.61,
238  46,
239  55,
240  59,
241  91,
242  64};
243 
244  Float_t err_c_cex_piP[10] = {12,
245  12,
246  23,
247  23,
248  22,
249  13.8,
250  16.5,
251  29.5,
252  45.5,
253  10};
254 
255  //Quasi-Elastic
256  Int_t ndp_c_qe_piP = 9;
257  Float_t mom_c_qe_piP[9] = {175.66,
258  224.44,
259  270.36,
260  314.67,
261  357.96,
262  432.2,
263  194.42,
264  331,
265  363.32};
266 
267  Float_t xsec_c_qe_piP[9] = {143,
268  213,
269  207,
270  210,
271  224,
272  200,
273  150,
274  240,
275  230};
276 
277  Float_t err_c_qe_piP[9] = {26,
278  33,
279  33,
280  51,
281  30,
282  22,
283  45,
284  48,
285  23};
286 
287  //Elastic
288  Int_t ndp_c_el_piP = 10;
289  Float_t mom_c_el_piP[10] = {175.66,
290  224.44,
291  270.36,
292  314.67,
293  357.96,
294  432.2,
295  115.93,
296  133.9,
297  149.32,
298  995};
299 
300  Float_t xsec_c_el_piP[10] = {178,
301  221,
302  223,
303  214,
304  186,
305  136,
306  89,
307  106,
308  127,
309  91.1};
310 
311  Float_t err_c_el_piP[10] = {18,
312  22,
313  22,
314  21,
315  20,
316  14,
317  11.31,
318  14.28,
319  16.94,
320  4.4};
321 
322  //**********************
323  //pi-
324  //**********************
325  Int_t ndp_c_tot_piM = 44;
326  Float_t mom_c_tot_piM[44] = {224.44,
327  270.36,
328  128.06,
329  531.11,
330  586.76,
331  615.5,
332  608.32,
333  658.49,
334  723.77,
335  838.56,
336  957.97,
337  1023.61,
338  1187.9,
339  1388.06,
340  155.41,
341  178.83,
342  181.99,
343  204.18,
344  218.54,
345  253.38,
346  287.12,
347  309.19,
348  341.82,
349  374.01,
350  395.27,
351  610,
352  710,
353  790,
354  895,
355  179,
356  211,
357  227,
358  259,
359  294,
360  340,
361  372,
362  403,
363  453,
364  528,
365  603,
366  690,
367  822,
368  983,
369  995};
370 
371  Float_t xsec_c_tot_piM[44] = {673,
372  684,
373  285.6,
374  341,
375  314,
376  290,
377  322,
378  305,
379  302,
380  319,
381  318,
382  317,
383  327,
384  337,
385  537,
386  571,
387  590,
388  666,
389  681,
390  696,
391  670,
392  637,
393  584,
394  536,
395  510,
396  270.8,
397  272.5,
398  294.2,
399  316.4,
400  583.1,
401  673,
402  687.6,
403  699.4,
404  661.5,
405  584.1,
406  534.9,
407  492.2,
408  421.3,
409  363.9,
410  314.3,
411  301.2,
412  304.5,
413  326.2,
414  352.9};
415 
416  Float_t err_c_tot_piM[44] = {14,
417  9,
418  31.2,
419  25.61,
420  22.8,
421  20.62,
422  8,
423  12,
424  6,
425  7,
426  8,
427  9,
428  6,
429  5,
430  20,
431  20,
432  12,
433  10,
434  7,
435  7,
436  7,
437  7,
438  6,
439  6,
440  6,
441  8.6,
442  8.9,
443  8.9,
444  11.4,
445  15.4,
446  18.7,
447  17.6,
448  9.5,
449  13,
450  8.5,
451  8,
452  6.5,
453  4.5,
454  4.5,
455  2.5,
456  2,
457  4,
458  6,
459  6.6};
460 
461  //Reactive (i.e. all inelastic processes).
462  Int_t ndp_c_rxn_piM = 37;
463  Float_t mom_c_rxn_piM[37] = {128.06,
464  155.41,
465  178.83,
466  218.54,
467  224.44,
468  253.38,
469  253.38,
470  270.36,
471  287.12,
472  309.19,
473  341.82,
474  374.01,
475  395.27,
476  531.11,
477  586.76,
478  608.32,
479  615.5,
480  658.49,
481  710,
482  723.77,
483  725.81,
484  790,
485  838.56,
486  840,
487  895,
488  928.65,
489  957.97,
490  995,
491  1000,
492  1023.61,
493  1100.25,
494  1187.9,
495  1331.77,
496  1360,
497  1388.06,
498  1580,
499  2000};
500 
501  Float_t xsec_c_rxn_piM[37] = {177.6,
502  323,
503  358,
504  429,
505  429,
506  430,
507  441,
508  442,
509  423,
510  396,
511  359,
512  324,
513  311,
514  255,
515  244,
516  231,
517  224,
518  225,
519  243,
520  226,
521  216,
522  219.9,
523  231,
524  250,
525  239.8,
526  238,
527  231,
528  258.9,
529  264,
530  233,
531  252,
532  234,
533  246,
534  254,
535  239,
536  246,
537  224};
538 
539  Float_t err_c_rxn_piM[37] = {24,
540  36,
541  28,
542  18,
543  27.78,
544  42,
545  18,
546  25.63,
547  13,
548  13,
549  18,
550  19,
551  19,
552  18.6,
553  17.2,
554  14.26,
555  15,
556  14.26,
557  14.26,
558  14.26,
559  14.26,
560  14.26,
561  6.58,
562  6.58,
563  6.58,
564  12,
565  10.17,
566  10.17,
567  10.17,
568  10.17,
569  13,
570  10.17,
571  14,
572  10.17,
573  10.17,
574  10.17,
575  10.17};
576 
577  //Absorption
578  Int_t ndp_c_abs_piM = 3;
579  Float_t mom_c_abs_piM[3] = {224.44,
580  270.36,
581  253.38};
582 
583  Float_t xsec_c_abs_piM[3] = {186.58,
584  189,
585  172};
586 
587  Float_t err_c_abs_piM[3] = {30,
588  33,
589  35};
590 
591  //Charge Exchange
592  Int_t ndp_c_cex_piM = 2;
593  Float_t mom_c_cex_piM[2] = {224.44,
594  264.73};
595 
596  Float_t xsec_c_cex_piM[2] = {65.42,
597  64};
598 
599  Float_t err_c_cex_piM[2] = {20,
600  10};
601 
602 
603  //Quasi-Elastic
604  Int_t ndp_c_qe_piM = 4;
605  Float_t mom_c_qe_piM[4] = {224.44,
606  270.36,
607  253.38,
608  950};
609 
610  Float_t xsec_c_qe_piM[4] = {176,
611  193,
612  258,
613  128.37};
614 
615  Float_t err_c_qe_piM[4] = {37,
616  37,
617  54.04,
618  25.67};
619 
620  //Elastic
621  Int_t ndp_c_el_piM = 24;
622  Float_t mom_c_el_piM[24] = {224.44,
623  270.36,
624  128.06,
625  608.32,
626  658.49,
627  723.77,
628  838.56,
629  957.97,
630  1023.61,
631  1187.9,
632  1388.06,
633  155.41,
634  178.83,
635  218.54,
636  253.38,
637  287.12,
638  309.19,
639  341.82,
640  374.01,
641  395.27,
642  610,
643  710,
644  790,
645  895};
646 
647  Float_t xsec_c_el_piM[24] = {244,
648  242,
649  108,
650  91,
651  80,
652  76,
653  88,
654  87,
655  84,
656  93,
657  98,
658  214,
659  213,
660  252,
661  255,
662  247,
663  241,
664  225,
665  212,
666  199,
667  92.2,
668  78.1,
669  76.3,
670  76.7};
671 
672  Float_t err_c_el_piM[24] = {24,
673  24,
674  19.94,
675  8,
676  12,
677  6,
678  4,
679  8,
680  9,
681  4,
682  2,
683  30,
684  20,
685  16,
686  16,
687  11,
688  11,
689  17,
690  18,
691  18,
692  4.6,
693  3.9,
694  4.2,
695  5};
696 
697 
698  //=========================================
699  //Oxygen
700  //=========================================
701 
702  //**********************
703  //pi+
704  //**********************
705 
706  //Total
707  Int_t ndp_o_tot_piP = 15;
708  Float_t mom_o_tot_piP[15] = {211.4,
709  268.11,
710  352.59,
711  179,
712  211,
713  227,
714  259,
715  294,
716  340,
717  183.25,
718  206.59,
719  225.62,
720  259.07,
721  292.67,
722  337.5};
723 
724  Float_t xsec_o_tot_piP[15] = {735,
725  807,
726  676,
727  674.3,
728  749.1,
729  783.1,
730  818.2,
731  772.6,
732  688.9,
733  670,
734  745,
735  785,
736  805,
737  765,
738  689};
739 
740  Float_t err_o_tot_piP[15] = {15,
741  15,
742  15,
743  37.1,
744  11.7,
745  17.1,
746  15.2,
747  15.2,
748  11.2,
749  30,
750  10,
751  15,
752  20,
753  20,
754  10};
755 
756  //Reactive (i.e. all inelastic processes).
757  Int_t ndp_o_rxn_piP = 3;
758  Float_t mom_o_rxn_piP[3] = {211.4,
759  268.11,
760  352.59};
761 
762  Float_t xsec_o_rxn_piP[3] = {455,
763  510,
764  406};
765 
766  Float_t err_o_rxn_piP[3] = {25,
767  25,
768  25};
769 
770  //Absorption
771  Int_t ndp_o_abs_piP = 3;
772  Float_t mom_o_abs_piP[3] = {211.4,
773  268.11,
774  352.59};
775 
776  Float_t xsec_o_abs_piP[3] = {206,
777  188,
778  89};
779 
780  Float_t err_o_abs_piP[3] = {33,
781  36,
782  35};
783 
784  //Charge Exchange
785  Int_t ndp_o_cex_piP = 4;
786  Float_t mom_o_cex_piP[4] = {211.4,
787  268.11,
788  352.59,
789  264.73};
790 
791  Float_t xsec_o_cex_piP[4] = {58,
792  63,
793  62,
794  80};
795 
796  Float_t err_o_cex_piP[4] = {17,
797  19,
798  19,
799  12};
800 
801 
802  //Quasi-Elastic
803  Int_t ndp_o_qe_piP = 3;
804  Float_t mom_o_qe_piP[3] = {211.4,
805  268.11,
806  352.59};
807 
808  Float_t xsec_o_qe_piP[3] = {191,
809  259,
810  249};
811 
812  Float_t err_o_qe_piP[3] = {12,
813  17,
814  16};
815 
816  //Elastic
817  Int_t ndp_o_el_piP = 3;
818  Float_t mom_o_el_piP[3] = {211.4,
819  268.11,
820  352.59};
821 
822  Float_t xsec_o_el_piP[3] = {280,
823  297,
824  270};
825 
826  Float_t err_o_el_piP[3] = {20,
827  20,
828  20};
829 
830  //**********************
831  //pi-
832  //**********************
833  Int_t ndp_o_tot_piM = 12;
834  Float_t mom_o_tot_piM[12] = {179,
835  211,
836  227,
837  259,
838  294,
839  340,
840  183.25,
841  206.59,
842  225.62,
843  259.07,
844  292.67,
845  337.5};
846 
847  Float_t xsec_o_tot_piM[12] = {803.7,
848  868.6,
849  866.3,
850  826.9,
851  801,
852  719.4,
853  770,
854  859,
855  859,
856  839,
857  815,
858  711};
859 
860  Float_t err_o_tot_piM[12] = {54.3,
861  17.4,
862  6.6,
863  19.7,
864  16,
865  13,
866  67.08,
867  26,
868  20.52,
869  36.06,
870  28.28,
871  14.14};
872 
873  //Reactive (i.e. all inelastic processes).
874  //Apparently no such data exists.
875  //So use the pi+ data, defined above.
876  Int_t ndp_o_rxn_piM = ndp_o_rxn_piP;
877  Float_t* mom_o_rxn_piM = mom_o_rxn_piP;
878  Float_t* xsec_o_rxn_piM = xsec_o_rxn_piP;
879  Float_t* err_o_rxn_piM = err_o_rxn_piP;
880 
881  //Absorption
882  //No data
883  //So use the pi+ data defined above.
884  Int_t ndp_o_abs_piM = ndp_o_abs_piP;
885  Float_t* mom_o_abs_piM = mom_o_abs_piP;
886  Float_t* xsec_o_abs_piM = xsec_o_abs_piP;
887  Float_t* err_o_abs_piM = err_o_abs_piP;
888 
889  //Charge Exchange
890  Int_t ndp_o_cex_piM = 1;
891  Float_t mom_o_cex_piM[1] = {264.73};
892  Float_t xsec_o_cex_piM[1] = {80};
893  Float_t err_o_cex_piM[1] = {12};
894 
895 
896  //Quasi-Elastic
897  //No data
898  //So use the pi+ data defined above.
899  Int_t ndp_o_qe_piM = ndp_o_qe_piP;
900  Float_t* mom_o_qe_piM = mom_o_qe_piP;
901  Float_t* xsec_o_qe_piM = xsec_o_qe_piP;
902  Float_t* err_o_qe_piM = err_o_qe_piP;
903 
904  //Elastic
905  //No data
906  //So use the pi+ data defined above.
907  Int_t ndp_o_el_piM = ndp_o_el_piP;
908  Float_t* mom_o_el_piM = mom_o_el_piP;
909  Float_t* xsec_o_el_piM = xsec_o_el_piP;
910  Float_t* err_o_el_piM = err_o_el_piP;
911 
912 
913  //=========================================
914  //Aluminum
915  //=========================================
916 
917  //**********************
918  //pi+
919  //**********************
920 
921  //Total
922  Int_t ndp_al_tot_piP = 7;
923  Float_t mom_al_tot_piP[7] = {175.66,
924  224.44,
925  270.36,
926  314.67,
927  357.96,
928  432.2,
929  128.06};
930 
931  Float_t xsec_al_tot_piP[7] = {1010,
932  1140,
933  1130,
934  1065,
935  960,
936  810,
937  596.7};
938 
939  Float_t err_al_tot_piP[7] = {30,
940  40,
941  40,
942  35,
943  35,
944  35,
945  54};
946 
947  //Reactive (i.e. all inelastic processes).
948  Int_t ndp_al_rxn_piP = 11;
949  Float_t mom_al_rxn_piP[11] = {128.06,
950  175.66,
951  224.44,
952  270.36,
953  314.67,
954  357.96,
955  432.2,
956  840,
957  1000,
958  1360,
959  1580};
960 
961  Float_t xsec_al_rxn_piP[11] = {359.1,
962  638,
963  740,
964  719,
965  654,
966  578,
967  499,
968  429,
969  451,
970  437,
971  435};
972 
973  Float_t err_al_rxn_piP[11] = {35.1,
974  47.63,
975  56.57,
976  57.28,
977  53.91,
978  51.66,
979  47.42,
980  15.29,
981  8.83,
982  8.83,
983  8.83};
984 
985  //Absorption
986  Int_t ndp_al_abs_piP = 23;
987  Float_t mom_al_abs_piP[23] = {175.66,
988  224.44,
989  270.36,
990  314.67,
991  357.96,
992  432.2,
993  162.71,
994  181.99,
995  218.54,
996  83.2,
997  107.96,
998  131,
999  153.39,
1000  173.1,
1001  194.42,
1002  224.44,
1003  254.52,
1004  294.88,
1005  345.06,
1006  395.27,
1007  216.17,
1008  266.98,
1009  351.52};
1010 
1011  Float_t xsec_al_abs_piP[23] = {226.15,
1012  312.74,
1013  304.16,
1014  299.74,
1015  187.92,
1016  119,
1017  210,
1018  280,
1019  350,
1020  102,
1021  148,
1022  220,
1023  260,
1024  282,
1025  275,
1026  256,
1027  259,
1028  256,
1029  211,
1030  187,
1031  286.97,
1032  267.25,
1033  205.92};
1034 
1035  Float_t err_al_abs_piP[23] = {40,
1036  50,
1037  57,
1038  57,
1039  47,
1040  44,
1041  50,
1042  70,
1043  90,
1044  38.72,
1045  53.93,
1046  78.45,
1047  93.17,
1048  59.84,
1049  62.18,
1050  54.97,
1051  59.37,
1052  54.97,
1053  46.7,
1054  44.99,
1055  15.33,
1056  16.06,
1057  15.33};
1058 
1059  //Charge Exchange
1060  Int_t ndp_al_cex_piP = 6;
1061  Float_t mom_al_cex_piP[6] = {175.66,
1062  224.44,
1063  270.36,
1064  314.67,
1065  357.96,
1066  432.2};
1067 
1068  Float_t xsec_al_cex_piP[6] = {80.85,
1069  85.26,
1070  105.84,
1071  85.26,
1072  94.08,
1073  107.31};
1074 
1075  Float_t err_al_cex_piP[6] = {27,
1076  29,
1077  36,
1078  30,
1079  32,
1080  36};
1081 
1082 
1083  //Quasi-Elastic
1084  Int_t ndp_al_qe_piP = 6;
1085  Float_t mom_al_qe_piP[6] = {175.66,
1086  224.44,
1087  270.36,
1088  314.67,
1089  357.96,
1090  432.2};
1091 
1092  Float_t xsec_al_qe_piP[6] = {331,
1093  342,
1094  321,
1095  269,
1096  296,
1097  307};
1098 
1099  Float_t err_al_qe_piP[6] = {56,
1100  70,
1101  72,
1102  72,
1103  62,
1104  54};
1105 
1106  //Elastic
1107  Int_t ndp_al_el_piP = 7;
1108  Float_t mom_al_el_piP[7] = {175.66,
1109  224.44,
1110  270.36,
1111  314.67,
1112  357.96,
1113  432.2,
1114  128.06};
1115 
1116  Float_t xsec_al_el_piP[7] = {372,
1117  400,
1118  411,
1119  411,
1120  382,
1121  311,
1122  237.6};
1123 
1124  Float_t err_al_el_piP[7] = {37,
1125  40,
1126  41,
1127  41,
1128  38,
1129  32,
1130  41.04};
1131 
1132  //**********************
1133  //pi-
1134  //**********************
1135  Int_t ndp_al_tot_piM = 12;
1136  Float_t mom_al_tot_piM[12] = {224.44,
1137  270.36,
1138  128.06,
1139  531.11,
1140  586.76,
1141  615.5,
1142  608.32,
1143  658.49,
1144  723.77,
1145  838.56,
1146  957.97,
1147  1187.9};
1148 
1149  Float_t xsec_al_tot_piM[12] = {1134,
1150  1120,
1151  804.6,
1152  664,
1153  621,
1154  580,
1155  673,
1156  634,
1157  619,
1158  634,
1159  619,
1160  651};
1161 
1162  Float_t err_al_tot_piM[12] = {40,
1163  40,
1164  75.6,
1165  50.8,
1166  60.21,
1167  47.2,
1168  30,
1169  20,
1170  30,
1171  30,
1172  50,
1173  20};
1174 
1175  //Reactive (i.e. all inelastic processes).
1176  Int_t ndp_al_rxn_piM = 16;
1177  Float_t mom_al_rxn_piM[16] = {128.06,
1178  224.44,
1179  270.36,
1180  531.11,
1181  586.76,
1182  608.32,
1183  615.5,
1184  658.49,
1185  723.77,
1186  838.56,
1187  840,
1188  957.97,
1189  1000,
1190  1187.9,
1191  1360,
1192  1580};
1193 
1194  Float_t xsec_al_rxn_piM[16] = {550.8,
1195  669,
1196  654,
1197  456,
1198  451,
1199  440,
1200  420,
1201  429,
1202  429,
1203  429,
1204  433,
1205  429,
1206  454,
1207  429,
1208  444,
1209  444};
1210 
1211  Float_t err_al_rxn_piM[16] = {59.4,
1212  61.72,
1213  61.72,
1214  34.71,
1215  51.62,
1216  13,
1217  37.64,
1218  13,
1219  13,
1220  16,
1221  10.33,
1222  16,
1223  8.83,
1224  13,
1225  8.83,
1226  8.83};
1227 
1228  //Absorption
1229  Int_t ndp_al_abs_piM = 10;
1230  Float_t mom_al_abs_piM[10] = {107.96,
1231  131,
1232  153.39,
1233  173.1,
1234  194.42,
1235  224.44,
1236  254.52,
1237  294.88,
1238  345.06,
1239  395.27};
1240 
1241  Float_t xsec_al_abs_piM[10] = {253,
1242  307,
1243  304,
1244  303,
1245  306,
1246  292,
1247  267,
1248  217,
1249  225,
1250  170};
1251 
1252  Float_t err_al_abs_piM[10] = {90.78,
1253  109.3,
1254  108.26,
1255  63.82,
1256  66.11,
1257  60.3,
1258  57.02,
1259  55.75,
1260  51.48,
1261  37.16};
1262 
1263  //Charge Exchange
1264  Int_t ndp_al_cex_piM = 2;
1265  Float_t mom_al_cex_piM[2] = {224.44,
1266  270.36};
1267 
1268  Float_t xsec_al_cex_piM[2] = {73.5,
1269  73.5};
1270 
1271  Float_t err_al_cex_piM[2] = {25,
1272  25};
1273 
1274 
1275  //Quasi-Elastic
1276  Int_t ndp_al_qe_piM = 2;
1277  Float_t mom_al_qe_piM[2] = {224.44,
1278  270.36};
1279 
1280  Float_t xsec_al_qe_piM[2] = {205,
1281  207};
1282 
1283  Float_t err_al_qe_piM[2] = {73,
1284  78};
1285 
1286  //Elastic
1287  Int_t ndp_al_el_piM = 9;
1288  Float_t mom_al_el_piM[9] = {224.44,
1289  270.36,
1290  128.06,
1291  608.32,
1292  658.49,
1293  723.77,
1294  838.56,
1295  957.97,
1296  1187.9};
1297 
1298  Float_t xsec_al_el_piM[9] = {465,
1299  466,
1300  253.8,
1301  233,
1302  205,
1303  190,
1304  205,
1305  190,
1306  222};
1307 
1308  Float_t err_al_el_piM[9] = {47,
1309  47,
1310  46.77,
1311  22,
1312  10,
1313  18,
1314  33,
1315  49,
1316  12};
1317 
1318  //==========================================
1319  //Iron
1320  //==========================================
1321 
1322  //***********************
1323  //pi+
1324  //***********************
1325  //Total
1326  Int_t ndp_fe_tot_piP = 6;
1327  Float_t mom_fe_tot_piP[6] = {175.66,
1328  224.44,
1329  270.36,
1330  314.67,
1331  357.96,
1332  432.2};
1333 
1334  Float_t xsec_fe_tot_piP[6] = {1900,
1335  1915,
1336  1840,
1337  1750,
1338  1610,
1339  1400};
1340 
1341  Float_t err_fe_tot_piP[6] = {80,
1342  80,
1343  80,
1344  70,
1345  70,
1346  70};
1347 
1348  //Reactive (i.e. all inelastic processes).
1349  Int_t ndp_fe_rxn_piP = 12;
1350  Float_t mom_fe_rxn_piP[12] = {175.66,
1351  224.44,
1352  270.36,
1353  314.67,
1354  357.96,
1355  432.2,
1356  710,
1357  840,
1358  1000,
1359  1360,
1360  1580,
1361  2000};
1362 
1363  Float_t xsec_fe_rxn_piP[12] = {1284,
1364  1254,
1365  1154,
1366  1050,
1367  936,
1368  807,
1369  741,
1370  742,
1371  749,
1372  752,
1373  750,
1374  707};
1375 
1376  Float_t err_fe_rxn_piP[12] = {100.6,
1377  106.3,
1378  106.3,
1379  98.99,
1380  98.99,
1381  92.2,
1382  15.41,
1383  16.42,
1384  12.49,
1385  5,
1386  6,
1387  8};
1388 
1389  //Absorption
1390  Int_t ndp_fe_abs_piP = 24;
1391  Float_t mom_fe_abs_piP[24] = {175.66,
1392  224.44,
1393  270.36,
1394  314.67,
1395  357.96,
1396  432.2,
1397  162.71,
1398  181.99,
1399  218.54,
1400  363.32,
1401  416.41,
1402  623.7,
1403  83.2,
1404  107.96,
1405  131,
1406  153.39,
1407  173.1,
1408  194.42,
1409  224.44,
1410  254.52,
1411  294.88,
1412  345.06,
1413  395.27,
1414  128.06};
1415 
1416  Float_t xsec_fe_abs_piP[24] = {378.82,
1417  482.68,
1418  522,
1419  562.68,
1420  360.27,
1421  320,
1422  360,
1423  410,
1424  540,
1425  280,
1426  310,
1427  330,
1428  284.87,
1429  329.05,
1430  430.46,
1431  459.85,
1432  492.44,
1433  497.07,
1434  520.88,
1435  511.71,
1436  498.44,
1437  425.1,
1438  376.06,
1439  443};
1440 
1441  Float_t err_fe_abs_piP[24] = {70,
1442  74,
1443  87,
1444  86,
1445  70,
1446  62,
1447  90,
1448  100,
1449  135,
1450  56,
1451  62,
1452  66,
1453  45.13,
1454  43.86,
1455  49.78,
1456  52.34,
1457  53.15,
1458  53.58,
1459  60.11,
1460  56.95,
1461  58.18,
1462  61.9,
1463  48.11,
1464  58};
1465 
1466  //Charge Exchange
1467  Int_t ndp_fe_cex_piP = 9;
1468  Float_t mom_fe_cex_piP[9] = {175.66,
1469  224.44,
1470  314.67,
1471  357.96,
1472  432.2,
1473  363.32,
1474  416.41,
1475  623.7,
1476  264.73};
1477 
1478  Float_t xsec_fe_cex_piP[9] = {121.18,
1479  127.32,
1480  127.32,
1481  145.73,
1482  150.33,
1483  110,
1484  140,
1485  290,
1486  158};
1487 
1488  Float_t err_fe_cex_piP[9] = {40,
1489  41,
1490  40,
1491  50,
1492  50,
1493  33,
1494  42,
1495  145,
1496  20};
1497 
1498  //Quasi-Elastic
1499  Int_t ndp_fe_qe_piP = 7;
1500  Float_t mom_fe_qe_piP[7] = {175.66,
1501  224.44,
1502  270.36,
1503  314.67,
1504  357.96,
1505  432.2,
1506  363.32};
1507 
1508  Float_t xsec_fe_qe_piP[7] = {784,
1509  644,
1510  474,
1511  360,
1512  430,
1513  389,
1514  581.16};
1515 
1516  Float_t err_fe_qe_piP[7] = {115,
1517  123,
1518  130,
1519  125,
1520  110,
1521  100,
1522  58.12};
1523 
1524  //Elastic
1525  Int_t ndp_fe_el_piP = 6;
1526  Float_t mom_fe_el_piP[6] = {175.66,
1527  224.44,
1528  270.36,
1529  314.67,
1530  357.96,
1531  432.2};
1532 
1533  Float_t xsec_fe_el_piP[6] = {616,
1534  661,
1535  686,
1536  700,
1537  674,
1538  593};
1539 
1540  Float_t err_fe_el_piP[6] = {61,
1541  70,
1542  70,
1543  70,
1544  70,
1545  60};
1546 
1547  //**********************
1548  //pi-
1549  //**********************
1550  Int_t ndp_fe_tot_piM = 2;
1551  Float_t mom_fe_tot_piM[2] = {224.44,
1552  270.36};
1553 
1554  Float_t xsec_fe_tot_piM[2] = {224.44,
1555  270.36};
1556 
1557  Float_t err_fe_tot_piM[2] = {224.44,
1558  270.36};
1559 
1560  //Reactive (i.e. all inelastic processes).
1561  Int_t ndp_fe_rxn_piM = 10;
1562 
1563  Float_t mom_fe_rxn_piM[10] = {224.44,
1564  270.36,
1565  710,
1566  840,
1567  1000,
1568  1360,
1569  531.11,
1570  586.76,
1571  615.5,
1572  959.99};
1573 
1574  Float_t xsec_fe_rxn_piM[10] = {1126,
1575  1045,
1576  764,
1577  764,
1578  772,
1579  771,
1580  779.7,
1581  777.82,
1582  798.56,
1583  751.54};
1584 
1585  Float_t err_fe_rxn_piM[10] = {114.56,
1586  114.56,
1587  13.64,
1588  13.64,
1589  10.72,
1590  5,
1591  48.02,
1592  52.15,
1593  46,
1594  38.84};
1595 
1596  //Absorption
1597  Int_t ndp_fe_abs_piM = 10;
1598  Float_t mom_fe_abs_piM[10] = {107.96,
1599  131,
1600  153.39,
1601  173.1,
1602  194.42,
1603  224.44,
1604  254.52,
1605  294.88,
1606  345.06,
1607  395.27};
1608 
1609  Float_t xsec_fe_abs_piM[10] = {638.99,
1610  665.89,
1611  628.43,
1612  617.78,
1613  615.03,
1614  597.51,
1615  536.52,
1616  456.9,
1617  412.25,
1618  365.1};
1619 
1620  Float_t err_fe_abs_piM[10] = {78.15,
1621  69.53,
1622  65.95,
1623  63.57,
1624  64.67,
1625  63.01,
1626  59.19,
1627  54.66,
1628  61.03,
1629  57.95};
1630 
1631  //Charge Exchange
1632  Int_t ndp_fe_cex_piM = 2;
1633  Float_t mom_fe_cex_piM[2] = {224.44,
1634  270.36};
1635  Float_t xsec_fe_cex_piM[2] = {122.4,
1636  107.1};
1637  Float_t err_fe_cex_piM[2] = {40,
1638  35};
1639 
1640 
1641  //Quasi-Elastic
1642  //No such data.
1643  //So use pi+ data.
1644  Int_t ndp_fe_qe_piM = ndp_fe_qe_piP;
1645  Float_t* mom_fe_qe_piM = mom_fe_qe_piP;
1646  Float_t* xsec_fe_qe_piM = xsec_fe_qe_piP;
1647  Float_t* err_fe_qe_piM = err_fe_qe_piP;
1648 
1649  //Elastic
1650  Int_t ndp_fe_el_piM = 2;
1651  Float_t mom_fe_el_piM[2] = {224.44,
1652  270.36};
1653 
1654  Float_t xsec_fe_el_piM[2] = {822,
1655  823};
1656 
1657  Float_t err_fe_el_piM[2] = {82,
1658  82};
1659 
1660 
1661  //===============================
1662  //GEANT4 Model extraction
1663  //===============================
1664  Int_t g4ndp_al_abs_piM = 171;
1665 
1666  Float_t g4mom_al_abs_piM[171] = {1, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000};
1667 
1668  Float_t g4xsec_al_abs_piM[171] = {239.996106494, 241.049245665, 244.202809944, 249.280340545, 255.829191442, 263.152328548, 271.151979374, 279.55526567, 288.470135604, 298.177562685, 308.03823177, 317.370084389, 340.407988494, 368.461291495, 395.276514494, 426.914659044, 457.782842997, 484.673509448, 484.416913096, 484.749242246, 473.557999017, 456.526121524, 440.844182753, 420.175203498, 401.302304066, 382.762049835, 367.172502826, 350.393801741, 335.650991992, 322.702873725, 310.542651762, 298.514742601, 287.074847163, 274.84036293, 265.876401752, 256.609286117, 248.220796339, 241.096949706, 233.840178971, 227.227492476, 221.776359992, 216.470927748, 211.962370432, 208.463192744, 205.448569927, 201.539814973, 197.299320451, 192.850788763, 188.827494398, 184.987545116, 180.912607065, 176.969910043, 172.46110648, 167.415747173, 162.930907537, 158.014512834, 153.210361068, 147.796851459, 143.71404454, 139.538986146, 135.505520003, 131.814709528, 128.210687003, 124.176001414, 121.150693354, 117.809681841, 114.75784987, 111.634213807, 108.77370195, 106.00772626, 103.24741257, 100.693325802, 98.3317900825, 95.4738, 92.77695, 90.33345, 88.01595, 85.81635, 83.5074, 81.3168, 79.03575, 76.7313, 74.5416, 72.1511287292, 70.515069199, 67.9492088859, 66.1759999784, 64.1171964126, 62.1878212551, 60.4412906187, 58.7266190662, 57.0858504258, 55.4806783277, 53.4887056391, 51.9999731609, 50.5280368457, 49.1010462221, 47.8887775052, 46.5263183408, 45.0446346713, 44.0765085528, 34.7380613934, 28.7418379148, 23.6871184809, 19.5211947288, 16.5874375911, 13.2116882875, 10.5659477744, 8.61387800867, 6.95416829849, 5.37431106182, 4.13914899635, 3.49987627061, 2.5011046907, 2.13189632672, 1.79770363109, 1.40200629391, 1.20490583527, 0.917942023894, 0.77176985977, 0.745002474635, 0.588874314847, 0.563748800549, 0.500086988103, 0.417186208731, 0.47080411147, 0.423241467913, 0.333246137765, 0.340292535127, 0.320294167955, 0.284971844315, 0.269008293125, 0.268448609601, 0.22579208244, 0.190949428166, 0.228659549744, 0.22437677918, 0.178364993368, 0.159054139042, 0.162497284719, 0.120672313595, 0.116653398466, 0.105210221064, 0.0675631675442, 0.108735809389, 0.112365359392, 0.0823132913689, 0.0523252024963, 0.0933378910488, 0.0820493691594, 0.0819613933616, 0.0669873409941, 0.0706328795032, 0.04084873068, 0.0445142632419, 0.0629938888414, 0.0481198091512, 0.0443702959393, 0.0517093572305, 0.0295162107724, 0.0405407986821, 0.0331337514293, 0.0294202295879, 0.0440823532743, 0.047703892087, 0.032989777761, 0.0402768470022, 0.0219451932674, 0.0292282628781, 0.0328458014268, 0.0401008751899};
1669 
1670 
1671  Int_t g4ndp_al_abs_piP = 171;
1672 
1673  Float_t g4mom_al_abs_piP[171] = {1, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000};
1674 
1675  Float_t g4xsec_al_abs_piP[171] = {2.02108351142, 4.11065213467, 10.4080522296, 20.7754314269, 34.9790592224, 52.6422131598, 73.2600720678, 96.3165864064, 121.455435659, 148.199152741, 175.983869284, 204.032100332, 238.378300148, 274.662409391, 309.67313615, 356.787488522, 405.877502569, 448.280391547, 455.22009141, 461.672480494, 455.475886456, 440.630034725, 427.660510774, 408.372311058, 391.070194459, 373.512384499, 358.640244626, 342.832466713, 325.535448754, 311.865521356, 304.180876831, 297.371751356, 285.730138251, 273.895373189, 266.034039544, 257.688033808, 249.735549669, 242.255015626, 236.301826263, 230.204735668, 224.670973655, 219.313888987, 215.352671811, 211.664828402, 207.894504872, 203.797924326, 199.97778535, 194.066350577, 190.774047655, 186.31266341, 182.323359275, 177.41543991, 173.08895584, 168.54084871, 163.781308706, 158.53133182, 153.574332317, 148.269652852, 144.567795115, 140.606427223, 136.505756951, 133.192212898, 129.443828134, 125.416572753, 121.906073284, 119.161995152, 115.996822529, 112.668319819, 110.24603714, 107.007098501, 104.400181553, 101.485691808, 99.310760496, 96.5116, 94.259455, 91.53205, 89.058295, 86.68066, 84.651015, 82.03575, 79.985635, 77.733045, 75.676255, 73.4862494335, 71.5009890349, 69.6285005202, 67.534678748, 65.8599106992, 63.9154425866, 61.980880877, 60.2007066582, 58.518412582, 56.9203971605, 55.3413814947, 53.4860470522, 52.435170029, 50.9941385516, 49.4464523378, 48.0136845886, 46.4735782407, 45.8949294738, 36.5318519382, 29.7642567957, 25.2394844092, 20.810414399, 17.2400002608, 13.5820687309, 11.1342872634, 8.83082012149, 7.23989847632, 5.62331389094, 4.40962803967, 3.42255342277, 2.70784105898, 2.14804705647, 1.773573381, 1.49814386835, 1.16899804548, 1.06099792372, 0.886545890198, 0.75682791074, 0.592800143612, 0.583323411679, 0.492273128914, 0.448377700973, 0.45134939612, 0.368880178456, 0.356495868307, 0.433099590162, 0.285563475044, 0.273418931708, 0.318966976134, 0.28378853015, 0.218138113544, 0.194768416729, 0.251525504718, 0.22437677918, 0.163184993932, 0.151480132421, 0.154939271476, 0.162153421393, 0.146757501296, 0.0789076657978, 0.142633353704, 0.0974872773833, 0.13109291929, 0.097279344345, 0.0971753760646, 0.0485357033454, 0.0484837181396, 0.0596082860812, 0.0855949357147, 0.0669153595294, 0.0668433774764, 0.0704809167996, 0.0481717973493, 0.0444182853703, 0.0628579192474, 0.0406287806811, 0.040584789812, 0.0405407986821, 0.0331337514293, 0.0367752869849, 0.0330617649557, 0.0366953016054, 0.0439863703479, 0.0366153154566, 0.0292602576899, 0.0511494600366, 0.0401448684105, 0.0546830116226};
1676 
1677 
1678  Int_t g4ndp_al_cex_piM = 171;
1679 
1680  Float_t g4mom_al_cex_piM[171] = {1, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000};
1681 
1682  Float_t g4xsec_al_cex_piM[171] = {0.0146406555761, 0.0241073353, 0.0725502898415, 0.233591291275, 0.737177753274, 1.74852929459, 3.13787903888, 4.82716114331, 6.56254218854, 8.35632931241, 10.4018876902, 12.9827835738, 16.4180290019, 20.1786206825, 23.9964888166, 28.1274832524, 33.0637300325, 38.2820129531, 42.8731506937, 48.0486712183, 53.2206464448, 57.3426742532, 61.1939239074, 64.7793442438, 67.2911302153, 69.8683723461, 72.8718910211, 74.7614714956, 75.4469514665, 75.8340730151, 74.738654401, 73.4091867565, 71.5311791093, 69.1805871836, 67.7450184226, 66.6507679556, 65.6501511107, 64.7447571036, 64.2477450568, 64.3750785928, 63.8644575169, 63.4938147715, 62.9992156924, 63.1758825656, 63.1942836173, 63.1758515253, 63.5125804653, 63.9296963685, 64.6526201187, 64.8087387972, 65.336911245, 65.7967178551, 66.1385932212, 66.7308523211, 67.0662240415, 67.2562098112, 67.1221205365, 67.6471857558, 67.6145835674, 68.4309346546, 68.6643367953, 69.1941215124, 69.3342758338, 69.6911526042, 70.1877734233, 70.4547393749, 70.8991689654, 71.297743117, 71.3045998777, 71.6169698726, 71.9682587385, 72.0005710059, 72.3370171462, 72.46485, 73.0386, 72.6912, 72.5715, 72.6651, 72.66285, 72.5472, 72.24525, 72.2844, 72.477, 72.0899230636, 71.7766386576, 71.7022437044, 71.3190816581, 70.9693780205, 70.472765327, 70.6250134383, 70.2356676863, 69.546085337, 69.0745605113, 68.8958251365, 68.3331269529, 68.0202179408, 67.4669168867, 66.8254637707, 66.6449852218, 65.9960608151, 65.6610949283, 60.2961358814, 54.2931811969, 47.527668478, 41.6342117011, 37.1652077233, 33.1468709773, 29.9024072098, 26.2202192817, 23.1567501468, 20.0364276498, 17.9909545485, 15.7820002063, 13.8797122544, 12.8317547847, 11.4578470805, 10.0503822612, 8.82932653461, 8.20981914011, 7.57126021406, 6.81145119666, 6.2852518538, 6.11119359484, 5.98150920926, 5.25966537923, 4.98818901574, 4.81097411692, 4.49107294965, 4.4160690354, 4.15610625166, 4.08202912127, 3.80838883553, 3.49750188509, 3.21849392089, 3.20795039319, 2.97257414667, 2.95492809191, 2.6868599001, 2.54486622467, 2.31275205227, 2.17964366431, 2.00192283819, 1.99899420021, 1.87675465401, 1.83351071694, 1.5880970794, 1.59014312872, 1.65945642203, 1.59794469476, 1.39110975893, 1.39334368715, 1.30253163044, 1.39406999019, 1.35914867535, 1.22043271721, 1.15612313638, 1.11045713426, 1.03900442991, 1.06004182323, 1.0146197453, 1.03563312997, 0.894611288591, 0.92673723202, 0.914708830442, 0.987103613185, 0.868730814372, 0.948336670325, 0.859520069641, 0.836659024885, 0.810196435194, 0.849409447204};
1683 
1684 
1685  Int_t g4ndp_al_cex_piP = 171;
1686 
1687  Float_t g4mom_al_cex_piP[171] = {1, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000};
1688 
1689  Float_t g4xsec_al_cex_piP[171] = {5.25495375849e-05, 0.000275432146977, 0.00344623011379, 0.028673303533, 0.131569599301, 0.393489702436, 0.906937199199, 1.68502323234, 2.67569221339, 3.94061775176, 5.64587442791, 7.90601773086, 10.9731762991, 14.3743704902, 17.7949273562, 22.1907892329, 26.9817553664, 32.5317126777, 36.6515609355, 41.1941440016, 45.6167037772, 48.8505683981, 52.2179250646, 54.1442140677, 56.6311895647, 58.8980107008, 60.9853101575, 62.0129838164, 61.7911340077, 61.3855208732, 61.7314232596, 61.2070906297, 59.7951219285, 58.1460157744, 57.1585548116, 56.5045103431, 55.7327468558, 55.3625990421, 55.3558570166, 55.4842668502, 54.7651694814, 54.5702533821, 54.3996046405, 54.7832936249, 54.724144186, 54.9420473418, 55.1001011762, 55.6602005474, 56.0827585982, 56.3105317989, 56.8764655876, 57.4659179436, 57.9494059366, 57.9854086954, 58.5620902401, 58.9801654738, 59.0601793267, 59.40503994, 59.7296015313, 60.5463479382, 61.2977611863, 61.4475368286, 62.1204933297, 62.5376758441, 63.0645625108, 63.434982296, 63.9187621447, 64.3765269744, 64.4646274098, 64.9419548181, 65.5222743511, 65.5818212553, 66.1163083389, 66.23291, 66.133675, 66.637415, 66.560875, 66.49635, 66.98585, 66.853685, 67.035245, 66.574225, 66.48745, 66.5283814201, 66.7553777448, 66.3907747999, 66.4557315907, 66.2126550075, 65.7876340108, 65.5739169773, 65.1617734692, 65.0939036263, 64.5555174474, 64.146172923, 63.3984146964, 63.4710895268, 63.1926814727, 62.3984802769, 62.2190051748, 61.9485921172, 61.2253366192, 56.5617484046, 51.2989544743, 45.9256629416, 41.3710146058, 36.5126450536, 32.985646549, 29.656987885, 25.5779004771, 22.2029155826, 20.4929328365, 17.2819716016, 15.6477026285, 14.0540193884, 12.4683633654, 11.0757847875, 9.93021029317, 9.2003736958, 8.09855344024, 7.44065300702, 6.961240054, 6.47369163455, 6.01332053919, 5.8135112367, 5.47800582493, 5.07378976328, 4.8925160511, 4.67707079398, 4.2691245316, 4.27959315979, 4.03966844171, 3.84681859169, 3.71226077277, 3.20318598309, 3.09338073629, 2.83156742433, 2.6620973801, 2.59577990348, 2.45019114191, 2.16159178742, 2.26260587991, 1.94924065824, 2.01402423179, 1.84297307023, 1.81101365293, 1.61806117524, 1.56395253601, 1.51743087239, 1.44487055344, 1.49180671199, 1.2704015971, 1.41045567982, 1.28626191095, 1.26259713011, 1.20559462947, 1.15612313638, 1.1030540867, 1.07967720119, 1.01571951703, 0.974034955489, 1.01351996705, 0.968241847323, 0.897317002432, 0.896341183244, 0.899034889332, 0.835741036611, 0.768921624588, 0.837574876374, 0.738013637671, 0.80289736821, 0.791080901474};
1690 
1691 
1692  Int_t g4ndp_al_mpi_piM = 171;
1693 
1694  Float_t g4mom_al_mpi_piM[171] = {1, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000};
1695 
1696  Float_t g4xsec_al_mpi_piM[171] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00289377774535, 0.00710068905975, 0.0215593791644, 0.0447074445816, 0.0856829380878, 0.13089838623, 0.269384704803, 0.449277513218, 0.67575736626, 1.00198502869, 1.42497021411, 1.92331611128, 2.38099008112, 3.01990650265, 3.75685600983, 4.53262709983, 5.4375374296, 6.30483313672, 7.31838972906, 8.36739835759, 9.495062108, 10.7057944425, 12.0826175478, 13.3173759344, 14.7966248557, 16.5500560697, 18.0481024213, 19.8835047681, 21.5551715317, 23.2897547475, 25.3031320432, 27.7527041699, 29.6985628287, 32.0804996418, 34.4595794859, 36.8523767472, 39.7212817432, 42.0859448117, 44.8410724432, 47.6533411912, 50.2817671963, 53.0988548017, 56.1753877147, 59.2829165232, 62.6503672591, 65.6734441177, 68.67135, 72.07875, 75.37725, 78.4215, 81.4977, 85.21425, 88.10415, 91.5561, 94.58595, 97.515, 100.931292789, 103.423932463, 106.334034633, 108.873536924, 111.657784789, 114.130528209, 115.821628818, 117.785937439, 120.014327131, 121.677150977, 123.602761824, 125.172284983, 126.623032111, 128.389777151, 129.79337041, 130.98086161, 132.250680232, 134.094680607, 148.191872574, 163.915655581, 181.369590182, 198.285554045, 210.870335671, 222.746798671, 233.630586036, 242.7241941, 249.681954359, 257.195022197, 260.803270276, 265.901064848, 269.426131714, 273.500495233, 276.641252061, 278.911126379, 281.624795345, 282.340687185, 283.346398978, 284.468749137, 284.732508715, 284.634420444, 284.905026824, 285.940207252, 285.373437583, 285.423950292, 284.805324181, 284.561898579, 284.062337317, 283.985995773, 282.885278075, 281.337977842, 281.696671259, 281.268507688, 280.386150888, 279.489800941, 277.27407469, 277.045801188, 276.407881306, 274.944324507, 274.331163064, 273.283549213, 273.334301319, 272.240721114, 273.287536088, 273.444753927, 273.234732407, 273.57709218, 273.239317368, 273.598307595, 274.179186689, 274.791641427, 275.03821719, 275.725056042, 275.968815968, 277.010935188, 276.82997389, 277.601684292, 278.607203007, 278.493173783, 279.534734697, 280.07323062, 279.371913876, 279.78699662, 281.032585684, 279.803256124, 280.613186311, 281.431636187, 280.667373192, 280.855593228};
1697 
1698 
1699  Int_t g4ndp_al_mpi_piP = 171;
1700 
1701  Float_t g4mom_al_mpi_piP[171] = {1, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000};
1702 
1703  Float_t g4xsec_al_mpi_piP[171] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00282722251927, 0.00346255549071, 0.0107377639929, 0.0293729364903, 0.0547138847685, 0.105260520943, 0.179150384288, 0.299391687902, 0.497690905419, 0.759245159099, 1.1197684911, 1.49468177703, 2.01853701026, 2.63273297485, 3.24995192799, 4.11055826569, 4.91820048059, 5.75299455569, 6.78752887412, 7.85997370387, 8.93150372547, 10.3060379862, 11.3980273765, 12.7868728809, 14.0932466178, 15.659369626, 17.2566991702, 19.004005061, 20.8697013648, 22.7285462759, 24.4066408866, 26.5442090008, 28.5241038939, 30.8432237372, 33.3007907267, 35.4590374436, 38.1418553515, 40.8884100866, 43.4876036431, 46.2222234276, 49.0052383634, 51.8991497028, 54.8830587599, 57.5955798387, 60.745731655, 63.9653741708, 66.8691712854, 70.25304, 73.114835, 76.242295, 79.710625, 82.81984, 85.631795, 89.29726, 92.156385, 95.343475, 98.256445, 101.199768888, 103.990825279, 106.566142132, 109.134879738, 111.962116435, 114.149520732, 116.285057987, 118.486064738, 120.427628474, 122.147988609, 124.015964321, 125.841013255, 126.932703063, 128.813504647, 130.331025307, 131.804101262, 133.472051387, 134.47308811, 148.58641474, 164.645954782, 182.380433112, 198.232022433, 211.328893222, 222.838304427, 233.764059704, 242.868822175, 250.068530482, 256.697016539, 262.66383824, 266.645805961, 270.362525853, 275.063078336, 278.286130775, 279.696249903, 280.918608812, 282.753959784, 283.730305011, 283.491179753, 284.202521831, 285.041572355, 285.619994939, 286.365191333, 285.817005093, 285.117197302, 285.316818253, 285.161277476, 284.421221144, 283.389095288, 283.780691393, 283.596781143, 282.052580812, 281.826080019, 281.262679162, 279.991796447, 278.955259628, 277.625212695, 276.309627134, 274.401299095, 274.839169799, 273.711905113, 273.251724114, 273.05811444, 273.317500184, 274.342717106, 273.477670847, 273.267210381, 273.981491207, 274.645178119, 273.847971503, 274.888296947, 275.873759408, 276.025527319, 277.336153908, 277.928913086, 277.199726356, 278.218503053, 279.197527222, 278.939122569, 279.03036537, 279.76064068, 279.948657998, 280.414486278, 280.009902573, 281.524175951, 281.494651574, 280.84707093, 281.514064962, 282.335680076};
1704 
1705 
1706  Int_t g4ndp_al_qe_piM = 171;
1707 
1708  Float_t g4mom_al_qe_piM[171] = {1, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000};
1709 
1710  Float_t g4xsec_al_qe_piM[171] = {0.0, 0.0, 0.00170993949121, 0.049413542385, 0.289990830469, 1.15655155867, 2.76108974938, 5.32459456565, 8.86341312071, 12.9447381698, 17.8806306653, 23.9727141219, 33.3770672093, 46.5054318606, 62.729144443, 84.7946353973, 111.96825399, 142.992577899, 171.722155394, 199.877365157, 225.112126309, 243.976914369, 260.273652229, 270.732973076, 280.286028066, 287.580105456, 291.16219068, 294.532316144, 294.998126987, 292.61849876, 287.428902914, 282.327258298, 274.902574301, 268.608061284, 263.838068873, 259.950956371, 254.949396147, 251.169334177, 249.071932783, 245.375588656, 240.987467072, 236.249174185, 231.956297952, 228.447808396, 224.456823386, 221.371017704, 218.046684152, 215.143543277, 213.030927472, 211.042346189, 209.224822301, 206.924122458, 205.114275835, 203.721455583, 201.879347841, 200.706380155, 199.563747604, 198.230798208, 198.246707355, 198.729419332, 199.375604851, 199.481959118, 199.685385448, 200.197661877, 200.182715307, 200.095532249, 199.95934787, 199.825269649, 199.656921487, 199.008562489, 198.248139092, 197.050833563, 196.134075341, 195.6843, 194.1093, 193.2498, 192.30255, 191.34585, 189.702, 188.94285, 187.8723, 186.9138, 185.8518, 185.158839382, 184.464687174, 184.380222455, 184.018047512, 183.825922655, 183.867214886, 183.977532803, 184.334827323, 184.719482493, 185.474012223, 185.708587489, 186.62531804, 187.23095586, 187.887710894, 188.635632399, 189.642032666, 190.633576157, 190.69651647, 194.935943828, 189.494385084, 178.066299893, 166.501159063, 156.676769634, 147.067180538, 136.61675749, 128.212788671, 121.048749452, 112.653029941, 106.601528409, 101.781285498, 98.4389405332, 94.1062645585, 90.4602858479, 88.1020755094, 84.3912855219, 82.2730375009, 79.7614255587, 77.4329556176, 74.9048128485, 73.2051307046, 71.3053720302, 69.3659798087, 68.145976928, 67.0119381031, 66.0989839302, 64.6439807923, 64.4794608718, 62.5436178855, 62.7519488348, 63.0087236536, 61.9091274176, 61.7988729316, 61.4941749111, 61.8024921772, 62.4505176779, 62.8150239117, 62.8751121662, 63.2624604022, 64.0502417837, 63.9189668041, 64.2675863718, 64.251614817, 63.6399940474, 63.0669472415, 63.4928957148, 62.334777158, 62.3798976618, 61.5120257179, 60.8356701795, 60.562117894, 59.613152146, 58.599318036, 58.6769546943, 57.3773201271, 57.3744901742, 56.2671677178, 55.3502742509, 55.5150955045, 54.1589574751, 53.3204885994, 53.7547562886, 52.6577578037, 52.3107909363, 52.810269483, 51.545601453, 51.1640741681, 50.8234034077, 50.8187454679};
1711 
1712 
1713  Int_t g4ndp_al_qe_piP = 171;
1714 
1715  Float_t g4mom_al_qe_piP[171] = {1, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000};
1716 
1717  Float_t g4xsec_al_qe_piP[171] = {0.0, 0.0, 7.28809993852e-05, 0.00380784800185, 0.0402125625435, 0.210535626986, 0.699855451388, 1.76264005145, 3.54494744286, 6.20024943074, 9.87640140382, 14.9879953675, 22.6730169678, 33.5818458079, 47.8870522793, 69.0961685518, 96.7917780208, 130.34837968, 158.887309733, 188.412844096, 214.248304225, 235.08337149, 252.138820197, 262.714883382, 270.71665193, 278.397739884, 283.377460746, 283.316677916, 279.187903809, 274.570377528, 272.632207181, 269.877830105, 262.207447382, 254.765133615, 249.843152056, 246.07197979, 241.807322537, 239.275456836, 236.026717473, 232.668040559, 229.570309943, 225.333376821, 220.793185786, 217.333746853, 214.017640795, 210.740714777, 207.179185477, 205.253457495, 202.752194412, 201.420686012, 199.210058101, 197.627656882, 195.637260029, 194.486103467, 193.125188687, 192.285328154, 191.946135599, 191.177121242, 191.367275982, 192.109623203, 192.937877723, 193.929602193, 194.228858926, 195.261222514, 195.539064091, 195.330482951, 195.306641607, 195.336361691, 194.989482147, 195.040826256, 194.141945595, 193.782199545, 192.748033811, 191.89023, 191.22006, 189.99809, 188.77612, 187.89858, 186.67127, 185.216565, 184.195735, 183.29283, 182.40105, 181.593589567, 181.062226214, 181.012867439, 180.938009202, 180.398983019, 180.972835105, 181.449443228, 181.910567704, 182.169347395, 183.027553478, 183.64677881, 184.859617934, 185.615709759, 185.952549626, 187.256065804, 188.11301898, 189.010635558, 189.866402101, 194.412946074, 188.412629393, 176.03558865, 164.208221656, 154.741127661, 145.407004668, 135.342299242, 127.072779137, 119.687329193, 111.640418436, 104.720469608, 100.662139016, 96.9796249925, 92.8101684962, 88.5539960914, 86.3996392954, 83.4377342152, 80.8424785026, 78.4751424591, 76.2858883154, 74.3120127049, 72.1481017036, 70.0864099967, 68.301570136, 67.7491007349, 66.2431141522, 64.9791219091, 64.2302160053, 63.549450095, 62.7900800211, 61.499138784, 61.3520122343, 60.4472193584, 60.7142801796, 60.1222176126, 61.3537386189, 61.5397177118, 62.0197532165, 62.5009905107, 63.7376076369, 63.0793844674, 63.0284374329, 63.8547003479, 63.1867537871, 62.9133647233, 62.0829292584, 62.1586030511, 62.0584970005, 61.1416980909, 61.3481029311, 60.7761258764, 59.7665686196, 59.0301293536, 58.1504658816, 57.6838745643, 57.3180957467, 57.3412124523, 55.2182064712, 55.1694874599, 54.7595624381, 54.1295052517, 53.6367560675, 52.8180062815, 52.1403540511, 52.7946410101, 51.5397180367, 51.4614782121, 50.9229409993, 50.1956836471, 49.4188603704};
1718 
1719 
1720  Int_t g4ndp_c_abs_piM = 171;
1721 
1722  Float_t g4mom_c_abs_piM[171] = {1, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000};
1723 
1724  Float_t g4xsec_c_abs_piM[171] = {96.0057318131, 96.5724549334, 98.2783522215, 101.001877929, 104.428046896, 108.031558806, 111.11434203, 113.623286401, 115.675097456, 118.028886199, 120.255790886, 121.793981717, 127.678487446, 134.29212658, 140.187402636, 149.17434485, 158.854748396, 166.120361266, 168.927315672, 171.22875661, 171.302392331, 169.118898545, 163.69108813, 157.360916742, 150.153336461, 141.514740101, 132.315579655, 122.939957419, 113.489413546, 105.453708802, 99.5353023057, 93.8855706694, 88.5920068225, 83.8478746491, 78.193428045, 73.1857343879, 68.0780296677, 62.6406311206, 58.8688176052, 55.7866994668, 53.3408749263, 51.3596647508, 49.9841442906, 48.9453119486, 47.8299302599, 46.434864804, 45.3343881322, 43.8693412607, 42.7630593645, 41.5541493137, 40.1181678379, 38.6626201418, 37.4816349851, 36.1860123215, 34.9558390569, 33.719789055, 32.3052071487, 30.9479659821, 29.7355177027, 28.2147704732, 26.9203843307, 25.6979047345, 24.5902367274, 23.4492814924, 22.4185725032, 21.4290724026, 20.4144784135, 19.6682393374, 18.8974737811, 18.038375009, 17.3368047972, 16.7424650038, 16.0219195094, 15.411496266, 14.7506316156, 14.1931961397, 13.5780501728, 13.0149930702, 12.5156281689, 11.9544609114, 11.437084317, 11.0266083043, 10.4381089763, 10.0068092908, 9.62083386099, 9.16521130184, 8.65226798241, 8.31748422155, 7.9459504819, 7.58882462906, 7.18023000649, 6.87395910745, 6.54275123923, 6.23566228578, 5.90885272618, 5.65655046725, 5.413875949, 5.18811137604, 4.93829819423, 4.72068459368, 4.52199779435, 3.25596009255, 2.641817069, 2.04713616664, 1.80099896992, 1.20667261, 0.868317021395, 0.688006350417, 0.628801347128, 0.40890800506, 0.310292197136, 0.214620005622, 0.160126575403, 0.131012035496, 0.0891156124474, 0.0843791409568, 0.0279965746801, 0.0321539477008, 0.0149352656041, 0.0148653494179, 0.0126817951316, 0.0105182148926, 0.0083847666781, 0.00209019719592, 0.0104210119882, 0.004156414605, 0.00621663580554, 0.00413243263544, 0.00412044093967, 0.0102711220462, 0.00204822815185, 0.00612669513616, 0.0, 0.00609071500832, 0.00404848284497, 0.00605473311539, 0.00201224719297, 0.00200624989417, 0.00600075744868, 0.0, 0.00397651469976, 0.00198225964031, 0.0, 0.00197643011941, 0.0, 0.00197203158884, 0.0, 0.0, 0.00196543360307, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00192804197428, 0.0, 0.0, 0.0, 0.0, 0.0};
1725 
1726 
1727  Int_t g4ndp_c_abs_piP = 171;
1728 
1729  Float_t g4mom_c_abs_piP[171] = {1, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000};
1730 
1731  Float_t g4xsec_c_abs_piP[171] = {56.0068065281, 56.6797902334, 58.7067563013, 61.9919981226, 66.2997771164, 71.2518412353, 76.538882436, 81.8304900982, 86.8654833783, 91.991886145, 97.0073188086, 101.516648862, 107.168742889, 112.426915255, 116.787755925, 124.513378024, 132.187512629, 138.671184301, 150.478859219, 160.944853172, 164.987654437, 162.320736519, 156.616167756, 151.351695725, 145.153786151, 137.582837344, 128.655270533, 120.044975595, 111.246098881, 103.105130867, 97.4107571055, 92.4167012701, 86.7545631039, 81.9740316221, 76.84375538, 71.7735860927, 66.4062875403, 61.5348931402, 57.7416305937, 55.2350319337, 52.7945364793, 51.0629690657, 49.5801995536, 48.595704481, 47.3529709302, 46.1192870261, 44.7840600653, 43.6030693023, 42.2427214765, 41.15599966, 39.7694717538, 38.5075673608, 37.1414918968, 36.1329830242, 34.8383633964, 33.5652695189, 32.256398192, 30.9435100729, 29.4557285213, 28.237773877, 26.9581119352, 25.616018572, 24.5220377461, 23.5066148874, 22.4830457541, 21.5730165864, 20.5963225114, 19.703992801, 18.9645750211, 18.2330412615, 17.4949902986, 16.7991716593, 16.1051356885, 15.3304817156, 14.7806526174, 14.1509083371, 13.5606360805, 13.091837489, 12.5430172471, 11.9528053655, 11.4934666457, 10.9746407735, 10.4281260416, 10.0620639499, 9.56635196441, 9.01968609166, 8.67054860754, 8.27838968073, 7.88251652516, 7.48170371294, 7.22214554956, 6.87713742116, 6.54741149316, 6.19703232962, 6.01170331627, 5.70624523729, 5.48054258348, 5.24872711899, 4.98312163606, 4.79906313441, 4.62483302334, 3.27379398978, 2.55054507813, 2.14461884124, 1.54969678807, 1.30864494324, 1.02619284347, 0.711568211732, 0.598637444868, 0.440889636741, 0.332777138957, 0.223470315132, 0.177674693256, 0.128828501572, 0.102156921586, 0.0475984897705, 0.0193822440093, 0.038584737241, 0.0298705312081, 0.0148653494179, 0.0105681626097, 0.0126218578712, 0.00628857500857, 0.0104509859796, 0.0125052143859, 0.012469243815, 0.00828884774072, 0.00826486527087, 0.0103011023492, 0.0061626732277, 0.00204822815185, 0.00408446342411, 0.0, 0.0, 0.00404848284497, 0.0, 0.00201224719297, 0.0, 0.0, 0.00199425496602, 0.0, 0.0, 0.0, 0.00197643011941, 0.0, 0.0, 0.00393966456844, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00193684036512, 0.0, 0.0, 0.00386048317659, 0.0, 0.0, 0.00192364271618, 0.0, 0.0, 0.0};
1732 
1733 
1734  Int_t g4ndp_c_cex_piM = 171;
1735 
1736  Float_t g4mom_c_cex_piM[171] = {1, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000};
1737 
1738  Float_t g4xsec_c_cex_piM[171] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.484689237309, 1.8550830646, 3.52017881817, 5.24033672628, 7.18028621815, 9.4458038583, 12.7552234363, 16.5078488655, 20.0274257192, 23.7707876699, 27.5331497819, 31.4177352012, 35.623137574, 40.0116691462, 45.2051813875, 49.843237936, 53.9324686055, 56.9753609951, 59.9934033197, 63.0744958878, 65.020131014, 66.4184028977, 66.5206838744, 65.6438516695, 65.8110069573, 64.9697307859, 63.9373674691, 62.4857643684, 61.0945531545, 58.9454502333, 56.8643305957, 54.8117785033, 53.0836864456, 52.043889826, 51.2345226644, 49.9870325179, 49.27406409, 48.4205222365, 47.8826406142, 47.3115091266, 46.7352104782, 45.9827097333, 45.7545551937, 45.1733825017, 45.0131609706, 44.7397954774, 43.8887878811, 43.828901851, 43.5728893328, 43.3098163521, 42.9374076312, 42.2825437665, 41.9380630165, 41.140153158, 40.6679137794, 39.9761891101, 39.3468078675, 38.9545919748, 38.4323371996, 37.9869076892, 37.5686336075, 37.1177989662, 36.6519046402, 36.3949142157, 36.0094500436, 35.833005593, 35.5234908209, 35.0640808313, 34.5457296941, 34.2171754586, 34.0518455789, 33.5975113608, 33.009742037, 32.7634911669, 32.2869378284, 31.9391494778, 31.5662771854, 31.3131963613, 30.9029441924, 30.4296331185, 30.0415615263, 29.7424992124, 29.6130047668, 29.1123558228, 28.9051534595, 28.6375845103, 28.3686825991, 28.1019398249, 27.6996124, 27.5580987491, 27.3628120693, 27.0130083651, 26.7989397946, 26.4964398064, 26.3711061546, 23.2604973748, 19.9860306669, 17.0669667226, 13.9078511426, 11.5932831243, 9.8935515165, 8.40215974516, 6.94001782015, 5.92345506772, 5.14680318293, 4.43621764197, 3.77723236773, 3.36482577833, 2.90386483487, 2.69580537519, 2.20526865172, 2.1135861622, 1.77089577877, 1.6925262123, 1.44361101249, 1.41575172455, 1.25981119338, 1.20395358485, 1.13172190192, 1.06612034618, 1.07547799436, 1.00418113041, 0.898256124848, 0.959322799112, 0.852062911168, 0.76583689202, 0.775805574194, 0.69840198762, 0.682169359378, 0.63978346586, 0.62379662982, 0.557737470579, 0.554069937761, 0.474632681913, 0.51098213892, 0.457901976912, 0.449148860707, 0.438767486508, 0.432356560032, 0.394406317769, 0.415634611971, 0.399429489908, 0.42846452547, 0.292521900119, 0.333375921787, 0.299701819148, 0.367847565296, 0.289256607032, 0.304548982179, 0.249604810261, 0.317497606954, 0.264606844689, 0.314837123517, 0.267891049703, 0.252075191434, 0.203368238338, 0.239895457237, 0.226095619434, 0.235489473772, 0.223652869017, 0.236878609064, 0.215447984212, 0.205594408797, 0.239905427566, 0.208957769785};
1739 
1740 
1741  Int_t g4ndp_c_cex_piP = 171;
1742 
1743  Float_t g4mom_c_cex_piP[171] = {1, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000};
1744 
1745  Float_t g4xsec_c_cex_piP[171] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.414759267931, 1.20746462147, 2.23500952908, 3.47108048775, 5.05953725444, 7.35154810617, 10.1061519972, 12.8150864731, 15.4566021601, 18.195945109, 21.2289818958, 25.5563872787, 30.3226752713, 34.7682482713, 38.3279215202, 40.6595495995, 43.8648299531, 45.7651892896, 47.8674974867, 49.5816453504, 50.563467332, 51.2406572353, 50.6047424639, 50.6467871004, 50.5895354301, 50.1282886257, 49.324568752, 48.0756265262, 46.6184023989, 45.1115110204, 43.5303662241, 42.2618571084, 41.3292094994, 40.8122278056, 39.9277723033, 39.3132731542, 39.0643656516, 38.3219845954, 37.8654202435, 37.4062924049, 36.8281640622, 36.6351705606, 36.2500013935, 36.0176674906, 35.6989497795, 35.418089598, 35.1341987866, 35.0045952205, 34.8904525821, 34.503572818, 34.0779093752, 33.8671581749, 33.5010296676, 32.8974653594, 32.4475455555, 32.1544843912, 31.6813516407, 31.5871537988, 31.2031578519, 31.0740516691, 30.738080356, 30.5122572733, 30.0430264932, 29.9226862808, 29.7040195889, 29.3748437027, 29.1261357492, 28.7047685265, 28.6081683106, 28.4494496887, 28.0416127362, 27.526495806, 27.4262474802, 27.069440314, 26.8202290521, 26.5807520624, 26.0904402461, 25.8624129355, 25.5335608904, 25.2441001016, 25.0808372061, 24.860300298, 24.5231597497, 24.4209214357, 24.0500553919, 23.7991809838, 23.5559075323, 23.3384514072, 22.9335182828, 22.82501996, 22.4951481139, 22.3170936497, 22.0475839734, 21.8843875994, 19.2274889034, 16.710380328, 13.9850144717, 11.8161300407, 9.68737165778, 8.33871387488, 7.0096537414, 5.9306872445, 4.94801530146, 4.36432720754, 3.60428854802, 3.14111309558, 2.7316009401, 2.31700592363, 2.08567927904, 1.76378420485, 1.61198457807, 1.44658715422, 1.32726334089, 1.21533870012, 1.12965627947, 0.953767209634, 0.999114259647, 0.829512554264, 0.887394518168, 0.833029197942, 0.78722841705, 0.797305321826, 0.782659499918, 0.686156430868, 0.649429684433, 0.537566067158, 0.562376019101, 0.524278528424, 0.444013761796, 0.466841348769, 0.425324977564, 0.438055293754, 0.43075907266, 0.33800374948, 0.366718033458, 0.350217393591, 0.355757421493, 0.288237706688, 0.274112390849, 0.275776519791, 0.228245422805, 0.284987872446, 0.253257215539, 0.219635901412, 0.235060250312, 0.209360050461, 0.216942455274, 0.204984891851, 0.200853870757, 0.237636245696, 0.20040077208, 0.190457025338, 0.182476512117, 0.190025913543, 0.191747196147, 0.16250982587, 0.173919707257, 0.1814427093, 0.169667693737, 0.163696599759, 0.167356916308, 0.169086990412, 0.132427796016, 0.182119157152};
1746 
1747 
1748  Int_t g4ndp_c_mpi_piM = 171;
1749 
1750  Float_t g4mom_c_mpi_piM[171] = {1, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000};
1751 
1752  Float_t g4xsec_c_mpi_piM[171] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0043650369938, 0.0128022049912, 0.033549028546, 0.0704030782583, 0.128271532055, 0.222170150168, 0.386225306794, 0.60918230364, 0.927252694814, 1.28684603159, 1.73607529113, 2.25575587491, 3.00386600283, 3.7306253296, 4.64707251701, 5.61244181157, 6.69931713591, 7.85217824044, 9.0144574459, 10.4377628269, 11.8077507199, 13.2601377815, 14.7008875734, 16.2831997234, 18.0478538217, 19.9062584226, 21.7116073929, 23.7972197676, 25.7943853063, 28.0018066764, 30.2966777732, 32.4020458607, 34.6986135653, 36.5787923247, 38.9941694199, 40.9100762105, 43.1973073411, 45.4989169738, 47.9439748888, 50.4463876509, 52.6638757736, 55.294207962, 57.9647257586, 60.3735117835, 63.0468329169, 65.8490092433, 68.5673437637, 71.3291967195, 74.022449096, 76.5634101418, 79.4521789621, 82.1034841282, 84.5957972727, 87.2298588925, 89.8117578597, 92.116103738, 94.3201793649, 96.4398866704, 98.7571956034, 100.738271211, 102.538706138, 103.790301058, 105.541064785, 106.689191433, 107.9465356, 109.233163492, 109.878112298, 110.861837134, 111.406773891, 111.982349905, 112.685908269, 113.039739917, 113.728011449, 114.238429865, 119.966078903, 126.566362669, 135.120985221, 141.988196492, 147.2674725, 150.962774711, 152.591326252, 155.139910228, 156.193720324, 156.965130361, 156.528786574, 156.92623741, 157.926274655, 158.797500727, 159.608554039, 160.114564178, 160.021623321, 159.623851557, 159.367163867, 158.659825259, 158.16870827, 158.187008149, 157.966653081, 157.626143132, 157.000248875, 156.097652865, 156.455965794, 155.103698072, 154.894683129, 154.555199882, 153.89032843, 153.583032634, 152.659711207, 152.034700519, 150.663960599, 149.626676775, 149.437529617, 147.776653184, 146.675458496, 145.906277364, 144.841729658, 144.463685542, 143.623223917, 143.20083599, 143.157661161, 143.206807063, 142.649453987, 143.280109664, 143.357326635, 143.7418923, 144.105645289, 143.971232458, 143.621768701, 144.047764097, 144.774690026, 145.047710426, 145.000659612, 145.308993137, 145.377484212, 146.333526707, 146.272121214, 146.647706081, 146.220095214, 146.833477622, 147.088394176, 146.995694899, 147.276009994, 147.055724139, 147.39405621, 147.572111562};
1753 
1754 
1755  Int_t g4ndp_c_mpi_piP = 171;
1756 
1757  Float_t g4mom_c_mpi_piP[171] = {1, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000};
1758 
1759  Float_t g4xsec_c_mpi_piP[171] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00042579088462, 0.00168201479752, 0.00657184266197, 0.0270920394875, 0.0548918906742, 0.12262073269, 0.202533976784, 0.367268812235, 0.58788855092, 0.849375286379, 1.2176446803, 1.69251550398, 2.23282935677, 2.90329895848, 3.72343633073, 4.51286170912, 5.53968243145, 6.6369711124, 7.82145755098, 9.06090917482, 10.4232278591, 11.7868201684, 13.2429330976, 14.7876687469, 16.3511432433, 18.2011326834, 19.8693319944, 22.1588892505, 24.2423403227, 26.3414377032, 28.5212295569, 30.863649756, 33.0116024772, 35.3883126086, 37.7731863418, 39.9627364749, 42.1569858688, 44.4635790478, 46.8861911266, 49.3223526791, 51.8918798765, 54.4851843444, 57.020265464, 59.7439334433, 62.3206611512, 65.1270103933, 68.1323115947, 70.6819171879, 73.5303459549, 76.1455317178, 78.9232549768, 81.7358253717, 84.0799838999, 86.9043378685, 89.5304000459, 92.1640598336, 94.1820958414, 96.6351590466, 99.0132004613, 100.936957071, 102.953594335, 104.821875586, 106.280689146, 107.837484606, 109.10372167, 110.365721308, 111.444821896, 112.194679414, 113.019726373, 113.820060709, 114.261159214, 114.979866344, 115.428331328, 115.918866392, 116.52582564, 121.647560641, 129.220856404, 137.168121388, 143.116592563, 148.69022934, 150.946030306, 153.583280614, 155.759430374, 156.904169428, 157.637430122, 157.13945793, 157.8628682, 159.448197801, 159.882102937, 160.09102964, 160.093028351, 160.130946743, 160.370614838, 159.532806332, 159.524300961, 159.174249613, 158.885039975, 158.470390606, 158.27641428, 157.480314762, 156.930682063, 156.177026591, 155.903063614, 155.254172401, 154.42411328, 153.763710064, 153.827380846, 152.566320243, 151.688555236, 150.823401904, 149.950648573, 149.180729631, 148.118696358, 147.203936062, 146.498778054, 145.194571874, 143.913626584, 143.554048863, 143.163325604, 142.558163558, 143.214686392, 143.139394593, 143.618164244, 143.104069419, 143.739931265, 143.896049899, 143.763829043, 144.27064163, 144.914557354, 145.281699797, 144.839291752, 145.162147613, 145.670472798, 145.69002377, 145.724668168, 146.626563001, 146.94177148, 146.834611513, 146.818035689, 146.868597391, 147.167094868, 147.360650273, 147.395819563, 147.614769203, 147.625788787};
1760 
1761 
1762  Int_t g4ndp_c_qe_piM = 171;
1763 
1764  Float_t g4mom_c_qe_piM[171] = {1, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000};
1765 
1766  Float_t g4xsec_c_qe_piM[171] = {0.0, 0.0, 0.00275187091459, 0.098572939597, 0.562011784117, 1.86572620768, 4.16147441892, 7.03405059794, 10.8878255387, 15.1333528421, 19.9465497422, 25.7137778055, 33.8190855472, 44.7295941622, 57.4685826854, 74.8942013205, 95.1515379613, 118.243411938, 139.633041117, 161.924882981, 182.443855215, 199.271825158, 211.50872042, 221.290607827, 230.451722463, 237.492525861, 242.047360428, 243.977195213, 243.33833811, 239.445629516, 237.674280933, 236.553084699, 233.537530803, 230.325633278, 225.506129287, 220.202668306, 212.438975411, 203.706803962, 197.501011363, 193.419190876, 188.400037604, 183.146724553, 177.559021462, 173.915197786, 169.850238922, 165.998182118, 161.643953963, 158.021041681, 154.452337823, 151.347486736, 147.787494272, 144.248387532, 140.980280724, 139.025478535, 137.230829048, 135.514673578, 133.887917121, 132.370363049, 130.556622285, 129.164466647, 127.630448075, 125.796957244, 124.237907872, 122.767200659, 121.76534393, 120.632169662, 119.223295069, 118.03519954, 116.692074737, 115.522675799, 114.587340714, 113.049268192, 111.614868935, 110.313017689, 109.094913398, 107.699985207, 106.269969036, 104.788915299, 103.631063472, 102.366427668, 101.093989252, 99.7017247381, 98.6817848094, 97.709052399, 97.1385930985, 96.5688033158, 96.2496561367, 95.9100095497, 96.0562006228, 95.8358126231, 96.1705833767, 96.303150035, 96.50478363, 97.1870644728, 97.5655002964, 98.067313079, 98.5419598633, 99.0553157106, 99.7448580503, 100.227432613, 100.62314563, 103.933405302, 100.168474644, 92.0886332738, 84.8095588805, 79.0042791339, 73.7567136024, 70.042345133, 65.4463867052, 61.804503223, 58.0786047248, 55.4449765038, 53.3967291101, 51.6252925874, 50.0873212985, 47.9857683918, 46.7822762904, 45.5728618746, 44.8719387027, 43.8145555987, 43.0779444297, 42.2074927212, 41.5611922317, 40.3951510083, 40.0729594996, 39.7083069289, 39.1440834555, 38.2250018778, 38.6600371165, 37.8018375787, 37.3678744023, 36.9133381954, 36.8110581897, 36.9584586705, 36.7541515081, 37.2123897272, 37.5646305983, 37.3142417816, 38.0488027296, 38.6287186918, 38.6119577347, 39.0703375106, 39.333172696, 39.6353296146, 39.8814377589, 39.7916533997, 39.2804255797, 39.6930596055, 39.0512002595, 38.6678613741, 38.3852958415, 37.8975888565, 37.682852447, 37.9825196018, 37.0905520027, 36.6860569956, 36.2317361163, 36.011824179, 35.549386811, 35.4373269009, 34.5788991449, 34.2026640077, 33.8155862665, 33.8988833855, 33.240690392, 33.2702923082, 32.8317603847, 32.4076088395, 32.3936087655, 32.2010661096, 31.7845855324};
1767 
1768 
1769  Int_t g4ndp_c_qe_piP = 171;
1770 
1771  Float_t g4mom_c_qe_piP[171] = {1, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000};
1772 
1773  Float_t g4xsec_c_qe_piP[171] = {0.0, 0.0, 0.00205480838884, 0.0647872839645, 0.375917566623, 1.25118471889, 2.92671806651, 5.23824945916, 8.40073540338, 12.1261630496, 16.5624506802, 21.8625294723, 29.1034461214, 38.3842151915, 49.3172713013, 63.9798526447, 81.7319390349, 101.778646386, 128.491310578, 156.973120885, 181.361746766, 198.709448917, 210.484250661, 222.434526857, 231.93405722, 239.645179588, 245.029454581, 247.012703594, 245.204486002, 241.384892473, 240.511563584, 238.841280094, 235.61440084, 231.66618865, 226.186296735, 220.393645304, 212.864391964, 203.972027371, 198.284498348, 194.444807827, 190.001229161, 185.193777593, 180.406195757, 176.133272753, 172.576980971, 168.59407597, 164.592177102, 160.703782195, 157.673077582, 154.530549435, 151.448772764, 148.005517046, 144.925581947, 142.604967749, 140.935884877, 139.182574046, 137.670999287, 136.062369352, 134.653784135, 132.813963461, 131.313802381, 129.935187761, 128.199093663, 127.005516849, 125.850374673, 124.854070787, 123.585117785, 122.353565296, 121.043207046, 119.889060776, 118.528932022, 117.032502357, 115.433229286, 114.236603878, 112.725109229, 111.224203688, 109.584529716, 108.016616609, 107.035100888, 105.331983506, 103.996257779, 102.444851019, 101.667395349, 100.532041511, 99.6688948658, 99.3795736028, 98.8077409826, 98.3703110537, 98.3446653522, 98.3518181768, 98.2951165425, 98.4849401572, 98.8594382466, 99.5028934368, 99.7093308218, 100.253388486, 100.725601932, 101.271765131, 101.816697139, 102.45148611, 102.752910762, 106.585560589, 101.164860544, 92.8285017784, 86.1769383994, 79.6064014826, 75.1154024954, 70.5418565929, 65.7828302304, 62.0420810583, 58.2404963059, 55.9251057947, 53.4844696994, 51.3130472361, 49.7721563276, 48.5461324305, 47.2539108947, 46.117335389, 44.8356673434, 44.5429577201, 42.9595810084, 42.1065178582, 41.1314729394, 40.5665471783, 39.6186033769, 39.2801962246, 38.9285734143, 38.7064302798, 37.9265986292, 37.8100544763, 37.4846234069, 37.6444571483, 36.6176158549, 36.9747005772, 36.8553635792, 37.2446816372, 37.5988388006, 37.761635508, 38.1868201509, 38.1381319702, 38.4071672277, 38.9732067882, 39.8060651088, 39.8685483687, 40.0650412296, 40.3734027184, 39.5995384097, 39.7560238601, 39.0059952866, 39.1567066971, 38.4911917225, 37.9622304254, 38.0643964642, 37.4606850472, 36.9109461927, 36.4774029745, 36.4226242481, 35.9612375763, 35.5707646403, 35.2063194016, 34.7669860185, 34.0845167454, 33.7536777614, 33.7616800609, 33.5862036364, 33.5363621006, 32.9588659798, 32.7615590993, 32.5876745158, 32.093588478, 31.748161701};
1774 
1775 
1776  Int_t g4ndp_fe_abs_piM = 171;
1777 
1778  Float_t g4mom_fe_abs_piM[171] = {1, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000};
1779 
1780  Float_t g4xsec_fe_abs_piM[171] = {525.017386898, 526.785760933, 532.109825793, 540.814493016, 552.524799719, 566.451451123, 581.828734511, 598.396185529, 616.001078121, 634.96998836, 654.211217953, 673.269920847, 709.256677762, 751.433963542, 792.756949585, 851.00320704, 914.253542965, 969.146557821, 970.124574109, 966.936888538, 946.310152445, 910.412758978, 875.406649179, 838.704709105, 803.04657538, 769.578478805, 737.822050547, 709.47455677, 685.170025552, 664.679423677, 641.613886005, 622.528681078, 608.8296125, 593.995038893, 579.612946761, 565.204418943, 551.343038985, 538.115328156, 526.357959509, 515.229069242, 505.726110267, 495.914081325, 489.734762752, 489.877269601, 489.233955723, 489.043711446, 486.555856448, 484.403447453, 479.210704089, 475.079692895, 468.636840435, 462.726799557, 455.883793886, 450.121459098, 443.171428749, 435.189602239, 428.290809852, 420.248644601, 412.003457822, 404.359148814, 396.077410374, 388.175426381, 380.262929241, 372.767122193, 366.522243193, 359.375193614, 353.146296233, 346.599791717, 340.1891, 335.035, 329.14756, 323.121, 318.28806, 313.00298, 307.57508, 302.48832, 297.44152, 292.06024, 286.6797, 281.55298, 277.03676, 271.7983, 266.26828, 262.053721134, 257.031466325, 251.84510238, 247.295156086, 243.681129759, 238.347376615, 234.538728835, 230.199247657, 225.337335956, 220.823660319, 216.856918305, 213.156161891, 209.236647648, 204.993626586, 200.880548363, 197.961805683, 193.704927226, 190.604337674, 162.403732442, 141.50892488, 127.292292356, 112.047518407, 101.160380112, 86.579430864, 74.9778489318, 65.1278957999, 56.3307466979, 48.9301954979, 40.2135338625, 35.8751574309, 30.2385562341, 26.76424853, 22.1988085991, 19.7413841691, 17.6413993848, 15.36499887, 13.0482100549, 11.5750844572, 10.2204961344, 9.28162889727, 8.71794017622, 7.47334651775, 6.49560715996, 6.28042387036, 5.99418870763, 5.35707755459, 4.95653124966, 4.64837365984, 4.47743773548, 4.11311151131, 3.73079532973, 3.20820047583, 3.35629075433, 3.20217364436, 2.83727646483, 2.79978039064, 2.13719877837, 2.22215378148, 1.91912169036, 1.87251482906, 2.01723595995, 1.50246402846, 1.57754248295, 1.60187285074, 1.22121029156, 1.25205609711, 1.08695688616, 1.25678805813, 1.0729582205, 1.02181823576, 1.01486687632, 1.03942111958, 0.881373202223, 0.767565901265, 0.792228107363, 0.892260623338, 0.734704582546, 0.853471692797, 0.834113215566, 0.764638501216, 0.582508237876, 0.569617244609, 0.669341802269, 0.543883244472, 0.537287770167, 0.53070029308, 0.486683612366, 0.467665058113};
1781 
1782 
1783  Int_t g4ndp_fe_abs_piP = 171;
1784 
1785  Float_t g4mom_fe_abs_piP[171] = {1, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000};
1786 
1787  Float_t g4xsec_fe_abs_piP[171] = {10.035603044, 13.5774495761, 24.2528496751, 41.854701374, 66.0701185379, 96.435633463, 132.250900894, 172.919144405, 217.700596988, 266.103376824, 317.223871487, 370.139336272, 443.935672406, 526.989054474, 610.549912881, 693.893684767, 775.413109606, 850.64246934, 864.574062878, 877.605510436, 873.928629651, 857.68058862, 840.795010821, 805.867689222, 771.425258136, 742.638640723, 717.941186402, 691.333206284, 664.620192962, 640.785515186, 621.758303901, 603.681845572, 590.672194832, 576.92919929, 549.138936403, 518.945125493, 490.556035082, 479.360152707, 478.898123368, 478.893202599, 479.62540061, 481.902757109, 483.65960393, 482.52242414, 480.872112018, 478.666431057, 476.436041371, 472.64012997, 470.559781249, 466.855798658, 464.361022779, 459.457511792, 454.539943427, 449.593718004, 443.398257072, 437.626588492, 430.224952943, 422.315755505, 414.636747245, 406.136023128, 397.02493286, 388.783665383, 379.366726813, 372.091071396, 366.268168756, 360.245684114, 355.066132872, 348.875404386, 344.35615, 338.282825, 333.181725, 326.76765, 321.3519, 316.156418358, 311.22119366, 305.88551217, 301.862749747, 296.322607345, 291.257928044, 285.832331526, 281.764649372, 276.300847938, 271.733458839, 267.239440228, 262.338001627, 257.090066651, 252.673215014, 247.845726504, 243.433022219, 239.209356371, 234.240129235, 229.549828133, 224.387223024, 221.1098536, 216.775856384, 212.314547341, 209.204877208, 203.809461777, 200.919449349, 197.050515273, 193.464976112, 166.658359397, 145.613478058, 129.902613574, 114.286992256, 100.906136189, 89.3599359966, 76.6894252315, 66.6455417736, 57.674469747, 48.7731614011, 42.3462118944, 36.5769729388, 30.6221899335, 27.1325638768, 22.8778789141, 20.4242197174, 17.7356304383, 15.5794253698, 13.9954727481, 12.4118375505, 10.9278655305, 9.55849566836, 8.6587239788, 7.97901231904, 7.40014175943, 6.46360289991, 6.09866258489, 5.74810511332, 5.24273515384, 4.62889723389, 4.39320229328, 4.23598748413, 3.82761527773, 3.80732225144, 3.75493065235, 3.3305172774, 2.97817958498, 2.4354254083, 2.46256336851, 2.3367634321, 2.07798937996, 1.91694738433, 2.07432754372, 1.7560444552, 1.62822657879, 1.5955413375, 1.34143306637, 1.27102664403, 1.21966673853, 1.33888979058, 1.19287708044, 1.03443327571, 1.12833025379, 0.888232593092, 1.05764784267, 0.905979424444, 0.955703748565, 0.917394725404, 0.803779372358, 0.853471692797, 0.821570159693, 0.645555455945, 0.78920470938, 0.650991136696, 0.588019901059, 0.587643965292, 0.50605010911, 0.499482628781, 0.5365998803, 0.51131379687};
1788 
1789 
1790  Int_t g4ndp_fe_cex_piM = 171;
1791 
1792  Float_t g4mom_fe_cex_piM[171] = {1, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000};
1793 
1794  Float_t g4xsec_fe_cex_piM[171] = {0.000525017911916, 0.00316073353, 0.016495981959, 0.0935824312509, 0.384400283697, 1.14708975362, 2.43912631918, 4.15709512754, 6.12122345586, 8.16559246392, 10.73085485, 13.6295049856, 17.5974962871, 21.6245948319, 25.6784452105, 30.3577315208, 34.7762388137, 41.3082968034, 45.8559131931, 51.3495120122, 56.5787476787, 60.136661067, 65.161175754, 67.2989677389, 70.6833760549, 73.971173888, 76.7177010316, 79.1405875799, 79.8967827854, 80.1760706757, 79.601933455, 78.2150993519, 76.751231192, 75.004755966, 73.6720239183, 72.3417277514, 70.8746588692, 69.5662436143, 68.6295233412, 67.3112738459, 66.4315878153, 65.0854133484, 64.0660545832, 64.7897294296, 64.6715794772, 64.8131792088, 65.7294646108, 66.6527731985, 67.2020807867, 68.071915842, 68.3161498423, 68.8981158894, 69.9303441493, 70.9665186701, 71.9365194014, 73.1250282751, 74.1674609125, 74.6654582983, 76.4346225344, 76.9934669493, 77.8853795063, 79.3648541884, 79.5959198615, 81.3170132038, 82.3344266626, 83.3547486096, 84.7338746103, 85.729853407, 86.8094, 88.75782, 89.81306, 90.80022, 91.64974, 92.75752, 94.29598, 94.96494, 95.82186, 96.5219, 97.5949, 98.568, 99.49448, 100.01248, 100.72954, 100.981435874, 101.740819126, 102.655540404, 102.742257237, 103.281329015, 104.136704114, 104.197154297, 105.132312287, 104.992341149, 105.026956057, 104.940566412, 105.099968294, 105.602397958, 105.645701311, 105.753630853, 105.498337933, 105.394755947, 105.286025331, 102.792584317, 98.2804292754, 92.4332552074, 86.1382524658, 81.5433639203, 78.366795137, 74.2769863177, 69.8830616658, 64.2910645016, 60.3628767468, 55.94294058, 50.971071394, 48.2145352912, 44.3478960097, 41.8578942198, 38.1103364935, 36.5885719403, 34.9381177969, 31.4531239309, 30.2227248221, 28.3013867732, 26.7176434095, 24.6076198182, 23.4839078625, 22.6658017751, 21.7394255429, 20.4442318558, 19.2776586454, 18.0633691342, 17.4833383602, 16.4194315799, 15.7216573648, 15.4395543749, 13.8184538567, 12.9557966858, 12.7766086692, 12.533973006, 11.307788838, 10.7689299638, 10.3403373671, 9.67821965041, 9.22927647952, 8.9443481243, 8.41253065722, 8.09678431008, 7.40787049553, 7.18805643113, 7.27204298825, 7.09049782713, 6.68181791712, 6.18528856524, 6.25075229409, 5.62904422702, 6.14833341034, 6.08777061821, 5.54283245094, 5.02373220463, 5.1524909235, 4.97338486647, 4.86353354351, 4.59075844958, 4.50635313422, 4.33436237215, 4.27525909965, 4.22873886293, 4.08850163086, 3.71728166569, 3.83352917589, 3.74372009512, 3.37965948663};
1795 
1796 
1797  Int_t g4ndp_fe_cex_piP = 171;
1798 
1799  Float_t g4mom_fe_cex_piP[171] = {1, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000};
1800 
1801  Float_t g4xsec_fe_cex_piP[171] = {0.000220788124307, 0.000393757456674, 0.00400238859529, 0.0210226646006, 0.0955090917244, 0.29977560699, 0.770713745795, 1.43654466524, 2.41708410907, 3.7624952442, 5.46492211612, 7.94637615072, 11.6611770935, 16.1148501721, 20.6715063719, 25.5692007159, 30.8089470109, 37.0083521014, 41.8222079451, 46.7144118648, 52.2106112336, 57.1845616315, 61.8305374584, 64.2812266122, 67.786596633, 71.4085047677, 74.8812782316, 76.1382743876, 77.3077222355, 76.9527539902, 76.4926231064, 75.5628650512, 74.4649074672, 72.9533528055, 70.0364653523, 66.88076802, 63.0406688074, 62.3746358306, 63.0068977407, 63.1830079132, 63.7200695399, 64.0797203913, 63.9593012843, 63.9788957564, 64.4719010644, 64.2794404786, 64.6409555873, 64.9449719756, 66.1308537016, 67.067697472, 67.4738120284, 69.0012143106, 69.8076843126, 70.8034153387, 72.4683059106, 72.7536430161, 74.2198315281, 75.6060697949, 76.2602113611, 77.3258243067, 78.4484247791, 78.8628649643, 80.2371372159, 81.0173429315, 82.7665116938, 84.0115423207, 84.826338093, 86.8551614991, 87.535775, 88.88645, 89.765875, 91.07885, 91.98075, 93.407147925, 94.405813315, 95.1857469607, 96.9505722529, 97.1659915859, 98.4025210018, 99.2423718716, 99.8137027588, 100.829044207, 101.344448173, 102.034195322, 103.129881163, 103.296861533, 103.901661305, 104.725800578, 105.159254618, 105.271845106, 105.737476535, 106.402565368, 106.354386304, 106.322013729, 106.358868944, 106.704915995, 106.998039085, 106.678504104, 106.610335267, 107.192913993, 106.119070898, 105.552554672, 100.393066466, 93.4721406642, 91.0593080803, 85.0474730926, 80.3449525905, 76.4093271248, 71.0653283436, 65.0301156197, 63.2723462016, 58.8084142623, 53.8540194115, 51.7836988159, 47.5399623482, 45.293990014, 40.8484394347, 39.3818495995, 35.0453310468, 32.4604244004, 31.4844953596, 29.5376304842, 27.2516007538, 25.7524663017, 24.534641995, 22.9410949141, 22.1515783594, 21.5542668016, 20.7374948646, 18.9870271886, 18.5090967936, 17.8319951491, 17.0021543447, 15.6396489341, 14.9973708991, 14.1452867041, 13.3477378362, 12.7773511226, 12.0364988027, 11.3367230721, 10.6905335218, 10.2628527481, 9.64186449271, 9.33764570139, 8.3554750612, 8.78735511587, 8.6551786046, 7.71324013164, 7.34160166031, 7.57078110241, 7.26916107996, 6.74701375126, 6.97611709108, 6.44219843227, 6.23652671745, 5.85483627191, 6.00211368694, 5.6021844735, 5.61747181172, 5.32503834187, 4.96394197796, 5.34961332991, 5.10176836057, 4.65380237357, 4.63831184896, 4.1849501469, 4.47609658669, 4.47948059546, 4.30803767323, 4.08065490368, 3.87226668118};
1802 
1803 
1804  Int_t g4ndp_fe_mpi_piM = 171;
1805 
1806  Float_t g4mom_fe_mpi_piM[171] = {1, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000};
1807 
1808  Float_t g4xsec_fe_mpi_piM[171] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113907406056, 0.0078174705697, 0.0109319576602, 0.0341145051503, 0.0498767771401, 0.144631077291, 0.215536642746, 0.334912780533, 0.525135616604, 0.780052329112, 1.11141606142, 1.51528091002, 2.01672864032, 2.37515782621, 3.05258079703, 3.65074570437, 4.32221703072, 5.09283675749, 5.98678245177, 6.76294607565, 7.69820869836, 8.71736479274, 9.57578041909, 10.8707831793, 11.8815076909, 13.0603157978, 14.5395121802, 15.9622820082, 17.4391686521, 19.2261360554, 21.0502965823, 22.9084075431, 24.7544792541, 26.4283243007, 28.7086202906, 30.5806948029, 32.9119731105, 35.1155073281, 37.6383078694, 40.2106628475, 42.9226871644, 45.30428, 48.06744, 50.5346, 53.99188, 56.77798, 59.93038, 62.66468, 65.9303, 69.1086, 73.12384, 75.48444, 79.09712, 82.14962, 85.64464, 88.99166, 91.9471936654, 95.0856327369, 98.3085848808, 101.593319236, 103.716659929, 107.204457529, 109.543926998, 111.852645644, 114.050421769, 116.778768664, 118.863634164, 121.373477853, 123.493971254, 125.547366392, 127.350146631, 129.638971875, 131.795043434, 133.350741699, 152.341297346, 172.80760187, 195.385166563, 217.681040846, 238.132877, 257.650458087, 278.849390366, 293.647581128, 311.223660691, 326.990085982, 339.259268972, 351.299944946, 365.582363713, 376.643365973, 385.460682933, 395.706580621, 401.195441331, 409.775741779, 416.328624503, 420.282484248, 424.580299959, 429.960911361, 432.140070064, 436.711373841, 439.590706145, 440.957718889, 442.50563674, 444.168203961, 445.697534418, 446.510049166, 450.380990854, 450.482717835, 450.348306143, 450.378521016, 451.678293488, 449.972777439, 452.190135996, 450.918055517, 450.904284351, 451.129053654, 450.739408932, 450.812705728, 450.92835916, 452.419178864, 453.166500885, 454.817922372, 453.56889181, 456.456653099, 455.592923219, 455.986706459, 458.746442934, 460.095736973, 462.142639982, 461.742358925, 463.300119271, 464.666780359, 465.981027721, 466.187325118, 468.170086767, 468.085294809, 469.34233619, 471.443508701, 472.564505624, 472.707198664, 472.924388723, 474.097397828, 474.106476914, 474.633367999, 475.770668288, 477.947453857};
1809 
1810 
1811  Int_t g4ndp_fe_mpi_piP = 171;
1812 
1813  Float_t g4mom_fe_mpi_piP[171] = {1, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000};
1814 
1815  Float_t g4xsec_fe_mpi_piP[171] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00107671581732, 0.00317066661803, 0.00721096468364, 0.0220952557104, 0.043196203818, 0.0834503631702, 0.137373504128, 0.23524709424, 0.399447521021, 0.572703940079, 0.765666512453, 1.09715253674, 1.50314357544, 1.96126778242, 2.54643545322, 3.23095612376, 3.749896935, 4.48334316872, 5.27876655525, 6.18346025089, 7.00247113351, 7.99901392287, 8.89137138569, 9.93858723697, 11.1982532787, 12.4069353702, 13.713509818, 14.8425341976, 16.574526694, 17.9868570111, 19.5749506148, 21.5832205708, 23.1099145028, 25.1189582046, 27.1140117146, 28.9055493481, 31.0521112648, 33.0410392029, 35.4828038311, 37.8415009031, 40.1015782597, 42.7139666989, 45.624975, 47.971075, 50.1961, 53.420175, 56.602925, 59.4200138712, 61.7250916626, 65.2452256536, 67.5616579657, 71.4074708943, 74.3248826689, 77.4777421467, 80.8752641827, 83.6838267676, 87.2432534467, 90.3347980611, 92.6452816716, 96.5329712369, 99.5151161051, 101.658499285, 103.776450779, 106.745578797, 109.403905309, 111.547171771, 114.286360854, 116.434527794, 118.911912987, 120.944358486, 122.235068693, 124.667950614, 126.571229097, 127.875627323, 130.333474051, 149.336257663, 168.692775261, 192.547252346, 213.954336993, 234.545898327, 255.20229552, 273.641486303, 291.435459691, 309.332060656, 323.544941598, 335.183731813, 350.088969168, 362.965433835, 373.996952, 382.554261985, 392.197752408, 400.206015269, 407.155717986, 412.579598914, 418.349983057, 423.218448598, 427.6668724, 431.804511612, 434.320953689, 437.0868495, 440.663324021, 441.898382329, 444.161686835, 445.886168809, 447.341043339, 447.730814249, 447.818249372, 450.490308733, 448.806631626, 449.800828162, 451.570655671, 451.114148533, 450.771035086, 449.826115415, 448.219241969, 450.618669488, 450.939655886, 449.697718354, 452.780530972, 453.56563814, 454.824253886, 454.98625505, 454.395186999, 456.224874897, 457.369804875, 458.449801544, 459.616365455, 459.91749708, 464.029085388, 462.443928161, 462.747865606, 465.540900995, 467.035601062, 468.433826874, 469.566319217, 470.057290375, 470.403098937, 472.708566801, 473.170403895, 472.386413069, 473.415980889, 474.899913505, 473.690594537, 476.962419185, 475.440769146};
1816 
1817 
1818  Int_t g4ndp_fe_qe_piM = 171;
1819 
1820  Float_t g4mom_fe_qe_piM[171] = {1, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000};
1821 
1822  Float_t g4xsec_fe_qe_piM[171] = {0.0, 0.0, 0.00212851380116, 0.030833517811, 0.184733373748, 0.830474791892, 2.48371943928, 5.29560063623, 9.37539290474, 14.3540582237, 20.6410060225, 28.7018309148, 39.595133221, 55.0371946296, 73.8765182377, 100.092150635, 132.57866169, 170.759396576, 202.184607608, 237.649387621, 265.44934397, 287.168769756, 305.21829075, 318.257968742, 328.633239913, 336.734360003, 343.320653303, 346.77173348, 347.596011411, 344.060410244, 340.203704376, 333.447037172, 327.915319252, 323.361841845, 317.336206298, 311.384415222, 304.572178363, 298.691468332, 291.812332511, 284.925313809, 275.863613975, 267.138107647, 259.523518392, 254.7545761, 251.423112667, 247.130726049, 244.501385964, 241.202713364, 238.576067986, 234.646123654, 233.112976255, 231.07554436, 229.379554397, 227.837464182, 227.674053434, 228.571359239, 228.009443314, 229.350660688, 230.083750861, 231.829760039, 234.022394287, 234.212508645, 236.434193019, 237.566067696, 239.097402637, 241.067670829, 241.781542275, 243.138217313, 244.75944, 244.58998, 246.27348, 247.24362, 247.82896, 248.10868, 248.60596, 249.30378, 249.7389, 249.82326, 251.16784, 251.23518, 251.37578, 252.12614, 252.99934, 253.779672841, 255.479404815, 256.885997363, 258.774131741, 260.318956362, 261.602542111, 263.699009424, 265.487161512, 268.663957954, 270.926923083, 273.600807723, 275.373588613, 277.420914553, 280.06465316, 282.897692357, 284.39181377, 287.123539013, 289.366431151, 304.484094455, 302.84262477, 291.460073827, 281.746505795, 267.66164874, 257.292752175, 242.845283087, 232.58839116, 222.620016657, 210.429945068, 202.224345192, 195.04966683, 185.589652682, 177.521176476, 172.388790179, 164.77971108, 158.402401038, 149.656295143, 147.025843359, 140.541315185, 135.537265037, 130.984350986, 126.979266008, 122.45649606, 118.782434867, 115.075683208, 113.6088119, 111.338580222, 109.277854323, 106.945054886, 103.04586441, 101.993524599, 99.3695399674, 101.187158381, 99.0427256316, 98.7411740796, 97.863621631, 98.2096482233, 97.4881627828, 96.6159354731, 97.1507695439, 96.6471552113, 96.1929751467, 96.0182285865, 95.5078430942, 95.4285676142, 95.15316251, 93.9295013456, 92.5935598601, 92.1434058703, 90.4882471018, 90.7652124237, 88.4888273896, 87.840533887, 86.1227529029, 84.8726558038, 84.8564328331, 83.753111609, 81.9729369278, 81.3559340105, 80.9842402452, 79.7292325735, 78.1124756403, 78.6196988164, 77.4059388905, 76.0436297214, 76.6384776353, 74.8911766528, 74.6310600962, 73.3423521803};
1823 
1824 
1825  Int_t g4ndp_fe_qe_piP = 171;
1826 
1827  Float_t g4mom_fe_qe_piP[171] = {1, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000};
1828 
1829  Float_t g4xsec_fe_qe_piP[171] = {0.0, 0.0, 4.85138011551e-05, 0.00209389089648, 0.022239123229, 0.122234835548, 0.479276346337, 1.33955681602, 2.88899313055, 5.12492499639, 8.51755333998, 13.1911253034, 20.990595513, 32.4755659612, 47.4467532023, 67.6699746038, 93.3189016441, 123.724218972, 149.716759779, 177.411077844, 202.593630115, 223.753276761, 242.360007923, 253.228903876, 262.30432028, 271.868918106, 279.415291606, 284.304163639, 282.842878751, 280.87790358, 277.314719852, 273.433268124, 269.103403614, 265.660392106, 255.400396106, 244.215528834, 231.720330486, 226.860551667, 226.767162139, 226.363443705, 224.693726505, 221.810399405, 218.395866602, 214.640926071, 210.692577866, 207.830411647, 204.475822114, 202.789858148, 200.288164194, 199.376557594, 197.575646485, 197.230783807, 197.239268297, 197.298323751, 197.491154201, 198.848493394, 200.707840248, 202.246144133, 203.594012002, 204.412910535, 205.975165608, 207.556079075, 209.009840688, 211.057978512, 213.079374422, 215.655515753, 217.864718521, 219.676486117, 220.360125, 222.120425, 223.1927, 224.40925, 224.920375, 225.337447219, 226.817342964, 227.567132698, 227.4588898, 228.594509608, 229.415725508, 230.443966515, 230.515305184, 231.779424705, 232.249092151, 232.869266113, 234.77708325, 236.297583795, 238.032579697, 240.203902867, 242.439108987, 244.09137527, 246.567703584, 248.889710051, 251.486165148, 253.519632283, 256.105368185, 258.664530011, 260.644155891, 264.227157016, 266.338462654, 268.713386522, 271.585279631, 283.166258097, 284.592127262, 274.90274135, 264.842807341, 254.930385516, 243.259616538, 233.996831192, 221.992854919, 213.863816958, 202.212968164, 194.022769456, 186.146242642, 176.834583614, 171.812288601, 165.835761639, 157.572753708, 150.655262278, 146.540410069, 141.729177314, 134.006671981, 129.527930635, 124.926242352, 122.12353782, 119.658916432, 114.626819388, 111.588739538, 107.98681138, 105.642612117, 103.143984286, 102.679717603, 100.084664634, 97.317770475, 96.5682161385, 96.5165853994, 95.0691860029, 93.7678582993, 95.5835529595, 93.4986022235, 94.2855544642, 95.7372614851, 92.8549872172, 94.362052369, 93.4906401815, 93.0830351469, 91.3264051876, 90.8888726182, 90.8631077034, 92.0008290748, 89.7371382756, 89.2130055739, 88.9103673658, 86.595941721, 86.9381612308, 83.7899412817, 84.8069886225, 83.9037611416, 83.0707758292, 81.2208508258, 80.3842167622, 78.8708252579, 78.231039481, 78.513332006, 76.1895721024, 75.6902387012, 75.5793238787, 75.0121270163, 73.3960084176, 74.5852435427, 72.1914025009, 72.4693774052};
1830 
1831 
1832  Int_t g4ndp_o_abs_piM = 171;
1833 
1834  Float_t g4mom_o_abs_piM[171] = {1, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000};
1835 
1836  Float_t g4xsec_o_abs_piM[171] = {173.003045026, 173.304116683, 174.208352312, 175.608405786, 177.211707749, 178.275158096, 177.863102664, 177.293831257, 176.072478959, 175.066293663, 174.060823442, 172.270861305, 183.3949059, 199.03658436, 213.372921263, 230.929255762, 247.989895853, 262.11449501, 265.160019375, 266.630607225, 262.801726487, 255.056827275, 247.945286448, 237.259845343, 227.841362525, 215.38208425, 204.050460172, 191.985109772, 182.088244703, 172.139713381, 162.743223535, 154.785863383, 147.13485323, 139.587614489, 132.506505912, 126.03233152, 119.295709358, 112.965172727, 107.449404375, 102.211730177, 97.1585597614, 93.0905557307, 89.6839922626, 88.1887042249, 86.3758795603, 84.27421737, 82.5922906086, 80.1827156333, 77.9083084326, 76.0903631011, 74.0152233997, 71.5907463324, 69.270397784, 67.0213298068, 64.7865813988, 62.5500453636, 60.2987367609, 57.7570729107, 55.6593568322, 53.561819715, 51.6069573685, 49.3973232969, 47.5444864196, 45.5633523394, 43.8432476964, 42.3462903973, 40.8940357386, 39.2622219444, 37.8659860533, 36.6572121289, 35.0387525287, 33.927040488, 32.7740587883, 31.4682174689, 30.3587886357, 29.2766498137, 28.447005674, 27.1846907504, 26.3663734975, 25.1927449224, 24.3501372156, 23.3260262663, 22.5898492561, 21.6180294885, 20.8556416852, 20.1429826287, 19.1901635236, 18.4067426023, 17.7465642563, 16.9731663957, 16.2608637755, 15.5094775923, 14.8825529279, 14.4781535075, 13.9874491786, 13.1645119751, 12.7720753145, 12.2663098706, 11.7843827848, 11.3626164365, 11.020188478, 8.35979079613, 6.69334567964, 5.5601165864, 4.47550680368, 3.58547822543, 2.73660179185, 2.02208020083, 1.68343582869, 1.23734509329, 0.887800250989, 0.713484032064, 0.522162695053, 0.346183673045, 0.237644183429, 0.174535157526, 0.170153443486, 0.122936625189, 0.110526913771, 0.0730353874522, 0.0835224391455, 0.0303501819095, 0.0767778473889, 0.0272957749149, 0.0271708832843, 0.0324551825625, 0.0323052983795, 0.0187573213, 0.0426740156612, 0.0185824393013, 0.0184949938811, 0.00525929880022, 0.0183200952502, 0.0182326424015, 0.0207373570415, 0.00773902732374, 0.0231046348681, 0.0102187491181, 0.0177953487089, 0.00505939569175, 0.0125860140613, 0.00500941516797, 0.0074962618427, 0.00749026396202, 0.0, 0.00498551197972, 0.00249075662202, 0.00248875723201, 0.00248675782098, 0.00496951677997, 0.0, 0.0, 0.0, 0.00495352097091, 0.0, 0.0, 0.00247076189043, 0.0, 0.00246676275823, 0.0, 0.0, 0.0, 0.00245876434925, 0.00245676471976, 0.00245476508027, 0.00245276543116, 0.0, 0.00244876610562, 0.0, 0.0, 0.00244276705409};
1837 
1838 
1839  Int_t g4ndp_o_abs_piP = 171;
1840 
1841  Float_t g4mom_o_abs_piP[171] = {1, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000};
1842 
1843  Float_t g4xsec_o_abs_piP[171] = {55.0080603622, 55.8050147501, 58.2066384739, 62.1373815665, 67.4225679264, 73.7550623949, 80.7768715322, 88.2153443586, 95.8021211876, 103.797592921, 111.709325064, 119.310065723, 134.975353365, 152.971529788, 169.497791935, 185.238089445, 198.995037047, 211.331738015, 227.452260968, 240.486394407, 242.942607652, 238.105714276, 233.98454411, 223.804659814, 214.844444105, 203.597219529, 193.27621747, 183.446521385, 173.678756185, 166.234948902, 157.448126679, 150.468108087, 143.284089773, 135.44180884, 129.356812872, 122.960512903, 117.054925245, 111.103909712, 105.190286216, 100.014449103, 95.4425184491, 91.2556455959, 88.3117027871, 86.4383713783, 84.4294879979, 82.3767639292, 80.5774659352, 78.4646265578, 76.3331933813, 74.1756350516, 72.2362070389, 70.1639968141, 68.0674014089, 65.735719383, 63.7331821667, 61.4344998081, 58.9540488105, 56.8340452222, 54.5018329331, 52.5346897947, 50.2849496544, 48.5405172453, 46.5491311976, 44.4558451098, 42.7750324518, 41.4549989477, 39.8143936414, 38.1659816835, 36.9673910081, 35.5588227426, 34.121165157, 32.8949935682, 31.744155944, 30.4531049663, 29.476203815, 28.4679248818, 27.4061995778, 26.4390672789, 25.5827909954, 24.7077039284, 23.7014516383, 22.9007393047, 22.081685252, 21.113347655, 20.3698058836, 19.8662022341, 18.8574678023, 18.0342179532, 17.390628915, 16.7531026969, 16.1429467389, 15.4693603318, 14.7872475875, 14.31224821, 13.7872762384, 13.1969944859, 12.6104405256, 12.3552032526, 11.8746883158, 11.3400942299, 10.9744357901, 8.43884319136, 6.52937346799, 5.41713287524, 4.38857249886, 3.57271851644, 2.78400251572, 2.112854699, 1.81674658492, 1.24962643417, 0.969891370087, 0.677358258289, 0.501276187251, 0.349142507858, 0.246445819853, 0.215260027616, 0.164385530147, 0.13151359904, 0.0708505857505, 0.0898897076335, 0.0668179513164, 0.0607003638191, 0.0219365278254, 0.0300253524064, 0.0217367066275, 0.021636788375, 0.0161526491897, 0.0428738772573, 0.00800137793647, 0.0238917076731, 0.0369899877622, 0.0131482470006, 0.0183200952502, 0.0182326424015, 0.0103686785207, 0.0103187030983, 0.0154030899121, 0.0102187491181, 0.00762657801808, 0.00505939569175, 0.010068811249, 0.00250470758398, 0.00499750789513, 0.00499350930801, 0.00498951066859, 0.00249275598986, 0.00249075662202, 0.00497751446402, 0.00248675782098, 0.00496951677997, 0.00744827682011, 0.00248075947206, 0.0, 0.00495352097091, 0.00247476096841, 0.0, 0.00247076189043, 0.0, 0.00246676275823, 0.00246476317327, 0.00246276357646, 0.00246076396829, 0.0, 0.00245676471976, 0.0, 0.00490553086233, 0.00245076577283, 0.0, 0.00244676642988, 0.00244476674593, 0.0};
1844 
1845 
1846  Int_t g4ndp_o_cex_piM = 171;
1847 
1848  Float_t g4mom_o_cex_piM[171] = {1, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000};
1849 
1850  Float_t g4xsec_o_cex_piM[171] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.312242856441, 1.53642681687, 3.12450196147, 4.888890265, 6.47876621615, 8.21742508159, 10.3114948879, 13.6434540797, 17.6060597426, 21.4358184896, 25.6326953174, 29.9931059364, 34.8993920252, 39.1939141403, 44.3624120181, 49.2516088672, 54.3016013626, 59.0559539871, 62.9220433233, 66.1242205069, 69.3625585195, 71.7640830433, 73.6211696149, 74.3405569071, 74.506846275, 73.5734989729, 72.1737287772, 70.8510228033, 69.0942548205, 67.6584906163, 66.5333828166, 64.9517614433, 63.9767625087, 62.8401310155, 61.7150574052, 60.2639914121, 58.874678595, 57.386763422, 57.1918635514, 56.921011558, 56.7290388171, 56.4460106932, 56.3355839563, 56.5199191813, 56.2197835122, 55.9243353223, 56.0396888232, 55.5660354209, 55.8196601762, 55.5914980754, 55.5989128592, 55.3412791571, 55.1118595843, 54.9537993404, 54.634666633, 54.2253433408, 53.9127659219, 53.798655863, 53.5912390489, 53.5182816774, 53.0023953392, 52.7775935521, 52.3656912669, 52.1896370261, 51.8253680023, 51.487266872, 51.1273894046, 51.0206504308, 50.5940847241, 50.4378120719, 50.1078151985, 49.6367420688, 49.5446339745, 48.8060828374, 48.2743340782, 48.3588268292, 47.9534746049, 47.4367399098, 46.9973395482, 46.2975046861, 45.7604751321, 45.545702004, 45.3191546554, 44.7685357535, 44.4057273355, 43.618415554, 43.3201880317, 42.8807641026, 42.5090200351, 41.9762979999, 41.5746903919, 41.0588138212, 40.9391470206, 40.4493796236, 40.0013973828, 39.7891517917, 34.7567031051, 30.7218335751, 25.8930502399, 22.1135113149, 19.1395634809, 16.4196107511, 14.0512662872, 11.4678252861, 10.5128277902, 9.19724575082, 7.59544393628, 6.51062286061, 5.73718070115, 4.87904045732, 4.34301650311, 3.9106452435, 3.55944414792, 3.25062487423, 2.78658093664, 2.61703642656, 2.46388294956, 2.31978781754, 2.07993804852, 1.97532321477, 1.73905686564, 1.76063876168, 1.85161557405, 1.55760157163, 1.54234246201, 1.52715806618, 1.39371418206, 1.37400714377, 1.2111683881, 1.16388416395, 1.09120285265, 0.921618213074, 0.8481561768, 0.882140857425, 0.887923943902, 0.81557371117, 0.736384029691, 0.772114969798, 0.639169191426, 0.63865736558, 0.588290413607, 0.520568134002, 0.607256764611, 0.514758868942, 0.511860228337, 0.518896618468, 0.471344299691, 0.456091837594, 0.421049282527, 0.423184125598, 0.395641829842, 0.444737140278, 0.316001578343, 0.421816431658, 0.384503055031, 0.342324137128, 0.376496887149, 0.346685773244, 0.348860590206, 0.370669527121, 0.333576098638, 0.357811802833, 0.291403166569, 0.303399037305, 0.281148175782, 0.298017580599};
1851 
1852 
1853  Int_t g4ndp_o_cex_piP = 171;
1854 
1855  Float_t g4mom_o_cex_piP[171] = {1, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000};
1856 
1857  Float_t g4xsec_o_cex_piP[171] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0805529294211, 0.554990507555, 1.25429720442, 2.09208698327, 3.20949674861, 4.62836705756, 7.04622523601, 10.1028481448, 13.3395113913, 16.4915035311, 19.7507270242, 23.2777473756, 28.0055303728, 33.4139965867, 38.171439028, 41.7735904774, 45.5334393709, 48.2135470788, 50.9661802504, 53.1322867436, 55.225368129, 56.1074805101, 57.1969970763, 57.5683248803, 57.1467805161, 56.8440156804, 55.7462924913, 54.8854011219, 53.8718172339, 52.9827524658, 52.0916431878, 51.0635150643, 50.1000091882, 49.0650881967, 48.1298221527, 47.0194345176, 46.0552134464, 45.9511971158, 45.6544082797, 45.4284368806, 45.415819832, 45.3141496344, 45.10924904, 45.0960246271, 45.1966124236, 45.1862775281, 45.1935330689, 45.3555612059, 45.1277964928, 45.4205468448, 45.1527403632, 45.1855827097, 44.9516001192, 44.7970726619, 44.807098505, 44.6626323331, 44.2822901402, 44.1208630734, 44.2402371749, 44.0161412961, 43.8079477961, 43.6828293726, 43.5264562798, 43.4583727689, 43.3448121225, 43.1350294666, 42.9509010064, 42.7699140142, 42.7318116618, 42.5399087757, 42.3911431863, 42.1352448134, 41.8033423781, 41.5703333609, 41.2191892147, 41.1583951038, 40.7707657173, 40.5699256263, 40.0244802588, 39.6741140514, 39.4645679475, 39.0912540187, 38.7146997989, 38.4595564529, 37.8706910521, 37.9088225081, 37.3123430948, 36.9113364147, 36.4496431603, 36.2488579219, 35.7694210498, 35.419291298, 35.1656910244, 34.5807265845, 34.2739920766, 30.5372815094, 26.5995721742, 22.880643416, 19.6986695143, 17.1075798247, 14.3940198174, 12.2138652378, 10.8353742565, 9.02064487368, 7.5615041925, 6.7615406583, 5.75274100607, 5.05073102469, 4.45362803019, 3.80195751478, 3.4232565664, 3.1820572985, 2.66681604765, 2.46634885319, 2.25510585693, 1.9837982539, 1.7713746219, 1.79333241191, 1.80142956175, 1.58489474847, 1.54796221402, 1.47378953072, 1.52559605989, 1.32997172714, 1.26294386788, 1.03082256484, 1.06256552451, 1.11740051289, 0.904667200934, 0.88998814223, 0.813796583689, 0.751078060178, 0.653343516882, 0.708315396845, 0.563853429945, 0.593615697404, 0.534733344779, 0.559273042497, 0.478993024185, 0.498551197972, 0.418447112499, 0.44548754453, 0.397881251356, 0.452226026977, 0.337655215845, 0.394440756057, 0.304887478392, 0.329409144566, 0.348941296546, 0.353604885421, 0.28660837929, 0.340689201651, 0.300945056504, 0.276053475407, 0.268441229834, 0.265762508576, 0.253252727972, 0.287441472212, 0.252840803268, 0.240371012254, 0.210765856463, 0.269364271618, 0.242229876558, 0.232252840864, 0.249162239517};
1858 
1859 
1860  Int_t g4ndp_o_mpi_piM = 171;
1861 
1862  Float_t g4mom_o_mpi_piM[171] = {1, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000};
1863 
1864  Float_t g4xsec_o_mpi_piM[171] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00214877034659, 0.00791075796572, 0.0278962856825, 0.0658981277294, 0.124796919038, 0.22024252951, 0.369060671464, 0.603241539309, 0.874861948619, 1.2882167716, 1.80408809901, 2.33266145473, 3.03595706023, 3.88343874278, 4.61765794335, 5.63787193811, 6.75149204261, 7.93315159299, 9.14000209782, 10.5390516932, 11.965061792, 13.60567239, 15.0414732672, 16.8089548895, 18.5153915468, 20.3924589001, 22.527745402, 24.7519516281, 26.9236283206, 29.2424008646, 31.6733957936, 34.0132670961, 36.6130943971, 39.1136856122, 42.1404847237, 44.3182902031, 47.1732368558, 50.0144821282, 52.9314567245, 55.6732003556, 58.633941922, 61.6791458096, 64.6050155236, 67.6702601242, 70.7797777033, 73.7917740694, 76.972543679, 80.2670046248, 83.5238460059, 86.4076219064, 89.6481149855, 92.9828752962, 96.4953897774, 99.2033922005, 102.648512778, 105.612587294, 108.211087914, 110.857118934, 113.295754874, 115.593645874, 117.588608533, 119.636803464, 121.143273826, 123.121885379, 124.481575989, 125.812866564, 127.216311706, 127.960470907, 129.200161163, 130.160560362, 130.572004773, 131.637753208, 132.492592506, 133.196532082, 142.132912783, 150.582240849, 163.810588547, 174.995535813, 182.833870079, 190.152743906, 195.703557765, 200.269958862, 203.375934577, 205.784193108, 208.689563657, 210.043673819, 211.080316678, 211.919934043, 212.368561839, 210.794160869, 210.730529522, 209.797086477, 208.204226253, 207.205251114, 206.113603563, 205.567202252, 204.751066792, 203.765322102, 202.53927138, 202.333467967, 201.333047983, 200.154469081, 199.219677115, 197.43405968, 196.968629017, 196.179431409, 194.175036913, 193.321418849, 192.221960667, 190.505416033, 188.965108691, 186.599484368, 185.861960132, 184.120799702, 182.908776028, 181.731875853, 181.529043874, 181.458523995, 181.425273698, 181.608537581, 181.758918168, 181.642738275, 182.294299281, 182.398368289, 181.675939177, 182.959753395, 183.193589307, 183.362464432, 183.87701318, 184.659802167, 184.715266353, 184.363381788, 185.885044239, 185.87461817, 186.587427896, 186.224353048, 187.104744292, 187.163563545, 187.55806699, 187.640430631, 188.91495875, 188.119636961, 188.122356333, 188.381309677};
1865 
1866 
1867  Int_t g4ndp_o_mpi_piP = 171;
1868 
1869  Float_t g4mom_o_mpi_piP[171] = {1, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000};
1870 
1871  Float_t g4xsec_o_mpi_piP[171] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00103657036118, 0.00663917427401, 0.0286040073761, 0.0635920826807, 0.126251218667, 0.218612911731, 0.362121021081, 0.54761861907, 0.902930573606, 1.28549927147, 1.77384532766, 2.37111426595, 3.01369203976, 3.81756763149, 4.71615672299, 5.57408960919, 6.79294165811, 7.96361691981, 9.25639614343, 10.6664353406, 12.0558282075, 13.6589423058, 15.221254665, 17.186365694, 18.9876351493, 20.9066353159, 23.0993814827, 25.3317816212, 27.7454499291, 30.1556113204, 32.6654095409, 35.0981508978, 37.7028649652, 40.2270328974, 42.8625383979, 45.6788811777, 48.4235486236, 51.1020222409, 53.9899304802, 57.2003542144, 60.1631512656, 63.0426402485, 66.2169987097, 69.1965862693, 72.1171536908, 75.3070516538, 78.7303530444, 81.8906084027, 85.2500746548, 88.5600558518, 91.8929585812, 94.8086987036, 98.3605644981, 101.291626692, 104.363222368, 107.422566869, 110.249078935, 113.040360769, 115.237287381, 117.699724511, 119.997785363, 122.034163449, 123.694978551, 125.412111294, 126.739303374, 128.388969968, 129.784927513, 130.748941605, 131.653240378, 132.317750614, 133.312721244, 133.97787271, 134.983744402, 135.982217162, 143.67772834, 153.973186186, 165.627131605, 176.753540644, 184.103461123, 191.227160314, 196.382801423, 200.685392381, 204.95408688, 208.131391032, 209.71914821, 210.852280049, 210.991551634, 212.204520287, 212.135848296, 212.348613514, 211.122211328, 210.505592335, 208.766036925, 207.402920886, 206.759234705, 205.951091489, 204.688286509, 204.667395427, 204.007868391, 203.159945184, 201.37592186, 200.450520064, 198.948904428, 198.887237771, 197.870598761, 195.708343245, 194.456340539, 193.845037115, 192.652766521, 191.188286352, 189.636991446, 188.012943494, 186.55762704, 185.230886143, 183.432259913, 182.713886154, 182.405404758, 182.159550244, 181.819129144, 181.523851856, 181.524974988, 181.819298081, 181.466874737, 182.408299324, 182.943607267, 182.711877396, 183.074704803, 183.835143777, 184.438330026, 184.766044928, 185.204081295, 185.231682278, 186.042789082, 186.133208345, 186.390566778, 186.674306923, 187.227582528, 186.962272809, 187.751835459, 188.091371533, 188.101968403, 187.652304573, 188.361943474, 188.405737348};
1872 
1873 
1874  Int_t g4ndp_o_qe_piM = 171;
1875 
1876  Float_t g4mom_o_qe_piM[171] = {1, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000};
1877 
1878  Float_t g4xsec_o_qe_piM[171] = {0.0, 0.0, 0.00348423673098, 0.101208737966, 0.564260924571, 1.79553171173, 4.09823916494, 6.66638994031, 10.1427942274, 13.9586274384, 17.9744155195, 22.7484337697, 30.7042668257, 42.0312020517, 56.0921682762, 74.910229372, 97.9151812205, 123.773947443, 147.482282248, 172.565463767, 195.157058715, 214.070146618, 231.478909345, 242.118858645, 252.336389824, 259.514679814, 264.497711116, 267.763107622, 266.75972413, 265.441940433, 261.879159597, 257.363058036, 252.33657535, 247.56765365, 244.00985211, 239.8495018, 236.171365716, 231.346350086, 225.584958204, 219.313211028, 213.201091025, 205.953876388, 200.442920935, 196.815642085, 193.601097265, 190.608918559, 187.039293206, 184.057757631, 180.943137699, 177.925341393, 174.930028447, 172.039239036, 169.219320663, 167.318264071, 166.075802919, 164.700078383, 163.370029997, 162.116617587, 161.22161233, 160.588326392, 159.87269531, 158.97377295, 158.088609204, 157.218737573, 156.271521134, 155.522756266, 154.592257051, 153.692762558, 152.363770939, 151.127665402, 150.050764875, 148.479971532, 147.014175885, 145.604795413, 144.129117639, 142.682263001, 141.424421284, 140.029911102, 138.739389349, 137.33643859, 135.797363983, 134.289515853, 133.17436357, 132.421200382, 131.613365857, 130.95419411, 130.37385468, 129.904828172, 129.616130635, 129.710534396, 129.796606756, 130.068787032, 130.304033945, 130.323795696, 130.981557485, 131.376164561, 131.89886609, 132.511703955, 132.829003788, 133.28282819, 133.579220635, 135.499099283, 131.508993189, 121.753879686, 112.589584109, 105.752468087, 99.0074719865, 93.3568761449, 88.3075251279, 83.7403227654, 79.4459608162, 75.1416094529, 72.1151438671, 69.0118631633, 66.3966112986, 63.6820611428, 62.535716416, 60.0788428309, 57.8112439489, 56.9282754656, 55.4060020478, 53.3114740778, 51.9484399565, 51.1986850079, 50.4889353189, 49.821409832, 48.3502632413, 47.5658871996, 47.4268341554, 46.6711236223, 46.6681538459, 45.3798596977, 45.0857544108, 45.2560231038, 44.8652719592, 44.950850372, 45.156725259, 45.3405898369, 46.6466933513, 46.2175796442, 46.7318702095, 46.5775422318, 47.0240505392, 47.3659325411, 47.0286328068, 47.1430012802, 46.6493807738, 46.9056075517, 46.3034306266, 46.1171157181, 45.3550403166, 46.1222801045, 45.0266751625, 44.4628042349, 44.2190289836, 43.6195117401, 43.070321274, 42.7787136682, 42.8600029243, 41.3414727053, 41.5221938991, 40.7207221473, 40.734348974, 40.1140543443, 39.8408372528, 39.2172664789, 39.1436309236, 38.0391326847, 38.3457234891, 38.4195094123, 37.9532717193};
1879 
1880 
1881  Int_t g4ndp_o_qe_piP = 171;
1882 
1883  Float_t g4mom_o_qe_piP[171] = {1, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000};
1884 
1885  Float_t g4xsec_o_qe_piP[171] = {0.0, 0.0, 0.0011641560526, 0.0351274676043, 0.219702093023, 0.787994656086, 1.93078665977, 3.51275584804, 5.8729435327, 8.73894226858, 12.3605401452, 16.8412294966, 24.2590565801, 34.8207248283, 47.9985813633, 64.5325151268, 84.6149904754, 107.344099893, 137.103796618, 170.290067369, 197.977983061, 218.847796453, 237.320053677, 249.529863054, 260.581479666, 267.823361962, 272.213075155, 275.316715927, 276.146750519, 274.000797604, 270.184660025, 264.495350269, 259.326787563, 254.34930681, 249.820632589, 245.444134883, 240.644714543, 235.657557451, 230.253984889, 224.167804766, 217.174305056, 209.828697271, 203.60268292, 200.438353171, 197.659831086, 194.688625945, 191.149966027, 188.098293413, 185.934134905, 183.750955171, 180.736260192, 178.170228931, 175.504136749, 173.934537605, 172.690817071, 170.879905513, 169.93267913, 168.082820509, 167.516689497, 166.460229075, 165.672017706, 164.44694275, 163.54691211, 162.87584714, 162.009074313, 160.818743981, 159.646051394, 158.616640656, 157.272346221, 155.714239128, 154.597220432, 153.312064893, 151.623630376, 149.966237757, 148.341701418, 146.639475365, 145.150854857, 143.539042764, 142.459356641, 140.475747159, 139.396726644, 137.753867671, 136.430635583, 135.484370614, 134.660216529, 133.928762526, 133.553353535, 133.020952103, 132.793180405, 132.723912291, 132.887271887, 133.006941827, 133.349095725, 133.624727855, 134.092835437, 134.344741223, 135.1787189, 135.373875487, 135.913084379, 136.513295998, 136.581904178, 138.414156357, 132.663357559, 123.537926446, 113.513663571, 106.967830368, 99.9934070431, 94.6277191194, 88.757061399, 83.7034787428, 79.0719901625, 75.3824479447, 72.500052368, 69.9350196248, 66.6547926337, 64.6536401863, 61.7397443753, 60.070265857, 58.4885755487, 56.9507478925, 55.7484440483, 53.6563625086, 52.4255594368, 51.6599836039, 49.6846771737, 49.2318073488, 48.2479631298, 48.294743113, 47.3361518721, 47.366637779, 45.7037720221, 45.6060095461, 45.768832248, 45.5920246567, 44.9326683696, 45.2242960041, 45.2568453434, 45.3482538987, 45.5306707679, 45.4687890818, 46.2510844724, 46.3395950113, 47.2114570853, 47.1661921688, 46.6219876873, 46.7990009536, 46.8137707109, 46.8259673203, 46.2387749232, 46.5221313357, 45.9931093642, 44.7181702433, 45.1109530021, 44.8095507029, 43.867612926, 43.1397960214, 42.754063752, 42.5466500091, 42.2926474899, 41.6865395496, 41.5788374614, 40.981563128, 40.5548591765, 39.7897614013, 40.0814042306, 39.496881738, 38.913258941, 38.8937520556, 38.9549683301, 38.2043699387, 37.667467974};
1886 
1887  //===============================================
1888  //Functions for putting the data in a usable format.
1889  //===============================================
1890 
1891 
1892  //Given a momentum value, the last data momentum value, the uncertainty on the closest data point,
1893  //and a calculated maximum error, return the uncertainty for the extrapolated point at this momentum.
1894  Float_t ExtrapolateError(Float_t mcX, Float_t closestDataX, Float_t closestDataUnc, Float_t maxUnc){
1895 
1896  Float_t result;
1897 
1898  if (TMath::Abs(mcX - closestDataX) < 100.0){
1899 
1900  result = (maxUnc-closestDataUnc)*(TMath::Abs(mcX-closestDataX)/100.0) + closestDataUnc;
1901 
1902  }
1903  else {
1904 
1905  result = maxUnc;
1906 
1907  }
1908 
1909  return result;
1910 
1911  }
1912 
1913 
1914 
1915  //Given a TGraphErrors, generate a TGraph which is varied by some fraction of sigma, by the
1916  //sign of the sigma.
1917  //Need to have this so can generate the proper composite material cross sections in
1918  //AssembleXSecMap
1919  TGraph* GenerateVariedXSec(TGraphErrors* originalXSec, Float_t sigVar){
1920 
1921  //First get the data from the original cross section.
1922  Int_t ndp = originalXSec->GetN();
1923  Double_t* mom = originalXSec->GetX();
1924  Double_t* xsec = originalXSec->GetY();
1925  Double_t* err = originalXSec->GetEY();
1926 
1927  Double_t* variedXSec = new Double_t[ndp];
1928 
1929  //Now, for each point, add sigVar*err to the xsec.
1930  for(Int_t i = 0; i < ndp; i++){
1931 
1932  variedXSec[i] = xsec[i] + sigVar*err[i];
1933 
1934  //Since a negative cross section isn't possible,
1935  //set it to zero if it is negative.
1936  if(variedXSec[i] < 0){
1937 
1938  variedXSec[i] = 0;
1939 
1940  }
1941 
1942  }
1943 
1944  //Having now varied the cross section by a fraction of sigma,
1945  //generate the resulting TGraph and return it.
1946  TGraph* result = new TGraph(ndp,mom,variedXSec);
1947  return result;
1948 
1949  }
1950 
1951  //A function that takes in a vector of pairs of TGraphErrors to molar fractions, and returns a
1952  //TGraphErrors corresponding to the average cross section for the material in question.
1953  TGraphErrors* GenerateCompositeXSec(std::vector<std::pair<TGraphErrors*, Float_t> > componentXSecs){
1954 
1955  //Loop through the vector.
1956  //The output is to be a TGraphErrors with a starting momentum of 1 MeV/c, with a point at
1957  //10 MeV/c then every 10 MeV/c out to 1 GeV/c, then every 100 MeV out to 8000 MeV/c
1958  //Set up the common momentum array that will use.
1959  const Int_t ndpout = 171;
1960  Float_t momout[ndpout];
1961  Float_t xsecout[ndpout];
1962 
1963  //The error for the output composite cross section squared.
1964  //No longer needed. Errors should be added linearly instead of in
1965  //quadrature, since in the BANFF interface a throw is applied across all
1966  //materials for that process (i.e. they are perfectly correlated, not
1967  //uncorrelated.)
1968  //Float_t errout2[ndpout];
1969 
1970  Float_t errout[ndpout];
1971 
1972  //Initialize all these arrays to 0 first.
1973  for(Int_t i = 0; i < ndpout; i++){
1974  momout[i] = 0.0;
1975  xsecout[i] = 0.0;
1976  //errout2[i] = 0.0;
1977  errout[i] = 0.0;
1978  }
1979 
1980 
1981  //Put the first entry in the momout array.
1982  momout[0] = 1.0;
1983 
1984  //Now out to 1000 MeV/c, go in 10 MeV intervals.
1985  for(Int_t i = 1; i <= 100; i++){
1986 
1987  momout[i] = ((Float_t)i)*10.0;
1988 
1989  }
1990 
1991  //Now go from 1000 MeV to 8000 MeV in 100 MeV intervals.
1992  Float_t currentMom = 1000.0;
1993  for(Int_t i = 101; i < ndpout; i++){
1994 
1995  currentMom += 100.0;
1996  momout[i] = currentMom;
1997 
1998  }
1999 
2000  //Start by getting the sum of the molar fractions.
2001  Double_t totalMolFrac = 0;
2002  for(UInt_t i = 0; i < componentXSecs.size(); i++){
2003 
2004  totalMolFrac += componentXSecs[i].second;
2005 
2006  }
2007 
2008  //So, with the momenta decided upon and all the information needed to calculate the proper
2009  //weights ready, assemble the needed information from each of the constituent TGraphs.
2010  for(UInt_t i = 0; i< componentXSecs.size(); i++){
2011 
2012  //Start by getting a varied TGraph that can extract errors from.
2013  TGraph* plusOneSigma = GenerateVariedXSec(componentXSecs[i].first, 1.0);
2014 
2015  TGraphErrors* xsecGraph = componentXSecs[i].first;
2016 
2017  //Now for each point in momout, add a weighted portion of the
2018  //cross section from componentXSecs to xsecout,
2019  //and a weight of the error to errout.
2020  for(Int_t j = 0; j < ndpout; j++){
2021 
2022  Float_t mom = momout[j];
2023  Float_t xsec = xsecGraph->Eval(mom);
2024  Float_t err = plusOneSigma->Eval(mom) - xsec;
2025  Float_t weight = (componentXSecs[i].second)/totalMolFrac;
2026 
2027  xsecout[j] += weight*xsec;
2028  //errout2[j] += pow(weight*err,2);
2029  errout[j] += weight*err;
2030 
2031  }//End loop over points in output graph.
2032  }//End loop over component XSecs.
2033 
2034  //Now go through errout2 and take the square root to get the
2035  //correct error for that point
2036  // for(Int_t i = 0; i < ndpout; i++){
2037  //
2038  // errout[i] = sqrt(errout2[i]);
2039  //
2040  // }
2041  //The correct error is now computed inside the loop, since they should be
2042  //added linearly, not in quadrature (at least in the 2013 version of the BANFF
2043  //interface. Original code left in in case things change.)
2044 
2045  //We now have all the information we need to fill the output xsec TGraphErrors.
2046  //Do so now, then return it.
2047  TGraphErrors* result = new TGraphErrors(ndpout,momout,xsecout,NULL,errout);
2048 
2049  return result;
2050 
2051  }
2052 
2053  //Does the same as above, but for MC where the number of points is the same, and there are no
2054  //errors to worry about.
2055  TGraph* GenerateCompositeMCXSec(std::vector<std::pair<TGraph*, Float_t> > componentXSecs){
2056 
2057  //There are 171 points in the MC TGraphs.
2058  Double_t* momenta = componentXSecs[0].first->GetX();
2059  Double_t xsec[171];
2060 
2061  //Need to sum up the molar fractions of each of the components, as leaving out elements means
2062  //that they don't add to 1, which would skew the calculations.
2063  Double_t totalMolFrac = 0;
2064  for(UInt_t i = 0; i < componentXSecs.size(); i++){
2065 
2066  totalMolFrac += componentXSecs[i].second;
2067 
2068  }
2069 
2070  //Initialize to 0.
2071  for(Int_t i = 0; i < 171; i++){
2072 
2073  xsec[i] = 0;
2074 
2075  }
2076 
2077  //Now add the fractions up for each point.
2078  for(UInt_t i = 0; i < componentXSecs.size(); i++){
2079 
2080  Double_t* thisXSec = componentXSecs[i].first->GetY();
2081  Double_t thisWeight = (componentXSecs[i].second)/totalMolFrac;
2082 
2083  for(Int_t j = 0; j < 171; j++){
2084 
2085  xsec[j] += thisXSec[j]*thisWeight;
2086 
2087  }
2088 
2089  }
2090 
2091 
2092  //With the average cross section now prepared for each point, write it
2093  //to a TGraph and return it.
2094  TGraph* result = new TGraph(171,momenta,xsec);
2095 
2096  return result;
2097 
2098  }
2099 
2100 
2101  //Assembles the data into TGraphErrors and the MC into TGraphs and maps them according to
2102  //pi+/- and material. Has an option for whether to include corrected MC points in the
2103  //data for extrapolation beyond existing energies.
2104  //0: Absorption
2105  //1: Charge Exchange
2106  //4: Quasi-Elastic
2107  //-----------------
2108  //0-7 pi+ on Carbon
2109  //10-17 pi+ on Oxygen
2110  //20-27 pi+ on Aluminum
2111  //30-37 pi+ on Iron
2112  //40-47 pi+ on AlG10
2113  //50-57 pi+ on WaterSystem
2114  //60-67 pi+ on G10FGD1, G10
2115  //70-77 pi+ on FGDGlue
2116  //80-87 pi+ on G10Roha
2117  //100-107 pi- on Carbon
2118  //110-117 pi- on Oxygen
2119  //120-127 pi- on Aluminum
2120  //130-137 pi- on Iron
2121  //140-147 pi- on AlG10
2122  //150-157 pi- on WaterSystem
2123  //160-167 pi- on G10FGD1, G10
2124  //170-177 pi- on FGDGlue
2125  //180-187 pi- on G10Roha
2126  //
2127  //interpolationType defaults to 2 in the header file.
2128  //
2129  std::map<Int_t, std::pair<TGraphErrors*,TGraph*> > AssembleXSecMap(Bool_t extrapolate, Int_t interpolationType){
2130 
2131  //First move the data into TGraphs.
2132  //Carbon
2133  TGraphErrors* c_abs_piP = new TGraphErrors(ndp_c_abs_piP,mom_c_abs_piP,xsec_c_abs_piP,NULL,err_c_abs_piP);
2134  TGraphErrors* c_cex_piP = new TGraphErrors(ndp_c_cex_piP,mom_c_cex_piP,xsec_c_cex_piP,NULL,err_c_cex_piP);
2135  TGraphErrors* c_qe_piP = new TGraphErrors(ndp_c_qe_piP,mom_c_qe_piP,xsec_c_qe_piP,NULL,err_c_qe_piP);
2136 
2137  TGraphErrors* c_abs_piM = new TGraphErrors(ndp_c_abs_piM,mom_c_abs_piM,xsec_c_abs_piM,NULL,err_c_abs_piM);
2138  TGraphErrors* c_cex_piM = new TGraphErrors(ndp_c_cex_piM,mom_c_cex_piM,xsec_c_cex_piM,NULL,err_c_cex_piM);
2139  TGraphErrors* c_qe_piM = new TGraphErrors(ndp_c_qe_piM,mom_c_qe_piM,xsec_c_qe_piM,NULL,err_c_qe_piM);
2140 
2141  TGraph* g4c_abs_piP = new TGraph(g4ndp_c_abs_piP,g4mom_c_abs_piP,g4xsec_c_abs_piP);
2142  TGraph* g4c_cex_piP = new TGraph(g4ndp_c_cex_piP,g4mom_c_cex_piP,g4xsec_c_cex_piP);
2143  TGraph* g4c_qe_piP = new TGraph(g4ndp_c_qe_piP,g4mom_c_qe_piP,g4xsec_c_qe_piP);
2144 
2145  TGraph* g4c_abs_piM = new TGraph(g4ndp_c_abs_piM,g4mom_c_abs_piM,g4xsec_c_abs_piM);
2146  TGraph* g4c_cex_piM = new TGraph(g4ndp_c_cex_piM,g4mom_c_cex_piM,g4xsec_c_cex_piM);
2147  TGraph* g4c_qe_piM = new TGraph(g4ndp_c_qe_piM,g4mom_c_qe_piM,g4xsec_c_qe_piM);
2148 
2149 
2150  //Oxygen
2151  TGraphErrors* o_abs_piP = new TGraphErrors(ndp_o_abs_piP,mom_o_abs_piP,xsec_o_abs_piP,NULL,err_o_abs_piP);
2152  TGraphErrors* o_cex_piP = new TGraphErrors(ndp_o_cex_piP,mom_o_cex_piP,xsec_o_cex_piP,NULL,err_o_cex_piP);
2153  TGraphErrors* o_qe_piP = new TGraphErrors(ndp_o_qe_piP,mom_o_qe_piP,xsec_o_qe_piP,NULL,err_o_qe_piP);
2154 
2155  TGraphErrors* o_abs_piM = new TGraphErrors(ndp_o_abs_piM,mom_o_abs_piM,xsec_o_abs_piM,NULL,err_o_abs_piM);
2156  TGraphErrors* o_cex_piM = new TGraphErrors(ndp_o_cex_piM,mom_o_cex_piM,xsec_o_cex_piM,NULL,err_o_cex_piM);
2157  TGraphErrors* o_qe_piM = new TGraphErrors(ndp_o_qe_piM,mom_o_qe_piM,xsec_o_qe_piM,NULL,err_o_qe_piM);
2158 
2159  TGraph* g4o_abs_piP = new TGraph(g4ndp_o_abs_piP,g4mom_o_abs_piP,g4xsec_o_abs_piP);
2160  TGraph* g4o_cex_piP = new TGraph(g4ndp_o_cex_piP,g4mom_o_cex_piP,g4xsec_o_cex_piP);
2161  TGraph* g4o_qe_piP = new TGraph(g4ndp_o_qe_piP,g4mom_o_qe_piP,g4xsec_o_qe_piP);
2162 
2163  TGraph* g4o_abs_piM = new TGraph(g4ndp_o_abs_piM,g4mom_o_abs_piM,g4xsec_o_abs_piM);
2164  TGraph* g4o_cex_piM = new TGraph(g4ndp_o_cex_piM,g4mom_o_cex_piM,g4xsec_o_cex_piM);
2165  TGraph* g4o_qe_piM = new TGraph(g4ndp_o_qe_piM,g4mom_o_qe_piM,g4xsec_o_qe_piM);
2166 
2167 
2168  //Aluminum
2169  TGraphErrors* al_abs_piP = new TGraphErrors(ndp_al_abs_piP,mom_al_abs_piP,xsec_al_abs_piP,NULL,err_al_abs_piP);
2170  TGraphErrors* al_cex_piP = new TGraphErrors(ndp_al_cex_piP,mom_al_cex_piP,xsec_al_cex_piP,NULL,err_al_cex_piP);
2171  TGraphErrors* al_qe_piP = new TGraphErrors(ndp_al_qe_piP,mom_al_qe_piP,xsec_al_qe_piP,NULL,err_al_qe_piP);
2172 
2173  TGraphErrors* al_abs_piM = new TGraphErrors(ndp_al_abs_piM,mom_al_abs_piM,xsec_al_abs_piM,NULL,err_al_abs_piM);
2174  TGraphErrors* al_cex_piM = new TGraphErrors(ndp_al_cex_piM,mom_al_cex_piM,xsec_al_cex_piM,NULL,err_al_cex_piM);
2175  TGraphErrors* al_qe_piM = new TGraphErrors(ndp_al_qe_piM,mom_al_qe_piM,xsec_al_qe_piM,NULL,err_al_qe_piM);
2176 
2177  TGraph* g4al_abs_piP = new TGraph(g4ndp_al_abs_piP,g4mom_al_abs_piP,g4xsec_al_abs_piP);
2178  TGraph* g4al_cex_piP = new TGraph(g4ndp_al_cex_piP,g4mom_al_cex_piP,g4xsec_al_cex_piP);
2179  TGraph* g4al_qe_piP = new TGraph(g4ndp_al_qe_piP,g4mom_al_qe_piP,g4xsec_al_qe_piP);
2180 
2181  TGraph* g4al_abs_piM = new TGraph(g4ndp_al_abs_piM,g4mom_al_abs_piM,g4xsec_al_abs_piM);
2182  TGraph* g4al_cex_piM = new TGraph(g4ndp_al_cex_piM,g4mom_al_cex_piM,g4xsec_al_cex_piM);
2183  TGraph* g4al_qe_piM = new TGraph(g4ndp_al_qe_piM,g4mom_al_qe_piM,g4xsec_al_qe_piM);
2184 
2185 
2186  //Iron
2187  TGraphErrors* fe_abs_piP = new TGraphErrors(ndp_fe_abs_piP,mom_fe_abs_piP,xsec_fe_abs_piP,NULL,err_fe_abs_piP);
2188  TGraphErrors* fe_cex_piP = new TGraphErrors(ndp_fe_cex_piP,mom_fe_cex_piP,xsec_fe_cex_piP,NULL,err_fe_cex_piP);
2189  TGraphErrors* fe_qe_piP = new TGraphErrors(ndp_fe_qe_piP,mom_fe_qe_piP,xsec_fe_qe_piP,NULL,err_fe_qe_piP);
2190 
2191  TGraphErrors* fe_abs_piM = new TGraphErrors(ndp_fe_abs_piM,mom_fe_abs_piM,xsec_fe_abs_piM,NULL,err_fe_abs_piM);
2192  TGraphErrors* fe_cex_piM = new TGraphErrors(ndp_fe_cex_piM,mom_fe_cex_piM,xsec_fe_cex_piM,NULL,err_fe_cex_piM);
2193  TGraphErrors* fe_qe_piM = new TGraphErrors(ndp_fe_qe_piM,mom_fe_qe_piM,xsec_fe_qe_piM,NULL,err_fe_qe_piM);
2194 
2195  TGraph* g4fe_abs_piP = new TGraph(g4ndp_fe_abs_piP,g4mom_fe_abs_piP,g4xsec_fe_abs_piP);
2196  TGraph* g4fe_cex_piP = new TGraph(g4ndp_fe_cex_piP,g4mom_fe_cex_piP,g4xsec_fe_cex_piP);
2197  TGraph* g4fe_qe_piP = new TGraph(g4ndp_fe_qe_piP,g4mom_fe_qe_piP,g4xsec_fe_qe_piP);
2198 
2199  TGraph* g4fe_abs_piM = new TGraph(g4ndp_fe_abs_piM,g4mom_fe_abs_piM,g4xsec_fe_abs_piM);
2200  TGraph* g4fe_cex_piM = new TGraph(g4ndp_fe_cex_piM,g4mom_fe_cex_piM,g4xsec_fe_cex_piM);
2201  TGraph* g4fe_qe_piM = new TGraph(g4ndp_fe_qe_piM,g4mom_fe_qe_piM,g4xsec_fe_qe_piM);
2202 
2203 
2204  //Assemble the above into a map.
2205  std::map<Int_t, std::pair<TGraphErrors*,TGraph*> > result;
2206 
2207  //Carbon
2208  //pi+
2209  result[0] = std::make_pair(c_abs_piP,g4c_abs_piP);
2210  result[1] = std::make_pair(c_cex_piP,g4c_cex_piP);
2211  result[4] = std::make_pair(c_qe_piP,g4c_qe_piP);
2212 
2213  //pi-
2214  result[100] = std::make_pair(c_abs_piM,g4c_abs_piM);
2215  result[101] = std::make_pair(c_cex_piM,g4c_cex_piM);
2216  result[104] = std::make_pair(c_qe_piM,g4c_qe_piM);
2217 
2218  //Oxygen
2219  //pi+
2220  result[10] = std::make_pair(o_abs_piP,g4o_abs_piP);
2221  result[11] = std::make_pair(o_cex_piP,g4o_cex_piP);
2222  result[14] = std::make_pair(o_qe_piP,g4o_qe_piP);
2223 
2224  //pi-
2225  result[110] = std::make_pair(o_abs_piM,g4o_abs_piM);
2226  result[111] = std::make_pair(o_cex_piM,g4o_cex_piM);
2227  result[114] = std::make_pair(o_qe_piM,g4o_qe_piM);
2228 
2229  //Aluminum
2230  //pi+
2231  result[20] = std::make_pair(al_abs_piP,g4al_abs_piP);
2232  result[21] = std::make_pair(al_cex_piP,g4al_cex_piP);
2233  result[24] = std::make_pair(al_qe_piP,g4al_qe_piP);
2234 
2235  //pi-
2236  result[120] = std::make_pair(al_abs_piM,g4al_abs_piM);
2237  result[121] = std::make_pair(al_cex_piM,g4al_cex_piM);
2238  result[124] = std::make_pair(al_qe_piM,g4al_qe_piM);
2239 
2240  //Iron
2241  //pi+
2242  result[30] = std::make_pair(fe_abs_piP,g4fe_abs_piP);
2243  result[31] = std::make_pair(fe_cex_piP,g4fe_cex_piP);
2244  result[34] = std::make_pair(fe_qe_piP,g4fe_qe_piP);
2245 
2246  //pi-
2247  result[130] = std::make_pair(fe_abs_piM,g4fe_abs_piM);
2248  result[131] = std::make_pair(fe_cex_piM,g4fe_cex_piM);
2249  result[134] = std::make_pair(fe_qe_piM,g4fe_qe_piM);
2250 
2251  //If the extrapolate bit is set, perform the extrapolation above and below data using MC.
2252  if(extrapolate){
2253 
2254  //Iterate over the map, as need to do this for each data-MC pair.
2255  std::map<Int_t, std::pair<TGraphErrors*,TGraph*> >::iterator resIt;
2256  for(resIt = result.begin(); resIt != result.end(); resIt++){
2257 
2258  //The pair is the map iterator's .second
2259  TGraphErrors *data = (*resIt).second.first;
2260  TGraph *g4mc = (*resIt).second.second;
2261 
2262 
2263  //Get the maximum and minimum momentum points supplied in the data.
2264  //As well as the number of data points
2265  Int_t NDP = data->GetN();
2266  Float_t minPData = TMath::MinElement(data->GetN(),data->GetX());
2267  Float_t maxPData = TMath::MaxElement(data->GetN(),data->GetX());
2268 
2269  //Now, figure out what the maximal error should be. In order to take into
2270  //account the difference between normalization error and shape error,
2271  //try correcting the histogram with the low weight and the high weight,
2272  //and see what the largest distance from data to error bar is.
2273  //Set up data+/-1 sigma TGraphs.
2274  TGraph* dataPlusOneSig = GenerateVariedXSec(data,1.0);
2275  TGraph* dataMinusOneSig = GenerateVariedXSec(data,-1.0);
2276 
2277  //Now generate a TGraph for MC corrected to data (low end) and
2278  //MC corrected to data (high end.)
2279  Int_t NDPMC = g4mc->GetN();
2280  Double_t* g4mcX = g4mc->GetX();
2281  Double_t* g4mcY = g4mc->GetY();
2282 
2283  Float_t* lCorrY = new Float_t[NDPMC];
2284  Float_t* hCorrY = new Float_t[NDPMC];
2285 
2286  Float_t lowCorrection = (data->Eval(minPData))/(g4mc->Eval(minPData));
2287  Float_t highCorrection = (data->Eval(maxPData))/(g4mc->Eval(maxPData));
2288 
2289  for(Int_t cit = 0; cit < NDPMC; cit++){
2290 
2291  lCorrY[cit] = lowCorrection*g4mcY[cit];
2292  hCorrY[cit] = highCorrection*g4mcY[cit];
2293  }
2294 
2295  //For each value in the corrected MC histograms that is in the range
2296  //of the data, check for the largest
2297  //difference between corrected MC and data+/-one sigma
2298  //The largest value is now a reasonable estimate for the uncertainty in the
2299  //corrected points far from the data due to "shape error".
2300  //When assigning extrapolated points, this is the uncertainty 100 MeV/c out from
2301  //the last data point (whereas at the last data point, the uncertainty matches that
2302  //on the point.)
2303  //The idea is to linearly increase the uncertainty in the extrapolation the farther
2304  //out in momentum the extrapolation is from the data, up to a maximum of this shape
2305  //uncertainty.
2306 
2307  //A variable to store the largest difference between corrected MC and
2308  //data uncertainty encountered.
2309  Float_t maxUnc = 0;
2310  for (Int_t ui = 0; ui < NDPMC; ui++){
2311 
2312  //If it's in the region where there's data.
2313  //Check the difference between the corrected value
2314  //and the given uncertainty at that point
2315  if (g4mcX[ui] > minPData && g4mcX[ui] < maxPData){
2316 
2317  //Low weight, data+unc.
2318  Float_t diff = lCorrY[ui] - dataPlusOneSig->Eval(g4mcX[ui]);
2319 
2320  if (TMath::Abs(diff) > maxUnc){
2321  maxUnc = TMath::Abs(diff);
2322  }
2323 
2324  //Low weight, data-unc.
2325  diff = lCorrY[ui] - dataMinusOneSig->Eval(g4mcX[ui]);
2326 
2327  if (TMath::Abs(diff) > maxUnc){
2328  maxUnc = TMath::Abs(diff);
2329  }
2330 
2331  //High weight, data+unc
2332  diff = hCorrY[ui] - dataPlusOneSig->Eval(g4mcX[ui]);
2333 
2334  if (TMath::Abs(diff) > maxUnc){
2335  maxUnc = TMath::Abs(diff);
2336  }
2337 
2338  //High weight, data-unc
2339  diff = hCorrY[ui] - dataMinusOneSig->Eval(g4mcX[ui]);
2340 
2341  if (TMath::Abs(diff) > maxUnc){
2342  maxUnc = TMath::Abs(diff);
2343  }
2344  }
2345  }
2346 
2347  //So now maxUnc contains the maximal corrected MC to data+/- uncertainty difference,
2348  //which we'll take as the maximal error on extrapolated points at 100 MeV/c away from
2349  //the last data point and higher, going linearly up to that point.
2350  //For the value at the last data point, error is the error there.
2351  //For values in between that data point and 100 MeV/c away, is a linear increase.
2352  //For values 100 MeV/c away and beyond, is the maximal error.
2353  //Use an externally defined function.
2354  //ExtrapolateError(mcX,lastDataX,closestDataError,maxError)
2355  //With the error determined, add MC points with proper error assigned to the data
2356  //TGraphErrors. Errors large enough to allow negative cross sections are allowed,
2357  //as GenerateVariedXSecs will cut it off at 0 when the the TGraphErrors is used
2358  //to assemble a varied histogram.
2359 
2360  Float_t lError = dataPlusOneSig->Eval(minPData) - data->Eval(minPData);
2361  Float_t hError = dataPlusOneSig->Eval(maxPData) - data->Eval(maxPData);
2362 
2363  //If the maximum uncertainty is smaller than either of these, it indicates
2364  //a problem with the error determination. In 2013 this only occurred for
2365  //the pi- cross section on Oxygen (which would propagate to all composites containing
2366  //Oxygen). This is due to the algorithm not working when there is only 1
2367  //data point to consider.
2368  //In this case, set the maximum uncertainty to 100 mbarn.
2369  if ((maxUnc < lError) || (maxUnc < hError)){
2370 
2371  maxUnc = 100.0;
2372 
2373  }
2374 
2375  //So just add points with error if the momentum value in the corrected MC
2376  //is below or above the data region.
2377  for (Int_t cmc = 0; cmc < NDPMC; cmc++){
2378 
2379  //If the momentum value is less than the data minimum, use the low corrected MC.
2380  if(g4mcX[cmc] < minPData){
2381 
2382  NDP = data->GetN();
2383  data->SetPoint(NDP,g4mcX[cmc],lCorrY[cmc]);
2384  data->SetPointError(NDP,0,ExtrapolateError(g4mcX[cmc],minPData,lError,maxUnc));
2385  }
2386 
2387  //If the momentum value is greater than the data maximum, use the high corrected MC.
2388  if(g4mcX[cmc] > maxPData){
2389 
2390  NDP = data->GetN();
2391  data->SetPoint(NDP,g4mcX[cmc],hCorrY[cmc]);
2392  data->SetPointError(NDP,0,ExtrapolateError(g4mcX[cmc],maxPData,hError,maxUnc));
2393  }
2394 
2395  //Otherwise, continue to the next point without doing anything
2396  }
2397 
2398  //This now done, the extrapolation is complete.
2399  //Need to delete the lcorr and hcorr arrays before
2400  //moving on to the next data/mc pair.
2401  delete[] lCorrY;
2402  delete[] hCorrY;
2403 
2404  }
2405 
2406 
2407 
2408  }
2409 
2410  //Now that have extrapolated cross sections, create the composite cross sections.
2411  //This is done manually for each material.
2412 
2413 
2414  //Loop over all the processes this needs to be done for.
2415  //Currently: ABS, CEX, QE
2416  Int_t intTypes[3] = {0,1,4};
2417  Int_t piTypes[2] = {0,100}; //0 is pi+
2418  for(Int_t ti = 0; ti < 3; ti++){
2419 
2420  //Loop over pi+ and pi-
2421  for(Int_t tpi = 0; tpi < 2; tpi++){
2422 
2423  Int_t iT = intTypes[ti];
2424  Int_t pT = piTypes[tpi];
2425 
2426 
2427  //Start by defining the data graphs that will assemble the composite
2428  //data cross sections from.
2429  TGraphErrors *cXSec;
2430  TGraphErrors *oXSec;
2431  TGraphErrors *alXSec;
2432  TGraphErrors *feXSec;
2433 
2434  //If the interpolationType is 0, the original linear interpolation
2435  //is used. It is also used if the extrapolate flag is false, since the
2436  //other interpolation methods use information included in the
2437  //extrapolated points to perform the interpolation.
2438  if(interpolationType == 0 || !extrapolate){
2439  cXSec = result[iT + pT].first;
2440  oXSec = result[10 + iT + pT].first;
2441  alXSec = result[20 + iT + pT].first;
2442  feXSec = result[30 + iT + pT].first;
2443 
2444  }
2445 
2446  //This uses the linearly increasing interpolation scheme.
2447  else if(interpolationType == 1){
2448 
2449  cXSec = InterpolateUncertainty(result[iT + pT].first);
2450  oXSec = InterpolateUncertainty(result[10 + iT + pT].first);
2451  alXSec = InterpolateUncertainty(result[20 + iT + pT].first);
2452  feXSec = InterpolateUncertainty(result[30 + iT + pT].first);
2453  }
2454 
2455  //interpolationType 2 is the new quadratic type.
2456  else if(interpolationType == 2){
2457 
2458  cXSec = QuadraticInterpolateUncertainty(result[iT + pT].first);
2459  oXSec = QuadraticInterpolateUncertainty(result[10 + iT + pT].first);
2460  alXSec = QuadraticInterpolateUncertainty(result[20 + iT + pT].first);
2461  feXSec = QuadraticInterpolateUncertainty(result[30 + iT + pT].first);
2462 
2463  }
2464 
2465  //Otherwise, default to Quadratic but print out an error message.
2466  else{
2467 
2468  std::cout << "Unrecognized interpolation type. Using type 2." << std::endl;
2469  cXSec = QuadraticInterpolateUncertainty(result[iT + pT].first);
2470  oXSec = QuadraticInterpolateUncertainty(result[10 + iT + pT].first);
2471  alXSec = QuadraticInterpolateUncertainty(result[20 + iT + pT].first);
2472  feXSec = QuadraticInterpolateUncertainty(result[30 + iT + pT].first);
2473 
2474  }
2475 
2476  TGraph *cMCXSec = result[iT + pT].second;
2477  TGraph *oMCXSec = result[10 + iT + pT].second;
2478  TGraph *alMCXSec = result[20 + iT + pT].second;
2479  TGraph *feMCXSec = result[30 + iT + pT].second;
2480 
2481  //Format:
2482  //**********
2483  //Composite Material:
2484  //Number:
2485  //**********
2486  //Put together the vector of TGraphErrors and molar fractions.
2487  //Use GenerateCompositeXSec to create the cross section and add it to the map.
2488  //==================
2489 
2490  //NB: These are not exact, and do not correspond exactly to the values
2491  //as defined in ND280UserDetector construction. (i.e. if a significant material
2492  //does not exist in the data, the closest element in atomic mass is used instead.)
2493  //The atomic number to molar fraction extracted from the material in the geometry
2494  //is given in the comment for each.
2495 
2496  //****************
2497  //AlG10
2498  //40 series
2499  //----------------
2500  // 1 0.386397
2501  // 5 0.0128006
2502  // 6 0.192469
2503  // 8 0.120531
2504  // 11 0.00601091
2505  // 13 0.232802
2506  // 14 0.0489891
2507  //****************
2508 
2509  std::vector<std::pair<TGraphErrors*, Float_t> > AlG10;
2510  std::vector<std::pair<TGraph*, Float_t> > MCAlG10;
2511  //Ignore H
2512  //Use B and C as C
2513  AlG10.push_back(std::make_pair(cXSec, 0.0128006 + 0.192469));
2514  MCAlG10.push_back(std::make_pair(cMCXSec, 0.0128006 + 0.192469));
2515 
2516  //Use O for O.
2517  AlG10.push_back(std::make_pair(oXSec,0.120531));
2518  MCAlG10.push_back(std::make_pair(oMCXSec,0.120531));
2519 
2520  //Ignore Na
2521  //Use Al for Al and Si
2522  AlG10.push_back(std::make_pair(alXSec,0.232802 + 0.0489891));
2523  MCAlG10.push_back(std::make_pair(alMCXSec,0.232802 + 0.0489891));
2524 
2525  //Generate the composite cross section.
2526  result[40 + iT + pT] = std::make_pair(GenerateCompositeXSec(AlG10),GenerateCompositeMCXSec(MCAlG10));
2527 
2528  //***************
2529  //WaterSystem
2530  //50 series
2531  //---------------
2532  // 1 0.283046
2533  // 6 0.17602
2534  // 8 0.463356
2535  // 26 0.0714256
2536  // 27 0.00615247
2537  //***************
2538  std::vector<std::pair<TGraphErrors*, Float_t> > WaterSystem;
2539  std::vector<std::pair<TGraph*, Float_t> > MCWaterSystem;
2540 
2541  //Ignore H.
2542  //Use C for C
2543  WaterSystem.push_back(std::make_pair(cXSec,0.17602));
2544  MCWaterSystem.push_back(std::make_pair(cMCXSec,0.17602));
2545 
2546  //Use O for O
2547  WaterSystem.push_back(std::make_pair(oXSec,0.463356));
2548  MCWaterSystem.push_back(std::make_pair(oMCXSec,0.463356));
2549 
2550  //Use Fe for Fe and Co
2551  WaterSystem.push_back(std::make_pair(feXSec,0.0714256 + 0.00615247));
2552  MCWaterSystem.push_back(std::make_pair(feMCXSec,0.0714256 + 0.00615247));
2553 
2554  result[50 + iT + pT] = std::make_pair(GenerateCompositeXSec(WaterSystem),GenerateCompositeMCXSec(MCWaterSystem));
2555 
2556  //***************
2557  //G10FGD1, G10
2558  //(Only differ by density)
2559  //60 series
2560  //---------------
2561  // 1 0.503647
2562  // 5 0.0166849
2563  // 6 0.250872
2564  // 8 0.157106
2565  // 11 0.00783488
2566  // 14 0.0638545
2567  //***************
2568  std::vector<std::pair<TGraphErrors*, Float_t> > G10;
2569  std::vector<std::pair<TGraph*, Float_t> > MCG10;
2570 
2571  //Ignore H
2572  //Use C for B and C
2573  G10.push_back(std::make_pair(cXSec,0.0166849 + 0.250872));
2574  MCG10.push_back(std::make_pair(cMCXSec,0.0166849 + 0.250872));
2575 
2576  //Use O for O
2577 
2578 #if JMDEBUGFIXMATERIAL == 0
2579  G10.push_back(std::make_pair(oXSec,0.17602 + 0.157106));
2580  MCG10.push_back(std::make_pair(oMCXSec,0.17602 + 0.157106));
2581 #else
2582  G10.push_back(std::make_pair(oXSec,0.157106));
2583  MCG10.push_back(std::make_pair(oMCXSec,0.157106));
2584 #endif
2585  //Ignore Na
2586  //Use Al for Si
2587  G10.push_back(std::make_pair(alXSec,0.0638545));
2588  MCG10.push_back(std::make_pair(alMCXSec,0.0638545));
2589 
2590  result[60 + iT + pT] = std::make_pair(GenerateCompositeXSec(G10),GenerateCompositeMCXSec(MCG10));
2591 
2592  //***************
2593  //FGDGlue
2594  //70 series
2595  //---------------
2596  // 1 0.568911
2597  // 6 0.158577
2598  // 7 0.00584825
2599  // 8 0.266664
2600  //***************
2601  std::vector<std::pair<TGraphErrors*, Float_t> > FGDGlue;
2602  std::vector<std::pair<TGraph*, Float_t> > MCFGDGlue;
2603 
2604  //Ignore H
2605  //Use C for C and N
2606  FGDGlue.push_back(std::make_pair(cXSec, 0.158577 + 0.00584825));
2607  MCFGDGlue.push_back(std::make_pair(cMCXSec, 0.158577 + 0.00584825));
2608 
2609  //Use O for O
2610  FGDGlue.push_back(std::make_pair(oXSec, 0.266664));
2611  MCFGDGlue.push_back(std::make_pair(oMCXSec, 0.266664));
2612 
2613  result[70 + iT + pT] = std::make_pair(GenerateCompositeXSec(FGDGlue),GenerateCompositeMCXSec(MCFGDGlue));
2614 
2615  //***************
2616  //G10Roha
2617  //80 series
2618  //-------------
2619  // 1 0.498217
2620  // 5 0.0126443
2621  // 6 0.262956
2622  // 8 0.148193
2623  // 11 0.00593749
2624  // 14 0.0483907
2625  // 29 0.0236613
2626  //***************
2627  std::vector<std::pair<TGraphErrors*, Float_t> > G10Roha;
2628  std::vector<std::pair<TGraph*, Float_t> > MCG10Roha;
2629 
2630  //Ignore H
2631  //Use C for B and C.
2632  G10Roha.push_back(std::make_pair(cXSec, 0.0126443 + 0.262956));
2633  MCG10Roha.push_back(std::make_pair(cMCXSec, 0.0126443 + 0.262956));
2634 
2635  //Use O for O.
2636  G10Roha.push_back(std::make_pair(oXSec, 0.148193));
2637  MCG10Roha.push_back(std::make_pair(oMCXSec, 0.148193));
2638 
2639  //Ignore Na.
2640  //Use Al for Si.
2641  G10Roha.push_back(std::make_pair(alXSec, 0.0483907));
2642  MCG10Roha.push_back(std::make_pair(alMCXSec, 0.0483907));
2643 
2644  //Use Fe for Cu.
2645  G10Roha.push_back(std::make_pair(feXSec, 0.0236613));
2646  MCG10Roha.push_back(std::make_pair(feMCXSec, 0.0236613));
2647 
2648  result[80 + iT + pT] = std::make_pair(GenerateCompositeXSec(G10Roha),GenerateCompositeMCXSec(MCG10Roha));
2649 
2650  }
2651  }
2652 
2653  //Everything is now prepared. Return the result.
2654  for(std::map<int, std::pair<TGraphErrors*,TGraph*> >::iterator it = result.begin(); it != result.end();++it){
2655  (*it).second.first->Sort();
2656  (*it).second.second->Sort();
2657  }
2658 
2659  return result;
2660 
2661  }
2662 
2663  TGraphErrors* InterpolateUncertainty(TGraphErrors* xsecGraph){
2664 
2665  //Clone the original xsecGraph, as we will just be adding points to
2666  //make the one with the interpolated uncertainties.
2667  TGraphErrors* result = (TGraphErrors*)xsecGraph->Clone();
2668 
2669  //Pull the arrays out of the original TGraphErrors (X, Y, ErrY)
2670  Int_t origN = xsecGraph->GetN();
2671  Double_t* origX = xsecGraph->GetX();
2672  Double_t* origEY = xsecGraph->GetEY();
2673 
2674  //Go through the momentum values from start until reach 1.0 (the first
2675  //extrapolated point. Everything before the 1.0 momentum bin is an actual
2676  //data point. Add them to a vector.
2677  std::vector<Double_t> dataX;
2678  for(Int_t i = 0; i < origN; i++){
2679 
2680  //If we've reached the first extrapolated point, break out of this loop.
2681  if(origX[i] == 1.0){
2682 
2683  break;
2684 
2685  }
2686 
2687  //If we make it here, at the momentum value from the array to the vector.
2688  dataX.push_back(origX[i]);
2689 
2690  }
2691 
2692  //Now we have a vector filled with the X data points. Sort it.
2693  std::sort(dataX.begin(),dataX.end());
2694 
2695  //Now that we have the data points in ascending order, add the "in between"
2696  //points to the result graph, with an appropriate error.
2697  //Can use this to do the error interpolations:
2698  // Float_t ExtrapolateError(Float_t mcX, Float_t closestDataX, Float_t
2699  // closestDataUnc, Float_t maxUnc)
2700  // Sub in the x value we want for mcX.
2701  // Sub in either data point for closestDataX, and that uncertainty for
2702  // closestDataUnc.
2703  // Grab maxUnc from the original graph (the last element of origEY will be
2704  // the point at 8000 MeV/c, which has maximum uncertainty in the current
2705  // scheme.
2706 
2707  //Loop through the data vector.
2708  for(UInt_t i = 0; i < dataX.size() - 1; i++){
2709 
2710  //Only bother with an extra point if the two data points are not equal.
2711  //(Rarely there are two datapoints at a given momentum)
2712  if (dataX[i] == dataX[i+1]){
2713  continue;
2714  }
2715 
2716  Double_t midX = ((dataX[i+1] - dataX[i])/2) + dataX[i];
2717  Double_t midY = xsecGraph->Eval(midX);
2718 
2719  //Maximum uncertainty is in the last point of the Graph.
2720  Double_t maxUnc = origEY[origN-1];
2721 
2722  //To get the uncertainty at these momenta, use the approach that use
2723  //elsewhere in the code, generating the 1 sigma varied XSec and
2724  //doing the Eval.
2725  TGraph* oneSigVar = GenerateVariedXSec(xsecGraph,1.0);
2726 
2727  Double_t leftErr = (oneSigVar->Eval(dataX[i]) - xsecGraph->Eval(dataX[i]));
2728  Double_t rightErr = (oneSigVar->Eval(dataX[i+1]) - xsecGraph->Eval(dataX[i+1]));
2729 
2730  //Now, get the error at the midpoint starting from both sides. Choose
2731  //the largest of the two.
2732  Double_t leftMidErr = ExtrapolateError(midX,dataX[i],leftErr,maxUnc);
2733  Double_t rightMidErr = ExtrapolateError(midX,dataX[i+1],rightErr,maxUnc);
2734 
2735  Double_t midErr = std::max(leftMidErr,rightMidErr);
2736 
2737  //With the X, Y, and YErr values for the midpoint now decided on, add it
2738  //to the result graph.
2739  Int_t resultN = result->GetN();
2740  result->SetPoint(resultN,midX,midY);
2741  result->SetPointError(resultN,0,midErr);
2742 
2743  }
2744 
2745  //All data points having been looped over, return the resulting
2746  //TGraphErrors.
2747  return result;
2748 
2749  }
2750 
2751 
2752  //Interpolate the uncertainty using a quadratic formula based on maxing out
2753  //at a "maximum uncertainty" addition to the linearly interpolated
2754  //uncertainty at a 100 MeV/c separation from any nearby data point.
2755  TGraphErrors* QuadraticInterpolateUncertainty(TGraphErrors* xsecGraph){
2756 
2757  //Clone the original xsecGraph, as we will just be adding points to
2758  //make the one with the interpolated uncertainties.
2759  // TGraphErrors* result = (TGraphErrors*)xsecGraph->Clone();
2760  // TGraphErrors* result = new TGraphErrors(*xsecGraph);
2761  // The obove options are giving problems in Mac OS 10.11.4 (El Capitan).See https://bugzilla.nd280.org/show_bug.cgi?id=1301
2762  // The code bellow seems to work and gives the same results
2763  TGraphErrors* result = new TGraphErrors(xsecGraph->GetN(),xsecGraph->GetX(),xsecGraph->GetY(),xsecGraph->GetEX(),xsecGraph->GetEY());
2764 
2765 
2766  //Pull the arrays out of the original TGraphErrors (X, Y, ErrY)
2767  Int_t origN = xsecGraph->GetN();
2768  Double_t* origX = xsecGraph->GetX();
2769  Double_t* origEY = xsecGraph->GetEY();
2770 
2771  //The quadratic error is added on top of the linearly interpolated error,
2772  //so create the one sigma varied graph so can easily get it.
2773  TGraph* oneSigVar = GenerateVariedXSec(xsecGraph,1.0);
2774 
2775  //Go through the momentum values from start until reach 1.0 (the first
2776  //extrapolated point. Everything before the 1.0 momentum bin is an actual
2777  //data point. Add them to a vector.
2778  std::vector<Double_t> dataX;
2779  for(Int_t i = 0; i < origN; i++){
2780 
2781  //If we've reached the first extrapolated point, break out of this loop.
2782  if(origX[i] == 1.0){
2783 
2784  break;
2785 
2786  }
2787 
2788  //If we make it here, at the momentum value from the array to the vector.
2789  dataX.push_back(origX[i]);
2790 
2791  }
2792 
2793  //Now we have a vector filled with the X data points. Sort it.
2794  std::sort(dataX.begin(),dataX.end());
2795 
2796  //Loop through the data vector.
2797  for(UInt_t i = 0; i < dataX.size() - 1; i++){
2798 
2799  //Only bother with extra points if the two data points are not equal.
2800  //(Rarely there are two datapoints at a given momentum)
2801  if (dataX[i] == dataX[i+1]){
2802  continue;
2803  }
2804 
2805  //Maximum uncertainty is in the last point of the original Graph.
2806  Double_t maxUnc = origEY[origN-1];
2807 
2808  //Now, we want to add a point at the midpoint and a point at each
2809  //momentum between these points that is a multiple of 10.
2810  Double_t midX = ((dataX[i+1] - dataX[i])/2) + dataX[i];
2811  Double_t midY = xsecGraph->Eval(midX);
2812  Double_t midLinEY = oneSigVar->Eval(midX) - midY;
2813 
2814 
2815  Double_t midErr = std::min(maxUnc,std::min((maxUnc/10000.0)*(pow(midX - dataX[i],2)) + midLinEY,
2816  (maxUnc/10000.0)*(pow(dataX[i+1] - midX,2)) + midLinEY));
2817 
2818  //With the X, Y, and YErr values for the midpoint now decided on, add it
2819  //to the result graph.
2820  Int_t resultN = result->GetN();
2821  result->SetPoint(resultN,midX,midY);
2822  result->SetPointError(resultN,0,midErr);
2823 
2824 
2825  //Now add in a point at every multiple of 10 MeV/c between dataX[i] and
2826  //dataX[i+1]
2827  //The starting value of newX is the next multiple of 10.
2828  Double_t newX = ceil(dataX[i]/10.0)*10.0;
2829  if (newX == dataX[i]){
2830  newX += 10.0;
2831  }
2832 
2833  while(newX < dataX[i+1]){
2834 
2835  //Don't add another point here if it would just be on top of midX.
2836  if(newX != midX){
2837 
2838  Double_t newY = xsecGraph->Eval(newX);
2839  Double_t newLinEY = oneSigVar->Eval(newX) - newY;
2840 
2841 
2842  Double_t newErr = std::min(maxUnc,std::min((maxUnc/10000.0)*(pow(newX - dataX[i],2)) + newLinEY,
2843  (maxUnc/10000.0)*(pow(dataX[i+1] - newX,2)) + newLinEY));
2844 
2845  resultN = result->GetN();
2846  result->SetPoint(resultN,newX,newY);
2847  result->SetPointError(resultN,0,newErr);
2848  }
2849 
2850  newX += 10.0;
2851  }
2852 
2853  }
2854 
2855  //All data points having been looped over, return the resulting
2856  //TGraphErrors.
2857  return result;
2858 
2859  }
2860 
2861 
2862 
2863 
2864 
2865  std::map<Int_t, std::pair<TGraphErrors*,TGraph*> > AssembleIntUncXSecMap(Bool_t extrapolate){
2866 
2867  //Set the result to the normal map, with the linearly increasing
2868  //interpolation used for the composite uncertainties.
2869  std::map<Int_t, std::pair<TGraphErrors*,TGraph*> > result = AssembleXSecMap(extrapolate,1);
2870 
2871  //Now, go through and modify the non-composite material XSecs to add points
2872  //(i.e. the 0,10,20,and 30 series.)
2873  Int_t piT[2] = {0,100};
2874  Int_t matT[4] = {0,10,20,30};
2875  Int_t siT[3] = {0,1,4};
2876 
2877  //Loop over all codes that need changing.
2878  for(Int_t p = 0; p < 2; p++){
2879 
2880  for(Int_t m = 0; m < 4; m++){
2881 
2882  for(Int_t s = 0; s < 3; s++){
2883 
2884  Int_t code = piT[p] + matT[m] + siT[s];
2885 
2886  result[code].first = InterpolateUncertainty(result[code].first);
2887 
2888  }
2889 
2890 
2891  }
2892 
2893 
2894  }
2895 
2896 
2897 
2898  //Return the modified XSec map.
2899  return result;
2900 
2901  }
2902 
2903  std::map<Int_t, std::pair<TGraphErrors*,TGraph*> > AssembleQuadIntUncXSecMap(Bool_t extrapolate){
2904 
2905  //Set the result to the normal map with the quadratic interpolation used
2906  //for the composite uncertainties.
2907  std::map<Int_t, std::pair<TGraphErrors*,TGraph*> > result = AssembleXSecMap(extrapolate,2);
2908 
2909  //Now, go through and modify the non-composite material XSecs to add points
2910  //(i.e. the 0,10,20,and 30 series.)
2911  Int_t piT[2] = {0,100};
2912  Int_t matT[4] = {0,10,20,30};
2913  Int_t siT[3] = {0,1,4};
2914 
2915  //Loop over all codes that need changing.
2916  for(Int_t p = 0; p < 2; p++){
2917 
2918  for(Int_t m = 0; m < 4; m++){
2919 
2920  for(Int_t s = 0; s < 3; s++){
2921 
2922  Int_t code = piT[p] + matT[m] + siT[s];
2923 
2924  result[code].first = QuadraticInterpolateUncertainty(result[code].first);
2925 
2926  }
2927 
2928 
2929  }
2930 
2931 
2932  }
2933 
2934 
2935 
2936  //Return the modified XSec map.
2937  return result;
2938 
2939  }
2940 
2941  //This gets used wherever we need cross sections
2942  std::map<Int_t, std::pair<TGraphErrors*,TGraph*> > AllXSecs = AssembleXSecMap(true);
2943 
2944  Float_t xsec_data[200][801];
2945  Float_t err_data[200][801];
2946  Float_t xsec_MC[200][801];
2947  Float_t err_MC[200][801];
2948  bool dud = LoadInfo(xsec_data, err_data, 0);
2949  bool dud2 = LoadInfo(xsec_MC, err_MC, 1);
2950 
2951 }
2952 
2953