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: 13/04/2011
4 
6 #include <cstdlib>
7 using namespace std;
8 
9 //--------------------------------------
10 // TEcnaGui.cc
11 // Class creation: 03 Dec 2002
12 // Documentation: see TEcnaGui.h
13 //--------------------------------------
14 
15 ClassImp(TEcnaGui)
16 //______________________________________________________________________________
17 //
18 
20 {
21  //destructor
22 
23 #define DEST
24 #ifdef DEST
25  // cout << "TEcnaGui> Entering destructor" << endl;
26  // cout << " fCnew = " << fCnew << ", fCdelete = " << fCdelete << endl;
27 
28  //.... general variables
29  //if ( fHistos != 0 ) {delete fHistos; fCdelete++;}
30 
31  //if ( fCnaParHistos != 0 ) {delete fCnaParHistos; fCdelete++;}
32  //if ( fCnaParPaths != 0 ) {delete fCnaParPaths; fCdelete++;}
33  //if ( fEcalNumbering != 0 ) {delete fEcalNumbering; fCdelete++;}
34  //if ( fEcal != 0 ) {delete fEcal; fCdelete++;}
35 
36  //.... general frames
37 
38  if ( fLayoutGeneral != 0 ) {delete fLayoutGeneral; fCdelete++;}
39  if ( fLayoutBottLeft != 0 ) {delete fLayoutBottLeft; fCdelete++;}
40  if ( fLayoutBottRight != 0 ) {delete fLayoutBottRight; fCdelete++;}
41  if ( fLayoutTopLeft != 0 ) {delete fLayoutTopLeft; fCdelete++;}
42  if ( fLayoutTopRight != 0 ) {delete fLayoutTopRight; fCdelete++;}
43  if ( fLayoutCenterYLeft != 0 ) {delete fLayoutCenterYLeft; fCdelete++;}
44  if ( fLayoutCenterYRight != 0 ) {delete fLayoutCenterYRight; fCdelete++;}
45  if ( fLayoutCenterXTop != 0 ) {delete fLayoutCenterXTop; fCdelete++;}
46 
47  if ( fVoidFrame != 0 ) {delete fVoidFrame; fCdelete++;}
48 
49  //..... specific frames + buttons + menus
50 
51  //++++++++++++++++++++++++++++++ Horizontal frame Analysis + First requested evt number + Run number
52  if ( fAnaNorsRunFrame != 0 ) {delete fAnaNorsRunFrame; fCdelete++;}
53  if ( fLayoutAnaNorsRunFrame != 0 ) {delete fLayoutAnaNorsRunFrame; fCdelete++;}
54 
55  //--------------------------------- Sub-Frame Analysis Name (Button+Entry Field)
56  if ( fAnaFrame != 0 ) {delete fAnaFrame; fCdelete++;}
57  if ( fAnaBut != 0 ) {delete fAnaBut; fCdelete++;}
58  if ( fLayoutAnaBut != 0 ) {delete fLayoutAnaBut; fCdelete++;}
59  if ( fEntryAnaNumber != 0 ) {delete fEntryAnaNumber; fCdelete++;}
60  if ( fAnaText != 0 ) {fAnaText->Delete(); fCdelete++;}
61  if ( fLayoutAnaField != 0 ) {delete fLayoutAnaField; fCdelete++;}
62 
63  //------------------- subframe first requested evt number
64  if ( fFevFrame != 0 ) {delete fFevFrame; fCdelete++;}
65  if ( fFevBut != 0 ) {delete fFevBut; fCdelete++;}
66  if ( fLayoutFevBut != 0 ) {delete fLayoutFevBut; fCdelete++;}
67  if ( fEntryFevNumber != 0 ) {delete fEntryFevNumber; fCdelete++;}
68  if ( fFevText != 0 ) {fFevText->Delete(); fCdelete++;}
69  if ( fLayoutFevFieldText != 0 ) {delete fLayoutFevFieldText; fCdelete++;}
70  if ( fLayoutFevFieldFrame != 0 ) {delete fLayoutFevFieldFrame; fCdelete++;}
71 
72  //-------------------------------- Sub-Frame Run number (Button+Entry Field)
73  if ( fRunFrame != 0 ) {delete fRunFrame; fCdelete++;}
74  if ( fRunBut != 0 ) {delete fRunBut; fCdelete++;}
75  if ( fLayoutRunBut != 0 ) {delete fLayoutRunBut; fCdelete++;}
76  if ( fEntryRunNumber != 0 ) {delete fEntryRunNumber; fCdelete++;}
77  if ( fRunText != 0 ) {fRunText->Delete(); fCdelete++;}
78  if ( fLayoutRunField != 0 ) {delete fLayoutRunField; fCdelete++;}
79 
80  //+++++++++++++++++++++++++++++ Horizontal frame Nb Of Samples + last requested events + Clean + Submit
81  if ( fFevLevStexFrame != 0 ) {delete fFevLevStexFrame; fCdelete++;}
82  if ( fLayoutFevLevStexFrame != 0 ) {delete fLayoutFevLevStexFrame; fCdelete++;}
83 
84  //------------------- Sub-Frame Nb of Required Samples (Button+Entry Field)
85  if ( fNorsFrame != 0 ) {delete fNorsFrame; fCdelete++;}
86  if ( fNorsBut != 0 ) {delete fNorsBut; fCdelete++;}
87  if ( fLayoutNorsBut != 0 ) {delete fLayoutNorsBut; fCdelete++;}
88  if ( fEntryNorsNumber != 0 ) {delete fEntryNorsNumber; fCdelete++;}
89  if ( fNorsText != 0 ) {fNorsText->Delete(); fCdelete++;}
90  if ( fLayoutNorsField != 0 ) {delete fLayoutNorsField; fCdelete++;}
91 
92  //------------------- subframe last requested evt number
93  if ( fLevFrame != 0 ) {delete fLevFrame; fCdelete++;}
94  if ( fLevBut != 0 ) {delete fLevBut; fCdelete++;}
95  if ( fLayoutLevBut != 0 ) {delete fLayoutLevBut; fCdelete++;}
96  if ( fEntryLevNumber != 0 ) {delete fEntryLevNumber; fCdelete++;}
97  if ( fLevText != 0 ) {fLevText->Delete(); fCdelete++;}
98  if ( fLayoutLevFieldText != 0 ) {delete fLayoutLevFieldText; fCdelete++;}
99  if ( fLayoutLevFieldFrame != 0 ) {delete fLayoutLevFieldFrame; fCdelete++;}
100 
101  //................................ Menu for Clean
102  if ( fMenuClean != 0 ) {delete fMenuClean; fCdelete++;}
103  if ( fMenuBarClean != 0 ) {fMenuBarClean->Delete(); fCdelete++;}
104  //................................ Menu for Submit jobs on batch system
105  if ( fMenuSubmit != 0 ) {delete fMenuSubmit; fCdelete++;}
106  if ( fMenuBarSubmit != 0 ) {fMenuBarSubmit->Delete(); fCdelete++;}
107 
108  //+++++++++++++++++++++++++++++++++++++++++++++++++ Horizontal Frame:Stex number + NbOfReqEvts
109  if ( fCompStRqFrame != 0 ) {delete fCompStRqFrame; fCdelete++;}
110  if ( fLayoutCompStRqFrame != 0 ) {delete fLayoutCompStRqFrame; fCdelete++;}
111 
112  //------------------- subframe stex number
113  if ( fStexFrame != 0 ) {delete fStexFrame; fCdelete++;}
114  if ( fStexBut != 0 ) {delete fStexBut; fCdelete++;}
115  if ( fLayoutStexBut != 0 ) {delete fLayoutStexBut; fCdelete++;}
116  if ( fEntryStexNumber != 0 ) {delete fEntryStexNumber; fCdelete++;}
117  if ( fStexText != 0 ) {fStexText->Delete(); fCdelete++;}
118  if ( fLayoutStexFieldText != 0 ) {delete fLayoutStexFieldText; fCdelete++;}
119  if ( fLayoutStexFieldFrame != 0 ) {delete fLayoutStexFieldFrame; fCdelete++;}
120 
121  //------------------- subframe number of requested evts
122  if ( fRevFrame != 0 ) {delete fRevFrame; fCdelete++;}
123  if ( fRevBut != 0 ) {delete fRevBut; fCdelete++;}
124  if ( fLayoutRevBut != 0 ) {delete fLayoutRevBut; fCdelete++;}
125  if ( fEntryRevNumber != 0 ) {delete fEntryRevNumber; fCdelete++;}
126  if ( fRevText != 0 ) {fRevText->Delete(); fCdelete++;}
127  if ( fLayoutRevFieldText != 0 ) {delete fLayoutRevFieldText; fCdelete++;}
128  if ( fLayoutRevFieldFrame != 0 ) {delete fLayoutRevFieldFrame; fCdelete++;}
129 
130  //+++++++++++++++++++++++ Horizontal Frame StexStin numbering + Nb Samp for calc + Calculations
131  if ( fCompStnbFrame != 0 ) {delete fCompStnbFrame; fCdelete++;}
132  if ( fLayoutCompStnbFrame != 0 ) {delete fLayoutCompStnbFrame; fCdelete++;}
133 
134  //............................ Stex Stin Numbering view (Button)
135  if ( fButStexNb != 0 ) {delete fButStexNb; fCdelete++;}
136  if ( fLayoutStexNbBut != 0 ) {delete fLayoutStexNbBut; fCdelete++;}
137  //------------------- subframe NbSampForCalc
138  if ( fNbSampForCalcFrame != 0 ) {delete fNbSampForCalcFrame; fCdelete++;}
139  if ( fNbSampForCalcBut != 0 ) {delete fNbSampForCalcBut; fCdelete++;}
140  if ( fLayoutNbSampForCalcBut != 0 ) {delete fLayoutNbSampForCalcBut; fCdelete++;}
141  if ( fEntryNbSampForCalcNumber != 0 ) {delete fEntryNbSampForCalcNumber; fCdelete++;}
142  if ( fNbSampForCalcText != 0 ) {fNbSampForCalcText->Delete(); fCdelete++;}
143  if ( fLayoutNbSampForCalcFieldText != 0 ) {delete fLayoutNbSampForCalcFieldText; fCdelete++;}
144  if ( fLayoutNbSampForCalcFieldFrame != 0 ) {delete fLayoutNbSampForCalcFieldFrame; fCdelete++;}
145  //................................ Menus for CALCULATIONS
146  if ( fMenuComput != 0 ) {delete fMenuComput; fCdelete++;}
147  if ( fMenuBarComput != 0 ) {fMenuBarComput->Delete(); fCdelete++;}
148 
149  //+++++++++++++++++++++++++++++++++++++++++++ Frame for quantities relative to the Stex
150  if ( fStexUpFrame != 0 ) {delete fStexUpFrame; fCdelete++;}
151 
152  //................................ Menus+Ymin+Ymax for the Stex ............................
153 
154  //...................................... Nb of evts in the data
155 
156  if ( fVmmD_NOE_ChNbFrame != 0 ) {delete fVmmD_NOE_ChNbFrame; fCdelete++;}
157 
158  if ( fVmaxD_NOE_ChNbFrame != 0 ) {delete fVmaxD_NOE_ChNbFrame; fCdelete++;}
159  if ( fVmaxD_NOE_ChNbBut != 0 ) {delete fVmaxD_NOE_ChNbBut; fCdelete++;}
160  if ( fLayoutVmaxD_NOE_ChNbBut != 0 ) {delete fLayoutVmaxD_NOE_ChNbBut; fCdelete++;}
161  if ( fEntryVmaxD_NOE_ChNbNumber != 0 ) {delete fEntryVmaxD_NOE_ChNbNumber; fCdelete++;}
162  if ( fVmaxD_NOE_ChNbText != 0 ) {fVmaxD_NOE_ChNbText->Delete(); fCdelete++;}
163  if ( fLayoutVmaxD_NOE_ChNbFieldText != 0 ) {delete fLayoutVmaxD_NOE_ChNbFieldText; fCdelete++;}
164  if ( fLayoutVmaxD_NOE_ChNbFrame != 0 ) {delete fLayoutVmaxD_NOE_ChNbFrame; fCdelete++;}
165 
166  if ( fVminD_NOE_ChNbFrame != 0 ) {delete fVminD_NOE_ChNbFrame; fCdelete++;}
167  if ( fVminD_NOE_ChNbBut != 0 ) {delete fVminD_NOE_ChNbBut; fCdelete++;}
168  if ( fLayoutVminD_NOE_ChNbBut != 0 ) {delete fLayoutVminD_NOE_ChNbBut; fCdelete++;}
169  if ( fEntryVminD_NOE_ChNbNumber != 0 ) {delete fEntryVminD_NOE_ChNbNumber; fCdelete++;}
170  if ( fVminD_NOE_ChNbText != 0 ) {fVminD_NOE_ChNbText->Delete(); fCdelete++;}
171  if ( fLayoutVminD_NOE_ChNbFieldText != 0 ) {delete fLayoutVminD_NOE_ChNbFieldText; fCdelete++;}
172  if ( fLayoutVminD_NOE_ChNbFrame != 0 ) {delete fLayoutVminD_NOE_ChNbFrame; fCdelete++;}
173 
174  if ( fMenuD_NOE_ChNb != 0 ) {delete fMenuD_NOE_ChNb; fCdelete++;}
175  if ( fMenuBarD_NOE_ChNb != 0 ) {fMenuBarD_NOE_ChNb->Delete(); fCdelete++;}
176  if ( fVminD_NOE_ChNbText != 0 ) {fVminD_NOE_ChNbText->Delete(); fCdelete++;}
177 
178  if ( fLayoutVmmD_NOE_ChNbFrame != 0 ) {delete fLayoutVmmD_NOE_ChNbFrame; fCdelete++;}
179 
180  //---------------------------------------------------
181  if ( fVmmD_Ped_ChNbFrame != 0 ) {delete fVmmD_Ped_ChNbFrame; fCdelete++;}
182 
183  if ( fVmaxD_Ped_ChNbFrame != 0 ) {delete fVmaxD_Ped_ChNbFrame; fCdelete++;}
184  if ( fVmaxD_Ped_ChNbBut != 0 ) {delete fVmaxD_Ped_ChNbBut; fCdelete++;}
185  if ( fLayoutVmaxD_Ped_ChNbBut != 0 ) {delete fLayoutVmaxD_Ped_ChNbBut; fCdelete++;}
186  if ( fVmaxD_Ped_ChNbText != 0 ) {fVmaxD_Ped_ChNbText->Delete(); fCdelete++;}
187  if ( fEntryVmaxD_Ped_ChNbNumber != 0 ) {delete fEntryVmaxD_Ped_ChNbNumber; fCdelete++;}
188  if ( fLayoutVmaxD_Ped_ChNbFieldText != 0 ) {delete fLayoutVmaxD_Ped_ChNbFieldText; fCdelete++;}
189  if ( fLayoutVmaxD_Ped_ChNbFrame != 0 ) {delete fLayoutVmaxD_Ped_ChNbFrame; fCdelete++;}
190 
191  if ( fVminD_Ped_ChNbFrame != 0 ) {delete fVminD_Ped_ChNbFrame; fCdelete++;}
192  if ( fVminD_Ped_ChNbBut != 0 ) {delete fVminD_Ped_ChNbBut; fCdelete++;}
193  if ( fLayoutVminD_Ped_ChNbBut != 0 ) {delete fLayoutVminD_Ped_ChNbBut; fCdelete++;}
194  if ( fVminD_Ped_ChNbText != 0 ) {fVminD_Ped_ChNbText->Delete(); fCdelete++;}
195  if ( fEntryVminD_Ped_ChNbNumber != 0 ) {delete fEntryVminD_Ped_ChNbNumber; fCdelete++;}
196  if ( fLayoutVminD_Ped_ChNbFieldText != 0 ) {delete fLayoutVminD_Ped_ChNbFieldText; fCdelete++;}
197  if ( fLayoutVminD_Ped_ChNbFrame != 0 ) {delete fLayoutVminD_Ped_ChNbFrame; fCdelete++;}
198 
199  if ( fMenuD_Ped_ChNb != 0 ) {delete fMenuD_Ped_ChNb; fCdelete++;}
200  if ( fMenuBarD_Ped_ChNb != 0 ) {fMenuBarD_Ped_ChNb->Delete(); fCdelete++;}
201  if ( fLayoutMenuBarD_Ped_ChNb != 0 ) {delete fLayoutMenuBarD_Ped_ChNb; fCdelete++;}
202 
203  if ( fLayoutVmmD_Ped_ChNbFrame != 0 ) {delete fLayoutVmmD_Ped_ChNbFrame; fCdelete++;}
204 
205  //----------------------------------------------------
206  if ( fVmmD_TNo_ChNbFrame != 0 ) {delete fVmmD_TNo_ChNbFrame; fCdelete++;}
207 
208  if ( fVmaxD_TNo_ChNbFrame != 0 ) {delete fVmaxD_TNo_ChNbFrame; fCdelete++;}
209  if ( fVmaxD_TNo_ChNbBut != 0 ) {delete fVmaxD_TNo_ChNbBut; fCdelete++;}
210  if ( fLayoutVmaxD_TNo_ChNbBut != 0 ) {delete fLayoutVmaxD_TNo_ChNbBut; fCdelete++;}
211  if ( fVmaxD_TNo_ChNbText != 0 ) {fVmaxD_TNo_ChNbText->Delete(); fCdelete++;}
212  if ( fEntryVmaxD_TNo_ChNbNumber != 0 ) {delete fEntryVmaxD_TNo_ChNbNumber; fCdelete++;}
213  if ( fLayoutVmaxD_TNo_ChNbFieldText != 0 ) {delete fLayoutVmaxD_TNo_ChNbFieldText; fCdelete++;}
214  if ( fLayoutVmaxD_TNo_ChNbFrame != 0 ) {delete fLayoutVmaxD_TNo_ChNbFrame; fCdelete++;}
215 
216  if ( fVminD_TNo_ChNbFrame != 0 ) {delete fVminD_TNo_ChNbFrame; fCdelete++;}
217  if ( fVminD_TNo_ChNbBut != 0 ) {delete fVminD_TNo_ChNbBut; fCdelete++;}
218  if ( fLayoutVminD_TNo_ChNbBut != 0 ) {delete fLayoutVminD_TNo_ChNbBut; fCdelete++;}
219  if ( fVminD_TNo_ChNbText != 0 ) {fVminD_TNo_ChNbText->Delete(); fCdelete++;}
220  if ( fEntryVminD_TNo_ChNbNumber != 0 ) {delete fEntryVminD_TNo_ChNbNumber; fCdelete++;}
221  if ( fLayoutVminD_TNo_ChNbFieldText != 0 ) {delete fLayoutVminD_TNo_ChNbFieldText; fCdelete++;}
222  if ( fLayoutVminD_TNo_ChNbFrame != 0 ) {delete fLayoutVminD_TNo_ChNbFrame; fCdelete++;}
223 
224  if ( fMenuD_TNo_ChNb != 0 ) {delete fMenuD_TNo_ChNb; fCdelete++;}
225  if ( fMenuBarD_TNo_ChNb != 0 ) {fMenuBarD_TNo_ChNb->Delete(); fCdelete++;}
226  if ( fLayoutMenuBarD_TNo_ChNb != 0 ) {delete fLayoutMenuBarD_TNo_ChNb; fCdelete++;}
227 
228  if ( fLayoutVmmD_TNo_ChNbFrame != 0 ) {delete fLayoutVmmD_TNo_ChNbFrame; fCdelete++;}
229 
230  //-----------------------------------------------------------
231  if ( fVmmD_MCs_ChNbFrame != 0 ) {delete fVmmD_MCs_ChNbFrame; fCdelete++;}
232 
233  if ( fVmaxD_MCs_ChNbFrame != 0 ) {delete fVmaxD_MCs_ChNbFrame; fCdelete++;}
234  if ( fVmaxD_MCs_ChNbBut != 0 ) {delete fVmaxD_MCs_ChNbBut; fCdelete++;}
235  if ( fLayoutVmaxD_MCs_ChNbBut != 0 ) {delete fLayoutVmaxD_MCs_ChNbBut; fCdelete++;}
236  if ( fVmaxD_MCs_ChNbText != 0 ) {fVmaxD_MCs_ChNbText->Delete(); fCdelete++;}
237  if ( fEntryVmaxD_MCs_ChNbNumber != 0 ) {delete fEntryVmaxD_MCs_ChNbNumber; fCdelete++;}
238  if ( fLayoutVmaxD_MCs_ChNbFieldText != 0 ) {delete fLayoutVmaxD_MCs_ChNbFieldText; fCdelete++;}
239  if ( fLayoutVmaxD_MCs_ChNbFrame != 0 ) {delete fLayoutVmaxD_MCs_ChNbFrame; fCdelete++;}
240 
241  if ( fVminD_MCs_ChNbFrame != 0 ) {delete fVminD_MCs_ChNbFrame; fCdelete++;}
242  if ( fVminD_MCs_ChNbBut != 0 ) {delete fVminD_MCs_ChNbBut; fCdelete++;}
243  if ( fLayoutVminD_MCs_ChNbBut != 0 ) {delete fLayoutVminD_MCs_ChNbBut; fCdelete++;}
244  if ( fVminD_MCs_ChNbText != 0 ) {fVminD_MCs_ChNbText->Delete(); fCdelete++;}
245  if ( fEntryVminD_MCs_ChNbNumber != 0 ) {delete fEntryVminD_MCs_ChNbNumber; fCdelete++;}
246  if ( fLayoutVminD_MCs_ChNbFieldText != 0 ) {delete fLayoutVminD_MCs_ChNbFieldText; fCdelete++;}
247  if ( fLayoutVminD_MCs_ChNbFrame != 0 ) {delete fLayoutVminD_MCs_ChNbFrame; fCdelete++;}
248 
249  if ( fMenuD_MCs_ChNb != 0 ) {delete fMenuD_MCs_ChNb; fCdelete++;}
250  if ( fMenuBarD_MCs_ChNb != 0 ) {fMenuBarD_MCs_ChNb->Delete(); fCdelete++;}
251  if ( fLayoutMenuBarD_MCs_ChNb != 0 ) {delete fLayoutMenuBarD_MCs_ChNb; fCdelete++;}
252 
253  if ( fLayoutVmmD_MCs_ChNbFrame != 0 ) {delete fLayoutVmmD_MCs_ChNbFrame; fCdelete++;}
254 
255  //............................................... Frame Sig + Menus Sig
256  if ( fStexHozFrame != 0 ) {delete fStexHozFrame; fCdelete++;}
257 
258  //-------------------------------------------------------------
259  if ( fVmmD_LFN_ChNbFrame != 0 ) {delete fVmmD_LFN_ChNbFrame; fCdelete++;}
260 
261  if ( fVmaxD_LFN_ChNbFrame != 0 ) {delete fVmaxD_LFN_ChNbFrame; fCdelete++;}
262  if ( fVmaxD_LFN_ChNbBut != 0 ) {delete fVmaxD_LFN_ChNbBut; fCdelete++;}
263  if ( fLayoutVmaxD_LFN_ChNbBut != 0 ) {delete fLayoutVmaxD_LFN_ChNbBut; fCdelete++;}
264  if ( fVmaxD_LFN_ChNbText != 0 ) {fVmaxD_LFN_ChNbText->Delete(); fCdelete++;}
265  if ( fEntryVmaxD_LFN_ChNbNumber != 0 ) {delete fEntryVmaxD_LFN_ChNbNumber; fCdelete++;}
266  if ( fLayoutVmaxD_LFN_ChNbFieldText != 0 ) {delete fLayoutVmaxD_LFN_ChNbFieldText; fCdelete++;}
267  if ( fLayoutVmaxD_LFN_ChNbFrame != 0 ) {delete fLayoutVmaxD_LFN_ChNbFrame; fCdelete++;}
268 
269  if ( fVminD_LFN_ChNbFrame != 0 ) {delete fVminD_LFN_ChNbFrame; fCdelete++;}
270  if ( fVminD_LFN_ChNbBut != 0 ) {delete fVminD_LFN_ChNbBut; fCdelete++;}
271  if ( fLayoutVminD_LFN_ChNbBut != 0 ) {delete fLayoutVminD_LFN_ChNbBut; fCdelete++;}
272  if ( fVminD_LFN_ChNbText != 0 ) {fVminD_LFN_ChNbText->Delete(); fCdelete++;}
273  if ( fEntryVminD_LFN_ChNbNumber != 0 ) {delete fEntryVminD_LFN_ChNbNumber; fCdelete++;}
274  if ( fLayoutVminD_LFN_ChNbFieldText != 0 ) {delete fLayoutVminD_LFN_ChNbFieldText; fCdelete++;}
275  if ( fLayoutVminD_LFN_ChNbFrame != 0 ) {delete fLayoutVminD_LFN_ChNbFrame; fCdelete++;}
276 
277  if ( fMenuD_LFN_ChNb != 0 ) {delete fMenuD_LFN_ChNb; fCdelete++;}
278  if ( fMenuBarD_LFN_ChNb != 0 ) {fMenuBarD_LFN_ChNb->Delete(); fCdelete++;}
279  if ( fLayoutMenuBarD_LFN_ChNb != 0 ) {delete fLayoutMenuBarD_LFN_ChNb; fCdelete++;}
280 
281  if ( fLayoutVmmD_LFN_ChNbFrame != 0 ) {delete fLayoutVmmD_LFN_ChNbFrame; fCdelete++;}
282 
283  //-------------------------------------------------------------
284  if ( fVmmD_HFN_ChNbFrame != 0 ) {delete fVmmD_HFN_ChNbFrame; fCdelete++;}
285 
286  if ( fVmaxD_HFN_ChNbFrame != 0 ) {delete fVmaxD_HFN_ChNbFrame; fCdelete++;}
287  if ( fVmaxD_HFN_ChNbBut != 0 ) {delete fVmaxD_HFN_ChNbBut; fCdelete++;}
288  if ( fLayoutVmaxD_HFN_ChNbBut != 0 ) {delete fLayoutVmaxD_HFN_ChNbBut; fCdelete++;}
289  if ( fVmaxD_HFN_ChNbText != 0 ) {fVmaxD_HFN_ChNbText->Delete(); fCdelete++;}
290  if ( fEntryVmaxD_HFN_ChNbNumber != 0 ) {delete fEntryVmaxD_HFN_ChNbNumber; fCdelete++;}
291  if ( fLayoutVmaxD_HFN_ChNbFieldText != 0 ) {delete fLayoutVmaxD_HFN_ChNbFieldText; fCdelete++;}
292  if ( fLayoutVmaxD_HFN_ChNbFrame != 0 ) {delete fLayoutVmaxD_HFN_ChNbFrame; fCdelete++;}
293 
294  if ( fVminD_HFN_ChNbFrame != 0 ) {delete fVminD_HFN_ChNbFrame; fCdelete++;}
295  if ( fVminD_HFN_ChNbBut != 0 ) {delete fVminD_HFN_ChNbBut; fCdelete++;}
296  if ( fLayoutVminD_HFN_ChNbBut != 0 ) {delete fLayoutVminD_HFN_ChNbBut; fCdelete++;}
297  if ( fVminD_HFN_ChNbText != 0 ) {fVminD_HFN_ChNbText->Delete(); fCdelete++;}
298  if ( fEntryVminD_HFN_ChNbNumber != 0 ) {delete fEntryVminD_HFN_ChNbNumber; fCdelete++;}
299  if ( fLayoutVminD_HFN_ChNbFieldText != 0 ) {delete fLayoutVminD_HFN_ChNbFieldText; fCdelete++;}
300  if ( fLayoutVminD_HFN_ChNbFrame != 0 ) {delete fLayoutVminD_HFN_ChNbFrame; fCdelete++;}
301 
302  if ( fMenuD_HFN_ChNb != 0 ) {delete fMenuD_HFN_ChNb; fCdelete++;}
303  if ( fMenuBarD_HFN_ChNb != 0 ) {fMenuBarD_HFN_ChNb->Delete(); fCdelete++;}
304  if ( fLayoutMenuBarD_HFN_ChNb != 0 ) {delete fLayoutMenuBarD_HFN_ChNb; fCdelete++;}
305 
306  if ( fLayoutVmmD_HFN_ChNbFrame != 0 ) {delete fLayoutVmmD_HFN_ChNbFrame; fCdelete++;}
307 
308  //-------------------------------------------------------------
309  if ( fVmmD_SCs_ChNbFrame != 0 ) {delete fVmmD_SCs_ChNbFrame; fCdelete++;}
310 
311  if ( fVmaxD_SCs_ChNbFrame != 0 ) {delete fVmaxD_SCs_ChNbFrame; fCdelete++;}
312  if ( fVmaxD_SCs_ChNbBut != 0 ) {delete fVmaxD_SCs_ChNbBut; fCdelete++;}
313  if ( fLayoutVmaxD_SCs_ChNbBut != 0 ) {delete fLayoutVmaxD_SCs_ChNbBut; fCdelete++;}
314  if ( fVmaxD_SCs_ChNbText != 0 ) {fVmaxD_SCs_ChNbText->Delete(); fCdelete++;}
315  if ( fEntryVmaxD_SCs_ChNbNumber != 0 ) {delete fEntryVmaxD_SCs_ChNbNumber; fCdelete++;}
316  if ( fLayoutVmaxD_SCs_ChNbFieldText != 0 ) {delete fLayoutVmaxD_SCs_ChNbFieldText; fCdelete++;}
317  if ( fLayoutVmaxD_SCs_ChNbFrame != 0 ) {delete fLayoutVmaxD_SCs_ChNbFrame; fCdelete++;}
318 
319  if ( fVminD_SCs_ChNbFrame != 0 ) {delete fVminD_SCs_ChNbFrame; fCdelete++;}
320  if ( fVminD_SCs_ChNbBut != 0 ) {delete fVminD_SCs_ChNbBut; fCdelete++;}
321  if ( fLayoutVminD_SCs_ChNbBut != 0 ) {delete fLayoutVminD_SCs_ChNbBut; fCdelete++;}
322  if ( fVminD_SCs_ChNbText != 0 ) {fVminD_SCs_ChNbText->Delete(); fCdelete++;}
323  if ( fEntryVminD_SCs_ChNbNumber != 0 ) {delete fEntryVminD_SCs_ChNbNumber; fCdelete++;}
324  if ( fLayoutVminD_SCs_ChNbFieldText != 0 ) {delete fLayoutVminD_SCs_ChNbFieldText; fCdelete++;}
325  if ( fLayoutVminD_SCs_ChNbFrame != 0 ) {delete fLayoutVminD_SCs_ChNbFrame; fCdelete++;}
326 
327  if ( fMenuD_SCs_ChNb != 0 ) {delete fMenuD_SCs_ChNb; fCdelete++;}
328  if ( fMenuBarD_SCs_ChNb != 0 ) {fMenuBarD_SCs_ChNb->Delete(); fCdelete++;}
329  if ( fLayoutMenuBarD_SCs_ChNb != 0 ) {delete fLayoutMenuBarD_SCs_ChNb; fCdelete++;}
330 
331  if ( fLayoutVmmD_SCs_ChNbFrame != 0 ) {delete fLayoutVmmD_SCs_ChNbFrame; fCdelete++;}
332  //-------------------------------------------------------------
333  if ( fLayoutStexHozFrame != 0 ) {delete fLayoutStexHozFrame; fCdelete++;}
334 
335  //----------------------------------------------------------------------------------------------
336 
337  //...................................... Covariances between Stins
338  if ( fVmmLHFccFrame != 0 ) {delete fVmmLHFccFrame; fCdelete++;}
339 
340  if ( fVmaxLHFccFrame != 0 ) {delete fVmaxLHFccFrame; fCdelete++;}
341  if ( fVmaxLHFccBut != 0 ) {delete fVmaxLHFccBut; fCdelete++;}
342  if ( fLayoutVmaxLHFccBut != 0 ) {delete fLayoutVmaxLHFccBut; fCdelete++;}
343  if ( fVmaxLHFccText != 0 ) {fVmaxLHFccText->Delete(); fCdelete++;}
344  if ( fEntryVmaxLHFccNumber != 0 ) {delete fEntryVmaxLHFccNumber; fCdelete++;}
345  if ( fLayoutVmaxLHFccFieldText != 0 ) {delete fLayoutVmaxLHFccFieldText; fCdelete++;}
346  if ( fLayoutVmaxLHFccFrame != 0 ) {delete fLayoutVmaxLHFccFrame; fCdelete++;}
347 
348  if ( fVminLHFccFrame != 0 ) {delete fVminLHFccFrame; fCdelete++;}
349  if ( fVminLHFccBut != 0 ) {delete fVminLHFccBut; fCdelete++;}
350  if ( fLayoutVminLHFccBut != 0 ) {delete fLayoutVminLHFccBut; fCdelete++;}
351  if ( fVminLHFccText != 0 ) {fVminLHFccText->Delete(); fCdelete++;}
352  if ( fEntryVminLHFccNumber != 0 ) {delete fEntryVminLHFccNumber; fCdelete++;}
353  if ( fLayoutVminLHFccFieldText != 0 ) {delete fLayoutVminLHFccFieldText; fCdelete++;}
354  if ( fLayoutVminLHFccFrame != 0 ) {delete fLayoutVminLHFccFrame; fCdelete++;}
355 
356  if ( fMenuLHFcc != 0 ) {delete fMenuLHFcc; fCdelete++;}
357  if ( fMenuBarLHFcc != 0 ) {fMenuBarLHFcc->Delete(); fCdelete++;}
358  if ( fLayoutMenuBarLHFcc != 0 ) {delete fLayoutMenuBarLHFcc; fCdelete++;}
359 
360  if ( fLayoutVmmLHFccFrame != 0 ) {delete fLayoutVmmLHFccFrame; fCdelete++;}
361 
362  //...................................... Low Freq Cor(c,c') for each pair of Stins
363  if ( fVmmLFccMosFrame != 0 ) {delete fVmmLFccMosFrame; fCdelete++;}
364 
365  if ( fVmaxLFccMosFrame != 0 ) {delete fVmaxLFccMosFrame; fCdelete++;}
366  if ( fVmaxLFccMosBut != 0 ) {delete fVmaxLFccMosBut; fCdelete++;}
367  if ( fLayoutVmaxLFccMosBut != 0 ) {delete fLayoutVmaxLFccMosBut; fCdelete++;}
368  if ( fVmaxLFccMosText != 0 ) {fVmaxLFccMosText->Delete(); fCdelete++;}
369  if ( fEntryVmaxLFccMosNumber != 0 ) {delete fEntryVmaxLFccMosNumber; fCdelete++;}
370  if ( fLayoutVmaxLFccMosFieldText != 0 ) {delete fLayoutVmaxLFccMosFieldText; fCdelete++;}
371  if ( fLayoutVmaxLFccMosFrame != 0 ) {delete fLayoutVmaxLFccMosFrame; fCdelete++;}
372 
373  if ( fVminLFccMosFrame != 0 ) {delete fVminLFccMosFrame; fCdelete++;}
374  if ( fVminLFccMosBut != 0 ) {delete fVminLFccMosBut; fCdelete++;}
375  if ( fLayoutVminLFccMosBut != 0 ) {delete fLayoutVminLFccMosBut; fCdelete++;}
376  if ( fVminLFccMosText != 0 ) {fVminLFccMosText->Delete(); fCdelete++;}
377  if ( fEntryVminLFccMosNumber != 0 ) {delete fEntryVminLFccMosNumber; fCdelete++;}
378  if ( fLayoutVminLFccMosFieldText != 0 ) {delete fLayoutVminLFccMosFieldText; fCdelete++;}
379  if ( fLayoutVminLFccMosFrame != 0 ) {delete fLayoutVminLFccMosFrame; fCdelete++;}
380 
381  if ( fMenuLFccMos != 0 ) {delete fMenuLFccMos; fCdelete++;}
382  if ( fMenuBarLFccMos != 0 ) {fMenuBarLFccMos->Delete(); fCdelete++;}
383  if ( fLayoutMenuBarLFccMos != 0 ) {delete fLayoutMenuBarLFccMos; fCdelete++;}
384 
385  if ( fLayoutVmmLFccMosFrame != 0 ) {delete fLayoutVmmLFccMosFrame; fCdelete++;}
386 
387  //...................................... High Freq Cor(c,c') for each pair of Stins
388  if ( fVmmHFccMosFrame != 0 ) {delete fVmmHFccMosFrame; fCdelete++;}
389 
390  if ( fVmaxHFccMosFrame != 0 ) {delete fVmaxHFccMosFrame; fCdelete++;}
391  if ( fVmaxHFccMosBut != 0 ) {delete fVmaxHFccMosBut; fCdelete++;}
392  if ( fLayoutVmaxHFccMosBut != 0 ) {delete fLayoutVmaxHFccMosBut; fCdelete++;}
393  if ( fVmaxHFccMosText != 0 ) {fVmaxHFccMosText->Delete(); fCdelete++;}
394  if ( fEntryVmaxHFccMosNumber != 0 ) {delete fEntryVmaxHFccMosNumber; fCdelete++;}
395  if ( fLayoutVmaxHFccMosFieldText != 0 ) {delete fLayoutVmaxHFccMosFieldText; fCdelete++;}
396  if ( fLayoutVmaxHFccMosFrame != 0 ) {delete fLayoutVmaxHFccMosFrame; fCdelete++;}
397 
398  if ( fVminHFccMosFrame != 0 ) {delete fVminHFccMosFrame; fCdelete++;}
399  if ( fVminHFccMosBut != 0 ) {delete fVminHFccMosBut; fCdelete++;}
400  if ( fLayoutVminHFccMosBut != 0 ) {delete fLayoutVminHFccMosBut; fCdelete++;}
401  if ( fVminHFccMosText != 0 ) {fVminHFccMosText->Delete(); fCdelete++;}
402  if ( fEntryVminHFccMosNumber != 0 ) {delete fEntryVminHFccMosNumber; fCdelete++;}
403  if ( fLayoutVminHFccMosFieldText != 0 ) {delete fLayoutVminHFccMosFieldText; fCdelete++;}
404  if ( fLayoutVminHFccMosFrame != 0 ) {delete fLayoutVminHFccMosFrame; fCdelete++;}
405 
406  if ( fMenuHFccMos != 0 ) {delete fMenuHFccMos; fCdelete++;}
407  if ( fMenuBarHFccMos != 0 ) {fMenuBarHFccMos->Delete(); fCdelete++;}
408  if ( fLayoutMenuBarHFccMos != 0 ) {delete fLayoutMenuBarHFccMos; fCdelete++;}
409 
410  if ( fLayoutVmmHFccMosFrame != 0 ) {delete fLayoutVmmHFccMosFrame; fCdelete++;}
411 
412  if ( fLayoutStexUpFrame != 0 ) {delete fLayoutStexUpFrame; fCdelete++;}
413 
414  //+++++++++++++++++++++++++++++++++++++++++ Horizontal frame Stin_A + Stin_B
415  if ( fStinSpFrame != 0 ) {delete fStinSpFrame; fCdelete++;}
416 
417  //----------------------------------- SubFrame Stin_A (Button + EntryField)
418  if ( fTxSubFrame != 0 ) {delete fTxSubFrame; fCdelete++;}
419 
420  if ( fStinAFrame != 0 ) {delete fStinAFrame; fCdelete++;}
421  if ( fStinABut != 0 ) {delete fStinABut; fCdelete++;}
422  if ( fLayoutStinABut != 0 ) {delete fLayoutStinABut; fCdelete++;}
423  if ( fEntryStinANumber != 0 ) {delete fEntryStinANumber; fCdelete++;}
424  if ( fStinAText != 0 ) {fStinAText->Delete(); fCdelete++;}
425  if ( fLayoutStinAField != 0 ) {delete fLayoutStinAField; fCdelete++;}
426 
427  //............................ Stin Crystal Numbering view (Button)
428  if ( fButChNb != 0 ) {delete fButChNb; fCdelete++;}
429  if ( fLayoutChNbBut != 0 ) {delete fLayoutChNbBut; fCdelete++;}
430 
431  //............................ Menus Stin_A
432  if ( fMenuCorssAll != 0 ) {delete fMenuCorssAll; fCdelete++;}
433  if ( fMenuBarCorssAll != 0 ) {fMenuBarCorssAll->Delete(); fCdelete++;}
434 
435  //if ( fMenuCovssAll != 0 ) {delete fMenuCovssAll; fCdelete++;}
436  //if ( fMenuBarCovssAll != 0 ) {fMenuBarCovssAll->Delete(); fCdelete++;}
437 
438  if ( fLayoutTxSubFrame != 0 ) {delete fLayoutTxSubFrame; fCdelete++;}
439 
440  //----------------------------------- SubFrame Stin_B (Button + EntryField)
441 
442  if ( fTySubFrame != 0 ) {delete fTySubFrame; fCdelete++;}
443 
444  if ( fStinBFrame != 0 ) {delete fStinBFrame; fCdelete++;}
445  if ( fStinBBut != 0 ) {delete fStinBBut; fCdelete++;}
446  if ( fLayoutStinBBut != 0 ) {delete fLayoutStinBBut; fCdelete++;}
447  if ( fEntryStinBNumber != 0 ) {delete fEntryStinBNumber; fCdelete++;}
448  if ( fStinBText != 0 ) {fStinBText->Delete(); fCdelete++;}
449  if ( fLayoutStinBField != 0 ) {delete fLayoutStinBField; fCdelete++;}
450 
451  if ( fLayoutTySubFrame != 0 ) {delete fLayoutTySubFrame; fCdelete++;}
452 
453  if ( fLayoutStinSpFrame != 0 ) {delete fLayoutStinSpFrame; fCdelete++;}
454 
455  //.................................. Menus for Horizontal frame (Stin_A + Stin_B)
456 
457  if ( fMenuLFCorcc != 0 ) {delete fMenuLFCorcc; fCdelete++;}
458  if ( fMenuBarLFCorcc != 0 ) {fMenuBarLFCorcc->Delete(); fCdelete++;}
459 
460  if ( fMenuHFCorcc != 0 ) {delete fMenuHFCorcc; fCdelete++;}
461  if ( fMenuBarHFCorcc != 0 ) {fMenuBarHFCorcc->Delete(); fCdelete++;}
462 
463  //++++++++++++++++++++++++ Horizontal frame channel number (Stin_A crystal number) + sample number
464  if ( fChSpFrame != 0 ) {delete fChSpFrame; fCdelete++;}
465 
466  //------------------------------------- SubFrame Channel (Button + EntryField)
467 
468  if ( fChSubFrame != 0 ) {delete fChSubFrame; fCdelete++;}
469 
470  if ( fChanFrame != 0 ) {delete fChanFrame; fCdelete++;}
471  if ( fChanBut != 0 ) {delete fChanBut; fCdelete++;}
472  if ( fLayoutChanBut != 0 ) {delete fLayoutChanBut; fCdelete++;}
473  if ( fEntryChanNumber != 0 ) {delete fEntryChanNumber; fCdelete++;}
474  if ( fChanText != 0 ) {fChanText->Delete(); fCdelete++;}
475  if ( fLayoutChanField != 0 ) {delete fLayoutChanField; fCdelete++;}
476 
477  //................................ Menus Stin_A crystal number
478  if ( fMenuCorss != 0 ) {delete fMenuCorss; fCdelete++;}
479  if ( fMenuBarCorss != 0 ) {fMenuBarCorss->Delete(); fCdelete++;}
480 
481  if ( fMenuCovss != 0 ) {delete fMenuCovss; fCdelete++;}
482  if ( fMenuBarCovss != 0 ) {fMenuBarCovss->Delete(); fCdelete++;}
483 
484  if ( fMenuD_MSp_SpNb != 0 ) {delete fMenuD_MSp_SpNb; fCdelete++;}
485  if ( fMenuBarD_MSp_SpNb != 0 ) {fMenuBarD_MSp_SpNb->Delete(); fCdelete++;}
486  if ( fMenuD_MSp_SpDs != 0 ) {delete fMenuD_MSp_SpDs; fCdelete++;}
487  if ( fMenuBarD_MSp_SpDs != 0 ) {fMenuBarD_MSp_SpDs->Delete(); fCdelete++;}
488 
489  if ( fMenuD_SSp_SpNb != 0 ) {delete fMenuD_SSp_SpNb; fCdelete++;}
490  if ( fMenuBarD_SSp_SpNb != 0 ) {fMenuBarD_SSp_SpNb->Delete(); fCdelete++;}
491  if ( fMenuD_SSp_SpDs != 0 ) {delete fMenuD_SSp_SpDs; fCdelete++;}
492  if ( fMenuBarD_SSp_SpDs != 0 ) {fMenuBarD_SSp_SpDs->Delete(); fCdelete++;}
493 
494  if ( fLayoutChSubFrame != 0 ) {delete fLayoutChSubFrame; fCdelete++;}
495 
496  //------------------------------------ SubFrame Sample (Button + EntryField)
497  if ( fSpSubFrame != 0 ) {delete fSpSubFrame; fCdelete++;}
498  if ( fSampFrame != 0 ) {delete fSampFrame; fCdelete++;}
499  if ( fSampBut != 0 ) {delete fSampBut; fCdelete++;}
500  if ( fLayoutSampBut != 0 ) {delete fLayoutSampBut; fCdelete++;}
501  if ( fEntrySampNumber != 0 ) {delete fEntrySampNumber; fCdelete++;}
502  if ( fSampText != 0 ) {fSampText->Delete(); fCdelete++;}
503  if ( fLayoutSampField != 0 ) {delete fLayoutSampField; fCdelete++;}
504  if ( fLayoutSpSubFrame != 0 ) {delete fLayoutSpSubFrame; fCdelete++;}
505 
506  //................................ Menus Sample number
507 
508  // (no menu in this SubFrame)
509 
510  if ( fLayoutChSpFrame != 0 ) {delete fLayoutChSpFrame; fCdelete++;}
511 
512  //++++++++++++++++++++++++++++++++++++ Menu Event Distribution
513  if ( fMenuAdcProj != 0 ) {delete fMenuAdcProj; fCdelete++;}
514  if ( fMenuBarAdcProj != 0 ) {fMenuBarAdcProj->Delete(); fCdelete++;}
515  if ( fLayoutMenuBarAdcProj != 0 ) {delete fLayoutMenuBarAdcProj; fCdelete++;}
516 
517  //++++++++++++++++++++++++++++++++++++ Frame: Run List (Rul) (Button + EntryField)
518  if ( fRulFrame != 0 ) {delete fRulFrame; fCdelete++;}
519  if ( fRulBut != 0 ) {delete fRulBut; fCdelete++;}
520  if ( fLayoutRulBut != 0 ) {delete fLayoutRulBut; fCdelete++;}
521  if ( fEntryRulNumber != 0 ) {delete fEntryRulNumber; fCdelete++;}
522  if ( fRulText != 0 ) {fRulText->Delete(); fCdelete++;}
523  if ( fLayoutRulFieldText != 0 ) {delete fLayoutRulFieldText; fCdelete++;}
524  if ( fLayoutRulFieldFrame != 0 ) {delete fLayoutRulFieldFrame; fCdelete++;}
525 
526  //................................ Menus for time evolution
527  if ( fMenuHistory != 0 ) {delete fMenuHistory; fCdelete++;}
528  if ( fMenuBarHistory != 0 ) {fMenuBarHistory->Delete(); fCdelete++;}
529 
530  //++++++++++++++++++++++++++++++++++++ LinLog Frame
531  if ( fLinLogFrame != 0 ) {delete fLinLogFrame; fCdelete++;}
532 
533  //---------------------------------- Lin/Log X
534  if ( fButLogx != 0 ) {delete fButLogx; fCdelete++;}
535  if ( fLayoutLogxBut != 0 ) {delete fLayoutLogxBut; fCdelete++;}
536  //---------------------------------- Lin/Log Y
537  if ( fButLogy != 0 ) {delete fButLogy; fCdelete++;}
538  if ( fLayoutLogyBut != 0 ) {delete fLayoutLogyBut; fCdelete++;}
539  //---------------------------------- Proj Y
540  if ( fButProjy != 0 ) {delete fButProjy; fCdelete++;}
541  if ( fLayoutProjyBut != 0 ) {delete fLayoutProjyBut; fCdelete++;}
542 
543  //++++++++++++++++++++++++++++++++++++ Frame: General Title (Gent) (Button + EntryField)
544  if ( fGentFrame != 0 ) {delete fGentFrame; fCdelete++;}
545  if ( fGentBut != 0 ) {delete fGentBut; fCdelete++;}
546  if ( fLayoutGentBut != 0 ) {delete fLayoutGentBut; fCdelete++;}
547  if ( fEntryGentNumber != 0 ) {delete fEntryGentNumber; fCdelete++;}
548  if ( fGentText != 0 ) {fGentText->Delete(); fCdelete++;}
549  if ( fLayoutGentFieldText != 0 ) {delete fLayoutGentFieldText; fCdelete++;}
550  if ( fLayoutGentFieldFrame != 0 ) {delete fLayoutGentFieldFrame; fCdelete++;}
551 
552  //++++++++++++++++++++++++++++++++++++ Color + EXIT BUTTON
553  if ( fColorExitFrame != 0 ) {delete fColorExitFrame; fCdelete++;}
554  if ( fLayoutColorExitFrame != 0 ) {delete fLayoutColorExitFrame; fCdelete++;}
555 
556  //---------------------------------- Color Palette
557  if ( fButColPal != 0 ) {delete fButColPal; fCdelete++;}
558  if ( fLayoutColPalBut != 0 ) {delete fLayoutColPalBut; fCdelete++;}
559  //---------------------------------- Exit
560  if ( fButExit != 0 ) {delete fButExit; fCdelete++;}
561  if ( fLayoutExitBut != 0 ) {delete fLayoutExitBut; fCdelete++;}
562 
563  //++++++++++++++++++++++++++++++++++++ Last Frame
564  if ( fLastFrame != 0 ) {delete fLastFrame; fCdelete++;}
565 
566  //--------------------------------- Clone Last Canvas (Button)
567  if ( fButClone != 0 ) {delete fButClone; fCdelete++;}
568  if ( fLayoutCloneBut != 0 ) {delete fLayoutCloneBut; fCdelete++;}
569 
570  //--------------------------------- Root version (Button)
571  if ( fButRoot != 0 ) {delete fButRoot; fCdelete++;}
572  if ( fLayoutRootBut != 0 ) {delete fLayoutRootBut; fCdelete++;}
573 
574  //--------------------------------- Help (Button)
575  if ( fButHelp != 0 ) {delete fButHelp; fCdelete++;}
576  if ( fLayoutHelpBut != 0 ) {delete fLayoutHelpBut; fCdelete++;}
577 
578  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
579 
580  if ( fCnew != fCdelete )
581  {
582  cout << "*TEcnaGui> WRONG MANAGEMENT OF ALLOCATIONS: fCnew = "
583  << fCnew << ", fCdelete = " << fCdelete << endl;
584  }
585  else
586  {
587  //cout << "*TEcnaGui> BRAVO! GOOD MANAGEMENT OF ALLOCATIONS: fCnew = "
588  // << fCnew << ", fCdelete = " << fCdelete << endl;
589  }
590 
591 #endif // DEST
592 
593 #define MGRA
594 #ifndef MGRA
595  if ( fCnewRoot != fCdeleteRoot )
596  {
597  cout << "*TEcnaGui> WRONG MANAGEMENT OF ROOT ALLOCATIONS: fCnewRoot = "
598  << fCnewRoot << ", fCdeleteRoot = " << fCdeleteRoot << endl;
599  }
600  else
601  {
602  cout << "*TEcnaGui> BRAVO! GOOD MANAGEMENT OF ROOT ALLOCATIONS:"
603  << " fCnewRoot = " << fCnewRoot <<", fCdeleteRoot = "
604  << fCdeleteRoot << endl;
605  }
606 #endif // MGRA
607 
608  // cout << "TEcnaGui> Leaving destructor" << endl;
609  // cout << " fCnew = " << fCnew << ", fCdelete = " << fCdelete << endl;
610 
611  // cout << "[Info Management] CLASS: TEcnaGui. DESTROY OBJECT: this = " << this << endl;
612 
613 }
614 // end of destructor
615 
616 //===================================================================
617 //
618 // Constructors
619 //
620 //===================================================================
621 
623 {
624  Init();
625 }
626 
627 TEcnaGui::TEcnaGui(TEcnaObject* pObjectManager, const TString& SubDet, const TGWindow *p, UInt_t w, UInt_t h):
628 TGMainFrame(p, w, h)
629 {
630  // cout << "[Info Management] CLASS: TEcnaGui. CREATE OBJECT: this = " << this << endl;
631 
632  // cout << "TEcnaGui> Entering constructor with arguments" << endl;
633  // cout << " fCnew = " << fCnew << ", fCdelete = " << fCdelete << endl;
634 
635  fObjectManager = (TEcnaObject*)pObjectManager;
636  Long_t i_this = (Long_t)this;
637  pObjectManager->RegisterPointer("TEcnaGui", i_this);
638 
639  Int_t MaxCar = fgMaxCar;
640  fSubDet.Resize(MaxCar);
641  fSubDet = SubDet.Data();
642 
643  //............................ fCnaParCout
644  fCnaParCout = 0;
645  Long_t iCnaParCout = pObjectManager->GetPointerValue("TEcnaParCout");
646  if( iCnaParCout == 0 )
647  {fCnaParCout = new TEcnaParCout(pObjectManager); /*fCnew++*/}
648  else
649  {fCnaParCout = (TEcnaParCout*)iCnaParCout;}
650 
651  //fCnaParPaths = 0; fCnaParPaths = new TEcnaParPaths(); //fCnew++;
652  //fCnaParPaths->GetPaths();
653  //if( fCnaParPaths->GetPaths() == kTRUE )
654  // {
655  //fCnaParPaths->GetCMSSWParameters();
656 
657  //............................ fCnaParPaths
658  fCnaParPaths = 0;
659  Long_t iCnaParPaths = pObjectManager->GetPointerValue("TEcnaParPaths");
660  if( iCnaParPaths == 0 )
661  {fCnaParPaths = new TEcnaParPaths(pObjectManager); /*fCnew++*/}
662  else
663  {fCnaParPaths = (TEcnaParPaths*)iCnaParPaths;}
664 
667 
668  //............................ fEcal => to be changed in fParEcal
669  fEcal = 0;
670  Long_t iParEcal = pObjectManager->GetPointerValue("TEcnaParEcal");
671  if( iParEcal == 0 )
672  {fEcal = new TEcnaParEcal(pObjectManager, SubDet.Data()); /*fCnew++*/}
673  else
674  {fEcal = (TEcnaParEcal*)iParEcal;}
675 
676  //............................ fEcalNumbering
677  fEcalNumbering = 0;
678  Long_t iEcalNumbering = pObjectManager->GetPointerValue("TEcnaNumbering");
679  if( iEcalNumbering == 0 )
680  {fEcalNumbering = new TEcnaNumbering(pObjectManager, SubDet.Data()); /*fCnew++*/}
681  else
682  {fEcalNumbering = (TEcnaNumbering*)iEcalNumbering;}
683 
684  //............................ fCnaParHistos
685  fCnaParHistos = 0;
686  Long_t iCnaParHistos = pObjectManager->GetPointerValue("TEcnaParHistos");
687  if( iCnaParHistos == 0 )
688  {fCnaParHistos = new TEcnaParHistos(pObjectManager, SubDet.Data()); /*fCnew++*/}
689  else
690  {fCnaParHistos = (TEcnaParHistos*)iCnaParHistos;}
691 
692  //............................ fCnaWrite
693  fCnaWrite = 0;
694  Long_t iCnaWrite = pObjectManager->GetPointerValue("TEcnaWrite");
695  if( iCnaWrite == 0 )
696  {fCnaWrite = new TEcnaWrite(pObjectManager, SubDet.Data()); /*fCnew++*/}
697  else
698  {fCnaWrite = (TEcnaWrite*)iCnaWrite;}
699 
700  //............................ fHistos
701  //fHistos = 0;
702  //fHistos = new TEcnaHistos(fSubDet.Data(), fCnaParPaths, fCnaParCout,
703  // fEcal, fCnaParHistos, fEcalNumbering, fCnaWrite); fCnew++;
704 
705  fHistos = 0;
706  Long_t iHistos = pObjectManager->GetPointerValue("TEcnaHistos");
707  if( iHistos == 0 )
708  {fHistos = new TEcnaHistos(pObjectManager, SubDet.Data()); /*fCnew++*/}
709  else
710  {fHistos = (TEcnaHistos*)iHistos;}
711 
712  //fMyRootFile = 0;
713 
714  Init();
715 }
716 
718 {
719  //========================= GENERAL INITIALISATION
720  fCnew = 0;
721  fCdelete = 0;
722  fCnewRoot = 0;
723  fCdeleteRoot = 0;
724 
725 
726  Int_t fgMaxCar = (Int_t)512;
727  fTTBELL = '\007';
728 
729  //........................ init View and Cna parameters
730 
731  //............................................................................
732 
733  if( fSubDet == "EB" ){fStexName = "SM"; fStinName = "tower";}
734  if( fSubDet == "EE" ){fStexName = "Dee"; fStinName = "SC";}
735 
736  //................. Init Keys
737  InitKeys();
738 
739  //................ Init CNA Command and error numbering
740  fCnaCommand = 0;
741  fCnaError = 0;
742  //................ Init Confirm flags
743  fConfirmSubmit = 0;
744  fConfirmRunNumber = 0;
745  fConfirmCalcScc = 0;
746 
747  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Init GUI DIALOG BOX pointers %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
748 
749  fLayoutGeneral = 0;
750  fLayoutBottLeft = 0;
751  fLayoutBottRight = 0;
752  fLayoutTopLeft = 0;
753  fLayoutTopRight = 0;
754  fLayoutCenterYLeft = 0;
755  fLayoutCenterYRight = 0;
756 
757  fVoidFrame = 0;
758 
759  //+++++++++++++++++++++++++++++++++ Horizontal frame Analysis + 1st requested evt number + Run number
760  fAnaNorsRunFrame = 0;
762  //--------------------------------- Sub-Frame Analysis Name (Button+Entry Field)
763  fAnaFrame = 0;
764  fAnaBut = 0;
765  fLayoutAnaBut = 0;
766  fAnaText = 0;
767  fEntryAnaNumber = 0;
768  fLayoutAnaField = 0;
769  //--------------------------------- SubFrame: first requested evt number
770  fFevFrame = 0;
771  fFevBut = 0;
772  fLayoutFevBut = 0;
773  fFevText = 0;
774  fEntryFevNumber = 0;
777  //-------------------------------- Sub-Frame Run number (Button+Entry Field)
778  fRunFrame = 0;
779  fRunBut = 0;
780  fLayoutRunBut = 0;
781  fRunText = 0;
782  fEntryRunNumber = 0;
783  fLayoutRunField = 0;
784 
785  //+++++++++++++++++++++++++ Horizontal frame Nb Of Samples + Last requested evt number + Clean + submit
786  fFevLevStexFrame = 0;
788  //-------------------------------- Sub-Frame: Nb Of Requesred Samples (Button+Entry Field)
789  fNorsFrame = 0;
790  fNorsBut = 0;
791  fLayoutNorsBut = 0;
792  fNorsText = 0;
793  fEntryNorsNumber = 0;
794  fLayoutNorsField = 0;
795  //---------------------------- SubFrame: last requested event number
796  fLevFrame = 0;
797  fLevBut = 0;
798  fLayoutLevBut = 0;
799  fLevText = 0;
800  fEntryLevNumber = 0;
803  //................................ Menu for Clean
804  fMenuClean = 0;
805  fMenuBarClean = 0;
806  //................................ Menu for SUBMIT
807  fMenuSubmit = 0;
808  fMenuBarSubmit = 0;
809 
810  //+++++++++++++++++++++++++++++++++++ Horizontal frame StexStin number + Nb of Req evts
811  fCompStRqFrame = 0;
813 
814  //---------------------------- SubFrame: Stex number
815  fStexFrame = 0;
816  fStexBut = 0;
817  fLayoutStexBut = 0;
818  fStexText = 0;
819  fEntryStexNumber = 0;
822 
823  //---------------------------- SubFrame: number of requested events
824  fRevFrame = 0;
825  fRevBut = 0;
826  fLayoutRevBut = 0;
827  fRevText = 0;
828  fEntryRevNumber = 0;
831 
832  //+++++++++++++++++++++++++++++++++++ Horizontal frame StexStin numbering + Nb of samp for Calc + Calculations
833  fCompStnbFrame = 0;
835 
836  //................................ Stex Stin Numbering view (Button)
837  fButStexNb = 0;
838  fLayoutStexNbBut = 0;
839 
840  //---------------------------- SubFrame: NbSampForCalc
842  fNbSampForCalcBut = 0;
844  fNbSampForCalcText = 0;
848 
849  //................................ Menu for Calculations
850  fMenuComput = 0;
851  fMenuBarComput = 0;
852 
853  //=====================================================================================
854 
855  //+++++++++++++++++++++++++++++++++++++++++++ Frame for quantities relative to the Stex
856  fStexUpFrame = 0;
857 
858  //................................ Menus+Ymin+Ymax for the Stex ............................
859 
860  //...................................... Nb of evts in the data
862 
864  fVmaxD_NOE_ChNbBut = 0;
870 
872  fVminD_NOE_ChNbBut = 0;
878 
879  fMenuD_NOE_ChNb = 0;
880  fMenuBarD_NOE_ChNb = 0;
882 
884 
885  //-------------------------------------------------------------
887 
889  fVmaxD_Ped_ChNbBut = 0;
895 
897  fVminD_Ped_ChNbBut = 0;
903 
904  fMenuD_Ped_ChNb = 0;
905  fMenuBarD_Ped_ChNb = 0;
907 
909 
910  //-------------------------------------------------------------
912 
914  fVmaxD_TNo_ChNbBut = 0;
919 
921  fVminD_TNo_ChNbBut = 0;
927 
928  fMenuD_TNo_ChNb = 0;
929  fMenuBarD_TNo_ChNb = 0;
932 
934 
935  //-------------------------------------------------------------
937 
939  fVmaxD_MCs_ChNbBut = 0;
945 
947  fVminD_MCs_ChNbBut = 0;
953 
954  fMenuD_MCs_ChNb = 0;
955  fMenuBarD_MCs_ChNb = 0;
958 
959  //............................................... Frame Sig + Menus Sig
960  fStexHozFrame = 0;
961 
962  //-------------------------------------------------------------
964 
966  fVmaxD_LFN_ChNbBut = 0;
972 
974  fVminD_LFN_ChNbBut = 0;
980 
981  fMenuD_LFN_ChNb = 0;
982  fMenuBarD_LFN_ChNb = 0;
984 
986 
987  //-------------------------------------------------------------
989 
991  fVmaxD_HFN_ChNbBut = 0;
997 
999  fVminD_HFN_ChNbBut = 0;
1001  fVminD_HFN_ChNbText = 0;
1005 
1006  fMenuD_HFN_ChNb = 0;
1007  fMenuBarD_HFN_ChNb = 0;
1009 
1011 
1012  //-------------------------------------------------------------
1013  fVmmD_SCs_ChNbFrame = 0;
1014 
1016  fVmaxD_SCs_ChNbBut = 0;
1018  fVmaxD_SCs_ChNbText = 0;
1022 
1024  fVminD_SCs_ChNbBut = 0;
1026  fVminD_SCs_ChNbText = 0;
1030 
1031  fMenuD_SCs_ChNb = 0;
1032  fMenuBarD_SCs_ChNb = 0;
1034 
1036 
1037  //----------------------------------------------------------------------------------
1038 
1039  //...................................... Low Freq Cor(c,c') for each pair of Stins
1040  fVmmLFccMosFrame = 0;
1041 
1042  fVmaxLFccMosFrame = 0;
1043  fVmaxLFccMosBut = 0;
1045  fVmaxLFccMosText = 0;
1049 
1050  fVminLFccMosFrame = 0;
1051  fVminLFccMosBut = 0;
1053  fVminLFccMosText = 0;
1057 
1058  fMenuLFccMos = 0;
1059  fMenuBarLFccMos = 0;
1061 
1063 
1064  //...................................... High Freq Cor(c,c') for each pair of Stins
1065  fVmmHFccMosFrame = 0;
1066 
1067  fVmaxHFccMosFrame = 0;
1068  fVmaxHFccMosBut = 0;
1070  fVmaxHFccMosText = 0;
1074 
1075  fVminHFccMosFrame = 0;
1076  fVminHFccMosBut = 0;
1078  fVminHFccMosText = 0;
1082 
1083  fMenuHFccMos = 0;
1084  fMenuBarHFccMos = 0;
1086 
1088 
1089  //...................................... LF and HF Cor(c,c')
1090  fVmmLHFccFrame = 0;
1091 
1092  fVmaxLHFccFrame = 0;
1093  fVmaxLHFccBut = 0;
1094  fLayoutVmaxLHFccBut = 0;
1095  fVmaxLHFccText = 0;
1099 
1100  fVminLHFccFrame = 0;
1101  fVminLHFccBut = 0;
1102  fLayoutVminLHFccBut = 0;
1103  fVminLHFccText = 0;
1107 
1108  fMenuLHFcc = 0;
1109  fMenuBarLHFcc = 0;
1110  fLayoutMenuBarLHFcc = 0;
1111 
1113 
1114  fLayoutStexHozFrame = 0;
1115 
1116  fLayoutStexUpFrame = 0;
1117 
1118  //+++++++++++++++++++++++++++++++++++++++++ Horizontal frame Stin_A + Stin_B
1119  fStinSpFrame = 0;
1120  fLayoutStinSpFrame = 0;
1121 
1122  //----------------------------------- SubFrame Stin_A (Button + EntryField)
1123 
1124  fTxSubFrame = 0;
1125  fLayoutTxSubFrame = 0;
1126 
1127  fStinAFrame = 0;
1128  fStinABut = 0;
1129  fLayoutStinABut = 0;
1130 
1131  fStinAText = 0;
1132  fEntryStinANumber = 0;
1133  fLayoutStinAField = 0;
1134 
1135  //............................ Stin Crystal Numbering view (Button)
1136  fButChNb = 0;
1137  fLayoutChNbBut = 0;
1138 
1139  //............................ Menus Stin_A
1140  fMenuCorssAll = 0;
1141  fMenuBarCorssAll = 0;
1142 
1143  //fMenuCovssAll = 0;
1144  //fMenuBarCovssAll = 0;
1145 
1146  //----------------------------------- SubFrame Stin_B (Button + EntryField)
1147  fTySubFrame = 0;
1148  fLayoutTySubFrame = 0;
1149 
1150  fStinBFrame = 0;
1151  fStinBBut = 0;
1152  fLayoutStinBBut = 0;
1153 
1154  fStinBText = 0;
1155  fEntryStinBNumber = 0;
1156  fLayoutStinBField = 0;
1157 
1158  //.................................. Menus for Horizontal frame (Stin_A + Stin_B)
1159  fMenuBarLFCorcc = 0;
1160  fMenuLFCorcc = 0;
1161 
1162  fMenuBarHFCorcc = 0;
1163  fMenuHFCorcc = 0;
1164 
1165  //++++++++++++++++++++++++ Horizontal frame channel number (Stin_A crystal number) + sample number
1166  fChSpFrame = 0;
1167  fLayoutChSpFrame = 0;
1168 
1169  //------------------------------------- SubFrame Channel (Button + EntryField)
1170  fChanFrame = 0;
1171  fChanBut = 0;
1172  fChanText = 0;
1173  fEntryChanNumber = 0;
1174  fLayoutChanBut = 0;
1175  fLayoutChanField = 0;
1176 
1177  fChSubFrame = 0;
1178  fLayoutChSubFrame = 0;
1179 
1180  //................................ Menus Stin_A crystal number
1181  fMenuCorss = 0;
1182  fMenuBarCorss = 0;
1183 
1184  fMenuCovss = 0;
1185  fMenuBarCovss = 0;
1186 
1187  fMenuD_MSp_SpNb = 0;
1188  fMenuBarD_MSp_SpNb = 0;
1189  fMenuD_MSp_SpDs = 0;
1190  fMenuBarD_MSp_SpDs = 0;
1191 
1192  fMenuD_SSp_SpNb = 0;
1193  fMenuBarD_SSp_SpNb = 0;
1194  fMenuD_SSp_SpDs = 0;
1195  fMenuBarD_SSp_SpDs = 0;
1196 
1197  //------------------------------------ SubFrame Sample (Button + EntryField)
1198  fSampFrame = 0;
1199  fSampBut = 0;
1200 
1201  fSampText = 0;
1202  fEntrySampNumber = 0;
1203  fLayoutSampBut = 0;
1204  fLayoutSampField = 0;
1205 
1206  fSpSubFrame = 0;
1207  fLayoutSpSubFrame = 0;
1208 
1209  //................................ Menus Sample number
1210 
1211  // (no menu in this SubFrame)
1212 
1213  //++++++++++++++++++++++++++++++++++++ Frame: Run List (Rul) (Button + EntryField)
1214  fRulFrame = 0;
1215  fRulBut = 0;
1216  fLayoutRulBut = 0;
1217  fRulText = 0;
1218  fEntryRulNumber = 0;
1219  fLayoutRulFieldText = 0;
1221 
1222  //................................ Menus for time evolution
1223  fMenuHistory = 0;
1224  fMenuBarHistory = 0;
1225 
1226  //++++++++++++++++++++++++++++++++++++ Menu Event Distribution
1227  fMenuAdcProj = 0;
1228  fMenuBarAdcProj = 0;
1230 
1231  //++++++++++++++++++++++++++++++++++++ LinLog + Color Palette Frame
1232  fLinLogFrame = 0;
1233 
1234  //---------------------------------- Lin/Log X
1235  fButLogx = 0;
1236  fLayoutLogxBut = 0;
1237  //---------------------------------- Lin/Log Y
1238  fButLogy = 0;
1239  fLayoutLogyBut = 0;
1240  //---------------------------------- Proj Y
1241  fButProjy = 0;
1242  fLayoutProjyBut = 0;
1243 
1244  //++++++++++++++++++++++++++++++++++++ Frame: General Title (Gent) (Button + EntryField)
1245  fGentFrame = 0;
1246  fGentBut = 0;
1247  fLayoutGentBut = 0;
1248  fGentText = 0;
1249  fEntryGentNumber = 0;
1252 
1253  //++++++++++++++++++++++++++++++++++++ Color + Exit
1254  //---------------------------------- Color Palette
1255  fButColPal = 0;
1256  fLayoutColPalBut = 0;
1257  //---------------------------------- Exit
1258  fButExit = 0;
1259  fLayoutExitBut = 0;
1260 
1261  //++++++++++++++++++++++++++++++++++++ Last Frame
1262  fLastFrame = 0;
1263 
1264  //--------------------------------- Clone Last Canvas (Button)
1265  fButClone = 0;
1266  fLayoutCloneBut = 0;
1267 
1268  //--------------------------------- Root version (Button)
1269  fButRoot = 0;
1270  fLayoutRootBut = 0;
1271 
1272  //--------------------------------- Help (Button)
1273  fButHelp = 0;
1274  fLayoutHelpBut = 0;
1275 
1276  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%% end of init GUI DIALOG BOX pointers %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1277 
1278  //........ Init Buttons codes with input widgets:
1279  // run, channel, sample
1280 
1281  fAnaButC = 1;
1282  fRunButC = 2;
1283 
1284  //.................. Init codes Menu bars (all the numbers must be different)
1285 
1286  fMenuSubmit8nmC = 2011;
1287  fMenuSubmit1nhC = 2012;
1288  fMenuSubmit8nhC = 2013;
1289  fMenuSubmit1ndC = 2014;
1290  fMenuSubmit1nwC = 2015;
1291 
1292  fMenuCleanSubC = 3011;
1293  fMenuCleanJobC = 3012;
1294  fMenuCleanPythC = 3013;
1295  fMenuCleanAllC = 3014;
1296 
1297  fMenuComputStdC = 3111;
1298  fMenuComputSccC = 3112;
1299  fMenuComputSttC = 3113;
1300 
1301  fMenuD_NOE_ChNbFullC = 600101;
1302  fMenuD_NOE_ChNbSameC = 600102;
1303  fMenuD_NOE_ChNbAsciiFileC = 600104;
1304 
1305  fMenuD_Ped_ChNbFullC = 123051;
1306  fMenuD_Ped_ChNbSameC = 123052;
1307  fMenuD_Ped_ChNbAsciiFileC = 123054;
1308 
1309  fMenuD_TNo_ChNbFullC = 123061;
1310  fMenuD_TNo_ChNbSameC = 123062;
1311  fMenuD_TNo_ChNbSamePC = 123063;
1312  fMenuD_TNo_ChNbAsciiFileC = 123064;
1313 
1314  fMenuD_MCs_ChNbFullC = 123071;
1315  fMenuD_MCs_ChNbSameC = 123072;
1316  fMenuD_MCs_ChNbSamePC = 123073;
1317  fMenuD_MCs_ChNbAsciiFileC = 123074;
1318 
1319  fMenuD_LFN_ChNbFullC = 800051;
1320  fMenuD_LFN_ChNbSameC = 800052;
1321  fMenuD_LFN_ChNbSamePC = 800053;
1322  fMenuD_LFN_ChNbAsciiFileC = 800054;
1323 
1324  fMenuD_HFN_ChNbFullC = 800061;
1325  fMenuD_HFN_ChNbSameC = 800062;
1326  fMenuD_HFN_ChNbSamePC = 800063;
1327  fMenuD_HFN_ChNbAsciiFileC = 800064;
1328 
1329  fMenuD_SCs_ChNbFullC = 800071;
1330  fMenuD_SCs_ChNbSameC = 800072;
1331  fMenuD_SCs_ChNbSamePC = 800073;
1332  fMenuD_SCs_ChNbAsciiFileC = 800074;
1333 
1334  fMenuLFccColzC = 70010;
1335  fMenuLFccLegoC = 70011;
1336  fMenuHFccColzC = 70020;
1337  fMenuHFccLegoC = 70021;
1338 
1339  fMenuLFccMosColzC = 70110;
1340  fMenuLFccMosLegoC = 70111;
1341  fMenuHFccMosColzC = 70120;
1342  fMenuHFccMosLegoC = 70121;
1343 
1344  fMenuD_NOE_ChNbHocoVecoC = 524051;
1345  fMenuD_Ped_ChNbHocoVecoC = 524052;
1346  fMenuD_TNo_ChNbHocoVecoC = 524053;
1347  fMenuD_MCs_ChNbHocoVecoC = 524054;
1348  fMenuD_LFN_ChNbHocoVecoC = 524055;
1349  fMenuD_HFN_ChNbHocoVecoC = 524056;
1350  fMenuD_SCs_ChNbHocoVecoC = 524057;
1351 
1352  fStinAButC = 90009;
1353  fStinBButC = 90010;
1354 
1355  fChanButC = 6;
1356  fSampButC = 7;
1357 
1358  fMenuCorssAllColzC = 10;
1359  fMenuCovssAllColzC = 11;
1360 
1361  fMenuCorssColzC = 221;
1362  fMenuCorssBoxC = 222;
1363  fMenuCorssTextC = 223;
1364  fMenuCorssContzC = 224;
1365  fMenuCorssLegoC = 225;
1366  fMenuCorssSurf1C = 226;
1367  fMenuCorssSurf2C = 227;
1368  fMenuCorssSurf3C = 228;
1369  fMenuCorssSurf4C = 229;
1370  fMenuCorssAsciiFileC = 220;
1371 
1372  fMenuCovssColzC = 231;
1373  fMenuCovssBoxC = 232;
1374  fMenuCovssTextC = 233;
1375  fMenuCovssContzC = 234;
1376  fMenuCovssLegoC = 235;
1377  fMenuCovssSurf1C = 236;
1378  fMenuCovssSurf2C = 237;
1379  fMenuCovssSurf3C = 238;
1380  fMenuCovssSurf4C = 239;
1381  fMenuCovssAsciiFileC = 230;
1382 
1389 
1396 
1397  fMenuLFCorccColzC = 51;
1398  fMenuLFCorccLegoC = 52;
1399 
1400  fMenuHFCorccColzC = 61;
1401  fMenuHFCorccLegoC = 62;
1402 
1407 
1410 
1414 
1418 
1422 
1426 
1430 
1431  //...................... Init Button codes: Root version, Help, Exit
1432  fButStexNbC = 90;
1433  fButChNbC = 91;
1434  fButCloneC = 95;
1435  fButRootC = 96;
1436  fButHelpC = 97;
1437  fButExitC = 98;
1438 
1439  //=================================== LIN/LOG + Y proj + Color palette flags
1440  Int_t MaxCar = fgMaxCar;
1441  fMemoScaleX.Resize(MaxCar);
1442  fMemoScaleX = "LIN";
1443 
1444  MaxCar = fgMaxCar;
1445  fMemoScaleY.Resize(MaxCar);
1446  fMemoScaleY = "LIN";
1447 
1448  MaxCar = fgMaxCar;
1449  fMemoProjY.Resize(MaxCar);
1450  fMemoProjY = "normal";
1451 
1452  MaxCar = fgMaxCar;
1453  fMemoColPal.Resize(MaxCar);
1454  fMemoColPal = "ECCNAColor";
1455 
1456  //=================================== Init option codes =================================
1457 
1458  MaxCar = fgMaxCar;
1459  fOptPlotFull.Resize(MaxCar);
1460  fOptPlotFull = "ONLYONE";
1461 
1462  MaxCar = fgMaxCar;
1463  fOptPlotSame.Resize(MaxCar);
1464  fOptPlotSame = "SAME";
1465 
1466  MaxCar = fgMaxCar;
1467  fOptPlotSameP.Resize(MaxCar);
1468  fOptPlotSameP = "SAME n";
1469 
1470  MaxCar = fgMaxCar;
1471  fOptPlotSameInStin.Resize(MaxCar);
1472  fOptPlotSameInStin = "SAME in Stin";
1473 
1474  MaxCar = fgMaxCar;
1475  fOptAscii.Resize(MaxCar);
1476  fOptAscii = "ASCII";
1477 
1478 } // end of Init()
1479 
1480 
1481 
1482 //================================================================================================
1483 
1484 //-------------------------------------------------------------------------
1485 //
1486 //
1487 // B O X M A K I N G
1488 //
1489 //
1490 //-------------------------------------------------------------------------
1491 
1493 {
1494  // Gui box making
1495 
1496  //fCnaP = (TGWindow *)p;
1497  //fCnaW = w;
1498  //fCnaH = h;
1499 
1500  //......................... Background colors
1501 
1502  //TColor* my_color = new TColor();
1503  //Color_t orange = (Color_t)my_color->GetColor("#FF6611"); // orange
1504 
1505  Pixel_t SubDetColor = GetBackground();
1506 
1507  if( fSubDet == "EB" ){SubDetColor = GetBackground();}
1508  if( fSubDet == "EE" ){SubDetColor = GetBackground();}
1509 
1510  // Bool_t GlobFont = kFALSE;
1511 
1512  //Pixel_t BkgColMainWindow = (Pixel_t)SubDetColor;
1513  //Pixel_t BkgColChSpFrame = (Pixel_t)SubDetColor;
1514  //Pixel_t BkgColStexUpFrame = (Pixel_t)SubDetColor;
1515 
1516  // Pixel_t BkgColButExit = (Pixel_t)555888;
1517 
1518  // enum ELayoutHints {
1519  // kLHintsNoHints = 0,
1520  // kLHintsLeft = BIT(0),
1521  // kLHintsCenterX = BIT(1),
1522  // kLHintsRight = BIT(2),
1523  // kLHintsTop = BIT(3),
1524  // kLHintsCenterY = BIT(4),
1525  // kLHintsBottom = BIT(5),
1526  // kLHintsExpandX = BIT(6),
1527  // kLHintsExpandY = BIT(7),
1528  // kLHintsNormal = (kLHintsLeft | kLHintsTop)
1529  // bits 8-11 used by ETableLayoutHints
1530  // };
1531 
1532  fLayoutGeneral = new TGLayoutHints (kLHintsCenterX | kLHintsCenterY); fCnew++;
1533  fLayoutBottLeft = new TGLayoutHints (kLHintsLeft | kLHintsBottom); fCnew++;
1534  fLayoutTopLeft = new TGLayoutHints (kLHintsLeft | kLHintsTop); fCnew++;
1535  fLayoutBottRight = new TGLayoutHints (kLHintsRight | kLHintsBottom); fCnew++;
1536  fLayoutTopRight = new TGLayoutHints (kLHintsRight | kLHintsTop); fCnew++;
1537  fLayoutCenterYLeft = new TGLayoutHints (kLHintsLeft | kLHintsCenterY); fCnew++;
1538  fLayoutCenterYRight = new TGLayoutHints (kLHintsRight | kLHintsCenterY); fCnew++;
1539  fLayoutCenterXTop = new TGLayoutHints (kLHintsCenterX | kLHintsTop); fCnew++;
1540 
1541  fVoidFrame = new TGCompositeFrame(this,60,20, kVerticalFrame, kSunkenFrame); fCnew++;
1542  AddFrame(fVoidFrame, fLayoutGeneral);
1543 
1544  //......................... Pads border
1545  Int_t xB1 = 0;
1546 
1547  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1548  //
1549  // SECTOR 1: Submit, File Parameters, Calculations, ...
1550  //
1551  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1552 
1553  //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1554  //
1555  // Horizontal frame Analysis + First requested evt number + Run number
1556  //
1557  //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1558  fAnaNorsRunFrame = new TGCompositeFrame(this,60,20,kHorizontalFrame,
1559  GetDefaultFrameBackground()); fCnew++;
1560 
1561  //=================================== ANALYSIS NAME (type of analysis)
1562  TString xAnaButText = " Analysis ";
1563  Int_t typ_of_ana_buf_lenght = 80;
1564  fAnaFrame = new TGCompositeFrame(fAnaNorsRunFrame,60,20, kHorizontalFrame,
1565  kSunkenFrame); fCnew++;
1566  //..................... Button
1567  fAnaBut = new TGTextButton(fAnaFrame, xAnaButText, fAnaButC); fCnew++;
1568  fAnaBut->Connect("Clicked()","TEcnaGui", this, "DoButtonAna()");
1569  // fAnaBut->Resize(typ_of_ana_buf_lenght, fAnaBut->GetDefaultHeight());
1570  fAnaBut->SetToolTipText("Click here to register the analysis name written on the right");
1571  fAnaBut->SetBackgroundColor(SubDetColor);
1572  //fAnaBut->SetFont("courier", GlobFont);
1573  fLayoutAnaBut =
1574  new TGLayoutHints(kLHintsLeft | kLHintsTop, xB1,xB1,xB1,xB1); fCnew++;
1575  fAnaFrame->AddFrame(fAnaBut, fLayoutAnaBut);
1576  //...................... Entry field
1577  fEntryAnaNumber = new TGTextBuffer(); fCnew++;
1578  fAnaText = new TGTextEntry(fAnaFrame, fEntryAnaNumber); fCnew++;
1579  fAnaText->SetToolTipText
1580  ("Click and enter the analysis name (code for type of analysis)");
1581  fAnaText->Resize(typ_of_ana_buf_lenght, fAnaText->GetDefaultHeight());
1583  fAnaText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonAna()");
1584  fLayoutAnaField =
1585  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
1586  fAnaFrame->AddFrame(fAnaText, fLayoutAnaField);
1587 
1588  //=================================== FIRST REQUESTED EVENT NUMBER
1589  TString xFirstReqEvtNumberButText = " 1st event# ";
1590  Int_t first_evt_buf_lenght = 65;
1591  fFevFrame =
1592  new TGCompositeFrame(fAnaNorsRunFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
1593 
1594  fFevBut= new TGTextButton(fFevFrame, xFirstReqEvtNumberButText); fCnew++;
1595  fFevBut->Connect("Clicked()","TEcnaGui", this, "DoButtonFev()");
1596  fFevBut->SetToolTipText
1597  ("Click here to register the number of the first requested event number");
1598  fFevBut->SetBackgroundColor(SubDetColor);
1599  fLayoutFevBut =
1600  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
1601  fFevFrame->AddFrame(fFevBut, fLayoutFevBut);
1602 
1603  fEntryFevNumber = new TGTextBuffer(); fCnew++;
1604  fFevText = new TGTextEntry(fFevFrame, fEntryFevNumber); fCnew++;
1605  fFevText->SetToolTipText("Click and enter the first requested event number");
1606  fFevText->Resize(first_evt_buf_lenght, fFevText->GetDefaultHeight());
1608  fFevText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonFev()");
1610  new TGLayoutHints(kLHintsBottom | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
1612 
1613  //=================================== RUN
1614  TString xRunButText = " Run ";
1615  Int_t run_buf_lenght = 65;
1616  fRunFrame = new TGCompositeFrame(fAnaNorsRunFrame,0,0,
1617  kHorizontalFrame, kSunkenFrame); fCnew++;
1618  fRunBut = new TGTextButton(fRunFrame, xRunButText, fRunButC); fCnew++;
1619  fRunBut->Connect("Clicked()","TEcnaGui", this, "DoButtonRun()");
1620  fRunBut->SetToolTipText("Click here to register the run number");
1621  fRunBut->SetBackgroundColor(SubDetColor);
1622  // fRunBut->SetFont("helvetica", GlobFont);
1623  fLayoutRunBut =
1624  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1); fCnew++;
1625  fRunFrame->AddFrame(fRunBut, fLayoutRunBut);
1626  fEntryRunNumber = new TGTextBuffer(); fCnew++;
1627  fRunText = new TGTextEntry(fRunFrame, fEntryRunNumber); fCnew++;
1628  fRunText->SetToolTipText("Click and enter the run number");
1629  fRunText->Resize(run_buf_lenght, fRunText->GetDefaultHeight());
1631  fRunText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonRun()");
1632  fLayoutRunField =
1633  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
1634  fRunFrame->AddFrame(fRunText, fLayoutRunField);
1635 
1636  //-------------------------- display frame ana + Fev + Run
1640  fLayoutAnaNorsRunFrame = new TGLayoutHints(kLHintsTop | kLHintsExpandX,
1641  xB1, xB1, xB1, xB1); fCnew++;
1642 
1644 
1645  //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1646  //
1647  // Horizontal frame Nb Of Samples + last requested evt number + Clean + Submit
1648  //
1649  //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1650  fFevLevStexFrame = new TGCompositeFrame(this,60,20,kHorizontalFrame,
1651  GetDefaultFrameBackground()); fCnew++;
1652 
1653  //=================================== Number Of Requested Samples
1654  TString xNorsButText = "Nb Samp in File";
1655  Int_t nors_buf_lenght = 45;
1656  fNorsFrame = new TGCompositeFrame(fFevLevStexFrame,0,0, kHorizontalFrame,
1657  kSunkenFrame); fCnew++;
1658  //..................... Button
1659  fNorsBut = new TGTextButton(fNorsFrame, xNorsButText, fNorsButC); fCnew++;
1660  fNorsBut->Connect("Clicked()","TEcnaGui", this, "DoButtonNors()");
1661  //fNorsBut->Resize(nors_buf_lenght, fNorsBut->GetDefaultHeight());
1662  fNorsBut->SetToolTipText("Click here to register the value written on the right");
1663  fNorsBut->SetBackgroundColor(SubDetColor);
1664  //fNorsBut->SetFont("courier", GlobFont);
1665  fLayoutNorsBut =
1666  new TGLayoutHints(kLHintsLeft | kLHintsTop, xB1,xB1,xB1,xB1); fCnew++;
1667  fNorsFrame->AddFrame(fNorsBut, fLayoutNorsBut);
1668  //...................... Entry field
1669  fEntryNorsNumber = new TGTextBuffer(); fCnew++;
1670  fNorsText = new TGTextEntry(fNorsFrame, fEntryNorsNumber); fCnew++;
1671  fNorsText->SetToolTipText("Click and enter the number of required samples");
1672  fNorsText->Resize(nors_buf_lenght, fNorsText->GetDefaultHeight());
1674  fNorsText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonNors()");
1676  new TGLayoutHints(kLHintsTop | kLHintsCenterX, xB1,xB1,xB1,xB1); fCnew++;
1678 
1679  //=================================== LAST REQUESTED EVENT NUMBER
1680  TString xLastReqEvtButText = " Last event# ";
1681  Int_t last_evt_buf_lenght = 65;
1682  fLevFrame =
1683  new TGCompositeFrame(fFevLevStexFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
1684 
1685  fLevBut = new TGTextButton(fLevFrame, xLastReqEvtButText); fCnew++;
1686  fLevBut->Connect("Clicked()","TEcnaGui", this, "DoButtonLev()");
1687  fLevBut->SetToolTipText("Click here to register the last requested event number");
1688  fLevBut->SetBackgroundColor(SubDetColor);
1689  fLayoutLevBut =
1690  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
1691  fLevFrame->AddFrame(fLevBut, fLayoutLevBut);
1692 
1693  fEntryLevNumber = new TGTextBuffer(); fCnew++;
1694  fLevText = new TGTextEntry(fLevFrame, fEntryLevNumber); fCnew++;
1695  fLevText->SetToolTipText("Click and enter the last requested event number");
1696  fLevText->Resize(last_evt_buf_lenght, fLevText->GetDefaultHeight());
1698  fLevText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonLev()");
1700  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
1702 
1703  //----------------------------------- Clean
1704  TString xMenuBarClean = "Clean ";
1705 
1706  fMenuClean = new TGPopupMenu(gClient->GetRoot()); fCnew++;
1707  fMenuClean->AddEntry("Submission scripts",fMenuCleanSubC);
1708  fMenuClean->AddEntry("LSFJOB reports",fMenuCleanJobC);
1709  fMenuClean->AddEntry("Python files",fMenuCleanPythC);
1710  fMenuClean->AddEntry("All",fMenuCleanAllC);
1711 
1712  fMenuClean->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
1713  fMenuBarClean = new TGMenuBar(fFevLevStexFrame , 1, 1, kHorizontalFrame); fCnew++;
1714  fMenuBarClean->AddPopup(xMenuBarClean, fMenuClean, fLayoutTopLeft);
1715 
1716  //--------------------------------- SUBMIT IN BATCH MODE
1717  TString xMenuBarSubmit = " Submit ";
1718  fMenuSubmit = new TGPopupMenu(gClient->GetRoot()); fCnew++;
1719 
1720  fMenuSubmit->AddEntry(" -q 8nm ",fMenuSubmit8nmC);
1721  fMenuSubmit->AddEntry(" -q 1nh ",fMenuSubmit1nhC);
1722  fMenuSubmit->AddEntry(" -q 8nh ",fMenuSubmit8nhC);
1723  fMenuSubmit->AddEntry(" -q 1nd ",fMenuSubmit1ndC);
1724  fMenuSubmit->AddEntry(" -q 1nw ",fMenuSubmit1nwC);
1725 
1726  fMenuSubmit->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
1727  fMenuBarSubmit = new TGMenuBar(fFevLevStexFrame, 1, 1, kHorizontalFrame); fCnew++;
1728  fMenuBarSubmit->AddPopup(xMenuBarSubmit, fMenuSubmit, fLayoutTopLeft);
1729 
1730  //-------------------------- display frame Nors + Lev + Clean + Submit
1735 
1736  fLayoutFevLevStexFrame = new TGLayoutHints(kLHintsTop | kLHintsExpandX,
1737  xB1, xB1, xB1, xB1); fCnew++;
1738 
1740 
1741 
1742  //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1743  //
1744  // Horizontal Frame: StexNumber + Nb of Requested events
1745  //
1746  //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1747  fCompStRqFrame = new TGCompositeFrame(this,60,20,kHorizontalFrame,
1748  GetDefaultFrameBackground()); fCnew++;
1749 
1750  //----------------------------------- STEX NUMBER
1751  TString xSumoButText;
1752  if( fSubDet == "EB" ){xSumoButText = " SM# (0=EB) ";}
1753  if( fSubDet == "EE" ){xSumoButText = " Dee# (0=EE) ";}
1754 
1755  Int_t stex_number_buf_lenght = 36;
1756  fStexFrame =
1757  new TGCompositeFrame(fCompStRqFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
1758 
1759  fStexBut = new TGTextButton(fStexFrame, xSumoButText); fCnew++;
1760  fStexBut->Connect("Clicked()","TEcnaGui", this, "DoButtonStex()");
1761  fStexBut->SetToolTipText("Click here to register the number written on the right");
1762  fStexBut->SetBackgroundColor(SubDetColor);
1763  //fStexBut->SetFont("courier", GlobFont);
1764  fLayoutStexBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
1765  fStexFrame->AddFrame(fStexBut, fLayoutStexBut);
1766 
1767  fEntryStexNumber = new TGTextBuffer(); fCnew++;
1768  fStexText = new TGTextEntry(fStexFrame, fEntryStexNumber); fCnew++;
1769 
1770  TString xStexNumber;
1771  if( fSubDet == "EB" ){xStexNumber = "Click and enter the SM number";}
1772  if( fSubDet == "EE" ){xStexNumber = "Click and enter the Dee number";}
1773  fStexText->SetToolTipText(xStexNumber);
1774  fStexText->Resize(stex_number_buf_lenght, fStexText->GetDefaultHeight());
1776  fStexText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonStex()");
1777 
1779  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
1781 
1782  //=================================== NUMBER OF REQUESTED EVENTS
1783  TString xNbOfReqEvtButText = " Nb of events ";
1784  Int_t nbof_evt_buf_lenght = 65;
1785  fRevFrame =
1786  new TGCompositeFrame(fCompStRqFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
1787 
1788  fRevBut = new TGTextButton(fRevFrame, xNbOfReqEvtButText); fCnew++;
1789  fRevBut->Connect("Clicked()","TEcnaGui", this, "DoButtonRev()");
1790  fRevBut->SetToolTipText("Click here to register the requested number of events");
1791  fRevBut->SetBackgroundColor(SubDetColor);
1792  fLayoutRevBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
1793  fRevFrame->AddFrame(fRevBut, fLayoutRevBut);
1794 
1795  fEntryRevNumber = new TGTextBuffer(); fCnew++;
1796  fRevText = new TGTextEntry(fRevFrame, fEntryRevNumber); fCnew++;
1797  fRevText->SetToolTipText("Click and enter the requested number of events");
1798  fRevText->Resize(nbof_evt_buf_lenght, fRevText->GetDefaultHeight());
1800  fRevText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonRev()");
1802  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
1804 
1805  //-------------------------- display frame stex number + Nb of req evts
1808 
1809  fLayoutCompStRqFrame = new TGLayoutHints(kLHintsTop | kLHintsExpandX,
1810  xB1, xB1, xB1, xB1); fCnew++;
1812  AddFrame(fVoidFrame, fLayoutGeneral);
1813 
1814 
1815  //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1816  //
1817  // Horizontal Frame: StexStin numbering + NbSampForCalc + Calculations
1818  //
1819  //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1820  fCompStnbFrame = new TGCompositeFrame(this,60,20,kHorizontalFrame,
1821  GetDefaultFrameBackground()); fCnew++;
1822 
1823 
1824  // ---------------------------------STEX STIN NUMBERING VIEW BUTTON
1825  //............ Button texts and lenghts of the input widgets
1826  TString xStexNbButText;
1827  if( fSubDet == "EB" ){xStexNbButText = "SM Tower Numbering";}
1828  if( fSubDet == "EE" ){xStexNbButText = "Dee SC Numbering";}
1829  fButStexNb = new TGTextButton(fCompStnbFrame, xStexNbButText, fButStexNbC); fCnew++;
1830  fButStexNb->Connect("Clicked()","TEcnaGui", this, "DoButtonStexNb()");
1831  fButStexNb->SetBackgroundColor(SubDetColor);
1832 
1833  //----------------------------------- Nb Of Samples For Calculations
1834  TString xNbSampForCalcButText = "Nb Samp Calc";
1835  Int_t nb_of_samp_calc_buf_lenght = 28;
1837  new TGCompositeFrame(fCompStnbFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
1838 
1839  fNbSampForCalcBut = new TGTextButton(fNbSampForCalcFrame, xNbSampForCalcButText); fCnew++;
1840  fNbSampForCalcBut->Connect("Clicked()","TEcnaGui", this, "DoButtonNbSampForCalc()");
1841  fNbSampForCalcBut->SetToolTipText("Click here to register the number written on the right");
1842  fNbSampForCalcBut->SetBackgroundColor(SubDetColor);
1843  //fNbSampForCalcBut->SetFont("courier", GlobFont);
1844  fLayoutNbSampForCalcBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
1846 
1847  fEntryNbSampForCalcNumber = new TGTextBuffer(); fCnew++;
1849 
1850  TString xNbSampForCalcNumber = "Click and enter the nb of samples for calculations";
1851  fNbSampForCalcText->SetToolTipText(xNbSampForCalcNumber);
1852  fNbSampForCalcText->Resize(nb_of_samp_calc_buf_lenght, fNbSampForCalcText->GetDefaultHeight());
1854  fNbSampForCalcText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonNbSampForCalc()");
1855 
1857  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
1859 
1860  //--------------------------------- Calculations Menu
1861  TString xMenuBarComput = "Calculations ";
1862  fMenuComput = new TGPopupMenu(gClient->GetRoot()); fCnew++;
1863  fMenuComput->AddEntry("Standard ( Pedestals, Noises, Cor(s,s') )",fMenuComputStdC);
1864  fMenuComput->AddEntry("Standard + |Cor(t,t')| (long time)",fMenuComputSttC);
1865  fMenuComput->AddEntry("Standard + |Cor(t,t')| + |Cor(c,c')| (long time + big file)",fMenuComputSccC);
1866 
1867  fMenuComput->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
1868  fMenuBarComput = new TGMenuBar(fCompStnbFrame , 1, 1, kHorizontalFrame); fCnew++;
1869  fMenuBarComput->AddPopup(xMenuBarComput, fMenuComput, fLayoutTopLeft);
1870 
1871  //-------------------------- display frame stexstin numbering + Nb samp for calc + Calculations
1875 
1876  fLayoutCompStnbFrame = new TGLayoutHints(kLHintsTop | kLHintsExpandX,
1877  xB1, xB1, xB1, xB1); fCnew++;
1879  AddFrame(fVoidFrame, fLayoutGeneral);
1880 
1881  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1882  //
1883  // SECTOR 2: Stex's if SM # 0 or Stas's if SM =0
1884  //
1885  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1886  Int_t minmax_buf_lenght = 45;
1887 
1888  fStexUpFrame = new TGCompositeFrame
1889  (this,60,20,kVerticalFrame, GetDefaultFrameBackground()); fCnew++;
1890  TString xYminButText = " Ymin ";
1891  TString xYmaxButText = " Ymax ";
1892  //########################################### Composite frame number of events found in the data
1893  fVmmD_NOE_ChNbFrame = new TGCompositeFrame
1894  (fStexUpFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
1895  //...................................... Menu number of events found in the data
1896 
1897  //...................................... Frame for Ymax
1898  fVmaxD_NOE_ChNbFrame = new TGCompositeFrame
1899  (fVmmD_NOE_ChNbFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
1900  //...................................... Button Max + Entry field
1901  fVmaxD_NOE_ChNbBut = new TGTextButton(fVmaxD_NOE_ChNbFrame, xYmaxButText); fCnew++;
1902  fVmaxD_NOE_ChNbBut->Connect("Clicked()","TEcnaGui", this, "DoButtonVmaxD_NOE_ChNb()");
1903  fVmaxD_NOE_ChNbBut->SetToolTipText("Click here to register ymax for the display of the quantity");
1904  fVmaxD_NOE_ChNbBut->SetBackgroundColor(SubDetColor);
1906  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
1908  fEntryVmaxD_NOE_ChNbNumber = new TGTextBuffer(); fCnew++;
1910  new TGTextEntry(fVmaxD_NOE_ChNbFrame, fEntryVmaxD_NOE_ChNbNumber); fCnew++;
1911  fVmaxD_NOE_ChNbText->SetToolTipText("Click and enter ymax");
1912  fVmaxD_NOE_ChNbText->Resize(minmax_buf_lenght, fVmaxD_NOE_ChNbText->GetDefaultHeight());
1914  fVmaxD_NOE_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVmaxD_NOE_ChNb()");
1915 
1917  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
1920  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
1922 
1923  //...................................... Frame for Ymin
1924  fVminD_NOE_ChNbFrame = new TGCompositeFrame
1925  (fVmmD_NOE_ChNbFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
1926  //...................................... Button Min + Entry field
1927  fVminD_NOE_ChNbBut = new TGTextButton(fVminD_NOE_ChNbFrame, xYminButText); fCnew++;
1928  fVminD_NOE_ChNbBut->Connect("Clicked()","TEcnaGui", this, "DoButtonVminD_NOE_ChNb()");
1929  fVminD_NOE_ChNbBut->SetToolTipText("Click here to register ymin for the display of the quantity");
1930  fVminD_NOE_ChNbBut->SetBackgroundColor(SubDetColor);
1932  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
1934  fEntryVminD_NOE_ChNbNumber = new TGTextBuffer(); fCnew++;
1936  new TGTextEntry(fVminD_NOE_ChNbFrame, fEntryVminD_NOE_ChNbNumber); fCnew++;
1937  fVminD_NOE_ChNbText->SetToolTipText("Click and enter ymin");
1938  fVminD_NOE_ChNbText->Resize(minmax_buf_lenght, fVminD_NOE_ChNbText->GetDefaultHeight());
1940  fVminD_NOE_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVminD_NOE_ChNb()");
1942  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
1945  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
1947 
1948  //...................................... MenuBar strings
1949  TString xHistoChannels = "1D Histo";
1950  TString xHistoChannelsSame = "1D Histo SAME" ;
1951  TString xHistoChannelsSameP = "1D Histo SAME n";
1952  TString xHistoProjection = "1D Histo Projection";
1953  TString xHistoProjectionSame = "1D Histo Projection SAME";
1954  TString xHistoProjectionSameP = "1D Histo Projection SAME n";
1955  TString xHocoVecoViewSorS = "2D, Histo";
1956  if( fSubDet == "EB" ){xHocoVecoViewSorS = "2D, Histo (eta,phi)";}
1957  if( fSubDet == "EE" ){xHocoVecoViewSorS = "2D, Histo (IX,IY)";}
1958  TString xAsciiFileStex = "1D Histo, write in ASCII file";
1959 
1960  //...................................... Frame
1961  TString xMenuD_NOE_ChNb = "Numbers of events ";
1962  fMenuD_NOE_ChNb = new TGPopupMenu(gClient->GetRoot()); fCnew++;
1963  fMenuD_NOE_ChNb->AddEntry(xHistoChannels,fMenuD_NOE_ChNbFullC);
1964  fMenuD_NOE_ChNb->AddEntry(xHistoChannelsSame,fMenuD_NOE_ChNbSameC);
1965  fMenuD_NOE_ChNb->AddSeparator();
1966  fMenuD_NOE_ChNb->AddEntry(xHocoVecoViewSorS,fMenuD_NOE_ChNbHocoVecoC);
1967  fMenuD_NOE_ChNb->AddSeparator();
1968  fMenuD_NOE_ChNb->AddEntry(xAsciiFileStex,fMenuD_NOE_ChNbAsciiFileC);
1969  fMenuD_NOE_ChNb->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
1970  fMenuBarD_NOE_ChNb = new TGMenuBar(fVmmD_NOE_ChNbFrame, 1, 1, kHorizontalFrame); fCnew++;
1971 
1972  //fMenuBarD_NOE_ChNb->SetMinWidth(200); // <= N'A STRICTEMENT AUCUN EFFET.
1973 
1974  fMenuBarD_NOE_ChNb->AddPopup(xMenuD_NOE_ChNb, fMenuD_NOE_ChNb, fLayoutGeneral);
1975  fLayoutMenuBarD_NOE_ChNb = new TGLayoutHints(kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
1978  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
1980 
1981  //............................. Expectation values + Sigmas Vertical frame
1982  fStexHozFrame =
1983  new TGCompositeFrame(fStexUpFrame,60,20,kVerticalFrame,
1984  GetDefaultFrameBackground()); fCnew++;
1985 
1986  //########################################### Composite frame ev of ev (pedestals)
1987  fVmmD_Ped_ChNbFrame = new TGCompositeFrame
1988  (fStexHozFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
1989 
1990  //...................................... Menu ev of ev
1991 
1992  //...................................... Frame for Ymax
1993  fVmaxD_Ped_ChNbFrame = new TGCompositeFrame
1994  (fVmmD_Ped_ChNbFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
1995  //...................................... Button Max + Entry field
1996  fVmaxD_Ped_ChNbBut = new TGTextButton(fVmaxD_Ped_ChNbFrame, xYmaxButText); fCnew++;
1997  fVmaxD_Ped_ChNbBut->Connect("Clicked()","TEcnaGui", this, "DoButtonVmaxD_Ped_ChNb()");
1998  fVmaxD_Ped_ChNbBut->SetToolTipText("Click here to register ymax for the display of the quantity");
1999  fLayoutVmaxD_Ped_ChNbBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2000  fVmaxD_Ped_ChNbBut->SetBackgroundColor(SubDetColor);
2002  fEntryVmaxD_Ped_ChNbNumber = new TGTextBuffer(); fCnew++;
2004  fVmaxD_Ped_ChNbText->SetToolTipText("Click and enter ymax");
2005  fVmaxD_Ped_ChNbText->Resize(minmax_buf_lenght, fVmaxD_Ped_ChNbText->GetDefaultHeight());
2007  fVmaxD_Ped_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVmaxD_Ped_ChNb()");
2009  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2012  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2014 
2015  //...................................... Frame for Ymin
2016  fVminD_Ped_ChNbFrame = new TGCompositeFrame
2017  (fVmmD_Ped_ChNbFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2018  //...................................... Button Min + Entry field
2019  fVminD_Ped_ChNbBut = new TGTextButton(fVminD_Ped_ChNbFrame, xYminButText); fCnew++;
2020  fVminD_Ped_ChNbBut->Connect("Clicked()","TEcnaGui", this, "DoButtonVminD_Ped_ChNb()");
2021  fVminD_Ped_ChNbBut->SetToolTipText("Click here to register ymin for the display of the quantity");
2022  fVminD_Ped_ChNbBut->SetBackgroundColor(SubDetColor);
2024  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2026 
2027  fEntryVminD_Ped_ChNbNumber = new TGTextBuffer(); fCnew++;
2029  fVminD_Ped_ChNbText->SetToolTipText("Click and enter ymin");
2030  fVminD_Ped_ChNbText->Resize(minmax_buf_lenght, fVminD_Ped_ChNbText->GetDefaultHeight());
2032  fVminD_Ped_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVminD_Ped_ChNb()");
2034  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2037  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2039 
2040  //...................................... Frame
2041  TString xMenuD_Ped_ChNb = " Pedestals ";
2042  fMenuD_Ped_ChNb = new TGPopupMenu(gClient->GetRoot()); fCnew++;
2043  fMenuD_Ped_ChNb->AddEntry(xHistoChannels,fMenuD_Ped_ChNbFullC);
2044  fMenuD_Ped_ChNb->AddEntry(xHistoChannelsSame,fMenuD_Ped_ChNbSameC);
2045  fMenuD_Ped_ChNb->AddSeparator();
2046  fMenuD_Ped_ChNb->AddEntry(xHocoVecoViewSorS,fMenuD_Ped_ChNbHocoVecoC);
2047  fMenuD_Ped_ChNb->AddSeparator();
2048  fMenuD_Ped_ChNb->AddEntry(xAsciiFileStex,fMenuD_Ped_ChNbAsciiFileC);
2049  fMenuD_Ped_ChNb->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
2050  fMenuBarD_Ped_ChNb = new TGMenuBar(fVmmD_Ped_ChNbFrame, 1, 1, kHorizontalFrame); fCnew++;
2051  fMenuBarD_Ped_ChNb->AddPopup(xMenuD_Ped_ChNb, fMenuD_Ped_ChNb, fLayoutGeneral);
2052  fLayoutMenuBarD_Ped_ChNb = new TGLayoutHints(kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2054 
2056  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2058 
2059  //########################################### Composite frame for TOTAL NOISE
2060  fVmmD_TNo_ChNbFrame = new TGCompositeFrame
2061  (fStexHozFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2062 
2063  //...................................... Menu ev of sig
2064  //...................................... Frame for Ymax
2065  fVmaxD_TNo_ChNbFrame = new TGCompositeFrame
2066  (fVmmD_TNo_ChNbFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2067  //...................................... Button Max + Entry field
2068  fVmaxD_TNo_ChNbBut = new TGTextButton(fVmaxD_TNo_ChNbFrame, xYmaxButText); fCnew++;
2069  fVmaxD_TNo_ChNbBut->Connect("Clicked()","TEcnaGui", this, "DoButtonVmaxD_TNo_ChNb()");
2070  fVmaxD_TNo_ChNbBut->SetToolTipText("Click here to register ymax for the display of the quantity");
2071  fVmaxD_TNo_ChNbBut->SetBackgroundColor(SubDetColor);
2073  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2075  fEntryVmaxD_TNo_ChNbNumber = new TGTextBuffer(); fCnew++;
2077  fVmaxD_TNo_ChNbText->SetToolTipText("Click and enter ymax");
2078  fVmaxD_TNo_ChNbText->Resize(minmax_buf_lenght, fVmaxD_TNo_ChNbText->GetDefaultHeight());
2080  fVmaxD_TNo_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVmaxD_TNo_ChNb()");
2082  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2085  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2087 
2088  //...................................... Frame for Ymin
2089  fVminD_TNo_ChNbFrame = new TGCompositeFrame
2090  (fVmmD_TNo_ChNbFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2091  //...................................... Button Min + Entry field
2092  fVminD_TNo_ChNbBut = new TGTextButton(fVminD_TNo_ChNbFrame, xYminButText); fCnew++;
2093  fVminD_TNo_ChNbBut->Connect("Clicked()","TEcnaGui", this, "DoButtonVminD_TNo_ChNb()");
2094  fVminD_TNo_ChNbBut->SetToolTipText("Click here to register ymin for the display of the quantity");
2095  fVminD_TNo_ChNbBut->SetBackgroundColor(SubDetColor);
2097  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2099 
2100  fEntryVminD_TNo_ChNbNumber = new TGTextBuffer(); fCnew++;
2102  fVminD_TNo_ChNbText->SetToolTipText("Click and enter ymin");
2103  fVminD_TNo_ChNbText->Resize(minmax_buf_lenght, fVminD_TNo_ChNbText->GetDefaultHeight());
2105  fVminD_TNo_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVminD_TNo_ChNb()");
2107  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2110  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2112 
2113  //...................................... Frame
2114  TString xMenuD_TNo_ChNb = " Total Noise ";
2115  fMenuD_TNo_ChNb = new TGPopupMenu(gClient->GetRoot()); fCnew++;
2116  fMenuD_TNo_ChNb->AddEntry(xHistoChannels,fMenuD_TNo_ChNbFullC);
2117  fMenuD_TNo_ChNb->AddEntry(xHistoChannelsSame,fMenuD_TNo_ChNbSameC);
2118  fMenuD_TNo_ChNb->AddEntry(xHistoChannelsSameP,fMenuD_TNo_ChNbSamePC);
2119  fMenuD_TNo_ChNb->AddSeparator();
2120  fMenuD_TNo_ChNb->AddEntry(xHocoVecoViewSorS,fMenuD_TNo_ChNbHocoVecoC);
2121  fMenuD_TNo_ChNb->AddSeparator();
2122  fMenuD_TNo_ChNb->AddEntry(xAsciiFileStex,fMenuD_TNo_ChNbAsciiFileC);
2123  fMenuD_TNo_ChNb->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
2124  fMenuBarD_TNo_ChNb = new TGMenuBar(fVmmD_TNo_ChNbFrame, 1, 1, kHorizontalFrame); fCnew++;
2125  fMenuBarD_TNo_ChNb->AddPopup(xMenuD_TNo_ChNb, fMenuD_TNo_ChNb, fLayoutGeneral);
2126  fLayoutMenuBarD_TNo_ChNb = new TGLayoutHints(kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2128 
2130  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2132 
2133  //########################################### Composite frame for LOW FREQUENCY NOISE
2134  fVmmD_LFN_ChNbFrame = new TGCompositeFrame
2135  (fStexHozFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2136 
2137  //...................................... Menu sig of ev (LOW FREQUENCY NOISE)
2138  //...................................... Frame for Ymax
2139  fVmaxD_LFN_ChNbFrame = new TGCompositeFrame
2140  (fVmmD_LFN_ChNbFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2141  //...................................... Button Max + Entry field
2142  fVmaxD_LFN_ChNbBut = new TGTextButton(fVmaxD_LFN_ChNbFrame, xYmaxButText); fCnew++;
2143  fVmaxD_LFN_ChNbBut->Connect("Clicked()","TEcnaGui", this, "DoButtonVmaxD_LFN_ChNb()");
2144  fVmaxD_LFN_ChNbBut->SetToolTipText("Click here to register ymax for the display of the quantity");
2145  fVmaxD_LFN_ChNbBut->SetBackgroundColor(SubDetColor);
2147  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2149  fEntryVmaxD_LFN_ChNbNumber = new TGTextBuffer(); fCnew++;
2151  fVmaxD_LFN_ChNbText->SetToolTipText("Click and enter ymax");
2152  fVmaxD_LFN_ChNbText->Resize(minmax_buf_lenght, fVmaxD_LFN_ChNbText->GetDefaultHeight());
2154  fVmaxD_LFN_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVmaxD_LFN_ChNb()");
2156  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2159  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2161 
2162  //...................................... Frame for Ymin
2163  fVminD_LFN_ChNbFrame = new TGCompositeFrame
2164  (fVmmD_LFN_ChNbFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2165  //...................................... Button Min + Entry field
2166  fVminD_LFN_ChNbBut = new TGTextButton(fVminD_LFN_ChNbFrame, xYminButText); fCnew++;
2167  fVminD_LFN_ChNbBut->Connect("Clicked()","TEcnaGui", this, "DoButtonVminD_LFN_ChNb()");
2168  fVminD_LFN_ChNbBut->SetToolTipText("Click here to register ymin for the display of the quantity");
2169  fVminD_LFN_ChNbBut->SetBackgroundColor(SubDetColor);
2171  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2173  fEntryVminD_LFN_ChNbNumber = new TGTextBuffer(); fCnew++;
2175  fVminD_LFN_ChNbText->SetToolTipText("Click and enter ymin");
2176  fVminD_LFN_ChNbText->Resize(minmax_buf_lenght, fVminD_LFN_ChNbText->GetDefaultHeight());
2178  fVminD_LFN_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVminD_LFN_ChNb()");
2180  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2183  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2185 
2186  //...................................... Frame
2187  TString xMenuD_LFN_ChNb = " Low Frequency Noise ";
2188  fMenuD_LFN_ChNb = new TGPopupMenu(gClient->GetRoot()); fCnew++;
2189  fMenuD_LFN_ChNb->AddEntry(xHistoChannels,fMenuD_LFN_ChNbFullC);
2190  fMenuD_LFN_ChNb->AddEntry(xHistoChannelsSame,fMenuD_LFN_ChNbSameC);
2191  fMenuD_LFN_ChNb->AddEntry(xHistoChannelsSameP,fMenuD_LFN_ChNbSamePC);
2192  fMenuD_LFN_ChNb->AddSeparator();
2193  fMenuD_LFN_ChNb->AddEntry(xHocoVecoViewSorS,fMenuD_LFN_ChNbHocoVecoC);
2194  fMenuD_LFN_ChNb->AddSeparator();
2195  fMenuD_LFN_ChNb->AddEntry(xAsciiFileStex,fMenuD_LFN_ChNbAsciiFileC);
2196  fMenuD_LFN_ChNb->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
2197  fMenuBarD_LFN_ChNb = new TGMenuBar(fVmmD_LFN_ChNbFrame, 1, 1, kHorizontalFrame); fCnew++;
2198  fMenuBarD_LFN_ChNb->AddPopup(xMenuD_LFN_ChNb, fMenuD_LFN_ChNb, fLayoutGeneral);
2199  fLayoutMenuBarD_LFN_ChNb = new TGLayoutHints(kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2202  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2204 
2205  //########################################### Composite frame for HIGH FREQUENCY NOISE
2206  fVmmD_HFN_ChNbFrame = new TGCompositeFrame
2207  (fStexHozFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2208 
2209  //...................................... Menu sig of sig (HIGH FREQUENCY NOISE)
2210  //...................................... Frame for Ymax
2211  fVmaxD_HFN_ChNbFrame = new TGCompositeFrame
2212  (fVmmD_HFN_ChNbFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2213  //...................................... Button Max + Entry field
2214  fVmaxD_HFN_ChNbBut = new TGTextButton(fVmaxD_HFN_ChNbFrame, xYmaxButText); fCnew++;
2215  fVmaxD_HFN_ChNbBut->Connect("Clicked()","TEcnaGui", this, "DoButtonVmaxD_HFN_ChNb()");
2216  fVmaxD_HFN_ChNbBut->SetToolTipText("Click here to register ymax for the display of the quantity");
2217  fVmaxD_HFN_ChNbBut->SetBackgroundColor(SubDetColor);
2219  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2221  fEntryVmaxD_HFN_ChNbNumber = new TGTextBuffer(); fCnew++;
2223  fVmaxD_HFN_ChNbText->SetToolTipText("Click and enter ymax");
2224  fVmaxD_HFN_ChNbText->Resize(minmax_buf_lenght, fVmaxD_HFN_ChNbText->GetDefaultHeight());
2226  fVmaxD_HFN_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVmaxD_HFN_ChNb()");
2228  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2231  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2233 
2234  //...................................... Frame for Ymin
2235  fVminD_HFN_ChNbFrame = new TGCompositeFrame
2236  (fVmmD_HFN_ChNbFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2237  //...................................... Button Min + Entry field
2238  fVminD_HFN_ChNbBut = new TGTextButton(fVminD_HFN_ChNbFrame, xYminButText); fCnew++;
2239  fVminD_HFN_ChNbBut->Connect("Clicked()","TEcnaGui", this, "DoButtonVminD_HFN_ChNb()");
2240  fVminD_HFN_ChNbBut->SetToolTipText("Click here to register ymin for the display of the quantity");
2241  fVminD_HFN_ChNbBut->SetBackgroundColor(SubDetColor);
2243  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2245  fEntryVminD_HFN_ChNbNumber = new TGTextBuffer(); fCnew++;
2247  fVminD_HFN_ChNbText->SetToolTipText("Click and enter ymin");
2248  fVminD_HFN_ChNbText->Resize(minmax_buf_lenght, fVminD_HFN_ChNbText->GetDefaultHeight());
2250  fVminD_HFN_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVminD_HFN_ChNb()");
2252  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2255  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2257 
2258  //...................................... Frame
2259  TString xMenuD_HFN_ChNb = " High Frequency Noise ";
2260  fMenuD_HFN_ChNb = new TGPopupMenu(gClient->GetRoot()); fCnew++;
2261  fMenuD_HFN_ChNb->AddEntry(xHistoChannels,fMenuD_HFN_ChNbFullC);
2262  fMenuD_HFN_ChNb->AddEntry(xHistoChannelsSame,fMenuD_HFN_ChNbSameC);
2263  fMenuD_HFN_ChNb->AddEntry(xHistoChannelsSameP,fMenuD_HFN_ChNbSamePC);
2264  fMenuD_HFN_ChNb->AddSeparator();
2265  fMenuD_HFN_ChNb->AddEntry(xHocoVecoViewSorS,fMenuD_HFN_ChNbHocoVecoC);
2266  fMenuD_HFN_ChNb->AddSeparator();
2267  fMenuD_HFN_ChNb->AddEntry(xAsciiFileStex,fMenuD_HFN_ChNbAsciiFileC);
2268  fMenuD_HFN_ChNb->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
2269  fMenuBarD_HFN_ChNb = new TGMenuBar(fVmmD_HFN_ChNbFrame, 1, 1, kHorizontalFrame); fCnew++;
2270  fMenuBarD_HFN_ChNb->AddPopup(xMenuD_HFN_ChNb, fMenuD_HFN_ChNb, fLayoutGeneral);
2271  fLayoutMenuBarD_HFN_ChNb = new TGLayoutHints(kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2273 
2275  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2277 
2278  //########################################### Composite frame for MEAN COR(s,s')
2279  fVmmD_MCs_ChNbFrame = new TGCompositeFrame
2280  (fStexHozFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2281 
2282  //...................................... Menu ev of Corss
2283 
2284  //...................................... Frame
2285  fVmaxD_MCs_ChNbFrame = new TGCompositeFrame
2286  (fVmmD_MCs_ChNbFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2287  //...................................... Button Max + Entry field
2288  fVmaxD_MCs_ChNbBut = new TGTextButton(fVmaxD_MCs_ChNbFrame, xYmaxButText); fCnew++;
2289  fVmaxD_MCs_ChNbBut->Connect("Clicked()","TEcnaGui", this, "DoButtonVmaxD_MCs_ChNb()");
2290  fVmaxD_MCs_ChNbBut->SetToolTipText("Click here to register ymax for the display of the quantity");
2291  fVmaxD_MCs_ChNbBut->SetBackgroundColor(SubDetColor);
2293  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2295  fEntryVmaxD_MCs_ChNbNumber = new TGTextBuffer(); fCnew++;
2297  fVmaxD_MCs_ChNbText->SetToolTipText("Click and enter ymax");
2298  fVmaxD_MCs_ChNbText->Resize(minmax_buf_lenght, fVmaxD_MCs_ChNbText->GetDefaultHeight());
2300  fVmaxD_MCs_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVmaxD_MCs_ChNb()");
2302  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2305  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2307 
2308  //...................................... Frame for Ymin
2309  fVminD_MCs_ChNbFrame = new TGCompositeFrame
2310  (fVmmD_MCs_ChNbFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2311  //...................................... Button Min + Entry field
2312  fVminD_MCs_ChNbBut = new TGTextButton(fVminD_MCs_ChNbFrame, xYminButText); fCnew++;
2313  fVminD_MCs_ChNbBut->Connect("Clicked()","TEcnaGui", this, "DoButtonVminD_MCs_ChNb()");
2314  fVminD_MCs_ChNbBut->SetToolTipText("Click here to register ymin for the display of the quantity");
2315  fVminD_MCs_ChNbBut->SetBackgroundColor(SubDetColor);
2317  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2319  fEntryVminD_MCs_ChNbNumber = new TGTextBuffer(); fCnew++;
2321  fVminD_MCs_ChNbText->SetToolTipText("Click and enter ymin");
2322  fVminD_MCs_ChNbText->Resize(minmax_buf_lenght, fVminD_MCs_ChNbText->GetDefaultHeight());
2324  fVminD_MCs_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVminD_MCs_ChNb()");
2326  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2329  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2331 
2332  //...................................... Frame for Mean cor(s,s')
2333  TString xMenuD_MCs_ChNb = " Mean cor(s,s') ";
2334  fMenuD_MCs_ChNb = new TGPopupMenu(gClient->GetRoot()); fCnew++;
2335  fMenuD_MCs_ChNb->AddEntry(xHistoChannels,fMenuD_MCs_ChNbFullC);
2336  fMenuD_MCs_ChNb->AddEntry(xHistoChannelsSame,fMenuD_MCs_ChNbSameC);
2337  fMenuD_MCs_ChNb->AddEntry(xHistoChannelsSameP,fMenuD_MCs_ChNbSamePC);
2338  fMenuD_MCs_ChNb->AddSeparator();
2339  fMenuD_MCs_ChNb->AddEntry(xHocoVecoViewSorS,fMenuD_MCs_ChNbHocoVecoC);
2340  fMenuD_MCs_ChNb->AddSeparator();
2341  fMenuD_MCs_ChNb->AddEntry(xAsciiFileStex,fMenuD_MCs_ChNbAsciiFileC);
2342  fMenuD_MCs_ChNb->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
2343  fMenuBarD_MCs_ChNb = new TGMenuBar(fVmmD_MCs_ChNbFrame, 1, 1, kHorizontalFrame); fCnew++;
2344  fMenuBarD_MCs_ChNb->AddPopup(xMenuD_MCs_ChNb, fMenuD_MCs_ChNb, fLayoutGeneral);
2345  fLayoutMenuBarD_MCs_ChNb = new TGLayoutHints(kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2347 
2349  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2351 
2352  //########################################### Composite frame for SIG OF COR(s,s')
2353  fVmmD_SCs_ChNbFrame = new TGCompositeFrame
2354  (fStexHozFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2355 
2356  //...................................... Menu sig of Corss
2357  //...................................... Frame for Ymax
2358  fVmaxD_SCs_ChNbFrame = new TGCompositeFrame
2359  (fVmmD_SCs_ChNbFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2360  //...................................... Button Max + Entry field
2361  fVmaxD_SCs_ChNbBut = new TGTextButton(fVmaxD_SCs_ChNbFrame, xYmaxButText); fCnew++;
2362  fVmaxD_SCs_ChNbBut->Connect("Clicked()","TEcnaGui", this, "DoButtonVmaxD_SCs_ChNb()");
2363  fVmaxD_SCs_ChNbBut->SetToolTipText("Click here to register ymax for the display of the quantity");
2364  fVmaxD_SCs_ChNbBut->SetBackgroundColor(SubDetColor);
2366  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2368  fEntryVmaxD_SCs_ChNbNumber = new TGTextBuffer(); fCnew++;
2370  fVmaxD_SCs_ChNbText->SetToolTipText("Click and enter ymax");
2371  fVmaxD_SCs_ChNbText->Resize(minmax_buf_lenght, fVmaxD_SCs_ChNbText->GetDefaultHeight());
2373  fVmaxD_SCs_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVmaxD_SCs_ChNb()");
2375  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2378  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2380 
2381  //...................................... Frame for Ymin
2382  fVminD_SCs_ChNbFrame = new TGCompositeFrame
2383  (fVmmD_SCs_ChNbFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2384  //...................................... Button Min + Entry field
2385  fVminD_SCs_ChNbBut = new TGTextButton(fVminD_SCs_ChNbFrame, xYminButText); fCnew++;
2386  fVminD_SCs_ChNbBut->Connect("Clicked()","TEcnaGui", this, "DoButtonVminD_SCs_ChNb()");
2387  fVminD_SCs_ChNbBut->SetToolTipText("Click here to register ymin for the display of the quantity");
2388  fVminD_SCs_ChNbBut->SetBackgroundColor(SubDetColor);
2390  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2392  fEntryVminD_SCs_ChNbNumber = new TGTextBuffer(); fCnew++;
2394  fVminD_SCs_ChNbText->SetToolTipText("Click and enter ymin");
2395  fVminD_SCs_ChNbText->Resize(minmax_buf_lenght, fVminD_SCs_ChNbText->GetDefaultHeight());
2397  fVminD_SCs_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVminD_SCs_ChNb()");
2399  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2402  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2404 
2405  //...................................... Frame
2406  TString xMenuD_SCs_ChNb = " Sigma of cor(s,s') ";
2407  fMenuD_SCs_ChNb = new TGPopupMenu(gClient->GetRoot()); fCnew++;
2408  fMenuD_SCs_ChNb->AddEntry(xHistoChannels,fMenuD_SCs_ChNbFullC);
2409  fMenuD_SCs_ChNb->AddEntry(xHistoChannelsSame,fMenuD_SCs_ChNbSameC);
2410  fMenuD_SCs_ChNb->AddEntry(xHistoChannelsSameP,fMenuD_SCs_ChNbSamePC);
2411  fMenuD_SCs_ChNb->AddSeparator();
2412  fMenuD_SCs_ChNb->AddEntry(xHocoVecoViewSorS,fMenuD_SCs_ChNbHocoVecoC);
2413  fMenuD_SCs_ChNb->AddSeparator();
2414  fMenuD_SCs_ChNb->AddEntry(xAsciiFileStex,fMenuD_SCs_ChNbAsciiFileC);
2415  fMenuD_SCs_ChNb->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
2416  fMenuBarD_SCs_ChNb = new TGMenuBar(fVmmD_SCs_ChNbFrame, 1, 1, kHorizontalFrame); fCnew++;
2417  fMenuBarD_SCs_ChNb->AddPopup(xMenuD_SCs_ChNb, fMenuD_SCs_ChNb, fLayoutGeneral);
2418  fLayoutMenuBarD_SCs_ChNb = new TGLayoutHints(kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2420 
2422  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2424 
2425  //######################################################################################################"
2426 
2427  //------------------------------------------- subframe
2429  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1); fCnew++;
2431  AddFrame(fVoidFrame, fLayoutGeneral);
2432 
2433  //########################################### Composite frame corcc in Stins
2434  fVmmLHFccFrame = new TGCompositeFrame
2435  (fStexUpFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2436 
2437  //............ Menu Low and High Frequency correlations between channels for each Stin of Stex
2438  //...................................... Frame for Ymax
2439  fVmaxLHFccFrame = new TGCompositeFrame
2440  (fVmmLHFccFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2441  //...................................... Button Max + Entry field
2442  fVmaxLHFccBut = new TGTextButton(fVmaxLHFccFrame, xYmaxButText); fCnew++;
2443  fVmaxLHFccBut->Connect("Clicked()","TEcnaGui", this, "DoButtonVmaxLHFcc()");
2444  fVmaxLHFccBut->SetToolTipText("Click here to register ymax for the display of the quantity");
2445  fVmaxLHFccBut->SetBackgroundColor(SubDetColor);
2447  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2449  fEntryVmaxLHFccNumber = new TGTextBuffer(); fCnew++;
2450  fVmaxLHFccText = new TGTextEntry(fVmaxLHFccFrame, fEntryVmaxLHFccNumber); fCnew++;
2451  fVmaxLHFccText->SetToolTipText("Click and enter ymax");
2452  fVmaxLHFccText->Resize(minmax_buf_lenght, fVmaxLHFccText->GetDefaultHeight());
2454  fVmaxLHFccText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVmaxLHFcc()");
2455 
2457  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2460  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2462 
2463  //...................................... Frame for Ymin
2464  fVminLHFccFrame = new TGCompositeFrame
2465  (fVmmLHFccFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2466  //...................................... Button Min + Entry field
2467  fVminLHFccBut = new TGTextButton(fVminLHFccFrame, xYminButText); fCnew++;
2468  fVminLHFccBut->Connect("Clicked()","TEcnaGui", this, "DoButtonVminLHFcc()");
2469  fVminLHFccBut->SetToolTipText("Click here to register ymin for the display of the quantity");
2470  fVminLHFccBut->SetBackgroundColor(SubDetColor);
2472  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2474  fEntryVminLHFccNumber = new TGTextBuffer(); fCnew++;
2475  fVminLHFccText = new TGTextEntry(fVminLHFccFrame, fEntryVminLHFccNumber); fCnew++;
2476  fVminLHFccText->SetToolTipText("Click and enter ymin");
2477  fVminLHFccText->Resize(minmax_buf_lenght, fVminLHFccText->GetDefaultHeight());
2479  fVminLHFccText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVminLHFcc()");
2481  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2484  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2486 
2487  //........................................... Frame
2488  TString xMenuLHFcc = "GeoView LF,HF Cor(c,c') (expert)";
2489  TString xLFccViewSorS;
2490  if( fSubDet == "EB" ){xLFccViewSorS = "Low Frequency Cor(c,c'), tower place -> Cor matrix";}
2491  if( fSubDet == "EE" ){xLFccViewSorS = "Low Frequency Cor(c,c'), SC place -> Cor matrix";}
2492  TString xHFccViewSorS;
2493  if( fSubDet == "EB" ){xHFccViewSorS = "High Frequency Cor(c,c'), tower place -> Cor matrix";}
2494  if( fSubDet == "EE" ){xHFccViewSorS = "High Frequency Cor(c,c'), SC place -> Cor matrix";}
2495 
2496  fMenuLHFcc = new TGPopupMenu(gClient->GetRoot()); fCnew++;
2497  fMenuLHFcc->AddEntry(xLFccViewSorS,fMenuLFccColzC);
2498  fMenuLHFcc->AddEntry(xHFccViewSorS,fMenuHFccColzC);
2499  fMenuLHFcc->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
2500  fMenuBarLHFcc = new TGMenuBar(fVmmLHFccFrame, 1, 1, kHorizontalFrame); fCnew++;
2501  fMenuBarLHFcc->AddPopup(xMenuLHFcc, fMenuLHFcc, fLayoutGeneral);
2502  fLayoutMenuBarLHFcc = new TGLayoutHints(kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2505  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2507 
2508  //################################# Composite frame Low Freq Cor(c,c') for each pair of Stins
2509  fVmmLFccMosFrame = new TGCompositeFrame
2510  (fStexUpFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2511 
2512  //...................................... Menu correlations between Stins
2513  //...................................... Frame
2514  fVmaxLFccMosFrame = new TGCompositeFrame
2515  (fVmmLFccMosFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2516  //...................................... Button Max + Entry field
2517  fVmaxLFccMosBut = new TGTextButton(fVmaxLFccMosFrame, xYmaxButText); fCnew++;
2518  fVmaxLFccMosBut->Connect("Clicked()","TEcnaGui", this, "DoButtonVmaxLFccMos()");
2519  fVmaxLFccMosBut->SetToolTipText("Click here to register ymax for the display of the quantity");
2520  fVmaxLFccMosBut->SetBackgroundColor(SubDetColor);
2522  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2524  fEntryVmaxLFccMosNumber = new TGTextBuffer(); fCnew++;
2525  fVmaxLFccMosText = new TGTextEntry(fVmaxLFccMosFrame, fEntryVmaxLFccMosNumber); fCnew++;
2526  fVmaxLFccMosText->SetToolTipText("Click and enter ymax");
2527  fVmaxLFccMosText->Resize(minmax_buf_lenght, fVmaxLFccMosText->GetDefaultHeight());
2529  fVmaxLFccMosText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVmaxLFccMos()");
2530 
2532  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2535  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2537 
2538  //...................................... Frame for Ymin
2539  fVminLFccMosFrame = new TGCompositeFrame
2540  (fVmmLFccMosFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2541  //...................................... Button Min + Entry field
2542  fVminLFccMosBut = new TGTextButton(fVminLFccMosFrame, xYminButText); fCnew++;
2543  fVminLFccMosBut->Connect("Clicked()","TEcnaGui", this, "DoButtonVminLFccMos()");
2544  fVminLFccMosBut->SetToolTipText("Click here to register ymin for the display of the quantity");
2545  fVminLFccMosBut->SetBackgroundColor(SubDetColor);
2547  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2549  fEntryVminLFccMosNumber = new TGTextBuffer(); fCnew++;
2550  fVminLFccMosText = new TGTextEntry(fVminLFccMosFrame, fEntryVminLFccMosNumber); fCnew++;
2551  fVminLFccMosText->SetToolTipText("Click and enter ymin");
2552  fVminLFccMosText->Resize(minmax_buf_lenght, fVminLFccMosText->GetDefaultHeight());
2554  fVminLFccMosText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVminLFccMos()");
2556  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2559  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2561 
2562  //...................................... Frame
2563  TString xMenuLFccMos;
2564  if( fSubDet == "EB" ){xMenuLFccMos = "Mean LF |Cor(c,c')| in (tow,tow')";}
2565  if( fSubDet == "EE" ){xMenuLFccMos = "Mean LF |Cor(c,c')| in (SC,SC')";}
2566 
2567  fMenuLFccMos = new TGPopupMenu(gClient->GetRoot()); fCnew++;
2568  fMenuLFccMos->AddEntry("2D, COLZ ",fMenuLFccMosColzC);
2569  fMenuLFccMos->AddEntry("3D, LEGO2Z" ,fMenuLFccMosLegoC);
2570  fMenuLFccMos->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
2571  fMenuBarLFccMos = new TGMenuBar(fVmmLFccMosFrame, 1, 1, kHorizontalFrame); fCnew++;
2572  fMenuBarLFccMos->AddPopup(xMenuLFccMos, fMenuLFccMos, fLayoutGeneral);
2573  fLayoutMenuBarLFccMos = new TGLayoutHints(kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2576  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2578 
2579  //################################# Composite frame High Freq Cor(c,c') for each pair of Stins
2580  fVmmHFccMosFrame = new TGCompositeFrame
2581  (fStexUpFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2582 
2583  //...................................... Menu correlations between Stins
2584  //...................................... Frame
2585  fVmaxHFccMosFrame = new TGCompositeFrame
2586  (fVmmHFccMosFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2587  //...................................... Button Max + Entry field
2588  fVmaxHFccMosBut = new TGTextButton(fVmaxHFccMosFrame, xYmaxButText); fCnew++;
2589  fVmaxHFccMosBut->Connect("Clicked()","TEcnaGui", this, "DoButtonVmaxHFccMos()");
2590  fVmaxHFccMosBut->SetToolTipText("Click here to register ymax for the display of the quantity");
2591  fVmaxHFccMosBut->SetBackgroundColor(SubDetColor);
2593  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2595  fEntryVmaxHFccMosNumber = new TGTextBuffer(); fCnew++;
2596  fVmaxHFccMosText = new TGTextEntry(fVmaxHFccMosFrame, fEntryVmaxHFccMosNumber); fCnew++;
2597  fVmaxHFccMosText->SetToolTipText("Click and enter ymax");
2598  fVmaxHFccMosText->Resize(minmax_buf_lenght, fVmaxHFccMosText->GetDefaultHeight());
2600  fVmaxHFccMosText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVmaxHFccMos()");
2601 
2603  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2606  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2608 
2609  //...................................... Frame for Ymin
2610  fVminHFccMosFrame = new TGCompositeFrame
2611  (fVmmHFccMosFrame,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
2612  //...................................... Button Min + Entry field
2613  fVminHFccMosBut = new TGTextButton(fVminHFccMosFrame, xYminButText); fCnew++;
2614  fVminHFccMosBut->Connect("Clicked()","TEcnaGui", this, "DoButtonVminHFccMos()");
2615  fVminHFccMosBut->SetToolTipText("Click here to register ymin for the display of the quantity");
2616  fVminHFccMosBut->SetBackgroundColor(SubDetColor);
2618  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2620  fEntryVminHFccMosNumber = new TGTextBuffer(); fCnew++;
2621  fVminHFccMosText = new TGTextEntry(fVminHFccMosFrame, fEntryVminHFccMosNumber); fCnew++;
2622  fVminHFccMosText->SetToolTipText("Click and enter ymin");
2623  fVminHFccMosText->Resize(minmax_buf_lenght, fVminHFccMosText->GetDefaultHeight());
2625  fVminHFccMosText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVminHFccMos()");
2627  new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2630  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2632 
2633  //...................................... Frame
2634  TString xMenuHFccMos;
2635  if( fSubDet == "EB" ){xMenuHFccMos = "Mean HF |Cor(c,c')| in (tow,tow')";}
2636  if( fSubDet == "EE" ){xMenuHFccMos = "Mean HF |Cor(c,c')| in (SC,SC')";}
2637 
2638  fMenuHFccMos = new TGPopupMenu(gClient->GetRoot()); fCnew++;
2639  fMenuHFccMos->AddEntry("2D, COLZ ",fMenuHFccMosColzC);
2640  fMenuHFccMos->AddEntry("3D, LEGO2Z" ,fMenuHFccMosLegoC);
2641  fMenuHFccMos->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
2642  fMenuBarHFccMos = new TGMenuBar(fVmmHFccMosFrame, 1, 1, kHorizontalFrame); fCnew++;
2643  fMenuBarHFccMos->AddPopup(xMenuHFccMos, fMenuHFccMos, fLayoutGeneral);
2644  fLayoutMenuBarHFccMos = new TGLayoutHints(kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2647  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1); fCnew++;
2649 
2650 
2651  //======================================= "Stex" frame =====================================
2653  new TGLayoutHints(kLHintsTop | kLHintsCenterX, xB1, xB1, xB1, xB1); fCnew++;
2654  AddFrame(fStexUpFrame, fLayoutStexUpFrame);
2655 
2656  AddFrame(fVoidFrame, fLayoutGeneral);
2657 
2658  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2659  //
2660  // SECTOR 3: Stin's
2661  //
2662  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2663 
2664  //-------------------------------- Stin A & Stin B FRAME
2665  fStinSpFrame =
2666  new TGCompositeFrame(this,60,20,kHorizontalFrame,
2667  GetDefaultFrameBackground()); fCnew++;
2668 
2669  TString xStinAButText = "?";
2670  TString xStinBButText = "?";
2671  Int_t Stin_buf_lenght = 10;
2672 
2673  if ( fSubDet == "EB" )
2674  {xStinAButText = " Tower# [1,68] "; xStinBButText = " Tower'# [1,68] "; Stin_buf_lenght = 50;}
2675  if ( fSubDet == "EE" && ( fKeyStexNumber == 1 || fKeyStexNumber == 3 ) )
2676  {xStinAButText = "SC# for const. [150,298] "; xStinBButText = "SC'# for const. [150,298] "; Stin_buf_lenght = 50;}
2677  if ( fSubDet == "EE" && ( fKeyStexNumber == 2 || fKeyStexNumber == 4 ) )
2678  {xStinAButText = "SC# for const. [ 1,149] "; xStinBButText = "SC'# for const. [ 1,149] "; Stin_buf_lenght = 50;}
2679 
2680  //============================= STIN A =====================================
2681  TString xStinNumberText;
2682  if ( fSubDet == "EB" )
2683  {xStinNumberText = "Click here to register the tower number written on the right";}
2684  if ( fSubDet == "EE" )
2685  {xStinNumberText = "Click here to register the SC number written on the right";}
2686 
2687  TString xStinNumberValue;
2688  if ( fSubDet == "EB" )
2689  {xStinNumberValue = "Click and enter the tower number";}
2690  if ( fSubDet == "EE" )
2691  {xStinNumberValue = "Click and enter the SC number";}
2692 
2693  fTxSubFrame = new TGCompositeFrame
2694  (fStinSpFrame,60,20,kVerticalFrame, GetDefaultFrameBackground()); fCnew++;
2695 
2696  fStinAFrame = new TGCompositeFrame
2697  (fTxSubFrame,60,20,kHorizontalFrame,kSunkenFrame); fCnew++;
2698 
2699  fStinABut = new TGTextButton(fStinAFrame, xStinAButText, fStinAButC); fCnew++;
2700  fStinABut->Connect("Clicked()","TEcnaGui", this, "DoButtonStinA()");
2701  fStinABut->SetToolTipText(xStinNumberText);
2702  fStinABut->Resize(Stin_buf_lenght, fStinABut->GetDefaultHeight());
2703  fStinABut->SetBackgroundColor(SubDetColor);
2704  fLayoutStinABut =
2705  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2707 
2708  fEntryStinANumber = new TGTextBuffer(); fCnew++;
2709  fStinAText = new TGTextEntry(fStinAFrame, fEntryStinANumber); fCnew++;
2710  fStinAText->SetToolTipText(xStinNumberValue);
2711  fStinAText->Resize(Stin_buf_lenght, fStinAText->GetDefaultHeight());
2712 
2713  Int_t StinAValue = 0;
2714  if( fSubDet == "EB"){StinAValue = fKeyStinANumber;}
2715  if( fSubDet == "EE" && fKeyStexNumber != 0 )
2717  DisplayInEntryField(fStinAText,StinAValue);
2718 
2719  fStinAText->Connect("ReturnPressed()", "TEcnaGui",this, "DoButtonStinA()");
2721  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1 ); fCnew++;
2724 
2725  //========================== STIN A CRYSTAL NUMBERING VIEW
2726  TString xChNbButText;
2727  if ( fSubDet == "EB" ){xChNbButText = "Tower Xtal Numbering ";}
2728  if ( fSubDet == "EE" ){xChNbButText = " SC Xtal Numbering ";}
2729 
2730  fButChNb = new TGTextButton(fTxSubFrame, xChNbButText, fButChNbC); fCnew++;
2731  fButChNb->Connect("Clicked()","TEcnaGui", this, "DoButtonChNb()");
2732  fButChNb->SetBackgroundColor(SubDetColor);
2733  fLayoutChNbBut =
2734  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1); fCnew++;
2735  fTxSubFrame->AddFrame(fButChNb, fLayoutChNbBut);
2736 
2737  //---------------- menus relative to the Stin A subframe
2738 
2739  //===================== Menus relative to the Stin A ======================
2740  TString xMenuBarCorGlob;
2741  if ( fSubDet == "EB" ){xMenuBarCorGlob = " GeoView Cor(s,s') (expert)";}
2742  if ( fSubDet == "EE" ){xMenuBarCorGlob = " GeoView Cor(s,s') (expert)";}
2743 
2744  TString xMenuBarCovGlob;
2745  if ( fSubDet == "EB" ){xMenuBarCovGlob = " GeoView Cov(s,s') (expert)";}
2746  if ( fSubDet == "EE" ){xMenuBarCovGlob = " GeoView Cov(s,s') (expert)";}
2747 
2748  //................. Menu correlations between samples for all the channels. Global view
2749  fMenuCorssAll = new TGPopupMenu(gClient->GetRoot()); fCnew++;
2750  fMenuCorssAll->AddEntry(" Cor(s,s'), Xtal place -> Cor matrix",fMenuCorssAllColzC);
2751  fMenuCorssAll->AddEntry(" Cov(s,s'), Xtal place -> Cov matrix",fMenuCovssAllColzC);
2752  fMenuCorssAll->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
2753  fMenuBarCorssAll = new TGMenuBar(fTxSubFrame, 1, 1, kHorizontalFrame); fCnew++;
2754  fMenuBarCorssAll->AddPopup(xMenuBarCorGlob, fMenuCorssAll, fLayoutGeneral);
2756 
2757  //................. Menu covariances between samples for all the channels. Global view
2758  //fMenuCovssAll = new TGPopupMenu(gClient->GetRoot()); fCnew++;
2759  //fMenuCovssAll->AddEntry(" Cov(s,s'), Xtal place -> Cov matrix",fMenuCovssAllColzC);
2760  //fMenuCovssAll->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
2761  //fMenuBarCovssAll = new TGMenuBar(fTxSubFrame, 1, 1, kHorizontalFrame); fCnew++;
2762  //fMenuBarCovssAll->AddPopup(xMenuBarCovGlob, fMenuCovssAll, fLayoutGeneral);
2763  //fTxSubFrame->AddFrame(fMenuBarCovssAll, fLayoutTopLeft);
2764 
2765  //------------------ Add Stin A frame to the subframe
2767  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1); fCnew++;
2769 
2770  //============================= STIN B =====================================
2771  fTySubFrame = new TGCompositeFrame
2772  (fStinSpFrame,60,20,kVerticalFrame, GetDefaultFrameBackground()); fCnew++;
2773 
2774  fStinBFrame = new TGCompositeFrame
2775  (fTySubFrame,60,20,kHorizontalFrame,kSunkenFrame); fCnew++;
2776 
2777  fStinBBut =
2778  new TGTextButton(fStinBFrame, xStinBButText, fStinBButC); fCnew++;
2779  fStinBBut->Connect("Clicked()","TEcnaGui", this, "DoButtonStinB()");
2780  fStinBBut->SetToolTipText(xStinNumberText);
2781  fStinBBut->Resize(Stin_buf_lenght, fStinBBut->GetDefaultHeight());
2782  fStinBBut->SetBackgroundColor(SubDetColor);
2783  fLayoutStinBBut = new TGLayoutHints(kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2785 
2786  fEntryStinBNumber = new TGTextBuffer(); fCnew++;
2787  fStinBText = new TGTextEntry(fStinBFrame, fEntryStinBNumber); fCnew++;
2788  fStinBText->SetToolTipText(xStinNumberValue);
2789  fStinBText->Resize(Stin_buf_lenght, fStinBText->GetDefaultHeight());
2790 
2791  Int_t StinBValue = 0;
2792  if( fSubDet == "EB"){StinBValue = fKeyStinBNumber;}
2793  if( fSubDet == "EE" && fKeyStexNumber != 0 )
2795  DisplayInEntryField(fStinBText, StinBValue);
2796 
2797  fStinBText->Connect("ReturnPressed()", "TEcnaGui",this, "DoButtonStinB()");
2799  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1 ); fCnew++;
2802 
2803  //---------------- menus relative to the Stin B subframe
2804 
2805  // (no such menus )
2806 
2807  //------------------ Add Stin B subframe to the frame
2808  fLayoutTySubFrame = new TGLayoutHints
2809  (kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1); fCnew++;
2810 
2812 
2813  //---------------------- composite frame (Stin X, Stin Y)
2814  fLayoutStinSpFrame = new TGLayoutHints
2815  (kLHintsTop | kLHintsCenterX, xB1, xB1, xB1, xB1); fCnew++;
2816  AddFrame(fStinSpFrame, fLayoutStinSpFrame);
2817 
2818  //------------------ menus relatives to the Horizontal frame (Stin_A + Stin_B)
2819  TString xMenuBarLFCorcc;
2820  if ( fSubDet == "EB" ){xMenuBarLFCorcc = " Low Frequency Cor(Xtal tower, Xtal tower')";}
2821  if ( fSubDet == "EE" ){xMenuBarLFCorcc = " Low Frequency Cor(Xtal SC, Xtal SC')";}
2822 
2823  TString xMenuBarHFCorcc;
2824  if ( fSubDet == "EB" ){xMenuBarHFCorcc = " High Frequency Cor(Xtal tower, Xtal tower')";}
2825  if ( fSubDet == "EE" ){xMenuBarHFCorcc = " High Frequency Cor(Xtal SC, Xtal SC')";}
2826 
2827  //...................... Menu LF correlations between channels
2828  fMenuLFCorcc = new TGPopupMenu(gClient->GetRoot()); fCnew++;
2829  fMenuLFCorcc->AddEntry("2D, COLZ",fMenuLFCorccColzC);
2830  fMenuLFCorcc->AddSeparator();
2831  fMenuLFCorcc->AddEntry("3D, LEGO2Z",fMenuLFCorccLegoC);
2832  fMenuLFCorcc->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
2833  fMenuBarLFCorcc = new TGMenuBar(this, 1, 1, kHorizontalFrame); fCnew++;
2834  fMenuBarLFCorcc->AddPopup(xMenuBarLFCorcc, fMenuLFCorcc, fLayoutTopRight);
2835  AddFrame(fMenuBarLFCorcc, fLayoutGeneral);
2836 
2837  //...................... Menu HF correlations between channels
2838  fMenuHFCorcc = new TGPopupMenu(gClient->GetRoot()); fCnew++;
2839  fMenuHFCorcc->AddEntry("2D, COLZ",fMenuHFCorccColzC);
2840  fMenuHFCorcc->AddSeparator();
2841  fMenuHFCorcc->AddEntry("3D, LEGO2Z",fMenuHFCorccLegoC);
2842  fMenuHFCorcc->Connect("Activated(Int_t)", "TEcnaGui", this,"HandleMenu(Int_t)");
2843  fMenuBarHFCorcc = new TGMenuBar(this, 1, 1, kHorizontalFrame); fCnew++;
2844  fMenuBarHFCorcc->AddPopup(xMenuBarHFCorcc, fMenuHFCorcc, fLayoutTopRight);
2845  AddFrame(fMenuBarHFCorcc, fLayoutGeneral);
2846 
2847  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2848  //
2849  // SECTOR 4: Channels, Samples
2850  //
2851  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2852 
2853  fChSpFrame = new TGCompositeFrame(this,60,20,kHorizontalFrame,
2854  GetDefaultFrameBackground()); fCnew++;
2855 
2856  TString xChanButText;
2857  if ( fSubDet == "EB" ){xChanButText = " Channel# in tower [0,24] ";}
2858  if ( fSubDet == "EE" ){xChanButText = " Crystal# in SC [1,25] ";}
2859 
2860  TString xSampButText = " Sample# [1,10] ";
2861 
2862  Int_t chan_buf_lenght = 50;
2863  Int_t samp_buf_lenght = 50;
2864 
2865  TString xMenuBarCorss = " Correlations between samples";
2866  TString xMenuBarCovss = " Covariances between samples";
2867  TString xMenuBarEvs = " Sample means";
2868  TString xMenuBarSigs = " Sample sigmas";
2869 
2870  //=================================== CHANNEL (CRYSTAL)
2871  fChSubFrame = new TGCompositeFrame
2872  (fChSpFrame,60,20,kVerticalFrame, GetDefaultFrameBackground()); fCnew++;
2873 
2874  fChanFrame = new TGCompositeFrame
2875  (fChSubFrame,60,20,kHorizontalFrame,kSunkenFrame); fCnew++;
2876 
2877  fChanBut =
2878  new TGTextButton(fChanFrame, xChanButText, fChanButC); fCnew++;
2879  fChanBut->Connect("Clicked()","TEcnaGui", this, "DoButtonChan()");
2880  fChanBut->SetToolTipText("Click here to register the channel number written to the right");
2881  fChanBut->Resize(chan_buf_lenght, fChanBut->GetDefaultHeight());
2882  fChanBut->SetBackgroundColor(SubDetColor);
2883  fLayoutChanBut = new TGLayoutHints(kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2884  fChanFrame->AddFrame(fChanBut, fLayoutChanBut);
2885 
2886  fEntryChanNumber = new TGTextBuffer(); fCnew++;
2887  fChanText = new TGTextEntry(fChanFrame, fEntryChanNumber); fCnew++;
2888  fChanText->SetToolTipText("Click and enter the channel number");
2889  fChanText->Resize(chan_buf_lenght, fChanText->GetDefaultHeight());
2890 
2891  Int_t xReadChanNumber = 0;
2892  if( fSubDet == "EB" ){xReadChanNumber = 0;} // offset = 0 (EB: electronic channel number)
2893  if( fSubDet == "EE" ){xReadChanNumber = 1;} // offset = +1 (EE: xtal number for construction)
2894  DisplayInEntryField(fChanText, xReadChanNumber);
2895 
2896  fChanText->Connect("ReturnPressed()", "TEcnaGui",this, "DoButtonChan()");
2898  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1 ); fCnew++;
2901 
2902  //--------------------- Menus relative to the channel SubFrame -------------
2903  //...................... Menu correlations between samples
2904 
2905  fMenuCorss = new TGPopupMenu(gClient->GetRoot()); fCnew++;
2906  fMenuCorss->AddEntry("2D, COLZ", fMenuCorssColzC);
2907  fMenuCorss->AddEntry("2D, BOX", fMenuCorssBoxC);
2908  fMenuCorss->AddEntry("2D, TEXT", fMenuCorssTextC);
2909  fMenuCorss->AddEntry("2D, CONTZ",fMenuCorssContzC);
2910  fMenuCorss->AddSeparator();
2911  fMenuCorss->AddEntry("3D, LEGO2Z",fMenuCorssLegoC);
2912  fMenuCorss->AddEntry("3D, SURF1Z",fMenuCorssSurf1C);
2913  fMenuCorss->AddEntry("3D, SURF2Z",fMenuCorssSurf2C);
2914  fMenuCorss->AddEntry("3D, SURF3Z",fMenuCorssSurf3C);
2915  fMenuCorss->AddEntry("3D, SURF4" ,fMenuCorssSurf4C);
2916  fMenuCorss->AddSeparator();
2917  fMenuCorss->AddEntry("2D, Write in ASCII file",fMenuCorssAsciiFileC);
2918  fMenuCorss->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
2919  fMenuBarCorss = new TGMenuBar(fChSubFrame, 1, 1, kHorizontalFrame); fCnew++;
2920  fMenuBarCorss->AddPopup(xMenuBarCorss, fMenuCorss, fLayoutTopLeft);
2922 
2923  //...................... Menu covariances between samples
2924 
2925  fMenuCovss = new TGPopupMenu(gClient->GetRoot()); fCnew++;
2926  fMenuCovss->AddEntry("2D, COLZ", fMenuCovssColzC);
2927  fMenuCovss->AddEntry("2D, BOX", fMenuCovssBoxC);
2928  fMenuCovss->AddEntry("2D, TEXT", fMenuCovssTextC);
2929  fMenuCovss->AddEntry("2D, CONTZ",fMenuCovssContzC);
2930  fMenuCovss->AddSeparator();
2931  fMenuCovss->AddEntry("3D, LEGO2Z",fMenuCovssLegoC);
2932  fMenuCovss->AddEntry("3D, SURF1Z",fMenuCovssSurf1C);
2933  fMenuCovss->AddEntry("3D, SURF2Z",fMenuCovssSurf2C);
2934  fMenuCovss->AddEntry("3D, SURF3Z",fMenuCovssSurf3C);
2935  fMenuCovss->AddEntry("3D, SURF4" ,fMenuCovssSurf4C);
2936  fMenuCovss->AddSeparator();
2937  fMenuCovss->AddEntry("2D, Write in ASCII file",fMenuCovssAsciiFileC);
2938  fMenuCovss->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
2939  fMenuBarCovss = new TGMenuBar(fChSubFrame, 1, 1, kHorizontalFrame); fCnew++;
2940  fMenuBarCovss->AddPopup(xMenuBarCovss, fMenuCovss, fLayoutTopLeft);
2942 
2943  //...................... Menu expectation values of the samples
2944 
2945  fMenuD_MSp_SpNb = new TGPopupMenu(gClient->GetRoot()); fCnew++;
2946  fMenuD_MSp_SpNb->AddEntry("1D Histo ",fMenuD_MSp_SpNbLineFullC);
2947  fMenuD_MSp_SpNb->AddEntry("1D Histo SAME",fMenuD_MSp_SpNbLineSameC);
2948  fMenuD_MSp_SpNb->AddEntry("1D Histo 25 Xtals",fMenuD_MSp_SpNbLineAllStinC);
2949  fMenuD_MSp_SpNb->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
2950  fMenuBarD_MSp_SpNb = new TGMenuBar(fChSubFrame, 1, 1, kHorizontalFrame); fCnew++;
2951  fMenuBarD_MSp_SpNb->AddPopup(xMenuBarEvs, fMenuD_MSp_SpNb, fLayoutTopLeft);
2953 
2954  //...................... Menu sigmas/variances of the samples
2955 
2956  fMenuD_SSp_SpNb = new TGPopupMenu(gClient->GetRoot()); fCnew++;
2957  fMenuD_SSp_SpNb->AddEntry("1D Histo ",fMenuD_SSp_SpNbLineFullC);
2958  fMenuD_SSp_SpNb->AddEntry("1D Histo SAME",fMenuD_SSp_SpNbLineSameC);
2959  fMenuD_SSp_SpNb->AddEntry("1D Histo 25 Xtals",fMenuD_SSp_SpNbLineAllStinC);
2960  fMenuD_SSp_SpNb->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
2961  fMenuBarD_SSp_SpNb = new TGMenuBar(fChSubFrame, 1, 1, kHorizontalFrame); fCnew++;
2962  fMenuBarD_SSp_SpNb->AddPopup(xMenuBarSigs, fMenuD_SSp_SpNb, fLayoutTopLeft);
2964 
2965  //------------------ Add Channel subframe to the frame
2966  fLayoutChSubFrame = new TGLayoutHints
2967  (kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1); fCnew++;
2969 
2970  //=================================== SAMPLE
2971  fSpSubFrame = new TGCompositeFrame
2972  (fChSpFrame,60,20,kVerticalFrame, GetDefaultFrameBackground()); fCnew++;
2973 
2974  fSampFrame = new TGCompositeFrame
2975  (fSpSubFrame,60,20,kHorizontalFrame, kSunkenFrame); fCnew++;
2976 
2977  fSampBut = new TGTextButton(fSampFrame, xSampButText, fSampButC); fCnew++;
2978  fSampBut->Connect("Clicked()","TEcnaGui", this, "DoButtonSamp()");
2979  fSampBut->SetToolTipText("Click here to register the sample number written to the right");
2980  fSampBut->Resize(samp_buf_lenght, fSampBut->GetDefaultHeight());
2981  fSampBut->SetBackgroundColor(SubDetColor);
2982  fLayoutSampBut =
2983  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
2984  fSampFrame->AddFrame(fSampBut, fLayoutSampBut);
2985 
2986  fEntrySampNumber = new TGTextBuffer(); fCnew++;
2987  fSampText = new TGTextEntry(fSampFrame, fEntrySampNumber); fCnew++;
2988  fSampText->SetToolTipText("Click and enter the sample number");
2989  fSampText->Resize(samp_buf_lenght, fSampText->GetDefaultHeight());
2990  Int_t xKeySampNumber = fKeySampNumber+1;
2991  DisplayInEntryField(fSampText, xKeySampNumber);
2992  fSampText->Connect("ReturnPressed()", "TEcnaGui",this, "DoButtonSamp()");
2994  new TGLayoutHints(kLHintsTop | kLHintsRight, xB1,xB1,xB1,xB1 ); fCnew++;
2996 
2998 
2999  fLayoutSpSubFrame = new TGLayoutHints
3000  (kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1); fCnew++;
3002 
3003  //---------------------- composite frame (channel/sample+menus)
3004  fLayoutChSpFrame = new TGLayoutHints
3005  (kLHintsTop | kLHintsCenterX, xB1, xB1, xB1, xB1); fCnew++;
3006  AddFrame(fChSpFrame, fLayoutChSpFrame);
3007 
3008  //====================== Menu histogram of the distribution
3009  // for a given (channel, sample)
3010  fMenuAdcProj = new TGPopupMenu(gClient->GetRoot()); fCnew++;
3011  fMenuAdcProj->AddEntry("1D Histo ",fMenuAdcProjSampLineFullC);
3012  fMenuAdcProj->AddEntry("1D Histo SAME",fMenuAdcProjSampLineSameC);
3013  fMenuAdcProj->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
3014 
3015  fMenuBarAdcProj = new TGMenuBar(this, 1, 1, kHorizontalFrame); fCnew++;
3016 
3017  TString xEvtDistrib;
3018  xEvtDistrib = "ADC sample values for (Xtal, Sample)";
3019 
3020  fMenuBarAdcProj->AddPopup(xEvtDistrib, fMenuAdcProj, fLayoutGeneral);
3021 
3023  new TGLayoutHints(kLHintsCenterX, xB1,xB1,xB1,xB1); fCnew++;
3025 
3026  AddFrame(fVoidFrame, fLayoutGeneral);
3027 
3028  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3029  //
3030  // SECTOR 5: Time Evolution / history plots
3031  //
3032  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3033  TString xRunListButText = " List of run file name for history plots ";
3034  Int_t run_list_buf_lenght = 170;
3035 
3036  fRulFrame = new TGCompositeFrame(this,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
3037 
3038  fRulBut= new TGTextButton(fRulFrame, xRunListButText); fCnew++;
3039  fRulBut->Connect("Clicked()","TEcnaGui", this, "DoButtonRul()");
3040  fRulBut->SetToolTipText
3041  ("Click here to register the name of the file \n containing the run list (written on the right)");
3042  fRulBut->SetBackgroundColor(SubDetColor);
3043  fLayoutRulBut =
3044  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
3045  fRulFrame->AddFrame(fRulBut, fLayoutRulBut);
3046 
3047  fEntryRulNumber = new TGTextBuffer(); fCnew++;
3048  fRulText = new TGTextEntry(fRulFrame, fEntryRulNumber); fCnew++;
3049  fRulText->SetToolTipText("Click and enter the name of the file \n containing the run list");
3050  fRulText->Resize(run_list_buf_lenght, fRulText->GetDefaultHeight());
3051  fRulText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonRul()");
3053  new TGLayoutHints(kLHintsBottom | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
3055 
3057  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
3058  AddFrame(fRulFrame, fLayoutRulFieldFrame);
3059 
3060  //...................... Menu history plot (evolution in time)
3061  TString xMenuBarHistory = " Menu for history plots";
3062  fMenuHistory = new TGPopupMenu(gClient->GetRoot()); fCnew++;
3063  fMenuHistory->AddEntry("1D, Pedestals ",fMenuH_Ped_DatePolmFullC);
3064  fMenuHistory->AddEntry("1D, Pedestals SAME",fMenuH_Ped_DatePolmSameC);
3065  fMenuHistory->AddSeparator();
3066  fMenuHistory->AddEntry("1D, Total Noise ",fMenuH_TNo_DatePolmFullC);
3067  fMenuHistory->AddEntry("1D, Total Noise SAME",fMenuH_TNo_DatePolmSameC);
3068  fMenuHistory->AddEntry("1D, Total Noise SAME n",fMenuH_TNo_DatePolmSamePC);
3069  fMenuHistory->AddSeparator();
3070  fMenuHistory->AddEntry("1D, Low Frequency Noise ",fMenuH_LFN_DatePolmFullC);
3071  fMenuHistory->AddEntry("1D, Low Frequency Noise SAME",fMenuH_LFN_DatePolmSameC);
3072  fMenuHistory->AddEntry("1D, Low Frequency Noise SAME n",fMenuH_LFN_DatePolmSamePC);
3073  fMenuHistory->AddSeparator();
3074  fMenuHistory->AddEntry("1D, High Frequency Noise ",fMenuH_HFN_DatePolmFullC);
3075  fMenuHistory->AddEntry("1D, High Frequency Noise SAME",fMenuH_HFN_DatePolmSameC);
3076  fMenuHistory->AddEntry("1D, High Frequency Noise SAME n",fMenuH_HFN_DatePolmSamePC);
3077  fMenuHistory->AddSeparator();
3078  fMenuHistory->AddEntry("1D, Mean cor(s,s') ",fMenuH_MCs_DatePolmFullC);
3079  fMenuHistory->AddEntry("1D, Mean cor(s,s') SAME",fMenuH_MCs_DatePolmSameC);
3080  fMenuHistory->AddEntry("1D, Mean cor(s,s') SAME n",fMenuH_MCs_DatePolmSamePC);
3081  fMenuHistory->AddSeparator();
3082  fMenuHistory->AddEntry("1D, Sigma of cor(s,s') ",fMenuH_SCs_DatePolmFullC);
3083  fMenuHistory->AddEntry("1D, Sigma of cor(s,s') SAME",fMenuH_SCs_DatePolmSameC);
3084  fMenuHistory->AddEntry("1D, Sigma of cor(s,s') SAME n",fMenuH_SCs_DatePolmSamePC);
3085 
3086  fMenuHistory->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
3087  fMenuBarHistory = new TGMenuBar(this , 1, 1, kHorizontalFrame); fCnew++;
3088  fMenuBarHistory->AddPopup(xMenuBarHistory, fMenuHistory, fLayoutTopLeft);
3089  AddFrame(fMenuBarHistory, fLayoutTopLeft);
3090 
3091  AddFrame(fVoidFrame, fLayoutGeneral);
3092 
3093  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3094  //
3095  // SECTOR 6: Last Buttons
3096  //
3097  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3098 
3099  //GContext_t norm = GetDefaultGC()();
3100  //FontStruct_t font = GetDefaultFontStruct();
3101 
3102  //========================== LinLog frame: buttons: LinX/LogX, LinY/LogY, Projection on Y Axis
3103 
3104  fLinLogFrame = new TGCompositeFrame(this,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
3105 
3106 
3107  //-------------------------- Lin X <-> Log X
3108  TString xLogxButText = " LOG X ";
3109  fButLogx = new TGCheckButton(fLinLogFrame, xLogxButText, fButLogxC); fCnew++;
3110  fButLogx->Connect("Clicked()","TEcnaGui", this, "DoButtonLogx()");
3111  fButLogx->SetBackgroundColor(SubDetColor);
3112  fLayoutLogxBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1); fCnew++;
3113  fLinLogFrame->AddFrame(fButLogx, fLayoutLogxBut);
3114 
3115  //-------------------------- Lin Y <-> Log Y
3116  TString xLogyButText = " LOG Y ";
3117  fButLogy = new TGCheckButton(fLinLogFrame, xLogyButText, fButLogyC); fCnew++;
3118  fButLogy->Connect("Clicked()","TEcnaGui", this, "DoButtonLogy()");
3119  fButLogy->SetBackgroundColor(SubDetColor);
3120  fLayoutLogyBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1); fCnew++;
3121  fLinLogFrame->AddFrame(fButLogy, fLayoutLogyBut);
3122 
3123  //-------------------------- Projection
3124  TString xProjyButText = " Y projection ";
3125  fButProjy = new TGCheckButton(fLinLogFrame, xProjyButText, fButProjyC); fCnew++;
3126  fButProjy->Connect("Clicked()","TEcnaGui", this, "DoButtonProjy()");
3127  fButProjy->SetBackgroundColor(SubDetColor);
3128  fLayoutProjyBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1); fCnew++;
3130 
3131  AddFrame(fVoidFrame, fLayoutBottRight);
3132  AddFrame(fLinLogFrame, fLayoutGeneral);
3133 
3134  //======================================== GENERAL TITLE FOR THE PLOTS
3135  TString xGenTitleButText = " General title for plots ";
3136  Int_t gen_title_buf_lenght = 220;
3137 
3138  fGentFrame = new TGCompositeFrame(this,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
3139 
3140  fGentBut= new TGTextButton(fGentFrame, xGenTitleButText); fCnew++;
3141  fGentBut->Connect("Clicked()","TEcnaGui", this, "DoButtonGent()");
3142  fGentBut->SetToolTipText
3143  ("Click here to register the general title (written on the right)");
3144  fGentBut->SetBackgroundColor(SubDetColor);
3145  fLayoutGentBut =
3146  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
3147  fGentFrame->AddFrame(fGentBut, fLayoutGentBut);
3148 
3149  fEntryGentNumber = new TGTextBuffer(); fCnew++;
3150  fGentText = new TGTextEntry(fGentFrame, fEntryGentNumber); fCnew++;
3151  fGentText->SetToolTipText("Click and enter the general title");
3152  fGentText->Resize(gen_title_buf_lenght, fGentText->GetDefaultHeight());
3154  fGentText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonGent()");
3156  new TGLayoutHints(kLHintsBottom | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
3158 
3160  new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1,xB1,xB1,xB1); fCnew++;
3161  AddFrame(fGentFrame, fLayoutGentFieldFrame);
3162  AddFrame(fVoidFrame);
3163 
3164  //========================== Color Palette + EXIT
3165  fColorExitFrame = new TGCompositeFrame(this,60,20, kHorizontalFrame,
3166  GetDefaultFrameBackground()); fCnew++;
3167 
3168  //-------------------------- Black/Red/Blue <-> Rainbow
3169  TString xColPalButText = " Colors ";
3170  fButColPal = new TGCheckButton(fColorExitFrame, xColPalButText, fButColPalC); fCnew++;
3171  fButColPal->Connect("Clicked()","TEcnaGui", this, "DoButtonColPal()");
3172  fButColPal->SetBackgroundColor(SubDetColor);
3173  fLayoutColPalBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1); fCnew++;
3175 
3176  //-------------------------- Exit
3177  TString xExitButText = " Exit ";
3178  fButExit = new TGTextButton(fColorExitFrame, xExitButText, fButExitC); fCnew++;
3179  fButExit->Connect("Clicked()","TEcnaGui", this, "DoButtonExit()");
3180  fButExit->SetBackgroundColor(SubDetColor);
3181  fLayoutExitBut = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1); fCnew++;
3183 
3184  fLayoutColorExitFrame = new TGLayoutHints(kLHintsTop | kLHintsExpandX,
3185  xB1, xB1, xB1, xB1); fCnew++;
3186 
3187  //AddFrame(fVoidFrame, fLayoutBottRight);
3189 
3190  //========================== Last frame: buttons: ROOT version, Help
3191 
3192  fLastFrame = new TGCompositeFrame(this,60,20, kHorizontalFrame, kSunkenFrame); fCnew++;
3193 
3194  //-------------------------- Clone Last Canvas
3195  TString xCloneButText = " Clone Last Canvas ";
3196  fButClone = new TGTextButton(fLastFrame, xCloneButText, fButCloneC); fCnew++;
3197  fButClone->Connect("Clicked()","TEcnaGui", this, "DoButtonClone()");
3198  fButClone->SetBackgroundColor(SubDetColor);
3199  fLayoutCloneBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1); fCnew++;
3200  fLastFrame->AddFrame(fButClone, fLayoutCloneBut);
3201 
3202  //-------------------------- ROOT version
3203  TString xRootButText = " ROOT Version ";
3204  fButRoot = new TGTextButton(fLastFrame, xRootButText, fButRootC); fCnew++;
3205  fButRoot->Connect("Clicked()","TEcnaGui", this, "DoButtonRoot()");
3206  fButRoot->SetBackgroundColor(SubDetColor);
3207  fLayoutRootBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1); fCnew++;
3208  fLastFrame->AddFrame(fButRoot, fLayoutRootBut);
3209 
3210  //-------------------------- HELP
3211  TString xHelpButText = " Help ";
3212  fButHelp = new TGTextButton(fLastFrame, xHelpButText, fButHelpC); fCnew++;
3213  fButHelp->Connect("Clicked()","TEcnaGui", this, "DoButtonHelp()");
3214  fButHelp->SetBackgroundColor(SubDetColor);
3215  fLayoutHelpBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1); fCnew++;
3216  fLastFrame->AddFrame(fButHelp, fLayoutHelpBut);
3217 
3218  AddFrame(fLastFrame, fLayoutGeneral);
3219 
3220  //................................. Window
3221 
3222  MapSubwindows();
3223  Layout();
3224 
3225  if( fSubDet == "EB" ){SetWindowName("CMS Ecal Correlated Noise Analysis <EB>");}
3226  if( fSubDet == "EE" ){SetWindowName("CMS Ecal Correlated Noise Analysis <EE>");}
3227 
3228  SetBackgroundColor(SubDetColor);
3229  SetIconName("CNA");
3230  MapWindow();
3231  // } // end of if( fCnaParPaths-GetPaths() == kTRUE )
3232 }
3233 // end of constructor with arguments
3234 
3235 //###################################################################
3236 //
3237 // M E T H O D S
3238 //
3239 //###################################################################
3240 
3241 //===============================================================
3242 //
3243 // Buttons
3244 //
3245 //===============================================================
3246 
3247 //----------------------------------------------------------------------
3248 //void TEcnaGui::DoButtonPyf()
3249 //{
3252 
3253 // //........................... get info from the entry field
3254 // const char* listchain = fPyfText->GetBuffer()->GetString();
3255 // fKeyPyf = listchain;
3256 
3257 // fCnaCommand++;
3258 // cout << " *TEcnaGui [" << fCnaCommand
3259 // << "]> Registration of file name for python file source sector -> "
3260 // << fKeyPyf.Data() << endl;
3261 //}
3262 //----------------------------------------------------------------------
3264 {
3265 //Registration of the type of the analysis
3266 
3267  const char *bufferchain = fAnaText->GetBuffer()->GetString();
3268 
3269  fKeyAnaType = bufferchain;
3270 
3271  fCnaCommand++;
3272  cout << " *TEcnaGui [" << fCnaCommand
3273  << "]> Registration of analysis name -> "
3274  << fKeyAnaType << endl;
3275 }
3276 
3277 //----------------------------------------------------------------------
3279 {
3280 //Registration of the number of samples (ROOT file)
3281 
3282  const char *bufferchain = fNorsText->GetBuffer()->GetString();
3283  fKeyNbOfSamplesString = bufferchain;
3284  fKeyNbOfSamples = atoi(bufferchain);
3285 
3286  if ( !(fKeyNbOfSamples >= 1 && fKeyNbOfSamples <= fEcal->MaxSampADC()) )
3287  {
3288  fCnaError++;
3289  cout << " !TEcnaGui (" << fCnaError << ") *** ERROR *** ===>"
3290  << " Number of required samples for reading ROOT file = " << fKeyNbOfSamples
3291  << ": OUT OF RANGE, " << endl
3292  << " forced to the default value (="
3293  << fEcal->MaxSampADC() << ")." << fTTBELL << endl;
3296  }
3297 
3298  //................... Update of Sample Button Text according to the number of sample
3299  TString xSampButText = " Sample [?,?] ";
3300 
3301  if( fKeyNbOfSamples == 1 ){xSampButText = " Sample [1,1] ";}
3302  if( fKeyNbOfSamples == 2 ){xSampButText = " Sample [1,2] ";}
3303  if( fKeyNbOfSamples == 3 ){xSampButText = " Sample [1,3] ";}
3304  if( fKeyNbOfSamples == 4 ){xSampButText = " Sample [1,4] ";}
3305  if( fKeyNbOfSamples == 5 ){xSampButText = " Sample [1,5] ";}
3306  if( fKeyNbOfSamples == 6 ){xSampButText = " Sample [1,6] ";}
3307  if( fKeyNbOfSamples == 7 ){xSampButText = " Sample [1,7] ";}
3308  if( fKeyNbOfSamples == 8 ){xSampButText = " Sample [1,8] ";}
3309  if( fKeyNbOfSamples == 9 ){xSampButText = " Sample [1,9] ";}
3310  if( fKeyNbOfSamples == 10 ){xSampButText = " Sample [1,10] ";}
3311 
3312  fSampBut->SetText(xSampButText);
3313 
3314  fCnaCommand++;
3315  cout << " *TEcnaGui [" << fCnaCommand
3316  << "]> Registration of number of samples in ROOT file -> "
3317  << fKeyNbOfSamples << endl;
3318 }
3319 //----------------------------------------------------------------------
3321 {
3322 //Registration of the number of samples (ROOT file)
3323 
3324  const char *bufferchain = fNbSampForCalcText->GetBuffer()->GetString();
3325  fKeyNbOfSampForCalcString = bufferchain;
3326  fKeyNbOfSampForCalc = atoi(bufferchain);
3327 
3329  {
3330  fCnaError++;
3331  cout << " !TEcnaGui (" << fCnaError << ") *** ERROR *** ===>"
3332  << " Number of required samples for calculations = " << fKeyNbOfSampForCalc
3333  << ": OUT OF RANGE, " << endl
3334  << " forced to the default value (="
3335  << fKeyNbOfSamples << ")." << fTTBELL << endl;
3338  }
3339  fCnaCommand++;
3340  cout << " *TEcnaGui [" << fCnaCommand
3341  << "]> Registration of number of samples for calculations -> "
3342  << fKeyNbOfSampForCalc << endl;
3343 }
3344 
3345 //----------------------------------------------------------------------
3347 {
3348 //Register run number
3349 
3350  //........................... get info from the entry field
3351  const char* bufferchain = fRunText->GetBuffer()->GetString();
3352  fKeyRunNumberString = bufferchain;
3353  fKeyRunNumber = atoi(bufferchain);
3354  fCnaCommand++;
3355  cout << " *TEcnaGui [" << fCnaCommand
3356  << "]> Registration of run number -> "
3357  << fKeyRunNumber << endl;
3358 }
3359 //-------------------------------------------------------------------
3360 
3362 {
3363 //Registration of the first requested event number
3364 
3365  const char *bufferchain = fFevText->GetBuffer()->GetString();
3366  fKeyFirstReqEvtNumberString = bufferchain;
3367  fKeyFirstReqEvtNumber = atoi(bufferchain);
3368 
3369  if ( fKeyFirstReqEvtNumber <= 0)
3370  {
3371  fCnaError++;
3372  cout << " !TEcnaGui (" << fCnaError << ") *ERROR* ===> "
3373  << " First event number = " << fKeyFirstReqEvtNumber
3374  << ": negative. " << endl
3375  << fTTBELL << endl;
3376  }
3377 
3378  fCnaCommand++;
3379  cout << " *TEcnaGui [" << fCnaCommand
3380  << "]> Registration of first requested event number -> "
3381  << fKeyFirstReqEvtNumber << endl;
3382 }
3383 //-------------------------------------------------------------------
3385 {
3386 //Registration of the last requested event number
3387 
3388  const char *bufferchain = fLevText->GetBuffer()->GetString();
3389  fKeyLastReqEvtNumberString = bufferchain;
3390  fKeyLastReqEvtNumber = atoi(bufferchain);
3391 
3393  {
3394  fCnaError++;
3395  cout << " !TEcnaGui (" << fCnaError << ") *WARNING* ===> "
3396  << " Last requested event number = " << fKeyLastReqEvtNumber
3397  << ": less than first requested event number (= " << fKeyFirstReqEvtNumber << ")."
3398  << endl;
3399  }
3400 
3401  fCnaCommand++;
3402  cout << " *TEcnaGui [" << fCnaCommand
3403  << "]> Registration of last requested event number -> "
3404  << fKeyLastReqEvtNumber << endl;
3405 }
3406 //-------------------------------------------------------------------
3408 {
3409 //Registration of the nb ofrequested events
3410 
3411  const char *bufferchain = fRevText->GetBuffer()->GetString();
3412  fKeyReqNbOfEvtsString = bufferchain;
3413  fKeyReqNbOfEvts = atoi(bufferchain);
3414 
3415  Int_t nb_range_evts = fKeyLastReqEvtNumber - fKeyFirstReqEvtNumber + 1;
3416 
3417  if( fKeyLastReqEvtNumber < fKeyFirstReqEvtNumber)
3418  {
3419  fCnaError++;
3420  cout << " !TEcnaGui (" << fCnaError << ") *WARNING* ===> "
3421  << " Last requested event number = " << fKeyLastReqEvtNumber
3422  << " less than first requested event number = " << fKeyFirstReqEvtNumber
3423  << endl;
3424  }
3425 
3426  if ( fKeyLastReqEvtNumber >= fKeyFirstReqEvtNumber && fKeyReqNbOfEvts > nb_range_evts )
3427  {
3428  fCnaError++;
3429  cout << " !TEcnaGui (" << fCnaError << ") *WARNING* ===> "
3430  << " Nb of requested events = " << fKeyReqNbOfEvts
3431  << ": out of range (range = " << fKeyFirstReqEvtNumber << ","
3432  << fKeyLastReqEvtNumber << ") => " << nb_range_evts << " events."
3433  << endl;
3434  }
3435 
3436  fCnaCommand++;
3437  cout << " *TEcnaGui [" << fCnaCommand
3438  << "]> Registration of requested number of events -> "
3439  << fKeyReqNbOfEvts << endl;
3440 }
3441 
3442 //-------------------------------------------------------------------
3444 {
3445 //Registration of the Stex number
3446 
3447  const char *bufferchain = fStexText->GetBuffer()->GetString();
3448  fKeyStexNumberString = bufferchain;
3449  fKeyStexNumber = atoi(bufferchain);
3450 
3451  if( fSubDet == "EB" )
3452  {
3453  fCnaCommand++;
3454  cout << " *TEcnaGui [" << fCnaCommand
3455  << "]> Registration of SuperModule number -> "
3456  << fKeyStexNumber << endl;
3457 
3458  //.......... Positive number for EB- [-1,-18] -> [19,36]
3460 
3461  if( (fKeyStexNumber < 0) || (fKeyStexNumber > fEcal->MaxSMInEB() ) )
3462  {
3463  fCnaError++;
3464  cout << " !TEcnaGui (" << fCnaError << ") *** ERROR *** ===> "
3465  << " EB / SM number = " << fKeyStexNumber
3466  << ": out of range. Range = 0 (EB) or [ 1 ," << fEcal->MaxSMInEB() << " ] (SM)"
3467  << " or [ -" << fEcal->MaxSMInEBMinus() << ", +" << fEcal->MaxSMInEBPlus() << "] (SM)"
3468  << fTTBELL << endl;
3469  }
3470  }
3471 
3472  if( fSubDet == "EE" )
3473  {
3474  //................... Update of SC Button Text according to the Dee Number
3475  TString xStinAButText = "?";
3476  TString xStinBButText = "?";
3477  if ( fSubDet == "EE" && ( fKeyStexNumber == 1 || fKeyStexNumber == 3 ) )
3478  {xStinAButText = "SC for const. [150,298] "; xStinBButText = "SC' for const. [150,298] ";
3479  fStinABut->SetText(xStinAButText); fStinBBut->SetText(xStinBButText);}
3480  if ( fSubDet == "EE" && ( fKeyStexNumber == 2 || fKeyStexNumber == 4 ) )
3481  {xStinAButText = "SC for const. [ 1,149] "; xStinBButText = "SC' for const. [ 1,149] ";
3482  fStinABut->SetText(xStinAButText); fStinBBut->SetText(xStinBButText);}
3483 
3484  if ( fSubDet == "EE" && ( fKeyStexNumber == 0 ) )
3485  {xStinAButText = "SC for const. "; xStinBButText = "SC' for const. ";
3486  fStinABut->SetText(xStinAButText); fStinBBut->SetText(xStinBButText);}
3487 
3488  //................... Update of SC widget according to the Dee Number
3489  if( fKeyStexNumber > 0 )
3490  {
3491  Int_t StinAValue = fKeyStinANumber;
3492  if( fSubDet == "EE" )
3494  DisplayInEntryField(fStinAText,StinAValue);
3495  Int_t StinBValue = fKeyStinBNumber;
3496  if( fSubDet == "EE" )
3498  DisplayInEntryField(fStinBText,StinBValue);
3499  }
3500  //............................................ Command message
3501  fCnaCommand++;
3502  cout << " *TEcnaGui [" << fCnaCommand
3503  << "]> Registration of Dee number -> "
3504  << fKeyStexNumber << endl;
3505 
3506  if ( (fKeyStexNumber < 0) || (fKeyStexNumber > fEcal->MaxDeeInEE() ) )
3507  {
3508  fCnaError++;
3509  cout << " !TEcnaGui (" << fCnaError << ") *** ERROR *** ===> "
3510  << " EE / Dee number = " << fKeyStexNumber
3511  << ": out of range. Range = 0 (EE) or [ 1 ," << fEcal->MaxDeeInEE() << " ] (Dee)"
3512  << fTTBELL << endl;
3513  }
3514  } // -- end of if( fSubDet == "EE" ) -------
3515 }
3516 //-------------------------------------------------------------------
3517 
3519 {
3520 //Registration of Ymin for number of events
3521 
3522  const char *bufferchain = fVminD_NOE_ChNbText->GetBuffer()->GetString();
3523 
3524  fKeyVminD_NOE_ChNb = (Double_t)atof(bufferchain);
3525 
3526  fCnaCommand++;
3527  cout << " *TEcnaGui [" << fCnaCommand
3528  << "]> Registration of Ymin for plot 'number of events' -> "
3529  << fKeyVminD_NOE_ChNb << endl;
3530 }
3531 //-------------------------------------------------------------------
3532 
3534 {
3535 //Registration of Ymax for number of events
3536 
3537  const char *bufferchain = fVmaxD_NOE_ChNbText->GetBuffer()->GetString();
3538 
3539  fKeyVmaxD_NOE_ChNb = (Double_t)atof(bufferchain);
3540 
3541  fCnaCommand++;
3542  cout << " *TEcnaGui [" << fCnaCommand
3543  << "]> Registration of Ymax for plot 'number of events' -> "
3544  << fKeyVmaxD_NOE_ChNb << endl;
3545 }
3546 //-------------------------------------------------------------------
3547 
3549 {
3550 //Registration of Ymin for pedestals
3551 
3552  const char *bufferchain = fVminD_Ped_ChNbText->GetBuffer()->GetString();
3553 
3554  fKeyVminD_Ped_ChNb = (Double_t)atof(bufferchain);
3555 
3556  fCnaCommand++;
3557  cout << " *TEcnaGui [" << fCnaCommand
3558  << "]> Registration of Ymin for plot 'pedestal' -> "
3559  << fKeyVminD_Ped_ChNb << endl;
3560 }
3561 //-------------------------------------------------------------------
3562 
3564 {
3565 //Registration of Ymax for pedestals
3566 
3567  const char *bufferchain = fVmaxD_Ped_ChNbText->GetBuffer()->GetString();
3568 
3569  fKeyVmaxD_Ped_ChNb = (Double_t)atof(bufferchain);
3570 
3571  fCnaCommand++;
3572  cout << " *TEcnaGui [" << fCnaCommand
3573  << "]> Registration of Ymax for plot 'pedestal' -> "
3574  << fKeyVmaxD_Ped_ChNb << endl;
3575 }
3576 //-------------------------------------------------------------------
3577 
3579 {
3580 //Registration of Ymin for mean sample sigmas (noise)
3581 
3582  const char *bufferchain = fVminD_TNo_ChNbText->GetBuffer()->GetString();
3583 
3584  fKeyVminD_TNo_ChNb = (Double_t)atof(bufferchain);
3585 
3586  fCnaCommand++;
3587  cout << " *TEcnaGui [" << fCnaCommand
3588  << "]> Registration of Ymin for plot 'total noise' -> "
3589  << fKeyVminD_TNo_ChNb << endl;
3590 }
3591 //-------------------------------------------------------------------
3592 
3594 {
3595 //Registration of Ymax for mean sample sigmas (noise)
3596 
3597  const char *bufferchain = fVmaxD_TNo_ChNbText->GetBuffer()->GetString();
3598 
3599  fKeyVmaxD_TNo_ChNb = (Double_t)atof(bufferchain);
3600 
3601  fCnaCommand++;
3602  cout << " *TEcnaGui [" << fCnaCommand
3603  << "]> Registration of Ymax for plot 'total noise' -> "
3604  << fKeyVmaxD_TNo_ChNb << endl;
3605 }
3606 //-------------------------------------------------------------------
3607 
3609 {
3610 //Registration of Ymin for mean cor(s,s')
3611 
3612  const char *bufferchain = fVminD_MCs_ChNbText->GetBuffer()->GetString();
3613 
3614  fKeyVminD_MCs_ChNb = (Double_t)atof(bufferchain);
3615 
3616  fCnaCommand++;
3617  cout << " *TEcnaGui [" << fCnaCommand
3618  << "]> Registration of Ymin for plot 'mean cor(s,s')' -> "
3619  << fKeyVminD_MCs_ChNb << endl;
3620 }
3621 //-------------------------------------------------------------------
3622 
3624 {
3625 //Registration of Ymax for mean cor(s,s')
3626 
3627  const char *bufferchain = fVmaxD_MCs_ChNbText->GetBuffer()->GetString();
3628 
3629  fKeyVmaxD_MCs_ChNb = (Double_t)atof(bufferchain);
3630 
3631  fCnaCommand++;
3632  cout << " *TEcnaGui [" << fCnaCommand
3633  << "]> Registration of Ymax for plot 'mean cor(s,s')' -> "
3634  << fKeyVmaxD_MCs_ChNb << endl;
3635 }
3636 //-------------------------------------------------------------------
3637 
3638 
3640 {
3641 //Registration of Ymin for sigmas of sample means
3642 
3643  const char *bufferchain = fVminD_LFN_ChNbText->GetBuffer()->GetString();
3644 
3645  fKeyVminD_LFN_ChNb = (Double_t)atof(bufferchain);
3646 
3647  fCnaCommand++;
3648  cout << " *TEcnaGui [" << fCnaCommand
3649  << "]> Registration of Ymin for plot 'low frequency noise' -> "
3650  << fKeyVminD_LFN_ChNb << endl;
3651 }
3652 //-------------------------------------------------------------------
3653 
3655 {
3656 //Registration of Ymax for sigmas of sample means
3657 
3658  const char *bufferchain = fVmaxD_LFN_ChNbText->GetBuffer()->GetString();
3659 
3660  fKeyVmaxD_LFN_ChNb = (Double_t)atof(bufferchain);
3661 
3662  fCnaCommand++;
3663  cout << " *TEcnaGui [" << fCnaCommand
3664  << "]> Registration of Ymax for plot 'low frequency noise' -> "
3665  << fKeyVmaxD_LFN_ChNb << endl;
3666 }
3667 //-------------------------------------------------------------------
3668 
3670 {
3671 //Registration of Ymin for sigmas of sample sigmas
3672 
3673  const char *bufferchain = fVminD_HFN_ChNbText->GetBuffer()->GetString();
3674 
3675  fKeyVminD_HFN_ChNb = (Double_t)atof(bufferchain);
3676 
3677  fCnaCommand++;
3678  cout << " *TEcnaGui [" << fCnaCommand
3679  << "]> Registration of Ymin for plot 'high frequency noise' -> "
3680  << fKeyVminD_HFN_ChNb << endl;
3681 }
3682 //-------------------------------------------------------------------
3683 
3685 {
3686 //Registration of Ymax for sigmas of sample sigmas
3687 
3688  const char *bufferchain = fVmaxD_HFN_ChNbText->GetBuffer()->GetString();
3689 
3690  fKeyVmaxD_HFN_ChNb = (Double_t)atof(bufferchain);
3691 
3692  fCnaCommand++;
3693  cout << " *TEcnaGui [" << fCnaCommand
3694  << "]> Registration of Ymax for plot 'high frequency noise' -> "
3695  << fKeyVmaxD_HFN_ChNb << endl;
3696 }
3697 //-------------------------------------------------------------------
3698 
3700 {
3701 //Registration of Ymin for sigmas of cor(s,s')
3702 
3703  const char *bufferchain = fVminD_SCs_ChNbText->GetBuffer()->GetString();
3704 
3705  fKeyVminD_SCs_ChNb = (Double_t)atof(bufferchain);
3706 
3707  fCnaCommand++;
3708  cout << " *TEcnaGui [" << fCnaCommand
3709  << "]> Registration of Ymin for plot 'sigma of cor(s,s')' -> "
3710  << fKeyVminD_SCs_ChNb << endl;
3711 }
3712 //-------------------------------------------------------------------
3713 
3715 {
3716 //Registration of Ymax for sigmas of cor(s,s')
3717 
3718  const char *bufferchain = (char*)fVmaxD_SCs_ChNbText->GetBuffer()->GetString();
3719 
3720  fKeyVmaxD_SCs_ChNb = (Double_t)atof(bufferchain);
3721 
3722  fCnaCommand++;
3723  cout << " *TEcnaGui [" << fCnaCommand
3724  << "]> Registration of Ymax for plot 'sigma of cor(s,s')' -> "
3725  << fKeyVmaxD_SCs_ChNb << endl;
3726 }
3727 //-------------------------------------------------------------------
3728 
3730 {
3731 //Registration of Ymin for LF Mean Cor(c,c')
3732 
3733  const char *bufferchain = fVminLFccMosText->GetBuffer()->GetString();
3734 
3735  fKeyVminLFccMos = (Double_t)atof(bufferchain);
3736 
3737  fCnaCommand++;
3738  cout << " *TEcnaGui [" << fCnaCommand
3739  << "]> Registration of Ymin for plot 'mean LF |cor(c,c')|' -> "
3740  << fKeyVminLFccMos << endl;
3741 }
3742 //-------------------------------------------------------------------
3743 
3745 {
3746 //Registration of Ymax for LF Mean Cor(c,c')
3747 
3748  const char *bufferchain = fVmaxLFccMosText->GetBuffer()->GetString();
3749 
3750  fKeyVmaxLFccMos = (Double_t)atof(bufferchain);
3751 
3752  fCnaCommand++;
3753  cout << " *TEcnaGui [" << fCnaCommand
3754  << "]> Registration of Ymax for plot 'mean LF |cor(c,c')|' -> "
3755  << fKeyVmaxLFccMos << endl;
3756 }
3757 //-------------------------------------------------------------------
3758 
3760 {
3761 //Registration of Ymin for HF Mean Cor(c,c')
3762 
3763  const char *bufferchain = fVminHFccMosText->GetBuffer()->GetString();
3764 
3765  fKeyVminHFccMos = (Double_t)atof(bufferchain);
3766 
3767  fCnaCommand++;
3768  cout << " *TEcnaGui [" << fCnaCommand
3769  << "]> Registration of Ymin for plot 'mean HF |cor(c,c')|' -> "
3770  << fKeyVminHFccMos << endl;
3771 }
3772 //-------------------------------------------------------------------
3773 
3775 {
3776 //Registration of Ymax for HF Mean Cor(c,c')
3777 
3778  const char *bufferchain = fVmaxHFccMosText->GetBuffer()->GetString();
3779 
3780  fKeyVmaxHFccMos = (Double_t)atof(bufferchain);
3781 
3782  fCnaCommand++;
3783  cout << " *TEcnaGui [" << fCnaCommand
3784  << "]> Registration of Ymax for plot 'mean HF |cor(c,c')|' -> "
3785  << fKeyVmaxHFccMos << endl;
3786 }
3787 
3788 //-------------------------------------------------------------------
3789 
3791 {
3792 //Registration of Ymin for cov(c,c') in Stins
3793 
3794  const char *bufferchain = fVminLHFccText->GetBuffer()->GetString();
3795 
3796  fKeyVminLHFcc = (Double_t)atof(bufferchain);
3797 
3798  fCnaCommand++;
3799  cout << " *TEcnaGui [" << fCnaCommand
3800  << "]> Registration of Ymin for plot 'cor(c,c') in "
3801  << fStinName.Data() << "s' -> " << fKeyVminLHFcc << endl;
3802 }
3803 //-------------------------------------------------------------------
3804 
3806 {
3807 //Registration of Ymax for cov(c,c') in Stins
3808 
3809  const char *bufferchain = fVmaxLHFccText->GetBuffer()->GetString();
3810 
3811  fKeyVmaxLHFcc = (Double_t)atof(bufferchain);
3812 
3813  fCnaCommand++;
3814  cout << " *TEcnaGui [" << fCnaCommand
3815  << "]> Registration of Ymax for plot 'cor(c,c') in "
3816  << fStinName.Data() << "s' -> " << fKeyVmaxLHFcc << endl;
3817 }
3818 
3819 //-------------------------------------------------------------------
3820 
3822 {
3823  ViewStexStinNumbering(); // message in the method
3824 }
3825 //-------------------------------------------------------------------
3827 {
3828 //Registration of the Stin A number (A = X coordinate for cor(c,c') plots)
3829 
3830  const char *bufferchain = (char*)fStinAText->GetBuffer()->GetString();
3831 
3832  Int_t xReadStinANumberForCons = atoi(bufferchain);
3833 
3834  if( fSubDet == "EB" ){fKeyStinANumber = xReadStinANumberForCons;}
3835  if( fSubDet == "EE" )
3837 
3838  if( fSubDet == "EB" )
3839  {
3840  fCnaCommand++;
3841  cout << " *TEcnaGui [" << fCnaCommand
3842  << "]> Registration of " << fStinName.Data() << " number -> "
3843  << xReadStinANumberForCons << endl;
3844 
3846  {
3847  fCnaError++;
3848  cout << " !TEcnaGui (" << fCnaError << ") *** ERROR *** ===> " << fStinName.Data()
3849  << " number = " << fKeyStinANumber
3850  << ": out of range ( range = [ 1 ," << fEcal->MaxStinEcnaInStex() << " ] ) "
3851  << fTTBELL << endl;
3852  }
3853  }
3854 
3855  if( fSubDet == "EE" )
3856  {
3857  fCnaCommand++;
3858  cout << " *TEcnaGui [" << fCnaCommand
3859  << "]> Registration of " << fStinName.Data() << " number for construction -> "
3860  << xReadStinANumberForCons << endl;
3861 
3862  if( fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxDeeInEE() )
3863  {
3864  Int_t off_set_cons = 0;
3865  if( fKeyStexNumber == 1 || fKeyStexNumber == 3 ){off_set_cons = fEcal->MaxSCForConsInDee();}
3866 
3867  if( xReadStinANumberForCons <= off_set_cons ||
3868  xReadStinANumberForCons > fEcal->MaxSCForConsInDee()+off_set_cons )
3869  {
3870  fCnaError++;
3871  cout << " !TEcnaGui (" << fCnaError << ") *** ERROR *** ===> SC nb for construction = "
3872  << xReadStinANumberForCons << ". Out of range ( range = [ " << off_set_cons+1
3873  << "," << fEcal->MaxSCForConsInDee()+off_set_cons << "] )"
3874  << fTTBELL << endl;
3875  }
3876  }
3877  else
3878  {
3879  fCnaError++;
3880  cout << " !TEcnaGui (" << fCnaError << ") *** ERROR *** ===> DeeNumber = " << fKeyStexNumber
3881  << ". Out of range ( range = [1," << fEcal->MaxDeeInEE() << "] )"
3882  << fTTBELL << endl;
3883  }
3884  }
3885 }
3886 
3887 //-------------------------------------------------------------------
3889 {
3890 //Registration of the Stin B number (B = Y coordinate for cor(c,c') plots)
3891 
3892  const char *bufferchain = fStinBText->GetBuffer()->GetString();
3893 
3894  Int_t xReadStinBNumberForCons = atoi(bufferchain);
3895 
3896  if( fSubDet == "EB" ){fKeyStinBNumber = xReadStinBNumberForCons;}
3897  if( fSubDet == "EE" )
3899 
3900  fCnaCommand++;
3901  cout << " *TEcnaGui [" << fCnaCommand
3902  << "]> Registration of " << fStinName.Data() << "' number -> "
3903  << xReadStinBNumberForCons << endl;
3904 
3905  if( fSubDet == "EB" )
3906  {
3908  {
3909  fCnaError++;
3910  cout << " !TEcnaGui (" << fCnaError << ") *** ERROR *** ===> " << fStinName.Data()
3911  << "' number = " << fKeyStinBNumber
3912  << ": out of range ( range = [ 1 ," << fEcal->MaxStinEcnaInStex() << " ] ) "
3913  << fTTBELL << endl;
3914  }
3915  }
3916 
3917  if( fSubDet == "EE" )
3918  {
3919  if( fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxDeeInEE() )
3920  {
3921  Int_t off_set_cons = 0;
3922  if( fKeyStexNumber == 1 || fKeyStexNumber == 3 ){off_set_cons = fEcal->MaxSCForConsInDee();}
3923 
3924  if( xReadStinBNumberForCons < off_set_cons ||
3925  xReadStinBNumberForCons > fEcal->MaxSCForConsInDee()+off_set_cons )
3926  {
3927  fCnaError++;
3928  cout << " !TEcnaGui (" << fCnaError << ") *** ERROR *** ===> SC nb for construction = "
3929  << xReadStinBNumberForCons << ". Out of range ( range = [ " << off_set_cons+1
3930  << "," << fEcal->MaxSCForConsInDee()+off_set_cons << "] )"
3931  << fTTBELL << endl;
3932  }
3933  }
3934  else
3935  {
3936  fCnaError++;
3937  cout << " !TEcnaGui (" << fCnaError << ") *** ERROR *** ===> DeeNumber = " << fKeyStexNumber
3938  << ". Out of range ( range = [1," << fEcal->MaxDeeInEE() << "] )"
3939  << fTTBELL << endl;
3940  }
3941  }
3942 }
3943 //-------------------------------------------------------------------
3945 {
3946 //Display of StinA Channel numbering
3948 }
3949 
3950 //-------------------------------------------------------------------
3952 {
3953 //Registration of the channel number
3954 
3955  const char *bufferchain = fChanText->GetBuffer()->GetString();
3956  Int_t xReadNumber = atoi(bufferchain);
3957 
3958  Int_t Choffset = -1;
3959  TString ChString = "?";
3960 
3961  if( fSubDet == "EB"){Choffset = 0; ChString = "channel";}
3962  if( fSubDet == "EE"){Choffset = 1; ChString = "crystal";}
3963 
3964  fKeyChanNumber = xReadNumber-Choffset; // fKeyChanNumber : range = [0,25]
3965  fCnaCommand++;
3966  cout << " *TEcnaGui [" << fCnaCommand
3967  << "]> Registration of " << ChString.Data() << " number -> "
3968  << xReadNumber << endl;
3969 
3970  if ( (fKeyChanNumber < 0) || (fKeyChanNumber > fEcal->MaxCrysInStin()-1 ) )
3971  {
3972  fCnaError++;
3973  cout << " !TEcnaGui (" << fCnaError << ") *** ERROR *** ===> "
3974  << ChString.Data() << " number in " << fStinName.Data() << " = " << xReadNumber
3975  << ": out of range ( range = [" << Choffset << ","
3976  << fEcal->MaxCrysInStin()-1+Choffset << "] )"
3977  << fTTBELL << endl;
3978  }
3979 }
3980 //-------------------------------------------------------------------
3982 {
3983 //Registration of the sample number
3984 
3985  const char *bufferchain = fSampText->GetBuffer()->GetString();
3986  Int_t xKeySampNumber = atoi(bufferchain);
3987 
3988  fCnaCommand++;
3989  cout << " *TEcnaGui [" << fCnaCommand
3990  << "]> Registration of sample number -> "
3991  << xKeySampNumber << endl;
3992 
3993  if ( (xKeySampNumber < 1) || (xKeySampNumber > fKeyNbOfSamples ) )
3994  {
3995  fCnaError++;
3996  cout << " !TEcnaGui (" << fCnaError << ") *** ERROR *** ===> "
3997  << " Sample number = " << xKeySampNumber
3998  << ": out of range ( range = [ 1 ," << fKeyNbOfSamples << " ] )"
3999  << fTTBELL << endl;
4000  }
4001 
4002  fKeySampNumber = xKeySampNumber-1;
4003 }
4004 
4005 //----------------------------------------------------------------------
4007 {
4008 //Register the name of the file containing the list of run parameters
4009 
4010  //........................... get info from the entry field
4011  char* listchain = (char*)fRulText->GetBuffer()->GetString();
4012  if( listchain[0] == '\0' )
4013  {
4014  fCnaError++;
4015  cout << " !TEcnaGui (" << fCnaError << ") *ERROR* ===> "
4016  << " Empty file name in entry for TIME EVOLUTION plots."
4017  << fTTBELL << endl;
4019  }
4020  else
4021  {
4022  char tchiffr[10] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
4023 
4024  //............. test of the first character (figure => run number, letter => file name)
4025  if( listchain[0] == tchiffr [0] || listchain[0] == tchiffr [1] ||
4026  listchain[0] == tchiffr [2] || listchain[0] == tchiffr [3] ||
4027  listchain[0] == tchiffr [4] || listchain[0] == tchiffr [5] ||
4028  listchain[0] == tchiffr [6] || listchain[0] == tchiffr [7] ||
4029  listchain[0] == tchiffr [8] || listchain[0] == tchiffr [9] )
4030  {
4031  fCnaError++;
4032  cout << " !TEcnaGui (" << fCnaError << ") *ERROR* ===> "
4033  << " Please, enter a file name beginning with an alphabetic letter."
4034  << fTTBELL << endl;
4035  }
4036  else
4037  {
4038  fKeyFileNameRunList = listchain;
4039 
4040  fCnaCommand++;
4041  cout << " *TEcnaGui [" << fCnaCommand
4042  << "]> Registration of run list file name for history plots -> "
4043  << fKeyFileNameRunList.Data() << endl;
4044  }
4045  }
4046 }
4047 
4048 //----------------------------------------------------------------------
4050 {
4051 //Register the general title
4052  //........................... get info from the entry field
4053  char* listchain = (char*)fGentText->GetBuffer()->GetString();
4054  fKeyGeneralTitle = listchain;
4055 
4056  fCnaCommand++;
4057  cout << " *TEcnaGui [" << fCnaCommand
4058  << "]> Registration of general title -> "
4059  << fKeyGeneralTitle.Data() << endl;
4060 }
4061 //-------------------------------------------------------------------
4062 //
4063 // Last buttons methods
4064 //
4065 //-------------------------------------------------------------------
4066 //======================= LIN/LOG + Projy FRAME
4067 
4069 {
4070  if( fMemoScaleX == "LOG"){fKeyScaleX = "LIN";}
4071  if( fMemoScaleX == "LIN"){fKeyScaleX = "LOG";}
4073 
4074  fCnaCommand++;
4075  cout << " *TEcnaGui [" << fCnaCommand
4076  << "]> X axis -> " << fKeyScaleX << " scale " << endl;
4077 }
4079 {
4080  if( fMemoScaleY == "LOG" ){fKeyScaleY = "LIN";}
4081  if( fMemoScaleY == "LIN" ){fKeyScaleY = "LOG";}
4083 
4084  fCnaCommand++;
4085  cout << " *TEcnaGui [" << fCnaCommand
4086  << "]> Y axis -> " << fKeyScaleY << " scale " << endl;
4087 }
4088 
4090 {
4091  if( fMemoProjY == "Y projection" ){fKeyProjY = "normal";}
4092  if( fMemoProjY == "normal" ){fKeyProjY = "Y projection";}
4094 
4095  fCnaCommand++;
4096  cout << " *TEcnaGui [" << fCnaCommand
4097  << "]> 1D Histo display -> " << fKeyProjY << " mode " << endl;
4098 }
4099 
4100 //------------------------------------------------------------------- Colors + Exit
4101 
4103 {
4104  if( fMemoColPal == "ECCNAColor" ){fKeyColPal = "Rainbow";}
4105  if( fMemoColPal == "Rainbow" ){fKeyColPal = "ECCNAColor";}
4107 
4108  TString sColPalComment = "?";
4109  if( fKeyColPal == "ECCNAColor" )
4110  {sColPalComment = "ECNAColor option: black-red-blue-green-brown-purple (default)";}
4111  if( fKeyColPal == "Rainbow" )
4112  {sColPalComment = "Rainbow option: red-orange-yellow-green-blue-indigo-purple";}
4113 
4114  fCnaCommand++;
4115  cout << " *TEcnaGui [" << fCnaCommand
4116  << "]> Color palette -> " << sColPalComment << endl;
4117 }
4118 
4120 {
4121  fCnaCommand++;
4122  cout << " *TEcnaGui [" << fCnaCommand
4123  << "]> Exit CNA session."
4124  << endl;
4125  //............................ Quit the ROOT session
4126  fButExit->SetCommand(".q");
4127 }
4128 
4129 //======================= LAST FRAME
4130 //-------------------------------------------------------------------
4132 {
4133  fCnaCommand++;
4134  cout << " *TEcnaGui [" << fCnaCommand
4135  << "]> Clone last canvas. " << endl;
4136 
4137  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
4139 }
4140 //-------------------------------------------------------------------
4142 {
4143  fCnaCommand++;
4144  cout << " *TEcnaGui [" << fCnaCommand
4145  << "]> This is ROOT version " << gROOT->GetVersion()
4146  << endl;
4147 }
4148 //-------------------------------------------------------------------
4150 {
4151  fCnaCommand++;
4152  cout << " *TEcnaGui [" << fCnaCommand
4153  << "]> HELP: for documentation, see the ECNA web page: " << endl
4154  << " http://cms-fabbro.web.cern.ch/cms-fabbro/cna_new/Correlated_Noise_analysis/ECNA_main_page.htm"
4155  << endl;
4156 }
4157 
4158 //===================================================================
4159 //
4160 // HandleMenu
4161 //
4162 //===================================================================
4163 void TEcnaGui::HandleMenu(Int_t id)
4164 {
4165  //HandleMenu
4166  //.................... SUBMIT on batch system
4167 
4168  if( id == fMenuSubmit8nmC ){SubmitOnBatchSystem("8nm");}
4169  if( id == fMenuSubmit1nhC ){SubmitOnBatchSystem("1nh");}
4170  if( id == fMenuSubmit8nhC ){SubmitOnBatchSystem("8nh");}
4171  if( id == fMenuSubmit1ndC ){SubmitOnBatchSystem("1nd");}
4172  if( id == fMenuSubmit1nwC ){SubmitOnBatchSystem("1nw");}
4173 
4174  //.................... Clean
4175  if( id == fMenuCleanSubC ){CleanBatchFiles("Sub");}
4176  if( id == fMenuCleanJobC ){CleanBatchFiles("Job");}
4177  if( id == fMenuCleanPythC ){CleanBatchFiles("Pyth");}
4178  if( id == fMenuCleanAllC ){CleanBatchFiles("All");}
4179 
4180  //.................... Calculations
4181  if( id == fMenuComputStdC ){Calculations("Std");}
4182  if( id == fMenuComputSttC ){Calculations("Stt");}
4183  if( id == fMenuComputSccC ){Calculations("Scc");}
4184 
4185  //.................... Nb of events in Stex
4186  if( id == fMenuD_NOE_ChNbFullC )
4187  {
4190  }
4191  if( id == fMenuD_NOE_ChNbSameC )
4192  {
4195  }
4198 
4199  //.................... Pedestal in Stex (HandleMenu)
4200  if( id == fMenuD_Ped_ChNbFullC )
4201  {
4204  }
4205  if( id == fMenuD_Ped_ChNbSameC )
4206  {
4209  }
4212 
4213  //.................... Total noise in Stex (HandleMenu)
4214  if( id == fMenuD_TNo_ChNbFullC )
4215  {
4218  }
4219  if( id == fMenuD_TNo_ChNbSameC )
4220  {
4223  }
4224  if( id == fMenuD_TNo_ChNbSamePC)
4225  {
4228  }
4231 
4232  //.................... Low Frequency noise in Stex (HandleMenu)
4233  if( id == fMenuD_LFN_ChNbFullC )
4234  {
4237  }
4238  if( id == fMenuD_LFN_ChNbSameC )
4239  {
4242  }
4243  if( id == fMenuD_LFN_ChNbSamePC)
4244  {
4247  }
4250 
4251  //.................... High Frequency noise in Stex (HandleMenu)
4252  if( id == fMenuD_HFN_ChNbFullC )
4253  {
4256  }
4257  if( id == fMenuD_HFN_ChNbSameC )
4258  {
4261  }
4262  if( id == fMenuD_HFN_ChNbSamePC)
4263  {
4266  }
4269 
4270  //.................... Mean Corss in Stex (HandleMenu)
4271  if( id == fMenuD_MCs_ChNbFullC )
4272  {
4275  }
4276  if( id == fMenuD_MCs_ChNbSameC )
4277  {
4280  }
4281  if( id == fMenuD_MCs_ChNbSamePC)
4282  {
4285  }
4288 
4289  //.................... Sigma of Corss in the Stex (HandleMenu)
4290  if( id == fMenuD_SCs_ChNbFullC )
4291  {
4294  }
4295  if( id == fMenuD_SCs_ChNbSameC )
4296  {
4299  }
4300  if( id == fMenuD_SCs_ChNbSamePC)
4301  {
4304  }
4307 
4308  //............................... Low Freq Mean Cor(c,c') for each pair of Stins (HandleMenu)
4311  //............................... High Freq Mean Cor(c,c') for each pair of Stins
4314 
4315  //............................... Corcc for each Stin in the Stex
4318 
4319  //--------> Nb for Cons for Stin numbers in case of EE
4320  Int_t cKeyStinANumber = fKeyStinANumber;
4321  if( fSubDet == "EE" && fKeyStexNumber != 0 )
4323  Int_t cKeyStinBNumber = fKeyStinBNumber;
4324  if( fSubDet == "EE" && fKeyStexNumber != 0 )
4326 
4327  //............................... Low Frequency Correlations and covariances between channels
4328  if( id == fMenuLFCorccColzC )
4329  {ViewMatrixLowFrequencyCorrelationsBetweenChannels(cKeyStinANumber, cKeyStinBNumber, "COLZ");}
4330  if( id == fMenuLFCorccLegoC )
4331  {ViewMatrixLowFrequencyCorrelationsBetweenChannels(cKeyStinANumber, cKeyStinBNumber, "LEGO2Z");}
4332 
4333  if( id == fMenuHFCorccColzC )
4334  {ViewMatrixHighFrequencyCorrelationsBetweenChannels(cKeyStinANumber, cKeyStinBNumber, "COLZ");}
4335  if( id == fMenuHFCorccLegoC )
4336  {ViewMatrixHighFrequencyCorrelationsBetweenChannels(cKeyStinANumber, cKeyStinBNumber, "LEGO2Z");}
4337 
4338  //.................................... Correlations and covariances between samples (HandleMenu)
4339  if( id == fMenuCorssColzC ){ViewMatrixCorrelationSamples(cKeyStinANumber, fKeyChanNumber, "COLZ");}
4340  if( id == fMenuCorssBoxC ){ViewMatrixCorrelationSamples(cKeyStinANumber, fKeyChanNumber, "BOX");}
4341  if( id == fMenuCorssTextC ){ViewMatrixCorrelationSamples(cKeyStinANumber, fKeyChanNumber, "TEXT");}
4342  if( id == fMenuCorssContzC ){ViewMatrixCorrelationSamples(cKeyStinANumber, fKeyChanNumber, "CONTZ");}
4343  if( id == fMenuCorssLegoC ){ViewMatrixCorrelationSamples(cKeyStinANumber, fKeyChanNumber, "LEGO2Z");}
4344  if( id == fMenuCorssSurf1C ){ViewMatrixCorrelationSamples(cKeyStinANumber, fKeyChanNumber, "SURF1Z");}
4345  if( id == fMenuCorssSurf2C ){ViewMatrixCorrelationSamples(cKeyStinANumber, fKeyChanNumber, "SURF2Z");}
4346  if( id == fMenuCorssSurf3C ){ViewMatrixCorrelationSamples(cKeyStinANumber, fKeyChanNumber, "SURF3Z");}
4347  if( id == fMenuCorssSurf4C ){ViewMatrixCorrelationSamples(cKeyStinANumber, fKeyChanNumber, "SURF4");}
4348  if( id == fMenuCorssAsciiFileC ){ViewMatrixCorrelationSamples(cKeyStinANumber, fKeyChanNumber, "ASCII");}
4349 
4350  if( id == fMenuCovssColzC ){ViewMatrixCovarianceSamples(cKeyStinANumber, fKeyChanNumber, "COLZ");}
4351  if( id == fMenuCovssBoxC ){ViewMatrixCovarianceSamples(cKeyStinANumber, fKeyChanNumber, "BOX");}
4352  if( id == fMenuCovssTextC ){ViewMatrixCovarianceSamples(cKeyStinANumber, fKeyChanNumber, "TEXT");}
4353  if( id == fMenuCovssContzC ){ViewMatrixCovarianceSamples(cKeyStinANumber, fKeyChanNumber, "CONTZ");}
4354  if( id == fMenuCovssLegoC ){ViewMatrixCovarianceSamples(cKeyStinANumber, fKeyChanNumber, "LEGO2Z");}
4355  if( id == fMenuCovssSurf1C ){ViewMatrixCovarianceSamples(cKeyStinANumber, fKeyChanNumber, "SURF1Z");}
4356  if( id == fMenuCovssSurf2C ){ViewMatrixCovarianceSamples(cKeyStinANumber, fKeyChanNumber, "SURF2Z");}
4357  if( id == fMenuCovssSurf3C ){ViewMatrixCovarianceSamples(cKeyStinANumber, fKeyChanNumber, "SURF3Z");}
4358  if( id == fMenuCovssSurf4C ){ViewMatrixCovarianceSamples(cKeyStinANumber, fKeyChanNumber, "SURF4");}
4359  if( id == fMenuCovssAsciiFileC ){ViewMatrixCovarianceSamples(cKeyStinANumber, fKeyChanNumber, "ASCII");}
4360 
4361  //.................... Correlations and covariances between samples for all channels of a Stin
4362  if( id == fMenuCorssAllColzC ){ViewStinCorrelationSamples(cKeyStinANumber);}
4363  if( id == fMenuCovssAllColzC ){ViewStinCovarianceSamples(cKeyStinANumber);}
4364 
4365  //..................................... Sample means (pedestals) (HandleMenu)
4366  if( id == fMenuD_MSp_SpNbLineFullC )
4367  {
4368  if( fMemoProjY == "normal" ){ViewHistoCrystalSampleMeans(cKeyStinANumber, fKeyChanNumber, fOptPlotFull);}
4369  if( fMemoProjY == "Y projection"){ViewHistoCrystalSampleMeansDistribution(cKeyStinANumber, fKeyChanNumber, fOptPlotFull);}
4370  }
4371 
4372  if( id == fMenuD_MSp_SpNbLineSameC )
4373  {
4374  if( fMemoProjY == "normal" ){ViewHistoCrystalSampleMeans(cKeyStinANumber, fKeyChanNumber, fOptPlotSame);}
4375  if( fMemoProjY == "Y projection"){ViewHistoCrystalSampleMeansDistribution(cKeyStinANumber, fKeyChanNumber, fOptPlotSame);}
4376  }
4377  if( id == fMenuD_MSp_SpNbLineAllStinC )
4378  {
4379  if( fMemoProjY == "normal" ){ViewHistoCrystalSampleMeans(cKeyStinANumber, fKeyChanNumber, fOptPlotSameInStin);}
4380  if( fMemoProjY == "Y projection"){ViewHistoCrystalSampleMeansDistribution(cKeyStinANumber, fKeyChanNumber, fOptPlotSameInStin);}
4381  }
4382 
4383  //..................................... Sample sigmas
4384  if( id == fMenuD_SSp_SpNbLineFullC )
4385  {
4386  if( fMemoProjY == "normal" ){ViewHistoCrystalSampleSigmas(cKeyStinANumber, fKeyChanNumber, fOptPlotFull);}
4387  if( fMemoProjY == "Y projection"){ViewHistoCrystalSampleSigmasDistribution(cKeyStinANumber, fKeyChanNumber, fOptPlotFull);}
4388  }
4389  if( id == fMenuD_SSp_SpNbLineSameC )
4390  {
4391  if( fMemoProjY == "normal" ){ViewHistoCrystalSampleSigmas(cKeyStinANumber, fKeyChanNumber, fOptPlotSame);}
4392  if( fMemoProjY == "Y projection"){ViewHistoCrystalSampleSigmasDistribution(cKeyStinANumber, fKeyChanNumber, fOptPlotSame);}
4393  }
4394  if( id == fMenuD_SSp_SpNbLineAllStinC )
4395  {
4396  if( fMemoProjY == "normal" ){ViewHistoCrystalSampleSigmas(cKeyStinANumber, fKeyChanNumber, fOptPlotSameInStin);}
4397  if( fMemoProjY == "Y projection"){ViewHistoCrystalSampleSigmasDistribution(cKeyStinANumber, fKeyChanNumber, fOptPlotSameInStin);}
4398  }
4399 
4400  //..................................... Evolution in time (ViewHistime, except EvolSamp -> Viewhisto)
4407  {
4409  {fCnaError++;
4410  cout << " !TEcnaGui (" << fCnaError << ") *** ERROR *** ===> "
4411  << " EMPTY STRING for list of run file name (TIME EVOLUTION plots)." << fTTBELL << endl;}
4412  else
4413  {
4414  //........................................ Pedestals (HandleMenu / ViewHistime)
4415  if( id == fMenuH_Ped_DatePolmFullC )
4416  {
4417  if( fMemoProjY == "normal" )
4419  cKeyStinANumber, fKeyChanNumber, fOptPlotFull);}
4420  if( fMemoProjY == "Y projection")
4422  cKeyStinANumber, fKeyChanNumber, fOptPlotFull);}
4423  }
4424  if( id == fMenuH_Ped_DatePolmSameC )
4425  { if( fMemoProjY == "normal" )
4427  cKeyStinANumber, fKeyChanNumber, fOptPlotSame);}
4428  if( fMemoProjY == "Y projection")
4430  cKeyStinANumber, fKeyChanNumber, fOptPlotSame);}
4431  }
4432 
4433  //........................................ Total noise
4434  if( id == fMenuH_TNo_DatePolmFullC )
4435  {
4436  if( fMemoProjY == "normal" )
4438  cKeyStinANumber, fKeyChanNumber, fOptPlotFull);}
4439  if( fMemoProjY == "Y projection")
4441  cKeyStinANumber, fKeyChanNumber, fOptPlotFull);}
4442  }
4443  if( id == fMenuH_TNo_DatePolmSameC )
4444  {
4445  if( fMemoProjY == "normal" )
4447  cKeyStinANumber, fKeyChanNumber, fOptPlotSame);}
4448  if( fMemoProjY == "Y projection")
4450  cKeyStinANumber, fKeyChanNumber, fOptPlotSame);}
4451  }
4452  if( id == fMenuH_TNo_DatePolmSamePC )
4453  {
4454  if( fMemoProjY == "normal" )
4456  cKeyStinANumber, fKeyChanNumber, fOptPlotSameP);}
4457  if( fMemoProjY == "Y projection")
4459  cKeyStinANumber, fKeyChanNumber, fOptPlotSameP);}
4460  }
4461 
4462  //........................................ Low frequency noise (HandleMenu / ViewHistime)
4463  if( id == fMenuH_LFN_DatePolmFullC )
4464  {
4465  if( fMemoProjY == "normal" )
4467  cKeyStinANumber, fKeyChanNumber, fOptPlotFull);}
4468  if( fMemoProjY == "Y projection")
4470  cKeyStinANumber, fKeyChanNumber, fOptPlotFull);}
4471  }
4472  if( id == fMenuH_LFN_DatePolmSameC )
4473  {
4474  if( fMemoProjY == "normal" )
4476  cKeyStinANumber, fKeyChanNumber, fOptPlotSame);}
4477  if( fMemoProjY == "Y projection")
4479  cKeyStinANumber, fKeyChanNumber, fOptPlotSame);}
4480  }
4481  if( id == fMenuH_LFN_DatePolmSamePC )
4482  {
4483  if( fMemoProjY == "normal" )
4485  cKeyStinANumber, fKeyChanNumber, fOptPlotSameP);}
4486  if( fMemoProjY == "Y projection")
4488  cKeyStinANumber, fKeyChanNumber, fOptPlotSameP);}
4489  }
4490 
4491  //........................................ High frequency noise
4492  if( id == fMenuH_HFN_DatePolmFullC )
4493  {
4494  if( fMemoProjY == "normal" )
4496  cKeyStinANumber, fKeyChanNumber, fOptPlotFull);}
4497  if( fMemoProjY == "Y projection")
4499  cKeyStinANumber, fKeyChanNumber, fOptPlotFull);}
4500  }
4501  if( id == fMenuH_HFN_DatePolmSameC )
4502  {
4503  if( fMemoProjY == "normal" )
4505  cKeyStinANumber, fKeyChanNumber, fOptPlotSame);}
4506  if( fMemoProjY == "Y projection")
4508  cKeyStinANumber, fKeyChanNumber, fOptPlotSame);}
4509  }
4510  if( id == fMenuH_HFN_DatePolmSamePC )
4511  {
4512  if( fMemoProjY == "normal" )
4514  cKeyStinANumber, fKeyChanNumber, fOptPlotSameP);}
4515  if( fMemoProjY == "Y projection")
4517  cKeyStinANumber, fKeyChanNumber, fOptPlotSameP);}
4518  }
4519 
4520  //........................................ Mean Corss (HandleMenu / ViewHistime)
4521  if( id == fMenuH_MCs_DatePolmFullC )
4522  {
4523  if( fMemoProjY == "normal" )
4525  cKeyStinANumber, fKeyChanNumber, fOptPlotFull);}
4526  if( fMemoProjY == "Y projection")
4528  cKeyStinANumber, fKeyChanNumber, fOptPlotFull);}
4529  }
4530  if( id == fMenuH_MCs_DatePolmSameC )
4531  {
4532  if( fMemoProjY == "normal" )
4534  cKeyStinANumber, fKeyChanNumber, fOptPlotSame);}
4535  if( fMemoProjY == "Y projection")
4537  cKeyStinANumber, fKeyChanNumber, fOptPlotSame);}
4538  }
4539  if( id == fMenuH_MCs_DatePolmSamePC )
4540  {
4541  if( fMemoProjY == "normal" )
4543  cKeyStinANumber, fKeyChanNumber, fOptPlotSameP);}
4544  if( fMemoProjY == "Y projection")
4546  cKeyStinANumber, fKeyChanNumber, fOptPlotSameP);}
4547  }
4548 
4549  //........................................ Sigmas of Corss
4550  if( id == fMenuH_SCs_DatePolmFullC )
4551  {
4552  if( fMemoProjY == "normal" )
4554  cKeyStinANumber, fKeyChanNumber, fOptPlotFull);}
4555  if( fMemoProjY == "Y projection")
4557  cKeyStinANumber, fKeyChanNumber, fOptPlotFull);}
4558  }
4559  if( id == fMenuH_SCs_DatePolmSameC )
4560  {
4561  if( fMemoProjY == "normal" )
4563  cKeyStinANumber, fKeyChanNumber, fOptPlotSame);}
4564  if( fMemoProjY == "Y projection")
4566  cKeyStinANumber, fKeyChanNumber, fOptPlotSame);}
4567  }
4568  if( id == fMenuH_SCs_DatePolmSamePC )
4569  {
4570  if( fMemoProjY == "normal" )
4572  cKeyStinANumber, fKeyChanNumber, fOptPlotSameP);}
4573  if( fMemoProjY == "Y projection")
4575  cKeyStinANumber, fKeyChanNumber, fOptPlotSameP);}
4576  }
4577  }
4578  }
4579 
4580  //...................................... SampTime (HandleMenu / ADC)
4581  if( id == fMenuAdcProjSampLineFullC )
4582  {
4583  if( fMemoProjY == "normal" )
4585  if( fMemoProjY == "Y projection")
4587  }
4588  if( id == fMenuAdcProjSampLineSameC )
4589  {
4590  if( fMemoProjY == "normal" )
4592  if( fMemoProjY == "Y projection")
4594  }
4595 }
4596 // ------------- ( end of HandleMenu(...) ) -------------
4597 
4598 //==========================================================================
4599 //
4600 // SubmitOnBatchSystem() M E T H O D
4601 //
4602 //==========================================================================
4603 void TEcnaGui::SubmitOnBatchSystem(const TString& QueueCode)
4604 {
4605  //Submit job in batch mode
4606 
4607  if( (fConfirmSubmit == 1) && (fConfirmRunNumber == fKeyRunNumber) )
4608  {
4609  fCnaCommand++;
4610  cout << " *TEcnaGui [" << fCnaCommand
4611  << "]> Submitting job in batch mode for run " << fConfirmRunNumber << endl;
4612 
4613  //.......................... get the path "modules/data"
4614  // /afs/cern.ch/user/U/USERNAME/cmssw/CMSSW_X_Y_Z/src/CalibCalorimetry/EcalCorrelatedNoiseAnalysisModules/data/
4615  TString ModulesdataPath = fCnaParPaths->PathModulesData();
4616 
4617  //---------------------------------- python file building script: command text
4618  TString CnaPythonCommand = ModulesdataPath;
4619 
4620  //......................................... Script for python file building: script name
4621  TString PythonScriptName = "EcnaSystemScriptPython";
4622  const Text_t *t_PythonScriptName = (const Text_t *)PythonScriptName.Data();
4623  CnaPythonCommand.Append(t_PythonScriptName);
4624 
4625  //......................................... Script for python file building: arguments
4626  // In the calling command, TString arguments must be of the form: \"STRING1\" \"STRING2\" etc...
4627 
4628  //......................................... arguments -> Run number
4629  //.......... ${1}
4630  CnaPythonCommand.Append(' ');
4631  CnaPythonCommand.Append(fConfirmRunNumberString);
4632 
4633  //......................................... arguments -> Analyzer parameters
4634  //.......... ${2}
4635  CnaPythonCommand.Append(' ');
4636  CnaPythonCommand.Append('\\'); CnaPythonCommand.Append('\"');
4637  const Text_t *t_StringAnaType = (const Text_t *)fKeyAnaType.Data();
4638  CnaPythonCommand.Append(t_StringAnaType);
4639  CnaPythonCommand.Append('\\'); CnaPythonCommand.Append('\"');
4640 
4641  //.......... ${3}
4642  CnaPythonCommand.Append(' ');
4643  CnaPythonCommand.Append('\\'); CnaPythonCommand.Append('\"');
4644  const Text_t *t_NbOfSamplesString = (const Text_t *)fKeyNbOfSamplesString.Data();
4645  CnaPythonCommand.Append(t_NbOfSamplesString);
4646  CnaPythonCommand.Append('\\'); CnaPythonCommand.Append('\"');
4647 
4648  //.......... ${4}
4649  CnaPythonCommand.Append(' ');
4650  CnaPythonCommand.Append('\\'); CnaPythonCommand.Append('\"');
4651  const Text_t *t_FirstReqEvtNumberString = (const Text_t *)fKeyFirstReqEvtNumberString.Data();
4652  CnaPythonCommand.Append(t_FirstReqEvtNumberString);
4653  CnaPythonCommand.Append('\\'); CnaPythonCommand.Append('\"');
4654 
4655  //.......... ${5}
4656  CnaPythonCommand.Append(' ');
4657  CnaPythonCommand.Append('\\'); CnaPythonCommand.Append('\"');
4658  const Text_t *t_LastReqEvtNumberString = (const Text_t *)fKeyLastReqEvtNumberString.Data();
4659  CnaPythonCommand.Append(t_LastReqEvtNumberString);
4660  CnaPythonCommand.Append('\\'); CnaPythonCommand.Append('\"');
4661 
4662  //.......... ${6}
4663  CnaPythonCommand.Append(' ');
4664  CnaPythonCommand.Append('\\'); CnaPythonCommand.Append('\"');
4665  const Text_t *t_ReqNbOfEvtsString = (const Text_t *)fKeyReqNbOfEvtsString.Data();
4666  CnaPythonCommand.Append(t_ReqNbOfEvtsString);
4667  CnaPythonCommand.Append('\\'); CnaPythonCommand.Append('\"');
4668 
4669  //.......... ${7}
4670  CnaPythonCommand.Append(' ');
4671  CnaPythonCommand.Append('\\'); CnaPythonCommand.Append('\"');
4672  const Text_t *t_fStexName = (const Text_t *)fStexName.Data();
4673  CnaPythonCommand.Append(t_fStexName);
4674  CnaPythonCommand.Append('\\'); CnaPythonCommand.Append('\"');
4675 
4676  //.......... ${8}
4677  CnaPythonCommand.Append(' ');
4678  CnaPythonCommand.Append('\\'); CnaPythonCommand.Append('\"');
4679  const Text_t *t_StexNumberString = (const Text_t *)fKeyStexNumberString.Data();
4680  CnaPythonCommand.Append(t_StexNumberString);
4681  CnaPythonCommand.Append('\\'); CnaPythonCommand.Append('\"');
4682 
4683  //......................................... arguments -> python file name
4684  //.......... ${9}
4685  // - - - - - - - - - - - - - - - - - Build the name
4686  fPythonFileName = "EcnaPython_";
4687 
4688  fPythonFileName.Append(t_StringAnaType);
4689  fPythonFileName.Append('_');
4690 
4691  fPythonFileName.Append('S');
4692  fPythonFileName.Append('1');
4693  fPythonFileName.Append('_');
4694  fPythonFileName.Append(t_NbOfSamplesString);
4695  fPythonFileName.Append('_');
4696  fPythonFileName.Append('R');
4697 
4698  const Text_t *t_fConfirmRunNumberString = (const Text_t *)fConfirmRunNumberString.Data();
4699  fPythonFileName.Append(t_fConfirmRunNumberString);
4700  fPythonFileName.Append('_');
4701 
4702  fPythonFileName.Append(t_FirstReqEvtNumberString);
4703  fPythonFileName.Append('_');
4704 
4705  fPythonFileName.Append(t_LastReqEvtNumberString);
4706  fPythonFileName.Append('_');
4707 
4708  fPythonFileName.Append(t_ReqNbOfEvtsString);
4709  fPythonFileName.Append('_');
4710 
4711  fPythonFileName.Append(t_fStexName);
4712 
4713  fPythonFileName.Append(t_StexNumberString); // <== (python file name without extension .py)
4714  // - - - - - - - - - - - - - - - - -
4715 
4716  CnaPythonCommand.Append(' ');
4717  const Text_t *t_fPythonFileName = (const Text_t *)fPythonFileName.Data();
4718  CnaPythonCommand.Append(t_fPythonFileName);
4719 
4720  //......................................... arguments -> modules:data path
4721  //.......... ${9}
4722  CnaPythonCommand.Append(' ');
4723  const Text_t *t_modules_data_path = (const Text_t *)ModulesdataPath.Data();
4724  CnaPythonCommand.Append(t_modules_data_path);
4725 
4726  //......................................... arguments -> last evt number (without "")
4727  //.......... ${10}
4728  //CnaPythonCommand.Append(' ');
4729  //CnaPythonCommand.Append(t_LastReqEvtNumberString);
4730 
4731  //......................................... arguments -> SourceForPythonFileName
4732  //.......... ${11}
4733  //CnaPythonCommand.Append(' ');
4734  //const Text_t *t_Pyf = (const Text_t *)fKeyPyf.Data();
4735  //CnaPythonCommand.Append(t_Pyf);
4736 
4737  //---------------------------------- Exec python file building command (csh before command text)
4738  const Text_t *t_cnapythoncommand = (const Text_t *)CnaPythonCommand.Data();
4739  TString CnaExecPythonCommand = "csh ";
4740  CnaExecPythonCommand.Append(t_cnapythoncommand);
4741 
4742  Int_t i_exec_python = gSystem->Exec(CnaExecPythonCommand.Data());
4743 
4744  if( i_exec_python != 0 )
4745  {
4746  cout << "*TEcnaGui> Script for python file building was executed with error code = "
4747  << i_exec_python << "." << endl
4748  << " python file: " << fPythonFileName.Data() << ".py" << endl
4749  << " Command: " << CnaExecPythonCommand.Data() << endl
4750  << fTTBELL << endl;
4751  }
4752  else
4753  {
4754  cout << "*TEcnaGui> Script for python file building was successfully executed." << endl
4755  << " python file: " << fPythonFileName.Data() << ".py" << endl
4756  << " (Command: " << CnaExecPythonCommand.Data() << ")" << endl;
4757 
4758  //========================================================== Job submission script
4759  TString CnaSubmitCommand = ModulesdataPath;
4760 
4761  //......................................... Script for job submission: command name
4762  TString SubmitScriptName = "EcnaSystemScriptSubmit";
4763  const Text_t *t_SubmitScriptName= (const Text_t *)SubmitScriptName.Data();
4764  CnaSubmitCommand.Append(t_SubmitScriptName);
4765  CnaSubmitCommand.Append(' ');
4766 
4767  //......................................... Script for job submission: arguments
4768  const Text_t *t_cmssw_base = (const Text_t *)fCnaParPaths->CMSSWBase().Data();
4769  CnaSubmitCommand.Append(t_cmssw_base);
4770  CnaSubmitCommand.Append(' ');
4771 
4772  const Text_t *t_cmssw_subsystem = (const Text_t *)fCnaParPaths->CMSSWSubsystem().Data();
4773  CnaSubmitCommand.Append(t_cmssw_subsystem);
4774  CnaSubmitCommand.Append(' ');
4775 
4776  const Text_t *t_cfgp_file = (const Text_t *)fPythonFileName.Data();
4777  CnaSubmitCommand.Append(t_cfgp_file);
4778  CnaSubmitCommand.Append(' ');
4779 
4780  const Text_t *t_QueueCode = (const Text_t *)QueueCode.Data();
4781  CnaSubmitCommand.Append(t_QueueCode);
4782 
4783  //----------------------------------------- Exec Submit Command (csh before command text)
4784  const Text_t *t_cnasubmitcommand = (const Text_t *)CnaSubmitCommand.Data();
4785  TString CnaExecSubmitCommand = "csh ";
4786  CnaExecSubmitCommand.Append(t_cnasubmitcommand);
4787 
4788  Int_t i_exec_submit = gSystem->Exec(CnaExecSubmitCommand.Data());
4789 
4790  if( i_exec_submit != 0 )
4791  {
4792  cout << "*TEcnaGui> Script for job submission was executed with error code = "
4793  << i_exec_submit << "." << endl
4794  << " Command: " << CnaExecSubmitCommand.Data() << endl
4795  << fTTBELL << endl;
4796  }
4797  else
4798  {
4799  cout << "*TEcnaGui> Job with configuration file: " << fPythonFileName.Data()
4800  << " was successfully submitted." << endl
4801  << " (Command: " << CnaExecSubmitCommand.Data() << ")" << endl;
4802  }
4803 
4804  fConfirmSubmit = 0;
4805  fConfirmRunNumber = 0;
4807  }
4808  }
4809  else
4810  {
4811  if( fKeyAnaType.BeginsWith("Adc") )
4812  {
4813  fCnaCommand++;
4814  cout << " *TEcnaGui [" << fCnaCommand
4815  << "]> Request for submitting job in batch mode for run " << fKeyRunNumber
4816  << ". Syntax OK. Please, click again to confirm."
4817  << fTTBELL << endl;
4818 
4819  fConfirmSubmit = 1;
4822  }
4823  else
4824  {
4825  fCnaError++;
4826  cout << " !TEcnaGui (" << fCnaError << ") *** ERROR *** ===>"
4827  << " Analysis name = " << fKeyAnaType
4828  << ": should begin with 'Adc'."
4829  << " Please, change the analysis name." << fTTBELL << endl;
4830 
4831  fConfirmSubmit = 0;
4832  fConfirmRunNumber = 0;
4834  }
4835  }
4836 }
4837 //------------------------------------------- end of SubmitOnBatchSystem() ------------------------
4838 
4839 //==========================================================================
4840 //
4841 // CleanBatchFiles() M E T H O D
4842 //
4843 //==========================================================================
4844 void TEcnaGui::CleanBatchFiles(const TString& clean_code)
4845 {
4846  //Clean python files, submission scripts,...
4847 
4848  fCnaCommand++;
4849  cout << " *TEcnaGui [" << fCnaCommand
4850  << "]> Clean requested with code: " << clean_code
4851  << endl;
4852 
4853  //================================ CLEAN SUBMISSION SCRIPTS ===================================
4854  if( clean_code == "Sub" || clean_code == "All")
4855  {
4856  //.......................... get the path "modules/data"
4857  // /afs/cern.ch/user/U/USERNAME/cmssw/CMSSW_X_Y_Z/src/CalibCalorimetry/EcalCorrelatedNoiseAnalysisModules/data/
4858  TString ModulesdataPath = fCnaParPaths->PathModulesData();
4859 
4860  //----------------------------------------- submission clean script: command text
4861  //......................................... submission clean script: script name
4862  TString CnaCleanSubmissionCommand = ModulesdataPath;
4863  TString CleanSubmissionScriptName = "EcnaSystemScriptCleanSubmissionScripts";
4864  const Text_t *t_CleanSubmissionScriptName = (const Text_t *)CleanSubmissionScriptName.Data();
4865  CnaCleanSubmissionCommand.Append(t_CleanSubmissionScriptName);
4866 
4867  //......................................... arguments -> test/slc... path
4868  //.......................... get the path "test/slc4_ia32_gcc345"
4869  // /afs/cern.ch/user/U/USERNAME/cmssw/CMSSW_X_Y_Z/test/slc4_ia32_gcc345/
4870  TString TestslcPath = fCnaParPaths->PathTestScramArch();
4871  CnaCleanSubmissionCommand.Append(' ');
4872  const Text_t *t_modules_data_path = (const Text_t *)TestslcPath.Data();
4873  CnaCleanSubmissionCommand.Append(t_modules_data_path);
4874 
4875  //----------------------------------------- Exec CleanSubmission Command (csh before command text)
4876  const Text_t *t_cnacleansubmissioncommand = (const Text_t *)CnaCleanSubmissionCommand.Data();
4877  TString CnaExecCleanSubmissionCommand = "csh ";
4878  CnaExecCleanSubmissionCommand.Append(t_cnacleansubmissioncommand);
4879 
4880  Int_t i_exec_cleansubmission = gSystem->Exec(CnaExecCleanSubmissionCommand.Data());
4881 
4882  if( i_exec_cleansubmission != 0 )
4883  {
4884  cout << "*TEcnaGui> Script for submission script clean was executed with error code = "
4885  << i_exec_cleansubmission << "." << endl
4886  << " Command: " << CnaExecCleanSubmissionCommand.Data() << endl
4887  << fTTBELL << endl;
4888  }
4889  else
4890  {
4891  cout << "*TEcnaGui> Script for submission script clean"
4892  << " was successfully executed." << endl
4893  << " (Command: " << CnaExecCleanSubmissionCommand.Data() << ")" << endl;
4894  }
4895 
4896  }
4897 
4898  //================================= CLEAN LSFJOB REPORTS ======================================
4899  if( clean_code == "Job" || clean_code == "All")
4900  {
4901  //.......................... get the path "modules/data"
4902  // /afs/cern.ch/user/U/USERNAME/cmssw/CMSSW_X_Y_Z/src/CalibCalorimetry/EcalCorrelatedNoiseAnalysisModules/data/
4903  TString ModulesdataPath = fCnaParPaths->PathModulesData();
4904 
4905  //----------------------------------------- jobreport clean script: command text
4906  //......................................... jobreport clean script: script name
4907  TString CnaCleanJobreportCommand = ModulesdataPath;
4908  TString CleanJobreportScriptName = "EcnaSystemScriptCleanLSFJOBReports";
4909  const Text_t *t_CleanJobreportScriptName = (const Text_t *)CleanJobreportScriptName.Data();
4910  CnaCleanJobreportCommand.Append(t_CleanJobreportScriptName);
4911 
4912  //......................................... arguments -> test/slc... path
4913  //.......................... get the path "test/slc4_ia32_gcc345"
4914  // /afs/cern.ch/user/U/USERNAME/cmssw/CMSSW_X_Y_Z/test/slc4_ia32_gcc345/
4915  TString TestslcPath = fCnaParPaths->PathTestScramArch();
4916  CnaCleanJobreportCommand.Append(' ');
4917  const Text_t *t_modules_data_path = (const Text_t *)TestslcPath.Data();
4918  CnaCleanJobreportCommand.Append(t_modules_data_path);
4919 
4920  //----------------------------------------- Exec CleanJobreport Command (csh before command text)
4921  const Text_t *t_cnacleanjobreportcommand = (const Text_t *)CnaCleanJobreportCommand.Data();
4922  TString CnaExecCleanJobreportCommand = "csh ";
4923  CnaExecCleanJobreportCommand.Append(t_cnacleanjobreportcommand);
4924 
4925  Int_t i_exec_cleanjobreport = gSystem->Exec(CnaExecCleanJobreportCommand.Data());
4926 
4927  if( i_exec_cleanjobreport != 0 )
4928  {
4929  cout << "*TEcnaGui> Script for LSFJOB report clean was executed with error code = "
4930  << i_exec_cleanjobreport << "." << endl
4931  << " Command: " << CnaExecCleanJobreportCommand.Data() << endl
4932  << fTTBELL << endl;
4933  }
4934  else
4935  {
4936  cout << "*TEcnaGui> Script for LSFJOB report clean"
4937  << " was successfully executed." << endl
4938  << " (Command: " << CnaExecCleanJobreportCommand.Data() << ")" << endl;
4939  }
4940  }
4941 
4942  //==================================== CLEAN PYTHON FILES =====================================
4943  if( clean_code == "Pyth" || clean_code == "All")
4944  {
4945  //.......................... get the path "modules/data"
4946  // /afs/cern.ch/user/U/USERNAME/cmssw/CMSSW_X_Y_Z/src/CalibCalorimetry/EcalCorrelatedNoiseAnalysisModules/data/
4947  TString ModulesdataPath = fCnaParPaths->PathModulesData();
4948 
4949  //----------------------------------------- python file clean script: command text
4950  //......................................... python file clean script: script name
4951  TString CnaCleanPythonCommand = ModulesdataPath;
4952  TString CleanPythonScriptName = "EcnaSystemScriptCleanPythonFiles";
4953  const Text_t *t_CleanPythonScriptName = (const Text_t *)CleanPythonScriptName.Data();
4954  CnaCleanPythonCommand.Append(t_CleanPythonScriptName);
4955 
4956  //......................................... arguments -> modules:data path
4957  CnaCleanPythonCommand.Append(' ');
4958  const Text_t *t_modules_data_path = (const Text_t *)ModulesdataPath.Data();
4959  CnaCleanPythonCommand.Append(t_modules_data_path);
4960 
4961  //----------------------------------------- Exec CleanPython Command (csh before command text)
4962  const Text_t *t_cnacleanpythoncommand = (const Text_t *)CnaCleanPythonCommand.Data();
4963  TString CnaExecCleanPythonCommand = "csh ";
4964  CnaExecCleanPythonCommand.Append(t_cnacleanpythoncommand);
4965 
4966  Int_t i_exec_cleanpython = gSystem->Exec(CnaExecCleanPythonCommand.Data());
4967 
4968  if( i_exec_cleanpython != 0 )
4969  {
4970  cout << "*TEcnaGui> Script for python file clean was executed with error code = "
4971  << i_exec_cleanpython << "." << endl
4972  << " Command: " << CnaExecCleanPythonCommand.Data() << endl
4973  << fTTBELL << endl;
4974  }
4975  else
4976  {
4977  cout << "*TEcnaGui> Script for python file clean"
4978  << " was successfully executed." << endl
4979  << " (Command: " << CnaExecCleanPythonCommand.Data() << ")" << endl;
4980  }
4981  }
4982 }
4983 //------------------------------------------- end of CleanBatchFiles() -----------------------
4984 
4985 //==========================================================================
4986 //
4987 // Calculations() M E T H O D
4988 //
4989 //==========================================================================
4990 void TEcnaGui::Calculations(const TString& calc_code)
4991 {
4992  //Calculations of quantities (Pedestals, correlations, ... )
4993 
4994  fCnaCommand++;
4995  cout << " *TEcnaGui [" << fCnaCommand
4996  << "]> Calculations requested with code: " << calc_code
4997  << endl;
4998 
4999  //===== Check if Analysis name is right
5000  if( fKeyAnaType == "AdcPed1" || fKeyAnaType == "AdcSPed1" ||
5001  fKeyAnaType == "AdcPed6" || fKeyAnaType == "AdcSPed6" ||
5002  fKeyAnaType == "AdcPed12" || fKeyAnaType == "AdcSPed12" ||
5003  fKeyAnaType == "AdcPeg12" || fKeyAnaType == "AdcSPeg12" ||
5004  fKeyAnaType == "AdcLaser" || fKeyAnaType == "AdcSLaser" ||
5005  fKeyAnaType == "AdcPes12" || fKeyAnaType == "AdcSPes12" ||
5006  fKeyAnaType == "AdcPhys" || fKeyAnaType == "AdcAny" )
5007  {
5008  //------------ Check if Std or (Scc or Stt)-Confirmed
5009  if( calc_code == "Std" || ( ( calc_code == "Scc" || calc_code == "Stt" ) && fConfirmCalcScc == 1 ) )
5010  {
5012  {
5013  Int_t nStexMin = fKeyStexNumber;
5014  Int_t nStexMax = fKeyStexNumber;
5015  if( fKeyStexNumber == 0 ){nStexMin = 1; nStexMax = fEcal->MaxStexInStas();}
5016 
5017  for( Int_t nStex = nStexMin; nStex<= nStexMax; nStex++)
5018  {
5019  Int_t n_samp_fic = fKeyNbOfSamples;
5020 
5021  //....................... READ the "ADC" (AdcPed.., AdcLaser..., ...) file
5022  TEcnaRun* MyRun = 0;
5023  if ( MyRun == 0 ){MyRun = new TEcnaRun(fObjectManager, fSubDet.Data(), n_samp_fic); fCnew++;}
5024 
5027 
5028  if( MyRun->ReadSampleAdcValues(fKeyNbOfSampForCalc) == kTRUE )
5029  {
5030  cout << "*TEcnaGui::Calculations> File "
5031  << MyRun->GetRootFileNameShort() << " found. Starting calculations."
5032  << endl;
5033 
5034  MyRun->GetReadyToCompute();
5035 
5036  //............... Calculations
5037  if( calc_code == "Std" ||
5038  ( (calc_code == "Scc" || calc_code == "Stt") && fConfirmCalcScc == 1 ) )
5039  {
5040  //-------------- Standard calculations: pedestals, noises, correlations between samples
5041  MyRun->StandardCalculations();
5042  }
5043  if( (calc_code == "Scc" || calc_code == "Stt") && fConfirmCalcScc == 1 )
5044  {
5045  if( calc_code == "Scc" )
5046  {
5047  //------ Additional calculations:
5048  // "correlations" between Xtals and Stins (long time, big file)
5049  cout << "*TEcnaGui::Calculations> Please, wait." << endl;
5050 
5051  MyRun->Expert1Calculations(); // (long time, big file)
5052  // <=> MyRun->LowFrequencyCorrelationsBetweenChannels(); // (big file)
5053  // MyRun->HighFrequencyCorrelationsBetweenChannels(); // (big file)
5054 
5055  MyRun->Expert2Calculations(); // (fast because expert1 has been called)
5056  // <=> MyRun->LowFrequencyMeanCorrelationsBetweenStins();
5057  // MyRun->HighFrequencyMeanCorrelationsBetweenStins();
5058  }
5059 
5060  if( calc_code == "Stt" )
5061  {
5062  //---Additional calculations:
5063  // "correlations" between Stins (long time, "normal" size file)
5064  cout << "*TEcnaGui::Calculations> Please, wait." << endl;
5065 
5066  MyRun->Expert2Calculations(); // (long time but not big file)
5067 
5068  // Explanation/example: if MyRun->LowFrequencyCorrelationsBetweenChannels() (expert1)
5069  // has not been called by the user, it is automatically called by
5070  // MyRun->LowFrequencyMeanCorrelationsBetweenStins()
5071  // but the corresponding file is not written (idem for "HighFrequency")
5072  }
5073  }
5074  //.......................... WRITE results in file
5075  TString calc_file_name = "?";
5076  if( calc_code == "Std" )
5077  {
5078  if( fKeyAnaType == "AdcPed1" ){calc_file_name = "StdPed1";}
5079  if( fKeyAnaType == "AdcPed6" ){calc_file_name = "StdPed6";}
5080  if( fKeyAnaType == "AdcPed12" ){calc_file_name = "StdPed12";}
5081  if( fKeyAnaType == "AdcPeg12" ){calc_file_name = "StdPeg12";}
5082  if( fKeyAnaType == "AdcLaser" ){calc_file_name = "StdLaser";}
5083  if( fKeyAnaType == "AdcPes12" ){calc_file_name = "StdPes12";}
5084 
5085  if( fKeyAnaType == "AdcSPed1" ){calc_file_name = "StdSPed1";}
5086  if( fKeyAnaType == "AdcSPed6" ){calc_file_name = "StdSPed6";}
5087  if( fKeyAnaType == "AdcSPed12" ){calc_file_name = "StdSPed12";}
5088  if( fKeyAnaType == "AdcSPeg12" ){calc_file_name = "StdSPeg12";}
5089  if( fKeyAnaType == "AdcSLaser" ){calc_file_name = "StdSLaser";}
5090  if( fKeyAnaType == "AdcSPes12" ){calc_file_name = "StdSPes12";}
5091 
5092  if( fKeyAnaType == "AdcPhys" ){calc_file_name = "StdPhys";}
5093  if( fKeyAnaType == "AdcAny" ){calc_file_name = "StdAny";}
5094 
5095  }
5096  if( calc_code == "Scc" )
5097  {
5098  if( fKeyAnaType == "AdcPed1" ){calc_file_name = "SccPed1";}
5099  if( fKeyAnaType == "AdcPed6" ){calc_file_name = "SccPed6";}
5100  if( fKeyAnaType == "AdcPed12" ){calc_file_name = "SccPed12";}
5101  if( fKeyAnaType == "AdcPeg12" ){calc_file_name = "SccPeg12";}
5102  if( fKeyAnaType == "AdcLaser" ){calc_file_name = "SccLaser";}
5103  if( fKeyAnaType == "AdcPes12" ){calc_file_name = "SccPes12" ;}
5104 
5105  if( fKeyAnaType == "AdcSPed1" ){calc_file_name = "SccSPed1";}
5106  if( fKeyAnaType == "AdcSPed6" ){calc_file_name = "SccSPed6";}
5107  if( fKeyAnaType == "AdcSPed12" ){calc_file_name = "SccSPed12";}
5108  if( fKeyAnaType == "AdcSPeg12" ){calc_file_name = "SccSPeg12";}
5109  if( fKeyAnaType == "AdcSLaser" ){calc_file_name = "SccSLaser";}
5110  if( fKeyAnaType == "AdcSPes12" ){calc_file_name = "SccSPes12";}
5111 
5112  if( fKeyAnaType == "AdcPhys" ){calc_file_name = "SccPhys";}
5113  if( fKeyAnaType == "AdcAny" ){calc_file_name = "SccAny";}
5114  }
5115 
5116  if( calc_code == "Stt" )
5117  {
5118  if( fKeyAnaType == "AdcPed1" ){calc_file_name = "SttPed1";}
5119  if( fKeyAnaType == "AdcPed6" ){calc_file_name = "SttPed6";}
5120  if( fKeyAnaType == "AdcPed12" ){calc_file_name = "SttPed12";}
5121  if( fKeyAnaType == "AdcPeg12" ){calc_file_name = "SttPeg12";}
5122  if( fKeyAnaType == "AdcLaser" ){calc_file_name = "SttLaser";}
5123  if( fKeyAnaType == "AdcPes12" ){calc_file_name = "SttPes12" ;}
5124 
5125  if( fKeyAnaType == "AdcSPed1" ){calc_file_name = "SttSPed1";}
5126  if( fKeyAnaType == "AdcSPed6" ){calc_file_name = "SttSPed6";}
5127  if( fKeyAnaType == "AdcSPed12" ){calc_file_name = "SttSPed12";}
5128  if( fKeyAnaType == "AdcSPeg12" ){calc_file_name = "SttSPeg12";}
5129  if( fKeyAnaType == "AdcSLaser" ){calc_file_name = "SttSLaser";}
5130  if( fKeyAnaType == "AdcSPes12" ){calc_file_name = "SttSPes12";}
5131 
5132  if( fKeyAnaType == "AdcPhys" ){calc_file_name = "SttPhys";}
5133  if( fKeyAnaType == "AdcAny" ){calc_file_name = "SttAny";}
5134  }
5135 
5136  if( MyRun->WriteNewRootFile(calc_file_name.Data()) == kTRUE )
5137  {
5138  cout << "*TEcnaGui::Calculations> Done. Write ROOT file: "
5139  << MyRun->GetNewRootFileNameShort() << " OK" << endl << endl;
5140  }
5141  else
5142  {
5143  cout << "!TEcnaGui::Calculations> Writing ROOT file failure for file "
5144  << MyRun->GetNewRootFileNameShort()
5145  << fTTBELL << endl << endl;
5146  }
5147  }
5148  else
5149  {
5150  cout << "!TEcnaGui::Calculations> " << MyRun->GetRootFileNameShort() << ": file not found."
5151  << fTTBELL << endl << endl;
5152  }
5153  //.......................................................................
5154  delete MyRun; MyRun = 0; fCdelete++;
5155  } // end of for( Int_t nStex = nStexMin; nStex<= nStexMax; nStex++)
5156  fConfirmCalcScc = 0;
5157  } // end of if( fKeyNbOfSamples >= fKeyNbOfSampForCalc )
5158  else
5159  {
5160  cout << "!TEcnaGui::Calculations> *** ERROR *** Number of samples in file (=" << fKeyNbOfSamples
5161  << ") less than number of samples for calculations (= " << fKeyNbOfSampForCalc << "). " << endl;
5162  }
5163  } // end of if( calc_code == "Std" || ( ( calc_code == "Scc" || calc_code == "Stt" ) && fConfirmCalcScc == 1 ) )
5164  else
5165  {
5166  cout << " *TEcnaGui [" << fCnaCommand
5167  << "]> Calculation requested with option " << calc_code
5168  << ". This can last more than 5 minutes. Please, click again to confirm."
5169  << fTTBELL << endl;
5170  fConfirmCalcScc = 1;
5171  }
5172  }
5173  else
5174  {
5175  cout << "!TEcnaGui::Calculations> fKeyAnaType = " << fKeyAnaType
5176  << " : wrong code in analysis name." << endl
5177  << " List of available standard analysis names for calculations: " << endl
5178  << " AdcPed1, AdcPed6, AdcPed12, AdcPeg12, AdcLaser, AdcPes12," << endl
5179  << " AdcSPed1, AdcSPed6, AdcSPed12, AdcSPeg12, AdcSLaser, AdcSPes12," << endl
5180  << " AdcPhys, AdcAny (all names must begin with 'Adc')."
5181  << fTTBELL << endl;
5182  }
5183 }
5184 //==========================================================================
5185 //
5186 // "View" M E T H O D S
5187 //
5188 //==========================================================================
5189 //---------- common messages
5190 
5191 void TEcnaGui::MessageCnaCommandReplyA(const TString& first_same_plot)
5192 {
5193  // reply message of the Cna command
5194 
5195  cout << ". Analysis: " << fKeyAnaType << ", Run: " << fKeyRunNumber
5196  << ", 1st req. evt#: " << fKeyFirstReqEvtNumber
5197  << ", last req. evt#: " << fKeyLastReqEvtNumber << endl;
5198 
5199  if( first_same_plot == "ASCII" )
5200  {
5201  cout << " " << fStexName.Data() << ": " << fKeyStexNumber
5202  << ", option: " << first_same_plot << endl;
5203  }
5204 }
5205 
5206 void TEcnaGui::MessageCnaCommandReplyB(const TString& first_same_plot)
5207 {
5208  // reply message of the Cna command
5209 
5210  if( first_same_plot == "ASCII" )
5211  {
5212  if(fKeyStexNumber > 0)
5213  {
5214  if( fHistos->StatusFileFound() == kTRUE && fHistos->StatusDataExist() == kTRUE )
5215  {
5216  TString xAsciiFileName = fHistos->AsciiFileName();
5217  if( xAsciiFileName != "?" )
5218  {cout << " Histo written in ASCII file: " << xAsciiFileName.Data();}
5219  }
5220  }
5221  else
5222  {
5223  cout << " No writing in ASCII file since "
5224  << fStexName.Data() << " number = " << fKeyStexNumber;
5225  }
5226  cout << endl;
5227  }
5228 }
5229 
5230 //==========================================================================
5231 //
5232 // View Matrix
5233 //
5234 //==========================================================================
5235 //---------------------------- Cortt
5237 {
5238  // Plot of Low Frequency Mean Cor(c,c') for each pair of Stins
5239 
5240  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
5243 
5244  fCnaCommand++;
5245  cout << " *TEcnaGui [" << fCnaCommand
5246  << "]> Low Frequency Mean Cor(c,c') for each pair of " << fStinName.Data()
5247  << "s. Option: "
5248  << option_plot;
5249  MessageCnaCommandReplyA(option_plot);
5250 
5254  fHistos->PlotMatrix("Cor", "MttLF", option_plot);
5255 
5256  MessageCnaCommandReplyB(option_plot);
5257 }
5259 {
5260  // Plot of Low Frequency Mean Cor(c,c') for each pair of Stins
5261 
5262  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
5265 
5266  fCnaCommand++;
5267  cout << " *TEcnaGui [" << fCnaCommand
5268  << "]> High Frequency Mean Cor(c,c') for each pair of " << fStinName.Data()
5269  << "s. Option: "
5270  << option_plot;
5271  MessageCnaCommandReplyA(option_plot);
5272 
5276  fHistos->PlotMatrix("Cor", "MttHF", option_plot);
5277 
5278  MessageCnaCommandReplyB(option_plot);
5279 }
5280 //---------------------------------------------- Corcc
5282  const Int_t& cStexStin_B,
5283  const TString& option_plot)
5284 {
5285  // Low Frequency Correlation matrix (crystal of Stin X, crystal of Stin X) for each Stin
5286 
5287  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
5290 
5291  fCnaCommand++;
5292  cout << " *TEcnaGui [" << fCnaCommand
5293  << "]> Low Frequency Correlation matrix between channels. "
5294  << fStinName.Data() << " A: " << cStexStin_A
5295  << ", " << fStinName.Data() << " B: " << cStexStin_B
5296  << ", option: " << option_plot;
5297  MessageCnaCommandReplyA(option_plot);
5298 
5302  fHistos->PlotMatrix("Cor", "MccLF", cStexStin_A, cStexStin_B, option_plot);
5303  MessageCnaCommandReplyB(option_plot);
5304 }
5305 
5306 void TEcnaGui::ViewMatrixHighFrequencyCorrelationsBetweenChannels(const Int_t& cStexStin_A, const Int_t& cStexStin_B,
5307  const TString& option_plot)
5308 {
5309 // High Frequency Correlation matrix (crystal of Stin X, crystal of Stin X) for each Stin
5310 
5311  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
5314 
5315  fCnaCommand++;
5316  cout << " *TEcnaGui [" << fCnaCommand
5317  << "]> High Frequency Correlation matrix between channels. "
5318  << fStinName.Data() << " A: " << cStexStin_A
5319  << ", " << fStinName.Data() << " B: " << cStexStin_B
5320  << ", option: " << option_plot;
5321  MessageCnaCommandReplyA(option_plot);
5322 
5326  fHistos->PlotMatrix("Cor", "MccHF", cStexStin_A, cStexStin_B, option_plot);
5327 
5328  MessageCnaCommandReplyB(option_plot);
5329 }
5330 
5332 {
5333  //===> big matrix
5334 
5335  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
5338 
5339  fCnaCommand++;
5340  cout << " *TEcnaGui [" << fCnaCommand
5341  << "]> LF Correlations between channels for each " << fStinName.Data()
5342  << " in " << fStexName.Data() << ". 2D histo. "
5343  << fStexName.Data() << ": " << fKeyStexNumber;
5344  MessageCnaCommandReplyA("DUMMY");
5345 
5349  fHistos->PlotMatrix("Cor", "MccLF", "COLZ");
5350 
5351  MessageCnaCommandReplyB("DUMMY");
5352 }
5353 
5355 {
5356  //===> big matrix
5357 
5358  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
5361 
5362  fCnaCommand++;
5363  cout << " *TEcnaGui [" << fCnaCommand
5364  << "]> HF Correlations between channels for each " << fStinName.Data()
5365  << " in " << fStexName.Data() << ". 2D histo. "
5366  << fStexName.Data() << ": " << fKeyStexNumber;
5367  MessageCnaCommandReplyA("DUMMY");
5368 
5372  fHistos->PlotMatrix("Cor", "MccHF", "COLZ");
5373 
5374  MessageCnaCommandReplyB("DUMMY");
5375 }
5376 
5377 //---------------------------- Corss, Covss
5378 void TEcnaGui::ViewMatrixCorrelationSamples(const Int_t& cStexStin_A, const Int_t& i0StinEcha,
5379  const TString& option_plot)
5380 {
5381 // Plot of correlation matrix between samples for a given channel
5382 
5383  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
5386 
5387  Int_t ChOffset = 0;
5388  if(fSubDet == "EE"){ChOffset = 1;}
5389 
5390  fCnaCommand++;
5391  cout << " *TEcnaGui [" << fCnaCommand
5392  << "]> Correlation matrix between samples. "
5393  << fStinName.Data() << ": " << cStexStin_A << ", channel " << i0StinEcha + ChOffset
5394  << ", option: " << option_plot;
5395  MessageCnaCommandReplyA(option_plot);
5396 
5400  fHistos->PlotMatrix("Cor", "Mss", cStexStin_A, i0StinEcha, option_plot);
5401 
5402 
5403  MessageCnaCommandReplyB(option_plot);
5404 }
5405 
5406 void TEcnaGui::ViewMatrixCovarianceSamples(const Int_t& cStexStin_A, const Int_t& i0StinEcha,
5407  const TString& option_plot)
5408 {
5409 // Plot of covariance matrix between samples for a given channel
5410 
5411  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
5414 
5415  Int_t ChOffset = 0;
5416  if(fSubDet == "EE"){ChOffset = 1;}
5417 
5418  fCnaCommand++;
5419  cout << " *TEcnaGui [" << fCnaCommand
5420  << "]> Covariance matrix between samples. "
5421  << fStinName.Data() << ": " << cStexStin_A << ", channel " << i0StinEcha + ChOffset
5422  << ", option: " << option_plot;
5423  MessageCnaCommandReplyA(option_plot);
5424 
5425  fHistos->SetHistoMin(fKeyVminD_TNo_ChNb); // same as mean sample sigmas
5428  fHistos->PlotMatrix("Cov", "Mss", cStexStin_A, i0StinEcha, option_plot);
5429 
5430  MessageCnaCommandReplyB(option_plot);
5431 }
5432 
5433 //==========================================================================
5434 //
5435 // ViewStin...
5436 //
5437 // StexStin ==> (sample,sample) matrices for all the crystal of cStexStin
5438 //
5439 //==========================================================================
5440 void TEcnaGui::ViewStinCorrelationSamples(const Int_t& cStexStin)
5441 {
5442  // Plot of (sample,sample) correlation matrices for all the crystal of a given Stin
5443 
5444  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
5447 
5448  fCnaCommand++;
5449  cout << " *TEcnaGui [" << fCnaCommand
5450  << "]> Correlation matrices between samples for each channel of "
5451  << fStinName.Data() << " " << cStexStin;
5452  MessageCnaCommandReplyA("DUMMY");
5453 
5457  fHistos->CorrelationsBetweenSamples(cStexStin);
5458 
5459  MessageCnaCommandReplyB("DUMMY");
5460 }
5461 
5462 void TEcnaGui::ViewStinCovarianceSamples(const Int_t& cStexStin)
5463 {
5464  // Plot of (sample,sample) covariance matrices for all the crystal of a given Stin
5465 
5466  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
5469 
5470  fCnaCommand++;
5471  cout << " *TEcnaGui [" << fCnaCommand
5472  << "]> Covariance matrices between samples for each channel of "
5473  << fStinName.Data() << " " << cStexStin;
5474  MessageCnaCommandReplyA("DUMMY");
5475 
5476  fHistos->SetHistoMin(fKeyVminD_TNo_ChNb); // same as mean sample sigmas
5479  fHistos->CovariancesBetweenSamples(cStexStin);
5480 
5481  MessageCnaCommandReplyB("DUMMY");
5482 }
5483 //==========================================================================
5484 //
5485 // ViewSorS (eta,phi)
5486 //
5487 //==========================================================================
5488 
5490 {
5491  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
5492 
5493  if( fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas() )
5494  {
5497  fCnaCommand++;
5498  cout << " *TEcnaGui [" << fCnaCommand
5499  << "]> Number of Events. 2D histo. "
5500  << fStexName.Data() << ": " << fKeyStexNumber;
5501  }
5502  if( fKeyStexNumber == 0 )
5503  {
5506  fCnaCommand++;
5507  cout << " *TEcnaGui [" << fCnaCommand
5508  << "]> Average Number of Events. 2D histo for "
5509  << fSubDet.Data();
5510  }
5511 
5512  MessageCnaCommandReplyA("DUMMY");
5513 
5517  if( fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas() )
5518  {fHistos->PlotDetector("NOE", "SM");}
5519  if( fKeyStexNumber == 0 )
5520  {fHistos->PlotDetector("NOE", "EB");}
5521 
5522  MessageCnaCommandReplyB("DUMMY");
5523 }
5524 
5526 {
5527  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
5528 
5529  if( fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas() )
5530  {
5533  fCnaCommand++;
5534  cout << " *TEcnaGui [" << fCnaCommand
5535  << "]> Pedestals. 2D histo. "
5536  << fStexName.Data() << ": " << fKeyStexNumber;
5537  }
5538  if( fKeyStexNumber == 0 )
5539  {
5542  fCnaCommand++;
5543  cout << " *TEcnaGui [" << fCnaCommand
5544  << "]> Pedestals. 2D histo for "
5545  << fSubDet.Data();
5546  }
5547  MessageCnaCommandReplyA("DUMMY");
5548 
5552 
5553  if( fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas() )
5554  {fHistos->PlotDetector("Ped", "SM");}
5555  if( fKeyStexNumber == 0 )
5556  {fHistos->PlotDetector("Ped", "EB");}
5557 
5558  MessageCnaCommandReplyB("DUMMY");
5559 }
5560 
5562 {
5563  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
5564 
5565  if( fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas() )
5566  {
5569  fCnaCommand++;
5570  cout << " *TEcnaGui [" << fCnaCommand
5571  << "]> Total noise. 2D histo. "
5572  << fStexName.Data() << ": " << fKeyStexNumber;
5573  }
5574  if( fKeyStexNumber == 0 )
5575  {
5578  fCnaCommand++;
5579  cout << " *TEcnaGui [" << fCnaCommand
5580  << "]> Average total noise. 2D histo for "
5581  << fSubDet.Data();
5582  }
5583  MessageCnaCommandReplyA("DUMMY");
5584 
5588  if( fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas() )
5589  {fHistos->PlotDetector("TNo", "SM");}
5590  if( fKeyStexNumber == 0 )
5591  {fHistos->PlotDetector("TNo", "EB");}
5592 
5593  MessageCnaCommandReplyB("DUMMY");
5594 }
5595 
5596 
5598 {
5599  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
5600 
5601  if( fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas() )
5602  {
5605  fCnaCommand++;
5606  cout << " *TEcnaGui [" << fCnaCommand
5607  << "]> Low frequency noise. 2D histo. "
5608  << fStexName.Data() << ": " << fKeyStexNumber;
5609  }
5610  if( fKeyStexNumber == 0 )
5611  {
5614  fCnaCommand++;
5615  cout << " *TEcnaGui [" << fCnaCommand
5616  << "]> Average low frequency noise. 2D histo for "
5617  << fSubDet.Data();
5618  }
5619  MessageCnaCommandReplyA("DUMMY");
5620 
5624  if( fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas() )
5625  {fHistos->PlotDetector("LFN", "SM");}
5626  if( fKeyStexNumber == 0 )
5627  {fHistos->PlotDetector("LFN", "EB");}
5628 
5629  MessageCnaCommandReplyB("DUMMY");
5630 }
5631 
5633 {
5634  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
5635 
5636  if( fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas() )
5637  {
5640  fCnaCommand++;
5641  cout << " *TEcnaGui [" << fCnaCommand
5642  << "]> High frequency noise. 2D histo. "
5643  << fStexName.Data() << ": " << fKeyStexNumber;
5644  }
5645  if( fKeyStexNumber == 0 )
5646  {
5649  fCnaCommand++;
5650  cout << " *TEcnaGui [" << fCnaCommand
5651  << "]> Average high frequency noise. 2D histo for "
5652  << fSubDet.Data();
5653  }
5654  MessageCnaCommandReplyA("DUMMY");
5655 
5659  if( fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas() )
5660  {
5661  fHistos->PlotDetector("HFN", "SM");
5662  }
5663  if( fKeyStexNumber == 0 )
5664  {
5665  fHistos->PlotDetector("HFN", "EB");
5666  }
5667 
5668  MessageCnaCommandReplyB("DUMMY");
5669 }
5670 
5672 {
5673  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
5674 
5675  if( fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas() )
5676  {
5679  fCnaCommand++;
5680  cout << " *TEcnaGui [" << fCnaCommand
5681  << "]> Mean cor(s,s'). 2D histo. "
5682  << fStexName.Data() << ": " << fKeyStexNumber;
5683  }
5684  if( fKeyStexNumber == 0 )
5685  {
5688  fCnaCommand++;
5689  cout << " *TEcnaGui [" << fCnaCommand
5690  << "]> Average mean cor(s,s'). 2D histo for "
5691  << fSubDet.Data();
5692  }
5693  MessageCnaCommandReplyA("DUMMY");
5694 
5698  if( fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas() )
5699  {
5700  fHistos->PlotDetector("MCs", "SM");
5701  }
5702  if( fKeyStexNumber == 0 )
5703  {
5704  fHistos->PlotDetector("MCs", "EB");
5705  }
5706 
5707  MessageCnaCommandReplyB("DUMMY");
5708 }
5709 
5711 {
5712  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
5713 
5714  if( fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas() )
5715  {
5718  fCnaCommand++;
5719  cout << " *TEcnaGui [" << fCnaCommand
5720  << "]> Sigma of Cor(s,s'). 2D histo. "
5721  << fStexName.Data() << ": " << fKeyStexNumber;
5722  }
5723  if( fKeyStexNumber == 0 )
5724  {
5727  fCnaCommand++;
5728  cout << " *TEcnaGui [" << fCnaCommand
5729  << "]> Average sigma of Cor(s,s'). 2D histo for "
5730  << fSubDet.Data();
5731  }
5732  MessageCnaCommandReplyA("DUMMY");
5733 
5737  if( fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas() )
5738  {
5739  fHistos->PlotDetector("SCs", "SM");
5740  }
5741  if( fKeyStexNumber == 0 )
5742  {
5743  fHistos->PlotDetector("SCs", "EB");
5744  }
5745 
5746  MessageCnaCommandReplyB("DUMMY");
5747 }
5748 
5749 //=======================================================================================
5750 //
5751 // ViewStinCrystalNumbering
5752 //
5753 //=======================================================================================
5754 void TEcnaGui::ViewStinCrystalNumbering(const Int_t& StexStinEcna)
5755 {
5756  // Plot the crystal numbering of one Stin
5757 
5758  Int_t StinNumber = -1;
5759  if( fSubDet == "EB" ){StinNumber = StexStinEcna;}
5760  if( fSubDet == "EE" && fKeyStexNumber != 0 )
5761  {StinNumber = fEcalNumbering->GetDeeSCConsFrom1DeeSCEcna(fKeyStexNumber,StexStinEcna);}
5762 
5763  fCnaCommand++;
5764  cout << " *TEcnaGui [" << fCnaCommand
5765  << "]> Crystal numbering for " << " " << fStexName.Data() << " "
5766  << fKeyStexNumber << ", " << fStinName.Data() << " " << StinNumber << endl;
5767 
5768  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
5771 }
5772 //----------------> end of ViewStinCrystalNumbering()
5773 
5774 //===========================================================================
5775 //
5776 // ViewStexStinNumbering
5777 //
5778 //===========================================================================
5780 {
5781  // Plot the Stin numbering of one Stex.
5782  // No argument here since the Stex number is a part of the ROOT file name
5783  // and is in the entry field of the Stex button (fKeyStexNumber)
5784 
5785  fCnaCommand++;
5786  cout << " *TEcnaGui [" << fCnaCommand
5787  << "]> " << fStinName.Data() << " numbering for " << fStexName.Data()
5788  << " " << fKeyStexNumber << endl;
5789 
5790  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
5793 }
5794 //----------------> end of ViewStexStinNumbering()
5795 
5796 //===============================================================================
5797 //
5798 // ViewHisto...
5799 //
5800 //===============================================================================
5801 //......................... Nb of evts
5802 void TEcnaGui::ViewHistoSorSNumberOfEventsOfCrystals(const TString& first_same_plot)
5803 {
5804 // Plot the 1D histogram of the number of events (found in the data)
5805 // as a function of crystals (grouped by Stins)
5806 
5807  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
5810 
5811  fCnaCommand++;
5812  cout << " *TEcnaGui [" << fCnaCommand
5813  << "]> Number of events for crystals";
5814  MessageCnaCommandReplyA(first_same_plot);
5815 
5821  fHistos->Plot1DHisto("Xtal", "NOE", "SM", first_same_plot); // "SM" not active since fFapStexNumber is defined "outside"
5822 
5823  MessageCnaCommandReplyB(first_same_plot);
5824 }
5825 
5826 void TEcnaGui::ViewHistoSorSNumberOfEventsDistribution(const TString& first_same_plot)
5827 {
5828 // Plot the 1D histogram of the number of events distribution for a Stex
5829 
5830  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
5833 
5834  fCnaCommand++;
5835  cout << " *TEcnaGui [" << fCnaCommand
5836  << "]> Number of events distribution";
5837  MessageCnaCommandReplyA(first_same_plot);
5838 
5844  fHistos->Plot1DHisto("NOE", "NOX", "SM", first_same_plot);
5845 
5846  MessageCnaCommandReplyB(first_same_plot);
5847 }
5848 
5849 //........................... Pedestals
5850 void TEcnaGui::ViewHistoSorSPedestalsOfCrystals(const TString& first_same_plot)
5851 {
5852 // Plot the 1D histogram of the pedestals as a function of crystals (grouped by Stins)
5853 
5854  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
5857 
5858  fCnaCommand++;
5859  cout << " *TEcnaGui [" << fCnaCommand
5860  << "]> Pedestals";
5861  MessageCnaCommandReplyA(first_same_plot);
5862 
5868  fHistos->Plot1DHisto("Xtal", "Ped", "SM", first_same_plot);
5869 
5870  MessageCnaCommandReplyB(first_same_plot);
5871 }
5872 
5873 void TEcnaGui::ViewHistoSorSPedestalsDistribution(const TString& first_same_plot)
5874 {
5875 // Plot the 1D histogram of the pedestals distribution for a Stex
5876 
5877  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
5880 
5881  fCnaCommand++;
5882  cout << " *TEcnaGui [" << fCnaCommand
5883  << "]> Pedestals distribution";
5884  MessageCnaCommandReplyA(first_same_plot);
5885 
5891  fHistos->Plot1DHisto("Ped", "NOX", "SM", first_same_plot);
5892 
5893  MessageCnaCommandReplyB(first_same_plot);
5894 }
5895 
5896 //............................... Total noise
5897 void TEcnaGui::ViewHistoSorSTotalNoiseOfCrystals(const TString& first_same_plot)
5898 {
5899 // Plot the 1D histogram of the mean sample sigmas as a function of crystals (grouped by Stins)
5900 
5901  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
5904 
5905  fCnaCommand++;
5906  cout << " *TEcnaGui [" << fCnaCommand
5907  << "]> Total noise";
5908  MessageCnaCommandReplyA(first_same_plot);
5909 
5915  fHistos->Plot1DHisto("Xtal", "TNo", "SM", first_same_plot);
5916 
5917  MessageCnaCommandReplyB(first_same_plot);
5918 }
5919 
5920 void TEcnaGui::ViewHistoSorSTotalNoiseDistribution(const TString& first_same_plot)
5921 {
5922 // Plot the 1D histogram of the mean sample sigmas distribution for a Stex
5923 
5924  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
5927 
5928  fCnaCommand++;
5929  cout << " *TEcnaGui [" << fCnaCommand
5930  << "]> Total noise distribution";
5931  MessageCnaCommandReplyA(first_same_plot);
5932 
5938  fHistos->Plot1DHisto("TNo", "NOX", "SM", first_same_plot);
5939 
5940  MessageCnaCommandReplyB(first_same_plot);
5941 }
5942 
5943 
5944 //............................ Low frequency noise
5945 void TEcnaGui::ViewHistoSorSLowFrequencyNoiseOfCrystals(const TString& first_same_plot)
5946 {
5947 // Plot the 1D histogram of the pedestals as a function of crystals (grouped by Stins)
5948 
5949  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
5952 
5953  fCnaCommand++;
5954  cout << " *TEcnaGui [" << fCnaCommand
5955  << "]> Low frequency noise";
5956  MessageCnaCommandReplyA(first_same_plot);
5957 
5963  fHistos->Plot1DHisto("Xtal", "LFN", "SM", first_same_plot);
5964 
5965  MessageCnaCommandReplyB(first_same_plot);
5966 }
5967 
5968 void TEcnaGui::ViewHistoSorSLowFrequencyNoiseDistribution(const TString& first_same_plot)
5969 {
5970 // Plot the 1D histogram of the pedestals distribution for a Stex
5971 
5972  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
5975 
5976  fCnaCommand++;
5977  cout << " *TEcnaGui [" << fCnaCommand
5978  << "]> Low frequency noise distribution";
5979  MessageCnaCommandReplyA(first_same_plot);
5980 
5986  fHistos->Plot1DHisto("LFN", "NOX", "SM", first_same_plot);
5987 
5988  MessageCnaCommandReplyB(first_same_plot);
5989 }
5990 
5991 //............................ High frequency noise
5992 void TEcnaGui::ViewHistoSorSHighFrequencyNoiseOfCrystals(const TString& first_same_plot)
5993 {
5994 // Plot the 1D histogram of the mean sample sigmas as a function of crystals (grouped by Stins)
5995 
5996  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
5999 
6000  fCnaCommand++;
6001  cout << " *TEcnaGui [" << fCnaCommand
6002  << "]> High frequency noise";
6003  MessageCnaCommandReplyA(first_same_plot);
6004 
6010  fHistos->Plot1DHisto("Xtal", "HFN", "SM", first_same_plot);
6011 
6012  MessageCnaCommandReplyB(first_same_plot);
6013 }
6014 
6015 void TEcnaGui::ViewHistoSorSHighFrequencyNoiseDistribution(const TString& first_same_plot)
6016 {
6017 // Plot the 1D histogram of the mean sample sigmas distribution for a Stex
6018 
6019  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
6022 
6023  fCnaCommand++;
6024  cout << " *TEcnaGui [" << fCnaCommand
6025  << "]> High frequency noise distribution";
6026  MessageCnaCommandReplyA(first_same_plot);
6027 
6033  fHistos->Plot1DHisto("HFN", "NOX", "SM", first_same_plot);
6034 
6035  MessageCnaCommandReplyB(first_same_plot);
6036 }
6037 
6038 //............................ Correlations between samples
6039 void TEcnaGui::ViewHistoSorSMeanCorssOfCrystals(const TString& first_same_plot)
6040 {
6041 // Plot the 1D histogram of the mean cor(s,s') as a function of crystals (grouped by Stins)
6042 
6043  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
6046 
6047  fCnaCommand++;
6048  cout << " *TEcnaGui [" << fCnaCommand
6049  << "]> Mean cor(s,s')";
6050  MessageCnaCommandReplyA(first_same_plot);
6051 
6057  fHistos->Plot1DHisto("Xtal", "MCs", "SM", first_same_plot);
6058 
6059  MessageCnaCommandReplyB(first_same_plot);
6060 }
6061 
6062 void TEcnaGui::ViewHistoSorSMeanCorssDistribution(const TString& first_same_plot)
6063 {
6064 // Plot the 1D histogram of the mean cor(s,s') sigmas distribution for a Stex
6065 
6066  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
6069 
6070  fCnaCommand++;
6071  cout << " *TEcnaGui [" << fCnaCommand
6072  << "]> Mean cor(s,s') distribution";
6073  MessageCnaCommandReplyA(first_same_plot);
6074 
6080  fHistos->Plot1DHisto("MCs", "NOX", "SM", first_same_plot);
6081 
6082  MessageCnaCommandReplyB(first_same_plot);
6083 }
6084 
6085 void TEcnaGui::ViewHistoSorSSigmaOfCorssOfCrystals(const TString& first_same_plot)
6086 {
6087 // Plot the 1D histogram of the mean cor(s,s') as a function of crystals (grouped by Stins)
6088 
6089  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
6092 
6093  fCnaCommand++;
6094  cout << " *TEcnaGui [" << fCnaCommand
6095  << "]> Sigma of cor(s,s')";
6096  MessageCnaCommandReplyA(first_same_plot);
6097 
6103  fHistos->Plot1DHisto("Xtal", "SCs", "SM", first_same_plot);
6104 
6105  MessageCnaCommandReplyB(first_same_plot);
6106 }
6107 
6108 void TEcnaGui::ViewHistoSorSSigmaOfCorssDistribution(const TString& first_same_plot)
6109 {
6110 // Plot the 1D histogram of the mean cor(s,s') sigmas distribution for a Stex
6111 
6112  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
6115 
6116  fCnaCommand++;
6117  cout << " *TEcnaGui [" << fCnaCommand
6118  << "]> Sigma of cor(s,s') distribution";
6119  MessageCnaCommandReplyA(first_same_plot);
6120 
6126  fHistos->Plot1DHisto("SCs", "NOX", "SM", first_same_plot);
6127 
6128  MessageCnaCommandReplyB(first_same_plot);
6129 }
6130 
6131 //........................................................................................................
6132 void TEcnaGui::ViewHistoCrystalSampleMeans(const Int_t& cStexStin_A, const Int_t& crystal,
6133  const TString& first_same_plot)
6134 {
6135 // Plot the 1D histogram of the mean sample ADC for a crystal
6136 
6137  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
6140 
6141  fCnaCommand++;
6142  cout << " *TEcnaGui [" << fCnaCommand
6143  << "]> Sample means"
6144  << ". Analysis: " << fKeyAnaType << ", Run: " << fKeyRunNumber
6145  << ", 1st req. evt#: " << fKeyFirstReqEvtNumber << ", last req. evt#: " << fKeyLastReqEvtNumber
6146  << ", Stex: " << fKeyStexNumber << ", " << fStinName.Data() << ": " << cStexStin_A << ", crystal" << crystal
6147  << ", option: " << first_same_plot << endl;
6148 
6154  fHistos->Plot1DHisto("Sample#", "SampleMean", cStexStin_A, crystal, first_same_plot);
6155 }
6156 
6157 //........................................................................................................
6158 void TEcnaGui::ViewHistoCrystalSampleMeansDistribution(const Int_t& cStexStin_A, const Int_t& crystal,
6159  const TString& first_same_plot)
6160 {
6161 // Plot the 1D histogram distribution of the mean sample ADC for a crystal
6162 
6163  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
6166 
6167  fCnaCommand++;
6168  cout << " *TEcnaGui [" << fCnaCommand
6169  << "]> Sample means"
6170  << ". Analysis: " << fKeyAnaType << ", Run: " << fKeyRunNumber
6171  << ", 1st req. evt#: " << fKeyFirstReqEvtNumber << ", last req. evt#: " << fKeyLastReqEvtNumber
6172  << ", Stex: " << fKeyStexNumber << ", " << fStinName.Data() << ": " << cStexStin_A << ", crystal" << crystal
6173  << ", option: " << first_same_plot << endl;
6174 
6180  fHistos->Plot1DHisto("SampleMean", "NbOfSamples", cStexStin_A, crystal, first_same_plot);
6181 }
6182 
6183 void TEcnaGui::ViewHistoCrystalSampleSigmas(const Int_t& cStexStin_A, const Int_t& crystal,
6184  const TString& first_same_plot)
6185 {
6186 // Plot the 1D histogram of the sigmas of the sample ADC for a crystal
6187 
6188  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
6191 
6192  fCnaCommand++;
6193  cout << " *TEcnaGui [" << fCnaCommand
6194  << "]> Sample sigmas"
6195  << ". Analysis: " << fKeyAnaType << ", Run: " << fKeyRunNumber
6196  << ", 1st req. evt#: " << fKeyFirstReqEvtNumber << ", last req. evt#: " << fKeyLastReqEvtNumber
6197  << ", Stex: " << fKeyStexNumber << ", " << fStinName.Data() << ": " << cStexStin_A << ", crystal:" << crystal
6198  << ", option: " << first_same_plot << endl;
6199 
6205  fHistos->Plot1DHisto("Sample#", "SampleSigma", cStexStin_A, crystal, first_same_plot);
6206 }
6207 
6208 void TEcnaGui::ViewHistoCrystalSampleSigmasDistribution(const Int_t& cStexStin_A, const Int_t& crystal,
6209  const TString& first_same_plot)
6210 {
6211 // Plot the 1D histogram distribution of the sigmas of the sample ADC for a crystal
6212 
6213  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
6216 
6217  fCnaCommand++;
6218  cout << " *TEcnaGui [" << fCnaCommand
6219  << "]> Sample sigmas"
6220  << ". Analysis: " << fKeyAnaType << ", Run: " << fKeyRunNumber
6221  << ", 1st req. evt#: " << fKeyFirstReqEvtNumber << ", last req. evt#: " << fKeyLastReqEvtNumber
6222  << ", Stex: " << fKeyStexNumber << ", " << fStinName.Data() << ": " << cStexStin_A << ", crystal:" << crystal
6223  << ", option: " << first_same_plot << endl;
6224 
6230  fHistos->Plot1DHisto("SampleSigma", "NbOfSamples", cStexStin_A, crystal, first_same_plot);
6231 }
6232 
6233 //............................ Sample values
6234 void TEcnaGui::ViewHistoCrystalSampleValues(const Int_t& cStexStin_A, const Int_t& crystal,
6235  const Int_t& sample, const TString& first_same_plot)
6236 {
6237 // Plot the 1D histogram of the pedestals as a function of the event number for a crystal
6238 
6239  Int_t n1Sample = sample+1;
6240  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
6243 
6244  fCnaCommand++;
6245  cout << " *TEcnaGui [" << fCnaCommand
6246  << "]> ADC sample values"
6247  << ". Analysis: " << fKeyAnaType << ", Run: " << fKeyRunNumber
6248  << ", 1st req. evt#: " << fKeyFirstReqEvtNumber << ", last req. evt#: " << fKeyLastReqEvtNumber
6249  << ", Stex: " << fKeyStexNumber << ", " << fStinName.Data() << ": " << cStexStin_A << ", crystal: " << crystal
6250  << ", sample: " << n1Sample << ", option: " << first_same_plot << endl;
6251 
6257  fHistos->Plot1DHisto("Event#", "AdcValue", cStexStin_A, crystal, n1Sample, first_same_plot);
6258 }
6259 
6260 void TEcnaGui::ViewHistoSampleEventDistribution(const Int_t& cStexStin_A, const Int_t& crystal,
6261  const Int_t& sample, const TString& first_same_plot)
6262 {
6263 // Plot the 1D histogram of the ADC event distribution for a sample
6264 
6265  Int_t n1Sample = sample+1;
6266  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
6269 
6270  fCnaCommand++;
6271  cout << " *TEcnaGui [" << fCnaCommand
6272  << "]> ADC event distribution"
6273  << ". Analysis: " << fKeyAnaType << ", Run: " << fKeyRunNumber
6274  << ", 1st req. evt#: " << fKeyFirstReqEvtNumber << ", last req. evt#: " << fKeyLastReqEvtNumber
6275  << ", Stex: " << fKeyStexNumber << ", " << fStinName.Data() << ": " << cStexStin_A << ", crystal: " << crystal
6276  << ", sample " << n1Sample << ", option: " << first_same_plot << endl;
6277 
6283  fHistos->Plot1DHisto("AdcValue", "NbOfEvts", cStexStin_A, crystal, n1Sample, first_same_plot);
6284 }
6285 
6286 //------------------------------------------------------- Evolution in time (as a function of run date)
6287 void TEcnaGui::ViewHistimeCrystalPedestals(const TString& run_par_file_name,
6288  const Int_t& cStexStin_A, const Int_t& i0StinEcha,
6289  const TString& first_same_plot)
6290 {
6291 // Plot the graph of Pedestals evolution for a given channel
6292 
6293  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
6294 
6295  fCnaCommand++;
6296  cout << " *TEcnaGui [" << fCnaCommand
6297  << "]> Pedestal history"
6298  << ". Run parameters file name: " << run_par_file_name
6299  << ", " << fStinName.Data() << ": " << cStexStin_A << ", channel: " << i0StinEcha
6300  << ", option: " << first_same_plot << endl;
6301 
6309  fHistos->PlotHistory("Time", "Ped", run_par_file_name, cStexStin_A, i0StinEcha, first_same_plot);
6310 }
6311 
6312 void TEcnaGui::ViewHistimeCrystalPedestalsRuns(const TString& run_par_file_name,
6313  const Int_t& cStexStin_A, const Int_t& i0StinEcha,
6314  const TString& first_same_plot)
6315 {
6316 // Plot the graph of Pedestals evolution for a given channel
6317 
6318  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
6319 
6320  fCnaCommand++;
6321  cout << " *TEcnaGui [" << fCnaCommand
6322  << "]> Pedestal history distribution"
6323  << ". Run parameters file name: " << run_par_file_name
6324  << ", " << fStinName.Data() << ": " << cStexStin_A << ", channel: " << i0StinEcha
6325  << ", option: " << first_same_plot << endl;
6326 
6334  fHistos->PlotHistory("Ped", "NOR", run_par_file_name, cStexStin_A, i0StinEcha, first_same_plot);
6335 }
6336 
6337 //....................................................................................................
6338 void TEcnaGui::ViewHistimeCrystalTotalNoise(const TString& run_par_file_name,
6339  const Int_t& cStexStin_A, const Int_t& i0StinEcha,
6340  const TString& first_same_plot)
6341 {
6342 // Plot the graph of total noise evolution for a given channel
6343 
6344  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
6345 
6346  fCnaCommand++;
6347  cout << " *TEcnaGui [" << fCnaCommand
6348  << "]> Total noise history"
6349  << ". Run parameters file name: " << run_par_file_name
6350  << ", " << fStinName.Data() << ": " << cStexStin_A << ", channel: " << i0StinEcha
6351  << ", option: " << first_same_plot << endl;
6352 
6360  fHistos->PlotHistory("Time", "TNo", run_par_file_name, cStexStin_A, i0StinEcha, first_same_plot);
6361 }
6362 
6363 void TEcnaGui::ViewHistimeCrystalTotalNoiseRuns(const TString& run_par_file_name,
6364  const Int_t& cStexStin_A, const Int_t& i0StinEcha,
6365  const TString& first_same_plot)
6366 {
6367 // Plot the graph of total noise evolution for a given channel
6368 
6369  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
6370 
6371  fCnaCommand++;
6372  cout << " *TEcnaGui [" << fCnaCommand
6373  << "]> Total noise history distribution"
6374  << ". Run parameters file name: " << run_par_file_name
6375  << ", " << fStinName.Data() << ": " << cStexStin_A << ", channel: " << i0StinEcha
6376  << ", option: " << first_same_plot << endl;
6377 
6385  fHistos->PlotHistory("TNo", "NOR", run_par_file_name, cStexStin_A, i0StinEcha, first_same_plot);
6386 }
6387 //....................................................................................................
6388 void TEcnaGui::ViewHistimeCrystalLowFrequencyNoise(const TString& run_par_file_name,
6389  const Int_t& cStexStin_A, const Int_t& i0StinEcha,
6390  const TString& first_same_plot)
6391 {
6392 // Plot the graph of Low Frequency Noise evolution for a given channel
6393 
6394  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
6395 
6396  fCnaCommand++;
6397  cout << " *TEcnaGui [" << fCnaCommand
6398  << "]> Low frequency noise history"
6399  << ". Run parameters file name: " << run_par_file_name
6400  << ", " << fStinName.Data() << ": " << cStexStin_A << ", channel: " << i0StinEcha
6401  << ", option: " << first_same_plot << endl;
6402 
6410  fHistos->PlotHistory("Time", "LFN", run_par_file_name, cStexStin_A, i0StinEcha, first_same_plot);
6411 }
6412 
6413 void TEcnaGui::ViewHistimeCrystalLowFrequencyNoiseRuns(const TString& run_par_file_name,
6414  const Int_t& cStexStin_A, const Int_t& i0StinEcha,
6415  const TString& first_same_plot)
6416 {
6417 // Plot the graph of Low Frequency Noise evolution for a given channel
6418 
6419  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
6420 
6421  fCnaCommand++;
6422  cout << " *TEcnaGui [" << fCnaCommand
6423  << "]> Low frequency noise history distribution"
6424  << ". Run parameters file name: " << run_par_file_name
6425  << ", " << fStinName.Data() << ": " << cStexStin_A << ", channel: " << i0StinEcha
6426  << ", option: " << first_same_plot << endl;
6427 
6435  fHistos->PlotHistory("LFN", "NOR", run_par_file_name, cStexStin_A, i0StinEcha, first_same_plot);
6436 }
6437 //....................................................................................................
6438 void TEcnaGui::ViewHistimeCrystalHighFrequencyNoise(const TString& run_par_file_name,
6439  const Int_t& cStexStin_A, const Int_t& i0StinEcha,
6440  const TString& first_same_plot)
6441 {
6442 // Plot the graph of High Frequency Noise evolution for a given channel
6443 
6444  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
6445 
6446  fCnaCommand++;
6447  cout << " *TEcnaGui [" << fCnaCommand
6448  << "]> High frequency noise history"
6449  << ". Run parameters file name: " << run_par_file_name
6450  << ", " << fStinName.Data() << ": " << cStexStin_A << ", channel: " << i0StinEcha
6451  << ", option: " << first_same_plot << endl;
6452 
6460  fHistos->PlotHistory("Time", "HFN", run_par_file_name, cStexStin_A, i0StinEcha, first_same_plot);
6461 }
6462 
6463 void TEcnaGui::ViewHistimeCrystalHighFrequencyNoiseRuns(const TString& run_par_file_name,
6464  const Int_t& cStexStin_A, const Int_t& i0StinEcha,
6465  const TString& first_same_plot)
6466 {
6467 // Plot the graph of High Frequency Noise evolution for a given channel
6468 
6469  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
6470 
6471  fCnaCommand++;
6472  cout << " *TEcnaGui [" << fCnaCommand
6473  << "]> High frequency noise history distribution"
6474  << ". Run parameters file name: " << run_par_file_name
6475  << ", " << fStinName.Data() << ": " << cStexStin_A << ", channel: " << i0StinEcha
6476  << ", option: " << first_same_plot << endl;
6477 
6485  fHistos->PlotHistory("HFN", "NOR", run_par_file_name, cStexStin_A, i0StinEcha, first_same_plot);
6486 }
6487 //....................................................................................................
6488 void TEcnaGui::ViewHistimeCrystalMeanCorss(const TString& run_par_file_name,
6489  const Int_t& cStexStin_A, const Int_t& i0StinEcha,
6490  const TString& first_same_plot)
6491 {
6492 // Plot the graph for Mean Corss evolution for a given channel
6493 
6494  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
6495 
6496  fCnaCommand++;
6497  cout << " *TEcnaGui [" << fCnaCommand
6498  << "]> Mean corss history"
6499  << ". Run parameters file name: " << run_par_file_name
6500  << ", " << fStinName.Data() << ": " << cStexStin_A << ", channel: " << i0StinEcha
6501  << ", option: " << first_same_plot << endl;
6502 
6510  fHistos->PlotHistory("Time", "MCs", run_par_file_name, cStexStin_A, i0StinEcha, first_same_plot);
6511 }
6512 
6513 void TEcnaGui::ViewHistimeCrystalMeanCorssRuns(const TString& run_par_file_name,
6514  const Int_t& cStexStin_A, const Int_t& i0StinEcha,
6515  const TString& first_same_plot)
6516 {
6517 // Plot the graph for Mean Corss evolution for a given channel
6518 
6519  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/ ;}
6520 
6521  fCnaCommand++;
6522  cout << " *TEcnaGui [" << fCnaCommand
6523  << "]> Mean corss history distribution"
6524  << ". Run parameters file name: " << run_par_file_name
6525  << ", " << fStinName.Data() << ": " << cStexStin_A << ", channel: " << i0StinEcha
6526  << ", option: " << first_same_plot << endl;
6527 
6535  fHistos->PlotHistory("MCs", "NOR", run_par_file_name, cStexStin_A, i0StinEcha, first_same_plot);
6536 }
6537 //....................................................................................................
6538 void TEcnaGui::ViewHistimeCrystalSigmaOfCorss(const TString& run_par_file_name,
6539  const Int_t& cStexStin_A, const Int_t& i0StinEcha,
6540  const TString& first_same_plot)
6541 {
6542 // Plot the graph of Mean Corss evolution for a given channel
6543 
6544  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/;}
6545 
6546  fCnaCommand++;
6547  cout << " *TEcnaGui [" << fCnaCommand
6548  << "]> Sigma of corss history"
6549  << ". Run parameters file name: " << run_par_file_name
6550  << ", " << fStinName.Data() << ": " << cStexStin_A << ", channel: " << i0StinEcha
6551  << ", option: " << first_same_plot << endl;
6552 
6560  fHistos->PlotHistory("Time", "SCs", run_par_file_name, cStexStin_A, i0StinEcha, first_same_plot);
6561 }
6562 
6563 void TEcnaGui::ViewHistimeCrystalSigmaOfCorssRuns(const TString& run_par_file_name,
6564  const Int_t& cStexStin_A, const Int_t& i0StinEcha,
6565  const TString& first_same_plot)
6566 {
6567 // Plot the graph of Mean Corss evolution for a given channel
6568 
6569  if( fHistos == 0 ){fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/;}
6570 
6571  fCnaCommand++;
6572  cout << " *TEcnaGui [" << fCnaCommand
6573  << "]> Sigma of corss history distribution"
6574  << ". Run parameters file name: " << run_par_file_name
6575  << ", " << fStinName.Data() << ": " << cStexStin_A << ", channel: " << i0StinEcha
6576  << ", option: " << first_same_plot << endl;
6577 
6585  fHistos->PlotHistory("SCs", "NOR", run_par_file_name, cStexStin_A, i0StinEcha, first_same_plot);
6586 }
6587 
6588 //====================================================================================================
6589 
6591 {
6592  //.....Input widgets for: analysis, run, channel, sample,
6593  // number of events, first event number, etc...
6594 
6595  //fKeyPyf = "";
6596 
6597  fKeyAnaType = "StdPeg12";
6598  Int_t MaxCar = fgMaxCar;
6599  fKeyRunListInitCode.Resize(MaxCar);
6600  fKeyRunListInitCode = "0123";
6601 
6602  MaxCar = fgMaxCar;
6603  fKeyFileNameRunList.Resize(MaxCar);
6605 
6607  fKeyNbOfSamplesString = "10"; // ! THE NUMBER IN STRING MUST BE EQUAL TO fKeyNbOfSamples VALUE
6608 
6610  fKeyNbOfSampForCalcString = "10"; // ! THE NUMBER IN STRING MUST BE EQUAL TO fKeyNbOfSampForCalc VALUE
6611 
6612  fKeyRunNumber = 0;
6613 
6615  fKeyFirstReqEvtNumberString = "1"; // ! THE NUMBER IN STRING MUST BE EQUAL TO fKeyFirstReqEvtNumber VALUE
6616 
6618  fKeyLastReqEvtNumberString = "0"; // ! THE NUMBER IN STRING MUST BE EQUAL TO fKeyLastReqEvtNumber VALUE
6619 
6620  fKeyReqNbOfEvts = 150;
6621  fKeyReqNbOfEvtsString = "150"; // ! THE NUMBER IN STRING MUST BE EQUAL TO fKeyReqNbOfEvts VALUE
6622 
6623  fKeyStexNumber = 1;
6624  fKeyStexNumberString = "1"; // ! THE NUMBER IN STRING MUST BE EQUAL TO fKeyStexNumber VALUE
6625 
6626  fKeyChanNumber = 0;
6627  fKeySampNumber = 0;
6628 
6629  fKeyStinANumber = 1;
6630  fKeyStinBNumber = 1;
6631  if( fSubDet == "EE" )
6632  {if( fKeyStexNumber == 1 || fKeyStexNumber == 3 )
6633  {
6636  }
6637  }
6638 
6639  MaxCar = fgMaxCar;
6640  fKeyScaleX.Resize(MaxCar);
6641  fKeyScaleX = "LIN";
6642  MaxCar = fgMaxCar;
6643  fKeyScaleY.Resize(MaxCar);
6644  fKeyScaleY = "LIN";
6645  fKeyGeneralTitle = "Ecal Correlated Noise Analysis";
6646 
6647  fKeyColPal = "ECCNAColor";
6648 
6649  //.... ymin and ymax values => values which are displayed on the dialog box
6650 
6651  fKeyVminD_NOE_ChNb = (Double_t)0.;
6653 
6654  fKeyVminD_Ped_ChNb = (Double_t)0.;
6655  fKeyVmaxD_Ped_ChNb = (Double_t)0.;
6656 
6657  fKeyVminD_TNo_ChNb = (Double_t)0.;
6658  fKeyVmaxD_TNo_ChNb = (Double_t)0.;
6659 
6660  fKeyVminD_LFN_ChNb = (Double_t)0.;
6661  fKeyVmaxD_LFN_ChNb = (Double_t)0.;
6662 
6663  fKeyVminD_HFN_ChNb = (Double_t)0.;
6664  fKeyVmaxD_HFN_ChNb = (Double_t)0.;
6665 
6666  fKeyVminD_MCs_ChNb = (Double_t)(-1.);
6667  fKeyVmaxD_MCs_ChNb = (Double_t)1.;
6668 
6669  fKeyVminD_SCs_ChNb = (Double_t)0.;
6670  fKeyVmaxD_SCs_ChNb = (Double_t)0.;
6671 
6674 
6675  fKeyVminLFccMos = (Double_t)-1.;
6676  fKeyVmaxLFccMos = (Double_t)1.;
6677  fKeyVminHFccMos = (Double_t)0.;
6678  fKeyVmaxHFccMos = (Double_t)1.;
6679 
6680  fKeyFileNameRunList = "";
6681 }
6682 
6683 void TEcnaGui::DisplayInEntryField(TGTextEntry* StringOfField, Int_t& value)
6684 {
6685  char* f_in = new char[20]; fCnew++;
6686  sprintf( f_in, "%d", value );
6687  StringOfField->SetText(f_in);
6688  delete [] f_in; fCdelete++;
6689 }
6690 
6691 void TEcnaGui::DisplayInEntryField(TGTextEntry* StringOfField, Double_t& value)
6692 {
6693  char* f_in = new char[20]; fCnew++;
6694  sprintf( f_in, "%g", value );
6695  StringOfField->SetText(f_in);
6696  delete [] f_in; fCdelete++;
6697 }
6698 void TEcnaGui::DisplayInEntryField(TGTextEntry* StringOfField, const TString& value)
6699 {
6700  //StringOfField->Insert(value);
6701  StringOfField->SetText(value);
6702 }
Int_t fMenuH_LFN_DatePolmSameC
Definition: TEcnaGui.h:816
TGTextButton * fStinBBut
Definition: TEcnaGui.h:701
TGPopupMenu * fMenuD_TNo_ChNb
Definition: TEcnaGui.h:449
TGTextEntry * fVminD_TNo_ChNbText
Definition: TEcnaGui.h:445
Int_t fMenuCleanAllC
Definition: TEcnaGui.h:311
Int_t fMenuD_SSp_SpDsLineSameC
Definition: TEcnaGui.h:769
Int_t fMenuCorssSurf3C
Definition: TEcnaGui.h:742
TString fKeyFileNameRunList
Definition: TEcnaGui.h:900
TGLayoutHints * fLayoutMenuBarD_SCs_ChNb
Definition: TEcnaGui.h:571
void GetCMSSWParameters()
TGTextButton * fVmaxD_HFN_ChNbBut
Definition: TEcnaGui.h:494
void ViewHistoSampleEventDistribution(const Int_t &, const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:6260
TGLayoutHints * fLayoutMenuBarD_HFN_ChNb
Definition: TEcnaGui.h:511
TGMenuBar * fMenuBarHFccMos
Definition: TEcnaGui.h:656
TGLayoutHints * fLayoutStexNbBut
Definition: TEcnaGui.h:346
TGLayoutHints * fLayoutVminD_LFN_ChNbFrame
Definition: TEcnaGui.h:477
TGMenuBar * fMenuBarCorssAll
Definition: TEcnaGui.h:688
void DoButtonChNb()
Definition: TEcnaGui.cc:3944
TGCompositeFrame * fGentFrame
Definition: TEcnaGui.h:841
TGLayoutHints * fLayoutGeneral
Definition: TEcnaGui.h:252
void DoButtonChan()
Definition: TEcnaGui.cc:3951
TGPopupMenu * fMenuCorssAll
Definition: TEcnaGui.h:687
TGTextBuffer * fEntryVmaxLHFccNumber
Definition: TEcnaGui.h:591
TEcnaGui()
Definition: TEcnaGui.cc:622
TGLayoutHints * fLayoutStexFieldText
Definition: TEcnaGui.h:327
TGLayoutHints * fLayoutRevFieldFrame
Definition: TEcnaGui.h:337
void PlotDetector(const TVectorD &, const TString &, const TString &)
TGLayoutHints * fLayoutNorsBut
Definition: TEcnaGui.h:295
void DoButtonFev()
Definition: TEcnaGui.cc:3361
Int_t fMenuCovssTextC
Definition: TEcnaGui.h:747
Int_t fCdelete
Definition: TEcnaGui.h:221
TGLayoutHints * fLayoutStexHozFrame
Definition: TEcnaGui.h:582
TGTextButton * fFevBut
Definition: TEcnaGui.h:273
TGLayoutHints * fLayoutVmmD_HFN_ChNbFrame
Definition: TEcnaGui.h:518
TGCompositeFrame * fVminLHFccFrame
Definition: TEcnaGui.h:595
TGMenuBar * fMenuBarCorss
Definition: TEcnaGui.h:739
TGLayoutHints * fLayoutRootBut
Definition: TEcnaGui.h:872
Int_t fMenuCorssLegoC
Definition: TEcnaGui.h:741
TGCheckButton * fButLogx
Definition: TEcnaGui.h:827
TGTextBuffer * fEntryVminD_Ped_ChNbNumber
Definition: TEcnaGui.h:416
TGMenuBar * fMenuBarLFCorcc
Definition: TEcnaGui.h:714
TGLayoutHints * fLayoutVmaxD_Ped_ChNbFrame
Definition: TEcnaGui.h:410
Int_t fMenuD_SCs_ChNbFullC
Definition: TEcnaGui.h:572
TGCompositeFrame * fAnaNorsRunFrame
Definition: TEcnaGui.h:261
TGLayoutHints * fLayoutMenuBarLFccMos
Definition: TEcnaGui.h:631
TGCheckButton * fButProjy
Definition: TEcnaGui.h:836
Int_t fMenuSubmit8nhC
Definition: TEcnaGui.h:316
TGTextBuffer * fEntryVmaxD_SCs_ChNbNumber
Definition: TEcnaGui.h:557
TGTextButton * fNorsBut
Definition: TEcnaGui.h:293
TGCompositeFrame * fVmaxD_NOE_ChNbFrame
Definition: TEcnaGui.h:372
void Expert1Calculations()
Definition: TEcnaRun.cc:1297
TGTextButton * fLevBut
Definition: TEcnaGui.h:302
TGLayoutHints * fLayoutTopRight
Definition: TEcnaGui.h:253
TGLayoutHints * fLayoutFevFieldText
Definition: TEcnaGui.h:277
TGTextBuffer * fEntryRunNumber
Definition: TEcnaGui.h:285
void ViewHistimeCrystalMeanCorssRuns(const TString &, const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:6513
Int_t fMenuD_HFN_ChNbFullC
Definition: TEcnaGui.h:512
TGLayoutHints * fLayoutVminD_Ped_ChNbFrame
Definition: TEcnaGui.h:418
TString fSubDet
Definition: TEcnaGui.h:237
TGLayoutHints * fLayoutVmmD_NOE_ChNbFrame
Definition: TEcnaGui.h:396
TGTextEntry * fLevText
Definition: TEcnaGui.h:304
Int_t fMenuAdcProjSampLineSameC
Definition: TEcnaGui.h:798
TGCompositeFrame * fStinAFrame
Definition: TEcnaGui.h:673
void DoButtonVmaxHFccMos()
Definition: TEcnaGui.cc:3774
void DoButtonStinA()
Definition: TEcnaGui.cc:3826
Int_t fMenuHFccColzC
Definition: TEcnaGui.h:606
TGPopupMenu * fMenuSubmit
Definition: TEcnaGui.h:314
TGLayoutHints * fLayoutVmaxD_NOE_ChNbFieldText
Definition: TEcnaGui.h:377
Int_t fMenuH_HFN_DatePolmSameC
Definition: TEcnaGui.h:817
Int_t Get1DeeSCEcnaFromDeeSCCons(const Int_t &, const Int_t &)
Int_t fMenuCorssSurf1C
Definition: TEcnaGui.h:742
void ViewHistoSorSNumberOfEventsOfCrystals(const TString &)
Definition: TEcnaGui.cc:5802
Double_t fKeyVmaxD_SCs_ChNb
Definition: TEcnaGui.h:941
void DoButtonVminLHFcc()
Definition: TEcnaGui.cc:3790
void DoButtonVmaxD_NOE_ChNb()
Definition: TEcnaGui.cc:3533
Double_t fKeyVmaxD_MCs_ChNb
Definition: TEcnaGui.h:932
TGLayoutHints * fLayoutVminLHFccFrame
Definition: TEcnaGui.h:601
TGTextEntry * fVmaxD_Ped_ChNbText
Definition: TEcnaGui.h:407
TGPopupMenu * fMenuCovss
Definition: TEcnaGui.h:745
TGCompositeFrame * fVminD_HFN_ChNbFrame
Definition: TEcnaGui.h:501
TEcnaHistos * fHistos
Definition: TEcnaGui.h:242
Int_t fMenuH_SCs_DatePolmFullC
Definition: TEcnaGui.h:819
Int_t fMenuCovssSurf1C
Definition: TEcnaGui.h:749
TGCompositeFrame * fVminD_MCs_ChNbFrame
Definition: TEcnaGui.h:531
TGCompositeFrame * fVmaxD_LFN_ChNbFrame
Definition: TEcnaGui.h:463
Int_t fMenuLFCorccColzC
Definition: TEcnaGui.h:715
TGLayoutHints * fLayoutRevFieldText
Definition: TEcnaGui.h:336
TGLayoutHints * fLayoutVminHFccMosFieldText
Definition: TEcnaGui.h:652
TGTextEntry * fRevText
Definition: TEcnaGui.h:334
TGCompositeFrame * fTxSubFrame
Definition: TEcnaGui.h:671
TGTextEntry * fVmaxD_SCs_ChNbText
Definition: TEcnaGui.h:556
TGCompositeFrame * fNbSampForCalcFrame
Definition: TEcnaGui.h:348
void DoButtonRun()
Definition: TEcnaGui.cc:3346
Int_t fMenuD_NOE_ChNbFullC
Definition: TEcnaGui.h:391
Int_t fMenuH_TNo_DatePolmFullC
Definition: TEcnaGui.h:815
TGTextButton * fVminD_LFN_ChNbBut
Definition: TEcnaGui.h:472
TGLayoutHints * fLayoutStexFieldFrame
Definition: TEcnaGui.h:328
Int_t fCnaError
Definition: TEcnaGui.h:226
Int_t fButRootC
Definition: TEcnaGui.h:871
TGPopupMenu * fMenuD_LFN_ChNb
Definition: TEcnaGui.h:479
TGTextEntry * fVmaxD_NOE_ChNbText
Definition: TEcnaGui.h:376
void DoButtonVminD_SCs_ChNb()
Definition: TEcnaGui.cc:3699
void GetReadyToReadData(const TString &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &)
Definition: TEcnaRun.cc:505
TGLayoutHints * fLayoutRunBut
Definition: TEcnaGui.h:283
void CorrelationsBetweenSamples(const Int_t &)
void PlotMatrix(const TMatrixD &, const TString &, const TString &)
Definition: TEcnaHistos.cc:892
TString fOptPlotSame
Definition: TEcnaGui.h:960
TGPopupMenu * fMenuHistory
Definition: TEcnaGui.h:812
TGLayoutHints * fLayoutVmaxLFccMosFieldText
Definition: TEcnaGui.h:618
TGTextButton * fNbSampForCalcBut
Definition: TEcnaGui.h:349
TGTextEntry * fVminD_HFN_ChNbText
Definition: TEcnaGui.h:505
TGTextEntry * fStinAText
Definition: TEcnaGui.h:678
void DoButtonVminD_HFN_ChNb()
Definition: TEcnaGui.cc:3669
void ViewSorSTotalNoise()
Definition: TEcnaGui.cc:5561
TGPopupMenu * fMenuComput
Definition: TEcnaGui.h:356
TGTextEntry * fSampText
Definition: TEcnaGui.h:781
TGTextButton * fButRoot
Definition: TEcnaGui.h:870
TGLayoutHints * fLayoutFevBut
Definition: TEcnaGui.h:274
TGPopupMenu * fMenuD_NOE_ChNb
Definition: TEcnaGui.h:388
Int_t fMenuCorssTextC
Definition: TEcnaGui.h:740
TGCompositeFrame * fVmmLFccMosFrame
Definition: TEcnaGui.h:611
TGCompositeFrame * fColorExitFrame
Definition: TEcnaGui.h:850
Int_t fMenuSubmit1nwC
Definition: TEcnaGui.h:316
TGLayoutHints * fLayoutSampField
Definition: TEcnaGui.h:783
TGTextBuffer * fEntryVminD_LFN_ChNbNumber
Definition: TEcnaGui.h:474
Int_t fMenuCorssContzC
Definition: TEcnaGui.h:741
TGLayoutHints * fLayoutVmaxD_MCs_ChNbBut
Definition: TEcnaGui.h:525
TGLayoutHints * fLayoutVminD_MCs_ChNbFrame
Definition: TEcnaGui.h:537
Int_t fMenuCorssAsciiFileC
Definition: TEcnaGui.h:743
TEcnaParPaths * fCnaParPaths
Definition: TEcnaGui.h:244
void PlotHistory(const TString &, const TString &, const TString &, const Int_t &, const Int_t &)
void DoButtonClone()
Definition: TEcnaGui.cc:4131
TGLayoutHints * fLayoutCenterYRight
Definition: TEcnaGui.h:254
Int_t fKeyNbOfSamples
Definition: TEcnaGui.h:884
TGLayoutHints * fLayoutVmaxD_TNo_ChNbFieldText
Definition: TEcnaGui.h:438
TGLayoutHints * fLayoutSampBut
Definition: TEcnaGui.h:779
TGTextButton * fStinABut
Definition: TEcnaGui.h:674
TGLayoutHints * fLayoutVminD_Ped_ChNbFieldText
Definition: TEcnaGui.h:417
void HandleMenu(Int_t)
Definition: TEcnaGui.cc:4163
void ViewSorSLowFrequencyNoise()
Definition: TEcnaGui.cc:5597
TString fKeyColPal
Definition: TEcnaGui.h:910
TString fStinName
Definition: TEcnaGui.h:238
TGTextEntry * fStexText
Definition: TEcnaGui.h:325
void DoButtonRoot()
Definition: TEcnaGui.cc:4141
TGTextBuffer * fEntryVminD_TNo_ChNbNumber
Definition: TEcnaGui.h:444
void DoButtonLogy()
Definition: TEcnaGui.cc:4078
TGLayoutHints * fLayoutFevFieldFrame
Definition: TEcnaGui.h:278
TGTextButton * fVminD_SCs_ChNbBut
Definition: TEcnaGui.h:562
void ViewHistoSorSPedestalsOfCrystals(const TString &)
Definition: TEcnaGui.cc:5850
TGLayoutHints * fLayoutVmaxD_LFN_ChNbFieldText
Definition: TEcnaGui.h:468
TGLayoutHints * fLayoutVminD_SCs_ChNbFieldText
Definition: TEcnaGui.h:566
TString CMSSWBase()
void ViewHistoSorSHighFrequencyNoiseOfCrystals(const TString &)
Definition: TEcnaGui.cc:5992
TGTextButton * fVminLHFccBut
Definition: TEcnaGui.h:596
Int_t fMenuCovssSurf4C
Definition: TEcnaGui.h:749
TGPopupMenu * fMenuD_SCs_ChNb
Definition: TEcnaGui.h:569
TGLayoutHints * fLayoutChSpFrame
Definition: TEcnaGui.h:791
TGCompositeFrame * fVminD_LFN_ChNbFrame
Definition: TEcnaGui.h:471
Int_t MaxSMInEBPlus()
TString fOptPlotSameP
Definition: TEcnaGui.h:961
TGLayoutHints * fLayoutVminD_Ped_ChNbBut
Definition: TEcnaGui.h:414
TGCompositeFrame * fChSpFrame
Definition: TEcnaGui.h:724
TGTextEntry * fVminD_Ped_ChNbText
Definition: TEcnaGui.h:415
TGTextEntry * fVmaxD_TNo_ChNbText
Definition: TEcnaGui.h:437
TGTextEntry * fAnaText
Definition: TEcnaGui.h:268
TGMenuBar * fMenuBarD_LFN_ChNb
Definition: TEcnaGui.h:480
void Init()
Definition: TEcnaGui.cc:717
TGLayoutHints * fLayoutGentFieldText
Definition: TEcnaGui.h:846
void ViewHistoSorSMeanCorssOfCrystals(const TString &)
Definition: TEcnaGui.cc:6039
TGTextButton * fVminD_Ped_ChNbBut
Definition: TEcnaGui.h:413
TGTextButton * fVminD_MCs_ChNbBut
Definition: TEcnaGui.h:532
void DoButtonStinB()
Definition: TEcnaGui.cc:3888
Int_t fMenuCleanSubC
Definition: TEcnaGui.h:311
Int_t fMenuHFccLegoC
Definition: TEcnaGui.h:606
Int_t fChanButC
Definition: TEcnaGui.h:731
Int_t fMenuHFccMosColzC
Definition: TEcnaGui.h:658
void Expert2Calculations()
Definition: TEcnaRun.cc:1305
TGLayoutHints * fLayoutVminLFccMosBut
Definition: TEcnaGui.h:623
Int_t fgMaxCar
Definition: TEcnaGui.h:219
TGLayoutHints * fLayoutVmaxLHFccFieldText
Definition: TEcnaGui.h:592
TGTextBuffer * fEntryNorsNumber
Definition: TEcnaGui.h:297
Int_t fMenuHFCorccColzC
Definition: TEcnaGui.h:719
TGLayoutHints * fLayoutVmaxLHFccFrame
Definition: TEcnaGui.h:593
TGPopupMenu * fMenuLFCorcc
Definition: TEcnaGui.h:713
Int_t fMenuH_Ped_DatePolmSameC
Definition: TEcnaGui.h:814
TGLayoutHints * fLayoutChanBut
Definition: TEcnaGui.h:732
TGLayoutHints * fLayoutNbSampForCalcFieldFrame
Definition: TEcnaGui.h:354
Int_t fMenuLFccColzC
Definition: TEcnaGui.h:606
TGTextButton * fGentBut
Definition: TEcnaGui.h:842
TGMenuBar * fMenuBarClean
Definition: TEcnaGui.h:310
TGTextButton * fRunBut
Definition: TEcnaGui.h:281
Int_t fMenuCorssBoxC
Definition: TEcnaGui.h:740
TGLayoutHints * fLayoutVminD_TNo_ChNbFieldText
Definition: TEcnaGui.h:446
Int_t fMenuD_TNo_ChNbHocoVecoC
Definition: TEcnaGui.h:455
TString fKeyGeneralTitle
Definition: TEcnaGui.h:911
TGLayoutHints * fLayoutLevFieldText
Definition: TEcnaGui.h:306
TGMenuBar * fMenuBarD_SCs_ChNb
Definition: TEcnaGui.h:570
void ViewHistoSorSLowFrequencyNoiseDistribution(const TString &)
Definition: TEcnaGui.cc:5968
TGPopupMenu * fMenuD_MSp_SpDs
Definition: TEcnaGui.h:757
Int_t fMenuD_SCs_ChNbSamePC
Definition: TEcnaGui.h:574
TGTextBuffer * fEntryVmaxD_LFN_ChNbNumber
Definition: TEcnaGui.h:467
TGTextBuffer * fEntryStinANumber
Definition: TEcnaGui.h:677
TGTextButton * fVminD_NOE_ChNbBut
Definition: TEcnaGui.h:381
TGCompositeFrame * fStexUpFrame
Definition: TEcnaGui.h:364
void CovariancesBetweenSamples(const Int_t &)
TEcnaParEcal * fEcal
Definition: TEcnaGui.h:246
Int_t fMenuD_SSp_SpDsLineFullC
Definition: TEcnaGui.h:769
TGCompositeFrame * fVmmD_Ped_ChNbFrame
Definition: TEcnaGui.h:402
Int_t fMenuD_SSp_SpNbLineSameC
Definition: TEcnaGui.h:764
TGLayoutHints * fLayoutTxSubFrame
Definition: TEcnaGui.h:695
void SetHistoScaleY(const TString &)
Definition: TEcnaHistos.cc:807
TGTextEntry * fVmaxD_MCs_ChNbText
Definition: TEcnaGui.h:526
TGCompositeFrame * fRevFrame
Definition: TEcnaGui.h:331
TGCheckButton * fButColPal
Definition: TEcnaGui.h:854
Int_t fMenuCorssColzC
Definition: TEcnaGui.h:740
Int_t fConfirmCalcScc
Definition: TEcnaGui.h:231
TGTextButton * fVmaxLFccMosBut
Definition: TEcnaGui.h:614
Int_t fMenuD_MSp_SpDsLineAllStinC
Definition: TEcnaGui.h:759
TGCompositeFrame * fRulFrame
Definition: TEcnaGui.h:803
void ViewHistimeCrystalLowFrequencyNoise(const TString &, const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:6388
TEcnaWrite * fCnaWrite
Definition: TEcnaGui.h:248
Double_t fKeyVminHFccMos
Definition: TEcnaGui.h:945
void ViewHistoCrystalSampleSigmas(const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:6183
TGLayoutHints * fLayoutChanField
Definition: TEcnaGui.h:735
TGCompositeFrame * fVminD_SCs_ChNbFrame
Definition: TEcnaGui.h:561
TGCompositeFrame * fVmaxD_TNo_ChNbFrame
Definition: TEcnaGui.h:433
void DoButtonVmaxD_TNo_ChNb()
Definition: TEcnaGui.cc:3593
TGTextBuffer * fEntryGentNumber
Definition: TEcnaGui.h:845
TGLayoutHints * fLayoutRulBut
Definition: TEcnaGui.h:805
Int_t fMenuLFccLegoC
Definition: TEcnaGui.h:606
TGLayoutHints * fLayoutRunField
Definition: TEcnaGui.h:286
void ViewHistoSorSTotalNoiseOfCrystals(const TString &)
Definition: TEcnaGui.cc:5897
TGTextEntry * fVminHFccMosText
Definition: TEcnaGui.h:650
TGTextButton * fVminD_TNo_ChNbBut
Definition: TEcnaGui.h:442
TGLayoutHints * fLayoutProjyBut
Definition: TEcnaGui.h:838
void GetReadyToCompute()
Definition: TEcnaRun.cc:1217
TGTextButton * fRulBut
Definition: TEcnaGui.h:804
void DoButtonVmaxLHFcc()
Definition: TEcnaGui.cc:3805
TString fTTBELL
Definition: TEcnaGui.h:224
Bool_t RegisterPointer(const TString &, const Long_t &)
Definition: TEcnaObject.cc:103
TGCompositeFrame * fVmaxD_Ped_ChNbFrame
Definition: TEcnaGui.h:404
Int_t fCnew
Definition: TEcnaGui.h:221
void Calculations(const TString &)
Definition: TEcnaGui.cc:4990
Int_t fSampButC
Definition: TEcnaGui.h:780
void ViewStexStinNumbering()
Definition: TEcnaGui.cc:5779
TGLayoutHints * fLayoutVminHFccMosFrame
Definition: TEcnaGui.h:653
Int_t fMenuD_SSp_SpNbLineAllStinC
Definition: TEcnaGui.h:764
TGLayoutHints * fLayoutTySubFrame
Definition: TEcnaGui.h:708
TGTextBuffer * fEntryRevNumber
Definition: TEcnaGui.h:335
Double_t fKeyVminD_MCs_ChNb
Definition: TEcnaGui.h:931
TGLayoutHints * fLayoutVmaxD_Ped_ChNbBut
Definition: TEcnaGui.h:406
TGLayoutHints * fLayoutStexBut
Definition: TEcnaGui.h:324
Int_t fButHelpC
Definition: TEcnaGui.h:875
TGLayoutHints * fLayoutColorExitFrame
Definition: TEcnaGui.h:851
TGLayoutHints * fLayoutVminLFccMosFieldText
Definition: TEcnaGui.h:626
void DoButtonHelp()
Definition: TEcnaGui.cc:4149
void ViewHistoSorSNumberOfEventsDistribution(const TString &)
Definition: TEcnaGui.cc:5826
TString GetRootFileNameShort()
Definition: TEcnaRun.cc:1184
Int_t fMenuCovssAsciiFileC
Definition: TEcnaGui.h:750
TGTextEntry * fVminD_LFN_ChNbText
Definition: TEcnaGui.h:475
Int_t fMenuH_SCs_DatePolmSamePC
Definition: TEcnaGui.h:819
TGTextButton * fRevBut
Definition: TEcnaGui.h:332
TGPopupMenu * fMenuHFccMos
Definition: TEcnaGui.h:655
Int_t fButColPalC
Definition: TEcnaGui.h:855
TGTextButton * fAnaBut
Definition: TEcnaGui.h:265
void StexStinNumbering(const Int_t &)
Int_t fMenuH_Ped_DatePolmFullC
Definition: TEcnaGui.h:814
TGLayoutHints * fLayoutMenuBarD_TNo_ChNb
Definition: TEcnaGui.h:451
TGLayoutHints * fLayoutCompStRqFrame
Definition: TEcnaGui.h:320
TGLayoutHints * fLayoutVmaxLFccMosBut
Definition: TEcnaGui.h:615
TGTextBuffer * fEntryVmaxD_MCs_ChNbNumber
Definition: TEcnaGui.h:527
TGTextBuffer * fEntryVmaxHFccMosNumber
Definition: TEcnaGui.h:643
Int_t fKeyStinANumber
Definition: TEcnaGui.h:915
void ViewSorSPedestals()
Definition: TEcnaGui.cc:5525
TString fKeyProjY
Definition: TEcnaGui.h:909
TGLayoutHints * fLayoutSpSubFrame
Definition: TEcnaGui.h:785
void DoButtonExit()
Definition: TEcnaGui.cc:4119
TGLayoutHints * fLayoutVmaxD_Ped_ChNbFieldText
Definition: TEcnaGui.h:409
TGLayoutHints * fLayoutMenuBarD_LFN_ChNb
Definition: TEcnaGui.h:481
TGLayoutHints * fLayoutVminLHFccFieldText
Definition: TEcnaGui.h:600
TGTextButton * fVmaxD_Ped_ChNbBut
Definition: TEcnaGui.h:405
TGCompositeFrame * fAnaFrame
Definition: TEcnaGui.h:264
TGLayoutHints * fLayoutVminD_SCs_ChNbBut
Definition: TEcnaGui.h:563
TGCompositeFrame * fVoidFrame
Definition: TEcnaGui.h:256
Int_t fMenuD_LFN_ChNbFullC
Definition: TEcnaGui.h:482
void ViewHistimeCrystalLowFrequencyNoiseRuns(const TString &, const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:6413
void DoButtonSamp()
Definition: TEcnaGui.cc:3981
Int_t fMenuD_LFN_ChNbHocoVecoC
Definition: TEcnaGui.h:485
TGCompositeFrame * fVmmHFccMosFrame
Definition: TEcnaGui.h:637
TGCompositeFrame * fVmaxD_HFN_ChNbFrame
Definition: TEcnaGui.h:493
TGLayoutHints * fLayoutCompStnbFrame
Definition: TEcnaGui.h:341
TGTextBuffer * fEntryChanNumber
Definition: TEcnaGui.h:733
Int_t fConfirmRunNumber
Definition: TEcnaGui.h:229
void ViewHistoSorSTotalNoiseDistribution(const TString &)
Definition: TEcnaGui.cc:5920
TGCompositeFrame * fVmmD_NOE_ChNbFrame
Definition: TEcnaGui.h:370
TGCompositeFrame * fNorsFrame
Definition: TEcnaGui.h:292
TGLayoutHints * fLayoutVmaxD_SCs_ChNbFrame
Definition: TEcnaGui.h:559
TGMenuBar * fMenuBarSubmit
Definition: TEcnaGui.h:315
Int_t fMenuD_NOE_ChNbHocoVecoC
Definition: TEcnaGui.h:393
TGTextBuffer * fEntryStexNumber
Definition: TEcnaGui.h:326
TGMenuBar * fMenuBarD_MCs_ChNb
Definition: TEcnaGui.h:540
Int_t fButProjyC
Definition: TEcnaGui.h:837
void InitKeys()
Definition: TEcnaGui.cc:6590
TEcnaObject * fObjectManager
Definition: TEcnaGui.h:241
Int_t fMenuLFccMosColzC
Definition: TEcnaGui.h:632
TGLayoutHints * fLayoutLogyBut
Definition: TEcnaGui.h:833
TGLayoutHints * fLayoutVminD_HFN_ChNbFrame
Definition: TEcnaGui.h:507
TGLayoutHints * fLayoutVmaxD_MCs_ChNbFieldText
Definition: TEcnaGui.h:528
TGLayoutHints * fLayoutVminD_SCs_ChNbFrame
Definition: TEcnaGui.h:567
TString fKeyScaleX
Definition: TEcnaGui.h:907
TString fOptPlotFull
Definition: TEcnaGui.h:959
Int_t fMenuD_SCs_ChNbHocoVecoC
Definition: TEcnaGui.h:575
Double_t fKeyVminLFccMos
Definition: TEcnaGui.h:943
TGPopupMenu * fMenuLFccMos
Definition: TEcnaGui.h:629
TGCompositeFrame * fStinBFrame
Definition: TEcnaGui.h:700
TString fKeyScaleY
Definition: TEcnaGui.h:908
TString fPythonFileName
Definition: TEcnaGui.h:905
TGCompositeFrame * fChanFrame
Definition: TEcnaGui.h:729
Int_t fMenuH_LFN_DatePolmSamePC
Definition: TEcnaGui.h:816
TString CMSSWSubsystem()
void ViewHistoCrystalSampleSigmasDistribution(const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:6208
void ViewStinCovarianceSamples(const Int_t &)
Definition: TEcnaGui.cc:5462
TGLayoutHints * fLayoutStinABut
Definition: TEcnaGui.h:676
TGLayoutHints * fLayoutCenterXTop
Definition: TEcnaGui.h:254
TGTextButton * fButClone
Definition: TEcnaGui.h:866
TGLayoutHints * fLayoutStinSpFrame
Definition: TEcnaGui.h:710
Double_t fKeyVmaxD_NOE_ChNb
Definition: TEcnaGui.h:923
TGCompositeFrame * fStexHozFrame
Definition: TEcnaGui.h:399
Int_t fButLogyC
Definition: TEcnaGui.h:832
TGTextButton * fVmaxLHFccBut
Definition: TEcnaGui.h:588
void ViewHistimeCrystalHighFrequencyNoise(const TString &, const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:6438
TString fOptPlotSameInStin
Definition: TEcnaGui.h:962
TGLayoutHints * fLayoutStinBField
Definition: TEcnaGui.h:706
void DoButtonAna()
Definition: TEcnaGui.cc:3263
Int_t fMenuD_HFN_ChNbSamePC
Definition: TEcnaGui.h:514
TGTextBuffer * fEntryLevNumber
Definition: TEcnaGui.h:305
TGLayoutHints * fLayoutVminD_HFN_ChNbBut
Definition: TEcnaGui.h:503
TString fMemoProjY
Definition: TEcnaGui.h:955
TGLayoutHints * fLayoutAnaBut
Definition: TEcnaGui.h:267
void DoButtonVmaxLFccMos()
Definition: TEcnaGui.cc:3744
Int_t fCnewRoot
Definition: TEcnaGui.h:222
TGLayoutHints * fLayoutVminD_TNo_ChNbFrame
Definition: TEcnaGui.h:447
TGTextBuffer * fEntrySampNumber
Definition: TEcnaGui.h:782
void DoButtonVminD_NOE_ChNb()
Definition: TEcnaGui.cc:3518
void DoButtonGent()
Definition: TEcnaGui.cc:4049
TString fOptAscii
Definition: TEcnaGui.h:963
void DoButtonVminD_Ped_ChNb()
Definition: TEcnaGui.cc:3548
TGLayoutHints * fLayoutVmaxHFccMosFrame
Definition: TEcnaGui.h:645
TGLayoutHints * fLayoutVmmLHFccFrame
Definition: TEcnaGui.h:608
void DoButtonVminHFccMos()
Definition: TEcnaGui.cc:3759
TGLayoutHints * fLayoutVminLHFccBut
Definition: TEcnaGui.h:597
TString fMemoScaleX
Definition: TEcnaGui.h:953
void DoButtonVmaxD_LFN_ChNb()
Definition: TEcnaGui.cc:3654
Int_t fMenuD_TNo_ChNbSameC
Definition: TEcnaGui.h:453
Int_t fMenuCovssLegoC
Definition: TEcnaGui.h:748
TGLayoutHints * fLayoutVmaxD_MCs_ChNbFrame
Definition: TEcnaGui.h:529
TGCompositeFrame * fVminD_Ped_ChNbFrame
Definition: TEcnaGui.h:412
TGLayoutHints * fLayoutVmmD_TNo_ChNbFrame
Definition: TEcnaGui.h:458
Double_t fKeyVmaxD_Ped_ChNb
Definition: TEcnaGui.h:926
Double_t fKeyVmaxLFccMos
Definition: TEcnaGui.h:944
TGLayoutHints * fLayoutRulFieldFrame
Definition: TEcnaGui.h:809
Int_t fAnaButC
Definition: TEcnaGui.h:266
Int_t fMenuD_TNo_ChNbSamePC
Definition: TEcnaGui.h:454
TGLayoutHints * fLayoutVmmD_MCs_ChNbFrame
Definition: TEcnaGui.h:548
TGLayoutHints * fLayoutVmaxLFccMosFrame
Definition: TEcnaGui.h:619
Double_t fKeyVmaxD_TNo_ChNb
Definition: TEcnaGui.h:929
TGTextBuffer * fEntryVmaxD_TNo_ChNbNumber
Definition: TEcnaGui.h:436
TGLayoutHints * fLayoutVmaxHFccMosFieldText
Definition: TEcnaGui.h:644
Bool_t ReadSampleAdcValues()
Definition: TEcnaRun.cc:1055
Int_t fMenuAdcProjLineLinySameC
Definition: TEcnaGui.h:797
Int_t fMenuHFCorccLegoC
Definition: TEcnaGui.h:719
Double_t fKeyVminD_TNo_ChNb
Definition: TEcnaGui.h:928
TGLayoutHints * fLayoutVmaxD_NOE_ChNbFrame
Definition: TEcnaGui.h:378
TGLayoutHints * fLayoutMenuBarD_NOE_ChNb
Definition: TEcnaGui.h:390
TGLayoutHints * fLayoutBottRight
Definition: TEcnaGui.h:252
Bool_t GetPaths()
void DoButtonProjy()
Definition: TEcnaGui.cc:4089
TGTextEntry * fVmaxD_HFN_ChNbText
Definition: TEcnaGui.h:496
Int_t fMenuD_TNo_ChNbAsciiFileC
Definition: TEcnaGui.h:456
TString PathModulesData()
void ViewHistimeCrystalTotalNoiseRuns(const TString &, const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:6363
TGMenuBar * fMenuBarD_SSp_SpDs
Definition: TEcnaGui.h:768
void SetHistoColorPalette(const TString &)
Definition: TEcnaHistos.cc:812
TGTextButton * fVmaxD_MCs_ChNbBut
Definition: TEcnaGui.h:524
void DoButtonVmaxD_MCs_ChNb()
Definition: TEcnaGui.cc:3623
Bool_t StatusFileFound()
Definition: TEcnaHistos.cc:832
TGLayoutHints * fLayoutVminD_NOE_ChNbFieldText
Definition: TEcnaGui.h:385
void DoButtonStex()
Definition: TEcnaGui.cc:3443
TGTextEntry * fVminLFccMosText
Definition: TEcnaGui.h:624
Int_t fMenuCleanPythC
Definition: TEcnaGui.h:311
TGCompositeFrame * fStinSpFrame
Definition: TEcnaGui.h:668
TGLayoutHints * fLayoutStinAField
Definition: TEcnaGui.h:679
void ViewHistimeCrystalSigmaOfCorssRuns(const TString &, const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:6563
TGLayoutHints * fLayoutChNbBut
Definition: TEcnaGui.h:684
Int_t MaxSMInEBMinus()
Int_t fStinAButC
Definition: TEcnaGui.h:675
Int_t fMenuCovssSurf2C
Definition: TEcnaGui.h:749
TGLayoutHints * fLayoutVmaxHFccMosBut
Definition: TEcnaGui.h:641
void DoButtonColPal()
Definition: TEcnaGui.cc:4102
TGLayoutHints * fLayoutVmaxD_HFN_ChNbBut
Definition: TEcnaGui.h:495
Int_t fMenuD_SSp_SpNbLineFullC
Definition: TEcnaGui.h:764
TGTextBuffer * fEntryNbSampForCalcNumber
Definition: TEcnaGui.h:352
TGLayoutHints * fLayoutMenuBarD_Ped_ChNb
Definition: TEcnaGui.h:422
TGCompositeFrame * fLinLogFrame
Definition: TEcnaGui.h:824
Int_t fMenuD_MSp_SpNbLineSameC
Definition: TEcnaGui.h:754
TGTextEntry * fNbSampForCalcText
Definition: TEcnaGui.h:351
Int_t fButStexNbC
Definition: TEcnaGui.h:345
TGLayoutHints * fLayoutNbSampForCalcFieldText
Definition: TEcnaGui.h:353
TGMenuBar * fMenuBarHFCorcc
Definition: TEcnaGui.h:718
Int_t fMenuD_Ped_ChNbAsciiFileC
Definition: TEcnaGui.h:426
TGPopupMenu * fMenuD_HFN_ChNb
Definition: TEcnaGui.h:509
TGLayoutHints * fLayoutGentBut
Definition: TEcnaGui.h:843
TGTextBuffer * fEntryStinBNumber
Definition: TEcnaGui.h:704
Double_t fKeyVmaxLHFcc
Definition: TEcnaGui.h:949
Int_t fMenuCleanJobC
Definition: TEcnaGui.h:311
Double_t fKeyVmaxD_HFN_ChNb
Definition: TEcnaGui.h:938
TGTextBuffer * fEntryAnaNumber
Definition: TEcnaGui.h:269
Int_t fKeyStinBNumber
Definition: TEcnaGui.h:916
Int_t fRunButC
Definition: TEcnaGui.h:282
Int_t fMenuCovssBoxC
Definition: TEcnaGui.h:747
Int_t fKeyReqNbOfEvts
Definition: TEcnaGui.h:892
TString fMemoColPal
Definition: TEcnaGui.h:957
Int_t fMenuCovssContzC
Definition: TEcnaGui.h:748
Int_t fMenuH_SCs_DatePolmSameC
Definition: TEcnaGui.h:819
Int_t fButChNbC
Definition: TEcnaGui.h:683
void DoButtonVminD_MCs_ChNb()
Definition: TEcnaGui.cc:3608
TGMenuBar * fMenuBarComput
Definition: TEcnaGui.h:357
Int_t fMenuCorssSurf4C
Definition: TEcnaGui.h:742
TGLayoutHints * fLayoutExitBut
Definition: TEcnaGui.h:860
TEcnaNumbering * fEcalNumbering
Definition: TEcnaGui.h:247
TGTextEntry * fVminD_NOE_ChNbText
Definition: TEcnaGui.h:384
Int_t MaxCrysInStin()
TGLayoutHints * fLayoutGentFieldFrame
Definition: TEcnaGui.h:847
void DoButtonVmaxD_SCs_ChNb()
Definition: TEcnaGui.cc:3714
TGCompositeFrame * fTySubFrame
Definition: TEcnaGui.h:698
void StandardCalculations()
Definition: TEcnaRun.cc:1276
Int_t fMenuD_LFN_ChNbSameC
Definition: TEcnaGui.h:483
TGPopupMenu * fMenuCorss
Definition: TEcnaGui.h:738
TGLayoutHints * fLayoutVmaxD_TNo_ChNbBut
Definition: TEcnaGui.h:435
TGPopupMenu * fMenuClean
Definition: TEcnaGui.h:309
void DisplayInEntryField(TGTextEntry *, Int_t &)
Definition: TEcnaGui.cc:6683
TGLayoutHints * fLayoutHelpBut
Definition: TEcnaGui.h:876
TString fConfirmRunNumberString
Definition: TEcnaGui.h:230
TString fMemoScaleY
Definition: TEcnaGui.h:954
TGTextEntry * fRulText
Definition: TEcnaGui.h:806
TGTextEntry * fNorsText
Definition: TEcnaGui.h:296
Int_t fMenuD_MCs_ChNbAsciiFileC
Definition: TEcnaGui.h:546
TGPopupMenu * fMenuAdcProj
Definition: TEcnaGui.h:794
void DoButtonNbSampForCalc()
Definition: TEcnaGui.cc:3320
TGLayoutHints * fLayoutVmmD_SCs_ChNbFrame
Definition: TEcnaGui.h:578
Int_t fMenuD_NOE_ChNbSameC
Definition: TEcnaGui.h:392
Int_t fMenuD_Ped_ChNbSameC
Definition: TEcnaGui.h:424
void ViewHistoCrystalSampleMeans(const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:6132
Int_t fMenuCovssAllColzC
Definition: TEcnaGui.h:689
TGLayoutHints * fLayoutVmmHFccMosFrame
Definition: TEcnaGui.h:660
Int_t fMenuD_MCs_ChNbSameC
Definition: TEcnaGui.h:543
Int_t fMenuLFCorccLegoC
Definition: TEcnaGui.h:715
TGPopupMenu * fMenuD_SSp_SpNb
Definition: TEcnaGui.h:762
Int_t GetDeeSCConsFrom1DeeSCEcna(const Int_t &, const Int_t &)
TGLayoutHints * fLayoutMenuBarD_MCs_ChNb
Definition: TEcnaGui.h:541
TGLayoutHints * fLayoutVmaxD_LFN_ChNbBut
Definition: TEcnaGui.h:465
void Plot1DHisto(const TVectorD &, const TString &, const TString &, const TString &)
TGLayoutHints * fLayoutVmaxD_TNo_ChNbFrame
Definition: TEcnaGui.h:439
TString fKeyRunListInitCode
Definition: TEcnaGui.h:901
TGLayoutHints * fLayoutRevBut
Definition: TEcnaGui.h:333
TGPopupMenu * fMenuD_MSp_SpNb
Definition: TEcnaGui.h:752
TGLayoutHints * fLayoutMenuBarLHFcc
Definition: TEcnaGui.h:605
TGLayoutHints * fLayoutVminD_TNo_ChNbBut
Definition: TEcnaGui.h:443
TGCompositeFrame * fStexFrame
Definition: TEcnaGui.h:322
void DoButtonVminD_TNo_ChNb()
Definition: TEcnaGui.cc:3578
TGLayoutHints * fLayoutStexUpFrame
Definition: TEcnaGui.h:663
void ViewHistoSorSLowFrequencyNoiseOfCrystals(const TString &)
Definition: TEcnaGui.cc:5945
void ViewHistimeCrystalHighFrequencyNoiseRuns(const TString &, const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:6463
Int_t fMenuCovssColzC
Definition: TEcnaGui.h:747
void ViewHistoCrystalSampleValues(const Int_t &, const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:6234
TGTextBuffer * fEntryVminLFccMosNumber
Definition: TEcnaGui.h:625
TGMenuBar * fMenuBarD_TNo_ChNb
Definition: TEcnaGui.h:450
void ViewHistoCrystalSampleMeansDistribution(const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:6158
TGLayoutHints * fLayoutVminHFccMosBut
Definition: TEcnaGui.h:649
Int_t fMenuAdcProjSampLineFullC
Definition: TEcnaGui.h:798
TGCompositeFrame * fVmmLHFccFrame
Definition: TEcnaGui.h:585
TGTextBuffer * fEntryVmaxD_NOE_ChNbNumber
Definition: TEcnaGui.h:375
void ViewMatrixLowFrequencyMeanCorrelationsBetweenStins(const TString &)
Definition: TEcnaGui.cc:5236
Int_t fMenuD_MCs_ChNbFullC
Definition: TEcnaGui.h:542
void ViewStexLowFrequencyCorcc()
Definition: TEcnaGui.cc:5331
Int_t fMenuCorssSurf2C
Definition: TEcnaGui.h:742
TGTextButton * fVminHFccMosBut
Definition: TEcnaGui.h:648
void ViewMatrixLowFrequencyCorrelationsBetweenChannels(const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:5281
TGLayoutHints * fLayoutVmaxD_HFN_ChNbFrame
Definition: TEcnaGui.h:499
void ViewStinCorrelationSamples(const Int_t &)
Definition: TEcnaGui.cc:5440
Int_t fMenuD_SCs_ChNbSameC
Definition: TEcnaGui.h:573
TGLayoutHints * fLayoutNorsField
Definition: TEcnaGui.h:298
TGTextEntry * fRunText
Definition: TEcnaGui.h:284
TGTextEntry * fStinBText
Definition: TEcnaGui.h:705
void DoButtonStexNb()
Definition: TEcnaGui.cc:3821
TGCompositeFrame * fFevFrame
Definition: TEcnaGui.h:272
void DoButtonLogx()
Definition: TEcnaGui.cc:4068
Int_t fMenuD_MSp_SpDsLineFullC
Definition: TEcnaGui.h:759
TGTextEntry * fVminD_SCs_ChNbText
Definition: TEcnaGui.h:564
TString GetNewRootFileNameShort()
Definition: TEcnaRun.cc:3102
void ViewMatrixCovarianceSamples(const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:5406
Int_t fMenuD_Ped_ChNbHocoVecoC
Definition: TEcnaGui.h:425
TGTextButton * fVminLFccMosBut
Definition: TEcnaGui.h:622
TGLayoutHints * fLayoutColPalBut
Definition: TEcnaGui.h:856
TGMenuBar * fMenuBarAdcProj
Definition: TEcnaGui.h:795
Int_t fCnaCommand
Definition: TEcnaGui.h:226
TGLayoutHints * fLayoutCloneBut
Definition: TEcnaGui.h:868
TGTextButton * fVmaxHFccMosBut
Definition: TEcnaGui.h:640
Double_t fKeyVminD_SCs_ChNb
Definition: TEcnaGui.h:940
TGLayoutHints * fLayoutVminD_NOE_ChNbFrame
Definition: TEcnaGui.h:386
void StinCrystalNumbering(const Int_t &, const Int_t &)
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
Int_t fButCloneC
Definition: TEcnaGui.h:867
TGTextButton * fChanBut
Definition: TEcnaGui.h:730
TGTextBuffer * fEntryVminD_HFN_ChNbNumber
Definition: TEcnaGui.h:504
Int_t fNorsButC
Definition: TEcnaGui.h:294
TGTextBuffer * fEntryRulNumber
Definition: TEcnaGui.h:807
TGTextBuffer * fEntryVmaxLFccMosNumber
Definition: TEcnaGui.h:617
void ViewHistoSorSSigmaOfCorssDistribution(const TString &)
Definition: TEcnaGui.cc:6108
void DoButtonVmaxD_Ped_ChNb()
Definition: TEcnaGui.cc:3563
Int_t fCdeleteRoot
Definition: TEcnaGui.h:222
TGMenuBar * fMenuBarD_SSp_SpNb
Definition: TEcnaGui.h:763
TGTextButton * fVmaxD_TNo_ChNbBut
Definition: TEcnaGui.h:434
TGLayoutHints * fLayoutVminD_HFN_ChNbFieldText
Definition: TEcnaGui.h:506
TGPopupMenu * fMenuD_Ped_ChNb
Definition: TEcnaGui.h:420
Bool_t WriteNewRootFile(const TString &)
Definition: TEcnaRun.cc:3068
TGTextEntry * fFevText
Definition: TEcnaGui.h:275
Int_t fMenuSubmit8nmC
Definition: TEcnaGui.h:316
Int_t MaxStexInStas()
TGTextButton * fButStexNb
Definition: TEcnaGui.h:344
TGTextBuffer * fEntryVminD_NOE_ChNbNumber
Definition: TEcnaGui.h:383
Int_t fStinBButC
Definition: TEcnaGui.h:702
TGCompositeFrame * fSpSubFrame
Definition: TEcnaGui.h:775
TString fKeyNbOfSampForCalcString
Definition: TEcnaGui.h:898
TGTextEntry * fChanText
Definition: TEcnaGui.h:734
Int_t fMenuD_HFN_ChNbHocoVecoC
Definition: TEcnaGui.h:515
Int_t fKeyLastReqEvtNumber
Definition: TEcnaGui.h:890
TGLayoutHints * fLayoutChSubFrame
Definition: TEcnaGui.h:772
void ViewHistimeCrystalPedestalsRuns(const TString &, const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:6312
TGTextEntry * fVmaxHFccMosText
Definition: TEcnaGui.h:642
TGLayoutHints * fLayoutAnaNorsRunFrame
Definition: TEcnaGui.h:262
Int_t fMenuH_LFN_DatePolmFullC
Definition: TEcnaGui.h:816
TGLayoutHints * fLayoutCenterYLeft
Definition: TEcnaGui.h:254
void DoButtonVminLFccMos()
Definition: TEcnaGui.cc:3729
TString fKeyRunNumberString
Definition: TEcnaGui.h:887
TGCompositeFrame * fSampFrame
Definition: TEcnaGui.h:777
Int_t fButLogxC
Definition: TEcnaGui.h:828
void SetHistoScaleX(const TString &)
Definition: TEcnaHistos.cc:802
Int_t fMenuComputSttC
Definition: TEcnaGui.h:358
TGCompositeFrame * fVmaxHFccMosFrame
Definition: TEcnaGui.h:639
void SetHistoMin(const Double_t &)
TGTextButton * fButHelp
Definition: TEcnaGui.h:874
TGLayoutHints * fLayoutVminD_MCs_ChNbFieldText
Definition: TEcnaGui.h:536
void DoButtonLev()
Definition: TEcnaGui.cc:3384
void DoButtonRul()
Definition: TEcnaGui.cc:4006
TGCompositeFrame * fVmaxLHFccFrame
Definition: TEcnaGui.h:587
Double_t fKeyVminLHFcc
Definition: TEcnaGui.h:948
Int_t MaxSCForConsInDee()
TGTextBuffer * fEntryVminLHFccNumber
Definition: TEcnaGui.h:598
TGLayoutHints * fLayoutVmmLFccMosFrame
Definition: TEcnaGui.h:634
TGCompositeFrame * fVminD_NOE_ChNbFrame
Definition: TEcnaGui.h:380
TGCompositeFrame * fFevLevStexFrame
Definition: TEcnaGui.h:289
TGLayoutHints * fLayoutVmaxLHFccBut
Definition: TEcnaGui.h:589
Int_t fMenuCovssSurf3C
Definition: TEcnaGui.h:749
TGLayoutHints * fLayoutTopLeft
Definition: TEcnaGui.h:253
TGCompositeFrame * fVminLFccMosFrame
Definition: TEcnaGui.h:621
Int_t fMenuD_MCs_ChNbHocoVecoC
Definition: TEcnaGui.h:545
Int_t fMenuAdcProjLineLinyFullC
Definition: TEcnaGui.h:797
Int_t fMenuH_HFN_DatePolmSamePC
Definition: TEcnaGui.h:817
TGLayoutHints * fLayoutBottLeft
Definition: TEcnaGui.h:252
TGLayoutHints * fLayoutStinBBut
Definition: TEcnaGui.h:703
TGMenuBar * fMenuBarD_NOE_ChNb
Definition: TEcnaGui.h:389
TGLayoutHints * fLayoutVminD_NOE_ChNbBut
Definition: TEcnaGui.h:382
void ViewHistoSorSPedestalsDistribution(const TString &)
Definition: TEcnaGui.cc:5873
TGLayoutHints * fLayoutVmaxD_HFN_ChNbFieldText
Definition: TEcnaGui.h:498
Double_t fKeyVminD_NOE_ChNb
Definition: TEcnaGui.h:922
Int_t fMenuH_MCs_DatePolmSameC
Definition: TEcnaGui.h:818
TGCompositeFrame * fVminD_TNo_ChNbFrame
Definition: TEcnaGui.h:441
TGCompositeFrame * fCompStRqFrame
Definition: TEcnaGui.h:319
Int_t fMenuD_LFN_ChNbSamePC
Definition: TEcnaGui.h:484
TString fKeyLastReqEvtNumberString
Definition: TEcnaGui.h:891
TGCompositeFrame * fChSubFrame
Definition: TEcnaGui.h:727
TGCompositeFrame * fVminHFccMosFrame
Definition: TEcnaGui.h:647
TGLayoutHints * fLayoutRulFieldText
Definition: TEcnaGui.h:808
void SubmitOnBatchSystem(const TString &)
Definition: TEcnaGui.cc:4603
Int_t fMenuD_MSp_SpDsLineSameC
Definition: TEcnaGui.h:759
void ViewHistoSorSMeanCorssDistribution(const TString &)
Definition: TEcnaGui.cc:6062
TGCompositeFrame * fLastFrame
Definition: TEcnaGui.h:863
void ViewSorSHighFrequencyNoise()
Definition: TEcnaGui.cc:5632
TGTextEntry * fVmaxLFccMosText
Definition: TEcnaGui.h:616
Int_t fMenuCorssAllColzC
Definition: TEcnaGui.h:689
TGTextButton * fVminD_HFN_ChNbBut
Definition: TEcnaGui.h:502
TGCompositeFrame * fCompStnbFrame
Definition: TEcnaGui.h:340
TString AsciiFileName()
TGLayoutHints * fLayoutLogxBut
Definition: TEcnaGui.h:829
Int_t MaxSampADC()
TGCompositeFrame * fVmaxD_SCs_ChNbFrame
Definition: TEcnaGui.h:553
Int_t fMenuD_NOE_ChNbAsciiFileC
Definition: TEcnaGui.h:394
void ViewHistoSorSSigmaOfCorssOfCrystals(const TString &)
Definition: TEcnaGui.cc:6085
void ViewSorSSigmaOfCorss()
Definition: TEcnaGui.cc:5710
Double_t fKeyVminD_LFN_ChNb
Definition: TEcnaGui.h:934
TGCompositeFrame * fLevFrame
Definition: TEcnaGui.h:301
TGTextButton * fSampBut
Definition: TEcnaGui.h:778
Int_t fKeySampNumber
Definition: TEcnaGui.h:918
Int_t MaxDeeInEE()
TGCompositeFrame * fVmaxLFccMosFrame
Definition: TEcnaGui.h:613
TGLayoutHints * fLayoutVmaxD_SCs_ChNbFieldText
Definition: TEcnaGui.h:558
void ViewMatrixHighFrequencyCorrelationsBetweenChannels(const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:5306
TGLayoutHints * fLayoutLevFieldFrame
Definition: TEcnaGui.h:307
TGLayoutHints * fLayoutVminLFccMosFrame
Definition: TEcnaGui.h:627
void ViewMatrixCorrelationSamples(const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:5378
void ViewStexHighFrequencyCorcc()
Definition: TEcnaGui.cc:5354
TString fKeyNbOfSamplesString
Definition: TEcnaGui.h:885
void ViewHistimeCrystalSigmaOfCorss(const TString &, const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:6538
Int_t MaxSMInEB()
TString fKeyFirstReqEvtNumberString
Definition: TEcnaGui.h:889
TGTextBuffer * fEntryVmaxD_HFN_ChNbNumber
Definition: TEcnaGui.h:497
TGTextButton * fVmaxD_LFN_ChNbBut
Definition: TEcnaGui.h:464
TEcnaParHistos * fCnaParHistos
Definition: TEcnaGui.h:243
Int_t fMenuD_SCs_ChNbAsciiFileC
Definition: TEcnaGui.h:576
TGLayoutHints * fLayoutFevLevStexFrame
Definition: TEcnaGui.h:290
Int_t fMenuHFccMosLegoC
Definition: TEcnaGui.h:658
TGLayoutHints * fLayoutNbSampForCalcBut
Definition: TEcnaGui.h:350
Double_t fKeyVminD_Ped_ChNb
Definition: TEcnaGui.h:925
Int_t fMenuD_SSp_SpDsLineAllStinC
Definition: TEcnaGui.h:769
Int_t fMenuSubmit1ndC
Definition: TEcnaGui.h:316
TGMenuBar * fMenuBarD_MSp_SpNb
Definition: TEcnaGui.h:753
TGLayoutHints * fLayoutVmaxD_NOE_ChNbBut
Definition: TEcnaGui.h:374
TGCompositeFrame * fVmaxD_MCs_ChNbFrame
Definition: TEcnaGui.h:523
void SetHistoMax(const Double_t &)
TGLayoutHints * fLayoutVminD_LFN_ChNbFieldText
Definition: TEcnaGui.h:476
TGLayoutHints * fLayoutVminD_LFN_ChNbBut
Definition: TEcnaGui.h:473
tuple cout
Definition: gather_cfg.py:121
Int_t MaxStinEcnaInStex()
void MessageCnaCommandReplyA(const TString &)
Definition: TEcnaGui.cc:5191
Double_t fKeyVmaxD_LFN_ChNb
Definition: TEcnaGui.h:935
TGPopupMenu * fMenuD_SSp_SpDs
Definition: TEcnaGui.h:767
TString fKeyStexNumberString
Definition: TEcnaGui.h:896
Int_t fMenuD_HFN_ChNbAsciiFileC
Definition: TEcnaGui.h:516
TGLayoutHints * fLayoutVminD_MCs_ChNbBut
Definition: TEcnaGui.h:533
TGTextBuffer * fEntryVmaxD_Ped_ChNbNumber
Definition: TEcnaGui.h:408
TGPopupMenu * fMenuHFCorcc
Definition: TEcnaGui.h:717
TGTextButton * fButChNb
Definition: TEcnaGui.h:682
Int_t fMenuSubmit1nhC
Definition: TEcnaGui.h:316
TGTextEntry * fVminD_MCs_ChNbText
Definition: TEcnaGui.h:535
T w() const
TGLayoutHints * fLayoutVmaxD_LFN_ChNbFrame
Definition: TEcnaGui.h:469
void DoButtonRev()
Definition: TEcnaGui.cc:3407
TGCheckButton * fButLogy
Definition: TEcnaGui.h:831
Int_t fConfirmSubmit
Definition: TEcnaGui.h:228
TGCompositeFrame * fVmmD_LFN_ChNbFrame
Definition: TEcnaGui.h:461
Int_t fMenuH_MCs_DatePolmFullC
Definition: TEcnaGui.h:818
TGTextBuffer * fEntryVminHFccMosNumber
Definition: TEcnaGui.h:651
Int_t fMenuD_LFN_ChNbAsciiFileC
Definition: TEcnaGui.h:486
TGMenuBar * fMenuBarD_MSp_SpDs
Definition: TEcnaGui.h:758
Int_t fKeyNbOfSampForCalc
Definition: TEcnaGui.h:897
TGCompositeFrame * fVmmD_TNo_ChNbFrame
Definition: TEcnaGui.h:431
TGLayoutHints * fLayoutVmaxD_SCs_ChNbBut
Definition: TEcnaGui.h:555
TGCompositeFrame * fVmmD_MCs_ChNbFrame
Definition: TEcnaGui.h:521
void DoButtonVmaxD_HFN_ChNb()
Definition: TEcnaGui.cc:3684
void ViewHistimeCrystalMeanCorss(const TString &, const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:6488
Int_t fMenuD_MSp_SpNbLineAllStinC
Definition: TEcnaGui.h:754
Int_t fKeyFirstReqEvtNumber
Definition: TEcnaGui.h:888
void ViewHistimeCrystalPedestals(const TString &, const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:6287
Int_t fMenuH_HFN_DatePolmFullC
Definition: TEcnaGui.h:817
Int_t fMenuH_TNo_DatePolmSamePC
Definition: TEcnaGui.h:815
TGMenuBar * fMenuBarCovss
Definition: TEcnaGui.h:746
TGTextButton * fStexBut
Definition: TEcnaGui.h:323
TGLayoutHints * fLayoutMenuBarAdcProj
Definition: TEcnaGui.h:796
TGCompositeFrame * fVmmD_HFN_ChNbFrame
Definition: TEcnaGui.h:491
Int_t fMenuH_TNo_DatePolmSameC
Definition: TEcnaGui.h:815
TGCompositeFrame * fVmmD_SCs_ChNbFrame
Definition: TEcnaGui.h:551
TGLayoutHints * fLayoutVmmD_Ped_ChNbFrame
Definition: TEcnaGui.h:428
Int_t fMenuH_MCs_DatePolmSamePC
Definition: TEcnaGui.h:818
Int_t fKeyRunNumber
Definition: TEcnaGui.h:886
TGPopupMenu * fMenuLHFcc
Definition: TEcnaGui.h:603
void CleanBatchFiles(const TString &)
Definition: TEcnaGui.cc:4844
TGTextEntry * fGentText
Definition: TEcnaGui.h:844
TGMenuBar * fMenuBarD_Ped_ChNb
Definition: TEcnaGui.h:421
Int_t fMenuComputStdC
Definition: TEcnaGui.h:358
Double_t fKeyVmaxHFccMos
Definition: TEcnaGui.h:946
TGLayoutHints * fLayoutVmmD_LFN_ChNbFrame
Definition: TEcnaGui.h:488
Long_t GetPointerValue(const TString &)
Definition: TEcnaObject.cc:230
TGLayoutHints * fLayoutMenuBarHFccMos
Definition: TEcnaGui.h:657
TGTextButton * fVmaxD_NOE_ChNbBut
Definition: TEcnaGui.h:373
void ViewSorSMeanCorss()
Definition: TEcnaGui.cc:5671
TGLayoutHints * fLayoutAnaField
Definition: TEcnaGui.h:270
void DoButtonVminD_LFN_ChNb()
Definition: TEcnaGui.cc:3639
TGMenuBar * fMenuBarHistory
Definition: TEcnaGui.h:813
TGTextButton * fVmaxD_SCs_ChNbBut
Definition: TEcnaGui.h:554
Int_t fButExitC
Definition: TEcnaGui.h:859
Int_t fMenuComputSccC
Definition: TEcnaGui.h:358
Int_t fMenuD_MCs_ChNbSamePC
Definition: TEcnaGui.h:544
TGTextButton * fButExit
Definition: TEcnaGui.h:858
TGCompositeFrame * fRunFrame
Definition: TEcnaGui.h:280
TEcnaParCout * fCnaParCout
Definition: TEcnaGui.h:245
void DoButtonNors()
Definition: TEcnaGui.cc:3278
TGTextBuffer * fEntryVminD_MCs_ChNbNumber
Definition: TEcnaGui.h:534
TGMenuBar * fMenuBarLFccMos
Definition: TEcnaGui.h:630
Int_t fMenuLFccMosLegoC
Definition: TEcnaGui.h:632
void FileParameters(const TString &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &)
Definition: TEcnaHistos.cc:749
void ViewHistimeCrystalTotalNoise(const TString &, const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:6338
Int_t fMenuD_TNo_ChNbFullC
Definition: TEcnaGui.h:452
TGPopupMenu * fMenuD_MCs_ChNb
Definition: TEcnaGui.h:539
Int_t fKeyStexNumber
Definition: TEcnaGui.h:895
TGTextEntry * fVmaxLHFccText
Definition: TEcnaGui.h:590
TString fStexName
Definition: TEcnaGui.h:238
void ViewHistoSorSHighFrequencyNoiseDistribution(const TString &)
Definition: TEcnaGui.cc:6015
Int_t fKeyChanNumber
Definition: TEcnaGui.h:917
TString fKeyReqNbOfEvtsString
Definition: TEcnaGui.h:893
Double_t fKeyVminD_HFN_ChNb
Definition: TEcnaGui.h:937
Int_t fMenuD_Ped_ChNbFullC
Definition: TEcnaGui.h:423
Bool_t StatusDataExist()
Definition: TEcnaHistos.cc:833
TGMenuBar * fMenuBarD_HFN_ChNb
Definition: TEcnaGui.h:510
TString fKeyAnaType
Definition: TEcnaGui.h:882
Int_t fMenuD_MSp_SpNbLineFullC
Definition: TEcnaGui.h:754
TGMenuBar * fMenuBarLHFcc
Definition: TEcnaGui.h:604
void ViewMatrixHighFrequencyMeanCorrelationsBetweenStins(const TString &)
Definition: TEcnaGui.cc:5258
void ViewSorSNumberOfEvents()
Definition: TEcnaGui.cc:5489
void MessageCnaCommandReplyB(const TString &)
Definition: TEcnaGui.cc:5206
void GeneralTitle(const TString &)
Definition: TEcnaHistos.cc:798
void ViewStinCrystalNumbering(const Int_t &)
Definition: TEcnaGui.cc:5754
void PlotCloneOfCurrentCanvas()
TGTextEntry * fVminLHFccText
Definition: TEcnaGui.h:599
TGTextEntry * fVmaxD_LFN_ChNbText
Definition: TEcnaGui.h:466
TGLayoutHints * fLayoutLevBut
Definition: TEcnaGui.h:303
TGTextBuffer * fEntryFevNumber
Definition: TEcnaGui.h:276
Int_t fMenuD_HFN_ChNbSameC
Definition: TEcnaGui.h:513
TString PathTestScramArch()
TGTextBuffer * fEntryVminD_SCs_ChNbNumber
Definition: TEcnaGui.h:565
void DialogBox()
Definition: TEcnaGui.cc:1492