-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnrfit.C
124 lines (105 loc) · 8.79 KB
/
nrfit.C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
/*
* nrfit.C
*
* nuclear reaction fit
* - takes into account kinematics, losses
*
* - can fit experiental channels to energy
* and search for minimum CHi2 by variation of different
* components (beam energy, target thickness...)
*
*/
#include "losslib2.h"
#include "manip_table.h"
void nrfit(const char* filename){
int i;
double d;
//printf("http://picascii.com/\n"); //while read line; do echo printf\(\"$line\\n\"\)\;; done < asciart2.txt
printf(" \n");
printf(" \n");
printf(" \n");
printf(" \n");
printf(" \n");
printf(" \n");
printf(" \n");
printf(" ` , \n");
printf(" ``` ` \n");
printf(" . ``.`` ` ``````..` `` \n");
printf(" . `.````````.````...,,`,..```` \n");
printf(" ```````.`` ``````````````...`.``..` \n");
printf(" ``````````` ``````````````````````.:.. ` \n");
printf(" ``````````````.,,,,...``.`...`.````` ```.`` \n");
printf(" ..`````````.,,.`.`````````````.....``` ```.` \n");
printf(" ``````````,,.,.`..`..```````` ``...,```` `:`.` \n");
printf(" `` ``````.``.,,,..,:,::;::::,,.````````,,.,.`` `. ` \n");
printf(" ` ````.``..,.,::;:::;:;,,;::,,,,:,.`````..,.. `.`` \n");
printf(" `.`````....:,:::;:+::;:;,,,:,.,.,,,,,,``````..`` `,` \n");
printf(" ```.```.,...,;:;+:;;+:::;;+:;;,.`....:,..```````,``` ` \n");
printf(" ````````....:;:;::+++:::;;::;:##:;.``...,,.``````..,``` ` \n");
printf(" ````````.:`,::+:++#+###++:+:;;;+#:+..``..,:,`````` ,.,``` `` \n");
printf(" `````````..`,+;::+#@##@#@@#+#::,;:;::,,...,.::````````.`,`` ` \n");
printf(" ```.``.``...`,;+;:+@@+@@#@#@@##::,,#:;;;,.``..:,```````.,,` ` ` \n");
printf(" ``,`````.,.,:;;;;#@@@@@##@@@@@#;:,;;;::,``.,.,..``````..,` `. \n");
printf(" `.`...```:,..:+#:;+#@@@#@@@@##@+::,::;+:,.```.,::``````````` ` \n");
printf(" `,```.```.,,.,;+#:+:#@#@@@@@###+++;:::::;:`````.,,,``````...` \n");
printf(" ```.``.```.:,,,:;:+++:#@@@@@@@@#####;::::,,.````..::.```` ...```` \n");
printf(" `.```.```,;:::::;+:#####@@@@@@@###:::::::,..```..,:.```````;```` \n");
printf(" .```..```,::::::;;:+##@#@@@@@@@###+:,:;:,.``.`..,:..``````,.``` \n");
printf(" ````.,.```.::;::::;;:#+#@#@@@@@###+::,:;,```````::,`````````. \n");
printf(" `.```...```.:;;;;;:;;;+#+@@##@##@#:;:;;,:`.````:.:;.`` ` ,,,` \n");
printf(" `````,,:.````,,;:;::;:::::######+:;::;;:.,.`````;::.``` ` ```` \n");
printf(" .,```.:;..``....,;:;;;:::;:###::;:;:::::...```..,:.```` ```., \n");
printf(" ```` `.:.....`....,,:,,,;;;:::;;;;::::::,````.,:,.```` ,`;```. \n");
printf(" `..````.::;,,...,.....,::::;:;;::;::::,,..```.:,,.``` ````, \n");
printf(" `,.`````;,,::;:::,:,,,::,,,,,,:::;+;:+..````.,:...`` ````` ` \n");
printf(" `.,,`````...::;,::;#;:;:::,,.,,;;:;:,,..`````.:..```` ```.`` \n");
printf(" ``::.````````..,,,,:,.,:..,..:::::,,,.`````.`..```` ```.` ` \n");
printf(" ``:;,.``````````.``````......`,,..`..````.``..,.``` `````:`.` \n");
printf(" . ``.:,,``````````````````.........``` ````.,,...``` ```..:` \n");
printf(" ` ``.;:;,`.`````````....`..,,,..,``````````.`,...`` ````.`` \n");
printf(" `` ```..:+:,..``..,,,,.,,,,,;,,..````````````..`.` `````.,.`` \n");
printf(" ` ` `.,.,:,,.....,#,::::,,,.,```````````,:``,```` ```````` \n");
printf(" .`` ` ``..`,,`..,.,,.:.`.`````````````````...```` ``````` ` \n");
printf(" `.,``` ````````..:...;` ```````````````.```.```` ``````,: \n");
printf(" ,, ``````````..```````````.````.`.,`.`` ` `` . .` \n");
printf(" .,` `````````````````````....`.....,``` `````,`,` \n");
printf(" `,;``` `````````````````......,````.`` ```` ` `` \n");
printf(" `,,.:. `` `````````````..`...```````` ``````````.` `; \n");
printf(" ````...````````````.,...`.`````` `` ```````` ` ` ` \n");
printf(" ```,,...`...``..,`.`````` `` `` ```,```` \n");
printf(" `.```:.``,``..````` ` `` \n");
printf(" ``. ``````. ``````` \n");
printf(" ``` ` ` `,` ` ` \n");
printf(" ` ``` `` \n");
printf(" `````` \n");
printf(" ` `` ` \n");
printf(" `` ` \n");
printf(" ` \n");
printf(" ` \n");
printf(" ` \n");
printf(" \n");
printf(" \n");
printf(" \n");
printf("\n");
for (int i=0;i<MAXLINES;i++){ linecanv[i]=NULL; }// we remove all canvases
// PARSE THE table first
i=readout_reac_file(filename, 0 );
if (i!=0){ printf("Error in analyze_react1 ... STOP%s\n","");return;}
printf("\n+ ... %s\n","process FORMULAS to VALUES to varnames in table (A,Z list...)");
i=interpolate_varnames_in_table();
if (i!=0){ printf("%s\n","Problem during 1st parsing the table.STOP");return;}
printf("i ... table : prepared\ni ... structure : prepared\ni ... loss tables : loaded%s\n","" );
printf("\n\n+ ... %s\n","do kinematics NOW: ==================================");
// preprocess_table();
d=do_kinematics(1);
// printf("total ch2=%lf\n", d );
printf("+ ... %s\n","DO LINEAR CALIBRATION ===============================");
CANVMAIN=(TCanvas*)gROOT->GetListOfCanvases()->FindObject("nrfit");
if (CANVMAIN==NULL){
CANVMAIN=new TCanvas("nrfit","nrfit");
CANVMAIN->Draw();
}
lincal();
// d=do_kinematics(0);
// printf("total ch2=%lf\n", d );
}//nrfit=========================================== MAIN END =====