source: GLBFrejus/HEAD/src/examine1.cxx@ 151

Last change on this file since 151 was 150, checked in by campagne, 19 years ago

add new appli

File size: 12.0 KB
Line 
1//std
2//#include <stdio.h>
3#include <stdlib.h>
4#include <math.h>
5#include <string.h>
6#include <cmath>
7#include <values.h>
8#include <fstream>
9#include <iostream>
10
11//Globes
12#include <globes/globes.h>
13
14// AIDA :
15#include <AIDA/IAnalysisFactory.h>
16#include <AIDA/ITreeFactory.h>
17#include <AIDA/IHistogramFactory.h>
18#include <AIDA/ITree.h>
19#include <AIDA/ITupleFactory.h>
20#include <AIDA/ITuple.h>
21
22
23
24#define TH12 ( asin(sqrt(0.3)) )
25#define TH23 ( M_PI/4.0 )
26//theta13 = 1 degree, 3 degree
27#define TH13 ( 1.0/180.0 * M_PI)
28//#define TH13 ( 3.0/180.0 * M_PI)
29//#define TH13 ( 0.5 * asin(sqrt(0.05)) )
30
31//#define DELTA ( M_PI/2 )
32#define DELTA ( 0.0 )
33
34#define DMQ21 7.9e-5
35#define DMQ31 2.4e-3
36
37
38
39/**************************************/
40/* main */
41/**************************************/
42
43int main(int argc, char *argv[])
44{
45
46 //Init Globes: Attention SPL.glb may be a symbolic link
47 glbInit(argv[0]);
48 glbInitExperiment("../data/SPL.glb",
49 &glb_experiment_list[0],
50 &glb_num_of_exps);
51
52 // true values (reference for future Chi2 computations)
53 glb_params true_values = glbAllocParams();
54 glbDefineParams(true_values, TH12, TH13, TH23, DELTA, DMQ21, DMQ31);
55 std::cout << "The Initial True_values" << std::endl;
56 glbPrintParams(stdout,true_values);
57
58 glbSetOscillationParameters(true_values);
59 glbSetRates();
60
61 // set Starting Values
62 glb_params start_values = glbAllocParams();
63 glbDefineParams(start_values, TH12, TH13, TH23, DELTA, DMQ21, DMQ31);
64 glbSetStartingValues(start_values);
65 std::cout << "The Starting values" << std::endl;
66 glbPrintParams(stdout,start_values);
67
68
69 //Rates of some channels
70
71 int splChannelNumuNonOsci = glbNameToValue(0,"channel","#numu_non_osci");
72 std::cout << "Rate of Channel(#numuNonOsci) NO_OSC: GLB_PRE, W_EFF, W_BG " << std::endl;
73 glbShowChannelRates(stdout,0,splChannelNumuNonOsci,GLB_PRE,GLB_W_EFF,GLB_W_BG);
74 std::cout << std::endl;
75 std::cout << "Rate of Channel(#numuNonOsci) NO_OSC: GLB_POST, W_EFF, W_BG " << std::endl;
76 glbShowChannelRates(stdout,0,splChannelNumuNonOsci,GLB_POST,GLB_W_EFF,GLB_W_BG);
77 std::cout << std::endl;
78
79
80
81
82 int splChannelNCplus = glbNameToValue(0,"channel","#NC_bckg_plus");
83 std::cout << "Rate of Channel(#NC_bckg_plus) NO_OSC: GLB_PRE, W_EFF, W_BG " << std::endl;
84 glbShowChannelRates(stdout,0,splChannelNCplus,GLB_PRE,GLB_W_EFF,GLB_W_BG);
85 std::cout << std::endl;
86 std::cout << "Rate of Channel(#NC_bckg_plus) NO_OSC: GLB_POST, W_EFF, W_BG " << std::endl;
87 glbShowChannelRates(stdout,0,splChannelNCplus,GLB_POST,GLB_W_EFF,GLB_W_BG);
88 std::cout << std::endl;
89
90
91 //Rules
92
93 //NU_E_app
94 std::cout << "----------------------------------------------" << std::endl;
95 std::cout << ">>>>>>>>>>>> NU_E_APP <<<<<<<<<<<<<<<<<<" << std::endl;
96 std::cout << "----------------------------------------------" << std::endl;
97
98 int splRuleNueApp = glbNameToValue(0,"rule","#NU_E_app");
99 int nItemRuleNUEappSignal = glbGetLengthOfRule(0,splRuleNueApp,GLB_SIG);
100 int nItemRuleNUEappBkg = glbGetLengthOfRule(0,splRuleNueApp,GLB_BG);
101
102 std::cout << "Length Of Rule(#NU_E_app) Signal: "<< nItemRuleNUEappSignal
103 << " Bkg: " << nItemRuleNUEappBkg
104 << std::endl;
105
106 std::cout << "Normalisation Rule(#NU_E_app) Signal: "
107 << glbGetNormalizationInRule(0,nItemRuleNUEappSignal,GLB_SIG)
108 << " Bkg: "
109 << glbGetNormalizationInRule(0,nItemRuleNUEappSignal,GLB_BG)
110 << std::endl;
111
112 std::cout << "Rate of Rules(#NU_E_app) Signal: W_EFF, W_BG, W_COEFF" << std::endl;
113 glbShowRuleRates(stdout,0,splRuleNueApp,GLB_ALL,GLB_W_EFF,GLB_W_BG,GLB_W_COEFF,GLB_SIG);
114 std::cout << std::endl;
115
116
117 std::cout << "Channels of Rule(#NU_E_app) Signal" << std::endl;
118 for (int item=0; item<nItemRuleNUEappSignal; ++item) {
119 std::cout << " Channel<"
120 << glbValueToName(0,"channel",
121 glbGetChannelInRule(0,splRuleNueApp,item,GLB_SIG))
122 << "> with coeff. "
123 << glbGetCoefficientInRule(0,splRuleNueApp,item,GLB_SIG)
124 << std::endl;
125 std::cout << " Rate: WO_EFF, WO_BG, WO_COEFF: "
126 << glbTotalRuleRate(0,splRuleNueApp,item,GLB_WO_EFF,GLB_WO_BG,GLB_WO_COEFF,GLB_SIG)
127 << std::endl;
128 }
129
130 std::cout << "Rate of Rules(#NU_E_app) BG: W_EFF, W_BG, W_COEFF"
131 << std::endl;
132 glbShowRuleRates(stdout,0,splRuleNueApp,
133 GLB_ALL,GLB_W_EFF,GLB_W_BG,GLB_W_COEFF,GLB_BG);
134
135 std::cout << "Channels of Rule(#NU_E_app) Bkg" << std::endl;
136 for (int item=0; item<nItemRuleNUEappBkg; ++item) {
137 std::cout << " Channel<"
138 << glbValueToName(0,"channel",
139 glbGetChannelInRule(0,splRuleNueApp,item,GLB_BG))
140 << "> with coeff. "
141 << glbGetCoefficientInRule(0,splRuleNueApp,item,GLB_BG)
142 << std::endl;
143 std::cout << " Rate: WO_EFF, WO_BG, WO_COEFF: "
144 << glbTotalRuleRate(0,splRuleNueApp,item,GLB_WO_EFF,GLB_WO_BG,GLB_WO_COEFF,GLB_BG)
145 << std::endl;
146 }
147
148
149 //NUMU_DISA: FIXME: problem of the PRE-SMEARING efficiency effects (JEC 6/6/05)
150 std::cout << "----------------------------------------------" << std::endl;
151 std::cout << ">>>>>>>>>>>> NU_MU_DISA <<<<<<<<<<<<<<<<<<" << std::endl;
152 std::cout << "----------------------------------------------" << std::endl;
153
154 int splRuleNumudisa = glbNameToValue(0,"rule","#NUMU_DISA");
155 int nItemRuleNUMUDisaSignal = glbGetLengthOfRule(0,splRuleNumudisa,GLB_SIG);
156 int nItemRuleNUMUDisaBkg = glbGetLengthOfRule(0,splRuleNumudisa,GLB_BG);
157
158 std::cout << "Length Of Rule(#NUMU_disa) Signal: "<< nItemRuleNUMUDisaSignal
159 << " Bkg: " << nItemRuleNUMUDisaBkg
160 << std::endl;
161
162 std::cout << "Normalisation Rule(#NUMU_disa) Signal: "
163 << glbGetNormalizationInRule(0,nItemRuleNUMUDisaSignal,GLB_SIG)
164 << " Bkg: "
165 << glbGetNormalizationInRule(0,nItemRuleNUMUDisaSignal,GLB_BG)
166 << std::endl;
167
168 std::cout << "Rate of Rules(#NUMU_disa) Signal: W_EFF, W_BG, W_COEFF" << std::endl;
169 glbShowRuleRates(stdout,0,splRuleNumudisa,GLB_ALL,GLB_W_EFF,GLB_W_BG,GLB_W_COEFF,GLB_SIG);
170 std::cout << std::endl;
171
172
173 std::cout << "Channels of Rule(#NUMU_disa) Signal" << std::endl;
174 for (int item=0; item<nItemRuleNUMUDisaSignal; ++item) {
175 std::cout << " Channel<"
176 << glbValueToName(0,"channel",
177 glbGetChannelInRule(0,splRuleNumudisa,item,GLB_SIG))
178 << "> with coeff. "
179 << glbGetCoefficientInRule(0,splRuleNumudisa,item,GLB_SIG)
180 << std::endl;
181 std::cout << " Rate: WO_EFF, WO_BG, WO_COEFF: "
182 << glbTotalRuleRate(0,splRuleNumudisa,item,GLB_WO_EFF,GLB_WO_BG,GLB_WO_COEFF,GLB_SIG)
183 << std::endl;
184 }
185
186 std::cout << "Rate of Rules(#NUMU_disa) BG: W_EFF, W_BG, W_COEFF"
187 << std::endl;
188 glbShowRuleRates(stdout,0,splRuleNumudisa,
189 GLB_ALL,GLB_W_EFF,GLB_W_BG,GLB_W_COEFF,GLB_BG);
190
191 std::cout << "Channels of Rule(#NUMU_disa) Bkg" << std::endl;
192 for (int item=0; item<nItemRuleNUMUDisaBkg; ++item) {
193 std::cout << " Channel<"
194 << glbValueToName(0,"channel",
195 glbGetChannelInRule(0,splRuleNumudisa,item,GLB_BG))
196 << "> with coeff. "
197 << glbGetCoefficientInRule(0,splRuleNumudisa,item,GLB_BG)
198 << std::endl;
199 std::cout << " Rate: WO_EFF, WO_BG, WO_COEFF: "
200 << glbTotalRuleRate(0,splRuleNumudisa,item,GLB_WO_EFF,GLB_WO_BG,GLB_WO_COEFF,GLB_BG)
201 << std::endl;
202 }
203
204
205
206
207 //NU_E_BAR_app
208 std::cout << "----------------------------------------------" << std::endl;
209 std::cout << ">>>>>>>>>>>> NU_E__BARR_APP <<<<<<<<<<<<<<<<<<" << std::endl;
210 std::cout << "----------------------------------------------" << std::endl;
211
212 int splRuleAntiNueApp = glbNameToValue(0,"rule","#NU_E_BAR_app");
213 int nItemRuleAntiNUEappSignal = glbGetLengthOfRule(0,splRuleAntiNueApp,GLB_SIG);
214 int nItemRuleAntiNUEappBkg = glbGetLengthOfRule(0,splRuleAntiNueApp,GLB_BG);
215 std::cout << "Length Of Rule(#NU_E_BAR_app) Signal: "
216 << nItemRuleAntiNUEappSignal
217 << " Bkg: " << nItemRuleAntiNUEappBkg
218 << std::endl;
219
220 std::cout << "Normalisation Rule(#NU_E_BAR_app) Signal: "
221 << glbGetNormalizationInRule(0,nItemRuleAntiNUEappSignal,GLB_SIG)
222 << " Bkg: "
223 << glbGetNormalizationInRule(0,nItemRuleAntiNUEappSignal,GLB_BG)
224 << std::endl;
225
226 std::cout << "Rate of Rules(#NU_E_BARR_app) Signal: W_EFF, W_BG, W_COEFF" << std::endl;
227 glbShowRuleRates(stdout,0,splRuleAntiNueApp,GLB_ALL,GLB_W_EFF,GLB_W_BG,GLB_W_COEFF,GLB_SIG);
228 std::cout << std::endl;
229
230 std::cout << "Channels of Rule(#NU_E_BAR_app) Signal" << std::endl;
231 for (int item=0; item<nItemRuleAntiNUEappSignal; ++item) {
232 std::cout << " Channel<"
233 << glbValueToName(0,"channel",
234 glbGetChannelInRule(0,splRuleAntiNueApp,item,GLB_SIG))
235 << "> with coeff. "
236 << glbGetCoefficientInRule(0,splRuleAntiNueApp,item,GLB_SIG)
237 << std::endl;
238 std::cout << " Rate: WO_EFF, WO_BG, WO_COEFF: "
239 << glbTotalRuleRate(0,splRuleAntiNueApp,item,GLB_WO_EFF,GLB_WO_BG,GLB_WO_COEFF,GLB_SIG)
240 << std::endl;
241 }
242
243 std::cout << "Rate of Rules(#NU_E_BARR_app) BG: W_EFF, W_BG, W_COEFF"
244 << std::endl;
245 glbShowRuleRates(stdout,0,splRuleAntiNueApp,
246 GLB_ALL,GLB_W_EFF,GLB_W_BG,GLB_W_COEFF,GLB_BG);
247
248 std::cout << "Channels of Rule(#NU_E_BAR_app) Bkg" << std::endl;
249 for (int item=0; item<nItemRuleAntiNUEappBkg; ++item) {
250 std::cout << " Channel<"
251 << glbValueToName(0,"channel",
252 glbGetChannelInRule(0,splRuleAntiNueApp,item,GLB_BG))
253 << "> with coeff. "
254 << glbGetCoefficientInRule(0,splRuleAntiNueApp,item,GLB_BG)
255 << std::endl;
256 std::cout << " Rate: WO_EFF, WO_BG, WO_COEFF: "
257 << glbTotalRuleRate(0,splRuleAntiNueApp,item,GLB_WO_EFF,GLB_WO_BG,GLB_WO_COEFF,GLB_BG)
258 << std::endl;
259 }
260
261 //NUMUBAR_DISA: FIXME: problem of the PRE-SMEARING efficiency effects (JEC 6/6/05)
262 std::cout << "----------------------------------------------" << std::endl;
263 std::cout << ">>>>>>>>>>>> NU_MU_BAR_DISA <<<<<<<<<<<<<<<<<<" << std::endl;
264 std::cout << "----------------------------------------------" << std::endl;
265
266 int splRuleNumuBardisa = glbNameToValue(0,"rule","#NUMUBAR_DISA");
267 int nItemRuleNUMUBARDisaSignal = glbGetLengthOfRule(0,splRuleNumuBardisa,GLB_SIG);
268 int nItemRuleNUMUBARDisaBkg = glbGetLengthOfRule(0,splRuleNumuBardisa,GLB_BG);
269
270 std::cout << "Length Of Rule(#NUMUBAR_disa) Signal: "<< nItemRuleNUMUBARDisaSignal
271 << " Bkg: " << nItemRuleNUMUBARDisaBkg
272 << std::endl;
273
274 std::cout << "Normalisation Rule(#NUMUBAR_disa) Signal: "
275 << glbGetNormalizationInRule(0,nItemRuleNUMUBARDisaSignal,GLB_SIG)
276 << " Bkg: "
277 << glbGetNormalizationInRule(0,nItemRuleNUMUBARDisaSignal,GLB_BG)
278 << std::endl;
279
280 std::cout << "Rate of Rules(#NUMUBAR_disa) Signal: W_EFF, W_BG, W_COEFF" << std::endl;
281 glbShowRuleRates(stdout,0,splRuleNumuBardisa,GLB_ALL,GLB_W_EFF,GLB_W_BG,GLB_W_COEFF,GLB_SIG);
282 std::cout << std::endl;
283
284
285 std::cout << "Channels of Rule(#NUMUBAR_disa) Signal" << std::endl;
286 for (int item=0; item<nItemRuleNUMUBARDisaSignal; ++item) {
287 std::cout << " Channel<"
288 << glbValueToName(0,"channel",
289 glbGetChannelInRule(0,splRuleNumuBardisa,item,GLB_SIG))
290 << "> with coeff. "
291 << glbGetCoefficientInRule(0,splRuleNumuBardisa,item,GLB_SIG)
292 << std::endl;
293 std::cout << " Rate: WO_EFF, WO_BG, WO_COEFF: "
294 << glbTotalRuleRate(0,splRuleNumuBardisa,item,GLB_WO_EFF,GLB_WO_BG,GLB_WO_COEFF,GLB_SIG)
295 << std::endl;
296 }
297
298 std::cout << "Rate of Rules(#NUMUBAR_disa) BG: W_EFF, W_BG, W_COEFF"
299 << std::endl;
300 glbShowRuleRates(stdout,0,splRuleNumuBardisa,
301 GLB_ALL,GLB_W_EFF,GLB_W_BG,GLB_W_COEFF,GLB_BG);
302
303 std::cout << "Channels of Rule(#NUMUBAR_disa) Bkg" << std::endl;
304 for (int item=0; item<nItemRuleNUMUBARDisaBkg; ++item) {
305 std::cout << " Channel<"
306 << glbValueToName(0,"channel",
307 glbGetChannelInRule(0,splRuleNumuBardisa,item,GLB_BG))
308 << "> with coeff. "
309 << glbGetCoefficientInRule(0,splRuleNumuBardisa,item,GLB_BG)
310 << std::endl;
311 std::cout << " Rate: WO_EFF, WO_BG, WO_COEFF: "
312 << glbTotalRuleRate(0,splRuleNumuBardisa,item,GLB_WO_EFF,GLB_WO_BG,GLB_WO_COEFF,GLB_BG)
313 << std::endl;
314 }
315
316
317
318
319
320 glbFreeParams(true_values);
321 glbFreeParams(start_values);
322
323 return 0;
324}
325
326
327
328
329
Note: See TracBrowser for help on using the repository browser.