CMS 3D CMS Logo

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