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

Last change on this file since 150 was 150, checked in by campagne, 18 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.