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