CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TEcnaGui.cc
Go to the documentation of this file.
1 //----------Author's Name: B.Fabbro DSM/IRFU/SPP CEA-Saclay
2 //----------Copyright: Those valid for CEA sofware
3 //----------Modified: 08/04/2010
4 
6 #include <cstdlib>
7 
8 ClassImp(TEcnaGui)
9 //______________________________________________________________________________
10 //
11 // TEcnaGui.
12 //
13 // This class provides a dialog box for ECNA (Ecal Correlated Noise Analysis)
14 // in the framework of ROOT Graphical User Interface (GUI)
15 //
16 // In the following, "Stin", "Stex", "Stas" means:
17 //
18 // "Stin" = "Tower" if the subdetector is "EB"
19 // = "SC" if the subdetector is "EE"
20 //
21 // "Stex" = "SM" if the subdetector is "EB"
22 // = "Dee" if the subdetector is "EE"
23 //
24 // "Stas" = "EB" if the subdetector is "EB"
25 // = "EE" if the subdetector is "EE"
26 //
27 //
28 //==================== GUI DIALOG BOX PRESENTATION ==================
29 //
30 // line#
31 //
32 //
33 // 1 Analysis (button + input widget)
34 // First requested event number (button + input widget)
35 // Run number (button + input widget)
36 //
37 // 2 Number of samples (button + input widget)
38 // Last requested event number (button + input widget)
39 // Clean (menu)
40 // Submit (menu)
41 //
42 // 3 Stex number (button + input widget)
43 // Stex Stin numbering (button)
44 // Calculations (menu)
45 //
46 //........................................................................
47 //
48 // 4 Number of events (menu)
49 // 5 Pedestals (menu)
50 // 6 Total Noise (menu)
51 // 7 Low Frequency Noise (menu)
52 // 8 High Frequency Noise (menu)
53 // 9 Mean of Cor(s,s') (menu)
54 // 10 Sigma of Cor(s,s') (menu)
55 // 11 Mean LF |Cor(c,c')| in (tow,tow') (menu)
56 // 12 Mean LH |Cor(c,c')| in (tow,tow') (menu)
57 //
58 //........................................................................
59 //
60 // 13 Stin (button + input widget)
61 // Stin' (button + input widget)
62 // 14 Stin Xtal Numbering (button)
63 //
64 // 15 Low Frequency Cor(Xtal Stin, Xtal Stin') (menu)
65 // 16 High Frequency Cor(Xtal Stin, Xtal Stin') (menu)
66 //
67 //...........................................................................
68 //
69 // 17 Channel number in Stin (button + input widget)
70 // Sample number (button + input widget)
71 //
72 //
73 // 18 Correlations between samples (menu)
74 // 19 Covariances between samples (menu)
75 // 20 Expectation values of the samples (menu)
76 // 21 Sigmas of the samples (menu)
77 //
78 // 22 ADC sample values for (Xtal,Sample) (menu)
79 //
80 //............................................................................
81 //
82 // 23 List of run file name for history plots (button + input widget)
83 //
84 // 24 Menu for history plots (menu)
85 //............................................................................
86 //
87 // 25 LOG X (check button: OFF: LIN scale / ON: LOG scale)
88 // LOG Y (check button: OFF: LIN scale / ON: LOG scale)
89 // Y projection (check button: OFF: X = variable
90 // Y = quantity
91 // ON : X = quantity
92 // Y = distribution of the variable)
93 //............................................................................
94 //
95 // 26 General Title for Plots (button + input widget)
96 //
97 // 27 Colors (check button: ON = Rainbow, OFF = ECNAColor )
98 // Exit (button)
99 //
100 // 28 Clone Last Canvas (button)
101 // ROOT version (button)
102 // Help (button)
103 //
104 //===============================================================================
105 //
106 // Example of main program using the class TEcnaGui:
107 //
108 //%~%~%~%~%~%~%~%~%~%~%~%~%~~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~
109 //
110 // //----------------------- EcnaGuiEB.cc ---------------
111 // //
112 // // E.C.N.A. dialog box (GUI) for barrel
113 // //
114 // //----------------------------------------------------
115 // #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaGui.h"
116 // #include <cstdlib>
117 //
118 // #include "Riostream.h"
119 // #include "TROOT.h"
120 // #include "TGApplication.h"
121 // #include "TGClient.h"
122 // #include "TRint.h"
123 //
124 // #include <stdlib.h>
125 // #include <string>
126 // #include "TSystem.h"
127 // #include "TObject.h"
128 // #include "TGWindow.h"
129 //
130 // extern void InitGui();
131 // VoidFuncPtr_t initfuncs[] = { InitGui, 0 };
132 // TROOT root("GUI","GUI test environnement", initfuncs);
133 //
134 // using namespace std;
135 //
136 // int main(int argc, char **argv)
137 // {
138 // cout << "*EcnaGuiEB> Starting ROOT session" << endl;
139 // TRint theApp("App", &argc, argv);
140 // cout << "*EcnaGuiEB> Starting new CNA session. Opening dialog box" << endl;
141 // TEcnaGui* mainWin = new TEcnaGui(gClient->GetRoot(), 390, 680, "EB");
142 // cout << "*EcnaGuiEB> CNA session: preparing to run application." << endl;
143 //
144 // Bool_t retVal = kTRUE;
145 // theApp.Run(retVal);
146 // cout << "*EcnaGuiEB> End of CNA session. Closing dialog box." << endl;
147 // delete mainWin;
148 // cout << "*EcnaGuiEB> Terminating ROOT session." << endl;
149 // theApp.Terminate(0);
150 // cout << "*EcnaGuiEB> Exiting main program." << endl;
151 // exit(0);
152 // }
153 //
154 //%~%~%~%~%~%~%~%~%~%~%~%~%~~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~
155 //
156 //...........................................................................
157 //
158 // Location of the ECNA web page:
159 //
160 // http://cms-fabbro.web.cern.ch/cms-fabbro/cna_new/Correlated_Noise_Analysis/ECNA_main_page.htm
161 //
162 //------------------------------ TEcnaGui.cc ----------------------------
163 //
164 // Gui box + methods for ECNA (Ecal Correlated Noise Analysis)
165 //
166 // For questions or comments, please send e-mail to Bernard Fabbro:
167 //
168 // bernard.fabbro@cea.fr
169 //
170 //----------------------------------------------------------------------
171 
173 {
174 //destructor
175 
176 #define DEST
177 #ifdef DEST
178  // cout << "TEcnaGui> Entering destructor" << endl;
179  // cout << " fCnew = " << fCnew << ", fCdelete = " << fCdelete << endl;
180 
181  //.... general variables
182  if ( fHistos != 0 ) {delete fHistos; fCdelete++;}
183 
184  //if ( fCnaParHistos != 0 ) {delete fCnaParHistos; fCdelete++;}
185  //if ( fCnaParPaths != 0 ) {delete fCnaParPaths; fCdelete++;}
186  //if ( fEcalNumbering != 0 ) {delete fEcalNumbering; fCdelete++;}
187  //if ( fEcal != 0 ) {delete fEcal; fCdelete++;}
188 
189  //.... general frames
190 
191  if ( fLayoutGeneral != 0 ) {delete fLayoutGeneral; fCdelete++;}
192  if ( fLayoutBottLeft != 0 ) {delete fLayoutBottLeft; fCdelete++;}
193  if ( fLayoutBottRight != 0 ) {delete fLayoutBottRight; fCdelete++;}
194  if ( fLayoutTopLeft != 0 ) {delete fLayoutTopLeft; fCdelete++;}
195  if ( fLayoutTopRight != 0 ) {delete fLayoutTopRight; fCdelete++;}
196  if ( fLayoutCenterYLeft != 0 ) {delete fLayoutCenterYLeft; fCdelete++;}
197  if ( fLayoutCenterYRight != 0 ) {delete fLayoutCenterYRight; fCdelete++;}
198  if ( fLayoutCenterXTop != 0 ) {delete fLayoutCenterXTop; fCdelete++;}
199 
200  if ( fVoidFrame != 0 ) {delete fVoidFrame; fCdelete++;}
201 
202  //..... specific frames + buttons + menus
203 
204  //++++++++++++++++++++++++++++++++++++ Frame: Python Source (Pyf) (Button + EntryField)
205  //if ( fPyfFrame != 0 ) {delete fPyfFrame; fCdelete++;}
206  //if ( fPyfBut != 0 ) {delete fPyfBut; fCdelete++;}
207  //if ( fLayoutPyfBut != 0 ) {delete fLayoutPyfBut; fCdelete++;}
208  //if ( fEntryPyfNumber != 0 ) {delete fEntryPyfNumber; fCdelete++;}
209  //if ( fPyfText != 0 ) {fPyfText->Delete(); fCdelete++;}
210  //if ( fLayoutPyfFieldText != 0 ) {delete fLayoutPyfFieldText; fCdelete++;}
211  //if ( fLayoutPyfFieldFrame != 0 ) {delete fLayoutPyfFieldFrame; fCdelete++;}
212 
213  //++++++++++++++++++++++++++++++ Horizontal frame Analysis + First requested evt number + Run number
214  if ( fAnaNorsRunFrame != 0 ) {delete fAnaNorsRunFrame; fCdelete++;}
215  if ( fLayoutAnaNorsRunFrame != 0 ) {delete fLayoutAnaNorsRunFrame; fCdelete++;}
216 
217  //--------------------------------- Sub-Frame Analysis Name (Button+Entry Field)
218  if ( fAnaFrame != 0 ) {delete fAnaFrame; fCdelete++;}
219  if ( fAnaBut != 0 ) {delete fAnaBut; fCdelete++;}
220  if ( fLayoutAnaBut != 0 ) {delete fLayoutAnaBut; fCdelete++;}
221  if ( fEntryAnaNumber != 0 ) {delete fEntryAnaNumber; fCdelete++;}
222  if ( fAnaText != 0 ) {fAnaText->Delete(); fCdelete++;}
223  if ( fLayoutAnaField != 0 ) {delete fLayoutAnaField; fCdelete++;}
224 
225  //------------------- subframe first requested evt number
226  if ( fFevFrame != 0 ) {delete fFevFrame; fCdelete++;}
227  if ( fFevBut != 0 ) {delete fFevBut; fCdelete++;}
228  if ( fLayoutFevBut != 0 ) {delete fLayoutFevBut; fCdelete++;}
229  if ( fEntryFevNumber != 0 ) {delete fEntryFevNumber; fCdelete++;}
230  if ( fFevText != 0 ) {fFevText->Delete(); fCdelete++;}
231  if ( fLayoutFevFieldText != 0 ) {delete fLayoutFevFieldText; fCdelete++;}
232  if ( fLayoutFevFieldFrame != 0 ) {delete fLayoutFevFieldFrame; fCdelete++;}
233 
234  //-------------------------------- Sub-Frame Run number (Button+Entry Field)
235  if ( fRunFrame != 0 ) {delete fRunFrame; fCdelete++;}
236  if ( fRunBut != 0 ) {delete fRunBut; fCdelete++;}
237  if ( fLayoutRunBut != 0 ) {delete fLayoutRunBut; fCdelete++;}
238  if ( fEntryRunNumber != 0 ) {delete fEntryRunNumber; fCdelete++;}
239  if ( fRunText != 0 ) {fRunText->Delete(); fCdelete++;}
240  if ( fLayoutRunField != 0 ) {delete fLayoutRunField; fCdelete++;}
241 
242  //+++++++++++++++++++++++++++++ Horizontal frame Nb Of Samples + last requested events + Clean + Submit
243  if ( fFevLevStexFrame != 0 ) {delete fFevLevStexFrame; fCdelete++;}
244  if ( fLayoutFevLevStexFrame != 0 ) {delete fLayoutFevLevStexFrame; fCdelete++;}
245 
246  //------------------- Sub-Frame Nb of Required Samples (Button+Entry Field)
247  if ( fNorsFrame != 0 ) {delete fNorsFrame; fCdelete++;}
248  if ( fNorsBut != 0 ) {delete fNorsBut; fCdelete++;}
249  if ( fLayoutNorsBut != 0 ) {delete fLayoutNorsBut; fCdelete++;}
250  if ( fEntryNorsNumber != 0 ) {delete fEntryNorsNumber; fCdelete++;}
251  if ( fNorsText != 0 ) {fNorsText->Delete(); fCdelete++;}
252  if ( fLayoutNorsField != 0 ) {delete fLayoutNorsField; fCdelete++;}
253 
254  //------------------- subframe last requested evt number
255  if ( fLevFrame != 0 ) {delete fLevFrame; fCdelete++;}
256  if ( fLevBut != 0 ) {delete fLevBut; fCdelete++;}
257  if ( fLayoutLevBut != 0 ) {delete fLayoutLevBut; fCdelete++;}
258  if ( fEntryLevNumber != 0 ) {delete fEntryLevNumber; fCdelete++;}
259  if ( fLevText != 0 ) {fLevText->Delete(); fCdelete++;}
260  if ( fLayoutLevFieldText != 0 ) {delete fLayoutLevFieldText; fCdelete++;}
261  if ( fLayoutLevFieldFrame != 0 ) {delete fLayoutLevFieldFrame; fCdelete++;}
262 
263  //................................ Menu for Clean
264  if ( fMenuClean != 0 ) {delete fMenuClean; fCdelete++;}
265  if ( fMenuBarClean != 0 ) {fMenuBarClean->Delete(); fCdelete++;}
266  //................................ Menu for Submit jobs on batch system
267  if ( fMenuSubmit != 0 ) {delete fMenuSubmit; fCdelete++;}
268  if ( fMenuBarSubmit != 0 ) {fMenuBarSubmit->Delete(); fCdelete++;}
269 
270  //+++++++++++++++++++++++++++++++++++++++++++++++++ Horizontal Frame:Stex number + NbOfReqEvts
271  if ( fCompStRqFrame != 0 ) {delete fCompStRqFrame; fCdelete++;}
272  if ( fLayoutCompStRqFrame != 0 ) {delete fLayoutCompStRqFrame; fCdelete++;}
273 
274  //------------------- subframe stex number
275  if ( fStexFrame != 0 ) {delete fStexFrame; fCdelete++;}
276  if ( fStexBut != 0 ) {delete fStexBut; fCdelete++;}
277  if ( fLayoutStexBut != 0 ) {delete fLayoutStexBut; fCdelete++;}
278  if ( fEntryStexNumber != 0 ) {delete fEntryStexNumber; fCdelete++;}
279  if ( fStexText != 0 ) {fStexText->Delete(); fCdelete++;}
280  if ( fLayoutStexFieldText != 0 ) {delete fLayoutStexFieldText; fCdelete++;}
281  if ( fLayoutStexFieldFrame != 0 ) {delete fLayoutStexFieldFrame; fCdelete++;}
282 
283  //------------------- subframe number of requested evts
284  if ( fRevFrame != 0 ) {delete fRevFrame; fCdelete++;}
285  if ( fRevBut != 0 ) {delete fRevBut; fCdelete++;}
286  if ( fLayoutRevBut != 0 ) {delete fLayoutRevBut; fCdelete++;}
287  if ( fEntryRevNumber != 0 ) {delete fEntryRevNumber; fCdelete++;}
288  if ( fRevText != 0 ) {fRevText->Delete(); fCdelete++;}
289  if ( fLayoutRevFieldText != 0 ) {delete fLayoutRevFieldText; fCdelete++;}
290  if ( fLayoutRevFieldFrame != 0 ) {delete fLayoutRevFieldFrame; fCdelete++;}
291 
292  //+++++++++++++++++++++++ Horizontal Frame StexStin numbering + Nb Samp for calc + Calculations
293  if ( fCompStnbFrame != 0 ) {delete fCompStnbFrame; fCdelete++;}
294  if ( fLayoutCompStnbFrame != 0 ) {delete fLayoutCompStnbFrame; fCdelete++;}
295 
296  //............................ Stex Stin Numbering view (Button)
297  if ( fButStexNb != 0 ) {delete fButStexNb; fCdelete++;}
298  if ( fLayoutStexNbBut != 0 ) {delete fLayoutStexNbBut; fCdelete++;}
299  //------------------- subframe NbSampForCalc
300  if ( fNbSampForCalcFrame != 0 ) {delete fNbSampForCalcFrame; fCdelete++;}
301  if ( fNbSampForCalcBut != 0 ) {delete fNbSampForCalcBut; fCdelete++;}
302  if ( fLayoutNbSampForCalcBut != 0 ) {delete fLayoutNbSampForCalcBut; fCdelete++;}
303  if ( fEntryNbSampForCalcNumber != 0 ) {delete fEntryNbSampForCalcNumber; fCdelete++;}
304  if ( fNbSampForCalcText != 0 ) {fNbSampForCalcText->Delete(); fCdelete++;}
305  if ( fLayoutNbSampForCalcFieldText != 0 ) {delete fLayoutNbSampForCalcFieldText; fCdelete++;}
306  if ( fLayoutNbSampForCalcFieldFrame != 0 ) {delete fLayoutNbSampForCalcFieldFrame; fCdelete++;}
307  //................................ Menus for CALCULATIONS
308  if ( fMenuComput != 0 ) {delete fMenuComput; fCdelete++;}
309  if ( fMenuBarComput != 0 ) {fMenuBarComput->Delete(); fCdelete++;}
310 
311  //+++++++++++++++++++++++++++++++++++++++++++ Frame for quantities relative to the Stex
312  if ( fStexUpFrame != 0 ) {delete fStexUpFrame; fCdelete++;}
313 
314  //................................ Menus+Ymin+Ymax for the Stex ............................
315 
316  //...................................... Nb of evts in the data
317 
318  if ( fVmmD_NOE_ChNbFrame != 0 ) {delete fVmmD_NOE_ChNbFrame; fCdelete++;}
319 
320  if ( fVmaxD_NOE_ChNbFrame != 0 ) {delete fVmaxD_NOE_ChNbFrame; fCdelete++;}
321  if ( fVmaxD_NOE_ChNbBut != 0 ) {delete fVmaxD_NOE_ChNbBut; fCdelete++;}
322  if ( fLayoutVmaxD_NOE_ChNbBut != 0 ) {delete fLayoutVmaxD_NOE_ChNbBut; fCdelete++;}
323  if ( fEntryVmaxD_NOE_ChNbNumber != 0 ) {delete fEntryVmaxD_NOE_ChNbNumber; fCdelete++;}
324  if ( fVmaxD_NOE_ChNbText != 0 ) {fVmaxD_NOE_ChNbText->Delete(); fCdelete++;}
325  if ( fLayoutVmaxD_NOE_ChNbFieldText != 0 ) {delete fLayoutVmaxD_NOE_ChNbFieldText; fCdelete++;}
326  if ( fLayoutVmaxD_NOE_ChNbFrame != 0 ) {delete fLayoutVmaxD_NOE_ChNbFrame; fCdelete++;}
327 
328  if ( fVminD_NOE_ChNbFrame != 0 ) {delete fVminD_NOE_ChNbFrame; fCdelete++;}
329  if ( fVminD_NOE_ChNbBut != 0 ) {delete fVminD_NOE_ChNbBut; fCdelete++;}
330  if ( fLayoutVminD_NOE_ChNbBut != 0 ) {delete fLayoutVminD_NOE_ChNbBut; fCdelete++;}
331  if ( fEntryVminD_NOE_ChNbNumber != 0 ) {delete fEntryVminD_NOE_ChNbNumber; fCdelete++;}
332  if ( fVminD_NOE_ChNbText != 0 ) {fVminD_NOE_ChNbText->Delete(); fCdelete++;}
333  if ( fLayoutVminD_NOE_ChNbFieldText != 0 ) {delete fLayoutVminD_NOE_ChNbFieldText; fCdelete++;}
334  if ( fLayoutVminD_NOE_ChNbFrame != 0 ) {delete fLayoutVminD_NOE_ChNbFrame; fCdelete++;}
335 
336  if ( fMenuD_NOE_ChNb != 0 ) {delete fMenuD_NOE_ChNb; fCdelete++;}
337  if ( fMenuBarD_NOE_ChNb != 0 ) {fMenuBarD_NOE_ChNb->Delete(); fCdelete++;}
338  if ( fVminD_NOE_ChNbText != 0 ) {fVminD_NOE_ChNbText->Delete(); fCdelete++;}
339 
340  if ( fLayoutVmmD_NOE_ChNbFrame != 0 ) {delete fLayoutVmmD_NOE_ChNbFrame; fCdelete++;}
341 
342  //---------------------------------------------------
343  if ( fVmmD_Ped_ChNbFrame != 0 ) {delete fVmmD_Ped_ChNbFrame; fCdelete++;}
344 
345  if ( fVmaxD_Ped_ChNbFrame != 0 ) {delete fVmaxD_Ped_ChNbFrame; fCdelete++;}
346  if ( fVmaxD_Ped_ChNbBut != 0 ) {delete fVmaxD_Ped_ChNbBut; fCdelete++;}
347  if ( fLayoutVmaxD_Ped_ChNbBut != 0 ) {delete fLayoutVmaxD_Ped_ChNbBut; fCdelete++;}
348  if ( fVmaxD_Ped_ChNbText != 0 ) {fVmaxD_Ped_ChNbText->Delete(); fCdelete++;}
349  if ( fEntryVmaxD_Ped_ChNbNumber != 0 ) {delete fEntryVmaxD_Ped_ChNbNumber; fCdelete++;}
350  if ( fLayoutVmaxD_Ped_ChNbFieldText != 0 ) {delete fLayoutVmaxD_Ped_ChNbFieldText; fCdelete++;}
351  if ( fLayoutVmaxD_Ped_ChNbFrame != 0 ) {delete fLayoutVmaxD_Ped_ChNbFrame; fCdelete++;}
352 
353  if ( fVminD_Ped_ChNbFrame != 0 ) {delete fVminD_Ped_ChNbFrame; fCdelete++;}
354  if ( fVminD_Ped_ChNbBut != 0 ) {delete fVminD_Ped_ChNbBut; fCdelete++;}
355  if ( fLayoutVminD_Ped_ChNbBut != 0 ) {delete fLayoutVminD_Ped_ChNbBut; fCdelete++;}
356  if ( fVminD_Ped_ChNbText != 0 ) {fVminD_Ped_ChNbText->Delete(); fCdelete++;}
357  if ( fEntryVminD_Ped_ChNbNumber != 0 ) {delete fEntryVminD_Ped_ChNbNumber; fCdelete++;}
358  if ( fLayoutVminD_Ped_ChNbFieldText != 0 ) {delete fLayoutVminD_Ped_ChNbFieldText; fCdelete++;}
359  if ( fLayoutVminD_Ped_ChNbFrame != 0 ) {delete fLayoutVminD_Ped_ChNbFrame; fCdelete++;}
360 
361  if ( fMenuD_Ped_ChNb != 0 ) {delete fMenuD_Ped_ChNb; fCdelete++;}
362  if ( fMenuBarD_Ped_ChNb != 0 ) {fMenuBarD_Ped_ChNb->Delete(); fCdelete++;}
363  if ( fLayoutMenuBarD_Ped_ChNb != 0 ) {delete fLayoutMenuBarD_Ped_ChNb; fCdelete++;}
364 
365  if ( fLayoutVmmD_Ped_ChNbFrame != 0 ) {delete fLayoutVmmD_Ped_ChNbFrame; fCdelete++;}
366 
367  //----------------------------------------------------
368  if ( fVmmD_TNo_ChNbFrame != 0 ) {delete fVmmD_TNo_ChNbFrame; fCdelete++;}
369 
370  if ( fVmaxD_TNo_ChNbFrame != 0 ) {delete fVmaxD_TNo_ChNbFrame; fCdelete++;}
371  if ( fVmaxD_TNo_ChNbBut != 0 ) {delete fVmaxD_TNo_ChNbBut; fCdelete++;}
372  if ( fLayoutVmaxD_TNo_ChNbBut != 0 ) {delete fLayoutVmaxD_TNo_ChNbBut; fCdelete++;}
373  if ( fVmaxD_TNo_ChNbText != 0 ) {fVmaxD_TNo_ChNbText->Delete(); fCdelete++;}
374  if ( fEntryVmaxD_TNo_ChNbNumber != 0 ) {delete fEntryVmaxD_TNo_ChNbNumber; fCdelete++;}
375  if ( fLayoutVmaxD_TNo_ChNbFieldText != 0 ) {delete fLayoutVmaxD_TNo_ChNbFieldText; fCdelete++;}
376  if ( fLayoutVmaxD_TNo_ChNbFrame != 0 ) {delete fLayoutVmaxD_TNo_ChNbFrame; fCdelete++;}
377 
378  if ( fVminD_TNo_ChNbFrame != 0 ) {delete fVminD_TNo_ChNbFrame; fCdelete++;}
379  if ( fVminD_TNo_ChNbBut != 0 ) {delete fVminD_TNo_ChNbBut; fCdelete++;}
380  if ( fLayoutVminD_TNo_ChNbBut != 0 ) {delete fLayoutVminD_TNo_ChNbBut; fCdelete++;}
381  if ( fVminD_TNo_ChNbText != 0 ) {fVminD_TNo_ChNbText->Delete(); fCdelete++;}
382  if ( fEntryVminD_TNo_ChNbNumber != 0 ) {delete fEntryVminD_TNo_ChNbNumber; fCdelete++;}
383  if ( fLayoutVminD_TNo_ChNbFieldText != 0 ) {delete fLayoutVminD_TNo_ChNbFieldText; fCdelete++;}
384  if ( fLayoutVminD_TNo_ChNbFrame != 0 ) {delete fLayoutVminD_TNo_ChNbFrame; fCdelete++;}
385 
386  if ( fMenuD_TNo_ChNb != 0 ) {delete fMenuD_TNo_ChNb; fCdelete++;}
387  if ( fMenuBarD_TNo_ChNb != 0 ) {fMenuBarD_TNo_ChNb->Delete(); fCdelete++;}
388  if ( fLayoutMenuBarD_TNo_ChNb != 0 ) {delete fLayoutMenuBarD_TNo_ChNb; fCdelete++;}
389 
390  if ( fLayoutVmmD_TNo_ChNbFrame != 0 ) {delete fLayoutVmmD_TNo_ChNbFrame; fCdelete++;}
391 
392  //-----------------------------------------------------------
393  if ( fVmmD_MCs_ChNbFrame != 0 ) {delete fVmmD_MCs_ChNbFrame; fCdelete++;}
394 
395  if ( fVmaxD_MCs_ChNbFrame != 0 ) {delete fVmaxD_MCs_ChNbFrame; fCdelete++;}
396  if ( fVmaxD_MCs_ChNbBut != 0 ) {delete fVmaxD_MCs_ChNbBut; fCdelete++;}
397  if ( fLayoutVmaxD_MCs_ChNbBut != 0 ) {delete fLayoutVmaxD_MCs_ChNbBut; fCdelete++;}
398  if ( fVmaxD_MCs_ChNbText != 0 ) {fVmaxD_MCs_ChNbText->Delete(); fCdelete++;}
399  if ( fEntryVmaxD_MCs_ChNbNumber != 0 ) {delete fEntryVmaxD_MCs_ChNbNumber; fCdelete++;}
400  if ( fLayoutVmaxD_MCs_ChNbFieldText != 0 ) {delete fLayoutVmaxD_MCs_ChNbFieldText; fCdelete++;}
401  if ( fLayoutVmaxD_MCs_ChNbFrame != 0 ) {delete fLayoutVmaxD_MCs_ChNbFrame; fCdelete++;}
402 
403  if ( fVminD_MCs_ChNbFrame != 0 ) {delete fVminD_MCs_ChNbFrame; fCdelete++;}
404  if ( fVminD_MCs_ChNbBut != 0 ) {delete fVminD_MCs_ChNbBut; fCdelete++;}
405  if ( fLayoutVminD_MCs_ChNbBut != 0 ) {delete fLayoutVminD_MCs_ChNbBut; fCdelete++;}
406  if ( fVminD_MCs_ChNbText != 0 ) {fVminD_MCs_ChNbText->Delete(); fCdelete++;}
407  if ( fEntryVminD_MCs_ChNbNumber != 0 ) {delete fEntryVminD_MCs_ChNbNumber; fCdelete++;}
408  if ( fLayoutVminD_MCs_ChNbFieldText != 0 ) {delete fLayoutVminD_MCs_ChNbFieldText; fCdelete++;}
409  if ( fLayoutVminD_MCs_ChNbFrame != 0 ) {delete fLayoutVminD_MCs_ChNbFrame; fCdelete++;}
410 
411  if ( fMenuD_MCs_ChNb != 0 ) {delete fMenuD_MCs_ChNb; fCdelete++;}
412  if ( fMenuBarD_MCs_ChNb != 0 ) {fMenuBarD_MCs_ChNb->Delete(); fCdelete++;}
413  if ( fLayoutMenuBarD_MCs_ChNb != 0 ) {delete fLayoutMenuBarD_MCs_ChNb; fCdelete++;}
414 
415  if ( fLayoutVmmD_MCs_ChNbFrame != 0 ) {delete fLayoutVmmD_MCs_ChNbFrame; fCdelete++;}
416 
417  //............................................... Frame Sig + Menus Sig
418  if ( fStexHozFrame != 0 ) {delete fStexHozFrame; fCdelete++;}
419 
420  //-------------------------------------------------------------
421  if ( fVmmD_LFN_ChNbFrame != 0 ) {delete fVmmD_LFN_ChNbFrame; fCdelete++;}
422 
423  if ( fVmaxD_LFN_ChNbFrame != 0 ) {delete fVmaxD_LFN_ChNbFrame; fCdelete++;}
424  if ( fVmaxD_LFN_ChNbBut != 0 ) {delete fVmaxD_LFN_ChNbBut; fCdelete++;}
425  if ( fLayoutVmaxD_LFN_ChNbBut != 0 ) {delete fLayoutVmaxD_LFN_ChNbBut; fCdelete++;}
426  if ( fVmaxD_LFN_ChNbText != 0 ) {fVmaxD_LFN_ChNbText->Delete(); fCdelete++;}
427  if ( fEntryVmaxD_LFN_ChNbNumber != 0 ) {delete fEntryVmaxD_LFN_ChNbNumber; fCdelete++;}
428  if ( fLayoutVmaxD_LFN_ChNbFieldText != 0 ) {delete fLayoutVmaxD_LFN_ChNbFieldText; fCdelete++;}
429  if ( fLayoutVmaxD_LFN_ChNbFrame != 0 ) {delete fLayoutVmaxD_LFN_ChNbFrame; fCdelete++;}
430 
431  if ( fVminD_LFN_ChNbFrame != 0 ) {delete fVminD_LFN_ChNbFrame; fCdelete++;}
432  if ( fVminD_LFN_ChNbBut != 0 ) {delete fVminD_LFN_ChNbBut; fCdelete++;}
433  if ( fLayoutVminD_LFN_ChNbBut != 0 ) {delete fLayoutVminD_LFN_ChNbBut; fCdelete++;}
434  if ( fVminD_LFN_ChNbText != 0 ) {fVminD_LFN_ChNbText->Delete(); fCdelete++;}
435  if ( fEntryVminD_LFN_ChNbNumber != 0 ) {delete fEntryVminD_LFN_ChNbNumber; fCdelete++;}
436  if ( fLayoutVminD_LFN_ChNbFieldText != 0 ) {delete fLayoutVminD_LFN_ChNbFieldText; fCdelete++;}
437  if ( fLayoutVminD_LFN_ChNbFrame != 0 ) {delete fLayoutVminD_LFN_ChNbFrame; fCdelete++;}
438 
439  if ( fMenuD_LFN_ChNb != 0 ) {delete fMenuD_LFN_ChNb; fCdelete++;}
440  if ( fMenuBarD_LFN_ChNb != 0 ) {fMenuBarD_LFN_ChNb->Delete(); fCdelete++;}
441  if ( fLayoutMenuBarD_LFN_ChNb != 0 ) {delete fLayoutMenuBarD_LFN_ChNb; fCdelete++;}
442 
443  if ( fLayoutVmmD_LFN_ChNbFrame != 0 ) {delete fLayoutVmmD_LFN_ChNbFrame; fCdelete++;}
444 
445  //-------------------------------------------------------------
446  if ( fVmmD_HFN_ChNbFrame != 0 ) {delete fVmmD_HFN_ChNbFrame; fCdelete++;}
447 
448  if ( fVmaxD_HFN_ChNbFrame != 0 ) {delete fVmaxD_HFN_ChNbFrame; fCdelete++;}
449  if ( fVmaxD_HFN_ChNbBut != 0 ) {delete fVmaxD_HFN_ChNbBut; fCdelete++;}
450  if ( fLayoutVmaxD_HFN_ChNbBut != 0 ) {delete fLayoutVmaxD_HFN_ChNbBut; fCdelete++;}
451  if ( fVmaxD_HFN_ChNbText != 0 ) {fVmaxD_HFN_ChNbText->Delete(); fCdelete++;}
452  if ( fEntryVmaxD_HFN_ChNbNumber != 0 ) {delete fEntryVmaxD_HFN_ChNbNumber; fCdelete++;}
453  if ( fLayoutVmaxD_HFN_ChNbFieldText != 0 ) {delete fLayoutVmaxD_HFN_ChNbFieldText; fCdelete++;}
454  if ( fLayoutVmaxD_HFN_ChNbFrame != 0 ) {delete fLayoutVmaxD_HFN_ChNbFrame; fCdelete++;}
455 
456  if ( fVminD_HFN_ChNbFrame != 0 ) {delete fVminD_HFN_ChNbFrame; fCdelete++;}
457  if ( fVminD_HFN_ChNbBut != 0 ) {delete fVminD_HFN_ChNbBut; fCdelete++;}
458  if ( fLayoutVminD_HFN_ChNbBut != 0 ) {delete fLayoutVminD_HFN_ChNbBut; fCdelete++;}
459  if ( fVminD_HFN_ChNbText != 0 ) {fVminD_HFN_ChNbText->Delete(); fCdelete++;}
460  if ( fEntryVminD_HFN_ChNbNumber != 0 ) {delete fEntryVminD_HFN_ChNbNumber; fCdelete++;}
461  if ( fLayoutVminD_HFN_ChNbFieldText != 0 ) {delete fLayoutVminD_HFN_ChNbFieldText; fCdelete++;}
462  if ( fLayoutVminD_HFN_ChNbFrame != 0 ) {delete fLayoutVminD_HFN_ChNbFrame; fCdelete++;}
463 
464  if ( fMenuD_HFN_ChNb != 0 ) {delete fMenuD_HFN_ChNb; fCdelete++;}
465  if ( fMenuBarD_HFN_ChNb != 0 ) {fMenuBarD_HFN_ChNb->Delete(); fCdelete++;}
466  if ( fLayoutMenuBarD_HFN_ChNb != 0 ) {delete fLayoutMenuBarD_HFN_ChNb; fCdelete++;}
467 
468  if ( fLayoutVmmD_HFN_ChNbFrame != 0 ) {delete fLayoutVmmD_HFN_ChNbFrame; fCdelete++;}
469 
470  //-------------------------------------------------------------
471  if ( fVmmD_SCs_ChNbFrame != 0 ) {delete fVmmD_SCs_ChNbFrame; fCdelete++;}
472 
473  if ( fVmaxD_SCs_ChNbFrame != 0 ) {delete fVmaxD_SCs_ChNbFrame; fCdelete++;}
474  if ( fVmaxD_SCs_ChNbBut != 0 ) {delete fVmaxD_SCs_ChNbBut; fCdelete++;}
475  if ( fLayoutVmaxD_SCs_ChNbBut != 0 ) {delete fLayoutVmaxD_SCs_ChNbBut; fCdelete++;}
476  if ( fVmaxD_SCs_ChNbText != 0 ) {fVmaxD_SCs_ChNbText->Delete(); fCdelete++;}
477  if ( fEntryVmaxD_SCs_ChNbNumber != 0 ) {delete fEntryVmaxD_SCs_ChNbNumber; fCdelete++;}
478  if ( fLayoutVmaxD_SCs_ChNbFieldText != 0 ) {delete fLayoutVmaxD_SCs_ChNbFieldText; fCdelete++;}
479  if ( fLayoutVmaxD_SCs_ChNbFrame != 0 ) {delete fLayoutVmaxD_SCs_ChNbFrame; fCdelete++;}
480 
481  if ( fVminD_SCs_ChNbFrame != 0 ) {delete fVminD_SCs_ChNbFrame; fCdelete++;}
482  if ( fVminD_SCs_ChNbBut != 0 ) {delete fVminD_SCs_ChNbBut; fCdelete++;}
483  if ( fLayoutVminD_SCs_ChNbBut != 0 ) {delete fLayoutVminD_SCs_ChNbBut; fCdelete++;}
484  if ( fVminD_SCs_ChNbText != 0 ) {fVminD_SCs_ChNbText->Delete(); fCdelete++;}
485  if ( fEntryVminD_SCs_ChNbNumber != 0 ) {delete fEntryVminD_SCs_ChNbNumber; fCdelete++;}
486  if ( fLayoutVminD_SCs_ChNbFieldText != 0 ) {delete fLayoutVminD_SCs_ChNbFieldText; fCdelete++;}
487  if ( fLayoutVminD_SCs_ChNbFrame != 0 ) {delete fLayoutVminD_SCs_ChNbFrame; fCdelete++;}
488 
489  if ( fMenuD_SCs_ChNb != 0 ) {delete fMenuD_SCs_ChNb; fCdelete++;}
490  if ( fMenuBarD_SCs_ChNb != 0 ) {fMenuBarD_SCs_ChNb->Delete(); fCdelete++;}
491  if ( fLayoutMenuBarD_SCs_ChNb != 0 ) {delete fLayoutMenuBarD_SCs_ChNb; fCdelete++;}
492 
493  if ( fLayoutVmmD_SCs_ChNbFrame != 0 ) {delete fLayoutVmmD_SCs_ChNbFrame; fCdelete++;}
494  //-------------------------------------------------------------
495  if ( fLayoutStexHozFrame != 0 ) {delete fLayoutStexHozFrame; fCdelete++;}
496 
497  //----------------------------------------------------------------------------------------------
498 
499  //...................................... Covariances between Stins
500  if ( fVmmLHFccFrame != 0 ) {delete fVmmLHFccFrame; fCdelete++;}
501 
502  if ( fVmaxLHFccFrame != 0 ) {delete fVmaxLHFccFrame; fCdelete++;}
503  if ( fVmaxLHFccBut != 0 ) {delete fVmaxLHFccBut; fCdelete++;}
504  if ( fLayoutVmaxLHFccBut != 0 ) {delete fLayoutVmaxLHFccBut; fCdelete++;}
505  if ( fVmaxLHFccText != 0 ) {fVmaxLHFccText->Delete(); fCdelete++;}
506  if ( fEntryVmaxLHFccNumber != 0 ) {delete fEntryVmaxLHFccNumber; fCdelete++;}
507  if ( fLayoutVmaxLHFccFieldText != 0 ) {delete fLayoutVmaxLHFccFieldText; fCdelete++;}
508  if ( fLayoutVmaxLHFccFrame != 0 ) {delete fLayoutVmaxLHFccFrame; fCdelete++;}
509 
510  if ( fVminLHFccFrame != 0 ) {delete fVminLHFccFrame; fCdelete++;}
511  if ( fVminLHFccBut != 0 ) {delete fVminLHFccBut; fCdelete++;}
512  if ( fLayoutVminLHFccBut != 0 ) {delete fLayoutVminLHFccBut; fCdelete++;}
513  if ( fVminLHFccText != 0 ) {fVminLHFccText->Delete(); fCdelete++;}
514  if ( fEntryVminLHFccNumber != 0 ) {delete fEntryVminLHFccNumber; fCdelete++;}
515  if ( fLayoutVminLHFccFieldText != 0 ) {delete fLayoutVminLHFccFieldText; fCdelete++;}
516  if ( fLayoutVminLHFccFrame != 0 ) {delete fLayoutVminLHFccFrame; fCdelete++;}
517 
518  if ( fMenuLHFcc != 0 ) {delete fMenuLHFcc; fCdelete++;}
519  if ( fMenuBarLHFcc != 0 ) {fMenuBarLHFcc->Delete(); fCdelete++;}
520  if ( fLayoutMenuBarLHFcc != 0 ) {delete fLayoutMenuBarLHFcc; fCdelete++;}
521 
522  if ( fLayoutVmmLHFccFrame != 0 ) {delete fLayoutVmmLHFccFrame; fCdelete++;}
523 
524  //...................................... Low Freq Cor(c,c') for each pair of Stins
525  if ( fVmmLFccMosFrame != 0 ) {delete fVmmLFccMosFrame; fCdelete++;}
526 
527  if ( fVmaxLFccMosFrame != 0 ) {delete fVmaxLFccMosFrame; fCdelete++;}
528  if ( fVmaxLFccMosBut != 0 ) {delete fVmaxLFccMosBut; fCdelete++;}
529  if ( fLayoutVmaxLFccMosBut != 0 ) {delete fLayoutVmaxLFccMosBut; fCdelete++;}
530  if ( fVmaxLFccMosText != 0 ) {fVmaxLFccMosText->Delete(); fCdelete++;}
531  if ( fEntryVmaxLFccMosNumber != 0 ) {delete fEntryVmaxLFccMosNumber; fCdelete++;}
532  if ( fLayoutVmaxLFccMosFieldText != 0 ) {delete fLayoutVmaxLFccMosFieldText; fCdelete++;}
533  if ( fLayoutVmaxLFccMosFrame != 0 ) {delete fLayoutVmaxLFccMosFrame; fCdelete++;}
534 
535  if ( fVminLFccMosFrame != 0 ) {delete fVminLFccMosFrame; fCdelete++;}
536  if ( fVminLFccMosBut != 0 ) {delete fVminLFccMosBut; fCdelete++;}
537  if ( fLayoutVminLFccMosBut != 0 ) {delete fLayoutVminLFccMosBut; fCdelete++;}
538  if ( fVminLFccMosText != 0 ) {fVminLFccMosText->Delete(); fCdelete++;}
539  if ( fEntryVminLFccMosNumber != 0 ) {delete fEntryVminLFccMosNumber; fCdelete++;}
540  if ( fLayoutVminLFccMosFieldText != 0 ) {delete fLayoutVminLFccMosFieldText; fCdelete++;}
541  if ( fLayoutVminLFccMosFrame != 0 ) {delete fLayoutVminLFccMosFrame; fCdelete++;}
542 
543  if ( fMenuLFccMos != 0 ) {delete fMenuLFccMos; fCdelete++;}
544  if ( fMenuBarLFccMos != 0 ) {fMenuBarLFccMos->Delete(); fCdelete++;}
545  if ( fLayoutMenuBarLFccMos != 0 ) {delete fLayoutMenuBarLFccMos; fCdelete++;}
546 
547  if ( fLayoutVmmLFccMosFrame != 0 ) {delete fLayoutVmmLFccMosFrame; fCdelete++;}
548 
549  //...................................... High Freq Cor(c,c') for each pair of Stins
550  if ( fVmmHFccMosFrame != 0 ) {delete fVmmHFccMosFrame; fCdelete++;}
551 
552  if ( fVmaxHFccMosFrame != 0 ) {delete fVmaxHFccMosFrame; fCdelete++;}
553  if ( fVmaxHFccMosBut != 0 ) {delete fVmaxHFccMosBut; fCdelete++;}
554  if ( fLayoutVmaxHFccMosBut != 0 ) {delete fLayoutVmaxHFccMosBut; fCdelete++;}
555  if ( fVmaxHFccMosText != 0 ) {fVmaxHFccMosText->Delete(); fCdelete++;}
556  if ( fEntryVmaxHFccMosNumber != 0 ) {delete fEntryVmaxHFccMosNumber; fCdelete++;}
557  if ( fLayoutVmaxHFccMosFieldText != 0 ) {delete fLayoutVmaxHFccMosFieldText; fCdelete++;}
558  if ( fLayoutVmaxHFccMosFrame != 0 ) {delete fLayoutVmaxHFccMosFrame; fCdelete++;}
559 
560  if ( fVminHFccMosFrame != 0 ) {delete fVminHFccMosFrame; fCdelete++;}
561  if ( fVminHFccMosBut != 0 ) {delete fVminHFccMosBut; fCdelete++;}
562  if ( fLayoutVminHFccMosBut != 0 ) {delete fLayoutVminHFccMosBut; fCdelete++;}
563  if ( fVminHFccMosText != 0 ) {fVminHFccMosText->Delete(); fCdelete++;}
564  if ( fEntryVminHFccMosNumber != 0 ) {delete fEntryVminHFccMosNumber; fCdelete++;}
565  if ( fLayoutVminHFccMosFieldText != 0 ) {delete fLayoutVminHFccMosFieldText; fCdelete++;}
566  if ( fLayoutVminHFccMosFrame != 0 ) {delete fLayoutVminHFccMosFrame; fCdelete++;}
567 
568  if ( fMenuHFccMos != 0 ) {delete fMenuHFccMos; fCdelete++;}
569  if ( fMenuBarHFccMos != 0 ) {fMenuBarHFccMos->Delete(); fCdelete++;}
570  if ( fLayoutMenuBarHFccMos != 0 ) {delete fLayoutMenuBarHFccMos; fCdelete++;}
571 
572  if ( fLayoutVmmHFccMosFrame != 0 ) {delete fLayoutVmmHFccMosFrame; fCdelete++;}
573 
574  if ( fLayoutStexUpFrame != 0 ) {delete fLayoutStexUpFrame; fCdelete++;}
575 
576  //+++++++++++++++++++++++++++++++++++++++++ Horizontal frame Stin_A + Stin_B
577  if ( fStinSpFrame != 0 ) {delete fStinSpFrame; fCdelete++;}
578 
579  //----------------------------------- SubFrame Stin_A (Button + EntryField)
580  if ( fTxSubFrame != 0 ) {delete fTxSubFrame; fCdelete++;}
581 
582  if ( fStinAFrame != 0 ) {delete fStinAFrame; fCdelete++;}
583  if ( fStinABut != 0 ) {delete fStinABut; fCdelete++;}
584  if ( fLayoutStinABut != 0 ) {delete fLayoutStinABut; fCdelete++;}
585  if ( fEntryStinANumber != 0 ) {delete fEntryStinANumber; fCdelete++;}
586  if ( fStinAText != 0 ) {fStinAText->Delete(); fCdelete++;}
587  if ( fLayoutStinAField != 0 ) {delete fLayoutStinAField; fCdelete++;}
588 
589  //............................ Stin Crystal Numbering view (Button)
590  if ( fButChNb != 0 ) {delete fButChNb; fCdelete++;}
591  if ( fLayoutChNbBut != 0 ) {delete fLayoutChNbBut; fCdelete++;}
592 
593  //............................ Menus Stin_A
594  if ( fMenuCorssAll != 0 ) {delete fMenuCorssAll; fCdelete++;}
595  if ( fMenuBarCorssAll != 0 ) {fMenuBarCorssAll->Delete(); fCdelete++;}
596 
597  if ( fMenuCovssAll != 0 ) {delete fMenuCovssAll; fCdelete++;}
598  if ( fMenuBarCovssAll != 0 ) {fMenuBarCovssAll->Delete(); fCdelete++;}
599 
600  if ( fLayoutTxSubFrame != 0 ) {delete fLayoutTxSubFrame; fCdelete++;}
601 
602  //----------------------------------- SubFrame Stin_B (Button + EntryField)
603 
604  if ( fTySubFrame != 0 ) {delete fTySubFrame; fCdelete++;}
605 
606  if ( fStinBFrame != 0 ) {delete fStinBFrame; fCdelete++;}
607  if ( fStinBBut != 0 ) {delete fStinBBut; fCdelete++;}
608  if ( fLayoutStinBBut != 0 ) {delete fLayoutStinBBut; fCdelete++;}
609  if ( fEntryStinBNumber != 0 ) {delete fEntryStinBNumber; fCdelete++;}
610  if ( fStinBText != 0 ) {fStinBText->Delete(); fCdelete++;}
611  if ( fLayoutStinBField != 0 ) {delete fLayoutStinBField; fCdelete++;}
612 
613  if ( fLayoutTySubFrame != 0 ) {delete fLayoutTySubFrame; fCdelete++;}
614 
615  if ( fLayoutStinSpFrame != 0 ) {delete fLayoutStinSpFrame; fCdelete++;}
616 
617  //.................................. Menus for Horizontal frame (Stin_A + Stin_B)
618 
619  if ( fMenuLFCorcc != 0 ) {delete fMenuLFCorcc; fCdelete++;}
620  if ( fMenuBarLFCorcc != 0 ) {fMenuBarLFCorcc->Delete(); fCdelete++;}
621 
622  if ( fMenuHFCorcc != 0 ) {delete fMenuHFCorcc; fCdelete++;}
623  if ( fMenuBarHFCorcc != 0 ) {fMenuBarHFCorcc->Delete(); fCdelete++;}
624 
625  //++++++++++++++++++++++++ Horizontal frame channel number (Stin_A crystal number) + sample number
626  if ( fChSpFrame != 0 ) {delete fChSpFrame; fCdelete++;}
627 
628  //------------------------------------- SubFrame Channel (Button + EntryField)
629 
630  if ( fChSubFrame != 0 ) {delete fChSubFrame; fCdelete++;}
631 
632  if ( fChanFrame != 0 ) {delete fChanFrame; fCdelete++;}
633  if ( fChanBut != 0 ) {delete fChanBut; fCdelete++;}
634  if ( fLayoutChanBut != 0 ) {delete fLayoutChanBut; fCdelete++;}
635  if ( fEntryChanNumber != 0 ) {delete fEntryChanNumber; fCdelete++;}
636  if ( fChanText != 0 ) {fChanText->Delete(); fCdelete++;}
637  if ( fLayoutChanField != 0 ) {delete fLayoutChanField; fCdelete++;}
638 
639  //................................ Menus Stin_A crystal number
640  if ( fMenuCorss != 0 ) {delete fMenuCorss; fCdelete++;}
641  if ( fMenuBarCorss != 0 ) {fMenuBarCorss->Delete(); fCdelete++;}
642 
643  if ( fMenuCovss != 0 ) {delete fMenuCovss; fCdelete++;}
644  if ( fMenuBarCovss != 0 ) {fMenuBarCovss->Delete(); fCdelete++;}
645 
646  if ( fMenuD_MSp_Samp != 0 ) {delete fMenuD_MSp_Samp; fCdelete++;}
647  if ( fMenuBarD_MSp_Samp != 0 ) {fMenuBarD_MSp_Samp->Delete(); fCdelete++;}
648 
649  if ( fMenuD_SSp_Samp != 0 ) {delete fMenuD_SSp_Samp; fCdelete++;}
650  if ( fMenuBarD_SSp_Samp != 0 ) {fMenuBarD_SSp_Samp->Delete(); fCdelete++;}
651 
652  if ( fLayoutChSubFrame != 0 ) {delete fLayoutChSubFrame; fCdelete++;}
653 
654  //------------------------------------ SubFrame Sample (Button + EntryField)
655  if ( fSpSubFrame != 0 ) {delete fSpSubFrame; fCdelete++;}
656  if ( fSampFrame != 0 ) {delete fSampFrame; fCdelete++;}
657  if ( fSampBut != 0 ) {delete fSampBut; fCdelete++;}
658  if ( fLayoutSampBut != 0 ) {delete fLayoutSampBut; fCdelete++;}
659  if ( fEntrySampNumber != 0 ) {delete fEntrySampNumber; fCdelete++;}
660  if ( fSampText != 0 ) {fSampText->Delete(); fCdelete++;}
661  if ( fLayoutSampField != 0 ) {delete fLayoutSampField; fCdelete++;}
662  if ( fLayoutSpSubFrame != 0 ) {delete fLayoutSpSubFrame; fCdelete++;}
663 
664  //................................ Menus Sample number
665 
666  // (no menu in this SubFrame)
667 
668  if ( fLayoutChSpFrame != 0 ) {delete fLayoutChSpFrame; fCdelete++;}
669 
670  //++++++++++++++++++++++++++++++++++++ Menu Event Distribution
671  if ( fMenuAdcProj != 0 ) {delete fMenuAdcProj; fCdelete++;}
672  if ( fMenuBarAdcProj != 0 ) {fMenuBarAdcProj->Delete(); fCdelete++;}
673  if ( fLayoutMenuBarAdcProj != 0 ) {delete fLayoutMenuBarAdcProj; fCdelete++;}
674 
675  //++++++++++++++++++++++++++++++++++++ Frame: Run List (Rul) (Button + EntryField)
676  if ( fRulFrame != 0 ) {delete fRulFrame; fCdelete++;}
677  if ( fRulBut != 0 ) {delete fRulBut; fCdelete++;}
678  if ( fLayoutRulBut != 0 ) {delete fLayoutRulBut; fCdelete++;}
679  if ( fEntryRulNumber != 0 ) {delete fEntryRulNumber; fCdelete++;}
680  if ( fRulText != 0 ) {fRulText->Delete(); fCdelete++;}
681  if ( fLayoutRulFieldText != 0 ) {delete fLayoutRulFieldText; fCdelete++;}
682  if ( fLayoutRulFieldFrame != 0 ) {delete fLayoutRulFieldFrame; fCdelete++;}
683 
684  //................................ Menus for time evolution
685  if ( fMenuHistory != 0 ) {delete fMenuHistory; fCdelete++;}
686  if ( fMenuBarHistory != 0 ) {fMenuBarHistory->Delete(); fCdelete++;}
687 
688  //++++++++++++++++++++++++++++++++++++ LinLog Frame
689  if ( fLinLogFrame != 0 ) {delete fLinLogFrame; fCdelete++;}
690 
691  //---------------------------------- Lin/Log X
692  if ( fButLogx != 0 ) {delete fButLogx; fCdelete++;}
693  if ( fLayoutLogxBut != 0 ) {delete fLayoutLogxBut; fCdelete++;}
694  //---------------------------------- Lin/Log Y
695  if ( fButLogy != 0 ) {delete fButLogy; fCdelete++;}
696  if ( fLayoutLogyBut != 0 ) {delete fLayoutLogyBut; fCdelete++;}
697  //---------------------------------- Proj Y
698  if ( fButProjy != 0 ) {delete fButProjy; fCdelete++;}
699  if ( fLayoutProjyBut != 0 ) {delete fLayoutProjyBut; fCdelete++;}
700 
701  //++++++++++++++++++++++++++++++++++++ Frame: General Title (Gent) (Button + EntryField)
702  if ( fGentFrame != 0 ) {delete fGentFrame; fCdelete++;}
703  if ( fGentBut != 0 ) {delete fGentBut; fCdelete++;}
704  if ( fLayoutGentBut != 0 ) {delete fLayoutGentBut; fCdelete++;}
705  if ( fEntryGentNumber != 0 ) {delete fEntryGentNumber; fCdelete++;}
706  if ( fGentText != 0 ) {fGentText->Delete(); fCdelete++;}
707  if ( fLayoutGentFieldText != 0 ) {delete fLayoutGentFieldText; fCdelete++;}
708  if ( fLayoutGentFieldFrame != 0 ) {delete fLayoutGentFieldFrame; fCdelete++;}
709 
710  //++++++++++++++++++++++++++++++++++++ Color + EXIT BUTTON
711  if ( fColorExitFrame != 0 ) {delete fColorExitFrame; fCdelete++;}
712  if ( fLayoutColorExitFrame != 0 ) {delete fLayoutColorExitFrame; fCdelete++;}
713 
714  //---------------------------------- Color Palette
715  if ( fButColPal != 0 ) {delete fButColPal; fCdelete++;}
716  if ( fLayoutColPalBut != 0 ) {delete fLayoutColPalBut; fCdelete++;}
717  //---------------------------------- Exit
718  if ( fButExit != 0 ) {delete fButExit; fCdelete++;}
719  if ( fLayoutExitBut != 0 ) {delete fLayoutExitBut; fCdelete++;}
720 
721  //++++++++++++++++++++++++++++++++++++ Last Frame
722  if ( fLastFrame != 0 ) {delete fLastFrame; fCdelete++;}
723 
724  //--------------------------------- Clone Last Canvas (Button)
725  if ( fButClone != 0 ) {delete fButClone; fCdelete++;}
726  if ( fLayoutCloneBut != 0 ) {delete fLayoutCloneBut; fCdelete++;}
727 
728  //--------------------------------- Root version (Button)
729  if ( fButRoot != 0 ) {delete fButRoot; fCdelete++;}
730  if ( fLayoutRootBut != 0 ) {delete fLayoutRootBut; fCdelete++;}
731 
732  //--------------------------------- Help (Button)
733  if ( fButHelp != 0 ) {delete fButHelp; fCdelete++;}
734  if ( fLayoutHelpBut != 0 ) {delete fLayoutHelpBut; fCdelete++;}
735 
736  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
737 
738  if ( fCnew != fCdelete )
739  {
740  cout << "*TEcnaGui> WRONG MANAGEMENT OF ALLOCATIONS: fCnew = "
741  << fCnew << ", fCdelete = " << fCdelete << endl;
742  }
743  else
744  {
745  //cout << "*TEcnaGui> BRAVO! GOOD MANAGEMENT OF ALLOCATIONS: fCnew = "
746  // << fCnew << ", fCdelete = " << fCdelete << endl;
747  }
748 
749 #endif // DEST
750 
751 #define MGRA
752 #ifndef MGRA
753  if ( fCnewRoot != fCdeleteRoot )
754  {
755  cout << "*TEcnaGui> WRONG MANAGEMENT OF ROOT ALLOCATIONS: fCnewRoot = "
756  << fCnewRoot << ", fCdeleteRoot = " << fCdeleteRoot << endl;
757  }
758  else
759  {
760  cout << "*TEcnaGui> BRAVO! GOOD MANAGEMENT OF ROOT ALLOCATIONS:"
761  << " fCnewRoot = " << fCnewRoot <<", fCdeleteRoot = "
762  << fCdeleteRoot << endl;
763  }
764 #endif // MGRA
765 
766  // cout << "TEcnaGui> Leaving destructor" << endl;
767  // cout << " fCnew = " << fCnew << ", fCdelete = " << fCdelete << endl;
768 
769  // cout << "[Info Management] CLASS: TEcnaGui. DESTROY OBJECT: this = " << this << endl;
770 
771 }
772 // end of destructor
773 
774 //===================================================================
775 //
776 // Constructor with arguments
777 //
778 //===================================================================
779 TEcnaGui::TEcnaGui(const TGWindow *p, UInt_t w, UInt_t h, const TString SubDet):
780  TGMainFrame(p, w, h)
781 {
782 //Constructor with arguments. Gui box making
783 
784  // cout << "[Info Management] CLASS: TEcnaGui. CREATE OBJECT: this = " << this << endl;
785 
786  // cout << "TEcnaGui> Entering constructor with arguments" << endl;
787  // cout << " fCnew = " << fCnew << ", fCdelete = " << fCdelete << endl;
788 
789 //========================= GENERAL INITIALISATION
790 
791  fCnew = 0;
792  fCdelete = 0;
793  fCnewRoot = 0;
794  fCdeleteRoot = 0;
795 
796  fCnaP = (TGWindow *)p;
797  fCnaW = w;
798  fCnaH = h;
799 
800  fgMaxCar = (Int_t)512;
801  fTTBELL = '\007';
802 
803  //........................ init View and Cna parameters
804  Int_t MaxCar = fgMaxCar;
805  fSubDet.Resize(MaxCar);
806  fSubDet = SubDet.Data();
807 
808  //............................................................................
809 
810  if( fSubDet == "EB" ){fStexName = "SM"; fStinName = "tower";}
811  if( fSubDet == "EE" ){fStexName = "Dee"; fStinName = "SC";}
812 
813  fCnaParPaths = 0; fCnaParPaths = new TEcnaParPaths(); //fCnew++;
814  fEcal = 0; fEcal = new TEcnaParEcal(fSubDet.Data()); //fCnew++;
815  fEcalNumbering = 0; fEcalNumbering = new TEcnaNumbering(fSubDet.Data(), fEcal); //fCnew++;
816  fCnaParHistos = 0;
817  fCnaParHistos = new TEcnaParHistos(fSubDet.Data(), fEcal, fEcalNumbering ); //fCnew++;
818  fCnaParCout = 0;
819  fCnaWrite = 0;
820  fHistos = 0;
823  fMyRootFile = 0;
824 
825  //................. Init Keys
826  InitKeys();
827 
828  //................ Init CNA Command and error numbering
829  fCnaCommand = 0;
830  fCnaError = 0;
831  //................ Init Confirm flags
832  fConfirmSubmit = 0;
833  fConfirmRunNumber = 0;
834  fConfirmCalcScc = 0;
835 
836  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Init GUI DIALOG BOX pointers %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
837 
838  fLayoutGeneral = 0;
839  fLayoutBottLeft = 0;
840  fLayoutBottRight = 0;
841  fLayoutTopLeft = 0;
842  fLayoutTopRight = 0;
843  fLayoutCenterYLeft = 0;
844  fLayoutCenterYRight = 0;
845 
846  fVoidFrame = 0;
847 
848  //+++++++++++++++++++++++++++++++++ Horizontal frame Analysis + 1st requested evt number + Run number
849  fAnaNorsRunFrame = 0;
851  //--------------------------------- Sub-Frame Analysis Name (Button+Entry Field)
852  fAnaFrame = 0;
853  fAnaBut = 0;
854  fLayoutAnaBut = 0;
855  fAnaText = 0;
856  fEntryAnaNumber = 0;
857  fLayoutAnaField = 0;
858  //--------------------------------- SubFrame: first requested evt number
859  fFevFrame = 0;
860  fFevBut = 0;
861  fLayoutFevBut = 0;
862  fFevText = 0;
863  fEntryFevNumber = 0;
866  //-------------------------------- Sub-Frame Run number (Button+Entry Field)
867  fRunFrame = 0;
868  fRunBut = 0;
869  fLayoutRunBut = 0;
870  fRunText = 0;
871  fEntryRunNumber = 0;
872  fLayoutRunField = 0;
873 
874  //+++++++++++++++++++++++++ Horizontal frame Nb Of Samples + Last requested evt number + Clean + submit
875  fFevLevStexFrame = 0;
877  //-------------------------------- Sub-Frame: Nb Of Requesred Samples (Button+Entry Field)
878  fNorsFrame = 0;
879  fNorsBut = 0;
880  fLayoutNorsBut = 0;
881  fNorsText = 0;
882  fEntryNorsNumber = 0;
883  fLayoutNorsField = 0;
884  //---------------------------- SubFrame: last requested event number
885  fLevFrame = 0;
886  fLevBut = 0;
887  fLayoutLevBut = 0;
888  fLevText = 0;
889  fEntryLevNumber = 0;
892  //................................ Menu for Clean
893  fMenuClean = 0;
894  fMenuBarClean = 0;
895  //................................ Menu for SUBMIT
896  fMenuSubmit = 0;
897  fMenuBarSubmit = 0;
898 
899  //+++++++++++++++++++++++++++++++++++ Horizontal frame StexStin number + Nb of Req evts
900  fCompStRqFrame = 0;
902 
903  //---------------------------- SubFrame: Stex number
904  fStexFrame = 0;
905  fStexBut = 0;
906  fLayoutStexBut = 0;
907  fStexText = 0;
908  fEntryStexNumber = 0;
911 
912  //---------------------------- SubFrame: number of requested events
913  fRevFrame = 0;
914  fRevBut = 0;
915  fLayoutRevBut = 0;
916  fRevText = 0;
917  fEntryRevNumber = 0;
920 
921  //+++++++++++++++++++++++++++++++++++ Horizontal frame StexStin numbering + Nb of samp for Calc + Calculations
922  fCompStnbFrame = 0;
924 
925  //................................ Stex Stin Numbering view (Button)
926  fButStexNb = 0;
927  fLayoutStexNbBut = 0;
928 
929  //---------------------------- SubFrame: NbSampForCalc
931  fNbSampForCalcBut = 0;
933  fNbSampForCalcText = 0;
937 
938  //................................ Menu for Calculations
939  fMenuComput = 0;
940  fMenuBarComput = 0;
941 
942  //=====================================================================================
943 
944  //+++++++++++++++++++++++++++++++++++++++++++ Frame for quantities relative to the Stex
945  fStexUpFrame = 0;
946 
947  //................................ Menus+Ymin+Ymax for the Stex ............................
948 
949  //...................................... Nb of evts in the data
951 
953  fVmaxD_NOE_ChNbBut = 0;
959 
961  fVminD_NOE_ChNbBut = 0;
967 
968  fMenuD_NOE_ChNb = 0;
969  fMenuBarD_NOE_ChNb = 0;
971 
973 
974  //-------------------------------------------------------------
976 
978  fVmaxD_Ped_ChNbBut = 0;
984 
986  fVminD_Ped_ChNbBut = 0;
992 
993  fMenuD_Ped_ChNb = 0;
994  fMenuBarD_Ped_ChNb = 0;
996 
998 
999  //-------------------------------------------------------------
1000  fVmmD_TNo_ChNbFrame = 0;
1001 
1003  fVmaxD_TNo_ChNbBut = 0;
1005  fVmaxD_TNo_ChNbText = 0;
1008 
1010  fVminD_TNo_ChNbBut = 0;
1012  fVminD_TNo_ChNbText = 0;
1016 
1017  fMenuD_TNo_ChNb = 0;
1018  fMenuBarD_TNo_ChNb = 0;
1021 
1023 
1024  //-------------------------------------------------------------
1025  fVmmD_MCs_ChNbFrame = 0;
1026 
1028  fVmaxD_MCs_ChNbBut = 0;
1030  fVmaxD_MCs_ChNbText = 0;
1034 
1036  fVminD_MCs_ChNbBut = 0;
1038  fVminD_MCs_ChNbText = 0;
1042 
1043  fMenuD_MCs_ChNb = 0;
1044  fMenuBarD_MCs_ChNb = 0;
1047 
1048  //............................................... Frame Sig + Menus Sig
1049  fStexHozFrame = 0;
1050 
1051  //-------------------------------------------------------------
1052  fVmmD_LFN_ChNbFrame = 0;
1053 
1055  fVmaxD_LFN_ChNbBut = 0;
1057  fVmaxD_LFN_ChNbText = 0;
1061 
1063  fVminD_LFN_ChNbBut = 0;
1065  fVminD_LFN_ChNbText = 0;
1069 
1070  fMenuD_LFN_ChNb = 0;
1071  fMenuBarD_LFN_ChNb = 0;
1073 
1075 
1076  //-------------------------------------------------------------
1077  fVmmD_HFN_ChNbFrame = 0;
1078 
1080  fVmaxD_HFN_ChNbBut = 0;
1082  fVmaxD_HFN_ChNbText = 0;
1086 
1088  fVminD_HFN_ChNbBut = 0;
1090  fVminD_HFN_ChNbText = 0;
1094 
1095  fMenuD_HFN_ChNb = 0;
1096  fMenuBarD_HFN_ChNb = 0;
1098 
1100 
1101  //-------------------------------------------------------------
1102  fVmmD_SCs_ChNbFrame = 0;
1103 
1105  fVmaxD_SCs_ChNbBut = 0;
1107  fVmaxD_SCs_ChNbText = 0;
1111 
1113  fVminD_SCs_ChNbBut = 0;
1115  fVminD_SCs_ChNbText = 0;
1119 
1120  fMenuD_SCs_ChNb = 0;
1121  fMenuBarD_SCs_ChNb = 0;
1123 
1125 
1126  //----------------------------------------------------------------------------------
1127 
1128  //...................................... Low Freq Cor(c,c') for each pair of Stins
1129  fVmmLFccMosFrame = 0;
1130 
1131  fVmaxLFccMosFrame = 0;
1132  fVmaxLFccMosBut = 0;
1134  fVmaxLFccMosText = 0;
1138 
1139  fVminLFccMosFrame = 0;
1140  fVminLFccMosBut = 0;
1142  fVminLFccMosText = 0;
1146 
1147  fMenuLFccMos = 0;
1148  fMenuBarLFccMos = 0;
1150 
1152 
1153  //...................................... High Freq Cor(c,c') for each pair of Stins
1154  fVmmHFccMosFrame = 0;
1155 
1156  fVmaxHFccMosFrame = 0;
1157  fVmaxHFccMosBut = 0;
1159  fVmaxHFccMosText = 0;
1163 
1164  fVminHFccMosFrame = 0;
1165  fVminHFccMosBut = 0;
1167  fVminHFccMosText = 0;
1171 
1172  fMenuHFccMos = 0;
1173  fMenuBarHFccMos = 0;
1175 
1177 
1178  //...................................... LF and HF Cor(c,c')
1179  fVmmLHFccFrame = 0;
1180 
1181  fVmaxLHFccFrame = 0;
1182  fVmaxLHFccBut = 0;
1183  fLayoutVmaxLHFccBut = 0;
1184  fVmaxLHFccText = 0;
1188 
1189  fVminLHFccFrame = 0;
1190  fVminLHFccBut = 0;
1191  fLayoutVminLHFccBut = 0;
1192  fVminLHFccText = 0;
1196 
1197  fMenuLHFcc = 0;
1198  fMenuBarLHFcc = 0;
1199  fLayoutMenuBarLHFcc = 0;
1200 
1202 
1203  fLayoutStexHozFrame = 0;
1204 
1205  fLayoutStexUpFrame = 0;
1206 
1207  //+++++++++++++++++++++++++++++++++++++++++ Horizontal frame Stin_A + Stin_B
1208  fStinSpFrame = 0;
1209  fLayoutStinSpFrame = 0;
1210 
1211  //----------------------------------- SubFrame Stin_A (Button + EntryField)
1212 
1213  fTxSubFrame = 0;
1214  fLayoutTxSubFrame = 0;
1215 
1216  fStinAFrame = 0;
1217  fStinABut = 0;
1218  fLayoutStinABut = 0;
1219 
1220  fStinAText = 0;
1221  fEntryStinANumber = 0;
1222  fLayoutStinAField = 0;
1223 
1224  //............................ Stin Crystal Numbering view (Button)
1225  fButChNb = 0;
1226  fLayoutChNbBut = 0;
1227 
1228  //............................ Menus Stin_A
1229  fMenuCorssAll = 0;
1230  fMenuBarCorssAll = 0;
1231 
1232  fMenuCovssAll = 0;
1233  fMenuBarCovssAll = 0;
1234 
1235  //----------------------------------- SubFrame Stin_B (Button + EntryField)
1236  fTySubFrame = 0;
1237  fLayoutTySubFrame = 0;
1238 
1239  fStinBFrame = 0;
1240  fStinBBut = 0;
1241  fLayoutStinBBut = 0;
1242 
1243  fStinBText = 0;
1244  fEntryStinBNumber = 0;
1245  fLayoutStinBField = 0;
1246 
1247  //.................................. Menus for Horizontal frame (Stin_A + Stin_B)
1248  fMenuBarLFCorcc = 0;
1249  fMenuLFCorcc = 0;
1250 
1251  fMenuBarHFCorcc = 0;
1252  fMenuHFCorcc = 0;
1253 
1254  //++++++++++++++++++++++++ Horizontal frame channel number (Stin_A crystal number) + sample number
1255  fChSpFrame = 0;
1256  fLayoutChSpFrame = 0;
1257 
1258  //------------------------------------- SubFrame Channel (Button + EntryField)
1259  fChanFrame = 0;
1260  fChanBut = 0;
1261  fChanText = 0;
1262  fEntryChanNumber = 0;
1263  fLayoutChanBut = 0;
1264  fLayoutChanField = 0;
1265 
1266  fChSubFrame = 0;
1267  fLayoutChSubFrame = 0;
1268 
1269  //................................ Menus Stin_A crystal number
1270  fMenuCorss = 0;
1271  fMenuBarCorss = 0;
1272 
1273  fMenuCovss = 0;
1274  fMenuBarCovss = 0;
1275 
1276  fMenuD_MSp_Samp = 0;
1277  fMenuBarD_MSp_Samp = 0;
1278 
1279  fMenuD_SSp_Samp = 0;
1280  fMenuBarD_SSp_Samp = 0;
1281 
1282  //------------------------------------ SubFrame Sample (Button + EntryField)
1283  fSampFrame = 0;
1284  fSampBut = 0;
1285 
1286  fSampText = 0;
1287  fEntrySampNumber = 0;
1288  fLayoutSampBut = 0;
1289  fLayoutSampField = 0;
1290 
1291  fSpSubFrame = 0;
1292  fLayoutSpSubFrame = 0;
1293 
1294  //................................ Menus Sample number
1295 
1296  // (no menu in this SubFrame)
1297 
1298  //++++++++++++++++++++++++++++++++++++ Frame: Run List (Rul) (Button + EntryField)
1299  fRulFrame = 0;
1300  fRulBut = 0;
1301  fLayoutRulBut = 0;
1302  fRulText = 0;
1303  fEntryRulNumber = 0;
1304  fLayoutRulFieldText = 0;
1306 
1307  //................................ Menus for time evolution
1308  fMenuHistory = 0;
1309  fMenuBarHistory = 0;
1310 
1311  //++++++++++++++++++++++++++++++++++++ Menu Event Distribution
1312  fMenuAdcProj = 0;
1313  fMenuBarAdcProj = 0;
1315 
1316  //++++++++++++++++++++++++++++++++++++ LinLog + Color Palette Frame
1317  fLinLogFrame = 0;
1318 
1319  //---------------------------------- Lin/Log X
1320  fButLogx = 0;
1321  fLayoutLogxBut = 0;
1322  //---------------------------------- Lin/Log Y
1323  fButLogy = 0;
1324  fLayoutLogyBut = 0;
1325  //---------------------------------- Proj Y
1326  fButProjy = 0;
1327  fLayoutProjyBut = 0;
1328 
1329  //++++++++++++++++++++++++++++++++++++ Frame: General Title (Gent) (Button + EntryField)
1330  fGentFrame = 0;
1331  fGentBut = 0;
1332  fLayoutGentBut = 0;
1333  fGentText = 0;
1334  fEntryGentNumber = 0;
1337 
1338  //++++++++++++++++++++++++++++++++++++ Color + Exit
1339  //---------------------------------- Color Palette
1340  fButColPal = 0;
1341  fLayoutColPalBut = 0;
1342  //---------------------------------- Exit
1343  fButExit = 0;
1344  fLayoutExitBut = 0;
1345 
1346  //++++++++++++++++++++++++++++++++++++ Last Frame
1347  fLastFrame = 0;
1348 
1349  //--------------------------------- Clone Last Canvas (Button)
1350  fButClone = 0;
1351  fLayoutCloneBut = 0;
1352 
1353  //--------------------------------- Root version (Button)
1354  fButRoot = 0;
1355  fLayoutRootBut = 0;
1356 
1357  //--------------------------------- Help (Button)
1358  fButHelp = 0;
1359  fLayoutHelpBut = 0;
1360 
1361  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%% end of init GUI DIALOG BOX pointers %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1362 
1363  //........ Init Buttons codes with input widgets:
1364  // run, channel, sample
1365 
1366  fAnaButC = 1;
1367  fRunButC = 2;
1368 
1369  //.................. Init codes Menu bars (all the numbers must be different)
1370 
1371  fMenuSubmit8nmC = 2011;
1372  fMenuSubmit1nhC = 2012;
1373  fMenuSubmit8nhC = 2013;
1374  fMenuSubmit1ndC = 2014;
1375  fMenuSubmit1nwC = 2015;
1376 
1377  fMenuCleanSubC = 3011;
1378  fMenuCleanJobC = 3012;
1379  fMenuCleanPythC = 3013;
1380  fMenuCleanAllC = 3014;
1381 
1382  fMenuComputStdC = 3111;
1383  fMenuComputSccC = 3112;
1384  fMenuComputSttC = 3113;
1385 
1386  fMenuD_NOE_ChNbFullC = 600101;
1387  fMenuD_NOE_ChNbSameC = 600102;
1388  fMenuD_NOE_ChNbAsciiFileC = 600104;
1389 
1390  fMenuD_Ped_ChNbFullC = 123051;
1391  fMenuD_Ped_ChNbSameC = 123052;
1392  fMenuD_Ped_ChNbAsciiFileC = 123054;
1393 
1394  fMenuD_TNo_ChNbFullC = 123061;
1395  fMenuD_TNo_ChNbSameC = 123062;
1396  fMenuD_TNo_ChNbSamePC = 123063;
1397  fMenuD_TNo_ChNbAsciiFileC = 123064;
1398 
1399  fMenuD_MCs_ChNbFullC = 123071;
1400  fMenuD_MCs_ChNbSameC = 123072;
1401  fMenuD_MCs_ChNbSamePC = 123073;
1402  fMenuD_MCs_ChNbAsciiFileC = 123074;
1403 
1404  fMenuD_LFN_ChNbFullC = 800051;
1405  fMenuD_LFN_ChNbSameC = 800052;
1406  fMenuD_LFN_ChNbSamePC = 800053;
1407  fMenuD_LFN_ChNbAsciiFileC = 800054;
1408 
1409  fMenuD_HFN_ChNbFullC = 800061;
1410  fMenuD_HFN_ChNbSameC = 800062;
1411  fMenuD_HFN_ChNbSamePC = 800063;
1412  fMenuD_HFN_ChNbAsciiFileC = 800064;
1413 
1414  fMenuD_SCs_ChNbFullC = 800071;
1415  fMenuD_SCs_ChNbSameC = 800072;
1416  fMenuD_SCs_ChNbSamePC = 800073;
1417  fMenuD_SCs_ChNbAsciiFileC = 800074;
1418 
1419  fMenuLFccColzC = 70010;
1420  fMenuLFccLegoC = 70011;
1421  fMenuHFccColzC = 70020;
1422  fMenuHFccLegoC = 70021;
1423 
1424  fMenuLFccMosColzC = 70110;
1425  fMenuLFccMosLegoC = 70111;
1426  fMenuHFccMosColzC = 70120;
1427  fMenuHFccMosLegoC = 70121;
1428 
1429  fMenuD_NOE_ChNbHocoVecoC = 524051;
1430  fMenuD_Ped_ChNbHocoVecoC = 524052;
1431  fMenuD_TNo_ChNbHocoVecoC = 524053;
1432  fMenuD_MCs_ChNbHocoVecoC = 524054;
1433  fMenuD_LFN_ChNbHocoVecoC = 524055;
1434  fMenuD_HFN_ChNbHocoVecoC = 524056;
1435  fMenuD_SCs_ChNbHocoVecoC = 524057;
1436 
1437  fStinAButC = 90009;
1438  fStinBButC = 90010;
1439 
1440  fChanButC = 6;
1441  fSampButC = 7;
1442 
1443  fMenuCorssAllColzC = 10;
1444  fMenuCovssAllColzC = 11;
1445 
1446  fMenuCorssColzC = 221;
1447  fMenuCorssBoxC = 222;
1448  fMenuCorssTextC = 223;
1449  fMenuCorssContzC = 224;
1450  fMenuCorssLegoC = 225;
1451  fMenuCorssSurf1C = 226;
1452  fMenuCorssSurf2C = 227;
1453  fMenuCorssSurf3C = 228;
1454  fMenuCorssSurf4C = 229;
1455  fMenuCorssAsciiFileC = 220;
1456 
1457  fMenuCovssColzC = 231;
1458  fMenuCovssBoxC = 232;
1459  fMenuCovssTextC = 233;
1460  fMenuCovssContzC = 234;
1461  fMenuCovssLegoC = 235;
1462  fMenuCovssSurf1C = 236;
1463  fMenuCovssSurf2C = 237;
1464  fMenuCovssSurf3C = 238;
1465  fMenuCovssSurf4C = 239;
1466  fMenuCovssAsciiFileC = 230;
1467 
1470 
1473 
1474  fMenuLFCorccColzC = 51;
1475  fMenuLFCorccLegoC = 52;
1476 
1477  fMenuHFCorccColzC = 61;
1478  fMenuHFCorccLegoC = 62;
1479 
1484 
1487 
1491 
1495 
1499 
1503 
1507 
1508  //...................... Init Button codes: Root version, Help, Exit
1509  fButStexNbC = 90;
1510  fButChNbC = 91;
1511  fButCloneC = 95;
1512  fButRootC = 96;
1513  fButHelpC = 97;
1514  fButExitC = 98;
1515 
1516  //=================================== LIN/LOG + Y proj + Color palette flags
1517  MaxCar = fgMaxCar;
1518  fMemoScaleX.Resize(MaxCar);
1519  fMemoScaleX = "LIN";
1520 
1521  MaxCar = fgMaxCar;
1522  fMemoScaleY.Resize(MaxCar);
1523  fMemoScaleY = "LIN";
1524 
1525  MaxCar = fgMaxCar;
1526  fMemoProjY.Resize(MaxCar);
1527  fMemoProjY = "normal";
1528 
1529  MaxCar = fgMaxCar;
1530  fMemoColPal.Resize(MaxCar);
1531  fMemoColPal = "ECCNAColor";
1532 
1533  //=================================== Init option codes =================================
1534 
1535  MaxCar = fgMaxCar;
1536  fOptPlotFull.Resize(MaxCar);
1537  fOptPlotFull = "ONLYONE";
1538 
1539  MaxCar = fgMaxCar;
1540  fOptPlotSame.Resize(MaxCar);
1541  fOptPlotSame = "SAME";
1542 
1543  MaxCar = fgMaxCar;
1544  fOptPlotSameP.Resize(MaxCar);
1545  fOptPlotSameP = "SAME n";
1546 
1547  MaxCar = fgMaxCar;
1548  fOptAscii.Resize(MaxCar);
1549  fOptAscii = "ASCII";
1550 
1551  //================================================================================================
1552 
1553  //-------------------------------------------------------------------------
1554  //
1555  //
1556  // B O X M A K I N G
1557  //
1558  //
1559  //-------------------------------------------------------------------------
1560 
1561 //......................... Background colors
1562 
1563  //TColor* my_color = new TColor();
1564  //Color_t orange = (Color_t)my_color->GetColor("#FF6611"); // orange
1565 
1566  Pixel_t SubDetColor = GetBackground();
1567 
1568  if( fSubDet == "EB" ){SubDetColor = GetBackground();}
1569  if( fSubDet == "EE" ){SubDetColor = GetBackground();}
1570 
1571  // Bool_t GlobFont = kFALSE;
1572 
1573  //Pixel_t BkgColMainWindow = (Pixel_t)SubDetColor;
1574  //Pixel_t BkgColChSpFrame = (Pixel_t)SubDetColor;
1575  //Pixel_t BkgColStexUpFrame = (Pixel_t)SubDetColor;
1576 
1577  // Pixel_t BkgColButExit = (Pixel_t)555888;
1578 
1579  // enum ELayoutHints {
1580  // kLHintsNoHints = 0,
1581  // kLHintsLeft = BIT(0),
1582  // kLHintsCenterX = BIT(1),
1583  // kLHintsRight = BIT(2),
1584  // kLHintsTop = BIT(3),
1585  // kLHintsCenterY = BIT(4),
1586  // kLHintsBottom = BIT(5),
1587  // kLHintsExpandX = BIT(6),
1588  // kLHintsExpandY = BIT(7),
1589  // kLHintsNormal = (kLHintsLeft | kLHintsTop)
1590  // bits 8-11 used by ETableLayoutHints
1591  // };
1592 
1593  fLayoutGeneral = new TGLayoutHints (kLHintsCenterX | kLHintsCenterY); fCnew++;
1594  fLayoutBottLeft = new TGLayoutHints (kLHintsLeft | kLHintsBottom); fCnew++;
1595  fLayoutTopLeft = new TGLayoutHints (kLHintsLeft | kLHintsTop); fCnew++;
1596  fLayoutBottRight = new TGLayoutHints (kLHintsRight | kLHintsBottom); fCnew++;
1597  fLayoutTopRight = new TGLayoutHints (kLHintsRight | kLHintsTop); fCnew++;
1598  fLayoutCenterYLeft = new TGLayoutHints (kLHintsLeft | kLHintsCenterY); fCnew++;
1599  fLayoutCenterYRight = new TGLayoutHints (kLHintsRight | kLHintsCenterY); fCnew++;
1600  fLayoutCenterXTop = new TGLayoutHints (kLHintsCenterX | kLHintsTop); fCnew++;
1601 
1602  fVoidFrame = new TGCompositeFrame(this,60,20, kVerticalFrame, kSunkenFrame); fCnew++;
1603  AddFrame(fVoidFrame, fLayoutGeneral);
1604 
1605  //......................... Pads border
1606 
1607  Int_t xB1 = 0;
1608 
1609  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1610  //
1611  // SECTOR 1: Python-source, Submit, File Parameters, Calculations
1612  //
1613  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1614  //TString xPyfButText = " Source file for python (DBS)";
1615 
1616  //Int_t pyf_buf_lenght = 220;
1617 
1618  //fPyfFrame = new TGCompositeFrame(this,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
1619 
1620  //fPyfBut= new TGTextButton(fPyfFrame, xPyfButText); fCnew++;
1621  //fPyfBut->Connect("Clicked()","TEcnaGui", this, "DoButtonPyf()");
1622  //fPyfBut->SetToolTipText
1623  // ("Click here to register the name of the file written on the right");
1624  //fPyfBut->SetBackgroundColor(SubDetColor);
1625  //fLayoutPyfBut =
1626  // new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
1627  //fPyfFrame->AddFrame(fPyfBut, fLayoutPyfBut);
1628 
1629  //fEntryPyfNumber = new TGTextBuffer(); fCnew++;
1630  //fPyfText = new TGTextEntry(fPyfFrame, fEntryPyfNumber); fCnew++;
1631  //fPyfText->SetToolTipText("File containing the data file names \n of the python file source sector.\n Click here and enter the name of this file");
1632  //fPyfText->Resize(pyf_buf_lenght, fPyfText->GetDefaultHeight());
1633  //fPyfText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonPyf()");
1634  //fLayoutPyfFieldText =
1635  // new TGLayoutHints(kLHintsBottom | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
1636  //fPyfFrame->AddFrame(fPyfText, fLayoutPyfFieldText);
1637 
1638  //fLayoutPyfFieldFrame =
1639  // new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
1640  //AddFrame(fPyfFrame, fLayoutPyfFieldFrame);
1641 
1642  //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1643  //
1644  // Horizontal frame Analysis + First requested evt number + Run number
1645  //
1646  //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1647  fAnaNorsRunFrame = new TGCompositeFrame(this,60,20,kHorizontalFrame,
1648  GetDefaultFrameBackground()); fCnew++;
1649 
1650  //=================================== ANALYSIS NAME (type of analysis)
1651  TString xAnaButText = " Analysis ";
1652  Int_t typ_of_ana_buf_lenght = 80;
1653  fAnaFrame = new TGCompositeFrame(fAnaNorsRunFrame,60,20, kHorizontalFrame,
1654  kSunkenFrame); fCnew++;
1655  //..................... Button
1656  fAnaBut = new TGTextButton(fAnaFrame, xAnaButText, fAnaButC); fCnew++;
1657  fAnaBut->Connect("Clicked()","TEcnaGui", this, "DoButtonAna()");
1658  // fAnaBut->Resize(typ_of_ana_buf_lenght, fAnaBut->GetDefaultHeight());
1659  fAnaBut->SetToolTipText("Click here to register the analysis name written on the right");
1660  fAnaBut->SetBackgroundColor(SubDetColor);
1661  //fAnaBut->SetFont("courier", GlobFont);
1662  fLayoutAnaBut =
1663  new TGLayoutHints(kLHintsLeft | kLHintsTop, xB1,xB1,xB1,xB1); fCnew++;
1664  fAnaFrame->AddFrame(fAnaBut, fLayoutAnaBut);
1665  //...................... Entry field
1666  fEntryAnaNumber = new TGTextBuffer(); fCnew++;
1667  fAnaText = new TGTextEntry(fAnaFrame, fEntryAnaNumber); fCnew++;
1668  fAnaText->SetToolTipText
1669  ("Click and enter the analysis name (code for type of analysis)");
1670  fAnaText->Resize(typ_of_ana_buf_lenght, fAnaText->GetDefaultHeight());
1672  fAnaText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonAna()");
1673  fLayoutAnaField =
1674  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
1675  fAnaFrame->AddFrame(fAnaText, fLayoutAnaField);
1676 
1677  //=================================== FIRST REQUESTED EVENT NUMBER
1678  TString xFirstReqEvtNumberButText = " 1st event# ";
1679  Int_t first_evt_buf_lenght = 65;
1680  fFevFrame =
1681  new TGCompositeFrame(fAnaNorsRunFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
1682 
1683  fFevBut= new TGTextButton(fFevFrame, xFirstReqEvtNumberButText); fCnew++;
1684  fFevBut->Connect("Clicked()","TEcnaGui", this, "DoButtonFev()");
1685  fFevBut->SetToolTipText
1686  ("Click here to register the number of the first requested event number");
1687  fFevBut->SetBackgroundColor(SubDetColor);
1688  fLayoutFevBut =
1689  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
1690  fFevFrame->AddFrame(fFevBut, fLayoutFevBut);
1691 
1692  fEntryFevNumber = new TGTextBuffer(); fCnew++;
1693  fFevText = new TGTextEntry(fFevFrame, fEntryFevNumber); fCnew++;
1694  fFevText->SetToolTipText("Click and enter the first requested event number");
1695  fFevText->Resize(first_evt_buf_lenght, fFevText->GetDefaultHeight());
1697  fFevText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonFev()");
1699  new TGLayoutHints(kLHintsBottom | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
1701 
1702  //=================================== RUN
1703  TString xRunButText = " Run ";
1704  Int_t run_buf_lenght = 65;
1705  fRunFrame = new TGCompositeFrame(fAnaNorsRunFrame,0,0,
1706  kHorizontalFrame, kSunkenFrame); fCnew++;
1707  fRunBut = new TGTextButton(fRunFrame, xRunButText, fRunButC); fCnew++;
1708  fRunBut->Connect("Clicked()","TEcnaGui", this, "DoButtonRun()");
1709  fRunBut->SetToolTipText("Click here to register the run number");
1710  fRunBut->SetBackgroundColor(SubDetColor);
1711  // fRunBut->SetFont("helvetica", GlobFont);
1712  fLayoutRunBut =
1713  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1); fCnew++;
1714  fRunFrame->AddFrame(fRunBut, fLayoutRunBut);
1715  fEntryRunNumber = new TGTextBuffer(); fCnew++;
1716  fRunText = new TGTextEntry(fRunFrame, fEntryRunNumber); fCnew++;
1717  fRunText->SetToolTipText("Click and enter the run number");
1718  fRunText->Resize(run_buf_lenght, fRunText->GetDefaultHeight());
1720  fRunText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonRun()");
1721  fLayoutRunField =
1722  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
1723  fRunFrame->AddFrame(fRunText, fLayoutRunField);
1724 
1725  //-------------------------- display frame ana + Fev + Run
1729  fLayoutAnaNorsRunFrame = new TGLayoutHints(kLHintsTop | kLHintsExpandX,
1730  xB1, xB1, xB1, xB1); fCnew++;
1731 
1733 
1734  //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1735  //
1736  // Horizontal frame Nb Of Samples + last requested evt number + Clean + Submit
1737  //
1738  //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1739  fFevLevStexFrame = new TGCompositeFrame(this,60,20,kHorizontalFrame,
1740  GetDefaultFrameBackground()); fCnew++;
1741 
1742  //=================================== Number Of Requested Samples
1743  TString xNorsButText = "Nb Samp in File";
1744  Int_t nors_buf_lenght = 45;
1745  fNorsFrame = new TGCompositeFrame(fFevLevStexFrame,0,0, kHorizontalFrame,
1746  kSunkenFrame); fCnew++;
1747  //..................... Button
1748  fNorsBut = new TGTextButton(fNorsFrame, xNorsButText, fNorsButC); fCnew++;
1749  fNorsBut->Connect("Clicked()","TEcnaGui", this, "DoButtonNors()");
1750  //fNorsBut->Resize(nors_buf_lenght, fNorsBut->GetDefaultHeight());
1751  fNorsBut->SetToolTipText("Click here to register the value written on the right");
1752  fNorsBut->SetBackgroundColor(SubDetColor);
1753  //fNorsBut->SetFont("courier", GlobFont);
1754  fLayoutNorsBut =
1755  new TGLayoutHints(kLHintsLeft | kLHintsTop, xB1,xB1,xB1,xB1); fCnew++;
1756  fNorsFrame->AddFrame(fNorsBut, fLayoutNorsBut);
1757  //...................... Entry field
1758  fEntryNorsNumber = new TGTextBuffer(); fCnew++;
1759  fNorsText = new TGTextEntry(fNorsFrame, fEntryNorsNumber); fCnew++;
1760  fNorsText->SetToolTipText("Click and enter the number of required samples");
1761  fNorsText->Resize(nors_buf_lenght, fNorsText->GetDefaultHeight());
1763  fNorsText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonNors()");
1765  new TGLayoutHints(kLHintsTop | kLHintsCenterX, xB1,xB1,xB1,xB1); fCnew++;
1767 
1768  //=================================== LAST REQUESTED EVENT NUMBER
1769  TString xLastReqEvtButText = " Last event# ";
1770  Int_t last_evt_buf_lenght = 65;
1771  fLevFrame =
1772  new TGCompositeFrame(fFevLevStexFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
1773 
1774  fLevBut = new TGTextButton(fLevFrame, xLastReqEvtButText); fCnew++;
1775  fLevBut->Connect("Clicked()","TEcnaGui", this, "DoButtonLev()");
1776  fLevBut->SetToolTipText("Click here to register the last requested event number");
1777  fLevBut->SetBackgroundColor(SubDetColor);
1778  fLayoutLevBut =
1779  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
1780  fLevFrame->AddFrame(fLevBut, fLayoutLevBut);
1781 
1782  fEntryLevNumber = new TGTextBuffer(); fCnew++;
1783  fLevText = new TGTextEntry(fLevFrame, fEntryLevNumber); fCnew++;
1784  fLevText->SetToolTipText("Click and enter the last requested event number");
1785  fLevText->Resize(last_evt_buf_lenght, fLevText->GetDefaultHeight());
1787  fLevText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonLev()");
1789  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
1791 
1792  //----------------------------------- Clean
1793  TString xMenuBarClean = "Clean ";
1794 
1795  fMenuClean = new TGPopupMenu(gClient->GetRoot()); fCnew++;
1796  fMenuClean->AddEntry("Submission scripts",fMenuCleanSubC);
1797  fMenuClean->AddEntry("LSFJOB reports",fMenuCleanJobC);
1798  fMenuClean->AddEntry("Python files",fMenuCleanPythC);
1799  fMenuClean->AddEntry("All",fMenuCleanAllC);
1800 
1801  fMenuClean->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
1802  fMenuBarClean = new TGMenuBar(fFevLevStexFrame , 1, 1, kHorizontalFrame); fCnew++;
1803  fMenuBarClean->AddPopup(xMenuBarClean, fMenuClean, fLayoutTopLeft);
1804 
1805  //--------------------------------- SUBMIT IN BATCH MODE
1806  TString xMenuBarSubmit = " Submit ";
1807  fMenuSubmit = new TGPopupMenu(gClient->GetRoot()); fCnew++;
1808 
1809  fMenuSubmit->AddEntry(" -q 8nm ",fMenuSubmit8nmC);
1810  fMenuSubmit->AddEntry(" -q 1nh ",fMenuSubmit1nhC);
1811  fMenuSubmit->AddEntry(" -q 8nh ",fMenuSubmit8nhC);
1812  fMenuSubmit->AddEntry(" -q 1nd ",fMenuSubmit1ndC);
1813  fMenuSubmit->AddEntry(" -q 1nw ",fMenuSubmit1nwC);
1814 
1815  fMenuSubmit->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
1816  fMenuBarSubmit = new TGMenuBar(fFevLevStexFrame, 1, 1, kHorizontalFrame); fCnew++;
1817  fMenuBarSubmit->AddPopup(xMenuBarSubmit, fMenuSubmit, fLayoutTopLeft);
1818 
1819  //-------------------------- display frame Nors + Lev + Clean + Submit
1824 
1825  fLayoutFevLevStexFrame = new TGLayoutHints(kLHintsTop | kLHintsExpandX,
1826  xB1, xB1, xB1, xB1); fCnew++;
1827 
1829 
1830 
1831  //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1832  //
1833  // Horizontal Frame: StexNumber + Nb of Requested events
1834  //
1835  //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1836  fCompStRqFrame = new TGCompositeFrame(this,60,20,kHorizontalFrame,
1837  GetDefaultFrameBackground()); fCnew++;
1838 
1839  //----------------------------------- STEX NUMBER
1840  TString xSumoButText;
1841  if( fSubDet == "EB" ){xSumoButText = " SM# (0=EB) ";}
1842  if( fSubDet == "EE" ){xSumoButText = " Dee# (0=EE) ";}
1843 
1844  Int_t stex_number_buf_lenght = 36;
1845  fStexFrame =
1846  new TGCompositeFrame(fCompStRqFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
1847 
1848  fStexBut = new TGTextButton(fStexFrame, xSumoButText); fCnew++;
1849  fStexBut->Connect("Clicked()","TEcnaGui", this, "DoButtonStex()");
1850  fStexBut->SetToolTipText("Click here to register the number written on the right");
1851  fStexBut->SetBackgroundColor(SubDetColor);
1852  //fStexBut->SetFont("courier", GlobFont);
1853  fLayoutStexBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
1854  fStexFrame->AddFrame(fStexBut, fLayoutStexBut);
1855 
1856  fEntryStexNumber = new TGTextBuffer(); fCnew++;
1857  fStexText = new TGTextEntry(fStexFrame, fEntryStexNumber); fCnew++;
1858 
1859  TString xStexNumber;
1860  if( fSubDet == "EB" ){xStexNumber = "Click and enter the SM number";}
1861  if( fSubDet == "EE" ){xStexNumber = "Click and enter the Dee number";}
1862  fStexText->SetToolTipText(xStexNumber);
1863  fStexText->Resize(stex_number_buf_lenght, fStexText->GetDefaultHeight());
1865  fStexText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonStex()");
1866 
1868  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
1870 
1871  //=================================== NUMBER OF REQUESTED EVENTS
1872  TString xNbOfReqEvtButText = " Nb of events ";
1873  Int_t nbof_evt_buf_lenght = 65;
1874  fRevFrame =
1875  new TGCompositeFrame(fCompStRqFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
1876 
1877  fRevBut = new TGTextButton(fRevFrame, xNbOfReqEvtButText); fCnew++;
1878  fRevBut->Connect("Clicked()","TEcnaGui", this, "DoButtonRev()");
1879  fRevBut->SetToolTipText("Click here to register the requested number of events");
1880  fRevBut->SetBackgroundColor(SubDetColor);
1881  fLayoutRevBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
1882  fRevFrame->AddFrame(fRevBut, fLayoutRevBut);
1883 
1884  fEntryRevNumber = new TGTextBuffer(); fCnew++;
1885  fRevText = new TGTextEntry(fRevFrame, fEntryRevNumber); fCnew++;
1886  fRevText->SetToolTipText("Click and enter the requested number of events");
1887  fRevText->Resize(nbof_evt_buf_lenght, fRevText->GetDefaultHeight());
1889  fRevText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonRev()");
1891  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
1893 
1894  //-------------------------- display frame stex number + Nb of req evts
1897 
1898  fLayoutCompStRqFrame = new TGLayoutHints(kLHintsTop | kLHintsExpandX,
1899  xB1, xB1, xB1, xB1); fCnew++;
1901  AddFrame(fVoidFrame, fLayoutGeneral);
1902 
1903 
1904  //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1905  //
1906  // Horizontal Frame: StexStin numbering + NbSampForCalc + Calculations
1907  //
1908  //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1909  fCompStnbFrame = new TGCompositeFrame(this,60,20,kHorizontalFrame,
1910  GetDefaultFrameBackground()); fCnew++;
1911 
1912 
1913  // ---------------------------------STEX STIN NUMBERING VIEW BUTTON
1914  //............ Button texts and lenghts of the input widgets
1915  TString xStexNbButText;
1916  if( fSubDet == "EB" ){xStexNbButText = "SM Tower Numbering";}
1917  if( fSubDet == "EE" ){xStexNbButText = "Dee SC Numbering";}
1918  fButStexNb = new TGTextButton(fCompStnbFrame, xStexNbButText, fButStexNbC); fCnew++;
1919  fButStexNb->Connect("Clicked()","TEcnaGui", this, "DoButtonStexNb()");
1920  fButStexNb->SetBackgroundColor(SubDetColor);
1921 
1922  //----------------------------------- Nb Of Samples For Calculations
1923  TString xNbSampForCalcButText = "Nb Samp Calc";
1924  Int_t nb_of_samp_calc_buf_lenght = 28;
1926  new TGCompositeFrame(fCompStnbFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
1927 
1928  fNbSampForCalcBut = new TGTextButton(fNbSampForCalcFrame, xNbSampForCalcButText); fCnew++;
1929  fNbSampForCalcBut->Connect("Clicked()","TEcnaGui", this, "DoButtonNbSampForCalc()");
1930  fNbSampForCalcBut->SetToolTipText("Click here to register the number written on the right");
1931  fNbSampForCalcBut->SetBackgroundColor(SubDetColor);
1932  //fNbSampForCalcBut->SetFont("courier", GlobFont);
1933  fLayoutNbSampForCalcBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
1935 
1936  fEntryNbSampForCalcNumber = new TGTextBuffer(); fCnew++;
1938 
1939  TString xNbSampForCalcNumber = "Click and enter the nb of samples for calculations";
1940  fNbSampForCalcText->SetToolTipText(xNbSampForCalcNumber);
1941  fNbSampForCalcText->Resize(nb_of_samp_calc_buf_lenght, fNbSampForCalcText->GetDefaultHeight());
1943  fNbSampForCalcText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonNbSampForCalc()");
1944 
1946  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
1948 
1949  //--------------------------------- Calculations Menu
1950  TString xMenuBarComput = "Calculations ";
1951  fMenuComput = new TGPopupMenu(gClient->GetRoot()); fCnew++;
1952  fMenuComput->AddEntry("Standard ( Pedestals, Noises, Cor(s,s) )",fMenuComputStdC);
1953  fMenuComput->AddEntry("Standard + |Cor(t,t')| (long time)",fMenuComputSttC);
1954  fMenuComput->AddEntry("Standard + |Cor(t,t')| + |Cor(c,c')| (long time + big file)",fMenuComputSccC);
1955 
1956  fMenuComput->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
1957  fMenuBarComput = new TGMenuBar(fCompStnbFrame , 1, 1, kHorizontalFrame); fCnew++;
1958  fMenuBarComput->AddPopup(xMenuBarComput, fMenuComput, fLayoutTopLeft);
1959 
1960  //-------------------------- display frame stexstin numbering + Nb samp for calc + Calculations
1964 
1965  fLayoutCompStnbFrame = new TGLayoutHints(kLHintsTop | kLHintsExpandX,
1966  xB1, xB1, xB1, xB1); fCnew++;
1968  AddFrame(fVoidFrame, fLayoutGeneral);
1969 
1970  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1971  //
1972  // SECTOR 2: Stex's if SM # 0 or Stas's if SM =0
1973  //
1974  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1975  Int_t minmax_buf_lenght = 45;
1976 
1977  fStexUpFrame = new TGCompositeFrame
1978  (this,60,20,kVerticalFrame, GetDefaultFrameBackground()); fCnew++;
1979  TString xYminButText = " Ymin ";
1980  TString xYmaxButText = " Ymax ";
1981  //########################################### Composite frame number of events found in the data
1982  fVmmD_NOE_ChNbFrame = new TGCompositeFrame
1983  (fStexUpFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
1984  //...................................... Menu number of events found in the data
1985 
1986  //...................................... Frame for Ymax
1987  fVmaxD_NOE_ChNbFrame = new TGCompositeFrame
1988  (fVmmD_NOE_ChNbFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
1989  //...................................... Button Max + Entry field
1990  fVmaxD_NOE_ChNbBut = new TGTextButton(fVmaxD_NOE_ChNbFrame, xYmaxButText); fCnew++;
1991  fVmaxD_NOE_ChNbBut->Connect("Clicked()","TEcnaGui", this, "DoButtonVmaxD_NOE_ChNb()");
1992  fVmaxD_NOE_ChNbBut->SetToolTipText("Click here to register ymax for the display of the quantity");
1993  fVmaxD_NOE_ChNbBut->SetBackgroundColor(SubDetColor);
1995  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
1997  fEntryVmaxD_NOE_ChNbNumber = new TGTextBuffer(); fCnew++;
1999  new TGTextEntry(fVmaxD_NOE_ChNbFrame, fEntryVmaxD_NOE_ChNbNumber); fCnew++;
2000  fVmaxD_NOE_ChNbText->SetToolTipText("Click and enter ymax");
2001  fVmaxD_NOE_ChNbText->Resize(minmax_buf_lenght, fVmaxD_NOE_ChNbText->GetDefaultHeight());
2003  fVmaxD_NOE_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVmaxD_NOE_ChNb()");
2004 
2006  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2009  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2011 
2012  //...................................... Frame for Ymin
2013  fVminD_NOE_ChNbFrame = new TGCompositeFrame
2014  (fVmmD_NOE_ChNbFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2015  //...................................... Button Min + Entry field
2016  fVminD_NOE_ChNbBut = new TGTextButton(fVminD_NOE_ChNbFrame, xYminButText); fCnew++;
2017  fVminD_NOE_ChNbBut->Connect("Clicked()","TEcnaGui", this, "DoButtonVminD_NOE_ChNb()");
2018  fVminD_NOE_ChNbBut->SetToolTipText("Click here to register ymin for the display of the quantity");
2019  fVminD_NOE_ChNbBut->SetBackgroundColor(SubDetColor);
2021  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2023  fEntryVminD_NOE_ChNbNumber = new TGTextBuffer(); fCnew++;
2025  new TGTextEntry(fVminD_NOE_ChNbFrame, fEntryVminD_NOE_ChNbNumber); fCnew++;
2026  fVminD_NOE_ChNbText->SetToolTipText("Click and enter ymin");
2027  fVminD_NOE_ChNbText->Resize(minmax_buf_lenght, fVminD_NOE_ChNbText->GetDefaultHeight());
2029  fVminD_NOE_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVminD_NOE_ChNb()");
2031  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2034  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2036 
2037  //...................................... MenuBar strings
2038  TString xHistoChannels = "1D Histo";
2039  TString xHistoChannelsSame = "1D Histo SAME" ;
2040  TString xHistoChannelsSameP = "1D Histo SAME n";
2041  TString xHistoProjection = "1D Histo Projection";
2042  TString xHistoProjectionSame = "1D Histo Projection SAME";
2043  TString xHistoProjectionSameP = "1D Histo Projection SAME n";
2044  TString xHocoVecoViewSorS = "2D, Histo";
2045  if( fSubDet == "EB" ){xHocoVecoViewSorS = "2D, Histo (eta,phi)";}
2046  if( fSubDet == "EE" ){xHocoVecoViewSorS = "2D, Histo (IX,IY)";}
2047  TString xAsciiFileStex = "1D Histo, write in ASCII file";
2048 
2049  //...................................... Frame
2050  TString xMenuD_NOE_ChNb = "Numbers of events ";
2051  fMenuD_NOE_ChNb = new TGPopupMenu(gClient->GetRoot()); fCnew++;
2052  fMenuD_NOE_ChNb->AddEntry(xHistoChannels,fMenuD_NOE_ChNbFullC);
2053  fMenuD_NOE_ChNb->AddEntry(xHistoChannelsSame,fMenuD_NOE_ChNbSameC);
2054  fMenuD_NOE_ChNb->AddSeparator();
2055  fMenuD_NOE_ChNb->AddEntry(xHocoVecoViewSorS,fMenuD_NOE_ChNbHocoVecoC);
2056  fMenuD_NOE_ChNb->AddSeparator();
2057  fMenuD_NOE_ChNb->AddEntry(xAsciiFileStex,fMenuD_NOE_ChNbAsciiFileC);
2058  fMenuD_NOE_ChNb->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
2059  fMenuBarD_NOE_ChNb = new TGMenuBar(fVmmD_NOE_ChNbFrame, 1, 1, kHorizontalFrame); fCnew++;
2060 
2061  //fMenuBarD_NOE_ChNb->SetMinWidth(200); // <= N'A STRICTEMENT AUCUN EFFET.
2062 
2063  fMenuBarD_NOE_ChNb->AddPopup(xMenuD_NOE_ChNb, fMenuD_NOE_ChNb, fLayoutGeneral);
2064  fLayoutMenuBarD_NOE_ChNb = new TGLayoutHints(kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2067  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2069 
2070  //............................. Expectation values + Sigmas Vertical frame
2071  fStexHozFrame =
2072  new TGCompositeFrame(fStexUpFrame,60,20,kVerticalFrame,
2073  GetDefaultFrameBackground()); fCnew++;
2074 
2075  //########################################### Composite frame ev of ev (pedestals)
2076  fVmmD_Ped_ChNbFrame = new TGCompositeFrame
2077  (fStexHozFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2078 
2079  //...................................... Menu ev of ev
2080 
2081  //...................................... Frame for Ymax
2082  fVmaxD_Ped_ChNbFrame = new TGCompositeFrame
2083  (fVmmD_Ped_ChNbFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2084  //...................................... Button Max + Entry field
2085  fVmaxD_Ped_ChNbBut = new TGTextButton(fVmaxD_Ped_ChNbFrame, xYmaxButText); fCnew++;
2086  fVmaxD_Ped_ChNbBut->Connect("Clicked()","TEcnaGui", this, "DoButtonVmaxD_Ped_ChNb()");
2087  fVmaxD_Ped_ChNbBut->SetToolTipText("Click here to register ymax for the display of the quantity");
2088  fLayoutVmaxD_Ped_ChNbBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2089  fVmaxD_Ped_ChNbBut->SetBackgroundColor(SubDetColor);
2091  fEntryVmaxD_Ped_ChNbNumber = new TGTextBuffer(); fCnew++;
2093  fVmaxD_Ped_ChNbText->SetToolTipText("Click and enter ymax");
2094  fVmaxD_Ped_ChNbText->Resize(minmax_buf_lenght, fVmaxD_Ped_ChNbText->GetDefaultHeight());
2096  fVmaxD_Ped_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVmaxD_Ped_ChNb()");
2098  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2101  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2103 
2104  //...................................... Frame for Ymin
2105  fVminD_Ped_ChNbFrame = new TGCompositeFrame
2106  (fVmmD_Ped_ChNbFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2107  //...................................... Button Min + Entry field
2108  fVminD_Ped_ChNbBut = new TGTextButton(fVminD_Ped_ChNbFrame, xYminButText); fCnew++;
2109  fVminD_Ped_ChNbBut->Connect("Clicked()","TEcnaGui", this, "DoButtonVminD_Ped_ChNb()");
2110  fVminD_Ped_ChNbBut->SetToolTipText("Click here to register ymin for the display of the quantity");
2111  fVminD_Ped_ChNbBut->SetBackgroundColor(SubDetColor);
2113  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2115 
2116  fEntryVminD_Ped_ChNbNumber = new TGTextBuffer(); fCnew++;
2118  fVminD_Ped_ChNbText->SetToolTipText("Click and enter ymin");
2119  fVminD_Ped_ChNbText->Resize(minmax_buf_lenght, fVminD_Ped_ChNbText->GetDefaultHeight());
2121  fVminD_Ped_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVminD_Ped_ChNb()");
2123  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2126  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2128 
2129  //...................................... Frame
2130  TString xMenuD_Ped_ChNb = " Pedestals ";
2131  fMenuD_Ped_ChNb = new TGPopupMenu(gClient->GetRoot()); fCnew++;
2132  fMenuD_Ped_ChNb->AddEntry(xHistoChannels,fMenuD_Ped_ChNbFullC);
2133  fMenuD_Ped_ChNb->AddEntry(xHistoChannelsSame,fMenuD_Ped_ChNbSameC);
2134  fMenuD_Ped_ChNb->AddSeparator();
2135  fMenuD_Ped_ChNb->AddEntry(xHocoVecoViewSorS,fMenuD_Ped_ChNbHocoVecoC);
2136  fMenuD_Ped_ChNb->AddSeparator();
2137  fMenuD_Ped_ChNb->AddEntry(xAsciiFileStex,fMenuD_Ped_ChNbAsciiFileC);
2138  fMenuD_Ped_ChNb->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
2139  fMenuBarD_Ped_ChNb = new TGMenuBar(fVmmD_Ped_ChNbFrame, 1, 1, kHorizontalFrame); fCnew++;
2140  fMenuBarD_Ped_ChNb->AddPopup(xMenuD_Ped_ChNb, fMenuD_Ped_ChNb, fLayoutGeneral);
2141  fLayoutMenuBarD_Ped_ChNb = new TGLayoutHints(kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2143 
2145  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2147 
2148  //########################################### Composite frame for TOTAL NOISE
2149  fVmmD_TNo_ChNbFrame = new TGCompositeFrame
2150  (fStexHozFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2151 
2152  //...................................... Menu ev of sig
2153  //...................................... Frame for Ymax
2154  fVmaxD_TNo_ChNbFrame = new TGCompositeFrame
2155  (fVmmD_TNo_ChNbFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2156  //...................................... Button Max + Entry field
2157  fVmaxD_TNo_ChNbBut = new TGTextButton(fVmaxD_TNo_ChNbFrame, xYmaxButText); fCnew++;
2158  fVmaxD_TNo_ChNbBut->Connect("Clicked()","TEcnaGui", this, "DoButtonVmaxD_TNo_ChNb()");
2159  fVmaxD_TNo_ChNbBut->SetToolTipText("Click here to register ymax for the display of the quantity");
2160  fVmaxD_TNo_ChNbBut->SetBackgroundColor(SubDetColor);
2162  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2164  fEntryVmaxD_TNo_ChNbNumber = new TGTextBuffer(); fCnew++;
2166  fVmaxD_TNo_ChNbText->SetToolTipText("Click and enter ymax");
2167  fVmaxD_TNo_ChNbText->Resize(minmax_buf_lenght, fVmaxD_TNo_ChNbText->GetDefaultHeight());
2169  fVmaxD_TNo_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVmaxD_TNo_ChNb()");
2171  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2174  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2176 
2177  //...................................... Frame for Ymin
2178  fVminD_TNo_ChNbFrame = new TGCompositeFrame
2179  (fVmmD_TNo_ChNbFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2180  //...................................... Button Min + Entry field
2181  fVminD_TNo_ChNbBut = new TGTextButton(fVminD_TNo_ChNbFrame, xYminButText); fCnew++;
2182  fVminD_TNo_ChNbBut->Connect("Clicked()","TEcnaGui", this, "DoButtonVminD_TNo_ChNb()");
2183  fVminD_TNo_ChNbBut->SetToolTipText("Click here to register ymin for the display of the quantity");
2184  fVminD_TNo_ChNbBut->SetBackgroundColor(SubDetColor);
2186  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2188 
2189  fEntryVminD_TNo_ChNbNumber = new TGTextBuffer(); fCnew++;
2191  fVminD_TNo_ChNbText->SetToolTipText("Click and enter ymin");
2192  fVminD_TNo_ChNbText->Resize(minmax_buf_lenght, fVminD_TNo_ChNbText->GetDefaultHeight());
2194  fVminD_TNo_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVminD_TNo_ChNb()");
2196  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2199  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2201 
2202  //...................................... Frame
2203  TString xMenuD_TNo_ChNb = " Total Noise ";
2204  fMenuD_TNo_ChNb = new TGPopupMenu(gClient->GetRoot()); fCnew++;
2205  fMenuD_TNo_ChNb->AddEntry(xHistoChannels,fMenuD_TNo_ChNbFullC);
2206  fMenuD_TNo_ChNb->AddEntry(xHistoChannelsSame,fMenuD_TNo_ChNbSameC);
2207  fMenuD_TNo_ChNb->AddEntry(xHistoChannelsSameP,fMenuD_TNo_ChNbSamePC);
2208  fMenuD_TNo_ChNb->AddSeparator();
2209  fMenuD_TNo_ChNb->AddEntry(xHocoVecoViewSorS,fMenuD_TNo_ChNbHocoVecoC);
2210  fMenuD_TNo_ChNb->AddSeparator();
2211  fMenuD_TNo_ChNb->AddEntry(xAsciiFileStex,fMenuD_TNo_ChNbAsciiFileC);
2212  fMenuD_TNo_ChNb->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
2213  fMenuBarD_TNo_ChNb = new TGMenuBar(fVmmD_TNo_ChNbFrame, 1, 1, kHorizontalFrame); fCnew++;
2214  fMenuBarD_TNo_ChNb->AddPopup(xMenuD_TNo_ChNb, fMenuD_TNo_ChNb, fLayoutGeneral);
2215  fLayoutMenuBarD_TNo_ChNb = new TGLayoutHints(kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2217 
2219  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2221 
2222  //########################################### Composite frame for LOW FREQUENCY NOISE
2223  fVmmD_LFN_ChNbFrame = new TGCompositeFrame
2224  (fStexHozFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2225 
2226  //...................................... Menu sig of ev (LOW FREQUENCY NOISE)
2227  //...................................... Frame for Ymax
2228  fVmaxD_LFN_ChNbFrame = new TGCompositeFrame
2229  (fVmmD_LFN_ChNbFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2230  //...................................... Button Max + Entry field
2231  fVmaxD_LFN_ChNbBut = new TGTextButton(fVmaxD_LFN_ChNbFrame, xYmaxButText); fCnew++;
2232  fVmaxD_LFN_ChNbBut->Connect("Clicked()","TEcnaGui", this, "DoButtonVmaxD_LFN_ChNb()");
2233  fVmaxD_LFN_ChNbBut->SetToolTipText("Click here to register ymax for the display of the quantity");
2234  fVmaxD_LFN_ChNbBut->SetBackgroundColor(SubDetColor);
2236  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2238  fEntryVmaxD_LFN_ChNbNumber = new TGTextBuffer(); fCnew++;
2240  fVmaxD_LFN_ChNbText->SetToolTipText("Click and enter ymax");
2241  fVmaxD_LFN_ChNbText->Resize(minmax_buf_lenght, fVmaxD_LFN_ChNbText->GetDefaultHeight());
2243  fVmaxD_LFN_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVmaxD_LFN_ChNb()");
2245  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2248  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2250 
2251  //...................................... Frame for Ymin
2252  fVminD_LFN_ChNbFrame = new TGCompositeFrame
2253  (fVmmD_LFN_ChNbFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2254  //...................................... Button Min + Entry field
2255  fVminD_LFN_ChNbBut = new TGTextButton(fVminD_LFN_ChNbFrame, xYminButText); fCnew++;
2256  fVminD_LFN_ChNbBut->Connect("Clicked()","TEcnaGui", this, "DoButtonVminD_LFN_ChNb()");
2257  fVminD_LFN_ChNbBut->SetToolTipText("Click here to register ymin for the display of the quantity");
2258  fVminD_LFN_ChNbBut->SetBackgroundColor(SubDetColor);
2260  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2262  fEntryVminD_LFN_ChNbNumber = new TGTextBuffer(); fCnew++;
2264  fVminD_LFN_ChNbText->SetToolTipText("Click and enter ymin");
2265  fVminD_LFN_ChNbText->Resize(minmax_buf_lenght, fVminD_LFN_ChNbText->GetDefaultHeight());
2267  fVminD_LFN_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVminD_LFN_ChNb()");
2269  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2272  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2274 
2275  //...................................... Frame
2276  TString xMenuD_LFN_ChNb = " Low Frequency Noise ";
2277  fMenuD_LFN_ChNb = new TGPopupMenu(gClient->GetRoot()); fCnew++;
2278  fMenuD_LFN_ChNb->AddEntry(xHistoChannels,fMenuD_LFN_ChNbFullC);
2279  fMenuD_LFN_ChNb->AddEntry(xHistoChannelsSame,fMenuD_LFN_ChNbSameC);
2280  fMenuD_LFN_ChNb->AddEntry(xHistoChannelsSameP,fMenuD_LFN_ChNbSamePC);
2281  fMenuD_LFN_ChNb->AddSeparator();
2282  fMenuD_LFN_ChNb->AddEntry(xHocoVecoViewSorS,fMenuD_LFN_ChNbHocoVecoC);
2283  fMenuD_LFN_ChNb->AddSeparator();
2284  fMenuD_LFN_ChNb->AddEntry(xAsciiFileStex,fMenuD_LFN_ChNbAsciiFileC);
2285  fMenuD_LFN_ChNb->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
2286  fMenuBarD_LFN_ChNb = new TGMenuBar(fVmmD_LFN_ChNbFrame, 1, 1, kHorizontalFrame); fCnew++;
2287  fMenuBarD_LFN_ChNb->AddPopup(xMenuD_LFN_ChNb, fMenuD_LFN_ChNb, fLayoutGeneral);
2288  fLayoutMenuBarD_LFN_ChNb = new TGLayoutHints(kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2291  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2293 
2294  //########################################### Composite frame for HIGH FREQUENCY NOISE
2295  fVmmD_HFN_ChNbFrame = new TGCompositeFrame
2296  (fStexHozFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2297 
2298  //...................................... Menu sig of sig (HIGH FREQUENCY NOISE)
2299  //...................................... Frame for Ymax
2300  fVmaxD_HFN_ChNbFrame = new TGCompositeFrame
2301  (fVmmD_HFN_ChNbFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2302  //...................................... Button Max + Entry field
2303  fVmaxD_HFN_ChNbBut = new TGTextButton(fVmaxD_HFN_ChNbFrame, xYmaxButText); fCnew++;
2304  fVmaxD_HFN_ChNbBut->Connect("Clicked()","TEcnaGui", this, "DoButtonVmaxD_HFN_ChNb()");
2305  fVmaxD_HFN_ChNbBut->SetToolTipText("Click here to register ymax for the display of the quantity");
2306  fVmaxD_HFN_ChNbBut->SetBackgroundColor(SubDetColor);
2308  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2310  fEntryVmaxD_HFN_ChNbNumber = new TGTextBuffer(); fCnew++;
2312  fVmaxD_HFN_ChNbText->SetToolTipText("Click and enter ymax");
2313  fVmaxD_HFN_ChNbText->Resize(minmax_buf_lenght, fVmaxD_HFN_ChNbText->GetDefaultHeight());
2315  fVmaxD_HFN_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVmaxD_HFN_ChNb()");
2317  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2320  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2322 
2323  //...................................... Frame for Ymin
2324  fVminD_HFN_ChNbFrame = new TGCompositeFrame
2325  (fVmmD_HFN_ChNbFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2326  //...................................... Button Min + Entry field
2327  fVminD_HFN_ChNbBut = new TGTextButton(fVminD_HFN_ChNbFrame, xYminButText); fCnew++;
2328  fVminD_HFN_ChNbBut->Connect("Clicked()","TEcnaGui", this, "DoButtonVminD_HFN_ChNb()");
2329  fVminD_HFN_ChNbBut->SetToolTipText("Click here to register ymin for the display of the quantity");
2330  fVminD_HFN_ChNbBut->SetBackgroundColor(SubDetColor);
2332  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2334  fEntryVminD_HFN_ChNbNumber = new TGTextBuffer(); fCnew++;
2336  fVminD_HFN_ChNbText->SetToolTipText("Click and enter ymin");
2337  fVminD_HFN_ChNbText->Resize(minmax_buf_lenght, fVminD_HFN_ChNbText->GetDefaultHeight());
2339  fVminD_HFN_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVminD_HFN_ChNb()");
2341  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2344  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2346 
2347  //...................................... Frame
2348  TString xMenuD_HFN_ChNb = " High Frequency Noise ";
2349  fMenuD_HFN_ChNb = new TGPopupMenu(gClient->GetRoot()); fCnew++;
2350  fMenuD_HFN_ChNb->AddEntry(xHistoChannels,fMenuD_HFN_ChNbFullC);
2351  fMenuD_HFN_ChNb->AddEntry(xHistoChannelsSame,fMenuD_HFN_ChNbSameC);
2352  fMenuD_HFN_ChNb->AddEntry(xHistoChannelsSameP,fMenuD_HFN_ChNbSamePC);
2353  fMenuD_HFN_ChNb->AddSeparator();
2354  fMenuD_HFN_ChNb->AddEntry(xHocoVecoViewSorS,fMenuD_HFN_ChNbHocoVecoC);
2355  fMenuD_HFN_ChNb->AddSeparator();
2356  fMenuD_HFN_ChNb->AddEntry(xAsciiFileStex,fMenuD_HFN_ChNbAsciiFileC);
2357  fMenuD_HFN_ChNb->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
2358  fMenuBarD_HFN_ChNb = new TGMenuBar(fVmmD_HFN_ChNbFrame, 1, 1, kHorizontalFrame); fCnew++;
2359  fMenuBarD_HFN_ChNb->AddPopup(xMenuD_HFN_ChNb, fMenuD_HFN_ChNb, fLayoutGeneral);
2360  fLayoutMenuBarD_HFN_ChNb = new TGLayoutHints(kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2362 
2364  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2366 
2367  //########################################### Composite frame for MEAN OF COR(s,s')
2368  fVmmD_MCs_ChNbFrame = new TGCompositeFrame
2369  (fStexHozFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2370 
2371  //...................................... Menu ev of Corss
2372 
2373  //...................................... Frame
2374  fVmaxD_MCs_ChNbFrame = new TGCompositeFrame
2375  (fVmmD_MCs_ChNbFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2376  //...................................... Button Max + Entry field
2377  fVmaxD_MCs_ChNbBut = new TGTextButton(fVmaxD_MCs_ChNbFrame, xYmaxButText); fCnew++;
2378  fVmaxD_MCs_ChNbBut->Connect("Clicked()","TEcnaGui", this, "DoButtonVmaxD_MCs_ChNb()");
2379  fVmaxD_MCs_ChNbBut->SetToolTipText("Click here to register ymax for the display of the quantity");
2380  fVmaxD_MCs_ChNbBut->SetBackgroundColor(SubDetColor);
2382  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2384  fEntryVmaxD_MCs_ChNbNumber = new TGTextBuffer(); fCnew++;
2386  fVmaxD_MCs_ChNbText->SetToolTipText("Click and enter ymax");
2387  fVmaxD_MCs_ChNbText->Resize(minmax_buf_lenght, fVmaxD_MCs_ChNbText->GetDefaultHeight());
2389  fVmaxD_MCs_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVmaxD_MCs_ChNb()");
2391  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2394  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2396 
2397  //...................................... Frame for Ymin
2398  fVminD_MCs_ChNbFrame = new TGCompositeFrame
2399  (fVmmD_MCs_ChNbFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2400  //...................................... Button Min + Entry field
2401  fVminD_MCs_ChNbBut = new TGTextButton(fVminD_MCs_ChNbFrame, xYminButText); fCnew++;
2402  fVminD_MCs_ChNbBut->Connect("Clicked()","TEcnaGui", this, "DoButtonVminD_MCs_ChNb()");
2403  fVminD_MCs_ChNbBut->SetToolTipText("Click here to register ymin for the display of the quantity");
2404  fVminD_MCs_ChNbBut->SetBackgroundColor(SubDetColor);
2406  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2408  fEntryVminD_MCs_ChNbNumber = new TGTextBuffer(); fCnew++;
2410  fVminD_MCs_ChNbText->SetToolTipText("Click and enter ymin");
2411  fVminD_MCs_ChNbText->Resize(minmax_buf_lenght, fVminD_MCs_ChNbText->GetDefaultHeight());
2413  fVminD_MCs_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVminD_MCs_ChNb()");
2415  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2418  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2420 
2421  //...................................... Frame for Mean of cor(s,s')
2422  TString xMenuD_MCs_ChNb = " Mean of cor(s,s') ";
2423  fMenuD_MCs_ChNb = new TGPopupMenu(gClient->GetRoot()); fCnew++;
2424  fMenuD_MCs_ChNb->AddEntry(xHistoChannels,fMenuD_MCs_ChNbFullC);
2425  fMenuD_MCs_ChNb->AddEntry(xHistoChannelsSame,fMenuD_MCs_ChNbSameC);
2426  fMenuD_MCs_ChNb->AddEntry(xHistoChannelsSameP,fMenuD_MCs_ChNbSamePC);
2427  fMenuD_MCs_ChNb->AddSeparator();
2428  fMenuD_MCs_ChNb->AddEntry(xHocoVecoViewSorS,fMenuD_MCs_ChNbHocoVecoC);
2429  fMenuD_MCs_ChNb->AddSeparator();
2430  fMenuD_MCs_ChNb->AddEntry(xAsciiFileStex,fMenuD_MCs_ChNbAsciiFileC);
2431  fMenuD_MCs_ChNb->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
2432  fMenuBarD_MCs_ChNb = new TGMenuBar(fVmmD_MCs_ChNbFrame, 1, 1, kHorizontalFrame); fCnew++;
2433  fMenuBarD_MCs_ChNb->AddPopup(xMenuD_MCs_ChNb, fMenuD_MCs_ChNb, fLayoutGeneral);
2434  fLayoutMenuBarD_MCs_ChNb = new TGLayoutHints(kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2436 
2438  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2440 
2441  //########################################### Composite frame for SIG OF COR(s,s')
2442  fVmmD_SCs_ChNbFrame = new TGCompositeFrame
2443  (fStexHozFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2444 
2445  //...................................... Menu sig of Corss
2446  //...................................... Frame for Ymax
2447  fVmaxD_SCs_ChNbFrame = new TGCompositeFrame
2448  (fVmmD_SCs_ChNbFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2449  //...................................... Button Max + Entry field
2450  fVmaxD_SCs_ChNbBut = new TGTextButton(fVmaxD_SCs_ChNbFrame, xYmaxButText); fCnew++;
2451  fVmaxD_SCs_ChNbBut->Connect("Clicked()","TEcnaGui", this, "DoButtonVmaxD_SCs_ChNb()");
2452  fVmaxD_SCs_ChNbBut->SetToolTipText("Click here to register ymax for the display of the quantity");
2453  fVmaxD_SCs_ChNbBut->SetBackgroundColor(SubDetColor);
2455  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2457  fEntryVmaxD_SCs_ChNbNumber = new TGTextBuffer(); fCnew++;
2459  fVmaxD_SCs_ChNbText->SetToolTipText("Click and enter ymax");
2460  fVmaxD_SCs_ChNbText->Resize(minmax_buf_lenght, fVmaxD_SCs_ChNbText->GetDefaultHeight());
2462  fVmaxD_SCs_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVmaxD_SCs_ChNb()");
2464  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2467  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2469 
2470  //...................................... Frame for Ymin
2471  fVminD_SCs_ChNbFrame = new TGCompositeFrame
2472  (fVmmD_SCs_ChNbFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2473  //...................................... Button Min + Entry field
2474  fVminD_SCs_ChNbBut = new TGTextButton(fVminD_SCs_ChNbFrame, xYminButText); fCnew++;
2475  fVminD_SCs_ChNbBut->Connect("Clicked()","TEcnaGui", this, "DoButtonVminD_SCs_ChNb()");
2476  fVminD_SCs_ChNbBut->SetToolTipText("Click here to register ymin for the display of the quantity");
2477  fVminD_SCs_ChNbBut->SetBackgroundColor(SubDetColor);
2479  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2481  fEntryVminD_SCs_ChNbNumber = new TGTextBuffer(); fCnew++;
2483  fVminD_SCs_ChNbText->SetToolTipText("Click and enter ymin");
2484  fVminD_SCs_ChNbText->Resize(minmax_buf_lenght, fVminD_SCs_ChNbText->GetDefaultHeight());
2486  fVminD_SCs_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVminD_SCs_ChNb()");
2488  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2491  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2493 
2494  //...................................... Frame
2495  TString xMenuD_SCs_ChNb = " Sigma of cor(s,s') ";
2496  fMenuD_SCs_ChNb = new TGPopupMenu(gClient->GetRoot()); fCnew++;
2497  fMenuD_SCs_ChNb->AddEntry(xHistoChannels,fMenuD_SCs_ChNbFullC);
2498  fMenuD_SCs_ChNb->AddEntry(xHistoChannelsSame,fMenuD_SCs_ChNbSameC);
2499  fMenuD_SCs_ChNb->AddEntry(xHistoChannelsSameP,fMenuD_SCs_ChNbSamePC);
2500  fMenuD_SCs_ChNb->AddSeparator();
2501  fMenuD_SCs_ChNb->AddEntry(xHocoVecoViewSorS,fMenuD_SCs_ChNbHocoVecoC);
2502  fMenuD_SCs_ChNb->AddSeparator();
2503  fMenuD_SCs_ChNb->AddEntry(xAsciiFileStex,fMenuD_SCs_ChNbAsciiFileC);
2504  fMenuD_SCs_ChNb->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
2505  fMenuBarD_SCs_ChNb = new TGMenuBar(fVmmD_SCs_ChNbFrame, 1, 1, kHorizontalFrame); fCnew++;
2506  fMenuBarD_SCs_ChNb->AddPopup(xMenuD_SCs_ChNb, fMenuD_SCs_ChNb, fLayoutGeneral);
2507  fLayoutMenuBarD_SCs_ChNb = new TGLayoutHints(kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2509 
2511  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2513 
2514  //######################################################################################################"
2515 
2516  //------------------------------------------- subframe
2518  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1); fCnew++;
2520  AddFrame(fVoidFrame, fLayoutGeneral);
2521 
2522  //########################################### Composite frame corcc in Stins
2523  fVmmLHFccFrame = new TGCompositeFrame
2524  (fStexUpFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2525 
2526  //............ Menu Low and High Frequency correlations between channels for each Stin of Stex
2527 
2528  //...................................... Frame for Ymax
2529  fVmaxLHFccFrame = new TGCompositeFrame
2530  (fVmmLHFccFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2531  //...................................... Button Max + Entry field
2532  fVmaxLHFccBut = new TGTextButton(fVmaxLHFccFrame, xYmaxButText); fCnew++;
2533  fVmaxLHFccBut->Connect("Clicked()","TEcnaGui", this, "DoButtonVmaxLHFcc()");
2534  fVmaxLHFccBut->SetToolTipText("Click here to register ymax for the display of the quantity");
2535  fVmaxLHFccBut->SetBackgroundColor(SubDetColor);
2537  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2538  //fVmaxLHFccFrame->AddFrame(fVmaxLHFccBut, fLayoutVmaxLHFccBut);
2539  fEntryVmaxLHFccNumber = new TGTextBuffer(); fCnew++;
2540  fVmaxLHFccText = new TGTextEntry(fVmaxLHFccFrame, fEntryVmaxLHFccNumber); fCnew++;
2541  fVmaxLHFccText->SetToolTipText("Click and enter ymax");
2542  fVmaxLHFccText->Resize(minmax_buf_lenght, fVmaxLHFccText->GetDefaultHeight());
2544  fVmaxLHFccText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVmaxLHFcc()");
2545 
2547  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2548  //fVmaxLHFccFrame->AddFrame(fVmaxLHFccText, fLayoutVmaxLHFccFieldText);
2550  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2551  //fVmmLHFccFrame->AddFrame(fVmaxLHFccFrame, fLayoutVmaxLHFccFrame);
2552 
2553  //...................................... Frame for Ymin
2554  fVminLHFccFrame = new TGCompositeFrame
2555  (fVmmLHFccFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2556  //...................................... Button Min + Entry field
2557  fVminLHFccBut = new TGTextButton(fVminLHFccFrame, xYminButText); fCnew++;
2558  fVminLHFccBut->Connect("Clicked()","TEcnaGui", this, "DoButtonVminLHFcc()");
2559  fVminLHFccBut->SetToolTipText("Click here to register ymin for the display of the quantity");
2560  fVminLHFccBut->SetBackgroundColor(SubDetColor);
2562  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2563  //fVminLHFccFrame->AddFrame(fVminLHFccBut, fLayoutVminLHFccBut);
2564  fEntryVminLHFccNumber = new TGTextBuffer(); fCnew++;
2565  fVminLHFccText = new TGTextEntry(fVminLHFccFrame, fEntryVminLHFccNumber); fCnew++;
2566  fVminLHFccText->SetToolTipText("Click and enter ymin");
2567  fVminLHFccText->Resize(minmax_buf_lenght, fVminLHFccText->GetDefaultHeight());
2569  fVminLHFccText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVminLHFcc()");
2571  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2572  //fVminLHFccFrame->AddFrame(fVminLHFccText, fLayoutVminLHFccFieldText);
2574  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2575  //fVmmLHFccFrame->AddFrame(fVminLHFccFrame, fLayoutVminLHFccFrame);
2576 
2577  //........................................... Frame
2578  TString xLFccViewSorS;
2579  if( fSubDet == "EB" ){xLFccViewSorS = "Low Frequency Cor(c,c'), 2D view SM ";}
2580  if( fSubDet == "EE" ){xLFccViewSorS = "Low Frequency Cor(c,c'), 2D view Dee";}
2581  TString xHFccViewSorS;
2582  if( fSubDet == "EB" ){xHFccViewSorS = "High Frequency Cor(c,c'), 2D view SM ";}
2583  if( fSubDet == "EE" ){xHFccViewSorS = "High Frequency Cor(c,c'), 2D view Dee";}
2584 
2585  TString xMenuLHFcc;
2586  if( fSubDet == "EB" ){xMenuLHFcc = "LF, HF Cor(c,c') for each tower";}
2587  if( fSubDet == "EE" ){xMenuLHFcc = "LF, HF Cor(c,c') for each SC";}
2588  fMenuLHFcc = new TGPopupMenu(gClient->GetRoot()); fCnew++;
2589  fMenuLHFcc->AddEntry(xLFccViewSorS,fMenuLFccColzC);
2590  fMenuLHFcc->AddEntry(xHFccViewSorS,fMenuHFccColzC);
2591  fMenuLHFcc->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
2592  fMenuBarLHFcc = new TGMenuBar(fVmmLHFccFrame, 1, 1, kHorizontalFrame); fCnew++;
2593  fMenuBarLHFcc->AddPopup(xMenuLHFcc, fMenuLHFcc, fLayoutGeneral);
2594  fLayoutMenuBarLHFcc = new TGLayoutHints(kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2595  //fVmmLHFccFrame->AddFrame(fMenuBarLHFcc, fLayoutMenuBarLHFcc);
2597  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2599 
2600  //################################# Composite frame Low Freq Cor(c,c') for each pair of Stins
2601  fVmmLFccMosFrame = new TGCompositeFrame
2602  (fStexUpFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2603 
2604  //...................................... Menu correlations between Stins
2605  //...................................... Frame
2606  fVmaxLFccMosFrame = new TGCompositeFrame
2607  (fVmmLFccMosFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2608  //...................................... Button Max + Entry field
2609  fVmaxLFccMosBut = new TGTextButton(fVmaxLFccMosFrame, xYmaxButText); fCnew++;
2610  fVmaxLFccMosBut->Connect("Clicked()","TEcnaGui", this, "DoButtonVmaxLFccMos()");
2611  fVmaxLFccMosBut->SetToolTipText("Click here to register ymax for the display of the quantity");
2612  fVmaxLFccMosBut->SetBackgroundColor(SubDetColor);
2614  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2616  fEntryVmaxLFccMosNumber = new TGTextBuffer(); fCnew++;
2617  fVmaxLFccMosText = new TGTextEntry(fVmaxLFccMosFrame, fEntryVmaxLFccMosNumber); fCnew++;
2618  fVmaxLFccMosText->SetToolTipText("Click and enter ymax");
2619  fVmaxLFccMosText->Resize(minmax_buf_lenght, fVmaxLFccMosText->GetDefaultHeight());
2621  fVmaxLFccMosText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVmaxLFccMos()");
2622 
2624  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2627  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2629 
2630  //...................................... Frame for Ymin
2631  fVminLFccMosFrame = new TGCompositeFrame
2632  (fVmmLFccMosFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2633  //...................................... Button Min + Entry field
2634  fVminLFccMosBut = new TGTextButton(fVminLFccMosFrame, xYminButText); fCnew++;
2635  fVminLFccMosBut->Connect("Clicked()","TEcnaGui", this, "DoButtonVminLFccMos()");
2636  fVminLFccMosBut->SetToolTipText("Click here to register ymin for the display of the quantity");
2637  fVminLFccMosBut->SetBackgroundColor(SubDetColor);
2639  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2641  fEntryVminLFccMosNumber = new TGTextBuffer(); fCnew++;
2642  fVminLFccMosText = new TGTextEntry(fVminLFccMosFrame, fEntryVminLFccMosNumber); fCnew++;
2643  fVminLFccMosText->SetToolTipText("Click and enter ymin");
2644  fVminLFccMosText->Resize(minmax_buf_lenght, fVminLFccMosText->GetDefaultHeight());
2646  fVminLFccMosText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVminLFccMos()");
2648  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2651  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2653 
2654  //...................................... Frame
2655  TString xMenuLFccMos;
2656  if( fSubDet == "EB" ){xMenuLFccMos = "Mean LF |Cor(c,c')| in (tow,tow')";}
2657  if( fSubDet == "EE" ){xMenuLFccMos = "Mean LF |Cor(c,c')| in (SC,SC')";}
2658 
2659  fMenuLFccMos = new TGPopupMenu(gClient->GetRoot()); fCnew++;
2660  fMenuLFccMos->AddEntry("2D, COLZ ",fMenuLFccMosColzC);
2661  fMenuLFccMos->AddEntry("3D, LEGO2Z" ,fMenuLFccMosLegoC);
2662  fMenuLFccMos->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
2663  fMenuBarLFccMos = new TGMenuBar(fVmmLFccMosFrame, 1, 1, kHorizontalFrame); fCnew++;
2664  fMenuBarLFccMos->AddPopup(xMenuLFccMos, fMenuLFccMos, fLayoutGeneral);
2665  fLayoutMenuBarLFccMos = new TGLayoutHints(kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2668  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2670 
2671  //################################# Composite frame High Freq Cor(c,c') for each pair of Stins
2672  fVmmHFccMosFrame = new TGCompositeFrame
2673  (fStexUpFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2674 
2675  //...................................... Menu correlations between Stins
2676  //...................................... Frame
2677  fVmaxHFccMosFrame = new TGCompositeFrame
2678  (fVmmHFccMosFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2679  //...................................... Button Max + Entry field
2680  fVmaxHFccMosBut = new TGTextButton(fVmaxHFccMosFrame, xYmaxButText); fCnew++;
2681  fVmaxHFccMosBut->Connect("Clicked()","TEcnaGui", this, "DoButtonVmaxHFccMos()");
2682  fVmaxHFccMosBut->SetToolTipText("Click here to register ymax for the display of the quantity");
2683  fVmaxHFccMosBut->SetBackgroundColor(SubDetColor);
2685  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2687  fEntryVmaxHFccMosNumber = new TGTextBuffer(); fCnew++;
2688  fVmaxHFccMosText = new TGTextEntry(fVmaxHFccMosFrame, fEntryVmaxHFccMosNumber); fCnew++;
2689  fVmaxHFccMosText->SetToolTipText("Click and enter ymax");
2690  fVmaxHFccMosText->Resize(minmax_buf_lenght, fVmaxHFccMosText->GetDefaultHeight());
2692  fVmaxHFccMosText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVmaxHFccMos()");
2693 
2695  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2698  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2700 
2701  //...................................... Frame for Ymin
2702  fVminHFccMosFrame = new TGCompositeFrame
2703  (fVmmHFccMosFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2704  //...................................... Button Min + Entry field
2705  fVminHFccMosBut = new TGTextButton(fVminHFccMosFrame, xYminButText); fCnew++;
2706  fVminHFccMosBut->Connect("Clicked()","TEcnaGui", this, "DoButtonVminHFccMos()");
2707  fVminHFccMosBut->SetToolTipText("Click here to register ymin for the display of the quantity");
2708  fVminHFccMosBut->SetBackgroundColor(SubDetColor);
2710  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2712  fEntryVminHFccMosNumber = new TGTextBuffer(); fCnew++;
2713  fVminHFccMosText = new TGTextEntry(fVminHFccMosFrame, fEntryVminHFccMosNumber); fCnew++;
2714  fVminHFccMosText->SetToolTipText("Click and enter ymin");
2715  fVminHFccMosText->Resize(minmax_buf_lenght, fVminHFccMosText->GetDefaultHeight());
2717  fVminHFccMosText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVminHFccMos()");
2719  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2722  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2724 
2725  //...................................... Frame
2726  TString xMenuHFccMos;
2727  if( fSubDet == "EB" ){xMenuHFccMos = "Mean HF |Cor(c,c')| in (tow,tow')";}
2728  if( fSubDet == "EE" ){xMenuHFccMos = "Mean HF |Cor(c,c')| in (SC,SC')";}
2729 
2730  fMenuHFccMos = new TGPopupMenu(gClient->GetRoot()); fCnew++;
2731  fMenuHFccMos->AddEntry("2D, COLZ ",fMenuHFccMosColzC);
2732  fMenuHFccMos->AddEntry("3D, LEGO2Z" ,fMenuHFccMosLegoC);
2733  fMenuHFccMos->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
2734  fMenuBarHFccMos = new TGMenuBar(fVmmHFccMosFrame, 1, 1, kHorizontalFrame); fCnew++;
2735  fMenuBarHFccMos->AddPopup(xMenuHFccMos, fMenuHFccMos, fLayoutGeneral);
2736  fLayoutMenuBarHFccMos = new TGLayoutHints(kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2739  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2741 
2742 
2743  //======================================= "Stex" frame =====================================
2745  new TGLayoutHints(kLHintsTop | kLHintsCenterX, xB1, xB1, xB1, xB1); fCnew++;
2746  AddFrame(fStexUpFrame, fLayoutStexUpFrame);
2747 
2748  AddFrame(fVoidFrame, fLayoutGeneral);
2749 
2750  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2751  //
2752  // SECTOR 3: Stin's
2753  //
2754  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2755 
2756  //-------------------------------- Stin A & Stin B FRAME
2757  fStinSpFrame =
2758  new TGCompositeFrame(this,60,20,kHorizontalFrame,
2759  GetDefaultFrameBackground()); fCnew++;
2760 
2761  TString xStinAButText = "?";
2762  TString xStinBButText = "?";
2763  Int_t Stin_buf_lenght = 10;
2764 
2765  if ( fSubDet == "EB" )
2766  {xStinAButText = " Tower# [1,68] "; xStinBButText = " Tower'# [1,68] "; Stin_buf_lenght = 50;}
2767  if ( fSubDet == "EE" && ( fKeyStexNumber == 1 || fKeyStexNumber == 3 ) )
2768  {xStinAButText = "SC# for const. [150,298] "; xStinBButText = "SC'# for const. [150,298] "; Stin_buf_lenght = 50;}
2769  if ( fSubDet == "EE" && ( fKeyStexNumber == 2 || fKeyStexNumber == 4 ) )
2770  {xStinAButText = "SC# for const. [ 1,149] "; xStinBButText = "SC'# for const. [ 1,149] "; Stin_buf_lenght = 50;}
2771 
2772  //============================= STIN A =====================================
2773  TString xStinNumberText;
2774  if ( fSubDet == "EB" )
2775  {xStinNumberText = "Click here to register the tower number written on the right";}
2776  if ( fSubDet == "EE" )
2777  {xStinNumberText = "Click here to register the SC number written on the right";}
2778 
2779  TString xStinNumberValue;
2780  if ( fSubDet == "EB" )
2781  {xStinNumberValue = "Click and enter the tower number";}
2782  if ( fSubDet == "EE" )
2783  {xStinNumberValue = "Click and enter the SC number";}
2784 
2785  fTxSubFrame = new TGCompositeFrame
2786  (fStinSpFrame,60,20,kVerticalFrame, GetDefaultFrameBackground()); fCnew++;
2787 
2788  fStinAFrame = new TGCompositeFrame
2789  (fTxSubFrame,60,20,kHorizontalFrame,kSunkenFrame); fCnew++;
2790 
2791  fStinABut = new TGTextButton(fStinAFrame, xStinAButText, fStinAButC); fCnew++;
2792  fStinABut->Connect("Clicked()","TEcnaGui", this, "DoButtonStinA()");
2793  fStinABut->SetToolTipText(xStinNumberText);
2794  fStinABut->Resize(Stin_buf_lenght, fStinABut->GetDefaultHeight());
2795  fStinABut->SetBackgroundColor(SubDetColor);
2796  fLayoutStinABut =
2797  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2799 
2800  fEntryStinANumber = new TGTextBuffer(); fCnew++;
2801  fStinAText = new TGTextEntry(fStinAFrame, fEntryStinANumber); fCnew++;
2802  fStinAText->SetToolTipText(xStinNumberValue);
2803  fStinAText->Resize(Stin_buf_lenght, fStinAText->GetDefaultHeight());
2804 
2805  Int_t StinAValue = 0;
2806  if( fSubDet == "EB"){StinAValue = fKeyStinANumber;}
2807  if( fSubDet == "EE" && fKeyStexNumber != 0 )
2808  {StinAValue = fEcalNumbering->GetDeeSCConsFrom1DeeSCEcna(fKeyStexNumber, fKeyStinANumber);}
2809  DisplayInEntryField(fStinAText,StinAValue);
2810 
2811  fStinAText->Connect("ReturnPressed()", "TEcnaGui",this, "DoButtonStinA()");
2813  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1 ); fCnew++;
2816 
2817  //========================== STIN A CRYSTAL NUMBERING VIEW
2818  TString xChNbButText;
2819  if ( fSubDet == "EB" ){xChNbButText = "Tower Xtal Numbering ";}
2820  if ( fSubDet == "EE" ){xChNbButText = " SC Xtal Numbering ";}
2821 
2822  fButChNb = new TGTextButton(fTxSubFrame, xChNbButText, fButChNbC); fCnew++;
2823  fButChNb->Connect("Clicked()","TEcnaGui", this, "DoButtonChNb()");
2824  fButChNb->SetBackgroundColor(SubDetColor);
2825  fLayoutChNbBut =
2826  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1); fCnew++;
2827  fTxSubFrame->AddFrame(fButChNb, fLayoutChNbBut);
2828 
2829  //---------------- menus relative to the Stin A subframe
2830 
2831  //===================== Menus relative to the Stin A ======================
2832  TString xMenuBarCorGlob;
2833  if ( fSubDet == "EB" ){xMenuBarCorGlob = " Cor(s,s') in Xtals (Tower view)";}
2834  if ( fSubDet == "EE" ){xMenuBarCorGlob = " Cor(s,s') in Xtals (SC view)";}
2835 
2836  TString xMenuBarCovGlob;
2837  if ( fSubDet == "EB" ){xMenuBarCovGlob = " Cov(s,s') in Xtals (Tower view)";}
2838  if ( fSubDet == "EE" ){xMenuBarCovGlob = " Cov(s,s') in Xtals (SC view)";}
2839 
2840  //................. Menu correlations between samples for all the channels. Global view
2841  fMenuCorssAll = new TGPopupMenu(gClient->GetRoot()); fCnew++;
2842  fMenuCorssAll->AddEntry("2D, COLZ",fMenuCorssAllColzC);
2843  fMenuCorssAll->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
2844  fMenuBarCorssAll = new TGMenuBar(fTxSubFrame, 1, 1, kHorizontalFrame); fCnew++;
2845  fMenuBarCorssAll->AddPopup(xMenuBarCorGlob, fMenuCorssAll, fLayoutGeneral);
2846  //fTxSubFrame->AddFrame(fMenuBarCorssAll, fLayoutTopLeft);
2847 
2848  //................. Menu covariances between samples for all the channels. Global view
2849  fMenuCovssAll = new TGPopupMenu(gClient->GetRoot()); fCnew++;
2850  fMenuCovssAll->AddEntry("2D, COLZ",fMenuCovssAllColzC);
2851  fMenuCovssAll->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
2852  fMenuBarCovssAll = new TGMenuBar(fTxSubFrame, 1, 1, kHorizontalFrame); fCnew++;
2853  fMenuBarCovssAll->AddPopup(xMenuBarCovGlob, fMenuCovssAll, fLayoutGeneral);
2854  //fTxSubFrame->AddFrame(fMenuBarCovssAll, fLayoutTopLeft);
2855 
2856  //------------------ Add Stin A frame to the subframe
2858  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1); fCnew++;
2860 
2861  //============================= STIN B =====================================
2862  fTySubFrame = new TGCompositeFrame
2863  (fStinSpFrame,60,20,kVerticalFrame, GetDefaultFrameBackground()); fCnew++;
2864 
2865  fStinBFrame = new TGCompositeFrame
2866  (fTySubFrame,60,20,kHorizontalFrame,kSunkenFrame); fCnew++;
2867 
2868  fStinBBut =
2869  new TGTextButton(fStinBFrame, xStinBButText, fStinBButC); fCnew++;
2870  fStinBBut->Connect("Clicked()","TEcnaGui", this, "DoButtonStinB()");
2871  fStinBBut->SetToolTipText(xStinNumberText);
2872  fStinBBut->Resize(Stin_buf_lenght, fStinBBut->GetDefaultHeight());
2873  fStinBBut->SetBackgroundColor(SubDetColor);
2874  fLayoutStinBBut = new TGLayoutHints(kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2876 
2877  fEntryStinBNumber = new TGTextBuffer(); fCnew++;
2878  fStinBText = new TGTextEntry(fStinBFrame, fEntryStinBNumber); fCnew++;
2879  fStinBText->SetToolTipText(xStinNumberValue);
2880  fStinBText->Resize(Stin_buf_lenght, fStinBText->GetDefaultHeight());
2881 
2882  Int_t StinBValue = 0;
2883  if( fSubDet == "EB"){StinBValue = fKeyStinBNumber;}
2884  if( fSubDet == "EE" && fKeyStexNumber != 0 )
2885  {StinBValue = fEcalNumbering->GetDeeSCConsFrom1DeeSCEcna(fKeyStexNumber, fKeyStinBNumber);}
2886  DisplayInEntryField(fStinBText, StinBValue);
2887 
2888  fStinBText->Connect("ReturnPressed()", "TEcnaGui",this, "DoButtonStinB()");
2890  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1 ); fCnew++;
2893 
2894  //---------------- menus relative to the Stin B subframe
2895 
2896  // (no such menus )
2897 
2898  //------------------ Add Stin B subframe to the frame
2899  fLayoutTySubFrame = new TGLayoutHints
2900  (kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1); fCnew++;
2901 
2903 
2904  //---------------------- composite frame (Stin X, Stin Y)
2905  fLayoutStinSpFrame = new TGLayoutHints
2906  (kLHintsTop | kLHintsCenterX, xB1, xB1, xB1, xB1); fCnew++;
2907  AddFrame(fStinSpFrame, fLayoutStinSpFrame);
2908 
2909  //------------------ menus relatives to the Horizontal frame (Stin_A + Stin_B)
2910  TString xMenuBarLFCorcc;
2911  if ( fSubDet == "EB" ){xMenuBarLFCorcc = " Low Frequency Cor(Xtal tower, Xtal tower')";}
2912  if ( fSubDet == "EE" ){xMenuBarLFCorcc = " Low Frequency Cor(Xtal SC, Xtal SC')";}
2913 
2914  TString xMenuBarHFCorcc;
2915  if ( fSubDet == "EB" ){xMenuBarHFCorcc = " High Frequency Cor(Xtal tower, Xtal tower')";}
2916  if ( fSubDet == "EE" ){xMenuBarHFCorcc = " High Frequency Cor(Xtal SC, Xtal SC')";}
2917 
2918  //...................... Menu LF correlations between channels
2919  fMenuLFCorcc = new TGPopupMenu(gClient->GetRoot()); fCnew++;
2920  fMenuLFCorcc->AddEntry("2D, COLZ",fMenuLFCorccColzC);
2921  fMenuLFCorcc->AddSeparator();
2922  fMenuLFCorcc->AddEntry("3D, LEGO2Z",fMenuLFCorccLegoC);
2923  fMenuLFCorcc->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
2924  fMenuBarLFCorcc = new TGMenuBar(this, 1, 1, kHorizontalFrame); fCnew++;
2925  fMenuBarLFCorcc->AddPopup(xMenuBarLFCorcc, fMenuLFCorcc, fLayoutTopRight);
2926  AddFrame(fMenuBarLFCorcc, fLayoutGeneral);
2927 
2928  //...................... Menu HF correlations between channels
2929  fMenuHFCorcc = new TGPopupMenu(gClient->GetRoot()); fCnew++;
2930  fMenuHFCorcc->AddEntry("2D, COLZ",fMenuHFCorccColzC);
2931  fMenuHFCorcc->AddSeparator();
2932  fMenuHFCorcc->AddEntry("3D, LEGO2Z",fMenuHFCorccLegoC);
2933  fMenuHFCorcc->Connect("Activated(Int_t)", "TEcnaGui", this,"HandleMenu(Int_t)");
2934  fMenuBarHFCorcc = new TGMenuBar(this, 1, 1, kHorizontalFrame); fCnew++;
2935  fMenuBarHFCorcc->AddPopup(xMenuBarHFCorcc, fMenuHFCorcc, fLayoutTopRight);
2936  AddFrame(fMenuBarHFCorcc, fLayoutGeneral);
2937 
2938  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2939  //
2940  // SECTOR 4: Channels, Samples
2941  //
2942  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2943 
2944  fChSpFrame = new TGCompositeFrame(this,60,20,kHorizontalFrame,
2945  GetDefaultFrameBackground()); fCnew++;
2946 
2947  TString xChanButText;
2948  if ( fSubDet == "EB" ){xChanButText = " Channel# in tower [0,24] ";}
2949  if ( fSubDet == "EE" ){xChanButText = " Crystal# in SC [1,25] ";}
2950 
2951  TString xSampButText = " Sample# [1,10] ";
2952 
2953  Int_t chan_buf_lenght = 50;
2954  Int_t samp_buf_lenght = 50;
2955 
2956  TString xMenuBarCorss = " Correlations between samples";
2957  TString xMenuBarCovss = " Covariances between samples";
2958  TString xMenuBarEvs = " Expectation values of the samples";
2959  TString xMenuBarSigs = " Sigmas of the samples";
2960 
2961  //=================================== CHANNEL (CRYSTAL)
2962  fChSubFrame = new TGCompositeFrame
2963  (fChSpFrame,60,20,kVerticalFrame, GetDefaultFrameBackground()); fCnew++;
2964 
2965  fChanFrame = new TGCompositeFrame
2966  (fChSubFrame,60,20,kHorizontalFrame,kSunkenFrame); fCnew++;
2967 
2968  fChanBut =
2969  new TGTextButton(fChanFrame, xChanButText, fChanButC); fCnew++;
2970  fChanBut->Connect("Clicked()","TEcnaGui", this, "DoButtonChan()");
2971  fChanBut->SetToolTipText("Click here to register the channel number written to the right");
2972  fChanBut->Resize(chan_buf_lenght, fChanBut->GetDefaultHeight());
2973  fChanBut->SetBackgroundColor(SubDetColor);
2974  fLayoutChanBut = new TGLayoutHints(kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2975  fChanFrame->AddFrame(fChanBut, fLayoutChanBut);
2976 
2977  fEntryChanNumber = new TGTextBuffer(); fCnew++;
2978  fChanText = new TGTextEntry(fChanFrame, fEntryChanNumber); fCnew++;
2979  fChanText->SetToolTipText("Click and enter the channel number");
2980  fChanText->Resize(chan_buf_lenght, fChanText->GetDefaultHeight());
2981 
2982  Int_t xReadChanNumber = 0;
2983  if( fSubDet == "EB" ){xReadChanNumber = 0;} // offset = 0 (EB: electronic channel number)
2984  if( fSubDet == "EE" ){xReadChanNumber = 1;} // offset = +1 (EE: xtal number for construction)
2985  DisplayInEntryField(fChanText, xReadChanNumber);
2986 
2987  fChanText->Connect("ReturnPressed()", "TEcnaGui",this, "DoButtonChan()");
2989  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1 ); fCnew++;
2992 
2993  //--------------------- Menus relative to the channel SubFrame -------------
2994  //...................... Menu correlations between samples
2995 
2996  fMenuCorss = new TGPopupMenu(gClient->GetRoot()); fCnew++;
2997  fMenuCorss->AddEntry("2D, COLZ", fMenuCorssColzC);
2998  fMenuCorss->AddEntry("2D, BOX", fMenuCorssBoxC);
2999  fMenuCorss->AddEntry("2D, TEXT", fMenuCorssTextC);
3000  fMenuCorss->AddEntry("2D, CONTZ",fMenuCorssContzC);
3001  fMenuCorss->AddSeparator();
3002  fMenuCorss->AddEntry("3D, LEGO2Z",fMenuCorssLegoC);
3003  fMenuCorss->AddEntry("3D, SURF1Z",fMenuCorssSurf1C);
3004  fMenuCorss->AddEntry("3D, SURF2Z",fMenuCorssSurf2C);
3005  fMenuCorss->AddEntry("3D, SURF3Z",fMenuCorssSurf3C);
3006  fMenuCorss->AddEntry("3D, SURF4" ,fMenuCorssSurf4C);
3007  fMenuCorss->AddSeparator();
3008  fMenuCorss->AddEntry("2D, Write in ASCII file",fMenuCorssAsciiFileC);
3009  fMenuCorss->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
3010  fMenuBarCorss = new TGMenuBar(fChSubFrame, 1, 1, kHorizontalFrame); fCnew++;
3011  fMenuBarCorss->AddPopup(xMenuBarCorss, fMenuCorss, fLayoutTopLeft);
3013 
3014  //...................... Menu covariances between samples
3015 
3016  fMenuCovss = new TGPopupMenu(gClient->GetRoot()); fCnew++;
3017  fMenuCovss->AddEntry("2D, COLZ", fMenuCovssColzC);
3018  fMenuCovss->AddEntry("2D, BOX", fMenuCovssBoxC);
3019  fMenuCovss->AddEntry("2D, TEXT", fMenuCovssTextC);
3020  fMenuCovss->AddEntry("2D, CONTZ",fMenuCovssContzC);
3021  fMenuCovss->AddSeparator();
3022  fMenuCovss->AddEntry("3D, LEGO2Z",fMenuCovssLegoC);
3023  fMenuCovss->AddEntry("3D, SURF1Z",fMenuCovssSurf1C);
3024  fMenuCovss->AddEntry("3D, SURF2Z",fMenuCovssSurf2C);
3025  fMenuCovss->AddEntry("3D, SURF3Z",fMenuCovssSurf3C);
3026  fMenuCovss->AddEntry("3D, SURF4" ,fMenuCovssSurf4C);
3027  fMenuCovss->AddSeparator();
3028  fMenuCovss->AddEntry("2D, Write in ASCII file",fMenuCovssAsciiFileC);
3029  fMenuCovss->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
3030  fMenuBarCovss = new TGMenuBar(fChSubFrame, 1, 1, kHorizontalFrame); fCnew++;
3031  fMenuBarCovss->AddPopup(xMenuBarCovss, fMenuCovss, fLayoutTopLeft);
3033 
3034  //...................... Menu expectation values of the samples
3035 
3036  fMenuD_MSp_Samp = new TGPopupMenu(gClient->GetRoot()); fCnew++;
3037  fMenuD_MSp_Samp->AddEntry("1D Histo ",fMenuD_MSp_SampLineFullC);
3038  fMenuD_MSp_Samp->AddEntry("1D Histo SAME",fMenuD_MSp_SampLineSameC);
3039  fMenuD_MSp_Samp->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
3040  fMenuBarD_MSp_Samp = new TGMenuBar(fChSubFrame, 1, 1, kHorizontalFrame); fCnew++;
3041  fMenuBarD_MSp_Samp->AddPopup(xMenuBarEvs, fMenuD_MSp_Samp, fLayoutTopLeft);
3043 
3044  //...................... Menu sigmas/variances of the samples
3045 
3046  fMenuD_SSp_Samp = new TGPopupMenu(gClient->GetRoot()); fCnew++;
3047  fMenuD_SSp_Samp->AddEntry("1D Histo ",fMenuD_SSp_SampLineFullC);
3048  fMenuD_SSp_Samp->AddEntry("1D Histo SAME",fMenuD_SSp_SampLineSameC);
3049  fMenuD_SSp_Samp->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
3050  fMenuBarD_SSp_Samp = new TGMenuBar(fChSubFrame, 1, 1, kHorizontalFrame); fCnew++;
3051  fMenuBarD_SSp_Samp->AddPopup(xMenuBarSigs, fMenuD_SSp_Samp, fLayoutTopLeft);
3053 
3054  //------------------ Add Channel subframe to the frame
3055  fLayoutChSubFrame = new TGLayoutHints
3056  (kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1); fCnew++;
3058 
3059  //=================================== SAMPLE
3060  fSpSubFrame = new TGCompositeFrame
3061  (fChSpFrame,60,20,kVerticalFrame, GetDefaultFrameBackground()); fCnew++;
3062 
3063  fSampFrame = new TGCompositeFrame
3064  (fSpSubFrame,60,20,kHorizontalFrame, kSunkenFrame); fCnew++;
3065 
3066  fSampBut = new TGTextButton(fSampFrame, xSampButText, fSampButC); fCnew++;
3067  fSampBut->Connect("Clicked()","TEcnaGui", this, "DoButtonSamp()");
3068  fSampBut->SetToolTipText("Click here to register the sample number written to the right");
3069  fSampBut->Resize(samp_buf_lenght, fSampBut->GetDefaultHeight());
3070  fSampBut->SetBackgroundColor(SubDetColor);
3071  fLayoutSampBut =
3072  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
3073  fSampFrame->AddFrame(fSampBut, fLayoutSampBut);
3074 
3075  fEntrySampNumber = new TGTextBuffer(); fCnew++;
3076  fSampText = new TGTextEntry(fSampFrame, fEntrySampNumber); fCnew++;
3077  fSampText->SetToolTipText("Click and enter the sample number");
3078  fSampText->Resize(samp_buf_lenght, fSampText->GetDefaultHeight());
3079  Int_t xKeySampNumber = fKeySampNumber+1;
3080  DisplayInEntryField(fSampText, xKeySampNumber);
3081  fSampText->Connect("ReturnPressed()", "TEcnaGui",this, "DoButtonSamp()");
3083  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1 ); fCnew++;
3085 
3087 
3088  fLayoutSpSubFrame = new TGLayoutHints
3089  (kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1); fCnew++;
3091 
3092  //---------------------- composite frame (channel/sample+menus)
3093  fLayoutChSpFrame = new TGLayoutHints
3094  (kLHintsTop | kLHintsCenterX, xB1, xB1, xB1, xB1); fCnew++;
3095  AddFrame(fChSpFrame, fLayoutChSpFrame);
3096 
3097  //====================== Menu histogram of the distribution
3098  // for a given (channel, sample)
3099  fMenuAdcProj = new TGPopupMenu(gClient->GetRoot()); fCnew++;
3100  fMenuAdcProj->AddEntry("1D Histo ",fMenuAdcProjSampLineFullC);
3101  fMenuAdcProj->AddEntry("1D Histo SAME",fMenuAdcProjSampLineSameC);
3102  fMenuAdcProj->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
3103 
3104  fMenuBarAdcProj = new TGMenuBar(this, 1, 1, kHorizontalFrame); fCnew++;
3105 
3106  TString xEvtDistrib;
3107  xEvtDistrib = "ADC sample values for (Xtal, Sample)";
3108 
3109  fMenuBarAdcProj->AddPopup(xEvtDistrib, fMenuAdcProj, fLayoutGeneral);
3110 
3112  new TGLayoutHints(kLHintsCenterX, xB1,xB1,xB1,xB1); fCnew++;
3114 
3115  AddFrame(fVoidFrame, fLayoutGeneral);
3116 
3117  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3118  //
3119  // SECTOR 5: Time Evolution / history plots
3120  //
3121  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3122  TString xRunListButText = " List of run file name for history plots ";
3123  Int_t run_list_buf_lenght = 170;
3124 
3125  fRulFrame = new TGCompositeFrame(this,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
3126 
3127  fRulBut= new TGTextButton(fRulFrame, xRunListButText); fCnew++;
3128  fRulBut->Connect("Clicked()","TEcnaGui", this, "DoButtonRul()");
3129  fRulBut->SetToolTipText
3130  ("Click here to register the name of the file \n containing the run list (written on the right)");
3131  fRulBut->SetBackgroundColor(SubDetColor);
3132  fLayoutRulBut =
3133  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
3134  fRulFrame->AddFrame(fRulBut, fLayoutRulBut);
3135 
3136  fEntryRulNumber = new TGTextBuffer(); fCnew++;
3137  fRulText = new TGTextEntry(fRulFrame, fEntryRulNumber); fCnew++;
3138  fRulText->SetToolTipText("Click and enter the name of the file \n containing the run list");
3139  fRulText->Resize(run_list_buf_lenght, fRulText->GetDefaultHeight());
3140  fRulText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonRul()");
3142  new TGLayoutHints(kLHintsBottom | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
3144 
3146  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
3147  AddFrame(fRulFrame, fLayoutRulFieldFrame);
3148 
3149  //...................... Menu history plot (evolution in time)
3150  TString xMenuBarHistory = " Menu for history plots";
3151  fMenuHistory = new TGPopupMenu(gClient->GetRoot()); fCnew++;
3152  fMenuHistory->AddEntry("1D, Pedestals ",fMenuH_Ped_DatePolmFullC);
3153  fMenuHistory->AddEntry("1D, Pedestals SAME",fMenuH_Ped_DatePolmSameC);
3154  fMenuHistory->AddSeparator();
3155  fMenuHistory->AddEntry("1D, Total Noise ",fMenuH_TNo_DatePolmFullC);
3156  fMenuHistory->AddEntry("1D, Total Noise SAME",fMenuH_TNo_DatePolmSameC);
3157  fMenuHistory->AddEntry("1D, Total Noise SAME n",fMenuH_TNo_DatePolmSamePC);
3158  fMenuHistory->AddSeparator();
3159  fMenuHistory->AddEntry("1D, Low Frequency Noise ",fMenuH_LFN_DatePolmFullC);
3160  fMenuHistory->AddEntry("1D, Low Frequency Noise SAME",fMenuH_LFN_DatePolmSameC);
3161  fMenuHistory->AddEntry("1D, Low Frequency Noise SAME n",fMenuH_LFN_DatePolmSamePC);
3162  fMenuHistory->AddSeparator();
3163  fMenuHistory->AddEntry("1D, High Frequency Noise ",fMenuH_HFN_DatePolmFullC);
3164  fMenuHistory->AddEntry("1D, High Frequency Noise SAME",fMenuH_HFN_DatePolmSameC);
3165  fMenuHistory->AddEntry("1D, High Frequency Noise SAME n",fMenuH_HFN_DatePolmSamePC);
3166  fMenuHistory->AddSeparator();
3167  fMenuHistory->AddEntry("1D, Mean of cor(s,s') ",fMenuH_MCs_DatePolmFullC);
3168  fMenuHistory->AddEntry("1D, Mean of cor(s,s') SAME",fMenuH_MCs_DatePolmSameC);
3169  fMenuHistory->AddEntry("1D, Mean of cor(s,s') SAME n",fMenuH_MCs_DatePolmSamePC);
3170  fMenuHistory->AddSeparator();
3171  fMenuHistory->AddEntry("1D, Sigma of cor(s,s') ",fMenuH_SCs_DatePolmFullC);
3172  fMenuHistory->AddEntry("1D, Sigma of cor(s,s') SAME",fMenuH_SCs_DatePolmSameC);
3173  fMenuHistory->AddEntry("1D, Sigma of cor(s,s') SAME n",fMenuH_SCs_DatePolmSamePC);
3174 
3175  fMenuHistory->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
3176  fMenuBarHistory = new TGMenuBar(this , 1, 1, kHorizontalFrame); fCnew++;
3177  fMenuBarHistory->AddPopup(xMenuBarHistory, fMenuHistory, fLayoutTopLeft);
3178  AddFrame(fMenuBarHistory, fLayoutTopLeft);
3179 
3180  AddFrame(fVoidFrame, fLayoutGeneral);
3181 
3182  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3183  //
3184  // SECTOR 6: Last Buttons
3185  //
3186  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3187 
3188  //========================== LinLog frame: buttons: LinX/LogX, LinY/LogY, Projection on Y Axis
3189 
3190  fLinLogFrame = new TGCompositeFrame(this,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
3191 
3192  //-------------------------- Lin X <-> Log X
3193  TString xLogxButText = " LOG X ";
3194  fButLogx = new TGCheckButton(fLinLogFrame, xLogxButText, fButLogxC); fCnew++;
3195  fButLogx->Connect("Clicked()","TEcnaGui", this, "DoButtonLogx()");
3196  fButLogx->SetBackgroundColor(SubDetColor);
3197  fLayoutLogxBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1); fCnew++;
3198  fLinLogFrame->AddFrame(fButLogx, fLayoutLogxBut);
3199 
3200  //-------------------------- Lin Y <-> Log Y
3201  TString xLogyButText = " LOG Y ";
3202  fButLogy = new TGCheckButton(fLinLogFrame, xLogyButText, fButLogyC); fCnew++;
3203  fButLogy->Connect("Clicked()","TEcnaGui", this, "DoButtonLogy()");
3204  fButLogy->SetBackgroundColor(SubDetColor);
3205  fLayoutLogyBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1); fCnew++;
3206  fLinLogFrame->AddFrame(fButLogy, fLayoutLogyBut);
3207 
3208  //-------------------------- Projection
3209  TString xProjyButText = " Y projection ";
3210  fButProjy = new TGCheckButton(fLinLogFrame, xProjyButText, fButProjyC); fCnew++;
3211  fButProjy->Connect("Clicked()","TEcnaGui", this, "DoButtonProjy()");
3212  fButProjy->SetBackgroundColor(SubDetColor);
3213  fLayoutProjyBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1); fCnew++;
3215 
3216  AddFrame(fVoidFrame, fLayoutBottRight);
3217  AddFrame(fLinLogFrame, fLayoutGeneral);
3218 
3219  //======================================== GENERAL TITLE FOR THE PLOTS
3220  TString xGenTitleButText = " General title for plots ";
3221  Int_t gen_title_buf_lenght = 220;
3222 
3223  fGentFrame = new TGCompositeFrame(this,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
3224 
3225  fGentBut= new TGTextButton(fGentFrame, xGenTitleButText); fCnew++;
3226  fGentBut->Connect("Clicked()","TEcnaGui", this, "DoButtonGent()");
3227  fGentBut->SetToolTipText
3228  ("Click here to register the general title (written on the right)");
3229  fGentBut->SetBackgroundColor(SubDetColor);
3230  fLayoutGentBut =
3231  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
3232  fGentFrame->AddFrame(fGentBut, fLayoutGentBut);
3233 
3234  fEntryGentNumber = new TGTextBuffer(); fCnew++;
3235  fGentText = new TGTextEntry(fGentFrame, fEntryGentNumber); fCnew++;
3236  fGentText->SetToolTipText("Click and enter the general title");
3237  fGentText->Resize(gen_title_buf_lenght, fGentText->GetDefaultHeight());
3239  fGentText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonGent()");
3241  new TGLayoutHints(kLHintsBottom | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
3243 
3245  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
3246  AddFrame(fGentFrame, fLayoutGentFieldFrame);
3247  AddFrame(fVoidFrame);
3248 
3249  //========================== Color Palette + EXIT
3250  fColorExitFrame = new TGCompositeFrame(this,60,20, kHorizontalFrame,
3251  GetDefaultFrameBackground()); fCnew++;
3252 
3253  //-------------------------- Black/Red/Blue <-> Rainbow
3254  TString xColPalButText = " Colors ";
3255  fButColPal = new TGCheckButton(fColorExitFrame, xColPalButText, fButColPalC); fCnew++;
3256  fButColPal->Connect("Clicked()","TEcnaGui", this, "DoButtonColPal()");
3257  fButColPal->SetBackgroundColor(SubDetColor);
3258  fLayoutColPalBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1); fCnew++;
3260 
3261  //-------------------------- Exit
3262  TString xExitButText = " Exit ";
3263  fButExit = new TGTextButton(fColorExitFrame, xExitButText, fButExitC); fCnew++;
3264  fButExit->Connect("Clicked()","TEcnaGui", this, "DoButtonExit()");
3265  fButExit->SetBackgroundColor(SubDetColor);
3266  fLayoutExitBut = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1); fCnew++;
3268 
3269  fLayoutColorExitFrame = new TGLayoutHints(kLHintsTop | kLHintsExpandX,
3270  xB1, xB1, xB1, xB1); fCnew++;
3271 
3272  //AddFrame(fVoidFrame, fLayoutBottRight);
3274 
3275  //========================== Last frame: buttons: ROOT version, Help
3276 
3277  fLastFrame = new TGCompositeFrame(this,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
3278 
3279  //-------------------------- Clone Last Canvas
3280  TString xCloneButText = " Clone Last Canvas ";
3281  fButClone = new TGTextButton(fLastFrame, xCloneButText, fButCloneC); fCnew++;
3282  fButClone->Connect("Clicked()","TEcnaGui", this, "DoButtonClone()");
3283  fButClone->SetBackgroundColor(SubDetColor);
3284  fLayoutCloneBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1); fCnew++;
3285  fLastFrame->AddFrame(fButClone, fLayoutCloneBut);
3286 
3287  //-------------------------- ROOT version
3288  TString xRootButText = " ROOT Version ";
3289  fButRoot = new TGTextButton(fLastFrame, xRootButText, fButRootC); fCnew++;
3290  fButRoot->Connect("Clicked()","TEcnaGui", this, "DoButtonRoot()");
3291  fButRoot->SetBackgroundColor(SubDetColor);
3292  fLayoutRootBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1); fCnew++;
3293  fLastFrame->AddFrame(fButRoot, fLayoutRootBut);
3294 
3295  //-------------------------- HELP
3296  TString xHelpButText = " Help ";
3297  fButHelp = new TGTextButton(fLastFrame, xHelpButText, fButHelpC); fCnew++;
3298  fButHelp->Connect("Clicked()","TEcnaGui", this, "DoButtonHelp()");
3299  fButHelp->SetBackgroundColor(SubDetColor);
3300  fLayoutHelpBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1); fCnew++;
3301  fLastFrame->AddFrame(fButHelp, fLayoutHelpBut);
3302 
3303  AddFrame(fLastFrame, fLayoutGeneral);
3304 
3305  //................................. Window
3306 
3307  MapSubwindows();
3308  Layout();
3309 
3310  if( fSubDet == "EB" ){SetWindowName("CMS Ecal Correlated Noise Analysis <EB>");}
3311  if( fSubDet == "EE" ){SetWindowName("CMS Ecal Correlated Noise Analysis <EE>");}
3312 
3313  SetBackgroundColor(SubDetColor);
3314  SetIconName("CNA");
3315  MapWindow();
3316 }
3317 // end of constructor with arguments
3318 
3319 //###################################################################
3320 //
3321 // M E T H O D S
3322 //
3323 //###################################################################
3324 
3325 //===============================================================
3326 //
3327 // Buttons
3328 //
3329 //===============================================================
3330 
3331 //----------------------------------------------------------------------
3332 //void TEcnaGui::DoButtonPyf()
3333 //{
3336 
3337 // //........................... get info from the entry field
3338 // char* listchain = (char*)fPyfText->GetBuffer()->GetString();
3339 // fKeyPyf = listchain;
3340 
3341 // fCnaCommand++;
3342 // cout << " *TEcnaGui [" << fCnaCommand
3343 // << "]> Registration of file name for python file source sector -> "
3344 // << fKeyPyf.Data() << endl;
3345 //}
3346 //----------------------------------------------------------------------
3348 {
3349 //Registration of the type of the analysis
3350 
3351  char* bufferchain;
3352  bufferchain = (char*)fAnaText->GetBuffer()->GetString();
3353 
3354  fKeyAnaType = bufferchain;
3355 
3356  fCnaCommand++;
3357  cout << " *TEcnaGui [" << fCnaCommand
3358  << "]> Registration of analysis name -> "
3359  << fKeyAnaType << endl;
3360 }
3361 
3362 //----------------------------------------------------------------------
3364 {
3365 //Registration of the number of samples (ROOT file)
3366 
3367  char* bufferchain;
3368  bufferchain = (char*)fNorsText->GetBuffer()->GetString();
3369  fKeyNbOfSamplesString = bufferchain;
3370  fKeyNbOfSamples = atoi(bufferchain);
3371 
3372  if ( !(fKeyNbOfSamples >= 1 && fKeyNbOfSamples <= fEcal->MaxSampADC()) )
3373  {
3374  fCnaError++;
3375  cout << " !TEcnaGui (" << fCnaError << ") *** ERROR *** ===>"
3376  << " Number of required samples for reading ROOT file = " << fKeyNbOfSamples
3377  << ": OUT OF RANGE, " << endl
3378  << " forced to the default value (="
3379  << fEcal->MaxSampADC() << ")." << fTTBELL << endl;
3382  }
3383 
3384  //................... Update of Sample Button Text according to the number of sample
3385  TString xSampButText = " Sample [?,?] ";
3386 
3387  if( fKeyNbOfSamples == 1 ){xSampButText = " Sample [1,1] ";}
3388  if( fKeyNbOfSamples == 2 ){xSampButText = " Sample [1,2] ";}
3389  if( fKeyNbOfSamples == 3 ){xSampButText = " Sample [1,3] ";}
3390  if( fKeyNbOfSamples == 4 ){xSampButText = " Sample [1,4] ";}
3391  if( fKeyNbOfSamples == 5 ){xSampButText = " Sample [1,5] ";}
3392  if( fKeyNbOfSamples == 6 ){xSampButText = " Sample [1,6] ";}
3393  if( fKeyNbOfSamples == 7 ){xSampButText = " Sample [1,7] ";}
3394  if( fKeyNbOfSamples == 8 ){xSampButText = " Sample [1,8] ";}
3395  if( fKeyNbOfSamples == 9 ){xSampButText = " Sample [1,9] ";}
3396  if( fKeyNbOfSamples == 10 ){xSampButText = " Sample [1,10] ";}
3397 
3398  fSampBut->SetText(xSampButText);
3399 
3400  fCnaCommand++;
3401  cout << " *TEcnaGui [" << fCnaCommand
3402  << "]> Registration of number of samples in ROOT file -> "
3403  << fKeyNbOfSamples << endl;
3404 }
3405 //----------------------------------------------------------------------
3407 {
3408 //Registration of the number of samples (ROOT file)
3409 
3410  char* bufferchain;
3411  bufferchain = (char*)fNbSampForCalcText->GetBuffer()->GetString();
3412  fKeyNbOfSampForCalcString = bufferchain;
3413  fKeyNbOfSampForCalc = atoi(bufferchain);
3414 
3416  {
3417  fCnaError++;
3418  cout << " !TEcnaGui (" << fCnaError << ") *** ERROR *** ===>"
3419  << " Number of required samples for calculations = " << fKeyNbOfSampForCalc
3420  << ": OUT OF RANGE, " << endl
3421  << " forced to the default value (="
3422  << fKeyNbOfSamples << ")." << fTTBELL << endl;
3425  }
3426  fCnaCommand++;
3427  cout << " *TEcnaGui [" << fCnaCommand
3428  << "]> Registration of number of samples for calculations -> "
3429  << fKeyNbOfSampForCalc << endl;
3430 }
3431 
3432 //----------------------------------------------------------------------
3434 {
3435 //Register run number
3436 
3437  //........................... get info from the entry field
3438  char* bufferchain = (char*)fRunText->GetBuffer()->GetString();
3439  fKeyRunNumberString = bufferchain;
3440  fKeyRunNumber = atoi(bufferchain);
3441  fCnaCommand++;
3442  cout << " *TEcnaGui [" << fCnaCommand
3443  << "]> Registration of run number -> "
3444  << fKeyRunNumber << endl;
3445 }
3446 //-------------------------------------------------------------------
3447 
3449 {
3450 //Registration of the first requested event number
3451 
3452  char* bufferchain;
3453  bufferchain = (char*)fFevText->GetBuffer()->GetString();
3454  fKeyFirstReqEvtNumberString = bufferchain;
3455  fKeyFirstReqEvtNumber = atoi(bufferchain);
3456 
3457  if ( fKeyFirstReqEvtNumber <= 0)
3458  {
3459  fCnaError++;
3460  cout << " !TEcnaGui (" << fCnaError << ") *ERROR* ===> "
3461  << " First event number = " << fKeyFirstReqEvtNumber
3462  << ": negative. " << endl
3463  << fTTBELL << endl;
3464  }
3465 
3466  fCnaCommand++;
3467  cout << " *TEcnaGui [" << fCnaCommand
3468  << "]> Registration of first requested event number -> "
3469  << fKeyFirstReqEvtNumber << endl;
3470 }
3471 //-------------------------------------------------------------------
3473 {
3474 //Registration of the last requested event number
3475 
3476  char* bufferchain;
3477  bufferchain = (char*)fLevText->GetBuffer()->GetString();
3478  fKeyLastReqEvtNumberString = bufferchain;
3479  fKeyLastReqEvtNumber = atoi(bufferchain);
3480 
3482  {
3483  fCnaError++;
3484  cout << " !TEcnaGui (" << fCnaError << ") *WARNING* ===> "
3485  << " Last requested event number = " << fKeyLastReqEvtNumber
3486  << ": less than first requested event number (= " << fKeyFirstReqEvtNumber << ")."
3487  << endl;
3488  }
3489 
3490  fCnaCommand++;
3491  cout << " *TEcnaGui [" << fCnaCommand
3492  << "]> Registration of last requested event number -> "
3493  << fKeyLastReqEvtNumber << endl;
3494 }
3495 //-------------------------------------------------------------------
3497 {
3498 //Registration of the nb ofrequested events
3499 
3500  char* bufferchain;
3501  bufferchain = (char*)fRevText->GetBuffer()->GetString();
3502  fKeyReqNbOfEvtsString = bufferchain;
3503  fKeyReqNbOfEvts = atoi(bufferchain);
3504 
3505  Int_t nb_range_evts = fKeyLastReqEvtNumber - fKeyFirstReqEvtNumber + 1;
3506 
3507  if( fKeyLastReqEvtNumber < fKeyFirstReqEvtNumber)
3508  {
3509  fCnaError++;
3510  cout << " !TEcnaGui (" << fCnaError << ") *WARNING* ===> "
3511  << " Last requested event number = " << fKeyLastReqEvtNumber
3512  << " less than first requested event number = " << fKeyFirstReqEvtNumber
3513  << endl;
3514  }
3515 
3516  if ( fKeyLastReqEvtNumber >= fKeyFirstReqEvtNumber && fKeyReqNbOfEvts > nb_range_evts )
3517  {
3518  fCnaError++;
3519  cout << " !TEcnaGui (" << fCnaError << ") *WARNING* ===> "
3520  << " Nb of requested events = " << fKeyReqNbOfEvts
3521  << ": out of range (range = " << fKeyFirstReqEvtNumber << ","
3522  << fKeyLastReqEvtNumber << ") => " << nb_range_evts << " events."
3523  << endl;
3524  }
3525 
3526  fCnaCommand++;
3527  cout << " *TEcnaGui [" << fCnaCommand
3528  << "]> Registration of requested number of events -> "
3529  << fKeyReqNbOfEvts << endl;
3530 }
3531 
3532 //-------------------------------------------------------------------
3534 {
3535 //Registration of the Stex number
3536 
3537  char* bufferchain;
3538  bufferchain = (char*)fStexText->GetBuffer()->GetString();
3539  fKeyStexNumberString = bufferchain;
3540  fKeyStexNumber = atoi(bufferchain);
3541 
3542  if( fSubDet == "EB" )
3543  {
3544  fCnaCommand++;
3545  cout << " *TEcnaGui [" << fCnaCommand
3546  << "]> Registration of SuperModule number -> "
3547  << fKeyStexNumber << endl;
3548 
3549  //.......... Positive number for EB- [-1,-18] -> [19,36]
3551 
3552  if( (fKeyStexNumber < 0) || (fKeyStexNumber > fEcal->MaxSMInEB() ) )
3553  {
3554  fCnaError++;
3555  cout << " !TEcnaGui (" << fCnaError << ") *** ERROR *** ===> "
3556  << " EB / SM number = " << fKeyStexNumber
3557  << ": out of range. Range = 0 (EB) or [ 1 ," << fEcal->MaxSMInEB() << " ] (SM)"
3558  << " or [ -" << fEcal->MaxSMInEBMinus() << ", +" << fEcal->MaxSMInEBPlus() << "] (SM)"
3559  << fTTBELL << endl;
3560  }
3561  }
3562 
3563  if( fSubDet == "EE" )
3564  {
3565  //................... Update of SC Button Text according to the Dee Number
3566  TString xStinAButText = "?";
3567  TString xStinBButText = "?";
3568  Int_t Stin_buf_lenght = 10;
3569  if ( fSubDet == "EE" && ( fKeyStexNumber == 1 || fKeyStexNumber == 3 ) )
3570  {xStinAButText = "SC for const. [150,298] "; xStinBButText = "SC' for const. [150,298] ";
3571  Stin_buf_lenght = 50; fStinABut->SetText(xStinAButText); fStinBBut->SetText(xStinBButText);}
3572  if ( fSubDet == "EE" && ( fKeyStexNumber == 2 || fKeyStexNumber == 4 ) )
3573  {xStinAButText = "SC for const. [ 1,149] "; xStinBButText = "SC' for const. [ 1,149] ";
3574  Stin_buf_lenght = 50; fStinABut->SetText(xStinAButText); fStinBBut->SetText(xStinBButText);}
3575 
3576  if ( fSubDet == "EE" && ( fKeyStexNumber == 0 ) )
3577  {xStinAButText = "SC for const. "; xStinBButText = "SC' for const. ";
3578  Stin_buf_lenght = 50; fStinABut->SetText(xStinAButText); fStinBBut->SetText(xStinBButText);}
3579 
3580  //................... Update of SC widget according to the Dee Number
3581  if( fKeyStexNumber > 0 )
3582  {
3583  Int_t StinAValue = fKeyStinANumber;
3584  if( fSubDet == "EE" )
3586  DisplayInEntryField(fStinAText,StinAValue);
3587  Int_t StinBValue = fKeyStinBNumber;
3588  if( fSubDet == "EE" )
3590  DisplayInEntryField(fStinBText,StinBValue);
3591  }
3592  //............................................ Command message
3593  fCnaCommand++;
3594  cout << " *TEcnaGui [" << fCnaCommand
3595  << "]> Registration of Dee number -> "
3596  << fKeyStexNumber << endl;
3597 
3598  if ( (fKeyStexNumber < 0) || (fKeyStexNumber > fEcal->MaxDeeInEE() ) )
3599  {
3600  fCnaError++;
3601  cout << " !TEcnaGui (" << fCnaError << ") *** ERROR *** ===> "
3602  << " EE / Dee number = " << fKeyStexNumber
3603  << ": out of range. Range = 0 (EE) or [ 1 ," << fEcal->MaxDeeInEE() << " ] (Dee)"
3604  << fTTBELL << endl;
3605  }
3606  } // -- end of if( fSubDet == "EE" ) -------
3607 }
3608 //-------------------------------------------------------------------
3609 
3611 {
3612 //Registration of Ymin for number of events
3613 
3614  char* bufferchain;
3615  bufferchain = (char*)fVminD_NOE_ChNbText->GetBuffer()->GetString();
3616 
3617  fKeyVminD_NOE_ChNb = (Double_t)atof(bufferchain);
3618 
3619  fCnaCommand++;
3620  cout << " *TEcnaGui [" << fCnaCommand
3621  << "]> Registration of Ymin for plot 'number of events' -> "
3622  << fKeyVminD_NOE_ChNb << endl;
3623 }
3624 //-------------------------------------------------------------------
3625 
3627 {
3628 //Registration of Ymax for number of events
3629 
3630  char* bufferchain;
3631  bufferchain = (char*)fVmaxD_NOE_ChNbText->GetBuffer()->GetString();
3632 
3633  fKeyVmaxD_NOE_ChNb = (Double_t)atof(bufferchain);
3634 
3635  fCnaCommand++;
3636  cout << " *TEcnaGui [" << fCnaCommand
3637  << "]> Registration of Ymax for plot 'number of events' -> "
3638  << fKeyVmaxD_NOE_ChNb << endl;
3639 }
3640 //-------------------------------------------------------------------
3641 
3643 {
3644 //Registration of Ymin for pedestals
3645 
3646  char* bufferchain;
3647  bufferchain = (char*)fVminD_Ped_ChNbText->GetBuffer()->GetString();
3648 
3649  fKeyVminD_Ped_ChNb = (Double_t)atof(bufferchain);
3650 
3651  fCnaCommand++;
3652  cout << " *TEcnaGui [" << fCnaCommand
3653  << "]> Registration of Ymin for plot 'pedestal' -> "
3654  << fKeyVminD_Ped_ChNb << endl;
3655 }
3656 //-------------------------------------------------------------------
3657 
3659 {
3660 //Registration of Ymax for pedestals
3661 
3662  char* bufferchain;
3663  bufferchain = (char*)fVmaxD_Ped_ChNbText->GetBuffer()->GetString();
3664 
3665  fKeyVmaxD_Ped_ChNb = (Double_t)atof(bufferchain);
3666 
3667  fCnaCommand++;
3668  cout << " *TEcnaGui [" << fCnaCommand
3669  << "]> Registration of Ymax for plot 'pedestal' -> "
3670  << fKeyVmaxD_Ped_ChNb << endl;
3671 }
3672 //-------------------------------------------------------------------
3673 
3675 {
3676 //Registration of Ymin for mean of sample sigmas (noise)
3677 
3678  char* bufferchain;
3679  bufferchain = (char*)fVminD_TNo_ChNbText->GetBuffer()->GetString();
3680 
3681  fKeyVminD_TNo_ChNb = (Double_t)atof(bufferchain);
3682 
3683  fCnaCommand++;
3684  cout << " *TEcnaGui [" << fCnaCommand
3685  << "]> Registration of Ymin for plot 'total noise' -> "
3686  << fKeyVminD_TNo_ChNb << endl;
3687 }
3688 //-------------------------------------------------------------------
3689 
3691 {
3692 //Registration of Ymax for mean of sample sigmas (noise)
3693 
3694  char* bufferchain;
3695  bufferchain = (char*)fVmaxD_TNo_ChNbText->GetBuffer()->GetString();
3696 
3697  fKeyVmaxD_TNo_ChNb = (Double_t)atof(bufferchain);
3698 
3699  fCnaCommand++;
3700  cout << " *TEcnaGui [" << fCnaCommand
3701  << "]> Registration of Ymax for plot 'total noise' -> "
3702  << fKeyVmaxD_TNo_ChNb << endl;
3703 }
3704 //-------------------------------------------------------------------
3705 
3707 {
3708 //Registration of Ymin for mean of cor(s,s')
3709 
3710  char* bufferchain;
3711  bufferchain = (char*)fVminD_MCs_ChNbText->GetBuffer()->GetString();
3712 
3713  fKeyVminD_MCs_ChNb = (Double_t)atof(bufferchain);
3714 
3715  fCnaCommand++;
3716  cout << " *TEcnaGui [" << fCnaCommand
3717  << "]> Registration of Ymin for plot 'mean of cor(s,s')' -> "
3718  << fKeyVminD_MCs_ChNb << endl;
3719 }
3720 //-------------------------------------------------------------------
3721 
3723 {
3724 //Registration of Ymax for mean of cor(s,s')
3725 
3726  char* bufferchain;
3727  bufferchain = (char*)fVmaxD_MCs_ChNbText->GetBuffer()->GetString();
3728 
3729  fKeyVmaxD_MCs_ChNb = (Double_t)atof(bufferchain);
3730 
3731  fCnaCommand++;
3732  cout << " *TEcnaGui [" << fCnaCommand
3733  << "]> Registration of Ymax for plot 'mean of cor(s,s')' -> "
3734  << fKeyVmaxD_MCs_ChNb << endl;
3735 }
3736 //-------------------------------------------------------------------
3737 
3738 
3740 {
3741 //Registration of Ymin for sigmas of sample means
3742 
3743  char* bufferchain;
3744  bufferchain = (char*)fVminD_LFN_ChNbText->GetBuffer()->GetString();
3745 
3746  fKeyVminD_LFN_ChNb = (Double_t)atof(bufferchain);
3747 
3748  fCnaCommand++;
3749  cout << " *TEcnaGui [" << fCnaCommand
3750  << "]> Registration of Ymin for plot 'low frequency noise' -> "
3751  << fKeyVminD_LFN_ChNb << endl;
3752 }
3753 //-------------------------------------------------------------------
3754 
3756 {
3757 //Registration of Ymax for sigmas of sample means
3758 
3759  char* bufferchain;
3760  bufferchain = (char*)fVmaxD_LFN_ChNbText->GetBuffer()->GetString();
3761 
3762  fKeyVmaxD_LFN_ChNb = (Double_t)atof(bufferchain);
3763 
3764  fCnaCommand++;
3765  cout << " *TEcnaGui [" << fCnaCommand
3766  << "]> Registration of Ymax for plot 'low frequency noise' -> "
3767  << fKeyVmaxD_LFN_ChNb << endl;
3768 }
3769 //-------------------------------------------------------------------
3770 
3772 {
3773 //Registration of Ymin for sigmas of sample sigmas
3774 
3775  char* bufferchain;
3776  bufferchain = (char*)fVminD_HFN_ChNbText->GetBuffer()->GetString();
3777 
3778  fKeyVminD_HFN_ChNb = (Double_t)atof(bufferchain);
3779 
3780  fCnaCommand++;
3781  cout << " *TEcnaGui [" << fCnaCommand
3782  << "]> Registration of Ymin for plot 'high frequency noise' -> "
3783  << fKeyVminD_HFN_ChNb << endl;
3784 }
3785 //-------------------------------------------------------------------
3786 
3788 {
3789 //Registration of Ymax for sigmas of sample sigmas
3790 
3791  char* bufferchain;
3792  bufferchain = (char*)fVmaxD_HFN_ChNbText->GetBuffer()->GetString();
3793 
3794  fKeyVmaxD_HFN_ChNb = (Double_t)atof(bufferchain);
3795 
3796  fCnaCommand++;
3797  cout << " *TEcnaGui [" << fCnaCommand
3798  << "]> Registration of Ymax for plot 'high frequency noise' -> "
3799  << fKeyVmaxD_HFN_ChNb << endl;
3800 }
3801 //-------------------------------------------------------------------
3802 
3804 {
3805 //Registration of Ymin for sigmas of cor(s,s')
3806 
3807  char* bufferchain;
3808  bufferchain = (char*)fVminD_SCs_ChNbText->GetBuffer()->GetString();
3809 
3810  fKeyVminD_SCs_ChNb = (Double_t)atof(bufferchain);
3811 
3812  fCnaCommand++;
3813  cout << " *TEcnaGui [" << fCnaCommand
3814  << "]> Registration of Ymin for plot 'sigma of cor(s,s')' -> "
3815  << fKeyVminD_SCs_ChNb << endl;
3816 }
3817 //-------------------------------------------------------------------
3818 
3820 {
3821 //Registration of Ymax for sigmas of cor(s,s')
3822 
3823  char* bufferchain;
3824  bufferchain = (char*)fVmaxD_SCs_ChNbText->GetBuffer()->GetString();
3825 
3826  fKeyVmaxD_SCs_ChNb = (Double_t)atof(bufferchain);
3827 
3828  fCnaCommand++;
3829  cout << " *TEcnaGui [" << fCnaCommand
3830  << "]> Registration of Ymax for plot 'sigma of cor(s,s')' -> "
3831  << fKeyVmaxD_SCs_ChNb << endl;
3832 }
3833 //-------------------------------------------------------------------
3834 
3836 {
3837 //Registration of Ymin for LF Mean Cor(c,c')
3838 
3839  char* bufferchain;
3840  bufferchain = (char*)fVminLFccMosText->GetBuffer()->GetString();
3841 
3842  fKeyVminLFccMos = (Double_t)atof(bufferchain);
3843 
3844  fCnaCommand++;
3845  cout << " *TEcnaGui [" << fCnaCommand
3846  << "]> Registration of Ymin for plot 'mean LF |cor(c,c')|' -> "
3847  << fKeyVminLFccMos << endl;
3848 }
3849 //-------------------------------------------------------------------
3850 
3852 {
3853 //Registration of Ymax for LF Mean Cor(c,c')
3854 
3855  char* bufferchain;
3856  bufferchain = (char*)fVmaxLFccMosText->GetBuffer()->GetString();
3857 
3858  fKeyVmaxLFccMos = (Double_t)atof(bufferchain);
3859 
3860  fCnaCommand++;
3861  cout << " *TEcnaGui [" << fCnaCommand
3862  << "]> Registration of Ymax for plot 'mean LF |cor(c,c')|' -> "
3863  << fKeyVmaxLFccMos << endl;
3864 }
3865 //-------------------------------------------------------------------
3866 
3868 {
3869 //Registration of Ymin for HF Mean Cor(c,c')
3870 
3871  char* bufferchain;
3872  bufferchain = (char*)fVminHFccMosText->GetBuffer()->GetString();
3873 
3874  fKeyVminHFccMos = (Double_t)atof(bufferchain);
3875 
3876  fCnaCommand++;
3877  cout << " *TEcnaGui [" << fCnaCommand
3878  << "]> Registration of Ymin for plot 'mean HF |cor(c,c')|' -> "
3879  << fKeyVminHFccMos << endl;
3880 }
3881 //-------------------------------------------------------------------
3882 
3884 {
3885 //Registration of Ymax for HF Mean Cor(c,c')
3886 
3887  char* bufferchain;
3888  bufferchain = (char*)fVmaxHFccMosText->GetBuffer()->GetString();
3889 
3890  fKeyVmaxHFccMos = (Double_t)atof(bufferchain);
3891 
3892  fCnaCommand++;
3893  cout << " *TEcnaGui [" << fCnaCommand
3894  << "]> Registration of Ymax for plot 'mean HF |cor(c,c')|' -> "
3895  << fKeyVmaxHFccMos << endl;
3896 }
3897 
3898 //-------------------------------------------------------------------
3899 
3901 {
3902 //Registration of Ymin for cov(c,c') in Stins
3903 
3904  char* bufferchain;
3905  bufferchain = (char*)fVminLHFccText->GetBuffer()->GetString();
3906 
3907  fKeyVminLHFcc = (Double_t)atof(bufferchain);
3908 
3909  fCnaCommand++;
3910  cout << " *TEcnaGui [" << fCnaCommand
3911  << "]> Registration of Ymin for plot 'cor(c,c') in "
3912  << fStinName.Data() << "s' -> " << fKeyVminLHFcc << endl;
3913 }
3914 //-------------------------------------------------------------------
3915 
3917 {
3918 //Registration of Ymax for cov(c,c') in Stins
3919 
3920  char* bufferchain;
3921  bufferchain = (char*)fVmaxLHFccText->GetBuffer()->GetString();
3922 
3923  fKeyVmaxLHFcc = (Double_t)atof(bufferchain);
3924 
3925  fCnaCommand++;
3926  cout << " *TEcnaGui [" << fCnaCommand
3927  << "]> Registration of Ymax for plot 'cor(c,c') in "
3928  << fStinName.Data() << "s' -> " << fKeyVmaxLHFcc << endl;
3929 }
3930 
3931 //-------------------------------------------------------------------
3932 
3934 {
3935  ViewStexStinNumbering(); // message in the method
3936 }
3937 //-------------------------------------------------------------------
3939 {
3940 //Registration of the Stin A number (A = X coordinate for cor(c,c') plots)
3941 
3942  char* bufferchain;
3943  bufferchain = (char*)fStinAText->GetBuffer()->GetString();
3944 
3945  Int_t xReadStinANumberForCons = atoi(bufferchain);
3946 
3947  if( fSubDet == "EB" ){fKeyStinANumber = xReadStinANumberForCons;}
3948  if( fSubDet == "EE" )
3950 
3951  if( fSubDet == "EB" )
3952  {
3953  fCnaCommand++;
3954  cout << " *TEcnaGui [" << fCnaCommand
3955  << "]> Registration of " << fStinName.Data() << " number -> "
3956  << xReadStinANumberForCons << endl;
3957 
3959  {
3960  fCnaError++;
3961  cout << " !TEcnaGui (" << fCnaError << ") *** ERROR *** ===> " << fStinName.Data()
3962  << " number = " << fKeyStinANumber
3963  << ": out of range ( range = [ 1 ," << fEcal->MaxStinEcnaInStex() << " ] ) "
3964  << fTTBELL << endl;
3965  }
3966  }
3967 
3968  if( fSubDet == "EE" )
3969  {
3970  fCnaCommand++;
3971  cout << " *TEcnaGui [" << fCnaCommand
3972  << "]> Registration of " << fStinName.Data() << " number for construction -> "
3973  << xReadStinANumberForCons << endl;
3974 
3975  if( fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxDeeInEE() )
3976  {
3977  Int_t off_set_cons = 0;
3978  if( fKeyStexNumber == 1 || fKeyStexNumber == 3 ){off_set_cons = fEcal->MaxSCForConsInDee();}
3979 
3980  if( xReadStinANumberForCons <= off_set_cons ||
3981  xReadStinANumberForCons > fEcal->MaxSCForConsInDee()+off_set_cons )
3982  {
3983  fCnaError++;
3984  cout << " !TEcnaGui (" << fCnaError << ") *** ERROR *** ===> SC nb for construction = "
3985  << xReadStinANumberForCons << ". Out of range ( range = [ " << off_set_cons+1
3986  << "," << fEcal->MaxSCForConsInDee()+off_set_cons << "] )"
3987  << fTTBELL << endl;
3988  }
3989  }
3990  else
3991  {
3992  fCnaError++;
3993  cout << " !TEcnaGui (" << fCnaError << ") *** ERROR *** ===> DeeNumber = " << fKeyStexNumber
3994  << ". Out of range ( range = [1," << fEcal->MaxDeeInEE() << "] )"
3995  << fTTBELL << endl;
3996  }
3997  }
3998 }
3999 
4000 //-------------------------------------------------------------------
4002 {
4003 //Registration of the Stin B number (B = Y coordinate for cor(c,c') plots)
4004 
4005  char* bufferchain;
4006  bufferchain = (char*)fStinBText->GetBuffer()->GetString();
4007 
4008  Int_t xReadStinBNumberForCons = atoi(bufferchain);
4009 
4010  if( fSubDet == "EB" ){fKeyStinBNumber = xReadStinBNumberForCons;}
4011  if( fSubDet == "EE" )
4013 
4014  fCnaCommand++;
4015  cout << " *TEcnaGui [" << fCnaCommand
4016  << "]> Registration of " << fStinName.Data() << "' number -> "
4017  << xReadStinBNumberForCons << endl;
4018 
4019  if( fSubDet == "EB" )
4020  {
4022  {
4023  fCnaError++;
4024  cout << " !TEcnaGui (" << fCnaError << ") *** ERROR *** ===> " << fStinName.Data()
4025  << "' number = " << fKeyStinBNumber
4026  << ": out of range ( range = [ 1 ," << fEcal->MaxStinEcnaInStex() << " ] ) "
4027  << fTTBELL << endl;
4028  }
4029  }
4030 
4031  if( fSubDet == "EE" )
4032  {
4033  if( fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxDeeInEE() )
4034  {
4035  Int_t off_set_cons = 0;
4036  if( fKeyStexNumber == 1 || fKeyStexNumber == 3 ){off_set_cons = fEcal->MaxSCForConsInDee();}
4037 
4038  if( xReadStinBNumberForCons < off_set_cons ||
4039  xReadStinBNumberForCons > fEcal->MaxSCForConsInDee()+off_set_cons )
4040  {
4041  fCnaError++;
4042  cout << " !TEcnaGui (" << fCnaError << ") *** ERROR *** ===> SC nb for construction = "
4043  << xReadStinBNumberForCons << ". Out of range ( range = [ " << off_set_cons+1
4044  << "," << fEcal->MaxSCForConsInDee()+off_set_cons << "] )"
4045  << fTTBELL << endl;
4046  }
4047  }
4048  else
4049  {
4050  fCnaError++;
4051  cout << " !TEcnaGui (" << fCnaError << ") *** ERROR *** ===> DeeNumber = " << fKeyStexNumber
4052  << ". Out of range ( range = [1," << fEcal->MaxDeeInEE() << "] )"
4053  << fTTBELL << endl;
4054  }
4055  }
4056 }
4057 //-------------------------------------------------------------------
4059 {
4060 //Display of StinA Channel numbering
4062 }
4063 
4064 //-------------------------------------------------------------------
4066 {
4067 //Registration of the channel number
4068 
4069  char* bufferchain;
4070  bufferchain = (char*)fChanText->GetBuffer()->GetString();
4071  Int_t xReadNumber = atoi(bufferchain);
4072 
4073  Int_t Choffset = -1;
4074  TString ChString = "?";
4075 
4076  if( fSubDet == "EB"){Choffset = 0; ChString = "channel";}
4077  if( fSubDet == "EE"){Choffset = 1; ChString = "crystal";}
4078 
4079  fKeyChanNumber = xReadNumber-Choffset; // fKeyChanNumber : range = [0,25]
4080  fCnaCommand++;
4081  cout << " *TEcnaGui [" << fCnaCommand
4082  << "]> Registration of " << ChString.Data() << " number -> "
4083  << xReadNumber << endl;
4084 
4085  if ( (fKeyChanNumber < 0) || (fKeyChanNumber > fEcal->MaxCrysInStin()-1 ) )
4086  {
4087  fCnaError++;
4088  cout << " !TEcnaGui (" << fCnaError << ") *** ERROR *** ===> "
4089  << ChString.Data() << " number in " << fStinName.Data() << " = " << xReadNumber
4090  << ": out of range ( range = [" << Choffset << ","
4091  << fEcal->MaxCrysInStin()-1+Choffset << "] )"
4092  << fTTBELL << endl;
4093  }
4094 }
4095 //-------------------------------------------------------------------
4097 {
4098 //Registration of the sample number
4099 
4100  char* bufferchain;
4101  bufferchain = (char*)fSampText->GetBuffer()->GetString();
4102  Int_t xKeySampNumber = atoi(bufferchain);
4103 
4104  fCnaCommand++;
4105  cout << " *TEcnaGui [" << fCnaCommand
4106  << "]> Registration of sample number -> "
4107  << xKeySampNumber << endl;
4108 
4109  if ( (xKeySampNumber < 1) || (xKeySampNumber > fKeyNbOfSamples ) )
4110  {
4111  fCnaError++;
4112  cout << " !TEcnaGui (" << fCnaError << ") *** ERROR *** ===> "
4113  << " Sample number = " << xKeySampNumber
4114  << ": out of range ( range = [ 1 ," << fKeyNbOfSamples << " ] )"
4115  << fTTBELL << endl;
4116  }
4117 
4118  fKeySampNumber = xKeySampNumber-1;
4119 }
4120 
4121 //----------------------------------------------------------------------
4123 {
4124 //Register the name of the file containing the list of run parameters
4125 
4126  //........................... get info from the entry field
4127  char* listchain = (char*)fRulText->GetBuffer()->GetString();
4128  if( listchain[0] == '\0' )
4129  {
4130  fCnaError++;
4131  cout << " !TEcnaGui (" << fCnaError << ") *ERROR* ===> "
4132  << " Empty file name in entry for TIME EVOLUTION plots."
4133  << fTTBELL << endl;
4135  }
4136  else
4137  {
4138  char tchiffr[10] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
4139 
4140  //............. test of the first character (figure => run number, letter => file name)
4141  if( listchain[0] == tchiffr [0] || listchain[0] == tchiffr [1] ||
4142  listchain[0] == tchiffr [2] || listchain[0] == tchiffr [3] ||
4143  listchain[0] == tchiffr [4] || listchain[0] == tchiffr [5] ||
4144  listchain[0] == tchiffr [6] || listchain[0] == tchiffr [7] ||
4145  listchain[0] == tchiffr [8] || listchain[0] == tchiffr [9] )
4146  {
4147  fCnaError++;
4148  cout << " !TEcnaGui (" << fCnaError << ") *ERROR* ===> "
4149  << " Please, enter a file name beginning with an alphabetic letter."
4150  << fTTBELL << endl;
4151  }
4152  else
4153  {
4154  fKeyFileNameRunList = listchain;
4155 
4156  fCnaCommand++;
4157  cout << " *TEcnaGui [" << fCnaCommand
4158  << "]> Registration of run list file name for history plots -> "
4159  << fKeyFileNameRunList.Data() << endl;
4160  }
4161  }
4162 }
4163 
4164 //----------------------------------------------------------------------
4166 {
4167 //Register the general title
4168  //........................... get info from the entry field
4169  char* listchain = (char*)fGentText->GetBuffer()->GetString();
4170  fKeyGeneralTitle = listchain;
4171 
4172  fCnaCommand++;
4173  cout << " *TEcnaGui [" << fCnaCommand
4174  << "]> Registration of general title -> "
4175  << fKeyGeneralTitle.Data() << endl;
4176 }
4177 //-------------------------------------------------------------------
4178 //
4179 // Last buttons methods
4180 //
4181 //-------------------------------------------------------------------
4182 //======================= LIN/LOG + Projy FRAME
4183 
4185 {
4186  if( fMemoScaleX == "LOG"){fKeyScaleX = "LIN";}
4187  if( fMemoScaleX == "LIN"){fKeyScaleX = "LOG";}
4189 
4190  fCnaCommand++;
4191  cout << " *TEcnaGui [" << fCnaCommand
4192  << "]> X axis -> " << fKeyScaleX << " scale " << endl;
4193 }
4195 {
4196  if( fMemoScaleY == "LOG" ){fKeyScaleY = "LIN";}
4197  if( fMemoScaleY == "LIN" ){fKeyScaleY = "LOG";}
4199 
4200  fCnaCommand++;
4201  cout << " *TEcnaGui [" << fCnaCommand
4202  << "]> Y axis -> " << fKeyScaleY << " scale " << endl;
4203 }
4204 
4206 {
4207  if( fMemoProjY == "Y projection" ){fKeyProjY = "normal";}
4208  if( fMemoProjY == "normal" ){fKeyProjY = "Y projection";}
4210 
4211  fCnaCommand++;
4212  cout << " *TEcnaGui [" << fCnaCommand
4213  << "]> 1D Histo display -> " << fKeyProjY << " mode " << endl;
4214 }
4215 
4216 //------------------------------------------------------------------- Colors + Exit
4217 
4219 {
4220  if( fMemoColPal == "ECCNAColor" ){fKeyColPal = "Rainbow";}
4221  if( fMemoColPal == "Rainbow" ){fKeyColPal = "ECCNAColor";}
4223 
4224  TString sColPalComment = "?";
4225  if( fKeyColPal == "ECCNAColor" )
4226  {sColPalComment = "ECNAColor option: black-red-blue-green-brown-purple (default)";}
4227  if( fKeyColPal == "Rainbow" )
4228  {sColPalComment = "Rainbow option: red-orange-yellow-green-blue-indigo-purple";}
4229 
4230  fCnaCommand++;
4231  cout << " *TEcnaGui [" << fCnaCommand
4232  << "]> Color palette -> " << sColPalComment << endl;
4233 }
4234 
4236 {
4237  fCnaCommand++;
4238  cout << " *TEcnaGui [" << fCnaCommand
4239  << "]> Exit CNA session."
4240  << endl;
4241  //............................ Quit the ROOT session
4242  fButExit->SetCommand(".q");
4243 }
4244 
4245 //======================= LAST FRAME
4246 //-------------------------------------------------------------------
4248 {
4249  fCnaCommand++;
4250  cout << " *TEcnaGui [" << fCnaCommand
4251  << "]> Clone last canvas. " << endl;
4252 
4253  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
4255 }
4256 //-------------------------------------------------------------------
4258 {
4259  fCnaCommand++;
4260  cout << " *TEcnaGui [" << fCnaCommand
4261  << "]> This is ROOT version " << gROOT->GetVersion()
4262  << endl;
4263 }
4264 //-------------------------------------------------------------------
4266 {
4267  fCnaCommand++;
4268  cout << " *TEcnaGui [" << fCnaCommand
4269  << "]> HELP: for documentation, see the ECNA web page: " << endl
4270  << " http://cms-fabbro.web.cern.ch/cms-fabbro/cna_new/Correlated_Noise_analysis/ECNA_main_page.htm"
4271  << endl;
4272 }
4273 
4274 //===================================================================
4275 //
4276 // HandleMenu
4277 //
4278 //===================================================================
4279 void TEcnaGui::HandleMenu(Int_t id)
4280 {
4281  //HandleMenu
4282  //.................... SUBMIT on batch system
4283 
4284  if( id == fMenuSubmit8nmC ){SubmitOnBatchSystem("8nm");}
4285  if( id == fMenuSubmit1nhC ){SubmitOnBatchSystem("1nh");}
4286  if( id == fMenuSubmit8nhC ){SubmitOnBatchSystem("8nh");}
4287  if( id == fMenuSubmit1ndC ){SubmitOnBatchSystem("1nd");}
4288  if( id == fMenuSubmit1nwC ){SubmitOnBatchSystem("1nw");}
4289 
4290  //.................... Clean
4291  if( id == fMenuCleanSubC ){CleanBatchFiles("Sub");}
4292  if( id == fMenuCleanJobC ){CleanBatchFiles("Job");}
4293  if( id == fMenuCleanPythC ){CleanBatchFiles("Pyth");}
4294  if( id == fMenuCleanAllC ){CleanBatchFiles("All");}
4295 
4296  //.................... Calculations
4297  if( id == fMenuComputStdC ){Calculations("Std");}
4298  if( id == fMenuComputSttC ){Calculations("Stt");}
4299  if( id == fMenuComputSccC ){Calculations("Scc");}
4300 
4301  //.................... Nb of events in Stex
4302  if( id == fMenuD_NOE_ChNbFullC )
4303  {
4306  }
4307  if( id == fMenuD_NOE_ChNbSameC )
4308  {
4311  }
4314 
4315  //.................... Pedestal in Stex (HandleMenu)
4316  if( id == fMenuD_Ped_ChNbFullC )
4317  {
4320  }
4321  if( id == fMenuD_Ped_ChNbSameC )
4322  {
4325  }
4328 
4329  //.................... Total noise in Stex (HandleMenu)
4330  if( id == fMenuD_TNo_ChNbFullC )
4331  {
4334  }
4335  if( id == fMenuD_TNo_ChNbSameC )
4336  {
4339  }
4340  if( id == fMenuD_TNo_ChNbSamePC)
4341  {
4344  }
4347 
4348  //.................... Low Frequency noise in Stex (HandleMenu)
4349  if( id == fMenuD_LFN_ChNbFullC )
4350  {
4353  }
4354  if( id == fMenuD_LFN_ChNbSameC )
4355  {
4358  }
4359  if( id == fMenuD_LFN_ChNbSamePC)
4360  {
4363  }
4366 
4367  //.................... High Frequency noise in Stex (HandleMenu)
4368  if( id == fMenuD_HFN_ChNbFullC )
4369  {
4372  }
4373  if( id == fMenuD_HFN_ChNbSameC )
4374  {
4377  }
4378  if( id == fMenuD_HFN_ChNbSamePC)
4379  {
4382  }
4385 
4386  //.................... Mean of Corss in Stex (HandleMenu)
4387  if( id == fMenuD_MCs_ChNbFullC )
4388  {
4391  }
4392  if( id == fMenuD_MCs_ChNbSameC )
4393  {
4396  }
4397  if( id == fMenuD_MCs_ChNbSamePC)
4398  {
4401  }
4404 
4405  //.................... Sigma of Corss in the Stex (HandleMenu)
4406  if( id == fMenuD_SCs_ChNbFullC )
4407  {
4410  }
4411  if( id == fMenuD_SCs_ChNbSameC )
4412  {
4415  }
4416  if( id == fMenuD_SCs_ChNbSamePC)
4417  {
4420  }
4423 
4424  //............................... Low Freq Mean Cor(c,c') for each pair of Stins (HandleMenu)
4427  //............................... High Freq Mean Cor(c,c') for each pair of Stins
4430 
4431  //............................... Corcc for each Stin in the Stex
4434 
4435  //--------> Nb for Cons for Stin numbers in case of EE
4436  Int_t cKeyStinANumber = fKeyStinANumber;
4437  if( fSubDet == "EE" && fKeyStexNumber != 0 )
4439  Int_t cKeyStinBNumber = fKeyStinBNumber;
4440  if( fSubDet == "EE" && fKeyStexNumber != 0 )
4442 
4443  //............................... Low Frequency Correlations and covariances between channels
4444  if( id == fMenuLFCorccColzC )
4445  {ViewMatrixLowFrequencyCorrelationsBetweenChannels(cKeyStinANumber, cKeyStinBNumber, "COLZ");}
4446  if( id == fMenuLFCorccLegoC )
4447  {ViewMatrixLowFrequencyCorrelationsBetweenChannels(cKeyStinANumber, cKeyStinBNumber, "LEGO2Z");}
4448 
4449  if( id == fMenuHFCorccColzC )
4450  {ViewMatrixHighFrequencyCorrelationsBetweenChannels(cKeyStinANumber, cKeyStinBNumber, "COLZ");}
4451  if( id == fMenuHFCorccLegoC )
4452  {ViewMatrixHighFrequencyCorrelationsBetweenChannels(cKeyStinANumber, cKeyStinBNumber, "LEGO2Z");}
4453 
4454  //.................................... Correlations and covariances between samples (HandleMenu)
4455  if( id == fMenuCorssColzC ){ViewMatrixCorrelationSamples(cKeyStinANumber, fKeyChanNumber, "COLZ");}
4456  if( id == fMenuCorssBoxC ){ViewMatrixCorrelationSamples(cKeyStinANumber, fKeyChanNumber, "BOX");}
4457  if( id == fMenuCorssTextC ){ViewMatrixCorrelationSamples(cKeyStinANumber, fKeyChanNumber, "TEXT");}
4458  if( id == fMenuCorssContzC ){ViewMatrixCorrelationSamples(cKeyStinANumber, fKeyChanNumber, "CONTZ");}
4459  if( id == fMenuCorssLegoC ){ViewMatrixCorrelationSamples(cKeyStinANumber, fKeyChanNumber, "LEGO2Z");}
4460  if( id == fMenuCorssSurf1C ){ViewMatrixCorrelationSamples(cKeyStinANumber, fKeyChanNumber, "SURF1Z");}
4461  if( id == fMenuCorssSurf2C ){ViewMatrixCorrelationSamples(cKeyStinANumber, fKeyChanNumber, "SURF2Z");}
4462  if( id == fMenuCorssSurf3C ){ViewMatrixCorrelationSamples(cKeyStinANumber, fKeyChanNumber, "SURF3Z");}
4463  if( id == fMenuCorssSurf4C ){ViewMatrixCorrelationSamples(cKeyStinANumber, fKeyChanNumber, "SURF4");}
4464  if( id == fMenuCorssAsciiFileC ){ViewMatrixCorrelationSamples(cKeyStinANumber, fKeyChanNumber, "ASCII");}
4465 
4466  if( id == fMenuCovssColzC ){ViewMatrixCovarianceSamples(cKeyStinANumber, fKeyChanNumber, "COLZ");}
4467  if( id == fMenuCovssBoxC ){ViewMatrixCovarianceSamples(cKeyStinANumber, fKeyChanNumber, "BOX");}
4468  if( id == fMenuCovssTextC ){ViewMatrixCovarianceSamples(cKeyStinANumber, fKeyChanNumber, "TEXT");}
4469  if( id == fMenuCovssContzC ){ViewMatrixCovarianceSamples(cKeyStinANumber, fKeyChanNumber, "CONTZ");}
4470  if( id == fMenuCovssLegoC ){ViewMatrixCovarianceSamples(cKeyStinANumber, fKeyChanNumber, "LEGO2Z");}
4471  if( id == fMenuCovssSurf1C ){ViewMatrixCovarianceSamples(cKeyStinANumber, fKeyChanNumber, "SURF1Z");}
4472  if( id == fMenuCovssSurf2C ){ViewMatrixCovarianceSamples(cKeyStinANumber, fKeyChanNumber, "SURF2Z");}
4473  if( id == fMenuCovssSurf3C ){ViewMatrixCovarianceSamples(cKeyStinANumber, fKeyChanNumber, "SURF3Z");}
4474  if( id == fMenuCovssSurf4C ){ViewMatrixCovarianceSamples(cKeyStinANumber, fKeyChanNumber, "SURF4");}
4475  if( id == fMenuCovssAsciiFileC ){ViewMatrixCovarianceSamples(cKeyStinANumber, fKeyChanNumber, "ASCII");}
4476 
4477  //.................... Correlations and covariances between samples for all channels of a Stin
4478  if( id == fMenuCorssAllColzC ){ViewStinCorrelationSamples(cKeyStinANumber);}
4479  if( id == fMenuCovssAllColzC ){ViewStinCovarianceSamples(cKeyStinANumber);}
4480 
4481  //..................................... Expectation values of the samples (pedestals) (HandleMenu)
4482  if( id == fMenuD_MSp_SampLineFullC )
4484  if( id == fMenuD_MSp_SampLineSameC )
4486 
4487  //..................................... Sigmas of the samples
4488  if( id == fMenuD_SSp_SampLineFullC )
4490  if( id == fMenuD_SSp_SampLineSameC )
4492 
4493  //..................................... Evolution in time (ViewHistime, except EvolSamp -> Viewhisto)
4500  {
4502  {fCnaError++;
4503  cout << " !TEcnaGui (" << fCnaError << ") *** ERROR *** ===> "
4504  << " EMPTY STRING for list of run file name (TIME EVOLUTION plots)." << fTTBELL << endl;}
4505  else
4506  {
4507  //........................................ Pedestals (HandleMenu / ViewHistime)
4508  if( id == fMenuH_Ped_DatePolmFullC )
4509  {
4510  if( fMemoProjY == "normal" )
4512  cKeyStinANumber, fKeyChanNumber, fOptPlotFull);}
4513  if( fMemoProjY == "Y projection")
4515  cKeyStinANumber, fKeyChanNumber, fOptPlotFull);}
4516  }
4517  if( id == fMenuH_Ped_DatePolmSameC )
4518  { if( fMemoProjY == "normal" )
4520  cKeyStinANumber, fKeyChanNumber, fOptPlotSame);}
4521  if( fMemoProjY == "Y projection")
4523  cKeyStinANumber, fKeyChanNumber, fOptPlotSame);}
4524  }
4525 
4526  //........................................ Total noise
4527  if( id == fMenuH_TNo_DatePolmFullC )
4528  {
4529  if( fMemoProjY == "normal" )
4531  cKeyStinANumber, fKeyChanNumber, fOptPlotFull);}
4532  if( fMemoProjY == "Y projection")
4534  cKeyStinANumber, fKeyChanNumber, fOptPlotFull);}
4535  }
4536  if( id == fMenuH_TNo_DatePolmSameC )
4537  {
4538  if( fMemoProjY == "normal" )
4540  cKeyStinANumber, fKeyChanNumber, fOptPlotSame);}
4541  if( fMemoProjY == "Y projection")
4543  cKeyStinANumber, fKeyChanNumber, fOptPlotSame);}
4544  }
4545  if( id == fMenuH_TNo_DatePolmSamePC )
4546  {
4547  if( fMemoProjY == "normal" )
4549  cKeyStinANumber, fKeyChanNumber, fOptPlotSameP);}
4550  if( fMemoProjY == "Y projection")
4552  cKeyStinANumber, fKeyChanNumber, fOptPlotSameP);}
4553  }
4554 
4555  //........................................ Low frequency noise (HandleMenu / ViewHistime)
4556  if( id == fMenuH_LFN_DatePolmFullC )
4557  {
4558  if( fMemoProjY == "normal" )
4560  cKeyStinANumber, fKeyChanNumber, fOptPlotFull);}
4561  if( fMemoProjY == "Y projection")
4563  cKeyStinANumber, fKeyChanNumber, fOptPlotFull);}
4564  }
4565  if( id == fMenuH_LFN_DatePolmSameC )
4566  {
4567  if( fMemoProjY == "normal" )
4569  cKeyStinANumber, fKeyChanNumber, fOptPlotSame);}
4570  if( fMemoProjY == "Y projection")
4572  cKeyStinANumber, fKeyChanNumber, fOptPlotSame);}
4573  }
4574  if( id == fMenuH_LFN_DatePolmSamePC )
4575  {
4576  if( fMemoProjY == "normal" )
4578  cKeyStinANumber, fKeyChanNumber, fOptPlotSameP);}
4579  if( fMemoProjY == "Y projection")
4581  cKeyStinANumber, fKeyChanNumber, fOptPlotSameP);}
4582  }
4583 
4584  //........................................ High frequency noise
4585  if( id == fMenuH_HFN_DatePolmFullC )
4586  {
4587  if( fMemoProjY == "normal" )
4589  cKeyStinANumber, fKeyChanNumber, fOptPlotFull);}
4590  if( fMemoProjY == "Y projection")
4592  cKeyStinANumber, fKeyChanNumber, fOptPlotFull);}
4593  }
4594  if( id == fMenuH_HFN_DatePolmSameC )
4595  {
4596  if( fMemoProjY == "normal" )
4598  cKeyStinANumber, fKeyChanNumber, fOptPlotSame);}
4599  if( fMemoProjY == "Y projection")
4601  cKeyStinANumber, fKeyChanNumber, fOptPlotSame);}
4602  }
4603  if( id == fMenuH_HFN_DatePolmSamePC )
4604  {
4605  if( fMemoProjY == "normal" )
4607  cKeyStinANumber, fKeyChanNumber, fOptPlotSameP);}
4608  if( fMemoProjY == "Y projection")
4610  cKeyStinANumber, fKeyChanNumber, fOptPlotSameP);}
4611  }
4612 
4613  //........................................ Mean of Corss (HandleMenu / ViewHistime)
4614  if( id == fMenuH_MCs_DatePolmFullC )
4615  {
4616  if( fMemoProjY == "normal" )
4618  cKeyStinANumber, fKeyChanNumber, fOptPlotFull);}
4619  if( fMemoProjY == "Y projection")
4621  cKeyStinANumber, fKeyChanNumber, fOptPlotFull);}
4622  }
4623  if( id == fMenuH_MCs_DatePolmSameC )
4624  {
4625  if( fMemoProjY == "normal" )
4627  cKeyStinANumber, fKeyChanNumber, fOptPlotSame);}
4628  if( fMemoProjY == "Y projection")
4630  cKeyStinANumber, fKeyChanNumber, fOptPlotSame);}
4631  }
4632  if( id == fMenuH_MCs_DatePolmSamePC )
4633  {
4634  if( fMemoProjY == "normal" )
4636  cKeyStinANumber, fKeyChanNumber, fOptPlotSameP);}
4637  if( fMemoProjY == "Y projection")
4639  cKeyStinANumber, fKeyChanNumber, fOptPlotSameP);}
4640  }
4641 
4642  //........................................ Sigmas of Corss
4643  if( id == fMenuH_SCs_DatePolmFullC )
4644  {
4645  if( fMemoProjY == "normal" )
4647  cKeyStinANumber, fKeyChanNumber, fOptPlotFull);}
4648  if( fMemoProjY == "Y projection")
4650  cKeyStinANumber, fKeyChanNumber, fOptPlotFull);}
4651  }
4652  if( id == fMenuH_SCs_DatePolmSameC )
4653  {
4654  if( fMemoProjY == "normal" )
4656  cKeyStinANumber, fKeyChanNumber, fOptPlotSame);}
4657  if( fMemoProjY == "Y projection")
4659  cKeyStinANumber, fKeyChanNumber, fOptPlotSame);}
4660  }
4661  if( id == fMenuH_SCs_DatePolmSamePC )
4662  {
4663  if( fMemoProjY == "normal" )
4665  cKeyStinANumber, fKeyChanNumber, fOptPlotSameP);}
4666  if( fMemoProjY == "Y projection")
4668  cKeyStinANumber, fKeyChanNumber, fOptPlotSameP);}
4669  }
4670  }
4671  }
4672 
4673  //...................................... SampTime (HandleMenu / ADC)
4674  if( id == fMenuAdcProjSampLineFullC )
4675  {
4676  if( fMemoProjY == "normal" )
4678  if( fMemoProjY == "Y projection")
4680  }
4681  if( id == fMenuAdcProjSampLineSameC )
4682  {
4683  if( fMemoProjY == "normal" )
4685  if( fMemoProjY == "Y projection")
4687  }
4688 }
4689 // ------------- ( end of HandleMenu(...) ) -------------
4690 
4691 //==========================================================================
4692 //
4693 // SubmitOnBatchSystem() M E T H O D
4694 //
4695 //==========================================================================
4696 void TEcnaGui::SubmitOnBatchSystem(const TString QueueCode)
4697 {
4698  //Submit job in batch mode
4699 
4700  if( (fConfirmSubmit == 1) && (fConfirmRunNumber == fKeyRunNumber) )
4701  {
4702  fCnaCommand++;
4703  cout << " *TEcnaGui [" << fCnaCommand
4704  << "]> Submitting job in batch mode for run " << fConfirmRunNumber << endl;
4705 
4706  //.......................... get the path "modules/data"
4707  // /afs/cern.ch/user/U/USERNAME/cmssw/CMSSW_X_Y_Z/src/CalibCalorimetry/EcalCorrelatedNoiseAnalysisModules/data/
4708  TString ModulesdataPath = fCnaParPaths->PathModulesData();
4709 
4710  //---------------------------------- python file building script: command text
4711  TString CnaPythonCommand = ModulesdataPath;
4712 
4713  //......................................... Script for python file building: script name
4714  TString PythonScriptName = "EcnaSystemScriptPython";
4715  const Text_t *t_PythonScriptName = (const Text_t *)PythonScriptName.Data();
4716  CnaPythonCommand.Append(t_PythonScriptName);
4717 
4718  //......................................... Script for python file building: arguments
4719  // In the calling command, TString arguments must be of the form: \"STRING1\" \"STRING2\" etc...
4720 
4721  //......................................... arguments -> Run number
4722  //.......... ${1}
4723  CnaPythonCommand.Append(' ');
4724  CnaPythonCommand.Append(fConfirmRunNumberString);
4725 
4726  //......................................... arguments -> Analyzer parameters
4727  //.......... ${2}
4728  CnaPythonCommand.Append(' ');
4729  CnaPythonCommand.Append('\\'); CnaPythonCommand.Append('\"');
4730  const Text_t *t_StringAnaType = (const Text_t *)fKeyAnaType.Data();
4731  CnaPythonCommand.Append(t_StringAnaType);
4732  CnaPythonCommand.Append('\\'); CnaPythonCommand.Append('\"');
4733 
4734  //.......... ${3}
4735  CnaPythonCommand.Append(' ');
4736  CnaPythonCommand.Append('\\'); CnaPythonCommand.Append('\"');
4737  const Text_t *t_NbOfSamplesString = (const Text_t *)fKeyNbOfSamplesString.Data();
4738  CnaPythonCommand.Append(t_NbOfSamplesString);
4739  CnaPythonCommand.Append('\\'); CnaPythonCommand.Append('\"');
4740 
4741  //.......... ${4}
4742  CnaPythonCommand.Append(' ');
4743  CnaPythonCommand.Append('\\'); CnaPythonCommand.Append('\"');
4744  const Text_t *t_FirstReqEvtNumberString = (const Text_t *)fKeyFirstReqEvtNumberString.Data();
4745  CnaPythonCommand.Append(t_FirstReqEvtNumberString);
4746  CnaPythonCommand.Append('\\'); CnaPythonCommand.Append('\"');
4747 
4748  //.......... ${5}
4749  CnaPythonCommand.Append(' ');
4750  CnaPythonCommand.Append('\\'); CnaPythonCommand.Append('\"');
4751  const Text_t *t_LastReqEvtNumberString = (const Text_t *)fKeyLastReqEvtNumberString.Data();
4752  CnaPythonCommand.Append(t_LastReqEvtNumberString);
4753  CnaPythonCommand.Append('\\'); CnaPythonCommand.Append('\"');
4754 
4755  //.......... ${6}
4756  CnaPythonCommand.Append(' ');
4757  CnaPythonCommand.Append('\\'); CnaPythonCommand.Append('\"');
4758  const Text_t *t_ReqNbOfEvtsString = (const Text_t *)fKeyReqNbOfEvtsString.Data();
4759  CnaPythonCommand.Append(t_ReqNbOfEvtsString);
4760  CnaPythonCommand.Append('\\'); CnaPythonCommand.Append('\"');
4761 
4762  //.......... ${7}
4763  CnaPythonCommand.Append(' ');
4764  CnaPythonCommand.Append('\\'); CnaPythonCommand.Append('\"');
4765  const Text_t *t_fStexName = (const Text_t *)fStexName.Data();
4766  CnaPythonCommand.Append(t_fStexName);
4767  CnaPythonCommand.Append('\\'); CnaPythonCommand.Append('\"');
4768 
4769  //.......... ${8}
4770  CnaPythonCommand.Append(' ');
4771  CnaPythonCommand.Append('\\'); CnaPythonCommand.Append('\"');
4772  const Text_t *t_StexNumberString = (const Text_t *)fKeyStexNumberString.Data();
4773  CnaPythonCommand.Append(t_StexNumberString);
4774  CnaPythonCommand.Append('\\'); CnaPythonCommand.Append('\"');
4775 
4776  //......................................... arguments -> python file name
4777  //.......... ${9}
4778  // - - - - - - - - - - - - - - - - - Build the name
4779  fPythonFileName = "EcnaPython_";
4780 
4781  fPythonFileName.Append(t_StringAnaType);
4782  fPythonFileName.Append('_');
4783 
4784  fPythonFileName.Append('S');
4785  fPythonFileName.Append('1');
4786  fPythonFileName.Append('_');
4787  fPythonFileName.Append(t_NbOfSamplesString);
4788  fPythonFileName.Append('_');
4789  fPythonFileName.Append('R');
4790 
4791  const Text_t *t_fConfirmRunNumberString = (const Text_t *)fConfirmRunNumberString.Data();
4792  fPythonFileName.Append(t_fConfirmRunNumberString);
4793  fPythonFileName.Append('_');
4794 
4795  fPythonFileName.Append(t_FirstReqEvtNumberString);
4796  fPythonFileName.Append('_');
4797 
4798  fPythonFileName.Append(t_LastReqEvtNumberString);
4799  fPythonFileName.Append('_');
4800 
4801  fPythonFileName.Append(t_ReqNbOfEvtsString);
4802  fPythonFileName.Append('_');
4803 
4804  fPythonFileName.Append(t_fStexName);
4805 
4806  fPythonFileName.Append(t_StexNumberString); // <== (python file name without extension .py)
4807  // - - - - - - - - - - - - - - - - -
4808 
4809  CnaPythonCommand.Append(' ');
4810  const Text_t *t_fPythonFileName = (const Text_t *)fPythonFileName.Data();
4811  CnaPythonCommand.Append(t_fPythonFileName);
4812 
4813  //......................................... arguments -> modules:data path
4814  //.......... ${9}
4815  CnaPythonCommand.Append(' ');
4816  const Text_t *t_modules_data_path = (const Text_t *)ModulesdataPath.Data();
4817  CnaPythonCommand.Append(t_modules_data_path);
4818 
4819  //......................................... arguments -> last evt number (without "")
4820  //.......... ${10}
4821  //CnaPythonCommand.Append(' ');
4822  //CnaPythonCommand.Append(t_LastReqEvtNumberString);
4823 
4824  //......................................... arguments -> SourceForPythonFileName
4825  //.......... ${11}
4826  //CnaPythonCommand.Append(' ');
4827  //const Text_t *t_Pyf = (const Text_t *)fKeyPyf.Data();
4828  //CnaPythonCommand.Append(t_Pyf);
4829 
4830  //---------------------------------- Exec python file building command (csh before command text)
4831  const Text_t *t_cnapythoncommand = (const Text_t *)CnaPythonCommand.Data();
4832  TString CnaExecPythonCommand = "csh ";
4833  CnaExecPythonCommand.Append(t_cnapythoncommand);
4834 
4835  Int_t i_exec_python = gSystem->Exec(CnaExecPythonCommand.Data());
4836 
4837  if( i_exec_python != 0 )
4838  {
4839  cout << "*TEcnaGui> Script for python file building was executed with error code = "
4840  << i_exec_python << "." << endl
4841  << " Check if CMSSW version in command below is the same as in file ~/ECNA/CMSSW_parameters"
4842  << endl
4843  << " Command: " << CnaExecPythonCommand.Data() << endl
4844  << " Run number = " << fConfirmRunNumber << endl
4845  << fTTBELL << endl;
4846  }
4847  else
4848  {
4849  cout << "*TEcnaGui> Script for python file building was successfully executed." << endl
4850  << " python file: " << fPythonFileName.Data() << ".py" << endl
4851  << " (Command: " << CnaExecPythonCommand.Data() << ")" << endl;
4852 
4853  //========================================================== Job submission script
4854  TString CnaSubmitCommand = ModulesdataPath;
4855 
4856  //......................................... Script for job submission: command name
4857  TString SubmitScriptName = "EcnaSystemScriptSubmit";
4858  const Text_t *t_SubmitScriptName= (const Text_t *)SubmitScriptName.Data();
4859  CnaSubmitCommand.Append(t_SubmitScriptName);
4860 
4861  //......................................... Script for job submission: arguments
4862  const Text_t *t_cmssw_version = (const Text_t *)fCnaParPaths->CMSSWVersion().Data();
4863  CnaSubmitCommand.Append(' ');
4864  CnaSubmitCommand.Append(t_cmssw_version);
4865  CnaSubmitCommand.Append(' ');
4866 
4867  const Text_t *t_cmssw_subsystem = (const Text_t *)fCnaParPaths->CMSSWSubsystem().Data();
4868  CnaSubmitCommand.Append(t_cmssw_subsystem);
4869  CnaSubmitCommand.Append(' ');
4870 
4871  const Text_t *t_cfgp_file = (const Text_t *)fPythonFileName.Data();
4872  CnaSubmitCommand.Append(t_cfgp_file);
4873  CnaSubmitCommand.Append(' ');
4874 
4875  const Text_t *t_QueueCode = (const Text_t *)QueueCode.Data();
4876  CnaSubmitCommand.Append(t_QueueCode);
4877 
4878  //----------------------------------------- Exec Submit Command (csh before command text)
4879  const Text_t *t_cnasubmitcommand = (const Text_t *)CnaSubmitCommand.Data();
4880  TString CnaExecSubmitCommand = "csh ";
4881  CnaExecSubmitCommand.Append(t_cnasubmitcommand);
4882 
4883  Int_t i_exec_submit = gSystem->Exec(CnaExecSubmitCommand.Data());
4884 
4885  if( i_exec_submit != 0 )
4886  {
4887  cout << "*TEcnaGui> Script for job submission was executed with error code = "
4888  << i_exec_submit << "." << endl
4889  << " Command: " << CnaExecSubmitCommand.Data() << endl
4890  << " The following CMSSW parameters may be wrong:" << endl
4891  << " CMSSW version, subsystem name, subdirectory name in test/" << endl
4892  << " Check these parameters in file $HOME/ECNA/cmssw_parameters" << endl
4893  << " and make change if necessary." << endl
4894  << " Then, exit and restart before SUBMIT again." << endl
4895  << fTTBELL << endl;
4896  }
4897  else
4898  {
4899  cout << "*TEcnaGui> Job with configuration file: " << fPythonFileName.Data()
4900  << " was successfully submitted." << endl
4901  << " (Command: " << CnaExecSubmitCommand.Data() << ")" << endl;
4902  }
4903 
4904  fConfirmSubmit = 0;
4905  fConfirmRunNumber = 0;
4907  }
4908  }
4909  else
4910  {
4911  if( fKeyAnaType.BeginsWith("Adc") )
4912  {
4913  fCnaCommand++;
4914  cout << " *TEcnaGui [" << fCnaCommand
4915  << "]> Request for submitting job in batch mode for run " << fKeyRunNumber
4916  << ". Syntax OK. Please, click again to confirm."
4917  << fTTBELL << endl;
4918 
4919  fConfirmSubmit = 1;
4922  }
4923  else
4924  {
4925  fCnaError++;
4926  cout << " !TEcnaGui (" << fCnaError << ") *** ERROR *** ===>"
4927  << " Analysis name = " << fKeyAnaType
4928  << ": should begin with 'Adc'."
4929  << " Please, change the analysis name." << fTTBELL << endl;
4930 
4931  fConfirmSubmit = 0;
4932  fConfirmRunNumber = 0;
4934  }
4935  }
4936 }
4937 //------------------------------------------- end of SubmitOnBatchSystem() ------------------------
4938 
4939 //==========================================================================
4940 //
4941 // CleanBatchFiles() M E T H O D
4942 //
4943 //==========================================================================
4944 void TEcnaGui::CleanBatchFiles(const TString clean_code)
4945 {
4946  //Clean of python files, submission scripts,...
4947 
4948  fCnaCommand++;
4949  cout << " *TEcnaGui [" << fCnaCommand
4950  << "]> Clean requested with code: " << clean_code
4951  << endl;
4952 
4953  //================================ CLEAN SUBMISSION SCRIPTS ===================================
4954  if( clean_code == "Sub" || clean_code == "All")
4955  {
4956  //.......................... get the path "modules/data"
4957  // /afs/cern.ch/user/U/USERNAME/cmssw/CMSSW_X_Y_Z/src/CalibCalorimetry/EcalCorrelatedNoiseAnalysisModules/data/
4958  TString ModulesdataPath = fCnaParPaths->PathModulesData();
4959 
4960  //----------------------------------------- submission clean script: command text
4961  //......................................... submission clean script: script name
4962  TString CnaCleanSubmissionCommand = ModulesdataPath;
4963  TString CleanSubmissionScriptName = "EcnaSystemScriptCleanSubmissionScripts";
4964  const Text_t *t_CleanSubmissionScriptName = (const Text_t *)CleanSubmissionScriptName.Data();
4965  CnaCleanSubmissionCommand.Append(t_CleanSubmissionScriptName);
4966 
4967  //......................................... arguments -> test/slc... path
4968  //.......................... get the path "test/slc4_ia32_gcc345"
4969  // /afs/cern.ch/user/U/USERNAME/cmssw/CMSSW_X_Y_Z/test/slc4_ia32_gcc345/
4970  TString TestslcPath = fCnaParPaths->PathTestSlc();
4971  CnaCleanSubmissionCommand.Append(' ');
4972  const Text_t *t_modules_data_path = (const Text_t *)TestslcPath.Data();
4973  CnaCleanSubmissionCommand.Append(t_modules_data_path);
4974 
4975  //----------------------------------------- Exec CleanSubmission Command (csh before command text)
4976  const Text_t *t_cnacleansubmissioncommand = (const Text_t *)CnaCleanSubmissionCommand.Data();
4977  TString CnaExecCleanSubmissionCommand = "csh ";
4978  CnaExecCleanSubmissionCommand.Append(t_cnacleansubmissioncommand);
4979 
4980  Int_t i_exec_cleansubmission = gSystem->Exec(CnaExecCleanSubmissionCommand.Data());
4981 
4982  if( i_exec_cleansubmission != 0 )
4983  {
4984  cout << "*TEcnaGui> Script for submission script clean was executed with error code = "
4985  << i_exec_cleansubmission << "." << endl
4986  << " Command: " << CnaExecCleanSubmissionCommand.Data() << endl
4987  << fTTBELL << endl;
4988  }
4989  else
4990  {
4991  cout << "*TEcnaGui> Script for submission script clean"
4992  << " was successfully executed." << endl
4993  << " (Command: " << CnaExecCleanSubmissionCommand.Data() << ")" << endl;
4994  }
4995 
4996  }
4997 
4998  //================================= CLEAN LSFJOB REPORTS ======================================
4999  if( clean_code == "Job" || clean_code == "All")
5000  {
5001  //.......................... get the path "modules/data"
5002  // /afs/cern.ch/user/U/USERNAME/cmssw/CMSSW_X_Y_Z/src/CalibCalorimetry/EcalCorrelatedNoiseAnalysisModules/data/
5003  TString ModulesdataPath = fCnaParPaths->PathModulesData();
5004 
5005  //----------------------------------------- jobreport clean script: command text
5006  //......................................... jobreport clean script: script name
5007  TString CnaCleanJobreportCommand = ModulesdataPath;
5008  TString CleanJobreportScriptName = "EcnaSystemScriptCleanLSFJOBReports";
5009  const Text_t *t_CleanJobreportScriptName = (const Text_t *)CleanJobreportScriptName.Data();
5010  CnaCleanJobreportCommand.Append(t_CleanJobreportScriptName);
5011 
5012  //......................................... arguments -> test/slc... path
5013  //.......................... get the path "test/slc4_ia32_gcc345"
5014  // /afs/cern.ch/user/U/USERNAME/cmssw/CMSSW_X_Y_Z/test/slc4_ia32_gcc345/
5015  TString TestslcPath = fCnaParPaths->PathTestSlc();
5016  CnaCleanJobreportCommand.Append(' ');
5017  const Text_t *t_modules_data_path = (const Text_t *)TestslcPath.Data();
5018  CnaCleanJobreportCommand.Append(t_modules_data_path);
5019 
5020  //----------------------------------------- Exec CleanJobreport Command (csh before command text)
5021  const Text_t *t_cnacleanjobreportcommand = (const Text_t *)CnaCleanJobreportCommand.Data();
5022  TString CnaExecCleanJobreportCommand = "csh ";
5023  CnaExecCleanJobreportCommand.Append(t_cnacleanjobreportcommand);
5024 
5025  Int_t i_exec_cleanjobreport = gSystem->Exec(CnaExecCleanJobreportCommand.Data());
5026 
5027  if( i_exec_cleanjobreport != 0 )
5028  {
5029  cout << "*TEcnaGui> Script for LSFJOB report clean was executed with error code = "
5030  << i_exec_cleanjobreport << "." << endl
5031  << " Command: " << CnaExecCleanJobreportCommand.Data() << endl
5032  << fTTBELL << endl;
5033  }
5034  else
5035  {
5036  cout << "*TEcnaGui> Script for LSFJOB report clean"
5037  << " was successfully executed." << endl
5038  << " (Command: " << CnaExecCleanJobreportCommand.Data() << ")" << endl;
5039  }
5040  }
5041 
5042  //==================================== CLEAN PYTHON FILES =====================================
5043  if( clean_code == "Pyth" || clean_code == "All")
5044  {
5045  //.......................... get the path "modules/data"
5046  // /afs/cern.ch/user/U/USERNAME/cmssw/CMSSW_X_Y_Z/src/CalibCalorimetry/EcalCorrelatedNoiseAnalysisModules/data/
5047  TString ModulesdataPath = fCnaParPaths->PathModulesData();
5048 
5049  //----------------------------------------- python file clean script: command text
5050  //......................................... python file clean script: script name
5051  TString CnaCleanPythonCommand = ModulesdataPath;
5052  TString CleanPythonScriptName = "EcnaSystemScriptCleanPythonFiles";
5053  const Text_t *t_CleanPythonScriptName = (const Text_t *)CleanPythonScriptName.Data();
5054  CnaCleanPythonCommand.Append(t_CleanPythonScriptName);
5055 
5056  //......................................... arguments -> modules:data path
5057  CnaCleanPythonCommand.Append(' ');
5058  const Text_t *t_modules_data_path = (const Text_t *)ModulesdataPath.Data();
5059  CnaCleanPythonCommand.Append(t_modules_data_path);
5060 
5061  //----------------------------------------- Exec CleanPython Command (csh before command text)
5062  const Text_t *t_cnacleanpythoncommand = (const Text_t *)CnaCleanPythonCommand.Data();
5063  TString CnaExecCleanPythonCommand = "csh ";
5064  CnaExecCleanPythonCommand.Append(t_cnacleanpythoncommand);
5065 
5066  Int_t i_exec_cleanpython = gSystem->Exec(CnaExecCleanPythonCommand.Data());
5067 
5068  if( i_exec_cleanpython != 0 )
5069  {
5070  cout << "*TEcnaGui> Script for python file clean was executed with error code = "
5071  << i_exec_cleanpython << "." << endl
5072  << " Command: " << CnaExecCleanPythonCommand.Data() << endl
5073  << fTTBELL << endl;
5074  }
5075  else
5076  {
5077  cout << "*TEcnaGui> Script for python file clean"
5078  << " was successfully executed." << endl
5079  << " (Command: " << CnaExecCleanPythonCommand.Data() << ")" << endl;
5080  }
5081  }
5082 }
5083 //------------------------------------------- end of CleanBatchFiles() -----------------------
5084 
5085 //==========================================================================
5086 //
5087 // Calculations() M E T H O D
5088 //
5089 //==========================================================================
5090 void TEcnaGui::Calculations(const TString calc_code)
5091 {
5092  //Calculations of quantities (Pedestals, correlations, ... )
5093 
5094  fCnaCommand++;
5095  cout << " *TEcnaGui [" << fCnaCommand
5096  << "]> Calculations requested with code: " << calc_code
5097  << endl;
5098 
5099  //===== Check if Analysis name is right
5100  if( fKeyAnaType == "AdcPed1" || fKeyAnaType == "AdcSPed1" ||
5101  fKeyAnaType == "AdcPed6" || fKeyAnaType == "AdcSPed6" ||
5102  fKeyAnaType == "AdcPed12" || fKeyAnaType == "AdcSPed12" ||
5103  fKeyAnaType == "AdcPeg12" || fKeyAnaType == "AdcSPeg12" ||
5104  fKeyAnaType == "AdcLaser" || fKeyAnaType == "AdcSLaser" ||
5105  fKeyAnaType == "AdcPes12" || fKeyAnaType == "AdcSPes12" )
5106  {
5107  //------------ Check if Std or (Scc or Stt)-Confirmed
5108  if( calc_code == "Std" || ( ( calc_code == "Scc" || calc_code == "Stt" ) && fConfirmCalcScc == 1 ) )
5109  {
5111  {
5112  Int_t nStexMin = fKeyStexNumber;
5113  Int_t nStexMax = fKeyStexNumber;
5114  if( fKeyStexNumber == 0 ){nStexMin = 1; nStexMax = fEcal->MaxStexInStas();}
5115 
5116  for( Int_t nStex = nStexMin; nStex<= nStexMax; nStex++)
5117  {
5118  Int_t n_samp_fic = fKeyNbOfSamples;
5119 
5120  //....................... READ the "ADC" (AdcPed.., AdcLaser..., ...) file
5121  TEcnaRun* MyRun = 0;
5122  if ( MyRun == 0 ){MyRun = new TEcnaRun(fSubDet.Data(), n_samp_fic); fCnew++;}
5123 
5126 
5127  if( MyRun->ReadEventDistributions(fKeyNbOfSampForCalc) == kTRUE )
5128  {
5129  cout << "*TEcnaGui::Calculations> File "
5130  << MyRun->GetRootFileNameShort() << " has been found. Starting calculations."
5131  << endl;
5132  //............... Calculations
5133  if( calc_code == "Std" ||
5134  ( (calc_code == "Scc" || calc_code == "Stt") && fConfirmCalcScc == 1 ) )
5135  {
5136  //-------------- Standard calculations: pedestals, noises, correlations between samples
5137  MyRun->GetReadyToCompute();
5138 
5139  MyRun->SampleMeans();
5140  MyRun->SampleSigmas();
5141  MyRun->CorrelationsBetweenSamples();
5142 
5143  MyRun->Pedestals(); // Mean, Noise => mean over Xtal's
5144  MyRun->TotalNoise();
5145  MyRun->LowFrequencyNoise();
5146  MyRun->HighFrequencyNoise();
5149 
5150  MyRun->AveragedPedestals(); // Averaged => mean over Stin's
5151  MyRun->AveragedTotalNoise();
5152  MyRun->AveragedLowFrequencyNoise();
5153  MyRun->AveragedHighFrequencyNoise();
5156  }
5157  if( (calc_code == "Scc" || calc_code == "Stt") && fConfirmCalcScc == 1 )
5158  {
5159  if( calc_code == "Scc" )
5160  {
5161  //------ Additional calculations:
5162  // "correlations" between Xtals and Stins (long time, big file)
5163  cout << "*TEcnaGui::Calculations> Please, wait." << endl;
5164 
5165  MyRun->LowFrequencyCorrelationsBetweenChannels(); // (big file)
5166  MyRun->HighFrequencyCorrelationsBetweenChannels(); // (big file)
5167 
5170  }
5171 
5172  if( calc_code == "Stt" )
5173  {
5174  //---Additional calculations:
5175  // "correlations" between Stins (long time, "normal" size file)
5176  cout << "*TEcnaGui::Calculations> Please, wait." << endl;
5177 
5178  // if MyRun->LowFrequencyCorrelationsBetweenChannels() is not called by the user,
5179  // it is automatically called by MyRun->LowFrequencyMeanCorrelationsBetweenStins()
5180  // but the corresponding file is not written.
5181  // (idem for "HighFrequency")
5182 
5185  }
5186  }
5187  //.......................... WRITE results in file
5188  TString calc_file_name = "?";
5189  if( calc_code == "Std" )
5190  {
5191  if( fKeyAnaType == "AdcPed1" ){calc_file_name = "StdPed1";}
5192  if( fKeyAnaType == "AdcPed6" ){calc_file_name = "StdPed6";}
5193  if( fKeyAnaType == "AdcPed12" ){calc_file_name = "StdPed12";}
5194  if( fKeyAnaType == "AdcPeg12" ){calc_file_name = "StdPeg12";}
5195  if( fKeyAnaType == "AdcLaser" ){calc_file_name = "StdLaser";}
5196  if( fKeyAnaType == "AdcPes12" ){calc_file_name = "StdPes12";}
5197 
5198  if( fKeyAnaType == "AdcSPed1" ){calc_file_name = "StdSPed1";}
5199  if( fKeyAnaType == "AdcSPed6" ){calc_file_name = "StdSPed6";}
5200  if( fKeyAnaType == "AdcSPed12" ){calc_file_name = "StdSPed12";}
5201  if( fKeyAnaType == "AdcSPeg12" ){calc_file_name = "StdSPeg12";}
5202  if( fKeyAnaType == "AdcSLaser" ){calc_file_name = "StdSLaser";}
5203  if( fKeyAnaType == "AdcSPes12" ){calc_file_name = "StdSPes12";}
5204  }
5205  if( calc_code == "Scc" )
5206  {
5207  if( fKeyAnaType == "AdcPed1" ){calc_file_name = "SccPed1";}
5208  if( fKeyAnaType == "AdcPed6" ){calc_file_name = "SccPed6";}
5209  if( fKeyAnaType == "AdcPed12" ){calc_file_name = "SccPed12";}
5210  if( fKeyAnaType == "AdcPeg12" ){calc_file_name = "SccPeg12";}
5211  if( fKeyAnaType == "AdcLaser" ){calc_file_name = "SccLaser";}
5212  if( fKeyAnaType == "AdcPes12" ){calc_file_name = "SccPes12" ;}
5213 
5214  if( fKeyAnaType == "AdcSPed1" ){calc_file_name = "SccSPed1";}
5215  if( fKeyAnaType == "AdcSPed6" ){calc_file_name = "SccSPed6";}
5216  if( fKeyAnaType == "AdcSPed12" ){calc_file_name = "SccSPed12";}
5217  if( fKeyAnaType == "AdcSPeg12" ){calc_file_name = "SccSPeg12";}
5218  if( fKeyAnaType == "AdcSLaser" ){calc_file_name = "SccSLaser";}
5219  if( fKeyAnaType == "AdcSPes12" ){calc_file_name = "SccSPes12";}
5220  }
5221 
5222  if( calc_code == "Stt" )
5223  {
5224  if( fKeyAnaType == "AdcPed1" ){calc_file_name = "SttPed1";}
5225  if( fKeyAnaType == "AdcPed6" ){calc_file_name = "SttPed6";}
5226  if( fKeyAnaType == "AdcPed12" ){calc_file_name = "SttPed12";}
5227  if( fKeyAnaType == "AdcPeg12" ){calc_file_name = "SttPeg12";}
5228  if( fKeyAnaType == "AdcLaser" ){calc_file_name = "SttLaser";}
5229  if( fKeyAnaType == "AdcPes12" ){calc_file_name = "SttPes12" ;}
5230 
5231  if( fKeyAnaType == "AdcSPed1" ){calc_file_name = "SttSPed1";}
5232  if( fKeyAnaType == "AdcSPed6" ){calc_file_name = "SttSPed6";}
5233  if( fKeyAnaType == "AdcSPed12" ){calc_file_name = "SttSPed12";}
5234  if( fKeyAnaType == "AdcSPeg12" ){calc_file_name = "SttSPeg12";}
5235  if( fKeyAnaType == "AdcSLaser" ){calc_file_name = "SttSLaser";}
5236  if( fKeyAnaType == "AdcSPes12" ){calc_file_name = "SttSPes12";}
5237  }
5238 
5239  if( MyRun->WriteNewRootFile(calc_file_name.Data()) == kTRUE )
5240  {
5241  cout << "*TEcnaGui::Calculations> Done. Write ROOT file: "
5242  << MyRun->GetNewRootFileNameShort() << " OK" << endl << endl;
5243  }
5244  else
5245  {
5246  cout << "!TEcnaGui::Calculations> Writing ROOT file failure for file "
5247  << MyRun->GetNewRootFileNameShort()
5248  << fTTBELL << endl << endl;
5249  }
5250  }
5251  else
5252  {
5253  cout << "!TEcnaGui::Calculations> " << MyRun->GetRootFileNameShort() << ": file not found."
5254  << fTTBELL << endl << endl;
5255  }
5256  //.......................................................................
5257  delete MyRun; MyRun = 0; fCdelete++;
5258  } // end of for( Int_t nStex = nStexMin; nStex<= nStexMax; nStex++)
5259  fConfirmCalcScc = 0;
5260  } // end of if( fKeyNbOfSamples >= fKeyNbOfSampForCalc )
5261  else
5262  {
5263  cout << "!TEcnaGui::Calculations> *** ERROR *** Number of samples in file (=" << fKeyNbOfSamples
5264  << ") less than number of samples for calculations (= " << fKeyNbOfSampForCalc << "). " << endl;
5265  }
5266  } // end of if( calc_code == "Std" || ( ( calc_code == "Scc" || calc_code == "Stt" ) && fConfirmCalcScc == 1 ) )
5267  else
5268  {
5269  cout << " *TEcnaGui [" << fCnaCommand
5270  << "]> Calculation requested with option " << calc_code
5271  << ". This can last more than 5 minutes. Please, click again to confirm."
5272  << fTTBELL << endl;
5273  fConfirmCalcScc = 1;
5274  }
5275  }
5276  else
5277  {
5278  cout << "!TEcnaGui::Calculations> fKeyAnaType = " << fKeyAnaType
5279  << " : wrong code in analysis name. Code should be 'Adc'" << endl
5280  << " List of available standard analysis names for calculations: " << endl
5281  << " AdcPed1, AdcPed6, AdcPed12, AdcPeg12, AdcLaser, AdcPes12," << endl
5282  << " AdcSPed1, AdcSPed6, AdcSPed12, AdcSPeg12, AdcSLaser, AdcSPes12."
5283  << fTTBELL << endl;
5284  }
5285 }
5286 //==========================================================================
5287 //
5288 // "View" M E T H O D S
5289 //
5290 //==========================================================================
5291 //---------- common messages
5292 
5293 void TEcnaGui::MessageCnaCommandReplyA(const TString first_same_plot)
5294 {
5295  // reply message of the Cna command
5296 
5297  cout << ". Analysis: " << fKeyAnaType << ", Run: " << fKeyRunNumber
5298  << ", 1st req. evt#: " << fKeyFirstReqEvtNumber
5299  << ", last req. evt#: " << fKeyLastReqEvtNumber << endl;
5300 
5301  if( first_same_plot == "ASCII" )
5302  {
5303  cout << " " << fStexName.Data() << ": " << fKeyStexNumber
5304  << ", option: " << first_same_plot << endl;
5305  }
5306 }
5307 
5308 void TEcnaGui::MessageCnaCommandReplyB(const TString first_same_plot)
5309 {
5310  // reply message of the Cna command
5311 
5312  if( first_same_plot == "ASCII" )
5313  {
5314  if(fKeyStexNumber > 0)
5315  {
5316  if( fHistos->StatusFileFound() == kTRUE && fHistos->StatusDataExist() == kTRUE )
5317  {
5318  TString xAsciiFileName = fHistos->AsciiFileName();
5319  if( xAsciiFileName != "?" )
5320  {cout << " Histo written in ASCII file: " << xAsciiFileName.Data();}
5321  }
5322  }
5323  else
5324  {
5325  cout << " No writing in ASCII file since "
5326  << fStexName.Data() << " number = " << fKeyStexNumber;
5327  }
5328  cout << endl;
5329  }
5330 }
5331 
5332 //==========================================================================
5333 //
5334 // View Matrix
5335 //
5336 //==========================================================================
5338 {
5339  // Plot of Low Frequency Mean Cor(c,c') for each pair of Stins
5340 
5341  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
5344 
5345  fCnaCommand++;
5346  cout << " *TEcnaGui [" << fCnaCommand
5347  << "]> Low Frequency Mean Cor(c,c') for each pair of " << fStinName.Data()
5348  << "s. Option: "
5349  << option_plot;
5350  MessageCnaCommandReplyA(option_plot);
5351 
5356 
5357  MessageCnaCommandReplyB(option_plot);
5358 }
5360 {
5361  // Plot of Low Frequency Mean Cor(c,c') for each pair of Stins
5362 
5363  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
5366 
5367  fCnaCommand++;
5368  cout << " *TEcnaGui [" << fCnaCommand
5369  << "]> High Frequency Mean Cor(c,c') for each pair of " << fStinName.Data()
5370  << "s. Option: "
5371  << option_plot;
5372  MessageCnaCommandReplyA(option_plot);
5373 
5378 
5379  MessageCnaCommandReplyB(option_plot);
5380 }
5381 //-------------------------------------------------------------
5383  const Int_t& cStexStin_B,
5384  const TString option_plot)
5385 {
5386  // Low Frequency Correlation matrix (crystal of Stin X, crystal of Stin X) for each Stin
5387 
5388  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
5391 
5392  fCnaCommand++;
5393  cout << " *TEcnaGui [" << fCnaCommand
5394  << "]> Low Frequency Correlation matrix between channels. "
5395  << fStinName.Data() << " A: " << cStexStin_A
5396  << ", " << fStinName.Data() << " B: " << cStexStin_B
5397  << ", option: " << option_plot;
5398  MessageCnaCommandReplyA(option_plot);
5399 
5403  fHistos->LowFrequencyCorrelationsBetweenChannels(cStexStin_A, cStexStin_B, option_plot);
5404 
5405  MessageCnaCommandReplyB(option_plot);
5406 }
5407 
5408 void TEcnaGui::ViewMatrixHighFrequencyCorrelationsBetweenChannels(const Int_t& cStexStin_A, const Int_t& cStexStin_B,
5409  const TString option_plot)
5410 {
5411 // High Frequency Correlation matrix (crystal of Stin X, crystal of Stin X) for each Stin
5412 
5413  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
5416 
5417  fCnaCommand++;
5418  cout << " *TEcnaGui [" << fCnaCommand
5419  << "]> High Frequency Correlation matrix between channels. "
5420  << fStinName.Data() << " A: " << cStexStin_A
5421  << ", " << fStinName.Data() << " B: " << cStexStin_B
5422  << ", option: " << option_plot;
5423  MessageCnaCommandReplyA(option_plot);
5424 
5428  fHistos->HighFrequencyCorrelationsBetweenChannels(cStexStin_A, cStexStin_B, option_plot);
5429 
5430  MessageCnaCommandReplyB(option_plot);
5431 }
5432 
5433 void TEcnaGui::ViewMatrixCorrelationSamples(const Int_t& cStexStin_A, const Int_t& i0StinEcha,
5434  const TString option_plot)
5435 {
5436 // Plot of correlation matrix between samples for a given channel
5437 
5438  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
5441 
5442  Int_t ChOffset = 0;
5443  if(fSubDet == "EE"){ChOffset = 1;}
5444 
5445  fCnaCommand++;
5446  cout << " *TEcnaGui [" << fCnaCommand
5447  << "]> Correlation matrix between samples. "
5448  << fStinName.Data() << ": " << cStexStin_A << ", channel " << i0StinEcha + ChOffset
5449  << ", option: " << option_plot;
5450  MessageCnaCommandReplyA(option_plot);
5451 
5455  fHistos->CorrelationsBetweenSamples(cStexStin_A, i0StinEcha, option_plot);
5456 
5457  MessageCnaCommandReplyB(option_plot);
5458 }
5459 
5460 void TEcnaGui::ViewMatrixCovarianceSamples(const Int_t& cStexStin_A, const Int_t& i0StinEcha,
5461  const TString option_plot)
5462 {
5463 // Plot of covariance matrix between samples for a given channel
5464 
5465  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
5468 
5469  Int_t ChOffset = 0;
5470  if(fSubDet == "EE"){ChOffset = 1;}
5471 
5472  fCnaCommand++;
5473  cout << " *TEcnaGui [" << fCnaCommand
5474  << "]> Covariance matrix between samples. "
5475  << fStinName.Data() << ": " << cStexStin_A << ", channel " << i0StinEcha + ChOffset
5476  << ", option: " << option_plot;
5477  MessageCnaCommandReplyA(option_plot);
5478 
5479  fHistos->SetHistoMin(fKeyVminD_TNo_ChNb); // same as mean of sample sigmas
5482  fHistos->CovariancesBetweenSamples(cStexStin_A, i0StinEcha, option_plot);
5483 
5484  MessageCnaCommandReplyB(option_plot);
5485 }
5486 
5487 //==========================================================================
5488 //
5489 // ViewStin...
5490 //
5491 // StexStin ==> (sample,sample) matrices for all the crystal of cStexStin
5492 //
5493 //==========================================================================
5494 void TEcnaGui::ViewStinCorrelationSamples(const Int_t& cStexStin)
5495 {
5496  // Plot of (sample,sample) correlation matrices for all the crystal of a given Stin
5497 
5498  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
5501 
5502  fCnaCommand++;
5503  cout << " *TEcnaGui [" << fCnaCommand
5504  << "]> Correlation matrices between samples for each channel of "
5505  << fStinName.Data() << " " << cStexStin;
5506  MessageCnaCommandReplyA("DUMMY");
5507 
5511  fHistos->CorrelationsBetweenSamples(cStexStin);
5512 
5513  MessageCnaCommandReplyB("DUMMY");
5514 }
5515 
5516 void TEcnaGui::ViewStinCovarianceSamples(const Int_t& cStexStin)
5517 {
5518  // Plot of (sample,sample) covariance matrices for all the crystal of a given Stin
5519 
5520  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
5523 
5524  fCnaCommand++;
5525  cout << " *TEcnaGui [" << fCnaCommand
5526  << "]> Covariance matrices between samples for each channel of "
5527  << fStinName.Data() << " " << cStexStin;
5528  MessageCnaCommandReplyA("DUMMY");
5529 
5530  fHistos->SetHistoMin(fKeyVminD_TNo_ChNb); // same as mean of sample sigmas
5533  fHistos->CovariancesBetweenSamples(cStexStin);
5534 
5535  MessageCnaCommandReplyB("DUMMY");
5536 }
5537 //==========================================================================
5538 //
5539 // ViewSorS (eta,phi)
5540 //
5541 //==========================================================================
5542 
5544 {
5545  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
5546 
5547  if( fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas() )
5548  {
5551  fCnaCommand++;
5552  cout << " *TEcnaGui [" << fCnaCommand
5553  << "]> Number of Events. 2D histo. "
5554  << fStexName.Data() << ": " << fKeyStexNumber;
5555  }
5556  if( fKeyStexNumber == 0 )
5557  {
5560  fCnaCommand++;
5561  cout << " *TEcnaGui [" << fCnaCommand
5562  << "]> Averaged Number of Events. 2D histo for "
5563  << fSubDet.Data();
5564  }
5565 
5566  MessageCnaCommandReplyA("DUMMY");
5567 
5571  if( fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas() ){fHistos->StexHocoVecoNumberOfEvents();}
5573 
5574  MessageCnaCommandReplyB("DUMMY");
5575 }
5576 
5578 {
5579  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
5580 
5581  if( fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas() )
5582  {
5585  fCnaCommand++;
5586  cout << " *TEcnaGui [" << fCnaCommand
5587  << "]> Pedestals. 2D histo. "
5588  << fStexName.Data() << ": " << fKeyStexNumber;
5589  }
5590  if( fKeyStexNumber == 0 )
5591  {
5594  fCnaCommand++;
5595  cout << " *TEcnaGui [" << fCnaCommand
5596  << "]> Pedestals. 2D histo for "
5597  << fSubDet.Data();
5598  }
5599  MessageCnaCommandReplyA("DUMMY");
5600 
5604 
5605  if( fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas() ){fHistos->StexHocoVecoPedestals();}
5607 
5608  MessageCnaCommandReplyB("DUMMY");
5609 }
5610 
5612 {
5613  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
5614 
5615  if( fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas() )
5616  {
5619  fCnaCommand++;
5620  cout << " *TEcnaGui [" << fCnaCommand
5621  << "]> Total noise. 2D histo. "
5622  << fStexName.Data() << ": " << fKeyStexNumber;
5623  }
5624  if( fKeyStexNumber == 0 )
5625  {
5628  fCnaCommand++;
5629  cout << " *TEcnaGui [" << fCnaCommand
5630  << "]> Averaged total noise. 2D histo for "
5631  << fSubDet.Data();
5632  }
5633  MessageCnaCommandReplyA("DUMMY");
5634 
5638  if( fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas() ){fHistos->StexHocoVecoTotalNoise();}
5640 
5641  MessageCnaCommandReplyB("DUMMY");
5642 }
5643 
5645 {
5646  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
5647 
5648  if( fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas() )
5649  {
5652  fCnaCommand++;
5653  cout << " *TEcnaGui [" << fCnaCommand
5654  << "]> Mean of cor(s,s'). 2D histo. "
5655  << fStexName.Data() << ": " << fKeyStexNumber;
5656  }
5657  if( fKeyStexNumber == 0 )
5658  {
5661  fCnaCommand++;
5662  cout << " *TEcnaGui [" << fCnaCommand
5663  << "]> Averaged mean of cor(s,s'). 2D histo for "
5664  << fSubDet.Data();
5665  }
5666  MessageCnaCommandReplyA("DUMMY");
5667 
5671  if( fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas() ){fHistos->StexHocoVecoMeanOfCorss();}
5673 
5674  MessageCnaCommandReplyB("DUMMY");
5675 }
5676 
5678 {
5679  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
5680 
5681  if( fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas() )
5682  {
5685  fCnaCommand++;
5686  cout << " *TEcnaGui [" << fCnaCommand
5687  << "]> Low frequency noise. 2D histo. "
5688  << fStexName.Data() << ": " << fKeyStexNumber;
5689  }
5690  if( fKeyStexNumber == 0 )
5691  {
5694  fCnaCommand++;
5695  cout << " *TEcnaGui [" << fCnaCommand
5696  << "]> Averaged low frequency noise. 2D histo for "
5697  << fSubDet.Data();
5698  }
5699  MessageCnaCommandReplyA("DUMMY");
5700 
5704  if( fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas() ){fHistos->StexHocoVecoLowFrequencyNoise();}
5706 
5707  MessageCnaCommandReplyB("DUMMY");
5708 }
5709 
5711 {
5712  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
5713 
5714  if( fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas() )
5715  {
5718  fCnaCommand++;
5719  cout << " *TEcnaGui [" << fCnaCommand
5720  << "]> High frequency noise. 2D histo. "
5721  << fStexName.Data() << ": " << fKeyStexNumber;
5722  }
5723  if( fKeyStexNumber == 0 )
5724  {
5727  fCnaCommand++;
5728  cout << " *TEcnaGui [" << fCnaCommand
5729  << "]> Averaged high frequency noise. 2D histo for "
5730  << fSubDet.Data();
5731  }
5732  MessageCnaCommandReplyA("DUMMY");
5733 
5737  if( fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas() ){fHistos->StexHocoVecoHighFrequencyNoise();}
5739 
5740  MessageCnaCommandReplyB("DUMMY");
5741 }
5742 
5744 {
5745  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
5746 
5747  if( fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas() )
5748  {
5751  fCnaCommand++;
5752  cout << " *TEcnaGui [" << fCnaCommand
5753  << "]> Sigma of Cor(s,s'). 2D histo. "
5754  << fStexName.Data() << ": " << fKeyStexNumber;
5755  }
5756  if( fKeyStexNumber == 0 )
5757  {
5760  fCnaCommand++;
5761  cout << " *TEcnaGui [" << fCnaCommand
5762  << "]> Averaged sigma of Cor(s,s'). 2D histo for "
5763  << fSubDet.Data();
5764  }
5765  MessageCnaCommandReplyA("DUMMY");
5766 
5770  if( fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas() ){fHistos->StexHocoVecoSigmaOfCorss();}
5772 
5773  MessageCnaCommandReplyB("DUMMY");
5774 }
5775 
5777 {
5778  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
5781 
5782  fCnaCommand++;
5783  cout << " *TEcnaGui [" << fCnaCommand
5784  << "]> LF Correlations between channels for each " << fStinName.Data()
5785  << " in " << fStexName.Data() << ". 2D histo. "
5786  << fStexName.Data() << ": " << fKeyStexNumber;
5787  MessageCnaCommandReplyA("DUMMY");
5788 
5793 
5794  MessageCnaCommandReplyB("DUMMY");
5795 }
5796 
5798 {
5799  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
5802 
5803  fCnaCommand++;
5804  cout << " *TEcnaGui [" << fCnaCommand
5805  << "]> HF Correlations between channels for each " << fStinName.Data()
5806  << " in " << fStexName.Data() << ". 2D histo. "
5807  << fStexName.Data() << ": " << fKeyStexNumber;
5808  MessageCnaCommandReplyA("DUMMY");
5809 
5814 
5815  MessageCnaCommandReplyB("DUMMY");
5816 }
5817 //=======================================================================================
5818 //
5819 // ViewStinCrystalNumbering
5820 //
5821 //=======================================================================================
5822 void TEcnaGui::ViewStinCrystalNumbering(const Int_t& StexStinEcna)
5823 {
5824  // Plot the crystal numbering of one Stin
5825 
5826  Int_t StinNumber = -1;
5827  if( fSubDet == "EB" ){StinNumber = StexStinEcna;}
5828  if( fSubDet == "EE" && fKeyStexNumber != 0 )
5829  {StinNumber = fEcalNumbering->GetDeeSCConsFrom1DeeSCEcna(fKeyStexNumber,StexStinEcna);}
5830 
5831  fCnaCommand++;
5832  cout << " *TEcnaGui [" << fCnaCommand
5833  << "]> Crystal numbering for " << " " << fStexName.Data() << " "
5834  << fKeyStexNumber << ", " << fStinName.Data() << " " << StinNumber << endl;
5835 
5836  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
5839 }
5840 //----------------> end of ViewStinCrystalNumbering()
5841 
5842 //===========================================================================
5843 //
5844 // ViewStexStinNumbering
5845 //
5846 //===========================================================================
5848 {
5849  // Plot the Stin numbering of one Stex.
5850  // No argument here since the Stex number is a part of the ROOT file name
5851  // and is in the entry field of the Stex button (fKeyStexNumber)
5852 
5853  fCnaCommand++;
5854  cout << " *TEcnaGui [" << fCnaCommand
5855  << "]> " << fStinName.Data() << " numbering for " << fStexName.Data()
5856  << " " << fKeyStexNumber << endl;
5857 
5858  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
5861 }
5862 //----------------> end of ViewStexStinNumbering()
5863 
5864 //===============================================================================
5865 //
5866 // ViewHisto...
5867 //
5868 //===============================================================================
5869 //......................... Nb of evts
5870 
5871 void TEcnaGui::ViewHistoSorSNumberOfEventsOfCrystals(const TString first_same_plot)
5872 {
5873 // Plot the 1D histogram of the number of events (found in the data)
5874 // as a function of crystals (grouped by Stins)
5875 
5876  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
5879 
5880  fCnaCommand++;
5881  cout << " *TEcnaGui [" << fCnaCommand
5882  << "]> Number of events for crystals";
5883  MessageCnaCommandReplyA(first_same_plot);
5884 
5890  fHistos->StexXtalsNumberOfEvents(first_same_plot);
5891 
5892  MessageCnaCommandReplyB(first_same_plot);
5893 }
5894 
5895 void TEcnaGui::ViewHistoSorSNumberOfEventsDistribution(const TString first_same_plot)
5896 {
5897 // Plot the 1D histogram of the number of events distribution for a Stex
5898 
5899  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
5902 
5903  fCnaCommand++;
5904  cout << " *TEcnaGui [" << fCnaCommand
5905  << "]> Number of events distribution";
5906  MessageCnaCommandReplyA(first_same_plot);
5907 
5913  fHistos->StexNumberOfEventsXtals(first_same_plot);
5914 
5915  MessageCnaCommandReplyB(first_same_plot);
5916 }
5917 
5918 //........................... Ev
5919 
5920 void TEcnaGui::ViewHistoSorSPedestalsOfCrystals(const TString first_same_plot)
5921 {
5922 // Plot the 1D histogram of the pedestals as a function of crystals (grouped by Stins)
5923 
5924  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
5927 
5928  fCnaCommand++;
5929  cout << " *TEcnaGui [" << fCnaCommand
5930  << "]> Pedestals";
5931  MessageCnaCommandReplyA(first_same_plot);
5932 
5938  fHistos->StexXtalsPedestals(first_same_plot);
5939 
5940  MessageCnaCommandReplyB(first_same_plot);
5941 }
5942 
5943 void TEcnaGui::ViewHistoSorSPedestalsDistribution(const TString first_same_plot)
5944 {
5945 // Plot the 1D histogram of the pedestals distribution for a Stex
5946 
5947  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
5950 
5951  fCnaCommand++;
5952  cout << " *TEcnaGui [" << fCnaCommand
5953  << "]> Pedestals distribution";
5954  MessageCnaCommandReplyA(first_same_plot);
5955 
5961  fHistos->StexPedestalsXtals(first_same_plot);
5962 
5963  MessageCnaCommandReplyB(first_same_plot);
5964 }
5965 
5966 void TEcnaGui::ViewHistoSorSTotalNoiseOfCrystals(const TString first_same_plot)
5967 {
5968 // Plot the 1D histogram of the mean of sample sigmas as a function of crystals (grouped by Stins)
5969 
5970  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
5973 
5974  fCnaCommand++;
5975  cout << " *TEcnaGui [" << fCnaCommand
5976  << "]> Total noise";
5977  MessageCnaCommandReplyA(first_same_plot);
5978 
5984  fHistos->StexXtalsTotalNoise(first_same_plot);
5985 
5986  MessageCnaCommandReplyB(first_same_plot);
5987 }
5988 
5989 void TEcnaGui::ViewHistoSorSTotalNoiseDistribution(const TString first_same_plot)
5990 {
5991 // Plot the 1D histogram of the mean of sample sigmas distribution for a Stex
5992 
5993  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
5996 
5997  fCnaCommand++;
5998  cout << " *TEcnaGui [" << fCnaCommand
5999  << "]> Total noise distribution";
6000  MessageCnaCommandReplyA(first_same_plot);
6001 
6007  fHistos->StexTotalNoiseXtals(first_same_plot);
6008 
6009  MessageCnaCommandReplyB(first_same_plot);
6010 }
6011 
6012 void TEcnaGui::ViewHistoSorSMeanOfCorssOfCrystals(const TString first_same_plot)
6013 {
6014 // Plot the 1D histogram of the mean of cor(s,s') as a function of crystals (grouped by Stins)
6015 
6016  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
6019 
6020  fCnaCommand++;
6021  cout << " *TEcnaGui [" << fCnaCommand
6022  << "]> Mean of cor(s,s')";
6023  MessageCnaCommandReplyA(first_same_plot);
6024 
6030  fHistos->StexXtalsMeanOfCorss(first_same_plot);
6031 
6032  MessageCnaCommandReplyB(first_same_plot);
6033 }
6034 
6035 void TEcnaGui::ViewHistoSorSMeanOfCorssDistribution(const TString first_same_plot)
6036 {
6037 // Plot the 1D histogram of the mean of cor(s,s') sigmas distribution for a Stex
6038 
6039  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
6042 
6043  fCnaCommand++;
6044  cout << " *TEcnaGui [" << fCnaCommand
6045  << "]> Mean of cor(s,s') distribution";
6046  MessageCnaCommandReplyA(first_same_plot);
6047 
6053  fHistos->StexMeanOfCorssXtals(first_same_plot);
6054 
6055  MessageCnaCommandReplyB(first_same_plot);
6056 }
6057 
6058 //............................ Sig
6059 
6060 void TEcnaGui::ViewHistoSorSLowFrequencyNoiseOfCrystals(const TString first_same_plot)
6061 {
6062 // Plot the 1D histogram of the pedestals as a function of crystals (grouped by Stins)
6063 
6064  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
6067 
6068  fCnaCommand++;
6069  cout << " *TEcnaGui [" << fCnaCommand
6070  << "]> Low frequency noise";
6071  MessageCnaCommandReplyA(first_same_plot);
6072 
6078  fHistos->StexXtalsLowFrequencyNoise(first_same_plot);
6079 
6080  MessageCnaCommandReplyB(first_same_plot);
6081 }
6082 
6083 void TEcnaGui::ViewHistoSorSLowFrequencyNoiseDistribution(const TString first_same_plot)
6084 {
6085 // Plot the 1D histogram of the pedestals distribution for a Stex
6086 
6087  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
6090 
6091  fCnaCommand++;
6092  cout << " *TEcnaGui [" << fCnaCommand
6093  << "]> Low frequency noise distribution";
6094  MessageCnaCommandReplyA(first_same_plot);
6095 
6101  fHistos->StexLowFrequencyNoiseXtals(first_same_plot);
6102 
6103  MessageCnaCommandReplyB(first_same_plot);
6104 }
6105 
6106 void TEcnaGui::ViewHistoSorSHighFrequencyNoiseOfCrystals(const TString first_same_plot)
6107 {
6108 // Plot the 1D histogram of the mean of sample sigmas as a function of crystals (grouped by Stins)
6109 
6110  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
6113 
6114  fCnaCommand++;
6115  cout << " *TEcnaGui [" << fCnaCommand
6116  << "]> High frequency noise";
6117  MessageCnaCommandReplyA(first_same_plot);
6118 
6124  fHistos->StexXtalsHighFrequencyNoise(first_same_plot);
6125 
6126  MessageCnaCommandReplyB(first_same_plot);
6127 }
6128 
6130 {
6131 // Plot the 1D histogram of the mean of sample sigmas distribution for a Stex
6132 
6133  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
6136 
6137  fCnaCommand++;
6138  cout << " *TEcnaGui [" << fCnaCommand
6139  << "]> High frequency noise distribution";
6140  MessageCnaCommandReplyA(first_same_plot);
6141 
6147  fHistos->StexHighFrequencyNoiseXtals(first_same_plot);
6148 
6149  MessageCnaCommandReplyB(first_same_plot);
6150 }
6151 
6152 void TEcnaGui::ViewHistoSorSSigmaOfCorssOfCrystals(const TString first_same_plot)
6153 {
6154 // Plot the 1D histogram of the mean of cor(s,s') as a function of crystals (grouped by Stins)
6155 
6156  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
6159 
6160  fCnaCommand++;
6161  cout << " *TEcnaGui [" << fCnaCommand
6162  << "]> Sigma of cor(s,s')";
6163  MessageCnaCommandReplyA(first_same_plot);
6164 
6170  fHistos->StexXtalsSigmaOfCorss(first_same_plot);
6171 
6172  MessageCnaCommandReplyB(first_same_plot);
6173 }
6174 
6175 void TEcnaGui::ViewHistoSorSSigmaOfCorssDistribution(const TString first_same_plot)
6176 {
6177 // Plot the 1D histogram of the mean of cor(s,s') sigmas distribution for a Stex
6178 
6179  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
6182 
6183  fCnaCommand++;
6184  cout << " *TEcnaGui [" << fCnaCommand
6185  << "]> Sigma of cor(s,s') distribution";
6186  MessageCnaCommandReplyA(first_same_plot);
6187 
6193  fHistos->StexSigmaOfCorssXtals(first_same_plot);
6194 
6195  MessageCnaCommandReplyB(first_same_plot);
6196 }
6197 
6198 //........................................................................................................
6199 void TEcnaGui::ViewHistoCrystalSampleMeans(const Int_t& cStexStin_A, const Int_t& crystal,
6200  const TString first_same_plot)
6201 {
6202 // Plot the 1D histogram of the mean of the sample ADC for a crystal
6203 
6204  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
6207 
6208  fCnaCommand++;
6209  cout << " *TEcnaGui [" << fCnaCommand
6210  << "]> Expectation values of the samples"
6211  << ". Analysis: " << fKeyAnaType << ", Run: " << fKeyRunNumber
6212  << ", 1st req. evt#: " << fKeyFirstReqEvtNumber << ", last req. evt#: " << fKeyLastReqEvtNumber
6213  << ", Stex: " << fKeyStexNumber << ", " << fStinName.Data() << ": " << cStexStin_A << ", crystal" << crystal
6214  << ", option: " << first_same_plot << endl;
6215 
6221  fHistos->XtalSamplesEv(cStexStin_A, crystal, first_same_plot);
6222 }
6223 
6224 void TEcnaGui::ViewHistoCrystalSigmasOfSamples(const Int_t& cStexStin_A, const Int_t& crystal,
6225  const TString first_same_plot)
6226 {
6227 // Plot the 1D histogram of the sigmas of the sample ADC for a crystal
6228 
6229  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
6232 
6233  fCnaCommand++;
6234  cout << " *TEcnaGui [" << fCnaCommand
6235  << "]> Sigmas of the samples"
6236  << ". Analysis: " << fKeyAnaType << ", Run: " << fKeyRunNumber
6237  << ", 1st req. evt#: " << fKeyFirstReqEvtNumber << ", last req. evt#: " << fKeyLastReqEvtNumber
6238  << ", Stex: " << fKeyStexNumber << ", " << fStinName.Data() << ": " << cStexStin_A << ", crystal:" << crystal
6239  << ", option: " << first_same_plot << endl;
6240 
6246  fHistos->XtalSamplesSigma(cStexStin_A, crystal, first_same_plot);
6247 }
6248 
6249 //............................ Sample values
6250 
6251 void TEcnaGui::ViewHistoCrystalSampleValues(const Int_t& cStexStin_A, const Int_t& crystal,
6252  const Int_t& sample, const TString first_same_plot)
6253 {
6254 // Plot the 1D histogram of the pedestals as a function of the event number for a crystal
6255 
6256  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
6259 
6260  fCnaCommand++;
6261  cout << " *TEcnaGui [" << fCnaCommand
6262  << "]> ADC sample values"
6263  << ". Analysis: " << fKeyAnaType << ", Run: " << fKeyRunNumber
6264  << ", 1st req. evt#: " << fKeyFirstReqEvtNumber << ", last req. evt#: " << fKeyLastReqEvtNumber
6265  << ", Stex: " << fKeyStexNumber << ", " << fStinName.Data() << ": " << cStexStin_A << ", crystal: " << crystal
6266  << ", sample: " << sample << ", option: " << first_same_plot << endl;
6267 
6273 
6274  fHistos->XtalSampleValues(cStexStin_A, crystal, sample, first_same_plot);
6275 }
6276 
6277 void TEcnaGui::ViewHistoSampleEventDistribution(const Int_t& cStexStin_A, const Int_t& crystal,
6278  const Int_t& sample, const TString first_same_plot)
6279 {
6280 // Plot the 1D histogram of the ADC event distribution for a sample
6281 
6282  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
6285 
6286  fCnaCommand++;
6287  cout << " *TEcnaGui [" << fCnaCommand
6288  << "]> ADC event distribution"
6289  << ". Analysis: " << fKeyAnaType << ", Run: " << fKeyRunNumber
6290  << ", 1st req. evt#: " << fKeyFirstReqEvtNumber << ", last req. evt#: " << fKeyLastReqEvtNumber
6291  << ", Stex: " << fKeyStexNumber << ", " << fStinName.Data() << ": " << cStexStin_A << ", crystal: " << crystal
6292  << " Sample " << sample << ", option: " << first_same_plot << endl;
6293 
6299  fHistos->SampleADCEvents(cStexStin_A, crystal, sample, first_same_plot);
6300 }
6301 
6302 //.................. Evolution in time (as a function of run date)
6303 
6304 void TEcnaGui::ViewHistimeCrystalPedestals(const TString run_par_file_name,
6305  const Int_t& cStexStin_A, const Int_t& i0StinEcha,
6306  const TString first_same_plot)
6307 {
6308 // Plot the graph of Pedestals evolution for a given channel
6309 
6310  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
6311 
6312  fCnaCommand++;
6313  cout << " *TEcnaGui [" << fCnaCommand
6314  << "]> Pedestal history"
6315  << ". Run parameters file name: " << run_par_file_name
6316  << ", " << fStinName.Data() << ": " << cStexStin_A << ", channel: " << i0StinEcha
6317  << ", option: " << first_same_plot << endl;
6318 
6326  fHistos->XtalTimePedestals(run_par_file_name, cStexStin_A, i0StinEcha, first_same_plot);
6327 }
6328 
6329 void TEcnaGui::ViewHistimeCrystalPedestalsRuns(const TString run_par_file_name,
6330  const Int_t& cStexStin_A, const Int_t& i0StinEcha,
6331  const TString first_same_plot)
6332 {
6333 // Plot the graph of Pedestals evolution for a given channel
6334 
6335  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
6336 
6337  fCnaCommand++;
6338  cout << " *TEcnaGui [" << fCnaCommand
6339  << "]> Pedestal history distribution"
6340  << ". Run parameters file name: " << run_par_file_name
6341  << ", " << fStinName.Data() << ": " << cStexStin_A << ", channel: " << i0StinEcha
6342  << ", option: " << first_same_plot << endl;
6343 
6351  fHistos->XtalPedestalsRuns(run_par_file_name, cStexStin_A, i0StinEcha, first_same_plot);
6352 }
6353 
6354 //....................................................................................................
6355 void TEcnaGui::ViewHistimeCrystalTotalNoise(const TString run_par_file_name,
6356  const Int_t& cStexStin_A, const Int_t& i0StinEcha,
6357  const TString first_same_plot)
6358 {
6359 // Plot the graph of total noise evolution for a given channel
6360 
6361  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
6362 
6363  fCnaCommand++;
6364  cout << " *TEcnaGui [" << fCnaCommand
6365  << "]> Total noise history"
6366  << ". Run parameters file name: " << run_par_file_name
6367  << ", " << fStinName.Data() << ": " << cStexStin_A << ", channel: " << i0StinEcha
6368  << ", option: " << first_same_plot << endl;
6369 
6377  fHistos->XtalTimeTotalNoise(run_par_file_name, cStexStin_A, i0StinEcha, first_same_plot);
6378 }
6379 
6380 void TEcnaGui::ViewHistimeCrystalTotalNoiseRuns(const TString run_par_file_name,
6381  const Int_t& cStexStin_A, const Int_t& i0StinEcha,
6382  const TString first_same_plot)
6383 {
6384 // Plot the graph of total noise evolution for a given channel
6385 
6386  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
6387 
6388  fCnaCommand++;
6389  cout << " *TEcnaGui [" << fCnaCommand
6390  << "]> Total noise history distribution"
6391  << ". Run parameters file name: " << run_par_file_name
6392  << ", " << fStinName.Data() << ": " << cStexStin_A << ", channel: " << i0StinEcha
6393  << ", option: " << first_same_plot << endl;
6394 
6402  fHistos->XtalTotalNoiseRuns(run_par_file_name, cStexStin_A, i0StinEcha, first_same_plot);
6403 }
6404 //....................................................................................................
6405 void TEcnaGui::ViewHistimeCrystalLowFrequencyNoise(const TString run_par_file_name,
6406  const Int_t& cStexStin_A, const Int_t& i0StinEcha,
6407  const TString first_same_plot)
6408 {
6409 // Plot the graph of Low Frequency Noise evolution for a given channel
6410 
6411  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
6412 
6413  fCnaCommand++;
6414  cout << " *TEcnaGui [" << fCnaCommand
6415  << "]> Low frequency noise history"
6416  << ". Run parameters file name: " << run_par_file_name
6417  << ", " << fStinName.Data() << ": " << cStexStin_A << ", channel: " << i0StinEcha
6418  << ", option: " << first_same_plot << endl;
6419 
6427  fHistos->XtalTimeLowFrequencyNoise(run_par_file_name, cStexStin_A, i0StinEcha, first_same_plot);
6428 }
6429 
6430 void TEcnaGui::ViewHistimeCrystalLowFrequencyNoiseRuns(const TString run_par_file_name,
6431  const Int_t& cStexStin_A, const Int_t& i0StinEcha,
6432  const TString first_same_plot)
6433 {
6434 // Plot the graph of Low Frequency Noise evolution for a given channel
6435 
6436  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
6437 
6438  fCnaCommand++;
6439  cout << " *TEcnaGui [" << fCnaCommand
6440  << "]> Low frequency noise history distribution"
6441  << ". Run parameters file name: " << run_par_file_name
6442  << ", " << fStinName.Data() << ": " << cStexStin_A << ", channel: " << i0StinEcha
6443  << ", option: " << first_same_plot << endl;
6444 
6452  fHistos->XtalLowFrequencyNoiseRuns(run_par_file_name, cStexStin_A, i0StinEcha, first_same_plot);
6453 }
6454 //....................................................................................................
6455 void TEcnaGui::ViewHistimeCrystalHighFrequencyNoise(const TString run_par_file_name,
6456  const Int_t& cStexStin_A, const Int_t& i0StinEcha,
6457  const TString first_same_plot)
6458 {
6459 // Plot the graph of High Frequency Noise evolution for a given channel
6460 
6461  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
6462 
6463  fCnaCommand++;
6464  cout << " *TEcnaGui [" << fCnaCommand
6465  << "]> High frequency noise history"
6466  << ". Run parameters file name: " << run_par_file_name
6467  << ", " << fStinName.Data() << ": " << cStexStin_A << ", channel: " << i0StinEcha
6468  << ", option: " << first_same_plot << endl;
6469 
6477  fHistos->XtalTimeHighFrequencyNoise(run_par_file_name, cStexStin_A, i0StinEcha, first_same_plot);
6478 }
6479 
6480 void TEcnaGui::ViewHistimeCrystalHighFrequencyNoiseRuns(const TString run_par_file_name,
6481  const Int_t& cStexStin_A, const Int_t& i0StinEcha,
6482  const TString first_same_plot)
6483 {
6484 // Plot the graph of High Frequency Noise evolution for a given channel
6485 
6486  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
6487 
6488  fCnaCommand++;
6489  cout << " *TEcnaGui [" << fCnaCommand
6490  << "]> High frequency noise history distribution"
6491  << ". Run parameters file name: " << run_par_file_name
6492  << ", " << fStinName.Data() << ": " << cStexStin_A << ", channel: " << i0StinEcha
6493  << ", option: " << first_same_plot << endl;
6494 
6502  fHistos->XtalHighFrequencyNoiseRuns(run_par_file_name, cStexStin_A, i0StinEcha, first_same_plot);
6503 }
6504 //....................................................................................................
6505 void TEcnaGui::ViewHistimeCrystalMeanOfCorss(const TString run_par_file_name,
6506  const Int_t& cStexStin_A, const Int_t& i0StinEcha,
6507  const TString first_same_plot)
6508 {
6509 // Plot the graph for Mean of Corss evolution for a given channel
6510 
6511  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
6512 
6513  fCnaCommand++;
6514  cout << " *TEcnaGui [" << fCnaCommand
6515  << "]> Mean of corss history"
6516  << ". Run parameters file name: " << run_par_file_name
6517  << ", " << fStinName.Data() << ": " << cStexStin_A << ", channel: " << i0StinEcha
6518  << ", option: " << first_same_plot << endl;
6519 
6527  fHistos->XtalTimeMeanOfCorss(run_par_file_name, cStexStin_A, i0StinEcha, first_same_plot);
6528 }
6529 
6530 void TEcnaGui::ViewHistimeCrystalMeanOfCorssRuns(const TString run_par_file_name,
6531  const Int_t& cStexStin_A, const Int_t& i0StinEcha,
6532  const TString first_same_plot)
6533 {
6534 // Plot the graph for Mean of Corss evolution for a given channel
6535 
6536  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/ ;}
6537 
6538  fCnaCommand++;
6539  cout << " *TEcnaGui [" << fCnaCommand
6540  << "]> Mean of corss history distribution"
6541  << ". Run parameters file name: " << run_par_file_name
6542  << ", " << fStinName.Data() << ": " << cStexStin_A << ", channel: " << i0StinEcha
6543  << ", option: " << first_same_plot << endl;
6544 
6552  fHistos->XtalMeanOfCorssRuns(run_par_file_name, cStexStin_A, i0StinEcha, first_same_plot);
6553 }
6554 //....................................................................................................
6555 void TEcnaGui::ViewHistimeCrystalSigmaOfCorss(const TString run_par_file_name,
6556  const Int_t& cStexStin_A, const Int_t& i0StinEcha,
6557  const TString first_same_plot)
6558 {
6559 // Plot the graph of Mean Corss evolution for a given channel
6560 
6561  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/;}
6562 
6563  fCnaCommand++;
6564  cout << " *TEcnaGui [" << fCnaCommand
6565  << "]> Sigma of corss history"
6566  << ". Run parameters file name: " << run_par_file_name
6567  << ", " << fStinName.Data() << ": " << cStexStin_A << ", channel: " << i0StinEcha
6568  << ", option: " << first_same_plot << endl;
6569 
6577  fHistos->XtalTimeSigmaOfCorss(run_par_file_name, cStexStin_A, i0StinEcha, first_same_plot);
6578 }
6579 
6580 void TEcnaGui::ViewHistimeCrystalSigmaOfCorssRuns(const TString run_par_file_name,
6581  const Int_t& cStexStin_A, const Int_t& i0StinEcha,
6582  const TString first_same_plot)
6583 {
6584 // Plot the graph of Mean Corss evolution for a given channel
6585 
6586  if( fHistos == 0 ){fHistos = new TEcnaHistos(fSubDet.Data()); /*fCnew++*/;}
6587 
6588  fCnaCommand++;
6589  cout << " *TEcnaGui [" << fCnaCommand
6590  << "]> Sigma of corss history distribution"
6591  << ". Run parameters file name: " << run_par_file_name
6592  << ", " << fStinName.Data() << ": " << cStexStin_A << ", channel: " << i0StinEcha
6593  << ", option: " << first_same_plot << endl;
6594 
6602  fHistos->XtalSigmaOfCorssRuns(run_par_file_name, cStexStin_A, i0StinEcha, first_same_plot);
6603 }
6604 
6605 //====================================================================================================
6606 
6608 {
6609  //.....Input widgets for: analysis, run, channel, sample,
6610  // number of events, first event number, etc...
6611 
6612  //fKeyPyf = "";
6613 
6614  fKeyAnaType = "StdPed12";
6615  Int_t MaxCar = fgMaxCar;
6616  fKeyRunListInitCode.Resize(MaxCar);
6617  fKeyRunListInitCode = "0123";
6618 
6619  MaxCar = fgMaxCar;
6620  fKeyFileNameRunList.Resize(MaxCar);
6622 
6624  fKeyNbOfSamplesString = "10"; // ! THE NUMBER IN STRING MUST BE EQUAL TO fKeyNbOfSamples VALUE
6625 
6627  fKeyNbOfSampForCalcString = "10"; // ! THE NUMBER IN STRING MUST BE EQUAL TO fKeyNbOfSampForCalc VALUE
6628 
6629  fKeyRunNumber = 0;
6630 
6632  fKeyFirstReqEvtNumberString = "1"; // ! THE NUMBER IN STRING MUST BE EQUAL TO fKeyFirstReqEvtNumber VALUE
6633 
6635  fKeyLastReqEvtNumberString = "0"; // ! THE NUMBER IN STRING MUST BE EQUAL TO fKeyLastReqEvtNumber VALUE
6636 
6637  fKeyReqNbOfEvts = 150;
6638  fKeyReqNbOfEvtsString = "150"; // ! THE NUMBER IN STRING MUST BE EQUAL TO fKeyReqNbOfEvts VALUE
6639 
6640  fKeyStexNumber = 1;
6641  fKeyStexNumberString = "1"; // ! THE NUMBER IN STRING MUST BE EQUAL TO fKeyStexNumber VALUE
6642 
6643  fKeyChanNumber = 0;
6644  fKeySampNumber = 0;
6645 
6646  fKeyStinANumber = 1;
6647  fKeyStinBNumber = 1;
6648  if( fSubDet == "EE" )
6649  {if( fKeyStexNumber == 1 || fKeyStexNumber == 3 )
6650  {
6653  }
6654  }
6655 
6656  MaxCar = fgMaxCar;
6657  fKeyScaleX.Resize(MaxCar);
6658  fKeyScaleX = "LIN";
6659  MaxCar = fgMaxCar;
6660  fKeyScaleY.Resize(MaxCar);
6661  fKeyScaleY = "LIN";
6662  fKeyGeneralTitle = "Ecal Correlated Noise Analysis";
6663 
6664  fKeyColPal = "ECCNAColor";
6665 
6666  //.... ymin and ymax values => values which are displayed on the dialog box
6667 
6668  fKeyVminD_NOE_ChNb = (Double_t)0.;
6669  fKeyVmaxD_NOE_ChNb = (Double_t)1000.;
6670 
6671  fKeyVminD_Ped_ChNb = (Double_t)0.;
6672  fKeyVmaxD_Ped_ChNb = (Double_t)0.;
6673 
6674  fKeyVminD_TNo_ChNb = (Double_t)0.;
6675  fKeyVmaxD_TNo_ChNb = (Double_t)0.;
6676 
6677  fKeyVminD_LFN_ChNb = (Double_t)0.;
6678  fKeyVmaxD_LFN_ChNb = (Double_t)0.;
6679 
6680  fKeyVminD_HFN_ChNb = (Double_t)0.;
6681  fKeyVmaxD_HFN_ChNb = (Double_t)0.;
6682 
6683  fKeyVminD_MCs_ChNb = (Double_t)(-1.);
6684  fKeyVmaxD_MCs_ChNb = (Double_t)1.;
6685 
6686  fKeyVminD_SCs_ChNb = (Double_t)0.;
6687  fKeyVmaxD_SCs_ChNb = (Double_t)0.;
6688 
6691 
6692  fKeyVminLFccMos = (Double_t)-1.;
6693  fKeyVmaxLFccMos = (Double_t)1.;
6694  fKeyVminHFccMos = (Double_t)0.;
6695  fKeyVmaxHFccMos = (Double_t)1.;
6696 
6697  fKeyFileNameRunList = "";
6698 }
6699 
6700 void TEcnaGui::DisplayInEntryField(TGTextEntry* StringOfField, Int_t& value)
6701 {
6702  char* f_in = new char[20]; fCnew++;
6703  sprintf( f_in, "%d", value );
6704  StringOfField->SetText(f_in);
6705  delete [] f_in; fCdelete++;
6706 }
6707 
6708 void TEcnaGui::DisplayInEntryField(TGTextEntry* StringOfField, Double_t& value)
6709 {
6710  char* f_in = new char[20]; fCnew++;
6711  sprintf( f_in, "%g", value );
6712  StringOfField->SetText(f_in);
6713  delete [] f_in; fCdelete++;
6714 }
6715 void TEcnaGui::DisplayInEntryField(TGTextEntry* StringOfField, const TString value)
6716 {
6717  //StringOfField->Insert(value);
6718  StringOfField->SetText(value);
6719 }
Int_t fMenuH_LFN_DatePolmSameC
Definition: TEcnaGui.h:648
TGTextButton * fStinBBut
Definition: TEcnaGui.h:542
TGPopupMenu * fMenuD_TNo_ChNb
Definition: TEcnaGui.h:290
void SetGeneralTitle(const TString)
TGTextEntry * fVminD_TNo_ChNbText
Definition: TEcnaGui.h:286
Int_t fMenuCleanAllC
Definition: TEcnaGui.h:152
Int_t fMenuCorssSurf3C
Definition: TEcnaGui.h:583
TString fKeyFileNameRunList
Definition: TEcnaGui.h:732
void StexHocoVecoLowFrequencyNoise()
TGLayoutHints * fLayoutMenuBarD_SCs_ChNb
Definition: TEcnaGui.h:412
TGTextButton * fVmaxD_HFN_ChNbBut
Definition: TEcnaGui.h:335
TGLayoutHints * fLayoutMenuBarD_HFN_ChNb
Definition: TEcnaGui.h:352
void ViewHistimeCrystalLowFrequencyNoise(const TString, const Int_t &, const Int_t &, const TString)
Definition: TEcnaGui.cc:6405
TGMenuBar * fMenuBarHFccMos
Definition: TEcnaGui.h:497
TGLayoutHints * fLayoutStexNbBut
Definition: TEcnaGui.h:187
void StexHocoVecoLHFCorcc(const TString)
TGLayoutHints * fLayoutVminD_LFN_ChNbFrame
Definition: TEcnaGui.h:318
TGMenuBar * fMenuBarCorssAll
Definition: TEcnaGui.h:529
void DoButtonChNb()
Definition: TEcnaGui.cc:4058
TGCompositeFrame * fGentFrame
Definition: TEcnaGui.h:673
TGLayoutHints * fLayoutGeneral
Definition: TEcnaGui.h:81
void StexHocoVecoTotalNoise()
void DoButtonChan()
Definition: TEcnaGui.cc:4065
TGPopupMenu * fMenuCorssAll
Definition: TEcnaGui.h:528
TEcnaGui(const TGWindow *, UInt_t, UInt_t, const TString)
Definition: TEcnaGui.cc:779
TGTextBuffer * fEntryVmaxLHFccNumber
Definition: TEcnaGui.h:432
TGLayoutHints * fLayoutStexFieldText
Definition: TEcnaGui.h:168
void ViewHistoSorSSigmaOfCorssOfCrystals(const TString)
Definition: TEcnaGui.cc:6152
TGLayoutHints * fLayoutRevFieldFrame
Definition: TEcnaGui.h:178
TGLayoutHints * fLayoutNorsBut
Definition: TEcnaGui.h:136
void DoButtonFev()
Definition: TEcnaGui.cc:3448
Int_t fMenuCovssTextC
Definition: TEcnaGui.h:588
void XtalTimeTotalNoise(const TString, const Int_t &, const Int_t &, const TString)
Int_t fCdelete
Definition: TEcnaGui.h:50
TGLayoutHints * fLayoutStexHozFrame
Definition: TEcnaGui.h:423
TGTextButton * fFevBut
Definition: TEcnaGui.h:114
TGLayoutHints * fLayoutVmmD_HFN_ChNbFrame
Definition: TEcnaGui.h:359
void XtalTimeMeanOfCorss(const TString, const Int_t &, const Int_t &, const TString)
TGCompositeFrame * fVminLHFccFrame
Definition: TEcnaGui.h:436
TGMenuBar * fMenuBarCorss
Definition: TEcnaGui.h:580
TGLayoutHints * fLayoutRootBut
Definition: TEcnaGui.h:704
Int_t fMenuCorssLegoC
Definition: TEcnaGui.h:582
TGCheckButton * fButLogx
Definition: TEcnaGui.h:659
TGTextBuffer * fEntryVminD_Ped_ChNbNumber
Definition: TEcnaGui.h:257
Int_t fMenuD_MSp_SampLineFullC
Definition: TEcnaGui.h:595
TGMenuBar * fMenuBarLFCorcc
Definition: TEcnaGui.h:555
void SetHistoColorPalette(const TString)
TGLayoutHints * fLayoutVmaxD_Ped_ChNbFrame
Definition: TEcnaGui.h:251
void Calculations(const TString)
Definition: TEcnaGui.cc:5090
Int_t fMenuD_SCs_ChNbFullC
Definition: TEcnaGui.h:413
TGCompositeFrame * fAnaNorsRunFrame
Definition: TEcnaGui.h:102
TEcnaRead * fMyRootFile
Definition: TEcnaGui.h:78
TGLayoutHints * fLayoutMenuBarLFccMos
Definition: TEcnaGui.h:472
TGCheckButton * fButProjy
Definition: TEcnaGui.h:668
Int_t fMenuSubmit8nhC
Definition: TEcnaGui.h:157
void CovariancesBetweenSamples(const Int_t &, const Int_t &, const TString)
TGTextBuffer * fEntryVmaxD_SCs_ChNbNumber
Definition: TEcnaGui.h:398
TGTextButton * fNorsBut
Definition: TEcnaGui.h:134
void HighFrequencyMeanCorrelationsBetweenStins()
Definition: TEcnaRun.cc:2951
TGCompositeFrame * fVmaxD_NOE_ChNbFrame
Definition: TEcnaGui.h:213
TGTextButton * fLevBut
Definition: TEcnaGui.h:143
TGLayoutHints * fLayoutTopRight
Definition: TEcnaGui.h:82
TGLayoutHints * fLayoutFevFieldText
Definition: TEcnaGui.h:118
TGTextBuffer * fEntryRunNumber
Definition: TEcnaGui.h:126
Int_t fMenuD_HFN_ChNbFullC
Definition: TEcnaGui.h:353
void XtalTimePedestals(const TString, const Int_t &, const Int_t &, const TString)
void ViewMatrixCorrelationSamples(const Int_t &, const Int_t &, const TString)
Definition: TEcnaGui.cc:5433
TGLayoutHints * fLayoutVminD_Ped_ChNbFrame
Definition: TEcnaGui.h:259
TString fSubDet
Definition: TEcnaGui.h:66
TGLayoutHints * fLayoutVmmD_NOE_ChNbFrame
Definition: TEcnaGui.h:237
TGTextEntry * fLevText
Definition: TEcnaGui.h:145
Int_t fMenuAdcProjSampLineSameC
Definition: TEcnaGui.h:630
TGCompositeFrame * fStinAFrame
Definition: TEcnaGui.h:514
void DoButtonVmaxHFccMos()
Definition: TEcnaGui.cc:3883
void DoButtonStinA()
Definition: TEcnaGui.cc:3938
Int_t fMenuHFccColzC
Definition: TEcnaGui.h:447
TGPopupMenu * fMenuSubmit
Definition: TEcnaGui.h:155
TGLayoutHints * fLayoutVmaxD_NOE_ChNbFieldText
Definition: TEcnaGui.h:218
Int_t fMenuH_HFN_DatePolmSameC
Definition: TEcnaGui.h:649
TGPopupMenu * fMenuD_MSp_Samp
Definition: TEcnaGui.h:593
Int_t Get1DeeSCEcnaFromDeeSCCons(const Int_t &, const Int_t &)
void ViewHistoSorSSigmaOfCorssDistribution(const TString)
Definition: TEcnaGui.cc:6175
void XtalSamplesEv(const Int_t &, const Int_t &, const TString)
Int_t fMenuCorssSurf1C
Definition: TEcnaGui.h:583
Double_t fKeyVmaxD_SCs_ChNb
Definition: TEcnaGui.h:773
void DoButtonVminLHFcc()
Definition: TEcnaGui.cc:3900
void DoButtonVmaxD_NOE_ChNb()
Definition: TEcnaGui.cc:3626
Double_t fKeyVmaxD_MCs_ChNb
Definition: TEcnaGui.h:764
TGLayoutHints * fLayoutVminLHFccFrame
Definition: TEcnaGui.h:442
TGTextEntry * fVmaxD_Ped_ChNbText
Definition: TEcnaGui.h:248
TGPopupMenu * fMenuCovss
Definition: TEcnaGui.h:586
TGCompositeFrame * fVminD_HFN_ChNbFrame
Definition: TEcnaGui.h:342
TEcnaHistos * fHistos
Definition: TEcnaGui.h:71
Int_t fMenuH_SCs_DatePolmFullC
Definition: TEcnaGui.h:651
Int_t fMenuCovssSurf1C
Definition: TEcnaGui.h:590
void SetHistoScaleX(const TString)
TGCompositeFrame * fVminD_MCs_ChNbFrame
Definition: TEcnaGui.h:372
TGCompositeFrame * fVmaxD_LFN_ChNbFrame
Definition: TEcnaGui.h:304
Int_t fMenuLFCorccColzC
Definition: TEcnaGui.h:556
TGLayoutHints * fLayoutRevFieldText
Definition: TEcnaGui.h:177
TGLayoutHints * fLayoutVminHFccMosFieldText
Definition: TEcnaGui.h:493
TGTextEntry * fRevText
Definition: TEcnaGui.h:175
TGCompositeFrame * fTxSubFrame
Definition: TEcnaGui.h:512
TGTextEntry * fVmaxD_SCs_ChNbText
Definition: TEcnaGui.h:397
TGCompositeFrame * fNbSampForCalcFrame
Definition: TEcnaGui.h:189
void DoButtonRun()
Definition: TEcnaGui.cc:3433
Int_t fMenuD_NOE_ChNbFullC
Definition: TEcnaGui.h:232
Int_t fMenuH_TNo_DatePolmFullC
Definition: TEcnaGui.h:647
TGTextButton * fVminD_LFN_ChNbBut
Definition: TEcnaGui.h:313
TGLayoutHints * fLayoutStexFieldFrame
Definition: TEcnaGui.h:169
Int_t fCnaError
Definition: TEcnaGui.h:55
Int_t fButRootC
Definition: TEcnaGui.h:703
TGPopupMenu * fMenuD_LFN_ChNb
Definition: TEcnaGui.h:320
TGTextEntry * fVmaxD_NOE_ChNbText
Definition: TEcnaGui.h:217
void MessageCnaCommandReplyA(const TString)
Definition: TEcnaGui.cc:5293
void DoButtonVminD_SCs_ChNb()
Definition: TEcnaGui.cc:3803
TGLayoutHints * fLayoutRunBut
Definition: TEcnaGui.h:124
void ViewHistimeCrystalMeanOfCorss(const TString, const Int_t &, const Int_t &, const TString)
Definition: TEcnaGui.cc:6505
void ViewHistimeCrystalHighFrequencyNoise(const TString, const Int_t &, const Int_t &, const TString)
Definition: TEcnaGui.cc:6455
TString fOptPlotSame
Definition: TEcnaGui.h:792
TGPopupMenu * fMenuHistory
Definition: TEcnaGui.h:644
TGLayoutHints * fLayoutVmaxLFccMosFieldText
Definition: TEcnaGui.h:459
TGTextButton * fNbSampForCalcBut
Definition: TEcnaGui.h:190
void StexLowFrequencyNoiseXtals(const TString)
void StexHocoVecoSigmaOfCorss()
TGTextEntry * fVminD_HFN_ChNbText
Definition: TEcnaGui.h:346
TGTextEntry * fStinAText
Definition: TEcnaGui.h:519
void DoButtonVminD_HFN_ChNb()
Definition: TEcnaGui.cc:3771
void ViewSorSTotalNoise()
Definition: TEcnaGui.cc:5611
TGPopupMenu * fMenuComput
Definition: TEcnaGui.h:197
TGTextEntry * fSampText
Definition: TEcnaGui.h:610
TGTextButton * fButRoot
Definition: TEcnaGui.h:702
TGLayoutHints * fLayoutFevBut
Definition: TEcnaGui.h:115
TGPopupMenu * fMenuD_NOE_ChNb
Definition: TEcnaGui.h:229
Int_t fMenuCorssTextC
Definition: TEcnaGui.h:581
TGCompositeFrame * fVmmLFccMosFrame
Definition: TEcnaGui.h:452
TGCompositeFrame * fColorExitFrame
Definition: TEcnaGui.h:682
Int_t fMenuSubmit1nwC
Definition: TEcnaGui.h:157
TGLayoutHints * fLayoutSampField
Definition: TEcnaGui.h:612
TGTextBuffer * fEntryVminD_LFN_ChNbNumber
Definition: TEcnaGui.h:315
Int_t fMenuCorssContzC
Definition: TEcnaGui.h:582
void StexNumberOfEventsXtals(const TString)
TGLayoutHints * fLayoutVmaxD_MCs_ChNbBut
Definition: TEcnaGui.h:366
TGLayoutHints * fLayoutVminD_MCs_ChNbFrame
Definition: TEcnaGui.h:378
Int_t fMenuCorssAsciiFileC
Definition: TEcnaGui.h:584
TEcnaParPaths * fCnaParPaths
Definition: TEcnaGui.h:73
void DoButtonClone()
Definition: TEcnaGui.cc:4247
TGLayoutHints * fLayoutCenterYRight
Definition: TEcnaGui.h:83
Int_t fKeyNbOfSamples
Definition: TEcnaGui.h:716
TGLayoutHints * fLayoutVmaxD_TNo_ChNbFieldText
Definition: TEcnaGui.h:279
TGLayoutHints * fLayoutSampBut
Definition: TEcnaGui.h:608
TGTextButton * fStinABut
Definition: TEcnaGui.h:515
void ViewHistimeCrystalLowFrequencyNoiseRuns(const TString, const Int_t &, const Int_t &, const TString)
Definition: TEcnaGui.cc:6430
TGLayoutHints * fLayoutVminD_Ped_ChNbFieldText
Definition: TEcnaGui.h:258
void StexXtalsHighFrequencyNoise(const TString)
void HandleMenu(Int_t)
Definition: TEcnaGui.cc:4279
void ViewSorSLowFrequencyNoise()
Definition: TEcnaGui.cc:5677
TString fKeyColPal
Definition: TEcnaGui.h:742
TString fStinName
Definition: TEcnaGui.h:67
TGTextEntry * fStexText
Definition: TEcnaGui.h:166
void StexHocoVecoMeanOfCorss()
void LowFrequencyCorrelationsBetweenChannels(const Int_t &, const Int_t &, const TString)
void DoButtonRoot()
Definition: TEcnaGui.cc:4257
TGTextBuffer * fEntryVminD_TNo_ChNbNumber
Definition: TEcnaGui.h:285
void DoButtonLogy()
Definition: TEcnaGui.cc:4194
void LowFrequencyMeanCorrelationsBetweenStins(const TString)
TGWindow * fCnaP
Definition: TEcnaGui.h:64
TGLayoutHints * fLayoutFevFieldFrame
Definition: TEcnaGui.h:119
void StexHocoVecoNumberOfEvents()
TGTextButton * fVminD_SCs_ChNbBut
Definition: TEcnaGui.h:403
TGLayoutHints * fLayoutVmaxD_LFN_ChNbFieldText
Definition: TEcnaGui.h:309
TGLayoutHints * fLayoutVminD_SCs_ChNbFieldText
Definition: TEcnaGui.h:407
TGTextButton * fVminLHFccBut
Definition: TEcnaGui.h:437
Int_t fMenuCovssSurf4C
Definition: TEcnaGui.h:590
TGPopupMenu * fMenuD_SCs_ChNb
Definition: TEcnaGui.h:410
TGLayoutHints * fLayoutChSpFrame
Definition: TEcnaGui.h:620
TGCompositeFrame * fVminD_LFN_ChNbFrame
Definition: TEcnaGui.h:312
Int_t MaxSMInEBPlus()
TString fOptPlotSameP
Definition: TEcnaGui.h:793
TGLayoutHints * fLayoutVminD_Ped_ChNbBut
Definition: TEcnaGui.h:255
TGCompositeFrame * fChSpFrame
Definition: TEcnaGui.h:565
TGTextEntry * fVminD_Ped_ChNbText
Definition: TEcnaGui.h:256
TGTextEntry * fVmaxD_TNo_ChNbText
Definition: TEcnaGui.h:278
TGTextEntry * fAnaText
Definition: TEcnaGui.h:109
TGMenuBar * fMenuBarD_LFN_ChNb
Definition: TEcnaGui.h:321
TGPopupMenu * fMenuCovssAll
Definition: TEcnaGui.h:532
TGLayoutHints * fLayoutGentFieldText
Definition: TEcnaGui.h:678
TGTextButton * fVminD_Ped_ChNbBut
Definition: TEcnaGui.h:254
TGTextButton * fVminD_MCs_ChNbBut
Definition: TEcnaGui.h:373
void DoButtonStinB()
Definition: TEcnaGui.cc:4001
Int_t fMenuCleanSubC
Definition: TEcnaGui.h:152
Int_t fMenuHFccLegoC
Definition: TEcnaGui.h:447
Int_t fChanButC
Definition: TEcnaGui.h:572
Int_t fMenuHFccMosColzC
Definition: TEcnaGui.h:499
TGLayoutHints * fLayoutVminLFccMosBut
Definition: TEcnaGui.h:464
Int_t fgMaxCar
Definition: TEcnaGui.h:48
Bool_t ReadEventDistributions()
Definition: TEcnaRun.cc:1275
TGLayoutHints * fLayoutVmaxLHFccFieldText
Definition: TEcnaGui.h:433
TGTextBuffer * fEntryNorsNumber
Definition: TEcnaGui.h:138
Int_t fMenuHFCorccColzC
Definition: TEcnaGui.h:560
TGLayoutHints * fLayoutVmaxLHFccFrame
Definition: TEcnaGui.h:434
TGPopupMenu * fMenuLFCorcc
Definition: TEcnaGui.h:554
void XtalHighFrequencyNoiseRuns(const TString, const Int_t &, const Int_t &, const TString)
Int_t fMenuH_Ped_DatePolmSameC
Definition: TEcnaGui.h:646
void TotalNoise()
Definition: TEcnaRun.cc:1798
TGLayoutHints * fLayoutChanBut
Definition: TEcnaGui.h:573
TGLayoutHints * fLayoutNbSampForCalcFieldFrame
Definition: TEcnaGui.h:195
Int_t fMenuLFccColzC
Definition: TEcnaGui.h:447
TGTextButton * fGentBut
Definition: TEcnaGui.h:674
TGMenuBar * fMenuBarClean
Definition: TEcnaGui.h:151
TGTextButton * fRunBut
Definition: TEcnaGui.h:122
Int_t fMenuCorssBoxC
Definition: TEcnaGui.h:581
TGLayoutHints * fLayoutVminD_TNo_ChNbFieldText
Definition: TEcnaGui.h:287
void XtalTimeHighFrequencyNoise(const TString, const Int_t &, const Int_t &, const TString)
Int_t fMenuD_TNo_ChNbHocoVecoC
Definition: TEcnaGui.h:296
void XtalPedestalsRuns(const TString, const Int_t &, const Int_t &, const TString)
void StexXtalsSigmaOfCorss(const TString)
TString fKeyGeneralTitle
Definition: TEcnaGui.h:743
TGLayoutHints * fLayoutLevFieldText
Definition: TEcnaGui.h:147
TGMenuBar * fMenuBarD_SCs_ChNb
Definition: TEcnaGui.h:411
void ViewHistoSorSHighFrequencyNoiseOfCrystals(const TString)
Definition: TEcnaGui.cc:6106
void StexXtalsPedestals(const TString)
Int_t fMenuD_SCs_ChNbSamePC
Definition: TEcnaGui.h:415
TGTextBuffer * fEntryVmaxD_LFN_ChNbNumber
Definition: TEcnaGui.h:308
TGTextBuffer * fEntryStinANumber
Definition: TEcnaGui.h:518
TGTextButton * fVminD_NOE_ChNbBut
Definition: TEcnaGui.h:222
TGCompositeFrame * fStexUpFrame
Definition: TEcnaGui.h:205
void StexXtalsNumberOfEvents(const TString)
TEcnaParEcal * fEcal
Definition: TEcnaGui.h:75
void StexPedestalsXtals(const TString)
TGCompositeFrame * fVmmD_Ped_ChNbFrame
Definition: TEcnaGui.h:243
TGLayoutHints * fLayoutTxSubFrame
Definition: TEcnaGui.h:536
TGTextEntry * fVmaxD_MCs_ChNbText
Definition: TEcnaGui.h:367
TGCompositeFrame * fRevFrame
Definition: TEcnaGui.h:172
TGCheckButton * fButColPal
Definition: TEcnaGui.h:686
TString CMSSWVersion()
Int_t fMenuCorssColzC
Definition: TEcnaGui.h:581
void ViewMatrixLowFrequencyMeanCorrelationsBetweenStins(const TString)
Definition: TEcnaGui.cc:5337
void SigmaOfCorrelationsBetweenSamples()
Definition: TEcnaRun.cc:2043
Int_t fConfirmCalcScc
Definition: TEcnaGui.h:60
TGTextButton * fVmaxLFccMosBut
Definition: TEcnaGui.h:455
TGCompositeFrame * fRulFrame
Definition: TEcnaGui.h:635
TEcnaWrite * fCnaWrite
Definition: TEcnaGui.h:77
Double_t fKeyVminHFccMos
Definition: TEcnaGui.h:777
TGLayoutHints * fLayoutChanField
Definition: TEcnaGui.h:576
TGCompositeFrame * fVminD_SCs_ChNbFrame
Definition: TEcnaGui.h:402
TGCompositeFrame * fVmaxD_TNo_ChNbFrame
Definition: TEcnaGui.h:274
void DoButtonVmaxD_TNo_ChNb()
Definition: TEcnaGui.cc:3690
TGTextBuffer * fEntryGentNumber
Definition: TEcnaGui.h:677
TGLayoutHints * fLayoutRulBut
Definition: TEcnaGui.h:637
Int_t fMenuLFccLegoC
Definition: TEcnaGui.h:447
TGLayoutHints * fLayoutRunField
Definition: TEcnaGui.h:127
TGTextEntry * fVminHFccMosText
Definition: TEcnaGui.h:491
TGTextButton * fVminD_TNo_ChNbBut
Definition: TEcnaGui.h:283
void ViewMatrixHighFrequencyCorrelationsBetweenChannels(const Int_t &, const Int_t &, const TString)
Definition: TEcnaGui.cc:5408
TGLayoutHints * fLayoutProjyBut
Definition: TEcnaGui.h:670
void GetReadyToCompute()
Definition: TEcnaRun.cc:1471
TGTextButton * fRulBut
Definition: TEcnaGui.h:636
void DoButtonVmaxLHFcc()
Definition: TEcnaGui.cc:3916
TString fTTBELL
Definition: TEcnaGui.h:53
TGCompositeFrame * fVmaxD_Ped_ChNbFrame
Definition: TEcnaGui.h:245
Int_t fCnew
Definition: TEcnaGui.h:50
Int_t fSampButC
Definition: TEcnaGui.h:609
void ViewHistoSorSLowFrequencyNoiseOfCrystals(const TString)
Definition: TEcnaGui.cc:6060
void ViewStexStinNumbering()
Definition: TEcnaGui.cc:5847
TGLayoutHints * fLayoutVminHFccMosFrame
Definition: TEcnaGui.h:494
void AveragedLowFrequencyNoise()
Definition: TEcnaRun.cc:2229
TGLayoutHints * fLayoutTySubFrame
Definition: TEcnaGui.h:549
TGTextBuffer * fEntryRevNumber
Definition: TEcnaGui.h:176
Double_t fKeyVminD_MCs_ChNb
Definition: TEcnaGui.h:763
TGLayoutHints * fLayoutVmaxD_Ped_ChNbBut
Definition: TEcnaGui.h:247
TGLayoutHints * fLayoutStexBut
Definition: TEcnaGui.h:165
Int_t fButHelpC
Definition: TEcnaGui.h:707
TGLayoutHints * fLayoutColorExitFrame
Definition: TEcnaGui.h:683
TGLayoutHints * fLayoutVminLFccMosFieldText
Definition: TEcnaGui.h:467
void DoButtonHelp()
Definition: TEcnaGui.cc:4265
TString GetRootFileNameShort()
Definition: TEcnaRun.cc:1405
Int_t fMenuCovssAsciiFileC
Definition: TEcnaGui.h:591
TGTextEntry * fVminD_LFN_ChNbText
Definition: TEcnaGui.h:316
Int_t fMenuH_SCs_DatePolmSamePC
Definition: TEcnaGui.h:651
void AveragedMeanOfCorrelationsBetweenSamples()
Definition: TEcnaRun.cc:2349
TGTextButton * fRevBut
Definition: TEcnaGui.h:173
TGPopupMenu * fMenuHFccMos
Definition: TEcnaGui.h:496
Int_t fButColPalC
Definition: TEcnaGui.h:687
TGTextButton * fAnaBut
Definition: TEcnaGui.h:106
void StexStinNumbering(const Int_t &)
Int_t fMenuH_Ped_DatePolmFullC
Definition: TEcnaGui.h:646
TGLayoutHints * fLayoutMenuBarD_TNo_ChNb
Definition: TEcnaGui.h:292
TGLayoutHints * fLayoutCompStRqFrame
Definition: TEcnaGui.h:161
TGLayoutHints * fLayoutVmaxLFccMosBut
Definition: TEcnaGui.h:456
Int_t fMenuD_MSp_SampLineSameC
Definition: TEcnaGui.h:595
TGTextBuffer * fEntryVmaxD_MCs_ChNbNumber
Definition: TEcnaGui.h:368
TGTextBuffer * fEntryVmaxHFccMosNumber
Definition: TEcnaGui.h:484
Int_t fKeyStinANumber
Definition: TEcnaGui.h:747
void ViewSorSPedestals()
Definition: TEcnaGui.cc:5577
void StasHocoVecoAveragedPedestals()
TString fKeyProjY
Definition: TEcnaGui.h:741
TGLayoutHints * fLayoutSpSubFrame
Definition: TEcnaGui.h:614
void DoButtonExit()
Definition: TEcnaGui.cc:4235
void StasHocoVecoAveragedTotalNoise()
TGLayoutHints * fLayoutVmaxD_Ped_ChNbFieldText
Definition: TEcnaGui.h:250
TGLayoutHints * fLayoutMenuBarD_LFN_ChNb
Definition: TEcnaGui.h:322
TGLayoutHints * fLayoutVminLHFccFieldText
Definition: TEcnaGui.h:441
TGTextButton * fVmaxD_Ped_ChNbBut
Definition: TEcnaGui.h:246
TGCompositeFrame * fAnaFrame
Definition: TEcnaGui.h:105
TGLayoutHints * fLayoutVminD_SCs_ChNbBut
Definition: TEcnaGui.h:404
TGCompositeFrame * fVoidFrame
Definition: TEcnaGui.h:85
Int_t fMenuD_LFN_ChNbFullC
Definition: TEcnaGui.h:323
void DoButtonSamp()
Definition: TEcnaGui.cc:4096
Int_t fMenuD_LFN_ChNbHocoVecoC
Definition: TEcnaGui.h:326
TGCompositeFrame * fVmmHFccMosFrame
Definition: TEcnaGui.h:478
void StasHocoVecoAveragedLowFrequencyNoise()
TGCompositeFrame * fVmaxD_HFN_ChNbFrame
Definition: TEcnaGui.h:334
TGLayoutHints * fLayoutCompStnbFrame
Definition: TEcnaGui.h:182
TGTextBuffer * fEntryChanNumber
Definition: TEcnaGui.h:574
Int_t fConfirmRunNumber
Definition: TEcnaGui.h:58
TGCompositeFrame * fVmmD_NOE_ChNbFrame
Definition: TEcnaGui.h:211
TGCompositeFrame * fNorsFrame
Definition: TEcnaGui.h:133
TGLayoutHints * fLayoutVmaxD_SCs_ChNbFrame
Definition: TEcnaGui.h:400
TGMenuBar * fMenuBarSubmit
Definition: TEcnaGui.h:156
Int_t fMenuD_NOE_ChNbHocoVecoC
Definition: TEcnaGui.h:234
TGTextBuffer * fEntryStexNumber
Definition: TEcnaGui.h:167
TGMenuBar * fMenuBarD_MCs_ChNb
Definition: TEcnaGui.h:381
Int_t fButProjyC
Definition: TEcnaGui.h:669
void InitKeys()
Definition: TEcnaGui.cc:6607
Int_t fMenuLFccMosColzC
Definition: TEcnaGui.h:473
TGLayoutHints * fLayoutLogyBut
Definition: TEcnaGui.h:665
TGLayoutHints * fLayoutVminD_HFN_ChNbFrame
Definition: TEcnaGui.h:348
TGLayoutHints * fLayoutVmaxD_MCs_ChNbFieldText
Definition: TEcnaGui.h:369
TGLayoutHints * fLayoutVminD_SCs_ChNbFrame
Definition: TEcnaGui.h:408
TString fKeyScaleX
Definition: TEcnaGui.h:739
TString fOptPlotFull
Definition: TEcnaGui.h:791
Int_t fMenuD_SCs_ChNbHocoVecoC
Definition: TEcnaGui.h:416
Double_t fKeyVminLFccMos
Definition: TEcnaGui.h:775
TGPopupMenu * fMenuLFccMos
Definition: TEcnaGui.h:470
TGCompositeFrame * fStinBFrame
Definition: TEcnaGui.h:541
TString fKeyScaleY
Definition: TEcnaGui.h:740
TString fPythonFileName
Definition: TEcnaGui.h:737
TGCompositeFrame * fChanFrame
Definition: TEcnaGui.h:570
Int_t fMenuH_LFN_DatePolmSamePC
Definition: TEcnaGui.h:648
TString CMSSWSubsystem()
void ViewHistoSorSLowFrequencyNoiseDistribution(const TString)
Definition: TEcnaGui.cc:6083
void XtalSigmaOfCorssRuns(const TString, const Int_t &, const Int_t &, const TString)
void ViewStinCovarianceSamples(const Int_t &)
Definition: TEcnaGui.cc:5516
TGLayoutHints * fLayoutStinABut
Definition: TEcnaGui.h:517
TGLayoutHints * fLayoutCenterXTop
Definition: TEcnaGui.h:83
TGTextButton * fButClone
Definition: TEcnaGui.h:698
TGLayoutHints * fLayoutStinSpFrame
Definition: TEcnaGui.h:551
Double_t fKeyVmaxD_NOE_ChNb
Definition: TEcnaGui.h:755
TGCompositeFrame * fStexHozFrame
Definition: TEcnaGui.h:240
Int_t fButLogyC
Definition: TEcnaGui.h:664
TGTextButton * fVmaxLHFccBut
Definition: TEcnaGui.h:429
void StexXtalsLowFrequencyNoise(const TString)
TGLayoutHints * fLayoutStinBField
Definition: TEcnaGui.h:547
void DoButtonAna()
Definition: TEcnaGui.cc:3347
Int_t fMenuD_HFN_ChNbSamePC
Definition: TEcnaGui.h:355
TGTextBuffer * fEntryLevNumber
Definition: TEcnaGui.h:146
TGLayoutHints * fLayoutVminD_HFN_ChNbBut
Definition: TEcnaGui.h:344
void GetReadyToReadData(TString, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &)
Definition: TEcnaRun.cc:728
TString fMemoProjY
Definition: TEcnaGui.h:787
TGLayoutHints * fLayoutAnaBut
Definition: TEcnaGui.h:108
void DoButtonVmaxLFccMos()
Definition: TEcnaGui.cc:3851
Int_t fCnewRoot
Definition: TEcnaGui.h:51
TGLayoutHints * fLayoutVminD_TNo_ChNbFrame
Definition: TEcnaGui.h:288
TGTextBuffer * fEntrySampNumber
Definition: TEcnaGui.h:611
void ViewHistoCrystalSampleValues(const Int_t &, const Int_t &, const Int_t &, const TString)
Definition: TEcnaGui.cc:6251
void DoButtonVminD_NOE_ChNb()
Definition: TEcnaGui.cc:3610
void DoButtonGent()
Definition: TEcnaGui.cc:4165
TString fOptAscii
Definition: TEcnaGui.h:794
void DoButtonVminD_Ped_ChNb()
Definition: TEcnaGui.cc:3642
TGLayoutHints * fLayoutVmaxHFccMosFrame
Definition: TEcnaGui.h:486
TGLayoutHints * fLayoutVmmLHFccFrame
Definition: TEcnaGui.h:449
void DoButtonVminHFccMos()
Definition: TEcnaGui.cc:3867
void StasHocoVecoAveragedHighFrequencyNoise()
TGLayoutHints * fLayoutVminLHFccBut
Definition: TEcnaGui.h:438
TString fMemoScaleX
Definition: TEcnaGui.h:785
void DoButtonVmaxD_LFN_ChNb()
Definition: TEcnaGui.cc:3755
Int_t fMenuD_TNo_ChNbSameC
Definition: TEcnaGui.h:294
Int_t fMenuCovssLegoC
Definition: TEcnaGui.h:589
TGLayoutHints * fLayoutVmaxD_MCs_ChNbFrame
Definition: TEcnaGui.h:370
TGCompositeFrame * fVminD_Ped_ChNbFrame
Definition: TEcnaGui.h:253
TGLayoutHints * fLayoutVmmD_TNo_ChNbFrame
Definition: TEcnaGui.h:299
void ViewMatrixHighFrequencyMeanCorrelationsBetweenStins(const TString)
Definition: TEcnaGui.cc:5359
Double_t fKeyVmaxD_Ped_ChNb
Definition: TEcnaGui.h:758
void StasHocoVecoAveragedNumberOfEvents()
Double_t fKeyVmaxLFccMos
Definition: TEcnaGui.h:776
TGLayoutHints * fLayoutRulFieldFrame
Definition: TEcnaGui.h:641
Int_t fAnaButC
Definition: TEcnaGui.h:107
Int_t fMenuD_TNo_ChNbSamePC
Definition: TEcnaGui.h:295
TGLayoutHints * fLayoutVmmD_MCs_ChNbFrame
Definition: TEcnaGui.h:389
TGLayoutHints * fLayoutVmaxLFccMosFrame
Definition: TEcnaGui.h:460
Double_t fKeyVmaxD_TNo_ChNb
Definition: TEcnaGui.h:761
TGTextBuffer * fEntryVmaxD_TNo_ChNbNumber
Definition: TEcnaGui.h:277
TGLayoutHints * fLayoutVmaxHFccMosFieldText
Definition: TEcnaGui.h:485
Int_t fMenuAdcProjLineLinySameC
Definition: TEcnaGui.h:627
Int_t fMenuHFCorccLegoC
Definition: TEcnaGui.h:560
Double_t fKeyVminD_TNo_ChNb
Definition: TEcnaGui.h:760
TGLayoutHints * fLayoutVmaxD_NOE_ChNbFrame
Definition: TEcnaGui.h:219
TGLayoutHints * fLayoutMenuBarD_NOE_ChNb
Definition: TEcnaGui.h:231
void ViewHistoSorSPedestalsOfCrystals(const TString)
Definition: TEcnaGui.cc:5920
void ViewHistimeCrystalPedestals(const TString, const Int_t &, const Int_t &, const TString)
Definition: TEcnaGui.cc:6304
void ViewHistimeCrystalTotalNoise(const TString, const Int_t &, const Int_t &, const TString)
Definition: TEcnaGui.cc:6355
TGLayoutHints * fLayoutBottRight
Definition: TEcnaGui.h:81
void DoButtonProjy()
Definition: TEcnaGui.cc:4205
TGTextEntry * fVmaxD_HFN_ChNbText
Definition: TEcnaGui.h:337
void FileParameters(const TString, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &)
Int_t fMenuD_TNo_ChNbAsciiFileC
Definition: TEcnaGui.h:297
TString PathModulesData()
void StexHocoVecoHighFrequencyNoise()
TGTextButton * fVmaxD_MCs_ChNbBut
Definition: TEcnaGui.h:365
void DoButtonVmaxD_MCs_ChNb()
Definition: TEcnaGui.cc:3722
Bool_t StatusFileFound()
TGLayoutHints * fLayoutVminD_NOE_ChNbFieldText
Definition: TEcnaGui.h:226
void DoButtonStex()
Definition: TEcnaGui.cc:3533
TGTextEntry * fVminLFccMosText
Definition: TEcnaGui.h:465
Int_t fMenuCleanPythC
Definition: TEcnaGui.h:152
void StasHocoVecoAveragedSigmaOfCorss()
TGCompositeFrame * fStinSpFrame
Definition: TEcnaGui.h:509
void StexXtalsMeanOfCorss(const TString)
TGLayoutHints * fLayoutStinAField
Definition: TEcnaGui.h:520
TGLayoutHints * fLayoutChNbBut
Definition: TEcnaGui.h:525
Int_t MaxSMInEBMinus()
Int_t fStinAButC
Definition: TEcnaGui.h:516
Int_t fMenuCovssSurf2C
Definition: TEcnaGui.h:590
TGLayoutHints * fLayoutVmaxHFccMosBut
Definition: TEcnaGui.h:482
void DoButtonColPal()
Definition: TEcnaGui.cc:4218
TGLayoutHints * fLayoutVmaxD_HFN_ChNbBut
Definition: TEcnaGui.h:336
TGTextBuffer * fEntryNbSampForCalcNumber
Definition: TEcnaGui.h:193
TGLayoutHints * fLayoutMenuBarD_Ped_ChNb
Definition: TEcnaGui.h:263
TGCompositeFrame * fLinLogFrame
Definition: TEcnaGui.h:656
TGTextEntry * fNbSampForCalcText
Definition: TEcnaGui.h:192
Int_t fButStexNbC
Definition: TEcnaGui.h:186
TGLayoutHints * fLayoutNbSampForCalcFieldText
Definition: TEcnaGui.h:194
TGMenuBar * fMenuBarHFCorcc
Definition: TEcnaGui.h:559
Int_t fMenuD_Ped_ChNbAsciiFileC
Definition: TEcnaGui.h:267
TGPopupMenu * fMenuD_HFN_ChNb
Definition: TEcnaGui.h:350
TGLayoutHints * fLayoutGentBut
Definition: TEcnaGui.h:675
void XtalLowFrequencyNoiseRuns(const TString, const Int_t &, const Int_t &, const TString)
void StexHighFrequencyNoiseXtals(const TString)
TGTextBuffer * fEntryStinBNumber
Definition: TEcnaGui.h:545
Double_t fKeyVmaxLHFcc
Definition: TEcnaGui.h:781
Int_t fMenuCleanJobC
Definition: TEcnaGui.h:152
Double_t fKeyVmaxD_HFN_ChNb
Definition: TEcnaGui.h:770
void StexXtalsTotalNoise(const TString)
void StexMeanOfCorssXtals(const TString)
TGTextBuffer * fEntryAnaNumber
Definition: TEcnaGui.h:110
Int_t fKeyStinBNumber
Definition: TEcnaGui.h:748
Int_t fRunButC
Definition: TEcnaGui.h:123
Int_t fMenuCovssBoxC
Definition: TEcnaGui.h:588
void HighFrequencyCorrelationsBetweenChannels()
Definition: TEcnaRun.cc:2767
Int_t fKeyReqNbOfEvts
Definition: TEcnaGui.h:724
TString fMemoColPal
Definition: TEcnaGui.h:789
Int_t fMenuCovssContzC
Definition: TEcnaGui.h:589
Int_t fMenuH_SCs_DatePolmSameC
Definition: TEcnaGui.h:651
Int_t fButChNbC
Definition: TEcnaGui.h:524
void DoButtonVminD_MCs_ChNb()
Definition: TEcnaGui.cc:3706
TGMenuBar * fMenuBarComput
Definition: TEcnaGui.h:198
Int_t fMenuCorssSurf4C
Definition: TEcnaGui.h:583
void SampleMeans()
Definition: TEcnaRun.cc:1513
TGLayoutHints * fLayoutExitBut
Definition: TEcnaGui.h:692
Bool_t WriteNewRootFile(const TString)
Definition: TEcnaRun.cc:3184
void LowFrequencyNoise()
Definition: TEcnaRun.cc:1846
TEcnaNumbering * fEcalNumbering
Definition: TEcnaGui.h:76
TGTextEntry * fVminD_NOE_ChNbText
Definition: TEcnaGui.h:225
Int_t MaxCrysInStin()
TGLayoutHints * fLayoutGentFieldFrame
Definition: TEcnaGui.h:679
void DoButtonVmaxD_SCs_ChNb()
Definition: TEcnaGui.cc:3819
TGCompositeFrame * fTySubFrame
Definition: TEcnaGui.h:539
Int_t fMenuD_LFN_ChNbSameC
Definition: TEcnaGui.h:324
TGPopupMenu * fMenuCorss
Definition: TEcnaGui.h:579
TGLayoutHints * fLayoutVmaxD_TNo_ChNbBut
Definition: TEcnaGui.h:276
TGPopupMenu * fMenuClean
Definition: TEcnaGui.h:150
void DisplayInEntryField(TGTextEntry *, Int_t &)
Definition: TEcnaGui.cc:6700
TGLayoutHints * fLayoutHelpBut
Definition: TEcnaGui.h:708
TString fConfirmRunNumberString
Definition: TEcnaGui.h:59
TString fMemoScaleY
Definition: TEcnaGui.h:786
void SetHistoScaleY(const TString)
TGTextEntry * fRulText
Definition: TEcnaGui.h:638
TGTextEntry * fNorsText
Definition: TEcnaGui.h:137
void MessageCnaCommandReplyB(const TString)
Definition: TEcnaGui.cc:5308
Int_t fMenuD_MCs_ChNbAsciiFileC
Definition: TEcnaGui.h:387
void MeanOfCorrelationsBetweenSamples()
Definition: TEcnaRun.cc:1980
TGPopupMenu * fMenuAdcProj
Definition: TEcnaGui.h:623
void DoButtonNbSampForCalc()
Definition: TEcnaGui.cc:3406
TGLayoutHints * fLayoutVmmD_SCs_ChNbFrame
Definition: TEcnaGui.h:419
TString PathTestSlc()
Int_t fMenuD_NOE_ChNbSameC
Definition: TEcnaGui.h:233
Int_t fMenuD_Ped_ChNbSameC
Definition: TEcnaGui.h:265
Int_t fMenuCovssAllColzC
Definition: TEcnaGui.h:534
TGLayoutHints * fLayoutVmmHFccMosFrame
Definition: TEcnaGui.h:501
Int_t fMenuD_MCs_ChNbSameC
Definition: TEcnaGui.h:384
Int_t fMenuLFCorccLegoC
Definition: TEcnaGui.h:556
void ViewHistimeCrystalSigmaOfCorssRuns(const TString, const Int_t &, const Int_t &, const TString)
Definition: TEcnaGui.cc:6580
Int_t GetDeeSCConsFrom1DeeSCEcna(const Int_t &, const Int_t &)
TGPopupMenu * fMenuD_SSp_Samp
Definition: TEcnaGui.h:597
void LowFrequencyMeanCorrelationsBetweenStins()
Definition: TEcnaRun.cc:2853
TGLayoutHints * fLayoutMenuBarD_MCs_ChNb
Definition: TEcnaGui.h:382
TGLayoutHints * fLayoutVmaxD_LFN_ChNbBut
Definition: TEcnaGui.h:306
TGLayoutHints * fLayoutVmaxD_TNo_ChNbFrame
Definition: TEcnaGui.h:280
TString fKeyRunListInitCode
Definition: TEcnaGui.h:733
void ViewMatrixCovarianceSamples(const Int_t &, const Int_t &, const TString)
Definition: TEcnaGui.cc:5460
TGLayoutHints * fLayoutRevBut
Definition: TEcnaGui.h:174
TGLayoutHints * fLayoutMenuBarLHFcc
Definition: TEcnaGui.h:446
TGLayoutHints * fLayoutVminD_TNo_ChNbBut
Definition: TEcnaGui.h:284
TGCompositeFrame * fStexFrame
Definition: TEcnaGui.h:163
void DoButtonVminD_TNo_ChNb()
Definition: TEcnaGui.cc:3674
TGLayoutHints * fLayoutStexUpFrame
Definition: TEcnaGui.h:504
Int_t fMenuCovssColzC
Definition: TEcnaGui.h:588
TGTextBuffer * fEntryVminLFccMosNumber
Definition: TEcnaGui.h:466
TGMenuBar * fMenuBarD_TNo_ChNb
Definition: TEcnaGui.h:291
unsigned int UInt_t
Definition: FUTypes.h:12
TGLayoutHints * fLayoutVminHFccMosBut
Definition: TEcnaGui.h:490
Int_t fMenuAdcProjSampLineFullC
Definition: TEcnaGui.h:629
TGCompositeFrame * fVmmLHFccFrame
Definition: TEcnaGui.h:426
void XtalMeanOfCorssRuns(const TString, const Int_t &, const Int_t &, const TString)
TGTextBuffer * fEntryVmaxD_NOE_ChNbNumber
Definition: TEcnaGui.h:216
Int_t fMenuD_MCs_ChNbFullC
Definition: TEcnaGui.h:383
void ViewStexLowFrequencyCorcc()
Definition: TEcnaGui.cc:5776
Int_t fMenuCorssSurf2C
Definition: TEcnaGui.h:583
TGTextButton * fVminHFccMosBut
Definition: TEcnaGui.h:489
TGLayoutHints * fLayoutVmaxD_HFN_ChNbFrame
Definition: TEcnaGui.h:340
void ViewStinCorrelationSamples(const Int_t &)
Definition: TEcnaGui.cc:5494
void SampleADCEvents(const Int_t &, const Int_t &, const Int_t &, const TString)
void StasHocoVecoAveragedMeanOfCorss()
Int_t fMenuD_SCs_ChNbSameC
Definition: TEcnaGui.h:414
TGLayoutHints * fLayoutNorsField
Definition: TEcnaGui.h:139
TGTextEntry * fRunText
Definition: TEcnaGui.h:125
Int_t fMenuD_SSp_SampLineSameC
Definition: TEcnaGui.h:599
TGTextEntry * fStinBText
Definition: TEcnaGui.h:546
void DoButtonStexNb()
Definition: TEcnaGui.cc:3933
TGCompositeFrame * fFevFrame
Definition: TEcnaGui.h:113
void StexSigmaOfCorssXtals(const TString)
void DoButtonLogx()
Definition: TEcnaGui.cc:4184
TGTextEntry * fVminD_SCs_ChNbText
Definition: TEcnaGui.h:405
TString GetNewRootFileNameShort()
Definition: TEcnaRun.cc:3217
Int_t fMenuD_Ped_ChNbHocoVecoC
Definition: TEcnaGui.h:266
TGTextButton * fVminLFccMosBut
Definition: TEcnaGui.h:463
TGLayoutHints * fLayoutColPalBut
Definition: TEcnaGui.h:688
TGMenuBar * fMenuBarAdcProj
Definition: TEcnaGui.h:624
Int_t fCnaCommand
Definition: TEcnaGui.h:55
TGLayoutHints * fLayoutCloneBut
Definition: TEcnaGui.h:700
TGTextButton * fVmaxHFccMosBut
Definition: TEcnaGui.h:481
Double_t fKeyVminD_SCs_ChNb
Definition: TEcnaGui.h:772
TGLayoutHints * fLayoutVminD_NOE_ChNbFrame
Definition: TEcnaGui.h:227
void StinCrystalNumbering(const Int_t &, const Int_t &)
Int_t fButCloneC
Definition: TEcnaGui.h:699
TGTextButton * fChanBut
Definition: TEcnaGui.h:571
TGTextBuffer * fEntryVminD_HFN_ChNbNumber
Definition: TEcnaGui.h:345
void ViewHistoSampleEventDistribution(const Int_t &, const Int_t &, const Int_t &, const TString)
Definition: TEcnaGui.cc:6277
void ViewHistimeCrystalTotalNoiseRuns(const TString, const Int_t &, const Int_t &, const TString)
Definition: TEcnaGui.cc:6380
void CorrelationsBetweenSamples(const Int_t &, const Int_t &, const TString)
Int_t fNorsButC
Definition: TEcnaGui.h:135
TGTextBuffer * fEntryRulNumber
Definition: TEcnaGui.h:639
TGTextBuffer * fEntryVmaxLFccMosNumber
Definition: TEcnaGui.h:458
void ViewHistoSorSNumberOfEventsDistribution(const TString)
Definition: TEcnaGui.cc:5895
void AveragedHighFrequencyNoise()
Definition: TEcnaRun.cc:2289
void DoButtonVmaxD_Ped_ChNb()
Definition: TEcnaGui.cc:3658
Int_t fCdeleteRoot
Definition: TEcnaGui.h:51
UInt_t fCnaH
Definition: TEcnaGui.h:65
void ViewHistoSorSNumberOfEventsOfCrystals(const TString)
Definition: TEcnaGui.cc:5871
TGTextButton * fVmaxD_TNo_ChNbBut
Definition: TEcnaGui.h:275
TGLayoutHints * fLayoutVminD_HFN_ChNbFieldText
Definition: TEcnaGui.h:347
TGPopupMenu * fMenuD_Ped_ChNb
Definition: TEcnaGui.h:261
TGTextEntry * fFevText
Definition: TEcnaGui.h:116
Int_t fMenuSubmit8nmC
Definition: TEcnaGui.h:157
Int_t MaxStexInStas()
TGTextButton * fButStexNb
Definition: TEcnaGui.h:185
TGTextBuffer * fEntryVminD_NOE_ChNbNumber
Definition: TEcnaGui.h:224
void ViewMatrixLowFrequencyCorrelationsBetweenChannels(const Int_t &, const Int_t &, const TString)
Definition: TEcnaGui.cc:5382
Int_t fStinBButC
Definition: TEcnaGui.h:543
TGCompositeFrame * fSpSubFrame
Definition: TEcnaGui.h:604
TString fKeyNbOfSampForCalcString
Definition: TEcnaGui.h:730
TGTextEntry * fChanText
Definition: TEcnaGui.h:575
Int_t fMenuD_HFN_ChNbHocoVecoC
Definition: TEcnaGui.h:356
Int_t fKeyLastReqEvtNumber
Definition: TEcnaGui.h:722
TGLayoutHints * fLayoutChSubFrame
Definition: TEcnaGui.h:601
void StexTotalNoiseXtals(const TString)
TGTextEntry * fVmaxHFccMosText
Definition: TEcnaGui.h:483
TGLayoutHints * fLayoutAnaNorsRunFrame
Definition: TEcnaGui.h:103
Int_t fMenuH_LFN_DatePolmFullC
Definition: TEcnaGui.h:648
TGLayoutHints * fLayoutCenterYLeft
Definition: TEcnaGui.h:83
void ViewHistimeCrystalPedestalsRuns(const TString, const Int_t &, const Int_t &, const TString)
Definition: TEcnaGui.cc:6329
void DoButtonVminLFccMos()
Definition: TEcnaGui.cc:3835
TString fKeyRunNumberString
Definition: TEcnaGui.h:719
TGCompositeFrame * fSampFrame
Definition: TEcnaGui.h:606
Int_t fButLogxC
Definition: TEcnaGui.h:660
UInt_t fCnaW
Definition: TEcnaGui.h:65
Int_t fMenuComputSttC
Definition: TEcnaGui.h:199
TGCompositeFrame * fVmaxHFccMosFrame
Definition: TEcnaGui.h:480
void SetHistoMin(const Double_t &)
TGTextButton * fButHelp
Definition: TEcnaGui.h:706
TGLayoutHints * fLayoutVminD_MCs_ChNbFieldText
Definition: TEcnaGui.h:377
void DoButtonLev()
Definition: TEcnaGui.cc:3472
void DoButtonRul()
Definition: TEcnaGui.cc:4122
TGCompositeFrame * fVmaxLHFccFrame
Definition: TEcnaGui.h:428
void ViewHistoCrystalSampleMeans(const Int_t &, const Int_t &, const TString)
Definition: TEcnaGui.cc:6199
Double_t fKeyVminLHFcc
Definition: TEcnaGui.h:780
Int_t MaxSCForConsInDee()
TGTextBuffer * fEntryVminLHFccNumber
Definition: TEcnaGui.h:439
TGLayoutHints * fLayoutVmmLFccMosFrame
Definition: TEcnaGui.h:475
TGCompositeFrame * fVminD_NOE_ChNbFrame
Definition: TEcnaGui.h:221
TGCompositeFrame * fFevLevStexFrame
Definition: TEcnaGui.h:130
TGLayoutHints * fLayoutVmaxLHFccBut
Definition: TEcnaGui.h:430
void SampleSigmas()
Definition: TEcnaRun.cc:1563
Int_t fMenuCovssSurf3C
Definition: TEcnaGui.h:590
TGLayoutHints * fLayoutTopLeft
Definition: TEcnaGui.h:82
void ViewHistoSorSTotalNoiseDistribution(const TString)
Definition: TEcnaGui.cc:5989
TGCompositeFrame * fVminLFccMosFrame
Definition: TEcnaGui.h:462
Int_t fMenuD_MCs_ChNbHocoVecoC
Definition: TEcnaGui.h:386
Int_t fMenuAdcProjLineLinyFullC
Definition: TEcnaGui.h:626
Int_t fMenuH_HFN_DatePolmSamePC
Definition: TEcnaGui.h:649
TGLayoutHints * fLayoutBottLeft
Definition: TEcnaGui.h:81
TGLayoutHints * fLayoutStinBBut
Definition: TEcnaGui.h:544
TGMenuBar * fMenuBarD_NOE_ChNb
Definition: TEcnaGui.h:230
TGLayoutHints * fLayoutVminD_NOE_ChNbBut
Definition: TEcnaGui.h:223
TGLayoutHints * fLayoutVmaxD_HFN_ChNbFieldText
Definition: TEcnaGui.h:339
Double_t fKeyVminD_NOE_ChNb
Definition: TEcnaGui.h:754
Int_t fMenuH_MCs_DatePolmSameC
Definition: TEcnaGui.h:650
TGCompositeFrame * fVminD_TNo_ChNbFrame
Definition: TEcnaGui.h:282
TGCompositeFrame * fCompStRqFrame
Definition: TEcnaGui.h:160
Int_t fMenuD_LFN_ChNbSamePC
Definition: TEcnaGui.h:325
TString fKeyLastReqEvtNumberString
Definition: TEcnaGui.h:723
TGCompositeFrame * fChSubFrame
Definition: TEcnaGui.h:568
TGCompositeFrame * fVminHFccMosFrame
Definition: TEcnaGui.h:488
TGLayoutHints * fLayoutRulFieldText
Definition: TEcnaGui.h:640
TGCompositeFrame * fLastFrame
Definition: TEcnaGui.h:695
void ViewSorSHighFrequencyNoise()
Definition: TEcnaGui.cc:5710
void ViewHistoSorSMeanOfCorssOfCrystals(const TString)
Definition: TEcnaGui.cc:6012
TGTextEntry * fVmaxLFccMosText
Definition: TEcnaGui.h:457
void HighFrequencyNoise()
Definition: TEcnaRun.cc:1911
Int_t fMenuCorssAllColzC
Definition: TEcnaGui.h:530
TGTextButton * fVminD_HFN_ChNbBut
Definition: TEcnaGui.h:343
TGCompositeFrame * fCompStnbFrame
Definition: TEcnaGui.h:181
TString AsciiFileName()
void ViewHistoSorSMeanOfCorssDistribution(const TString)
Definition: TEcnaGui.cc:6035
TGLayoutHints * fLayoutLogxBut
Definition: TEcnaGui.h:661
Int_t MaxSampADC()
TGCompositeFrame * fVmaxD_SCs_ChNbFrame
Definition: TEcnaGui.h:394
Int_t fMenuD_NOE_ChNbAsciiFileC
Definition: TEcnaGui.h:235
void HighFrequencyMeanCorrelationsBetweenStins(const TString)
void ViewSorSSigmaOfCorss()
Definition: TEcnaGui.cc:5743
Double_t fKeyVminD_LFN_ChNb
Definition: TEcnaGui.h:766
TGCompositeFrame * fLevFrame
Definition: TEcnaGui.h:142
TGTextButton * fSampBut
Definition: TEcnaGui.h:607
Int_t fKeySampNumber
Definition: TEcnaGui.h:750
Int_t MaxDeeInEE()
void ViewHistoSorSHighFrequencyNoiseDistribution(const TString)
Definition: TEcnaGui.cc:6129
TGCompositeFrame * fVmaxLFccMosFrame
Definition: TEcnaGui.h:454
TGLayoutHints * fLayoutVmaxD_SCs_ChNbFieldText
Definition: TEcnaGui.h:399
void ViewSorSMeanOfCorss()
Definition: TEcnaGui.cc:5644
TGLayoutHints * fLayoutLevFieldFrame
Definition: TEcnaGui.h:148
TGLayoutHints * fLayoutVminLFccMosFrame
Definition: TEcnaGui.h:468
void ViewStexHighFrequencyCorcc()
Definition: TEcnaGui.cc:5797
TString fKeyNbOfSamplesString
Definition: TEcnaGui.h:717
Int_t MaxSMInEB()
void Pedestals()
Definition: TEcnaRun.cc:1758
TString fKeyFirstReqEvtNumberString
Definition: TEcnaGui.h:721
TGTextBuffer * fEntryVmaxD_HFN_ChNbNumber
Definition: TEcnaGui.h:338
TGTextButton * fVmaxD_LFN_ChNbBut
Definition: TEcnaGui.h:305
TEcnaParHistos * fCnaParHistos
Definition: TEcnaGui.h:72
void ViewHistoCrystalSigmasOfSamples(const Int_t &, const Int_t &, const TString)
Definition: TEcnaGui.cc:6224
Int_t fMenuD_SCs_ChNbAsciiFileC
Definition: TEcnaGui.h:417
void ViewHistimeCrystalMeanOfCorssRuns(const TString, const Int_t &, const Int_t &, const TString)
Definition: TEcnaGui.cc:6530
TGLayoutHints * fLayoutFevLevStexFrame
Definition: TEcnaGui.h:131
Int_t fMenuHFccMosLegoC
Definition: TEcnaGui.h:499
TGLayoutHints * fLayoutNbSampForCalcBut
Definition: TEcnaGui.h:191
Double_t fKeyVminD_Ped_ChNb
Definition: TEcnaGui.h:757
TGMenuBar * fMenuBarD_SSp_Samp
Definition: TEcnaGui.h:598
Int_t fMenuSubmit1ndC
Definition: TEcnaGui.h:157
TGMenuBar * fMenuBarD_MSp_Samp
Definition: TEcnaGui.h:594
void SubmitOnBatchSystem(const TString)
Definition: TEcnaGui.cc:4696
void LowFrequencyCorrelationsBetweenChannels()
Definition: TEcnaRun.cc:2579
TGLayoutHints * fLayoutVmaxD_NOE_ChNbBut
Definition: TEcnaGui.h:215
TGCompositeFrame * fVmaxD_MCs_ChNbFrame
Definition: TEcnaGui.h:364
void SetHistoMax(const Double_t &)
TGLayoutHints * fLayoutVminD_LFN_ChNbFieldText
Definition: TEcnaGui.h:317
TGLayoutHints * fLayoutVminD_LFN_ChNbBut
Definition: TEcnaGui.h:314
tuple cout
Definition: gather_cfg.py:41
Int_t MaxStinEcnaInStex()
Double_t fKeyVmaxD_LFN_ChNb
Definition: TEcnaGui.h:767
TString fKeyStexNumberString
Definition: TEcnaGui.h:728
void StexHocoVecoPedestals()
Int_t fMenuD_HFN_ChNbAsciiFileC
Definition: TEcnaGui.h:357
TGLayoutHints * fLayoutVminD_MCs_ChNbBut
Definition: TEcnaGui.h:374
TGTextBuffer * fEntryVmaxD_Ped_ChNbNumber
Definition: TEcnaGui.h:249
void CorrelationsBetweenSamples()
Definition: TEcnaRun.cc:1688
TGPopupMenu * fMenuHFCorcc
Definition: TEcnaGui.h:558
TGTextButton * fButChNb
Definition: TEcnaGui.h:523
Int_t fMenuSubmit1nhC
Definition: TEcnaGui.h:157
TGTextEntry * fVminD_MCs_ChNbText
Definition: TEcnaGui.h:376
TGLayoutHints * fLayoutVmaxD_LFN_ChNbFrame
Definition: TEcnaGui.h:310
void AveragedTotalNoise()
Definition: TEcnaRun.cc:2169
TGMenuBar * fMenuBarCovssAll
Definition: TEcnaGui.h:533
void DoButtonRev()
Definition: TEcnaGui.cc:3496
TGCheckButton * fButLogy
Definition: TEcnaGui.h:663
Int_t fConfirmSubmit
Definition: TEcnaGui.h:57
TGCompositeFrame * fVmmD_LFN_ChNbFrame
Definition: TEcnaGui.h:302
Int_t fMenuH_MCs_DatePolmFullC
Definition: TEcnaGui.h:650
TGTextBuffer * fEntryVminHFccMosNumber
Definition: TEcnaGui.h:492
Int_t fMenuD_LFN_ChNbAsciiFileC
Definition: TEcnaGui.h:327
Int_t fKeyNbOfSampForCalc
Definition: TEcnaGui.h:729
TGCompositeFrame * fVmmD_TNo_ChNbFrame
Definition: TEcnaGui.h:272
TGLayoutHints * fLayoutVmaxD_SCs_ChNbBut
Definition: TEcnaGui.h:396
TGCompositeFrame * fVmmD_MCs_ChNbFrame
Definition: TEcnaGui.h:362
void DoButtonVmaxD_HFN_ChNb()
Definition: TEcnaGui.cc:3787
Int_t fKeyFirstReqEvtNumber
Definition: TEcnaGui.h:720
Int_t fMenuH_HFN_DatePolmFullC
Definition: TEcnaGui.h:649
Int_t fMenuH_TNo_DatePolmSamePC
Definition: TEcnaGui.h:647
TGMenuBar * fMenuBarCovss
Definition: TEcnaGui.h:587
void HighFrequencyCorrelationsBetweenChannels(const Int_t &, const Int_t &, const TString)
TGTextButton * fStexBut
Definition: TEcnaGui.h:164
void ViewHistoSorSTotalNoiseOfCrystals(const TString)
Definition: TEcnaGui.cc:5966
void XtalTotalNoiseRuns(const TString, const Int_t &, const Int_t &, const TString)
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
void AveragedSigmaOfCorrelationsBetweenSamples()
Definition: TEcnaRun.cc:2409
void CleanBatchFiles(const TString)
Definition: TEcnaGui.cc:4944
TGLayoutHints * fLayoutMenuBarAdcProj
Definition: TEcnaGui.h:625
void XtalSamplesSigma(const Int_t &, const Int_t &, const TString)
TGCompositeFrame * fVmmD_HFN_ChNbFrame
Definition: TEcnaGui.h:332
Int_t fMenuH_TNo_DatePolmSameC
Definition: TEcnaGui.h:647
TGCompositeFrame * fVmmD_SCs_ChNbFrame
Definition: TEcnaGui.h:392
TGLayoutHints * fLayoutVmmD_Ped_ChNbFrame
Definition: TEcnaGui.h:269
void AveragedPedestals()
Definition: TEcnaRun.cc:2108
void ViewHistimeCrystalSigmaOfCorss(const TString, const Int_t &, const Int_t &, const TString)
Definition: TEcnaGui.cc:6555
Int_t fMenuH_MCs_DatePolmSamePC
Definition: TEcnaGui.h:650
Int_t fKeyRunNumber
Definition: TEcnaGui.h:718
TGPopupMenu * fMenuLHFcc
Definition: TEcnaGui.h:444
TGTextEntry * fGentText
Definition: TEcnaGui.h:676
TGMenuBar * fMenuBarD_Ped_ChNb
Definition: TEcnaGui.h:262
Int_t fMenuComputStdC
Definition: TEcnaGui.h:199
Double_t fKeyVmaxHFccMos
Definition: TEcnaGui.h:778
TGLayoutHints * fLayoutVmmD_LFN_ChNbFrame
Definition: TEcnaGui.h:329
TGLayoutHints * fLayoutMenuBarHFccMos
Definition: TEcnaGui.h:498
TGTextButton * fVmaxD_NOE_ChNbBut
Definition: TEcnaGui.h:214
void ViewHistimeCrystalHighFrequencyNoiseRuns(const TString, const Int_t &, const Int_t &, const TString)
Definition: TEcnaGui.cc:6480
TGLayoutHints * fLayoutAnaField
Definition: TEcnaGui.h:111
void DoButtonVminD_LFN_ChNb()
Definition: TEcnaGui.cc:3739
TGMenuBar * fMenuBarHistory
Definition: TEcnaGui.h:645
TGTextButton * fVmaxD_SCs_ChNbBut
Definition: TEcnaGui.h:395
Int_t fButExitC
Definition: TEcnaGui.h:691
Int_t fMenuComputSccC
Definition: TEcnaGui.h:199
Int_t fMenuD_MCs_ChNbSamePC
Definition: TEcnaGui.h:385
TGTextButton * fButExit
Definition: TEcnaGui.h:690
TGCompositeFrame * fRunFrame
Definition: TEcnaGui.h:121
TEcnaParCout * fCnaParCout
Definition: TEcnaGui.h:74
void DoButtonNors()
Definition: TEcnaGui.cc:3363
TGTextBuffer * fEntryVminD_MCs_ChNbNumber
Definition: TEcnaGui.h:375
TGMenuBar * fMenuBarLFccMos
Definition: TEcnaGui.h:471
Int_t fMenuLFccMosLegoC
Definition: TEcnaGui.h:473
Int_t fMenuD_TNo_ChNbFullC
Definition: TEcnaGui.h:293
TGPopupMenu * fMenuD_MCs_ChNb
Definition: TEcnaGui.h:380
Int_t fKeyStexNumber
Definition: TEcnaGui.h:727
TGTextEntry * fVmaxLHFccText
Definition: TEcnaGui.h:431
TString fStexName
Definition: TEcnaGui.h:67
Int_t fMenuD_SSp_SampLineFullC
Definition: TEcnaGui.h:599
Int_t fKeyChanNumber
Definition: TEcnaGui.h:749
void XtalSampleValues(const Int_t &, const Int_t &, const Int_t &, const TString)
TString fKeyReqNbOfEvtsString
Definition: TEcnaGui.h:725
Double_t fKeyVminD_HFN_ChNb
Definition: TEcnaGui.h:769
Int_t fMenuD_Ped_ChNbFullC
Definition: TEcnaGui.h:264
Bool_t StatusDataExist()
TGMenuBar * fMenuBarD_HFN_ChNb
Definition: TEcnaGui.h:351
TString fKeyAnaType
Definition: TEcnaGui.h:714
TGMenuBar * fMenuBarLHFcc
Definition: TEcnaGui.h:445
void ViewSorSNumberOfEvents()
Definition: TEcnaGui.cc:5543
void ViewStinCrystalNumbering(const Int_t &)
Definition: TEcnaGui.cc:5822
void PlotCloneOfCurrentCanvas()
TGTextEntry * fVminLHFccText
Definition: TEcnaGui.h:440
void XtalTimeLowFrequencyNoise(const TString, const Int_t &, const Int_t &, const TString)
TGTextEntry * fVmaxD_LFN_ChNbText
Definition: TEcnaGui.h:307
void XtalTimeSigmaOfCorss(const TString, const Int_t &, const Int_t &, const TString)
TGLayoutHints * fLayoutLevBut
Definition: TEcnaGui.h:144
TGTextBuffer * fEntryFevNumber
Definition: TEcnaGui.h:117
Int_t fMenuD_HFN_ChNbSameC
Definition: TEcnaGui.h:354
void ViewHistoSorSPedestalsDistribution(const TString)
Definition: TEcnaGui.cc:5943
TGTextBuffer * fEntryVminD_SCs_ChNbNumber
Definition: TEcnaGui.h:406