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 
19  //destructor
20 
21 #define DEST
22 #ifdef DEST
23  // std::cout << "TEcnaGui> Entering destructor" << std::endl;
24  // std::cout << " fCnew = " << fCnew << ", fCdelete = " << fCdelete << std::endl;
25 
26  //.... general variables
27  //if ( fHistos != 0 ) {delete fHistos; fCdelete++;}
28 
29  //if ( fCnaParHistos != 0 ) {delete fCnaParHistos; fCdelete++;}
30  //if ( fCnaParPaths != 0 ) {delete fCnaParPaths; fCdelete++;}
31  //if ( fEcalNumbering != 0 ) {delete fEcalNumbering; fCdelete++;}
32  //if ( fEcal != 0 ) {delete fEcal; fCdelete++;}
33 
34  //.... general frames
35 
36  if (fLayoutGeneral != nullptr) {
37  delete fLayoutGeneral;
38  fCdelete++;
39  }
40  if (fLayoutBottLeft != nullptr) {
41  delete fLayoutBottLeft;
42  fCdelete++;
43  }
44  if (fLayoutBottRight != nullptr) {
45  delete fLayoutBottRight;
46  fCdelete++;
47  }
48  if (fLayoutTopLeft != nullptr) {
49  delete fLayoutTopLeft;
50  fCdelete++;
51  }
52  if (fLayoutTopRight != nullptr) {
53  delete fLayoutTopRight;
54  fCdelete++;
55  }
56  if (fLayoutCenterYLeft != nullptr) {
57  delete fLayoutCenterYLeft;
58  fCdelete++;
59  }
60  if (fLayoutCenterYRight != nullptr) {
61  delete fLayoutCenterYRight;
62  fCdelete++;
63  }
64  if (fLayoutCenterXTop != nullptr) {
65  delete fLayoutCenterXTop;
66  fCdelete++;
67  }
68 
69  if (fVoidFrame != nullptr) {
70  delete fVoidFrame;
71  fCdelete++;
72  }
73 
74  //..... specific frames + buttons + menus
75 
76  //++++++++++++++++++++++++++++++ Horizontal frame Analysis + First requested evt number + Run number
77  if (fAnaNorsRunFrame != nullptr) {
78  delete fAnaNorsRunFrame;
79  fCdelete++;
80  }
81  if (fLayoutAnaNorsRunFrame != nullptr) {
83  fCdelete++;
84  }
85 
86  //--------------------------------- Sub-Frame Analysis Name (Button+Entry Field)
87  if (fAnaFrame != nullptr) {
88  delete fAnaFrame;
89  fCdelete++;
90  }
91  if (fAnaBut != nullptr) {
92  delete fAnaBut;
93  fCdelete++;
94  }
95  if (fLayoutAnaBut != nullptr) {
96  delete fLayoutAnaBut;
97  fCdelete++;
98  }
99  if (fEntryAnaNumber != nullptr) {
100  delete fEntryAnaNumber;
101  fCdelete++;
102  }
103  if (fAnaText != nullptr) {
104  fAnaText->Delete();
105  fCdelete++;
106  }
107  if (fLayoutAnaField != nullptr) {
108  delete fLayoutAnaField;
109  fCdelete++;
110  }
111 
112  //------------------- subframe first requested evt number
113  if (fFevFrame != nullptr) {
114  delete fFevFrame;
115  fCdelete++;
116  }
117  if (fFevBut != nullptr) {
118  delete fFevBut;
119  fCdelete++;
120  }
121  if (fLayoutFevBut != nullptr) {
122  delete fLayoutFevBut;
123  fCdelete++;
124  }
125  if (fEntryFevNumber != nullptr) {
126  delete fEntryFevNumber;
127  fCdelete++;
128  }
129  if (fFevText != nullptr) {
130  fFevText->Delete();
131  fCdelete++;
132  }
133  if (fLayoutFevFieldText != nullptr) {
134  delete fLayoutFevFieldText;
135  fCdelete++;
136  }
137  if (fLayoutFevFieldFrame != nullptr) {
138  delete fLayoutFevFieldFrame;
139  fCdelete++;
140  }
141 
142  //-------------------------------- Sub-Frame Run number (Button+Entry Field)
143  if (fRunFrame != nullptr) {
144  delete fRunFrame;
145  fCdelete++;
146  }
147  if (fRunBut != nullptr) {
148  delete fRunBut;
149  fCdelete++;
150  }
151  if (fLayoutRunBut != nullptr) {
152  delete fLayoutRunBut;
153  fCdelete++;
154  }
155  if (fEntryRunNumber != nullptr) {
156  delete fEntryRunNumber;
157  fCdelete++;
158  }
159  if (fRunText != nullptr) {
160  fRunText->Delete();
161  fCdelete++;
162  }
163  if (fLayoutRunField != nullptr) {
164  delete fLayoutRunField;
165  fCdelete++;
166  }
167 
168  //+++++++++++++++++++++++++++++ Horizontal frame Nb Of Samples + last requested events + Clean + Submit
169  if (fFevLevStexFrame != nullptr) {
170  delete fFevLevStexFrame;
171  fCdelete++;
172  }
173  if (fLayoutFevLevStexFrame != nullptr) {
174  delete fLayoutFevLevStexFrame;
175  fCdelete++;
176  }
177 
178  //------------------- Sub-Frame Nb of Required Samples (Button+Entry Field)
179  if (fNorsFrame != nullptr) {
180  delete fNorsFrame;
181  fCdelete++;
182  }
183  if (fNorsBut != nullptr) {
184  delete fNorsBut;
185  fCdelete++;
186  }
187  if (fLayoutNorsBut != nullptr) {
188  delete fLayoutNorsBut;
189  fCdelete++;
190  }
191  if (fEntryNorsNumber != nullptr) {
192  delete fEntryNorsNumber;
193  fCdelete++;
194  }
195  if (fNorsText != nullptr) {
196  fNorsText->Delete();
197  fCdelete++;
198  }
199  if (fLayoutNorsField != nullptr) {
200  delete fLayoutNorsField;
201  fCdelete++;
202  }
203 
204  //------------------- subframe last requested evt number
205  if (fLevFrame != nullptr) {
206  delete fLevFrame;
207  fCdelete++;
208  }
209  if (fLevBut != nullptr) {
210  delete fLevBut;
211  fCdelete++;
212  }
213  if (fLayoutLevBut != nullptr) {
214  delete fLayoutLevBut;
215  fCdelete++;
216  }
217  if (fEntryLevNumber != nullptr) {
218  delete fEntryLevNumber;
219  fCdelete++;
220  }
221  if (fLevText != nullptr) {
222  fLevText->Delete();
223  fCdelete++;
224  }
225  if (fLayoutLevFieldText != nullptr) {
226  delete fLayoutLevFieldText;
227  fCdelete++;
228  }
229  if (fLayoutLevFieldFrame != nullptr) {
230  delete fLayoutLevFieldFrame;
231  fCdelete++;
232  }
233 
234  //................................ Menu for Clean
235  if (fMenuClean != nullptr) {
236  delete fMenuClean;
237  fCdelete++;
238  }
239  if (fMenuBarClean != nullptr) {
240  fMenuBarClean->Delete();
241  fCdelete++;
242  }
243  //................................ Menu for Submit jobs on batch system
244  if (fMenuSubmit != nullptr) {
245  delete fMenuSubmit;
246  fCdelete++;
247  }
248  if (fMenuBarSubmit != nullptr) {
249  fMenuBarSubmit->Delete();
250  fCdelete++;
251  }
252 
253  //+++++++++++++++++++++++++++++++++++++++++++++++++ Horizontal Frame:Stex number + NbOfReqEvts
254  if (fCompStRqFrame != nullptr) {
255  delete fCompStRqFrame;
256  fCdelete++;
257  }
258  if (fLayoutCompStRqFrame != nullptr) {
259  delete fLayoutCompStRqFrame;
260  fCdelete++;
261  }
262 
263  //------------------- subframe stex number
264  if (fStexFrame != nullptr) {
265  delete fStexFrame;
266  fCdelete++;
267  }
268  if (fStexBut != nullptr) {
269  delete fStexBut;
270  fCdelete++;
271  }
272  if (fLayoutStexBut != nullptr) {
273  delete fLayoutStexBut;
274  fCdelete++;
275  }
276  if (fEntryStexNumber != nullptr) {
277  delete fEntryStexNumber;
278  fCdelete++;
279  }
280  if (fStexText != nullptr) {
281  fStexText->Delete();
282  fCdelete++;
283  }
284  if (fLayoutStexFieldText != nullptr) {
285  delete fLayoutStexFieldText;
286  fCdelete++;
287  }
288  if (fLayoutStexFieldFrame != nullptr) {
289  delete fLayoutStexFieldFrame;
290  fCdelete++;
291  }
292 
293  //------------------- subframe number of requested evts
294  if (fRevFrame != nullptr) {
295  delete fRevFrame;
296  fCdelete++;
297  }
298  if (fRevBut != nullptr) {
299  delete fRevBut;
300  fCdelete++;
301  }
302  if (fLayoutRevBut != nullptr) {
303  delete fLayoutRevBut;
304  fCdelete++;
305  }
306  if (fEntryRevNumber != nullptr) {
307  delete fEntryRevNumber;
308  fCdelete++;
309  }
310  if (fRevText != nullptr) {
311  fRevText->Delete();
312  fCdelete++;
313  }
314  if (fLayoutRevFieldText != nullptr) {
315  delete fLayoutRevFieldText;
316  fCdelete++;
317  }
318  if (fLayoutRevFieldFrame != nullptr) {
319  delete fLayoutRevFieldFrame;
320  fCdelete++;
321  }
322 
323  //+++++++++++++++++++++++ Horizontal Frame StexStin numbering + Nb Samp for calc + Calculations
324  if (fCompStnbFrame != nullptr) {
325  delete fCompStnbFrame;
326  fCdelete++;
327  }
328  if (fLayoutCompStnbFrame != nullptr) {
329  delete fLayoutCompStnbFrame;
330  fCdelete++;
331  }
332 
333  //............................ Stex Stin Numbering view (Button)
334  if (fButStexNb != nullptr) {
335  delete fButStexNb;
336  fCdelete++;
337  }
338  if (fLayoutStexNbBut != nullptr) {
339  delete fLayoutStexNbBut;
340  fCdelete++;
341  }
342  //------------------- subframe NbSampForCalc
343  if (fNbSampForCalcFrame != nullptr) {
344  delete fNbSampForCalcFrame;
345  fCdelete++;
346  }
347  if (fNbSampForCalcBut != nullptr) {
348  delete fNbSampForCalcBut;
349  fCdelete++;
350  }
351  if (fLayoutNbSampForCalcBut != nullptr) {
353  fCdelete++;
354  }
355  if (fEntryNbSampForCalcNumber != nullptr) {
357  fCdelete++;
358  }
359  if (fNbSampForCalcText != nullptr) {
360  fNbSampForCalcText->Delete();
361  fCdelete++;
362  }
363  if (fLayoutNbSampForCalcFieldText != nullptr) {
365  fCdelete++;
366  }
367  if (fLayoutNbSampForCalcFieldFrame != nullptr) {
369  fCdelete++;
370  }
371  //................................ Menus for CALCULATIONS
372  if (fMenuComput != nullptr) {
373  delete fMenuComput;
374  fCdelete++;
375  }
376  if (fMenuBarComput != nullptr) {
377  fMenuBarComput->Delete();
378  fCdelete++;
379  }
380 
381  //+++++++++++++++++++++++++++++++++++++++++++ Frame for quantities relative to the Stex
382  if (fStexUpFrame != nullptr) {
383  delete fStexUpFrame;
384  fCdelete++;
385  }
386 
387  //................................ Menus+Ymin+Ymax for the Stex ............................
388 
389  //...................................... Nb of evts in the data
390 
391  if (fVmmD_NOE_ChNbFrame != nullptr) {
392  delete fVmmD_NOE_ChNbFrame;
393  fCdelete++;
394  }
395 
396  if (fVmaxD_NOE_ChNbFrame != nullptr) {
397  delete fVmaxD_NOE_ChNbFrame;
398  fCdelete++;
399  }
400  if (fVmaxD_NOE_ChNbBut != nullptr) {
401  delete fVmaxD_NOE_ChNbBut;
402  fCdelete++;
403  }
404  if (fLayoutVmaxD_NOE_ChNbBut != nullptr) {
406  fCdelete++;
407  }
408  if (fEntryVmaxD_NOE_ChNbNumber != nullptr) {
410  fCdelete++;
411  }
412  if (fVmaxD_NOE_ChNbText != nullptr) {
413  fVmaxD_NOE_ChNbText->Delete();
414  fCdelete++;
415  }
416  if (fLayoutVmaxD_NOE_ChNbFieldText != nullptr) {
418  fCdelete++;
419  }
420  if (fLayoutVmaxD_NOE_ChNbFrame != nullptr) {
422  fCdelete++;
423  }
424 
425  if (fVminD_NOE_ChNbFrame != nullptr) {
426  delete fVminD_NOE_ChNbFrame;
427  fCdelete++;
428  }
429  if (fVminD_NOE_ChNbBut != nullptr) {
430  delete fVminD_NOE_ChNbBut;
431  fCdelete++;
432  }
433  if (fLayoutVminD_NOE_ChNbBut != nullptr) {
435  fCdelete++;
436  }
437  if (fEntryVminD_NOE_ChNbNumber != nullptr) {
439  fCdelete++;
440  }
441  if (fVminD_NOE_ChNbText != nullptr) {
442  fVminD_NOE_ChNbText->Delete();
443  fCdelete++;
444  }
445  if (fLayoutVminD_NOE_ChNbFieldText != nullptr) {
447  fCdelete++;
448  }
449  if (fLayoutVminD_NOE_ChNbFrame != nullptr) {
451  fCdelete++;
452  }
453 
454  if (fMenuD_NOE_ChNb != nullptr) {
455  delete fMenuD_NOE_ChNb;
456  fCdelete++;
457  }
458  if (fMenuBarD_NOE_ChNb != nullptr) {
459  fMenuBarD_NOE_ChNb->Delete();
460  fCdelete++;
461  }
462  if (fVminD_NOE_ChNbText != nullptr) {
463  fVminD_NOE_ChNbText->Delete();
464  fCdelete++;
465  }
466 
467  if (fLayoutVmmD_NOE_ChNbFrame != nullptr) {
469  fCdelete++;
470  }
471 
472  //---------------------------------------------------
473  if (fVmmD_Ped_ChNbFrame != nullptr) {
474  delete fVmmD_Ped_ChNbFrame;
475  fCdelete++;
476  }
477 
478  if (fVmaxD_Ped_ChNbFrame != nullptr) {
479  delete fVmaxD_Ped_ChNbFrame;
480  fCdelete++;
481  }
482  if (fVmaxD_Ped_ChNbBut != nullptr) {
483  delete fVmaxD_Ped_ChNbBut;
484  fCdelete++;
485  }
486  if (fLayoutVmaxD_Ped_ChNbBut != nullptr) {
488  fCdelete++;
489  }
490  if (fVmaxD_Ped_ChNbText != nullptr) {
491  fVmaxD_Ped_ChNbText->Delete();
492  fCdelete++;
493  }
494  if (fEntryVmaxD_Ped_ChNbNumber != nullptr) {
496  fCdelete++;
497  }
498  if (fLayoutVmaxD_Ped_ChNbFieldText != nullptr) {
500  fCdelete++;
501  }
502  if (fLayoutVmaxD_Ped_ChNbFrame != nullptr) {
504  fCdelete++;
505  }
506 
507  if (fVminD_Ped_ChNbFrame != nullptr) {
508  delete fVminD_Ped_ChNbFrame;
509  fCdelete++;
510  }
511  if (fVminD_Ped_ChNbBut != nullptr) {
512  delete fVminD_Ped_ChNbBut;
513  fCdelete++;
514  }
515  if (fLayoutVminD_Ped_ChNbBut != nullptr) {
517  fCdelete++;
518  }
519  if (fVminD_Ped_ChNbText != nullptr) {
520  fVminD_Ped_ChNbText->Delete();
521  fCdelete++;
522  }
523  if (fEntryVminD_Ped_ChNbNumber != nullptr) {
525  fCdelete++;
526  }
527  if (fLayoutVminD_Ped_ChNbFieldText != nullptr) {
529  fCdelete++;
530  }
531  if (fLayoutVminD_Ped_ChNbFrame != nullptr) {
533  fCdelete++;
534  }
535 
536  if (fMenuD_Ped_ChNb != nullptr) {
537  delete fMenuD_Ped_ChNb;
538  fCdelete++;
539  }
540  if (fMenuBarD_Ped_ChNb != nullptr) {
541  fMenuBarD_Ped_ChNb->Delete();
542  fCdelete++;
543  }
544  if (fLayoutMenuBarD_Ped_ChNb != nullptr) {
546  fCdelete++;
547  }
548 
549  if (fLayoutVmmD_Ped_ChNbFrame != nullptr) {
551  fCdelete++;
552  }
553 
554  //----------------------------------------------------
555  if (fVmmD_TNo_ChNbFrame != nullptr) {
556  delete fVmmD_TNo_ChNbFrame;
557  fCdelete++;
558  }
559 
560  if (fVmaxD_TNo_ChNbFrame != nullptr) {
561  delete fVmaxD_TNo_ChNbFrame;
562  fCdelete++;
563  }
564  if (fVmaxD_TNo_ChNbBut != nullptr) {
565  delete fVmaxD_TNo_ChNbBut;
566  fCdelete++;
567  }
568  if (fLayoutVmaxD_TNo_ChNbBut != nullptr) {
570  fCdelete++;
571  }
572  if (fVmaxD_TNo_ChNbText != nullptr) {
573  fVmaxD_TNo_ChNbText->Delete();
574  fCdelete++;
575  }
576  if (fEntryVmaxD_TNo_ChNbNumber != nullptr) {
578  fCdelete++;
579  }
580  if (fLayoutVmaxD_TNo_ChNbFieldText != nullptr) {
582  fCdelete++;
583  }
584  if (fLayoutVmaxD_TNo_ChNbFrame != nullptr) {
586  fCdelete++;
587  }
588 
589  if (fVminD_TNo_ChNbFrame != nullptr) {
590  delete fVminD_TNo_ChNbFrame;
591  fCdelete++;
592  }
593  if (fVminD_TNo_ChNbBut != nullptr) {
594  delete fVminD_TNo_ChNbBut;
595  fCdelete++;
596  }
597  if (fLayoutVminD_TNo_ChNbBut != nullptr) {
599  fCdelete++;
600  }
601  if (fVminD_TNo_ChNbText != nullptr) {
602  fVminD_TNo_ChNbText->Delete();
603  fCdelete++;
604  }
605  if (fEntryVminD_TNo_ChNbNumber != nullptr) {
607  fCdelete++;
608  }
609  if (fLayoutVminD_TNo_ChNbFieldText != nullptr) {
611  fCdelete++;
612  }
613  if (fLayoutVminD_TNo_ChNbFrame != nullptr) {
615  fCdelete++;
616  }
617 
618  if (fMenuD_TNo_ChNb != nullptr) {
619  delete fMenuD_TNo_ChNb;
620  fCdelete++;
621  }
622  if (fMenuBarD_TNo_ChNb != nullptr) {
623  fMenuBarD_TNo_ChNb->Delete();
624  fCdelete++;
625  }
626  if (fLayoutMenuBarD_TNo_ChNb != nullptr) {
628  fCdelete++;
629  }
630 
631  if (fLayoutVmmD_TNo_ChNbFrame != nullptr) {
633  fCdelete++;
634  }
635 
636  //-----------------------------------------------------------
637  if (fVmmD_MCs_ChNbFrame != nullptr) {
638  delete fVmmD_MCs_ChNbFrame;
639  fCdelete++;
640  }
641 
642  if (fVmaxD_MCs_ChNbFrame != nullptr) {
643  delete fVmaxD_MCs_ChNbFrame;
644  fCdelete++;
645  }
646  if (fVmaxD_MCs_ChNbBut != nullptr) {
647  delete fVmaxD_MCs_ChNbBut;
648  fCdelete++;
649  }
650  if (fLayoutVmaxD_MCs_ChNbBut != nullptr) {
652  fCdelete++;
653  }
654  if (fVmaxD_MCs_ChNbText != nullptr) {
655  fVmaxD_MCs_ChNbText->Delete();
656  fCdelete++;
657  }
658  if (fEntryVmaxD_MCs_ChNbNumber != nullptr) {
660  fCdelete++;
661  }
662  if (fLayoutVmaxD_MCs_ChNbFieldText != nullptr) {
664  fCdelete++;
665  }
666  if (fLayoutVmaxD_MCs_ChNbFrame != nullptr) {
668  fCdelete++;
669  }
670 
671  if (fVminD_MCs_ChNbFrame != nullptr) {
672  delete fVminD_MCs_ChNbFrame;
673  fCdelete++;
674  }
675  if (fVminD_MCs_ChNbBut != nullptr) {
676  delete fVminD_MCs_ChNbBut;
677  fCdelete++;
678  }
679  if (fLayoutVminD_MCs_ChNbBut != nullptr) {
681  fCdelete++;
682  }
683  if (fVminD_MCs_ChNbText != nullptr) {
684  fVminD_MCs_ChNbText->Delete();
685  fCdelete++;
686  }
687  if (fEntryVminD_MCs_ChNbNumber != nullptr) {
689  fCdelete++;
690  }
691  if (fLayoutVminD_MCs_ChNbFieldText != nullptr) {
693  fCdelete++;
694  }
695  if (fLayoutVminD_MCs_ChNbFrame != nullptr) {
697  fCdelete++;
698  }
699 
700  if (fMenuD_MCs_ChNb != nullptr) {
701  delete fMenuD_MCs_ChNb;
702  fCdelete++;
703  }
704  if (fMenuBarD_MCs_ChNb != nullptr) {
705  fMenuBarD_MCs_ChNb->Delete();
706  fCdelete++;
707  }
708  if (fLayoutMenuBarD_MCs_ChNb != nullptr) {
710  fCdelete++;
711  }
712 
713  if (fLayoutVmmD_MCs_ChNbFrame != nullptr) {
715  fCdelete++;
716  }
717 
718  //............................................... Frame Sig + Menus Sig
719  if (fStexHozFrame != nullptr) {
720  delete fStexHozFrame;
721  fCdelete++;
722  }
723 
724  //-------------------------------------------------------------
725  if (fVmmD_LFN_ChNbFrame != nullptr) {
726  delete fVmmD_LFN_ChNbFrame;
727  fCdelete++;
728  }
729 
730  if (fVmaxD_LFN_ChNbFrame != nullptr) {
731  delete fVmaxD_LFN_ChNbFrame;
732  fCdelete++;
733  }
734  if (fVmaxD_LFN_ChNbBut != nullptr) {
735  delete fVmaxD_LFN_ChNbBut;
736  fCdelete++;
737  }
738  if (fLayoutVmaxD_LFN_ChNbBut != nullptr) {
740  fCdelete++;
741  }
742  if (fVmaxD_LFN_ChNbText != nullptr) {
743  fVmaxD_LFN_ChNbText->Delete();
744  fCdelete++;
745  }
746  if (fEntryVmaxD_LFN_ChNbNumber != nullptr) {
748  fCdelete++;
749  }
750  if (fLayoutVmaxD_LFN_ChNbFieldText != nullptr) {
752  fCdelete++;
753  }
754  if (fLayoutVmaxD_LFN_ChNbFrame != nullptr) {
756  fCdelete++;
757  }
758 
759  if (fVminD_LFN_ChNbFrame != nullptr) {
760  delete fVminD_LFN_ChNbFrame;
761  fCdelete++;
762  }
763  if (fVminD_LFN_ChNbBut != nullptr) {
764  delete fVminD_LFN_ChNbBut;
765  fCdelete++;
766  }
767  if (fLayoutVminD_LFN_ChNbBut != nullptr) {
769  fCdelete++;
770  }
771  if (fVminD_LFN_ChNbText != nullptr) {
772  fVminD_LFN_ChNbText->Delete();
773  fCdelete++;
774  }
775  if (fEntryVminD_LFN_ChNbNumber != nullptr) {
777  fCdelete++;
778  }
779  if (fLayoutVminD_LFN_ChNbFieldText != nullptr) {
781  fCdelete++;
782  }
783  if (fLayoutVminD_LFN_ChNbFrame != nullptr) {
785  fCdelete++;
786  }
787 
788  if (fMenuD_LFN_ChNb != nullptr) {
789  delete fMenuD_LFN_ChNb;
790  fCdelete++;
791  }
792  if (fMenuBarD_LFN_ChNb != nullptr) {
793  fMenuBarD_LFN_ChNb->Delete();
794  fCdelete++;
795  }
796  if (fLayoutMenuBarD_LFN_ChNb != nullptr) {
798  fCdelete++;
799  }
800 
801  if (fLayoutVmmD_LFN_ChNbFrame != nullptr) {
803  fCdelete++;
804  }
805 
806  //-------------------------------------------------------------
807  if (fVmmD_HFN_ChNbFrame != nullptr) {
808  delete fVmmD_HFN_ChNbFrame;
809  fCdelete++;
810  }
811 
812  if (fVmaxD_HFN_ChNbFrame != nullptr) {
813  delete fVmaxD_HFN_ChNbFrame;
814  fCdelete++;
815  }
816  if (fVmaxD_HFN_ChNbBut != nullptr) {
817  delete fVmaxD_HFN_ChNbBut;
818  fCdelete++;
819  }
820  if (fLayoutVmaxD_HFN_ChNbBut != nullptr) {
822  fCdelete++;
823  }
824  if (fVmaxD_HFN_ChNbText != nullptr) {
825  fVmaxD_HFN_ChNbText->Delete();
826  fCdelete++;
827  }
828  if (fEntryVmaxD_HFN_ChNbNumber != nullptr) {
830  fCdelete++;
831  }
832  if (fLayoutVmaxD_HFN_ChNbFieldText != nullptr) {
834  fCdelete++;
835  }
836  if (fLayoutVmaxD_HFN_ChNbFrame != nullptr) {
838  fCdelete++;
839  }
840 
841  if (fVminD_HFN_ChNbFrame != nullptr) {
842  delete fVminD_HFN_ChNbFrame;
843  fCdelete++;
844  }
845  if (fVminD_HFN_ChNbBut != nullptr) {
846  delete fVminD_HFN_ChNbBut;
847  fCdelete++;
848  }
849  if (fLayoutVminD_HFN_ChNbBut != nullptr) {
851  fCdelete++;
852  }
853  if (fVminD_HFN_ChNbText != nullptr) {
854  fVminD_HFN_ChNbText->Delete();
855  fCdelete++;
856  }
857  if (fEntryVminD_HFN_ChNbNumber != nullptr) {
859  fCdelete++;
860  }
861  if (fLayoutVminD_HFN_ChNbFieldText != nullptr) {
863  fCdelete++;
864  }
865  if (fLayoutVminD_HFN_ChNbFrame != nullptr) {
867  fCdelete++;
868  }
869 
870  if (fMenuD_HFN_ChNb != nullptr) {
871  delete fMenuD_HFN_ChNb;
872  fCdelete++;
873  }
874  if (fMenuBarD_HFN_ChNb != nullptr) {
875  fMenuBarD_HFN_ChNb->Delete();
876  fCdelete++;
877  }
878  if (fLayoutMenuBarD_HFN_ChNb != nullptr) {
880  fCdelete++;
881  }
882 
883  if (fLayoutVmmD_HFN_ChNbFrame != nullptr) {
885  fCdelete++;
886  }
887 
888  //-------------------------------------------------------------
889  if (fVmmD_SCs_ChNbFrame != nullptr) {
890  delete fVmmD_SCs_ChNbFrame;
891  fCdelete++;
892  }
893 
894  if (fVmaxD_SCs_ChNbFrame != nullptr) {
895  delete fVmaxD_SCs_ChNbFrame;
896  fCdelete++;
897  }
898  if (fVmaxD_SCs_ChNbBut != nullptr) {
899  delete fVmaxD_SCs_ChNbBut;
900  fCdelete++;
901  }
902  if (fLayoutVmaxD_SCs_ChNbBut != nullptr) {
904  fCdelete++;
905  }
906  if (fVmaxD_SCs_ChNbText != nullptr) {
907  fVmaxD_SCs_ChNbText->Delete();
908  fCdelete++;
909  }
910  if (fEntryVmaxD_SCs_ChNbNumber != nullptr) {
912  fCdelete++;
913  }
914  if (fLayoutVmaxD_SCs_ChNbFieldText != nullptr) {
916  fCdelete++;
917  }
918  if (fLayoutVmaxD_SCs_ChNbFrame != nullptr) {
920  fCdelete++;
921  }
922 
923  if (fVminD_SCs_ChNbFrame != nullptr) {
924  delete fVminD_SCs_ChNbFrame;
925  fCdelete++;
926  }
927  if (fVminD_SCs_ChNbBut != nullptr) {
928  delete fVminD_SCs_ChNbBut;
929  fCdelete++;
930  }
931  if (fLayoutVminD_SCs_ChNbBut != nullptr) {
933  fCdelete++;
934  }
935  if (fVminD_SCs_ChNbText != nullptr) {
936  fVminD_SCs_ChNbText->Delete();
937  fCdelete++;
938  }
939  if (fEntryVminD_SCs_ChNbNumber != nullptr) {
941  fCdelete++;
942  }
943  if (fLayoutVminD_SCs_ChNbFieldText != nullptr) {
945  fCdelete++;
946  }
947  if (fLayoutVminD_SCs_ChNbFrame != nullptr) {
949  fCdelete++;
950  }
951 
952  if (fMenuD_SCs_ChNb != nullptr) {
953  delete fMenuD_SCs_ChNb;
954  fCdelete++;
955  }
956  if (fMenuBarD_SCs_ChNb != nullptr) {
957  fMenuBarD_SCs_ChNb->Delete();
958  fCdelete++;
959  }
960  if (fLayoutMenuBarD_SCs_ChNb != nullptr) {
962  fCdelete++;
963  }
964 
965  if (fLayoutVmmD_SCs_ChNbFrame != nullptr) {
967  fCdelete++;
968  }
969  //-------------------------------------------------------------
970  if (fLayoutStexHozFrame != nullptr) {
971  delete fLayoutStexHozFrame;
972  fCdelete++;
973  }
974 
975  //----------------------------------------------------------------------------------------------
976 
977  //...................................... Covariances between Stins
978  if (fVmmLHFccFrame != nullptr) {
979  delete fVmmLHFccFrame;
980  fCdelete++;
981  }
982 
983  if (fVmaxLHFccFrame != nullptr) {
984  delete fVmaxLHFccFrame;
985  fCdelete++;
986  }
987  if (fVmaxLHFccBut != nullptr) {
988  delete fVmaxLHFccBut;
989  fCdelete++;
990  }
991  if (fLayoutVmaxLHFccBut != nullptr) {
992  delete fLayoutVmaxLHFccBut;
993  fCdelete++;
994  }
995  if (fVmaxLHFccText != nullptr) {
996  fVmaxLHFccText->Delete();
997  fCdelete++;
998  }
999  if (fEntryVmaxLHFccNumber != nullptr) {
1000  delete fEntryVmaxLHFccNumber;
1001  fCdelete++;
1002  }
1003  if (fLayoutVmaxLHFccFieldText != nullptr) {
1005  fCdelete++;
1006  }
1007  if (fLayoutVmaxLHFccFrame != nullptr) {
1008  delete fLayoutVmaxLHFccFrame;
1009  fCdelete++;
1010  }
1011 
1012  if (fVminLHFccFrame != nullptr) {
1013  delete fVminLHFccFrame;
1014  fCdelete++;
1015  }
1016  if (fVminLHFccBut != nullptr) {
1017  delete fVminLHFccBut;
1018  fCdelete++;
1019  }
1020  if (fLayoutVminLHFccBut != nullptr) {
1021  delete fLayoutVminLHFccBut;
1022  fCdelete++;
1023  }
1024  if (fVminLHFccText != nullptr) {
1025  fVminLHFccText->Delete();
1026  fCdelete++;
1027  }
1028  if (fEntryVminLHFccNumber != nullptr) {
1029  delete fEntryVminLHFccNumber;
1030  fCdelete++;
1031  }
1032  if (fLayoutVminLHFccFieldText != nullptr) {
1034  fCdelete++;
1035  }
1036  if (fLayoutVminLHFccFrame != nullptr) {
1037  delete fLayoutVminLHFccFrame;
1038  fCdelete++;
1039  }
1040 
1041  if (fMenuLHFcc != nullptr) {
1042  delete fMenuLHFcc;
1043  fCdelete++;
1044  }
1045  if (fMenuBarLHFcc != nullptr) {
1046  fMenuBarLHFcc->Delete();
1047  fCdelete++;
1048  }
1049  if (fLayoutMenuBarLHFcc != nullptr) {
1050  delete fLayoutMenuBarLHFcc;
1051  fCdelete++;
1052  }
1053 
1054  if (fLayoutVmmLHFccFrame != nullptr) {
1055  delete fLayoutVmmLHFccFrame;
1056  fCdelete++;
1057  }
1058 
1059  //...................................... Low Freq Cor(c,c') for each pair of Stins
1060  if (fVmmLFccMosFrame != nullptr) {
1061  delete fVmmLFccMosFrame;
1062  fCdelete++;
1063  }
1064 
1065  if (fVmaxLFccMosFrame != nullptr) {
1066  delete fVmaxLFccMosFrame;
1067  fCdelete++;
1068  }
1069  if (fVmaxLFccMosBut != nullptr) {
1070  delete fVmaxLFccMosBut;
1071  fCdelete++;
1072  }
1073  if (fLayoutVmaxLFccMosBut != nullptr) {
1074  delete fLayoutVmaxLFccMosBut;
1075  fCdelete++;
1076  }
1077  if (fVmaxLFccMosText != nullptr) {
1078  fVmaxLFccMosText->Delete();
1079  fCdelete++;
1080  }
1081  if (fEntryVmaxLFccMosNumber != nullptr) {
1082  delete fEntryVmaxLFccMosNumber;
1083  fCdelete++;
1084  }
1085  if (fLayoutVmaxLFccMosFieldText != nullptr) {
1087  fCdelete++;
1088  }
1089  if (fLayoutVmaxLFccMosFrame != nullptr) {
1090  delete fLayoutVmaxLFccMosFrame;
1091  fCdelete++;
1092  }
1093 
1094  if (fVminLFccMosFrame != nullptr) {
1095  delete fVminLFccMosFrame;
1096  fCdelete++;
1097  }
1098  if (fVminLFccMosBut != nullptr) {
1099  delete fVminLFccMosBut;
1100  fCdelete++;
1101  }
1102  if (fLayoutVminLFccMosBut != nullptr) {
1103  delete fLayoutVminLFccMosBut;
1104  fCdelete++;
1105  }
1106  if (fVminLFccMosText != nullptr) {
1107  fVminLFccMosText->Delete();
1108  fCdelete++;
1109  }
1110  if (fEntryVminLFccMosNumber != nullptr) {
1111  delete fEntryVminLFccMosNumber;
1112  fCdelete++;
1113  }
1114  if (fLayoutVminLFccMosFieldText != nullptr) {
1116  fCdelete++;
1117  }
1118  if (fLayoutVminLFccMosFrame != nullptr) {
1119  delete fLayoutVminLFccMosFrame;
1120  fCdelete++;
1121  }
1122 
1123  if (fMenuLFccMos != nullptr) {
1124  delete fMenuLFccMos;
1125  fCdelete++;
1126  }
1127  if (fMenuBarLFccMos != nullptr) {
1128  fMenuBarLFccMos->Delete();
1129  fCdelete++;
1130  }
1131  if (fLayoutMenuBarLFccMos != nullptr) {
1132  delete fLayoutMenuBarLFccMos;
1133  fCdelete++;
1134  }
1135 
1136  if (fLayoutVmmLFccMosFrame != nullptr) {
1137  delete fLayoutVmmLFccMosFrame;
1138  fCdelete++;
1139  }
1140 
1141  //...................................... High Freq Cor(c,c') for each pair of Stins
1142  if (fVmmHFccMosFrame != nullptr) {
1143  delete fVmmHFccMosFrame;
1144  fCdelete++;
1145  }
1146 
1147  if (fVmaxHFccMosFrame != nullptr) {
1148  delete fVmaxHFccMosFrame;
1149  fCdelete++;
1150  }
1151  if (fVmaxHFccMosBut != nullptr) {
1152  delete fVmaxHFccMosBut;
1153  fCdelete++;
1154  }
1155  if (fLayoutVmaxHFccMosBut != nullptr) {
1156  delete fLayoutVmaxHFccMosBut;
1157  fCdelete++;
1158  }
1159  if (fVmaxHFccMosText != nullptr) {
1160  fVmaxHFccMosText->Delete();
1161  fCdelete++;
1162  }
1163  if (fEntryVmaxHFccMosNumber != nullptr) {
1164  delete fEntryVmaxHFccMosNumber;
1165  fCdelete++;
1166  }
1167  if (fLayoutVmaxHFccMosFieldText != nullptr) {
1169  fCdelete++;
1170  }
1171  if (fLayoutVmaxHFccMosFrame != nullptr) {
1172  delete fLayoutVmaxHFccMosFrame;
1173  fCdelete++;
1174  }
1175 
1176  if (fVminHFccMosFrame != nullptr) {
1177  delete fVminHFccMosFrame;
1178  fCdelete++;
1179  }
1180  if (fVminHFccMosBut != nullptr) {
1181  delete fVminHFccMosBut;
1182  fCdelete++;
1183  }
1184  if (fLayoutVminHFccMosBut != nullptr) {
1185  delete fLayoutVminHFccMosBut;
1186  fCdelete++;
1187  }
1188  if (fVminHFccMosText != nullptr) {
1189  fVminHFccMosText->Delete();
1190  fCdelete++;
1191  }
1192  if (fEntryVminHFccMosNumber != nullptr) {
1193  delete fEntryVminHFccMosNumber;
1194  fCdelete++;
1195  }
1196  if (fLayoutVminHFccMosFieldText != nullptr) {
1198  fCdelete++;
1199  }
1200  if (fLayoutVminHFccMosFrame != nullptr) {
1201  delete fLayoutVminHFccMosFrame;
1202  fCdelete++;
1203  }
1204 
1205  if (fMenuHFccMos != nullptr) {
1206  delete fMenuHFccMos;
1207  fCdelete++;
1208  }
1209  if (fMenuBarHFccMos != nullptr) {
1210  fMenuBarHFccMos->Delete();
1211  fCdelete++;
1212  }
1213  if (fLayoutMenuBarHFccMos != nullptr) {
1214  delete fLayoutMenuBarHFccMos;
1215  fCdelete++;
1216  }
1217 
1218  if (fLayoutVmmHFccMosFrame != nullptr) {
1219  delete fLayoutVmmHFccMosFrame;
1220  fCdelete++;
1221  }
1222 
1223  if (fLayoutStexUpFrame != nullptr) {
1224  delete fLayoutStexUpFrame;
1225  fCdelete++;
1226  }
1227 
1228  //+++++++++++++++++++++++++++++++++++++++++ Horizontal frame Stin_A + Stin_B
1229  if (fStinSpFrame != nullptr) {
1230  delete fStinSpFrame;
1231  fCdelete++;
1232  }
1233 
1234  //----------------------------------- SubFrame Stin_A (Button + EntryField)
1235  if (fTxSubFrame != nullptr) {
1236  delete fTxSubFrame;
1237  fCdelete++;
1238  }
1239 
1240  if (fStinAFrame != nullptr) {
1241  delete fStinAFrame;
1242  fCdelete++;
1243  }
1244  if (fStinABut != nullptr) {
1245  delete fStinABut;
1246  fCdelete++;
1247  }
1248  if (fLayoutStinABut != nullptr) {
1249  delete fLayoutStinABut;
1250  fCdelete++;
1251  }
1252  if (fEntryStinANumber != nullptr) {
1253  delete fEntryStinANumber;
1254  fCdelete++;
1255  }
1256  if (fStinAText != nullptr) {
1257  fStinAText->Delete();
1258  fCdelete++;
1259  }
1260  if (fLayoutStinAField != nullptr) {
1261  delete fLayoutStinAField;
1262  fCdelete++;
1263  }
1264 
1265  //............................ Stin Crystal Numbering view (Button)
1266  if (fButChNb != nullptr) {
1267  delete fButChNb;
1268  fCdelete++;
1269  }
1270  if (fLayoutChNbBut != nullptr) {
1271  delete fLayoutChNbBut;
1272  fCdelete++;
1273  }
1274 
1275  //............................ Menus Stin_A
1276  if (fMenuCorssAll != nullptr) {
1277  delete fMenuCorssAll;
1278  fCdelete++;
1279  }
1280  if (fMenuBarCorssAll != nullptr) {
1281  fMenuBarCorssAll->Delete();
1282  fCdelete++;
1283  }
1284 
1285  //if ( fMenuCovssAll != 0 ) {delete fMenuCovssAll; fCdelete++;}
1286  //if ( fMenuBarCovssAll != 0 ) {fMenuBarCovssAll->Delete(); fCdelete++;}
1287 
1288  if (fLayoutTxSubFrame != nullptr) {
1289  delete fLayoutTxSubFrame;
1290  fCdelete++;
1291  }
1292 
1293  //----------------------------------- SubFrame Stin_B (Button + EntryField)
1294 
1295  if (fTySubFrame != nullptr) {
1296  delete fTySubFrame;
1297  fCdelete++;
1298  }
1299 
1300  if (fStinBFrame != nullptr) {
1301  delete fStinBFrame;
1302  fCdelete++;
1303  }
1304  if (fStinBBut != nullptr) {
1305  delete fStinBBut;
1306  fCdelete++;
1307  }
1308  if (fLayoutStinBBut != nullptr) {
1309  delete fLayoutStinBBut;
1310  fCdelete++;
1311  }
1312  if (fEntryStinBNumber != nullptr) {
1313  delete fEntryStinBNumber;
1314  fCdelete++;
1315  }
1316  if (fStinBText != nullptr) {
1317  fStinBText->Delete();
1318  fCdelete++;
1319  }
1320  if (fLayoutStinBField != nullptr) {
1321  delete fLayoutStinBField;
1322  fCdelete++;
1323  }
1324 
1325  if (fLayoutTySubFrame != nullptr) {
1326  delete fLayoutTySubFrame;
1327  fCdelete++;
1328  }
1329 
1330  if (fLayoutStinSpFrame != nullptr) {
1331  delete fLayoutStinSpFrame;
1332  fCdelete++;
1333  }
1334 
1335  //.................................. Menus for Horizontal frame (Stin_A + Stin_B)
1336 
1337  if (fMenuLFCorcc != nullptr) {
1338  delete fMenuLFCorcc;
1339  fCdelete++;
1340  }
1341  if (fMenuBarLFCorcc != nullptr) {
1342  fMenuBarLFCorcc->Delete();
1343  fCdelete++;
1344  }
1345 
1346  if (fMenuHFCorcc != nullptr) {
1347  delete fMenuHFCorcc;
1348  fCdelete++;
1349  }
1350  if (fMenuBarHFCorcc != nullptr) {
1351  fMenuBarHFCorcc->Delete();
1352  fCdelete++;
1353  }
1354 
1355  //++++++++++++++++++++++++ Horizontal frame channel number (Stin_A crystal number) + sample number
1356  if (fChSpFrame != nullptr) {
1357  delete fChSpFrame;
1358  fCdelete++;
1359  }
1360 
1361  //------------------------------------- SubFrame Channel (Button + EntryField)
1362 
1363  if (fChSubFrame != nullptr) {
1364  delete fChSubFrame;
1365  fCdelete++;
1366  }
1367 
1368  if (fChanFrame != nullptr) {
1369  delete fChanFrame;
1370  fCdelete++;
1371  }
1372  if (fChanBut != nullptr) {
1373  delete fChanBut;
1374  fCdelete++;
1375  }
1376  if (fLayoutChanBut != nullptr) {
1377  delete fLayoutChanBut;
1378  fCdelete++;
1379  }
1380  if (fEntryChanNumber != nullptr) {
1381  delete fEntryChanNumber;
1382  fCdelete++;
1383  }
1384  if (fChanText != nullptr) {
1385  fChanText->Delete();
1386  fCdelete++;
1387  }
1388  if (fLayoutChanField != nullptr) {
1389  delete fLayoutChanField;
1390  fCdelete++;
1391  }
1392 
1393  //................................ Menus Stin_A crystal number
1394  if (fMenuCorss != nullptr) {
1395  delete fMenuCorss;
1396  fCdelete++;
1397  }
1398  if (fMenuBarCorss != nullptr) {
1399  fMenuBarCorss->Delete();
1400  fCdelete++;
1401  }
1402 
1403  if (fMenuCovss != nullptr) {
1404  delete fMenuCovss;
1405  fCdelete++;
1406  }
1407  if (fMenuBarCovss != nullptr) {
1408  fMenuBarCovss->Delete();
1409  fCdelete++;
1410  }
1411 
1412  if (fMenuD_MSp_SpNb != nullptr) {
1413  delete fMenuD_MSp_SpNb;
1414  fCdelete++;
1415  }
1416  if (fMenuBarD_MSp_SpNb != nullptr) {
1417  fMenuBarD_MSp_SpNb->Delete();
1418  fCdelete++;
1419  }
1420  if (fMenuD_MSp_SpDs != nullptr) {
1421  delete fMenuD_MSp_SpDs;
1422  fCdelete++;
1423  }
1424  if (fMenuBarD_MSp_SpDs != nullptr) {
1425  fMenuBarD_MSp_SpDs->Delete();
1426  fCdelete++;
1427  }
1428 
1429  if (fMenuD_SSp_SpNb != nullptr) {
1430  delete fMenuD_SSp_SpNb;
1431  fCdelete++;
1432  }
1433  if (fMenuBarD_SSp_SpNb != nullptr) {
1434  fMenuBarD_SSp_SpNb->Delete();
1435  fCdelete++;
1436  }
1437  if (fMenuD_SSp_SpDs != nullptr) {
1438  delete fMenuD_SSp_SpDs;
1439  fCdelete++;
1440  }
1441  if (fMenuBarD_SSp_SpDs != nullptr) {
1442  fMenuBarD_SSp_SpDs->Delete();
1443  fCdelete++;
1444  }
1445 
1446  if (fLayoutChSubFrame != nullptr) {
1447  delete fLayoutChSubFrame;
1448  fCdelete++;
1449  }
1450 
1451  //------------------------------------ SubFrame Sample (Button + EntryField)
1452  if (fSpSubFrame != nullptr) {
1453  delete fSpSubFrame;
1454  fCdelete++;
1455  }
1456  if (fSampFrame != nullptr) {
1457  delete fSampFrame;
1458  fCdelete++;
1459  }
1460  if (fSampBut != nullptr) {
1461  delete fSampBut;
1462  fCdelete++;
1463  }
1464  if (fLayoutSampBut != nullptr) {
1465  delete fLayoutSampBut;
1466  fCdelete++;
1467  }
1468  if (fEntrySampNumber != nullptr) {
1469  delete fEntrySampNumber;
1470  fCdelete++;
1471  }
1472  if (fSampText != nullptr) {
1473  fSampText->Delete();
1474  fCdelete++;
1475  }
1476  if (fLayoutSampField != nullptr) {
1477  delete fLayoutSampField;
1478  fCdelete++;
1479  }
1480  if (fLayoutSpSubFrame != nullptr) {
1481  delete fLayoutSpSubFrame;
1482  fCdelete++;
1483  }
1484 
1485  //................................ Menus Sample number
1486 
1487  // (no menu in this SubFrame)
1488 
1489  if (fLayoutChSpFrame != nullptr) {
1490  delete fLayoutChSpFrame;
1491  fCdelete++;
1492  }
1493 
1494  //++++++++++++++++++++++++++++++++++++ Menu Event Distribution
1495  if (fMenuAdcProj != nullptr) {
1496  delete fMenuAdcProj;
1497  fCdelete++;
1498  }
1499  if (fMenuBarAdcProj != nullptr) {
1500  fMenuBarAdcProj->Delete();
1501  fCdelete++;
1502  }
1503  if (fLayoutMenuBarAdcProj != nullptr) {
1504  delete fLayoutMenuBarAdcProj;
1505  fCdelete++;
1506  }
1507 
1508  //++++++++++++++++++++++++++++++++++++ Frame: Run List (Rul) (Button + EntryField)
1509  if (fRulFrame != nullptr) {
1510  delete fRulFrame;
1511  fCdelete++;
1512  }
1513  if (fRulBut != nullptr) {
1514  delete fRulBut;
1515  fCdelete++;
1516  }
1517  if (fLayoutRulBut != nullptr) {
1518  delete fLayoutRulBut;
1519  fCdelete++;
1520  }
1521  if (fEntryRulNumber != nullptr) {
1522  delete fEntryRulNumber;
1523  fCdelete++;
1524  }
1525  if (fRulText != nullptr) {
1526  fRulText->Delete();
1527  fCdelete++;
1528  }
1529  if (fLayoutRulFieldText != nullptr) {
1530  delete fLayoutRulFieldText;
1531  fCdelete++;
1532  }
1533  if (fLayoutRulFieldFrame != nullptr) {
1534  delete fLayoutRulFieldFrame;
1535  fCdelete++;
1536  }
1537 
1538  //................................ Menus for time evolution
1539  if (fMenuHistory != nullptr) {
1540  delete fMenuHistory;
1541  fCdelete++;
1542  }
1543  if (fMenuBarHistory != nullptr) {
1544  fMenuBarHistory->Delete();
1545  fCdelete++;
1546  }
1547 
1548  //++++++++++++++++++++++++++++++++++++ LinLog Frame
1549  if (fLinLogFrame != nullptr) {
1550  delete fLinLogFrame;
1551  fCdelete++;
1552  }
1553 
1554  //---------------------------------- Lin/Log X
1555  if (fButLogx != nullptr) {
1556  delete fButLogx;
1557  fCdelete++;
1558  }
1559  if (fLayoutLogxBut != nullptr) {
1560  delete fLayoutLogxBut;
1561  fCdelete++;
1562  }
1563  //---------------------------------- Lin/Log Y
1564  if (fButLogy != nullptr) {
1565  delete fButLogy;
1566  fCdelete++;
1567  }
1568  if (fLayoutLogyBut != nullptr) {
1569  delete fLayoutLogyBut;
1570  fCdelete++;
1571  }
1572  //---------------------------------- Proj Y
1573  if (fButProjy != nullptr) {
1574  delete fButProjy;
1575  fCdelete++;
1576  }
1577  if (fLayoutProjyBut != nullptr) {
1578  delete fLayoutProjyBut;
1579  fCdelete++;
1580  }
1581 
1582  //++++++++++++++++++++++++++++++++++++ Frame: General Title (Gent) (Button + EntryField)
1583  if (fGentFrame != nullptr) {
1584  delete fGentFrame;
1585  fCdelete++;
1586  }
1587  if (fGentBut != nullptr) {
1588  delete fGentBut;
1589  fCdelete++;
1590  }
1591  if (fLayoutGentBut != nullptr) {
1592  delete fLayoutGentBut;
1593  fCdelete++;
1594  }
1595  if (fEntryGentNumber != nullptr) {
1596  delete fEntryGentNumber;
1597  fCdelete++;
1598  }
1599  if (fGentText != nullptr) {
1600  fGentText->Delete();
1601  fCdelete++;
1602  }
1603  if (fLayoutGentFieldText != nullptr) {
1604  delete fLayoutGentFieldText;
1605  fCdelete++;
1606  }
1607  if (fLayoutGentFieldFrame != nullptr) {
1608  delete fLayoutGentFieldFrame;
1609  fCdelete++;
1610  }
1611 
1612  //++++++++++++++++++++++++++++++++++++ Color + EXIT BUTTON
1613  if (fColorExitFrame != nullptr) {
1614  delete fColorExitFrame;
1615  fCdelete++;
1616  }
1617  if (fLayoutColorExitFrame != nullptr) {
1618  delete fLayoutColorExitFrame;
1619  fCdelete++;
1620  }
1621 
1622  //---------------------------------- Color Palette
1623  if (fButColPal != nullptr) {
1624  delete fButColPal;
1625  fCdelete++;
1626  }
1627  if (fLayoutColPalBut != nullptr) {
1628  delete fLayoutColPalBut;
1629  fCdelete++;
1630  }
1631  //---------------------------------- Exit
1632  if (fButExit != nullptr) {
1633  delete fButExit;
1634  fCdelete++;
1635  }
1636  if (fLayoutExitBut != nullptr) {
1637  delete fLayoutExitBut;
1638  fCdelete++;
1639  }
1640 
1641  //++++++++++++++++++++++++++++++++++++ Last Frame
1642  if (fLastFrame != nullptr) {
1643  delete fLastFrame;
1644  fCdelete++;
1645  }
1646 
1647  //--------------------------------- Clone Last Canvas (Button)
1648  if (fButClone != nullptr) {
1649  delete fButClone;
1650  fCdelete++;
1651  }
1652  if (fLayoutCloneBut != nullptr) {
1653  delete fLayoutCloneBut;
1654  fCdelete++;
1655  }
1656 
1657  //--------------------------------- Root version (Button)
1658  if (fButRoot != nullptr) {
1659  delete fButRoot;
1660  fCdelete++;
1661  }
1662  if (fLayoutRootBut != nullptr) {
1663  delete fLayoutRootBut;
1664  fCdelete++;
1665  }
1666 
1667  //--------------------------------- Help (Button)
1668  if (fButHelp != nullptr) {
1669  delete fButHelp;
1670  fCdelete++;
1671  }
1672  if (fLayoutHelpBut != nullptr) {
1673  delete fLayoutHelpBut;
1674  fCdelete++;
1675  }
1676 
1677  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1678 
1679  if (fCnew != fCdelete) {
1680  std::cout << "*TEcnaGui> WRONG MANAGEMENT OF ALLOCATIONS: fCnew = " << fCnew << ", fCdelete = " << fCdelete
1681  << std::endl;
1682  } else {
1683  //std::cout << "*TEcnaGui> BRAVO! GOOD MANAGEMENT OF ALLOCATIONS: fCnew = "
1684  // << fCnew << ", fCdelete = " << fCdelete << std::endl;
1685  }
1686 
1687 #endif // DEST
1688 
1689 #define MGRA
1690 #ifndef MGRA
1691  if (fCnewRoot != fCdeleteRoot) {
1692  std::cout << "*TEcnaGui> WRONG MANAGEMENT OF ROOT ALLOCATIONS: fCnewRoot = " << fCnewRoot
1693  << ", fCdeleteRoot = " << fCdeleteRoot << std::endl;
1694  } else {
1695  std::cout << "*TEcnaGui> BRAVO! GOOD MANAGEMENT OF ROOT ALLOCATIONS:"
1696  << " fCnewRoot = " << fCnewRoot << ", fCdeleteRoot = " << fCdeleteRoot << std::endl;
1697  }
1698 #endif // MGRA
1699 
1700  // std::cout << "TEcnaGui> Leaving destructor" << std::endl;
1701  // std::cout << " fCnew = " << fCnew << ", fCdelete = " << fCdelete << std::endl;
1702 
1703  // std::cout << "[Info Management] CLASS: TEcnaGui. DESTROY OBJECT: this = " << this << std::endl;
1704 }
1705 // end of destructor
1706 
1707 //===================================================================
1708 //
1709 // Constructors
1710 //
1711 //===================================================================
1712 
1714 
1715 TEcnaGui::TEcnaGui(TEcnaObject* pObjectManager, const TString& SubDet, const TGWindow* p, UInt_t w, UInt_t h)
1716  : TGMainFrame(p, w, h) {
1717  // std::cout << "[Info Management] CLASS: TEcnaGui. CREATE OBJECT: this = " << this << std::endl;
1718 
1719  // std::cout << "TEcnaGui> Entering constructor with arguments" << std::endl;
1720  // std::cout << " fCnew = " << fCnew << ", fCdelete = " << fCdelete << std::endl;
1721 
1722  Init();
1723 
1724  fObjectManager = (TEcnaObject*)pObjectManager;
1725  Long_t i_this = (Long_t)this;
1726  pObjectManager->RegisterPointer("TEcnaGui", i_this);
1727 
1728  Int_t MaxCar = fgMaxCar;
1729  fSubDet.Resize(MaxCar);
1730  fSubDet = SubDet.Data();
1731 
1732  //............................ fCnaParCout
1733  fCnaParCout = nullptr;
1734  Long_t iCnaParCout = pObjectManager->GetPointerValue("TEcnaParCout");
1735  if (iCnaParCout == 0) {
1736  fCnaParCout = new TEcnaParCout(pObjectManager); /*fCnew++*/
1737  } else {
1738  fCnaParCout = (TEcnaParCout*)iCnaParCout;
1739  }
1740 
1741  //fCnaParPaths = 0; fCnaParPaths = new TEcnaParPaths(); //fCnew++;
1742  //fCnaParPaths->GetPaths();
1743  //if( fCnaParPaths->GetPaths() == kTRUE )
1744  // {
1745  //fCnaParPaths->GetCMSSWParameters();
1746 
1747  //............................ fCnaParPaths
1748  fCnaParPaths = nullptr;
1749  Long_t iCnaParPaths = pObjectManager->GetPointerValue("TEcnaParPaths");
1750  if (iCnaParPaths == 0) {
1751  fCnaParPaths = new TEcnaParPaths(pObjectManager); /*fCnew++*/
1752  } else {
1753  fCnaParPaths = (TEcnaParPaths*)iCnaParPaths;
1754  }
1755 
1758 
1759  //............................ fEcal => to be changed in fParEcal
1760  fEcal = nullptr;
1761  Long_t iParEcal = pObjectManager->GetPointerValue("TEcnaParEcal");
1762  if (iParEcal == 0) {
1763  fEcal = new TEcnaParEcal(pObjectManager, SubDet.Data()); /*fCnew++*/
1764  } else {
1765  fEcal = (TEcnaParEcal*)iParEcal;
1766  }
1767 
1768  //............................ fEcalNumbering
1769  fEcalNumbering = nullptr;
1770  Long_t iEcalNumbering = pObjectManager->GetPointerValue("TEcnaNumbering");
1771  if (iEcalNumbering == 0) {
1772  fEcalNumbering = new TEcnaNumbering(pObjectManager, SubDet.Data()); /*fCnew++*/
1773  } else {
1774  fEcalNumbering = (TEcnaNumbering*)iEcalNumbering;
1775  }
1776 
1777  //............................ fCnaParHistos
1778  fCnaParHistos = nullptr;
1779  Long_t iCnaParHistos = pObjectManager->GetPointerValue("TEcnaParHistos");
1780  if (iCnaParHistos == 0) {
1781  fCnaParHistos = new TEcnaParHistos(pObjectManager, SubDet.Data()); /*fCnew++*/
1782  } else {
1783  fCnaParHistos = (TEcnaParHistos*)iCnaParHistos;
1784  }
1785 
1786  //............................ fCnaWrite
1787  fCnaWrite = nullptr;
1788  Long_t iCnaWrite = pObjectManager->GetPointerValue("TEcnaWrite");
1789  if (iCnaWrite == 0) {
1790  fCnaWrite = new TEcnaWrite(pObjectManager, SubDet.Data()); /*fCnew++*/
1791  } else {
1792  fCnaWrite = (TEcnaWrite*)iCnaWrite;
1793  }
1794 
1795  //............................ fHistos
1796  //fHistos = 0;
1797  //fHistos = new TEcnaHistos(fSubDet.Data(), fCnaParPaths, fCnaParCout,
1798  // fEcal, fCnaParHistos, fEcalNumbering, fCnaWrite); fCnew++;
1799 
1800  fHistos = nullptr;
1801  Long_t iHistos = pObjectManager->GetPointerValue("TEcnaHistos");
1802  if (iHistos == 0) {
1803  fHistos = new TEcnaHistos(pObjectManager, SubDet.Data()); /*fCnew++*/
1804  } else {
1805  fHistos = (TEcnaHistos*)iHistos;
1806  }
1807 
1808  //fMyRootFile = 0;
1809 
1811 }
1812 
1814  //========================= GENERAL INITIALISATION
1815  fCnew = 0;
1816  fCdelete = 0;
1817  fCnewRoot = 0;
1818  fCdeleteRoot = 0;
1819 
1820  fgMaxCar = (Int_t)512;
1821  fTTBELL = '\007';
1822 }
1823 
1825  //........................ init View and Cna parameters
1826 
1827  //............................................................................
1828 
1829  if (fSubDet == "EB") {
1830  fStexName = "SM";
1831  fStinName = "tower";
1832  }
1833  if (fSubDet == "EE") {
1834  fStexName = "Dee";
1835  fStinName = "SC";
1836  }
1837 
1838  //................. Init Keys
1839  InitKeys();
1840 
1841  //................ Init CNA Command and error numbering
1842  fCnaCommand = 0;
1843  fCnaError = 0;
1844  //................ Init Confirm flags
1845  fConfirmSubmit = 0;
1846  fConfirmRunNumber = 0;
1847  fConfirmCalcScc = 0;
1848 
1849  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Init GUI DIALOG BOX pointers %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1850 
1851  fLayoutGeneral = nullptr;
1852  fLayoutBottLeft = nullptr;
1853  fLayoutBottRight = nullptr;
1854  fLayoutTopLeft = nullptr;
1855  fLayoutTopRight = nullptr;
1856  fLayoutCenterYLeft = nullptr;
1857  fLayoutCenterYRight = nullptr;
1858 
1859  fVoidFrame = nullptr;
1860 
1861  //+++++++++++++++++++++++++++++++++ Horizontal frame Analysis + 1st requested evt number + Run number
1862  fAnaNorsRunFrame = nullptr;
1863  fLayoutAnaNorsRunFrame = nullptr;
1864  //--------------------------------- Sub-Frame Analysis Name (Button+Entry Field)
1865  fAnaFrame = nullptr;
1866  fAnaBut = nullptr;
1867  fLayoutAnaBut = nullptr;
1868  fAnaText = nullptr;
1869  fEntryAnaNumber = nullptr;
1870  fLayoutAnaField = nullptr;
1871  //--------------------------------- SubFrame: first requested evt number
1872  fFevFrame = nullptr;
1873  fFevBut = nullptr;
1874  fLayoutFevBut = nullptr;
1875  fFevText = nullptr;
1876  fEntryFevNumber = nullptr;
1877  fLayoutFevFieldText = nullptr;
1878  fLayoutFevFieldFrame = nullptr;
1879  //-------------------------------- Sub-Frame Run number (Button+Entry Field)
1880  fRunFrame = nullptr;
1881  fRunBut = nullptr;
1882  fLayoutRunBut = nullptr;
1883  fRunText = nullptr;
1884  fEntryRunNumber = nullptr;
1885  fLayoutRunField = nullptr;
1886 
1887  //+++++++++++++++++++++++++ Horizontal frame Nb Of Samples + Last requested evt number + Clean + submit
1888  fFevLevStexFrame = nullptr;
1889  fLayoutFevLevStexFrame = nullptr;
1890  //-------------------------------- Sub-Frame: Nb Of Requesred Samples (Button+Entry Field)
1891  fNorsFrame = nullptr;
1892  fNorsBut = nullptr;
1893  fLayoutNorsBut = nullptr;
1894  fNorsText = nullptr;
1895  fEntryNorsNumber = nullptr;
1896  fLayoutNorsField = nullptr;
1897  //---------------------------- SubFrame: last requested event number
1898  fLevFrame = nullptr;
1899  fLevBut = nullptr;
1900  fLayoutLevBut = nullptr;
1901  fLevText = nullptr;
1902  fEntryLevNumber = nullptr;
1903  fLayoutLevFieldText = nullptr;
1904  fLayoutLevFieldFrame = nullptr;
1905  //................................ Menu for Clean
1906  fMenuClean = nullptr;
1907  fMenuBarClean = nullptr;
1908  //................................ Menu for SUBMIT
1909  fMenuSubmit = nullptr;
1910  fMenuBarSubmit = nullptr;
1911 
1912  //+++++++++++++++++++++++++++++++++++ Horizontal frame StexStin number + Nb of Req evts
1913  fCompStRqFrame = nullptr;
1914  fLayoutCompStRqFrame = nullptr;
1915 
1916  //---------------------------- SubFrame: Stex number
1917  fStexFrame = nullptr;
1918  fStexBut = nullptr;
1919  fLayoutStexBut = nullptr;
1920  fStexText = nullptr;
1921  fEntryStexNumber = nullptr;
1922  fLayoutStexFieldText = nullptr;
1923  fLayoutStexFieldFrame = nullptr;
1924 
1925  //---------------------------- SubFrame: number of requested events
1926  fRevFrame = nullptr;
1927  fRevBut = nullptr;
1928  fLayoutRevBut = nullptr;
1929  fRevText = nullptr;
1930  fEntryRevNumber = nullptr;
1931  fLayoutRevFieldText = nullptr;
1932  fLayoutRevFieldFrame = nullptr;
1933 
1934  //+++++++++++++++++++++++++++++++++++ Horizontal frame StexStin numbering + Nb of samp for Calc + Calculations
1935  fCompStnbFrame = nullptr;
1936  fLayoutCompStnbFrame = nullptr;
1937 
1938  //................................ Stex Stin Numbering view (Button)
1939  fButStexNb = nullptr;
1940  fLayoutStexNbBut = nullptr;
1941 
1942  //---------------------------- SubFrame: NbSampForCalc
1943  fNbSampForCalcFrame = nullptr;
1944  fNbSampForCalcBut = nullptr;
1945  fLayoutNbSampForCalcBut = nullptr;
1946  fNbSampForCalcText = nullptr;
1947  fEntryNbSampForCalcNumber = nullptr;
1950 
1951  //................................ Menu for Calculations
1952  fMenuComput = nullptr;
1953  fMenuBarComput = nullptr;
1954 
1955  //=====================================================================================
1956 
1957  //+++++++++++++++++++++++++++++++++++++++++++ Frame for quantities relative to the Stex
1958  fStexUpFrame = nullptr;
1959 
1960  //................................ Menus+Ymin+Ymax for the Stex ............................
1961 
1962  //...................................... Nb of evts in the data
1963  fVmmD_NOE_ChNbFrame = nullptr;
1964 
1965  fVmaxD_NOE_ChNbFrame = nullptr;
1966  fVmaxD_NOE_ChNbBut = nullptr;
1967  fLayoutVmaxD_NOE_ChNbBut = nullptr;
1968  fVmaxD_NOE_ChNbText = nullptr;
1969  fEntryVmaxD_NOE_ChNbNumber = nullptr;
1971  fLayoutVmaxD_NOE_ChNbFrame = nullptr;
1972 
1973  fVminD_NOE_ChNbFrame = nullptr;
1974  fVminD_NOE_ChNbBut = nullptr;
1975  fLayoutVminD_NOE_ChNbBut = nullptr;
1976  fVminD_NOE_ChNbText = nullptr;
1977  fEntryVminD_NOE_ChNbNumber = nullptr;
1979  fLayoutVminD_NOE_ChNbFrame = nullptr;
1980 
1981  fMenuD_NOE_ChNb = nullptr;
1982  fMenuBarD_NOE_ChNb = nullptr;
1983  fLayoutMenuBarD_NOE_ChNb = nullptr;
1984 
1985  fLayoutVmmD_NOE_ChNbFrame = nullptr;
1986 
1987  //-------------------------------------------------------------
1988  fVmmD_Ped_ChNbFrame = nullptr;
1989 
1990  fVmaxD_Ped_ChNbFrame = nullptr;
1991  fVmaxD_Ped_ChNbBut = nullptr;
1992  fLayoutVmaxD_Ped_ChNbBut = nullptr;
1993  fVmaxD_Ped_ChNbText = nullptr;
1994  fEntryVmaxD_Ped_ChNbNumber = nullptr;
1996  fLayoutVmaxD_Ped_ChNbFrame = nullptr;
1997 
1998  fVminD_Ped_ChNbFrame = nullptr;
1999  fVminD_Ped_ChNbBut = nullptr;
2000  fLayoutVminD_Ped_ChNbBut = nullptr;
2001  fVminD_Ped_ChNbText = nullptr;
2002  fEntryVminD_Ped_ChNbNumber = nullptr;
2004  fLayoutVminD_Ped_ChNbFrame = nullptr;
2005 
2006  fMenuD_Ped_ChNb = nullptr;
2007  fMenuBarD_Ped_ChNb = nullptr;
2008  fLayoutMenuBarD_Ped_ChNb = nullptr;
2009 
2010  fLayoutVmmD_Ped_ChNbFrame = nullptr;
2011 
2012  //-------------------------------------------------------------
2013  fVmmD_TNo_ChNbFrame = nullptr;
2014 
2015  fVmaxD_TNo_ChNbFrame = nullptr;
2016  fVmaxD_TNo_ChNbBut = nullptr;
2017  fLayoutVmaxD_TNo_ChNbBut = nullptr;
2018  fVmaxD_TNo_ChNbText = nullptr;
2019  fEntryVmaxD_TNo_ChNbNumber = nullptr;
2021 
2022  fVminD_TNo_ChNbFrame = nullptr;
2023  fVminD_TNo_ChNbBut = nullptr;
2024  fLayoutVminD_TNo_ChNbBut = nullptr;
2025  fVminD_TNo_ChNbText = nullptr;
2026  fEntryVminD_TNo_ChNbNumber = nullptr;
2028  fLayoutVminD_TNo_ChNbFrame = nullptr;
2029 
2030  fMenuD_TNo_ChNb = nullptr;
2031  fMenuBarD_TNo_ChNb = nullptr;
2032  fLayoutMenuBarD_TNo_ChNb = nullptr;
2033  fLayoutVmaxD_TNo_ChNbFrame = nullptr;
2034 
2035  fLayoutVmmD_TNo_ChNbFrame = nullptr;
2036 
2037  //-------------------------------------------------------------
2038  fVmmD_MCs_ChNbFrame = nullptr;
2039 
2040  fVmaxD_MCs_ChNbFrame = nullptr;
2041  fVmaxD_MCs_ChNbBut = nullptr;
2042  fLayoutVmaxD_MCs_ChNbBut = nullptr;
2043  fVmaxD_MCs_ChNbText = nullptr;
2044  fEntryVmaxD_MCs_ChNbNumber = nullptr;
2046  fLayoutVmaxD_MCs_ChNbFrame = nullptr;
2047 
2048  fVminD_MCs_ChNbFrame = nullptr;
2049  fVminD_MCs_ChNbBut = nullptr;
2050  fLayoutVminD_MCs_ChNbBut = nullptr;
2051  fVminD_MCs_ChNbText = nullptr;
2052  fEntryVminD_MCs_ChNbNumber = nullptr;
2054  fLayoutVminD_MCs_ChNbFrame = nullptr;
2055 
2056  fMenuD_MCs_ChNb = nullptr;
2057  fMenuBarD_MCs_ChNb = nullptr;
2058  fLayoutMenuBarD_MCs_ChNb = nullptr;
2059  fLayoutVmmD_MCs_ChNbFrame = nullptr;
2060 
2061  //............................................... Frame Sig + Menus Sig
2062  fStexHozFrame = nullptr;
2063 
2064  //-------------------------------------------------------------
2065  fVmmD_LFN_ChNbFrame = nullptr;
2066 
2067  fVmaxD_LFN_ChNbFrame = nullptr;
2068  fVmaxD_LFN_ChNbBut = nullptr;
2069  fLayoutVmaxD_LFN_ChNbBut = nullptr;
2070  fVmaxD_LFN_ChNbText = nullptr;
2071  fEntryVmaxD_LFN_ChNbNumber = nullptr;
2073  fLayoutVmaxD_LFN_ChNbFrame = nullptr;
2074 
2075  fVminD_LFN_ChNbFrame = nullptr;
2076  fVminD_LFN_ChNbBut = nullptr;
2077  fLayoutVminD_LFN_ChNbBut = nullptr;
2078  fVminD_LFN_ChNbText = nullptr;
2079  fEntryVminD_LFN_ChNbNumber = nullptr;
2081  fLayoutVminD_LFN_ChNbFrame = nullptr;
2082 
2083  fMenuD_LFN_ChNb = nullptr;
2084  fMenuBarD_LFN_ChNb = nullptr;
2085  fLayoutMenuBarD_LFN_ChNb = nullptr;
2086 
2087  fLayoutVmmD_LFN_ChNbFrame = nullptr;
2088 
2089  //-------------------------------------------------------------
2090  fVmmD_HFN_ChNbFrame = nullptr;
2091 
2092  fVmaxD_HFN_ChNbFrame = nullptr;
2093  fVmaxD_HFN_ChNbBut = nullptr;
2094  fLayoutVmaxD_HFN_ChNbBut = nullptr;
2095  fVmaxD_HFN_ChNbText = nullptr;
2096  fEntryVmaxD_HFN_ChNbNumber = nullptr;
2098  fLayoutVmaxD_HFN_ChNbFrame = nullptr;
2099 
2100  fVminD_HFN_ChNbFrame = nullptr;
2101  fVminD_HFN_ChNbBut = nullptr;
2102  fLayoutVminD_HFN_ChNbBut = nullptr;
2103  fVminD_HFN_ChNbText = nullptr;
2104  fEntryVminD_HFN_ChNbNumber = nullptr;
2106  fLayoutVminD_HFN_ChNbFrame = nullptr;
2107 
2108  fMenuD_HFN_ChNb = nullptr;
2109  fMenuBarD_HFN_ChNb = nullptr;
2110  fLayoutMenuBarD_HFN_ChNb = nullptr;
2111 
2112  fLayoutVmmD_HFN_ChNbFrame = nullptr;
2113 
2114  //-------------------------------------------------------------
2115  fVmmD_SCs_ChNbFrame = nullptr;
2116 
2117  fVmaxD_SCs_ChNbFrame = nullptr;
2118  fVmaxD_SCs_ChNbBut = nullptr;
2119  fLayoutVmaxD_SCs_ChNbBut = nullptr;
2120  fVmaxD_SCs_ChNbText = nullptr;
2121  fEntryVmaxD_SCs_ChNbNumber = nullptr;
2123  fLayoutVmaxD_SCs_ChNbFrame = nullptr;
2124 
2125  fVminD_SCs_ChNbFrame = nullptr;
2126  fVminD_SCs_ChNbBut = nullptr;
2127  fLayoutVminD_SCs_ChNbBut = nullptr;
2128  fVminD_SCs_ChNbText = nullptr;
2129  fEntryVminD_SCs_ChNbNumber = nullptr;
2131  fLayoutVminD_SCs_ChNbFrame = nullptr;
2132 
2133  fMenuD_SCs_ChNb = nullptr;
2134  fMenuBarD_SCs_ChNb = nullptr;
2135  fLayoutMenuBarD_SCs_ChNb = nullptr;
2136 
2137  fLayoutVmmD_SCs_ChNbFrame = nullptr;
2138 
2139  //----------------------------------------------------------------------------------
2140 
2141  //...................................... Low Freq Cor(c,c') for each pair of Stins
2142  fVmmLFccMosFrame = nullptr;
2143 
2144  fVmaxLFccMosFrame = nullptr;
2145  fVmaxLFccMosBut = nullptr;
2146  fLayoutVmaxLFccMosBut = nullptr;
2147  fVmaxLFccMosText = nullptr;
2148  fEntryVmaxLFccMosNumber = nullptr;
2149  fLayoutVmaxLFccMosFieldText = nullptr;
2150  fLayoutVmaxLFccMosFrame = nullptr;
2151 
2152  fVminLFccMosFrame = nullptr;
2153  fVminLFccMosBut = nullptr;
2154  fLayoutVminLFccMosBut = nullptr;
2155  fVminLFccMosText = nullptr;
2156  fEntryVminLFccMosNumber = nullptr;
2157  fLayoutVminLFccMosFieldText = nullptr;
2158  fLayoutVminLFccMosFrame = nullptr;
2159 
2160  fMenuLFccMos = nullptr;
2161  fMenuBarLFccMos = nullptr;
2162  fLayoutMenuBarLFccMos = nullptr;
2163 
2164  fLayoutVmmLFccMosFrame = nullptr;
2165 
2166  //...................................... High Freq Cor(c,c') for each pair of Stins
2167  fVmmHFccMosFrame = nullptr;
2168 
2169  fVmaxHFccMosFrame = nullptr;
2170  fVmaxHFccMosBut = nullptr;
2171  fLayoutVmaxHFccMosBut = nullptr;
2172  fVmaxHFccMosText = nullptr;
2173  fEntryVmaxHFccMosNumber = nullptr;
2174  fLayoutVmaxHFccMosFieldText = nullptr;
2175  fLayoutVmaxHFccMosFrame = nullptr;
2176 
2177  fVminHFccMosFrame = nullptr;
2178  fVminHFccMosBut = nullptr;
2179  fLayoutVminHFccMosBut = nullptr;
2180  fVminHFccMosText = nullptr;
2181  fEntryVminHFccMosNumber = nullptr;
2182  fLayoutVminHFccMosFieldText = nullptr;
2183  fLayoutVminHFccMosFrame = nullptr;
2184 
2185  fMenuHFccMos = nullptr;
2186  fMenuBarHFccMos = nullptr;
2187  fLayoutMenuBarHFccMos = nullptr;
2188 
2189  fLayoutVmmHFccMosFrame = nullptr;
2190 
2191  //...................................... LF and HF Cor(c,c')
2192  fVmmLHFccFrame = nullptr;
2193 
2194  fVmaxLHFccFrame = nullptr;
2195  fVmaxLHFccBut = nullptr;
2196  fLayoutVmaxLHFccBut = nullptr;
2197  fVmaxLHFccText = nullptr;
2198  fEntryVmaxLHFccNumber = nullptr;
2199  fLayoutVmaxLHFccFieldText = nullptr;
2200  fLayoutVmaxLHFccFrame = nullptr;
2201 
2202  fVminLHFccFrame = nullptr;
2203  fVminLHFccBut = nullptr;
2204  fLayoutVminLHFccBut = nullptr;
2205  fVminLHFccText = nullptr;
2206  fEntryVminLHFccNumber = nullptr;
2207  fLayoutVminLHFccFieldText = nullptr;
2208  fLayoutVminLHFccFrame = nullptr;
2209 
2210  fMenuLHFcc = nullptr;
2211  fMenuBarLHFcc = nullptr;
2212  fLayoutMenuBarLHFcc = nullptr;
2213 
2214  fLayoutVmmLHFccFrame = nullptr;
2215 
2216  fLayoutStexHozFrame = nullptr;
2217 
2218  fLayoutStexUpFrame = nullptr;
2219 
2220  //+++++++++++++++++++++++++++++++++++++++++ Horizontal frame Stin_A + Stin_B
2221  fStinSpFrame = nullptr;
2222  fLayoutStinSpFrame = nullptr;
2223 
2224  //----------------------------------- SubFrame Stin_A (Button + EntryField)
2225 
2226  fTxSubFrame = nullptr;
2227  fLayoutTxSubFrame = nullptr;
2228 
2229  fStinAFrame = nullptr;
2230  fStinABut = nullptr;
2231  fLayoutStinABut = nullptr;
2232 
2233  fStinAText = nullptr;
2234  fEntryStinANumber = nullptr;
2235  fLayoutStinAField = nullptr;
2236 
2237  //............................ Stin Crystal Numbering view (Button)
2238  fButChNb = nullptr;
2239  fLayoutChNbBut = nullptr;
2240 
2241  //............................ Menus Stin_A
2242  fMenuCorssAll = nullptr;
2243  fMenuBarCorssAll = nullptr;
2244 
2245  //fMenuCovssAll = 0;
2246  //fMenuBarCovssAll = 0;
2247 
2248  //----------------------------------- SubFrame Stin_B (Button + EntryField)
2249  fTySubFrame = nullptr;
2250  fLayoutTySubFrame = nullptr;
2251 
2252  fStinBFrame = nullptr;
2253  fStinBBut = nullptr;
2254  fLayoutStinBBut = nullptr;
2255 
2256  fStinBText = nullptr;
2257  fEntryStinBNumber = nullptr;
2258  fLayoutStinBField = nullptr;
2259 
2260  //.................................. Menus for Horizontal frame (Stin_A + Stin_B)
2261  fMenuBarLFCorcc = nullptr;
2262  fMenuLFCorcc = nullptr;
2263 
2264  fMenuBarHFCorcc = nullptr;
2265  fMenuHFCorcc = nullptr;
2266 
2267  //++++++++++++++++++++++++ Horizontal frame channel number (Stin_A crystal number) + sample number
2268  fChSpFrame = nullptr;
2269  fLayoutChSpFrame = nullptr;
2270 
2271  //------------------------------------- SubFrame Channel (Button + EntryField)
2272  fChanFrame = nullptr;
2273  fChanBut = nullptr;
2274  fChanText = nullptr;
2275  fEntryChanNumber = nullptr;
2276  fLayoutChanBut = nullptr;
2277  fLayoutChanField = nullptr;
2278 
2279  fChSubFrame = nullptr;
2280  fLayoutChSubFrame = nullptr;
2281 
2282  //................................ Menus Stin_A crystal number
2283  fMenuCorss = nullptr;
2284  fMenuBarCorss = nullptr;
2285 
2286  fMenuCovss = nullptr;
2287  fMenuBarCovss = nullptr;
2288 
2289  fMenuD_MSp_SpNb = nullptr;
2290  fMenuBarD_MSp_SpNb = nullptr;
2291  fMenuD_MSp_SpDs = nullptr;
2292  fMenuBarD_MSp_SpDs = nullptr;
2293 
2294  fMenuD_SSp_SpNb = nullptr;
2295  fMenuBarD_SSp_SpNb = nullptr;
2296  fMenuD_SSp_SpDs = nullptr;
2297  fMenuBarD_SSp_SpDs = nullptr;
2298 
2299  //------------------------------------ SubFrame Sample (Button + EntryField)
2300  fSampFrame = nullptr;
2301  fSampBut = nullptr;
2302 
2303  fSampText = nullptr;
2304  fEntrySampNumber = nullptr;
2305  fLayoutSampBut = nullptr;
2306  fLayoutSampField = nullptr;
2307 
2308  fSpSubFrame = nullptr;
2309  fLayoutSpSubFrame = nullptr;
2310 
2311  //................................ Menus Sample number
2312 
2313  // (no menu in this SubFrame)
2314 
2315  //++++++++++++++++++++++++++++++++++++ Frame: Run List (Rul) (Button + EntryField)
2316  fRulFrame = nullptr;
2317  fRulBut = nullptr;
2318  fLayoutRulBut = nullptr;
2319  fRulText = nullptr;
2320  fEntryRulNumber = nullptr;
2321  fLayoutRulFieldText = nullptr;
2322  fLayoutRulFieldFrame = nullptr;
2323 
2324  //................................ Menus for time evolution
2325  fMenuHistory = nullptr;
2326  fMenuBarHistory = nullptr;
2327 
2328  //++++++++++++++++++++++++++++++++++++ Menu Event Distribution
2329  fMenuAdcProj = nullptr;
2330  fMenuBarAdcProj = nullptr;
2331  fLayoutMenuBarAdcProj = nullptr;
2332 
2333  //++++++++++++++++++++++++++++++++++++ LinLog + Color Palette Frame
2334  fLinLogFrame = nullptr;
2335 
2336  //---------------------------------- Lin/Log X
2337  fButLogx = nullptr;
2338  fLayoutLogxBut = nullptr;
2339  //---------------------------------- Lin/Log Y
2340  fButLogy = nullptr;
2341  fLayoutLogyBut = nullptr;
2342  //---------------------------------- Proj Y
2343  fButProjy = nullptr;
2344  fLayoutProjyBut = nullptr;
2345 
2346  //++++++++++++++++++++++++++++++++++++ Frame: General Title (Gent) (Button + EntryField)
2347  fGentFrame = nullptr;
2348  fGentBut = nullptr;
2349  fLayoutGentBut = nullptr;
2350  fGentText = nullptr;
2351  fEntryGentNumber = nullptr;
2352  fLayoutGentFieldText = nullptr;
2353  fLayoutGentFieldFrame = nullptr;
2354 
2355  //++++++++++++++++++++++++++++++++++++ Color + Exit
2356  //---------------------------------- Color Palette
2357  fButColPal = nullptr;
2358  fLayoutColPalBut = nullptr;
2359  //---------------------------------- Exit
2360  fButExit = nullptr;
2361  fLayoutExitBut = nullptr;
2362 
2363  //++++++++++++++++++++++++++++++++++++ Last Frame
2364  fLastFrame = nullptr;
2365 
2366  //--------------------------------- Clone Last Canvas (Button)
2367  fButClone = nullptr;
2368  fLayoutCloneBut = nullptr;
2369 
2370  //--------------------------------- Root version (Button)
2371  fButRoot = nullptr;
2372  fLayoutRootBut = nullptr;
2373 
2374  //--------------------------------- Help (Button)
2375  fButHelp = nullptr;
2376  fLayoutHelpBut = nullptr;
2377 
2378  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%% end of init GUI DIALOG BOX pointers %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2379 
2380  //........ Init Buttons codes with input widgets:
2381  // run, channel, sample
2382 
2383  fAnaButC = 1;
2384  fRunButC = 2;
2385 
2386  //.................. Init codes Menu bars (all the numbers must be different)
2387 
2388  fMenuSubmit8nmC = 2011;
2389  fMenuSubmit1nhC = 2012;
2390  fMenuSubmit8nhC = 2013;
2391  fMenuSubmit1ndC = 2014;
2392  fMenuSubmit1nwC = 2015;
2393 
2394  fMenuCleanSubC = 3011;
2395  fMenuCleanJobC = 3012;
2396  fMenuCleanPythC = 3013;
2397  fMenuCleanAllC = 3014;
2398 
2399  fMenuComputStdC = 3111;
2400  fMenuComputSccC = 3112;
2401  fMenuComputSttC = 3113;
2402 
2403  fMenuD_NOE_ChNbFullC = 600101;
2404  fMenuD_NOE_ChNbSameC = 600102;
2405  fMenuD_NOE_ChNbAsciiFileC = 600104;
2406 
2407  fMenuD_Ped_ChNbFullC = 123051;
2408  fMenuD_Ped_ChNbSameC = 123052;
2409  fMenuD_Ped_ChNbAsciiFileC = 123054;
2410 
2411  fMenuD_TNo_ChNbFullC = 123061;
2412  fMenuD_TNo_ChNbSameC = 123062;
2413  fMenuD_TNo_ChNbSamePC = 123063;
2414  fMenuD_TNo_ChNbAsciiFileC = 123064;
2415 
2416  fMenuD_MCs_ChNbFullC = 123071;
2417  fMenuD_MCs_ChNbSameC = 123072;
2418  fMenuD_MCs_ChNbSamePC = 123073;
2419  fMenuD_MCs_ChNbAsciiFileC = 123074;
2420 
2421  fMenuD_LFN_ChNbFullC = 800051;
2422  fMenuD_LFN_ChNbSameC = 800052;
2423  fMenuD_LFN_ChNbSamePC = 800053;
2424  fMenuD_LFN_ChNbAsciiFileC = 800054;
2425 
2426  fMenuD_HFN_ChNbFullC = 800061;
2427  fMenuD_HFN_ChNbSameC = 800062;
2428  fMenuD_HFN_ChNbSamePC = 800063;
2429  fMenuD_HFN_ChNbAsciiFileC = 800064;
2430 
2431  fMenuD_SCs_ChNbFullC = 800071;
2432  fMenuD_SCs_ChNbSameC = 800072;
2433  fMenuD_SCs_ChNbSamePC = 800073;
2434  fMenuD_SCs_ChNbAsciiFileC = 800074;
2435 
2436  fMenuLFccColzC = 70010;
2437  fMenuLFccLegoC = 70011;
2438  fMenuHFccColzC = 70020;
2439  fMenuHFccLegoC = 70021;
2440 
2441  fMenuLFccMosColzC = 70110;
2442  fMenuLFccMosLegoC = 70111;
2443  fMenuHFccMosColzC = 70120;
2444  fMenuHFccMosLegoC = 70121;
2445 
2446  fMenuD_NOE_ChNbHocoVecoC = 524051;
2447  fMenuD_Ped_ChNbHocoVecoC = 524052;
2448  fMenuD_TNo_ChNbHocoVecoC = 524053;
2449  fMenuD_MCs_ChNbHocoVecoC = 524054;
2450  fMenuD_LFN_ChNbHocoVecoC = 524055;
2451  fMenuD_HFN_ChNbHocoVecoC = 524056;
2452  fMenuD_SCs_ChNbHocoVecoC = 524057;
2453 
2454  fStinAButC = 90009;
2455  fStinBButC = 90010;
2456 
2457  fChanButC = 6;
2458  fSampButC = 7;
2459 
2460  fMenuCorssAllColzC = 10;
2461  fMenuCovssAllColzC = 11;
2462 
2463  fMenuCorssColzC = 221;
2464  fMenuCorssBoxC = 222;
2465  fMenuCorssTextC = 223;
2466  fMenuCorssContzC = 224;
2467  fMenuCorssLegoC = 225;
2468  fMenuCorssSurf1C = 226;
2469  fMenuCorssSurf2C = 227;
2470  fMenuCorssSurf3C = 228;
2471  fMenuCorssSurf4C = 229;
2472  fMenuCorssAsciiFileC = 220;
2473 
2474  fMenuCovssColzC = 231;
2475  fMenuCovssBoxC = 232;
2476  fMenuCovssTextC = 233;
2477  fMenuCovssContzC = 234;
2478  fMenuCovssLegoC = 235;
2479  fMenuCovssSurf1C = 236;
2480  fMenuCovssSurf2C = 237;
2481  fMenuCovssSurf3C = 238;
2482  fMenuCovssSurf4C = 239;
2483  fMenuCovssAsciiFileC = 230;
2484 
2491 
2498 
2499  fMenuLFCorccColzC = 51;
2500  fMenuLFCorccLegoC = 52;
2501 
2502  fMenuHFCorccColzC = 61;
2503  fMenuHFCorccLegoC = 62;
2504 
2509 
2512 
2516 
2520 
2524 
2528 
2532 
2533  //...................... Init Button codes: Root version, Help, Exit
2534  fButStexNbC = 90;
2535  fButChNbC = 91;
2536  fButCloneC = 95;
2537  fButRootC = 96;
2538  fButHelpC = 97;
2539  fButExitC = 98;
2540 
2541  //=================================== LIN/LOG + Y proj + Color palette flags
2542  Int_t MaxCar = fgMaxCar;
2543  fMemoScaleX.Resize(MaxCar);
2544  fMemoScaleX = "LIN";
2545 
2546  MaxCar = fgMaxCar;
2547  fMemoScaleY.Resize(MaxCar);
2548  fMemoScaleY = "LIN";
2549 
2550  MaxCar = fgMaxCar;
2551  fMemoProjY.Resize(MaxCar);
2552  fMemoProjY = "normal";
2553 
2554  MaxCar = fgMaxCar;
2555  fMemoColPal.Resize(MaxCar);
2556  fMemoColPal = "ECCNAColor";
2557 
2558  //=================================== Init option codes =================================
2559 
2560  MaxCar = fgMaxCar;
2561  fOptPlotFull.Resize(MaxCar);
2562  fOptPlotFull = "ONLYONE";
2563 
2564  MaxCar = fgMaxCar;
2565  fOptPlotSame.Resize(MaxCar);
2566  fOptPlotSame = "SAME";
2567 
2568  MaxCar = fgMaxCar;
2569  fOptPlotSameP.Resize(MaxCar);
2570  fOptPlotSameP = "SAME n";
2571 
2572  MaxCar = fgMaxCar;
2573  fOptPlotSameInStin.Resize(MaxCar);
2574  fOptPlotSameInStin = "SAME in Stin";
2575 
2576  MaxCar = fgMaxCar;
2577  fOptAscii.Resize(MaxCar);
2578  fOptAscii = "ASCII";
2579 
2580 } // end of Init()
2581 
2582 //================================================================================================
2583 
2584 //-------------------------------------------------------------------------
2585 //
2586 //
2587 // B O X M A K I N G
2588 //
2589 //
2590 //-------------------------------------------------------------------------
2591 
2593  // Gui box making
2594 
2595  //fCnaP = (TGWindow *)p;
2596  //fCnaW = w;
2597  //fCnaH = h;
2598 
2599  //......................... Background colors
2600 
2601  //TColor* my_color = new TColor();
2602  //Color_t orange = (Color_t)my_color->GetColor("#FF6611"); // orange
2603 
2604  Pixel_t SubDetColor = GetBackground();
2605 
2606  if (fSubDet == "EB") {
2607  SubDetColor = GetBackground();
2608  }
2609  if (fSubDet == "EE") {
2610  SubDetColor = GetBackground();
2611  }
2612 
2613  // Bool_t GlobFont = kFALSE;
2614 
2615  //Pixel_t BkgColMainWindow = (Pixel_t)SubDetColor;
2616  //Pixel_t BkgColChSpFrame = (Pixel_t)SubDetColor;
2617  //Pixel_t BkgColStexUpFrame = (Pixel_t)SubDetColor;
2618 
2619  // Pixel_t BkgColButExit = (Pixel_t)555888;
2620 
2621  // enum ELayoutHints {
2622  // kLHintsNoHints = 0,
2623  // kLHintsLeft = BIT(0),
2624  // kLHintsCenterX = BIT(1),
2625  // kLHintsRight = BIT(2),
2626  // kLHintsTop = BIT(3),
2627  // kLHintsCenterY = BIT(4),
2628  // kLHintsBottom = BIT(5),
2629  // kLHintsExpandX = BIT(6),
2630  // kLHintsExpandY = BIT(7),
2631  // kLHintsNormal = (kLHintsLeft | kLHintsTop)
2632  // bits 8-11 used by ETableLayoutHints
2633  // };
2634 
2635  fLayoutGeneral = new TGLayoutHints(kLHintsCenterX | kLHintsCenterY);
2636  fCnew++;
2637  fLayoutBottLeft = new TGLayoutHints(kLHintsLeft | kLHintsBottom);
2638  fCnew++;
2639  fLayoutTopLeft = new TGLayoutHints(kLHintsLeft | kLHintsTop);
2640  fCnew++;
2641  fLayoutBottRight = new TGLayoutHints(kLHintsRight | kLHintsBottom);
2642  fCnew++;
2643  fLayoutTopRight = new TGLayoutHints(kLHintsRight | kLHintsTop);
2644  fCnew++;
2645  fLayoutCenterYLeft = new TGLayoutHints(kLHintsLeft | kLHintsCenterY);
2646  fCnew++;
2647  fLayoutCenterYRight = new TGLayoutHints(kLHintsRight | kLHintsCenterY);
2648  fCnew++;
2649  fLayoutCenterXTop = new TGLayoutHints(kLHintsCenterX | kLHintsTop);
2650  fCnew++;
2651 
2652  fVoidFrame = new TGCompositeFrame(this, 60, 20, kVerticalFrame, kSunkenFrame);
2653  fCnew++;
2654  AddFrame(fVoidFrame, fLayoutGeneral);
2655 
2656  //......................... Pads border
2657  Int_t xB1 = 0;
2658 
2659  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2660  //
2661  // SECTOR 1: Submit, File Parameters, Calculations, ...
2662  //
2663  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2664 
2665  //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2666  //
2667  // Horizontal frame Analysis + First requested evt number + Run number
2668  //
2669  //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2670  fAnaNorsRunFrame = new TGCompositeFrame(this, 60, 20, kHorizontalFrame, GetDefaultFrameBackground());
2671  fCnew++;
2672 
2673  //=================================== ANALYSIS NAME (type of analysis)
2674  TString xAnaButText = " Analysis ";
2675  Int_t typ_of_ana_buf_lenght = 80;
2676  fAnaFrame = new TGCompositeFrame(fAnaNorsRunFrame, 60, 20, kHorizontalFrame, kSunkenFrame);
2677  fCnew++;
2678  //..................... Button
2679  fAnaBut = new TGTextButton(fAnaFrame, xAnaButText, fAnaButC);
2680  fCnew++;
2681  fAnaBut->Connect("Clicked()", "TEcnaGui", this, "DoButtonAna()");
2682  // fAnaBut->Resize(typ_of_ana_buf_lenght, fAnaBut->GetDefaultHeight());
2683  fAnaBut->SetToolTipText("Click here to register the analysis name written on the right");
2684  fAnaBut->SetBackgroundColor(SubDetColor);
2685  //fAnaBut->SetFont("courier", GlobFont);
2686  fLayoutAnaBut = new TGLayoutHints(kLHintsLeft | kLHintsTop, xB1, xB1, xB1, xB1);
2687  fCnew++;
2688  fAnaFrame->AddFrame(fAnaBut, fLayoutAnaBut);
2689  //...................... Entry field
2690  fEntryAnaNumber = new TGTextBuffer();
2691  fCnew++;
2692  fAnaText = new TGTextEntry(fAnaFrame, fEntryAnaNumber);
2693  fCnew++;
2694  fAnaText->SetToolTipText("Click and enter the analysis name (code for type of analysis)");
2695  fAnaText->Resize(typ_of_ana_buf_lenght, fAnaText->GetDefaultHeight());
2697  fAnaText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonAna()");
2698  fLayoutAnaField = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
2699  fCnew++;
2700  fAnaFrame->AddFrame(fAnaText, fLayoutAnaField);
2701 
2702  //=================================== FIRST REQUESTED EVENT NUMBER
2703  TString xFirstReqEvtNumberButText = " 1st event# ";
2704  Int_t first_evt_buf_lenght = 65;
2705  fFevFrame = new TGCompositeFrame(fAnaNorsRunFrame, 60, 20, kHorizontalFrame, kSunkenFrame);
2706  fCnew++;
2707 
2708  fFevBut = new TGTextButton(fFevFrame, xFirstReqEvtNumberButText);
2709  fCnew++;
2710  fFevBut->Connect("Clicked()", "TEcnaGui", this, "DoButtonFev()");
2711  fFevBut->SetToolTipText("Click here to register the number of the first requested event number");
2712  fFevBut->SetBackgroundColor(SubDetColor);
2713  fLayoutFevBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
2714  fCnew++;
2715  fFevFrame->AddFrame(fFevBut, fLayoutFevBut);
2716 
2717  fEntryFevNumber = new TGTextBuffer();
2718  fCnew++;
2719  fFevText = new TGTextEntry(fFevFrame, fEntryFevNumber);
2720  fCnew++;
2721  fFevText->SetToolTipText("Click and enter the first requested event number");
2722  fFevText->Resize(first_evt_buf_lenght, fFevText->GetDefaultHeight());
2724  fFevText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonFev()");
2725  fLayoutFevFieldText = new TGLayoutHints(kLHintsBottom | kLHintsLeft, xB1, xB1, xB1, xB1);
2726  fCnew++;
2728 
2729  //=================================== RUN
2730  TString xRunButText = " Run ";
2731  Int_t run_buf_lenght = 65;
2732  fRunFrame = new TGCompositeFrame(fAnaNorsRunFrame, 0, 0, kHorizontalFrame, kSunkenFrame);
2733  fCnew++;
2734  fRunBut = new TGTextButton(fRunFrame, xRunButText, fRunButC);
2735  fCnew++;
2736  fRunBut->Connect("Clicked()", "TEcnaGui", this, "DoButtonRun()");
2737  fRunBut->SetToolTipText("Click here to register the run number");
2738  fRunBut->SetBackgroundColor(SubDetColor);
2739  // fRunBut->SetFont("helvetica", GlobFont);
2740  fLayoutRunBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
2741  fCnew++;
2742  fRunFrame->AddFrame(fRunBut, fLayoutRunBut);
2743  fEntryRunNumber = new TGTextBuffer();
2744  fCnew++;
2745  fRunText = new TGTextEntry(fRunFrame, fEntryRunNumber);
2746  fCnew++;
2747  fRunText->SetToolTipText("Click and enter the run number");
2748  fRunText->Resize(run_buf_lenght, fRunText->GetDefaultHeight());
2750  fRunText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonRun()");
2751  fLayoutRunField = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
2752  fCnew++;
2753  fRunFrame->AddFrame(fRunText, fLayoutRunField);
2754 
2755  //-------------------------- display frame ana + Fev + Run
2759  fLayoutAnaNorsRunFrame = new TGLayoutHints(kLHintsTop | kLHintsExpandX, xB1, xB1, xB1, xB1);
2760  fCnew++;
2761 
2763 
2764  //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2765  //
2766  // Horizontal frame Nb Of Samples + last requested evt number + Clean + Submit
2767  //
2768  //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2769  fFevLevStexFrame = new TGCompositeFrame(this, 60, 20, kHorizontalFrame, GetDefaultFrameBackground());
2770  fCnew++;
2771 
2772  //=================================== Number Of Requested Samples
2773  TString xNorsButText = "Nb Samp in File";
2774  Int_t nors_buf_lenght = 45;
2775  fNorsFrame = new TGCompositeFrame(fFevLevStexFrame, 0, 0, kHorizontalFrame, kSunkenFrame);
2776  fCnew++;
2777  //..................... Button
2778  fNorsBut = new TGTextButton(fNorsFrame, xNorsButText, fNorsButC);
2779  fCnew++;
2780  fNorsBut->Connect("Clicked()", "TEcnaGui", this, "DoButtonNors()");
2781  //fNorsBut->Resize(nors_buf_lenght, fNorsBut->GetDefaultHeight());
2782  fNorsBut->SetToolTipText("Click here to register the value written on the right");
2783  fNorsBut->SetBackgroundColor(SubDetColor);
2784  //fNorsBut->SetFont("courier", GlobFont);
2785  fLayoutNorsBut = new TGLayoutHints(kLHintsLeft | kLHintsTop, xB1, xB1, xB1, xB1);
2786  fCnew++;
2787  fNorsFrame->AddFrame(fNorsBut, fLayoutNorsBut);
2788  //...................... Entry field
2789  fEntryNorsNumber = new TGTextBuffer();
2790  fCnew++;
2791  fNorsText = new TGTextEntry(fNorsFrame, fEntryNorsNumber);
2792  fCnew++;
2793  fNorsText->SetToolTipText("Click and enter the number of required samples");
2794  fNorsText->Resize(nors_buf_lenght, fNorsText->GetDefaultHeight());
2796  fNorsText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonNors()");
2797  fLayoutNorsField = new TGLayoutHints(kLHintsTop | kLHintsCenterX, xB1, xB1, xB1, xB1);
2798  fCnew++;
2800 
2801  //=================================== LAST REQUESTED EVENT NUMBER
2802  TString xLastReqEvtButText = " Last event# ";
2803  Int_t last_evt_buf_lenght = 65;
2804  fLevFrame = new TGCompositeFrame(fFevLevStexFrame, 60, 20, kHorizontalFrame, kSunkenFrame);
2805  fCnew++;
2806 
2807  fLevBut = new TGTextButton(fLevFrame, xLastReqEvtButText);
2808  fCnew++;
2809  fLevBut->Connect("Clicked()", "TEcnaGui", this, "DoButtonLev()");
2810  fLevBut->SetToolTipText("Click here to register the last requested event number");
2811  fLevBut->SetBackgroundColor(SubDetColor);
2812  fLayoutLevBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
2813  fCnew++;
2814  fLevFrame->AddFrame(fLevBut, fLayoutLevBut);
2815 
2816  fEntryLevNumber = new TGTextBuffer();
2817  fCnew++;
2818  fLevText = new TGTextEntry(fLevFrame, fEntryLevNumber);
2819  fCnew++;
2820  fLevText->SetToolTipText("Click and enter the last requested event number");
2821  fLevText->Resize(last_evt_buf_lenght, fLevText->GetDefaultHeight());
2823  fLevText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonLev()");
2824  fLayoutLevFieldText = new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1, xB1, xB1, xB1);
2825  fCnew++;
2827 
2828  //----------------------------------- Clean
2829  TString xMenuBarClean = "Clean ";
2830 
2831  fMenuClean = new TGPopupMenu(gClient->GetRoot());
2832  fCnew++;
2833  fMenuClean->AddEntry("Submission scripts", fMenuCleanSubC);
2834  fMenuClean->AddEntry("LSFJOB reports", fMenuCleanJobC);
2835  fMenuClean->AddEntry("Python files", fMenuCleanPythC);
2836  fMenuClean->AddEntry("All", fMenuCleanAllC);
2837 
2838  fMenuClean->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
2839  fMenuBarClean = new TGMenuBar(fFevLevStexFrame, 1, 1, kHorizontalFrame);
2840  fCnew++;
2841  fMenuBarClean->AddPopup(xMenuBarClean, fMenuClean, fLayoutTopLeft);
2842 
2843  //--------------------------------- SUBMIT IN BATCH MODE
2844  TString xMenuBarSubmit = " Submit ";
2845  fMenuSubmit = new TGPopupMenu(gClient->GetRoot());
2846  fCnew++;
2847 
2848  fMenuSubmit->AddEntry(" -q 8nm ", fMenuSubmit8nmC);
2849  fMenuSubmit->AddEntry(" -q 1nh ", fMenuSubmit1nhC);
2850  fMenuSubmit->AddEntry(" -q 8nh ", fMenuSubmit8nhC);
2851  fMenuSubmit->AddEntry(" -q 1nd ", fMenuSubmit1ndC);
2852  fMenuSubmit->AddEntry(" -q 1nw ", fMenuSubmit1nwC);
2853 
2854  fMenuSubmit->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
2855  fMenuBarSubmit = new TGMenuBar(fFevLevStexFrame, 1, 1, kHorizontalFrame);
2856  fCnew++;
2857  fMenuBarSubmit->AddPopup(xMenuBarSubmit, fMenuSubmit, fLayoutTopLeft);
2858 
2859  //-------------------------- display frame Nors + Lev + Clean + Submit
2864 
2865  fLayoutFevLevStexFrame = new TGLayoutHints(kLHintsTop | kLHintsExpandX, xB1, xB1, xB1, xB1);
2866  fCnew++;
2867 
2869 
2870  //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2871  //
2872  // Horizontal Frame: StexNumber + Nb of Requested events
2873  //
2874  //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2875  fCompStRqFrame = new TGCompositeFrame(this, 60, 20, kHorizontalFrame, GetDefaultFrameBackground());
2876  fCnew++;
2877 
2878  //----------------------------------- STEX NUMBER
2879  TString xSumoButText;
2880  if (fSubDet == "EB") {
2881  xSumoButText = " SM# (0=EB) ";
2882  }
2883  if (fSubDet == "EE") {
2884  xSumoButText = " Dee# (0=EE) ";
2885  }
2886 
2887  Int_t stex_number_buf_lenght = 36;
2888  fStexFrame = new TGCompositeFrame(fCompStRqFrame, 60, 20, kHorizontalFrame, kSunkenFrame);
2889  fCnew++;
2890 
2891  fStexBut = new TGTextButton(fStexFrame, xSumoButText);
2892  fCnew++;
2893  fStexBut->Connect("Clicked()", "TEcnaGui", this, "DoButtonStex()");
2894  fStexBut->SetToolTipText("Click here to register the number written on the right");
2895  fStexBut->SetBackgroundColor(SubDetColor);
2896  //fStexBut->SetFont("courier", GlobFont);
2897  fLayoutStexBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
2898  fCnew++;
2899  fStexFrame->AddFrame(fStexBut, fLayoutStexBut);
2900 
2901  fEntryStexNumber = new TGTextBuffer();
2902  fCnew++;
2903  fStexText = new TGTextEntry(fStexFrame, fEntryStexNumber);
2904  fCnew++;
2905 
2906  TString xStexNumber;
2907  if (fSubDet == "EB") {
2908  xStexNumber = "Click and enter the SM number";
2909  }
2910  if (fSubDet == "EE") {
2911  xStexNumber = "Click and enter the Dee number";
2912  }
2913  fStexText->SetToolTipText(xStexNumber);
2914  fStexText->Resize(stex_number_buf_lenght, fStexText->GetDefaultHeight());
2916  fStexText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonStex()");
2917 
2918  fLayoutStexFieldText = new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1, xB1, xB1, xB1);
2919  fCnew++;
2921 
2922  //=================================== NUMBER OF REQUESTED EVENTS
2923  TString xNbOfReqEvtButText = " Nb of events ";
2924  Int_t nbof_evt_buf_lenght = 65;
2925  fRevFrame = new TGCompositeFrame(fCompStRqFrame, 60, 20, kHorizontalFrame, kSunkenFrame);
2926  fCnew++;
2927 
2928  fRevBut = new TGTextButton(fRevFrame, xNbOfReqEvtButText);
2929  fCnew++;
2930  fRevBut->Connect("Clicked()", "TEcnaGui", this, "DoButtonRev()");
2931  fRevBut->SetToolTipText("Click here to register the requested number of events");
2932  fRevBut->SetBackgroundColor(SubDetColor);
2933  fLayoutRevBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
2934  fCnew++;
2935  fRevFrame->AddFrame(fRevBut, fLayoutRevBut);
2936 
2937  fEntryRevNumber = new TGTextBuffer();
2938  fCnew++;
2939  fRevText = new TGTextEntry(fRevFrame, fEntryRevNumber);
2940  fCnew++;
2941  fRevText->SetToolTipText("Click and enter the requested number of events");
2942  fRevText->Resize(nbof_evt_buf_lenght, fRevText->GetDefaultHeight());
2944  fRevText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonRev()");
2945  fLayoutRevFieldText = new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1, xB1, xB1, xB1);
2946  fCnew++;
2948 
2949  //-------------------------- display frame stex number + Nb of req evts
2952 
2953  fLayoutCompStRqFrame = new TGLayoutHints(kLHintsTop | kLHintsExpandX, xB1, xB1, xB1, xB1);
2954  fCnew++;
2956  AddFrame(fVoidFrame, fLayoutGeneral);
2957 
2958  //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2959  //
2960  // Horizontal Frame: StexStin numbering + NbSampForCalc + Calculations
2961  //
2962  //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2963  fCompStnbFrame = new TGCompositeFrame(this, 60, 20, kHorizontalFrame, GetDefaultFrameBackground());
2964  fCnew++;
2965 
2966  // ---------------------------------STEX STIN NUMBERING VIEW BUTTON
2967  //............ Button texts and lenghts of the input widgets
2968  TString xStexNbButText;
2969  if (fSubDet == "EB") {
2970  xStexNbButText = "SM Tower Numbering";
2971  }
2972  if (fSubDet == "EE") {
2973  xStexNbButText = "Dee SC Numbering";
2974  }
2975  fButStexNb = new TGTextButton(fCompStnbFrame, xStexNbButText, fButStexNbC);
2976  fCnew++;
2977  fButStexNb->Connect("Clicked()", "TEcnaGui", this, "DoButtonStexNb()");
2978  fButStexNb->SetBackgroundColor(SubDetColor);
2979 
2980  //----------------------------------- Nb Of Samples For Calculations
2981  TString xNbSampForCalcButText = "Nb Samp Calc";
2982  Int_t nb_of_samp_calc_buf_lenght = 28;
2983  fNbSampForCalcFrame = new TGCompositeFrame(fCompStnbFrame, 60, 20, kHorizontalFrame, kSunkenFrame);
2984  fCnew++;
2985 
2986  fNbSampForCalcBut = new TGTextButton(fNbSampForCalcFrame, xNbSampForCalcButText);
2987  fCnew++;
2988  fNbSampForCalcBut->Connect("Clicked()", "TEcnaGui", this, "DoButtonNbSampForCalc()");
2989  fNbSampForCalcBut->SetToolTipText("Click here to register the number written on the right");
2990  fNbSampForCalcBut->SetBackgroundColor(SubDetColor);
2991  //fNbSampForCalcBut->SetFont("courier", GlobFont);
2992  fLayoutNbSampForCalcBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
2993  fCnew++;
2995 
2996  fEntryNbSampForCalcNumber = new TGTextBuffer();
2997  fCnew++;
2999  fCnew++;
3000 
3001  TString xNbSampForCalcNumber = "Click and enter the nb of samples for calculations";
3002  fNbSampForCalcText->SetToolTipText(xNbSampForCalcNumber);
3003  fNbSampForCalcText->Resize(nb_of_samp_calc_buf_lenght, fNbSampForCalcText->GetDefaultHeight());
3005  fNbSampForCalcText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonNbSampForCalc()");
3006 
3007  fLayoutNbSampForCalcFieldText = new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1, xB1, xB1, xB1);
3008  fCnew++;
3010 
3011  //--------------------------------- Calculations Menu
3012  TString xMenuBarComput = "Calculations ";
3013  fMenuComput = new TGPopupMenu(gClient->GetRoot());
3014  fCnew++;
3015  fMenuComput->AddEntry("Standard ( Pedestals, Noises, Cor(s,s') )", fMenuComputStdC);
3016  fMenuComput->AddEntry("Standard + |Cor(t,t')| (long time)", fMenuComputSttC);
3017  fMenuComput->AddEntry("Standard + |Cor(t,t')| + |Cor(c,c')| (long time + big file)", fMenuComputSccC);
3018 
3019  fMenuComput->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
3020  fMenuBarComput = new TGMenuBar(fCompStnbFrame, 1, 1, kHorizontalFrame);
3021  fCnew++;
3022  fMenuBarComput->AddPopup(xMenuBarComput, fMenuComput, fLayoutTopLeft);
3023 
3024  //-------------------------- display frame stexstin numbering + Nb samp for calc + Calculations
3028 
3029  fLayoutCompStnbFrame = new TGLayoutHints(kLHintsTop | kLHintsExpandX, xB1, xB1, xB1, xB1);
3030  fCnew++;
3032  AddFrame(fVoidFrame, fLayoutGeneral);
3033 
3034  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3035  //
3036  // SECTOR 2: Stex's if SM # 0 or Stas's if SM =0
3037  //
3038  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3039  Int_t minmax_buf_lenght = 45;
3040 
3041  fStexUpFrame = new TGCompositeFrame(this, 60, 20, kVerticalFrame, GetDefaultFrameBackground());
3042  fCnew++;
3043  TString xYminButText = " Ymin ";
3044  TString xYmaxButText = " Ymax ";
3045  //########################################### Composite frame number of events found in the data
3046  fVmmD_NOE_ChNbFrame = new TGCompositeFrame(fStexUpFrame, 60, 20, kHorizontalFrame, kSunkenFrame);
3047  fCnew++;
3048  //...................................... Menu number of events found in the data
3049 
3050  //...................................... Frame for Ymax
3051  fVmaxD_NOE_ChNbFrame = new TGCompositeFrame(fVmmD_NOE_ChNbFrame, 60, 20, kHorizontalFrame, kSunkenFrame);
3052  fCnew++;
3053  //...................................... Button Max + Entry field
3054  fVmaxD_NOE_ChNbBut = new TGTextButton(fVmaxD_NOE_ChNbFrame, xYmaxButText);
3055  fCnew++;
3056  fVmaxD_NOE_ChNbBut->Connect("Clicked()", "TEcnaGui", this, "DoButtonVmaxD_NOE_ChNb()");
3057  fVmaxD_NOE_ChNbBut->SetToolTipText("Click here to register ymax for the display of the quantity");
3058  fVmaxD_NOE_ChNbBut->SetBackgroundColor(SubDetColor);
3059  fLayoutVmaxD_NOE_ChNbBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
3060  fCnew++;
3062  fEntryVmaxD_NOE_ChNbNumber = new TGTextBuffer();
3063  fCnew++;
3065  fCnew++;
3066  fVmaxD_NOE_ChNbText->SetToolTipText("Click and enter ymax");
3067  fVmaxD_NOE_ChNbText->Resize(minmax_buf_lenght, fVmaxD_NOE_ChNbText->GetDefaultHeight());
3069  fVmaxD_NOE_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVmaxD_NOE_ChNb()");
3070 
3071  fLayoutVmaxD_NOE_ChNbFieldText = new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1, xB1, xB1, xB1);
3072  fCnew++;
3074  fLayoutVmaxD_NOE_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3075  fCnew++;
3077 
3078  //...................................... Frame for Ymin
3079  fVminD_NOE_ChNbFrame = new TGCompositeFrame(fVmmD_NOE_ChNbFrame, 60, 20, kHorizontalFrame, kSunkenFrame);
3080  fCnew++;
3081  //...................................... Button Min + Entry field
3082  fVminD_NOE_ChNbBut = new TGTextButton(fVminD_NOE_ChNbFrame, xYminButText);
3083  fCnew++;
3084  fVminD_NOE_ChNbBut->Connect("Clicked()", "TEcnaGui", this, "DoButtonVminD_NOE_ChNb()");
3085  fVminD_NOE_ChNbBut->SetToolTipText("Click here to register ymin for the display of the quantity");
3086  fVminD_NOE_ChNbBut->SetBackgroundColor(SubDetColor);
3087  fLayoutVminD_NOE_ChNbBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
3088  fCnew++;
3090  fEntryVminD_NOE_ChNbNumber = new TGTextBuffer();
3091  fCnew++;
3093  fCnew++;
3094  fVminD_NOE_ChNbText->SetToolTipText("Click and enter ymin");
3095  fVminD_NOE_ChNbText->Resize(minmax_buf_lenght, fVminD_NOE_ChNbText->GetDefaultHeight());
3097  fVminD_NOE_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVminD_NOE_ChNb()");
3098  fLayoutVminD_NOE_ChNbFieldText = new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1, xB1, xB1, xB1);
3099  fCnew++;
3101  fLayoutVminD_NOE_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3102  fCnew++;
3104 
3105  //...................................... MenuBar strings
3106  TString xHistoChannels = "1D Histo";
3107  TString xHistoChannelsSame = "1D Histo SAME";
3108  TString xHistoChannelsSameP = "1D Histo SAME n";
3109  TString xHistoProjection = "1D Histo Projection";
3110  TString xHistoProjectionSame = "1D Histo Projection SAME";
3111  TString xHistoProjectionSameP = "1D Histo Projection SAME n";
3112  TString xHocoVecoViewSorS = "2D, Histo";
3113  if (fSubDet == "EB") {
3114  xHocoVecoViewSorS = "2D, Histo (eta,phi)";
3115  }
3116  if (fSubDet == "EE") {
3117  xHocoVecoViewSorS = "2D, Histo (IX,IY)";
3118  }
3119  TString xAsciiFileStex = "1D Histo, write in ASCII file";
3120 
3121  //...................................... Frame
3122  TString xMenuD_NOE_ChNb = "Numbers of events ";
3123  fMenuD_NOE_ChNb = new TGPopupMenu(gClient->GetRoot());
3124  fCnew++;
3125  fMenuD_NOE_ChNb->AddEntry(xHistoChannels, fMenuD_NOE_ChNbFullC);
3126  fMenuD_NOE_ChNb->AddEntry(xHistoChannelsSame, fMenuD_NOE_ChNbSameC);
3127  fMenuD_NOE_ChNb->AddSeparator();
3128  fMenuD_NOE_ChNb->AddEntry(xHocoVecoViewSorS, fMenuD_NOE_ChNbHocoVecoC);
3129  fMenuD_NOE_ChNb->AddSeparator();
3130  fMenuD_NOE_ChNb->AddEntry(xAsciiFileStex, fMenuD_NOE_ChNbAsciiFileC);
3131  fMenuD_NOE_ChNb->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
3132  fMenuBarD_NOE_ChNb = new TGMenuBar(fVmmD_NOE_ChNbFrame, 1, 1, kHorizontalFrame);
3133  fCnew++;
3134 
3135  //fMenuBarD_NOE_ChNb->SetMinWidth(200); // <= N'A STRICTEMENT AUCUN EFFET.
3136 
3137  fMenuBarD_NOE_ChNb->AddPopup(xMenuD_NOE_ChNb, fMenuD_NOE_ChNb, fLayoutGeneral);
3138  fLayoutMenuBarD_NOE_ChNb = new TGLayoutHints(kLHintsRight, xB1, xB1, xB1, xB1);
3139  fCnew++;
3141  fLayoutVmmD_NOE_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3142  fCnew++;
3144 
3145  //............................. Expectation values + Sigmas Vertical frame
3146  fStexHozFrame = new TGCompositeFrame(fStexUpFrame, 60, 20, kVerticalFrame, GetDefaultFrameBackground());
3147  fCnew++;
3148 
3149  //########################################### Composite frame ev of ev (pedestals)
3150  fVmmD_Ped_ChNbFrame = new TGCompositeFrame(fStexHozFrame, 60, 20, kHorizontalFrame, kSunkenFrame);
3151  fCnew++;
3152 
3153  //...................................... Menu ev of ev
3154 
3155  //...................................... Frame for Ymax
3156  fVmaxD_Ped_ChNbFrame = new TGCompositeFrame(fVmmD_Ped_ChNbFrame, 60, 20, kHorizontalFrame, kSunkenFrame);
3157  fCnew++;
3158  //...................................... Button Max + Entry field
3159  fVmaxD_Ped_ChNbBut = new TGTextButton(fVmaxD_Ped_ChNbFrame, xYmaxButText);
3160  fCnew++;
3161  fVmaxD_Ped_ChNbBut->Connect("Clicked()", "TEcnaGui", this, "DoButtonVmaxD_Ped_ChNb()");
3162  fVmaxD_Ped_ChNbBut->SetToolTipText("Click here to register ymax for the display of the quantity");
3163  fLayoutVmaxD_Ped_ChNbBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
3164  fCnew++;
3165  fVmaxD_Ped_ChNbBut->SetBackgroundColor(SubDetColor);
3167  fEntryVmaxD_Ped_ChNbNumber = new TGTextBuffer();
3168  fCnew++;
3170  fCnew++;
3171  fVmaxD_Ped_ChNbText->SetToolTipText("Click and enter ymax");
3172  fVmaxD_Ped_ChNbText->Resize(minmax_buf_lenght, fVmaxD_Ped_ChNbText->GetDefaultHeight());
3174  fVmaxD_Ped_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVmaxD_Ped_ChNb()");
3175  fLayoutVmaxD_Ped_ChNbFieldText = new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1, xB1, xB1, xB1);
3176  fCnew++;
3178  fLayoutVmaxD_Ped_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3179  fCnew++;
3181 
3182  //...................................... Frame for Ymin
3183  fVminD_Ped_ChNbFrame = new TGCompositeFrame(fVmmD_Ped_ChNbFrame, 60, 20, kHorizontalFrame, kSunkenFrame);
3184  fCnew++;
3185  //...................................... Button Min + Entry field
3186  fVminD_Ped_ChNbBut = new TGTextButton(fVminD_Ped_ChNbFrame, xYminButText);
3187  fCnew++;
3188  fVminD_Ped_ChNbBut->Connect("Clicked()", "TEcnaGui", this, "DoButtonVminD_Ped_ChNb()");
3189  fVminD_Ped_ChNbBut->SetToolTipText("Click here to register ymin for the display of the quantity");
3190  fVminD_Ped_ChNbBut->SetBackgroundColor(SubDetColor);
3191  fLayoutVminD_Ped_ChNbBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
3192  fCnew++;
3194 
3195  fEntryVminD_Ped_ChNbNumber = new TGTextBuffer();
3196  fCnew++;
3198  fCnew++;
3199  fVminD_Ped_ChNbText->SetToolTipText("Click and enter ymin");
3200  fVminD_Ped_ChNbText->Resize(minmax_buf_lenght, fVminD_Ped_ChNbText->GetDefaultHeight());
3202  fVminD_Ped_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVminD_Ped_ChNb()");
3203  fLayoutVminD_Ped_ChNbFieldText = new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1, xB1, xB1, xB1);
3204  fCnew++;
3206  fLayoutVminD_Ped_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3207  fCnew++;
3209 
3210  //...................................... Frame
3211  TString xMenuD_Ped_ChNb = " Pedestals ";
3212  fMenuD_Ped_ChNb = new TGPopupMenu(gClient->GetRoot());
3213  fCnew++;
3214  fMenuD_Ped_ChNb->AddEntry(xHistoChannels, fMenuD_Ped_ChNbFullC);
3215  fMenuD_Ped_ChNb->AddEntry(xHistoChannelsSame, fMenuD_Ped_ChNbSameC);
3216  fMenuD_Ped_ChNb->AddSeparator();
3217  fMenuD_Ped_ChNb->AddEntry(xHocoVecoViewSorS, fMenuD_Ped_ChNbHocoVecoC);
3218  fMenuD_Ped_ChNb->AddSeparator();
3219  fMenuD_Ped_ChNb->AddEntry(xAsciiFileStex, fMenuD_Ped_ChNbAsciiFileC);
3220  fMenuD_Ped_ChNb->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
3221  fMenuBarD_Ped_ChNb = new TGMenuBar(fVmmD_Ped_ChNbFrame, 1, 1, kHorizontalFrame);
3222  fCnew++;
3223  fMenuBarD_Ped_ChNb->AddPopup(xMenuD_Ped_ChNb, fMenuD_Ped_ChNb, fLayoutGeneral);
3224  fLayoutMenuBarD_Ped_ChNb = new TGLayoutHints(kLHintsRight, xB1, xB1, xB1, xB1);
3225  fCnew++;
3227 
3228  fLayoutVmmD_Ped_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3229  fCnew++;
3231 
3232  //########################################### Composite frame for TOTAL NOISE
3233  fVmmD_TNo_ChNbFrame = new TGCompositeFrame(fStexHozFrame, 60, 20, kHorizontalFrame, kSunkenFrame);
3234  fCnew++;
3235 
3236  //...................................... Menu ev of sig
3237  //...................................... Frame for Ymax
3238  fVmaxD_TNo_ChNbFrame = new TGCompositeFrame(fVmmD_TNo_ChNbFrame, 60, 20, kHorizontalFrame, kSunkenFrame);
3239  fCnew++;
3240  //...................................... Button Max + Entry field
3241  fVmaxD_TNo_ChNbBut = new TGTextButton(fVmaxD_TNo_ChNbFrame, xYmaxButText);
3242  fCnew++;
3243  fVmaxD_TNo_ChNbBut->Connect("Clicked()", "TEcnaGui", this, "DoButtonVmaxD_TNo_ChNb()");
3244  fVmaxD_TNo_ChNbBut->SetToolTipText("Click here to register ymax for the display of the quantity");
3245  fVmaxD_TNo_ChNbBut->SetBackgroundColor(SubDetColor);
3246  fLayoutVmaxD_TNo_ChNbBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
3247  fCnew++;
3249  fEntryVmaxD_TNo_ChNbNumber = new TGTextBuffer();
3250  fCnew++;
3252  fCnew++;
3253  fVmaxD_TNo_ChNbText->SetToolTipText("Click and enter ymax");
3254  fVmaxD_TNo_ChNbText->Resize(minmax_buf_lenght, fVmaxD_TNo_ChNbText->GetDefaultHeight());
3256  fVmaxD_TNo_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVmaxD_TNo_ChNb()");
3257  fLayoutVmaxD_TNo_ChNbFieldText = new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1, xB1, xB1, xB1);
3258  fCnew++;
3260  fLayoutVmaxD_TNo_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3261  fCnew++;
3263 
3264  //...................................... Frame for Ymin
3265  fVminD_TNo_ChNbFrame = new TGCompositeFrame(fVmmD_TNo_ChNbFrame, 60, 20, kHorizontalFrame, kSunkenFrame);
3266  fCnew++;
3267  //...................................... Button Min + Entry field
3268  fVminD_TNo_ChNbBut = new TGTextButton(fVminD_TNo_ChNbFrame, xYminButText);
3269  fCnew++;
3270  fVminD_TNo_ChNbBut->Connect("Clicked()", "TEcnaGui", this, "DoButtonVminD_TNo_ChNb()");
3271  fVminD_TNo_ChNbBut->SetToolTipText("Click here to register ymin for the display of the quantity");
3272  fVminD_TNo_ChNbBut->SetBackgroundColor(SubDetColor);
3273  fLayoutVminD_TNo_ChNbBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
3274  fCnew++;
3276 
3277  fEntryVminD_TNo_ChNbNumber = new TGTextBuffer();
3278  fCnew++;
3280  fCnew++;
3281  fVminD_TNo_ChNbText->SetToolTipText("Click and enter ymin");
3282  fVminD_TNo_ChNbText->Resize(minmax_buf_lenght, fVminD_TNo_ChNbText->GetDefaultHeight());
3284  fVminD_TNo_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVminD_TNo_ChNb()");
3285  fLayoutVminD_TNo_ChNbFieldText = new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1, xB1, xB1, xB1);
3286  fCnew++;
3288  fLayoutVminD_TNo_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3289  fCnew++;
3291 
3292  //...................................... Frame
3293  TString xMenuD_TNo_ChNb = " Total Noise ";
3294  fMenuD_TNo_ChNb = new TGPopupMenu(gClient->GetRoot());
3295  fCnew++;
3296  fMenuD_TNo_ChNb->AddEntry(xHistoChannels, fMenuD_TNo_ChNbFullC);
3297  fMenuD_TNo_ChNb->AddEntry(xHistoChannelsSame, fMenuD_TNo_ChNbSameC);
3298  fMenuD_TNo_ChNb->AddEntry(xHistoChannelsSameP, fMenuD_TNo_ChNbSamePC);
3299  fMenuD_TNo_ChNb->AddSeparator();
3300  fMenuD_TNo_ChNb->AddEntry(xHocoVecoViewSorS, fMenuD_TNo_ChNbHocoVecoC);
3301  fMenuD_TNo_ChNb->AddSeparator();
3302  fMenuD_TNo_ChNb->AddEntry(xAsciiFileStex, fMenuD_TNo_ChNbAsciiFileC);
3303  fMenuD_TNo_ChNb->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
3304  fMenuBarD_TNo_ChNb = new TGMenuBar(fVmmD_TNo_ChNbFrame, 1, 1, kHorizontalFrame);
3305  fCnew++;
3306  fMenuBarD_TNo_ChNb->AddPopup(xMenuD_TNo_ChNb, fMenuD_TNo_ChNb, fLayoutGeneral);
3307  fLayoutMenuBarD_TNo_ChNb = new TGLayoutHints(kLHintsRight, xB1, xB1, xB1, xB1);
3308  fCnew++;
3310 
3311  fLayoutVmmD_TNo_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3312  fCnew++;
3314 
3315  //########################################### Composite frame for LOW FREQUENCY NOISE
3316  fVmmD_LFN_ChNbFrame = new TGCompositeFrame(fStexHozFrame, 60, 20, kHorizontalFrame, kSunkenFrame);
3317  fCnew++;
3318 
3319  //...................................... Menu sig of ev (LOW FREQUENCY NOISE)
3320  //...................................... Frame for Ymax
3321  fVmaxD_LFN_ChNbFrame = new TGCompositeFrame(fVmmD_LFN_ChNbFrame, 60, 20, kHorizontalFrame, kSunkenFrame);
3322  fCnew++;
3323  //...................................... Button Max + Entry field
3324  fVmaxD_LFN_ChNbBut = new TGTextButton(fVmaxD_LFN_ChNbFrame, xYmaxButText);
3325  fCnew++;
3326  fVmaxD_LFN_ChNbBut->Connect("Clicked()", "TEcnaGui", this, "DoButtonVmaxD_LFN_ChNb()");
3327  fVmaxD_LFN_ChNbBut->SetToolTipText("Click here to register ymax for the display of the quantity");
3328  fVmaxD_LFN_ChNbBut->SetBackgroundColor(SubDetColor);
3329  fLayoutVmaxD_LFN_ChNbBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
3330  fCnew++;
3332  fEntryVmaxD_LFN_ChNbNumber = new TGTextBuffer();
3333  fCnew++;
3335  fCnew++;
3336  fVmaxD_LFN_ChNbText->SetToolTipText("Click and enter ymax");
3337  fVmaxD_LFN_ChNbText->Resize(minmax_buf_lenght, fVmaxD_LFN_ChNbText->GetDefaultHeight());
3339  fVmaxD_LFN_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVmaxD_LFN_ChNb()");
3340  fLayoutVmaxD_LFN_ChNbFieldText = new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1, xB1, xB1, xB1);
3341  fCnew++;
3343  fLayoutVmaxD_LFN_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3344  fCnew++;
3346 
3347  //...................................... Frame for Ymin
3348  fVminD_LFN_ChNbFrame = new TGCompositeFrame(fVmmD_LFN_ChNbFrame, 60, 20, kHorizontalFrame, kSunkenFrame);
3349  fCnew++;
3350  //...................................... Button Min + Entry field
3351  fVminD_LFN_ChNbBut = new TGTextButton(fVminD_LFN_ChNbFrame, xYminButText);
3352  fCnew++;
3353  fVminD_LFN_ChNbBut->Connect("Clicked()", "TEcnaGui", this, "DoButtonVminD_LFN_ChNb()");
3354  fVminD_LFN_ChNbBut->SetToolTipText("Click here to register ymin for the display of the quantity");
3355  fVminD_LFN_ChNbBut->SetBackgroundColor(SubDetColor);
3356  fLayoutVminD_LFN_ChNbBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
3357  fCnew++;
3359  fEntryVminD_LFN_ChNbNumber = new TGTextBuffer();
3360  fCnew++;
3362  fCnew++;
3363  fVminD_LFN_ChNbText->SetToolTipText("Click and enter ymin");
3364  fVminD_LFN_ChNbText->Resize(minmax_buf_lenght, fVminD_LFN_ChNbText->GetDefaultHeight());
3366  fVminD_LFN_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVminD_LFN_ChNb()");
3367  fLayoutVminD_LFN_ChNbFieldText = new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1, xB1, xB1, xB1);
3368  fCnew++;
3370  fLayoutVminD_LFN_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3371  fCnew++;
3373 
3374  //...................................... Frame
3375  TString xMenuD_LFN_ChNb = " Low Frequency Noise ";
3376  fMenuD_LFN_ChNb = new TGPopupMenu(gClient->GetRoot());
3377  fCnew++;
3378  fMenuD_LFN_ChNb->AddEntry(xHistoChannels, fMenuD_LFN_ChNbFullC);
3379  fMenuD_LFN_ChNb->AddEntry(xHistoChannelsSame, fMenuD_LFN_ChNbSameC);
3380  fMenuD_LFN_ChNb->AddEntry(xHistoChannelsSameP, fMenuD_LFN_ChNbSamePC);
3381  fMenuD_LFN_ChNb->AddSeparator();
3382  fMenuD_LFN_ChNb->AddEntry(xHocoVecoViewSorS, fMenuD_LFN_ChNbHocoVecoC);
3383  fMenuD_LFN_ChNb->AddSeparator();
3384  fMenuD_LFN_ChNb->AddEntry(xAsciiFileStex, fMenuD_LFN_ChNbAsciiFileC);
3385  fMenuD_LFN_ChNb->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
3386  fMenuBarD_LFN_ChNb = new TGMenuBar(fVmmD_LFN_ChNbFrame, 1, 1, kHorizontalFrame);
3387  fCnew++;
3388  fMenuBarD_LFN_ChNb->AddPopup(xMenuD_LFN_ChNb, fMenuD_LFN_ChNb, fLayoutGeneral);
3389  fLayoutMenuBarD_LFN_ChNb = new TGLayoutHints(kLHintsRight, xB1, xB1, xB1, xB1);
3390  fCnew++;
3392  fLayoutVmmD_LFN_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3393  fCnew++;
3395 
3396  //########################################### Composite frame for HIGH FREQUENCY NOISE
3397  fVmmD_HFN_ChNbFrame = new TGCompositeFrame(fStexHozFrame, 60, 20, kHorizontalFrame, kSunkenFrame);
3398  fCnew++;
3399 
3400  //...................................... Menu sig of sig (HIGH FREQUENCY NOISE)
3401  //...................................... Frame for Ymax
3402  fVmaxD_HFN_ChNbFrame = new TGCompositeFrame(fVmmD_HFN_ChNbFrame, 60, 20, kHorizontalFrame, kSunkenFrame);
3403  fCnew++;
3404  //...................................... Button Max + Entry field
3405  fVmaxD_HFN_ChNbBut = new TGTextButton(fVmaxD_HFN_ChNbFrame, xYmaxButText);
3406  fCnew++;
3407  fVmaxD_HFN_ChNbBut->Connect("Clicked()", "TEcnaGui", this, "DoButtonVmaxD_HFN_ChNb()");
3408  fVmaxD_HFN_ChNbBut->SetToolTipText("Click here to register ymax for the display of the quantity");
3409  fVmaxD_HFN_ChNbBut->SetBackgroundColor(SubDetColor);
3410  fLayoutVmaxD_HFN_ChNbBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
3411  fCnew++;
3413  fEntryVmaxD_HFN_ChNbNumber = new TGTextBuffer();
3414  fCnew++;
3416  fCnew++;
3417  fVmaxD_HFN_ChNbText->SetToolTipText("Click and enter ymax");
3418  fVmaxD_HFN_ChNbText->Resize(minmax_buf_lenght, fVmaxD_HFN_ChNbText->GetDefaultHeight());
3420  fVmaxD_HFN_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVmaxD_HFN_ChNb()");
3421  fLayoutVmaxD_HFN_ChNbFieldText = new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1, xB1, xB1, xB1);
3422  fCnew++;
3424  fLayoutVmaxD_HFN_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3425  fCnew++;
3427 
3428  //...................................... Frame for Ymin
3429  fVminD_HFN_ChNbFrame = new TGCompositeFrame(fVmmD_HFN_ChNbFrame, 60, 20, kHorizontalFrame, kSunkenFrame);
3430  fCnew++;
3431  //...................................... Button Min + Entry field
3432  fVminD_HFN_ChNbBut = new TGTextButton(fVminD_HFN_ChNbFrame, xYminButText);
3433  fCnew++;
3434  fVminD_HFN_ChNbBut->Connect("Clicked()", "TEcnaGui", this, "DoButtonVminD_HFN_ChNb()");
3435  fVminD_HFN_ChNbBut->SetToolTipText("Click here to register ymin for the display of the quantity");
3436  fVminD_HFN_ChNbBut->SetBackgroundColor(SubDetColor);
3437  fLayoutVminD_HFN_ChNbBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
3438  fCnew++;
3440  fEntryVminD_HFN_ChNbNumber = new TGTextBuffer();
3441  fCnew++;
3443  fCnew++;
3444  fVminD_HFN_ChNbText->SetToolTipText("Click and enter ymin");
3445  fVminD_HFN_ChNbText->Resize(minmax_buf_lenght, fVminD_HFN_ChNbText->GetDefaultHeight());
3447  fVminD_HFN_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVminD_HFN_ChNb()");
3448  fLayoutVminD_HFN_ChNbFieldText = new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1, xB1, xB1, xB1);
3449  fCnew++;
3451  fLayoutVminD_HFN_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3452  fCnew++;
3454 
3455  //...................................... Frame
3456  TString xMenuD_HFN_ChNb = " High Frequency Noise ";
3457  fMenuD_HFN_ChNb = new TGPopupMenu(gClient->GetRoot());
3458  fCnew++;
3459  fMenuD_HFN_ChNb->AddEntry(xHistoChannels, fMenuD_HFN_ChNbFullC);
3460  fMenuD_HFN_ChNb->AddEntry(xHistoChannelsSame, fMenuD_HFN_ChNbSameC);
3461  fMenuD_HFN_ChNb->AddEntry(xHistoChannelsSameP, fMenuD_HFN_ChNbSamePC);
3462  fMenuD_HFN_ChNb->AddSeparator();
3463  fMenuD_HFN_ChNb->AddEntry(xHocoVecoViewSorS, fMenuD_HFN_ChNbHocoVecoC);
3464  fMenuD_HFN_ChNb->AddSeparator();
3465  fMenuD_HFN_ChNb->AddEntry(xAsciiFileStex, fMenuD_HFN_ChNbAsciiFileC);
3466  fMenuD_HFN_ChNb->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
3467  fMenuBarD_HFN_ChNb = new TGMenuBar(fVmmD_HFN_ChNbFrame, 1, 1, kHorizontalFrame);
3468  fCnew++;
3469  fMenuBarD_HFN_ChNb->AddPopup(xMenuD_HFN_ChNb, fMenuD_HFN_ChNb, fLayoutGeneral);
3470  fLayoutMenuBarD_HFN_ChNb = new TGLayoutHints(kLHintsRight, xB1, xB1, xB1, xB1);
3471  fCnew++;
3473 
3474  fLayoutVmmD_HFN_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3475  fCnew++;
3477 
3478  //########################################### Composite frame for MEAN COR(s,s')
3479  fVmmD_MCs_ChNbFrame = new TGCompositeFrame(fStexHozFrame, 60, 20, kHorizontalFrame, kSunkenFrame);
3480  fCnew++;
3481 
3482  //...................................... Menu ev of Corss
3483 
3484  //...................................... Frame
3485  fVmaxD_MCs_ChNbFrame = new TGCompositeFrame(fVmmD_MCs_ChNbFrame, 60, 20, kHorizontalFrame, kSunkenFrame);
3486  fCnew++;
3487  //...................................... Button Max + Entry field
3488  fVmaxD_MCs_ChNbBut = new TGTextButton(fVmaxD_MCs_ChNbFrame, xYmaxButText);
3489  fCnew++;
3490  fVmaxD_MCs_ChNbBut->Connect("Clicked()", "TEcnaGui", this, "DoButtonVmaxD_MCs_ChNb()");
3491  fVmaxD_MCs_ChNbBut->SetToolTipText("Click here to register ymax for the display of the quantity");
3492  fVmaxD_MCs_ChNbBut->SetBackgroundColor(SubDetColor);
3493  fLayoutVmaxD_MCs_ChNbBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
3494  fCnew++;
3496  fEntryVmaxD_MCs_ChNbNumber = new TGTextBuffer();
3497  fCnew++;
3499  fCnew++;
3500  fVmaxD_MCs_ChNbText->SetToolTipText("Click and enter ymax");
3501  fVmaxD_MCs_ChNbText->Resize(minmax_buf_lenght, fVmaxD_MCs_ChNbText->GetDefaultHeight());
3503  fVmaxD_MCs_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVmaxD_MCs_ChNb()");
3504  fLayoutVmaxD_MCs_ChNbFieldText = new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1, xB1, xB1, xB1);
3505  fCnew++;
3507  fLayoutVmaxD_MCs_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3508  fCnew++;
3510 
3511  //...................................... Frame for Ymin
3512  fVminD_MCs_ChNbFrame = new TGCompositeFrame(fVmmD_MCs_ChNbFrame, 60, 20, kHorizontalFrame, kSunkenFrame);
3513  fCnew++;
3514  //...................................... Button Min + Entry field
3515  fVminD_MCs_ChNbBut = new TGTextButton(fVminD_MCs_ChNbFrame, xYminButText);
3516  fCnew++;
3517  fVminD_MCs_ChNbBut->Connect("Clicked()", "TEcnaGui", this, "DoButtonVminD_MCs_ChNb()");
3518  fVminD_MCs_ChNbBut->SetToolTipText("Click here to register ymin for the display of the quantity");
3519  fVminD_MCs_ChNbBut->SetBackgroundColor(SubDetColor);
3520  fLayoutVminD_MCs_ChNbBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
3521  fCnew++;
3523  fEntryVminD_MCs_ChNbNumber = new TGTextBuffer();
3524  fCnew++;
3526  fCnew++;
3527  fVminD_MCs_ChNbText->SetToolTipText("Click and enter ymin");
3528  fVminD_MCs_ChNbText->Resize(minmax_buf_lenght, fVminD_MCs_ChNbText->GetDefaultHeight());
3530  fVminD_MCs_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVminD_MCs_ChNb()");
3531  fLayoutVminD_MCs_ChNbFieldText = new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1, xB1, xB1, xB1);
3532  fCnew++;
3534  fLayoutVminD_MCs_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3535  fCnew++;
3537 
3538  //...................................... Frame for Mean cor(s,s')
3539  TString xMenuD_MCs_ChNb = " Mean cor(s,s') ";
3540  fMenuD_MCs_ChNb = new TGPopupMenu(gClient->GetRoot());
3541  fCnew++;
3542  fMenuD_MCs_ChNb->AddEntry(xHistoChannels, fMenuD_MCs_ChNbFullC);
3543  fMenuD_MCs_ChNb->AddEntry(xHistoChannelsSame, fMenuD_MCs_ChNbSameC);
3544  fMenuD_MCs_ChNb->AddEntry(xHistoChannelsSameP, fMenuD_MCs_ChNbSamePC);
3545  fMenuD_MCs_ChNb->AddSeparator();
3546  fMenuD_MCs_ChNb->AddEntry(xHocoVecoViewSorS, fMenuD_MCs_ChNbHocoVecoC);
3547  fMenuD_MCs_ChNb->AddSeparator();
3548  fMenuD_MCs_ChNb->AddEntry(xAsciiFileStex, fMenuD_MCs_ChNbAsciiFileC);
3549  fMenuD_MCs_ChNb->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
3550  fMenuBarD_MCs_ChNb = new TGMenuBar(fVmmD_MCs_ChNbFrame, 1, 1, kHorizontalFrame);
3551  fCnew++;
3552  fMenuBarD_MCs_ChNb->AddPopup(xMenuD_MCs_ChNb, fMenuD_MCs_ChNb, fLayoutGeneral);
3553  fLayoutMenuBarD_MCs_ChNb = new TGLayoutHints(kLHintsRight, xB1, xB1, xB1, xB1);
3554  fCnew++;
3556 
3557  fLayoutVmmD_MCs_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3558  fCnew++;
3560 
3561  //########################################### Composite frame for SIG OF COR(s,s')
3562  fVmmD_SCs_ChNbFrame = new TGCompositeFrame(fStexHozFrame, 60, 20, kHorizontalFrame, kSunkenFrame);
3563  fCnew++;
3564 
3565  //...................................... Menu sig of Corss
3566  //...................................... Frame for Ymax
3567  fVmaxD_SCs_ChNbFrame = new TGCompositeFrame(fVmmD_SCs_ChNbFrame, 60, 20, kHorizontalFrame, kSunkenFrame);
3568  fCnew++;
3569  //...................................... Button Max + Entry field
3570  fVmaxD_SCs_ChNbBut = new TGTextButton(fVmaxD_SCs_ChNbFrame, xYmaxButText);
3571  fCnew++;
3572  fVmaxD_SCs_ChNbBut->Connect("Clicked()", "TEcnaGui", this, "DoButtonVmaxD_SCs_ChNb()");
3573  fVmaxD_SCs_ChNbBut->SetToolTipText("Click here to register ymax for the display of the quantity");
3574  fVmaxD_SCs_ChNbBut->SetBackgroundColor(SubDetColor);
3575  fLayoutVmaxD_SCs_ChNbBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
3576  fCnew++;
3578  fEntryVmaxD_SCs_ChNbNumber = new TGTextBuffer();
3579  fCnew++;
3581  fCnew++;
3582  fVmaxD_SCs_ChNbText->SetToolTipText("Click and enter ymax");
3583  fVmaxD_SCs_ChNbText->Resize(minmax_buf_lenght, fVmaxD_SCs_ChNbText->GetDefaultHeight());
3585  fVmaxD_SCs_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVmaxD_SCs_ChNb()");
3586  fLayoutVmaxD_SCs_ChNbFieldText = new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1, xB1, xB1, xB1);
3587  fCnew++;
3589  fLayoutVmaxD_SCs_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3590  fCnew++;
3592 
3593  //...................................... Frame for Ymin
3594  fVminD_SCs_ChNbFrame = new TGCompositeFrame(fVmmD_SCs_ChNbFrame, 60, 20, kHorizontalFrame, kSunkenFrame);
3595  fCnew++;
3596  //...................................... Button Min + Entry field
3597  fVminD_SCs_ChNbBut = new TGTextButton(fVminD_SCs_ChNbFrame, xYminButText);
3598  fCnew++;
3599  fVminD_SCs_ChNbBut->Connect("Clicked()", "TEcnaGui", this, "DoButtonVminD_SCs_ChNb()");
3600  fVminD_SCs_ChNbBut->SetToolTipText("Click here to register ymin for the display of the quantity");
3601  fVminD_SCs_ChNbBut->SetBackgroundColor(SubDetColor);
3602  fLayoutVminD_SCs_ChNbBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
3603  fCnew++;
3605  fEntryVminD_SCs_ChNbNumber = new TGTextBuffer();
3606  fCnew++;
3608  fCnew++;
3609  fVminD_SCs_ChNbText->SetToolTipText("Click and enter ymin");
3610  fVminD_SCs_ChNbText->Resize(minmax_buf_lenght, fVminD_SCs_ChNbText->GetDefaultHeight());
3612  fVminD_SCs_ChNbText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVminD_SCs_ChNb()");
3613  fLayoutVminD_SCs_ChNbFieldText = new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1, xB1, xB1, xB1);
3614  fCnew++;
3616  fLayoutVminD_SCs_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3617  fCnew++;
3619 
3620  //...................................... Frame
3621  TString xMenuD_SCs_ChNb = " Sigma of cor(s,s') ";
3622  fMenuD_SCs_ChNb = new TGPopupMenu(gClient->GetRoot());
3623  fCnew++;
3624  fMenuD_SCs_ChNb->AddEntry(xHistoChannels, fMenuD_SCs_ChNbFullC);
3625  fMenuD_SCs_ChNb->AddEntry(xHistoChannelsSame, fMenuD_SCs_ChNbSameC);
3626  fMenuD_SCs_ChNb->AddEntry(xHistoChannelsSameP, fMenuD_SCs_ChNbSamePC);
3627  fMenuD_SCs_ChNb->AddSeparator();
3628  fMenuD_SCs_ChNb->AddEntry(xHocoVecoViewSorS, fMenuD_SCs_ChNbHocoVecoC);
3629  fMenuD_SCs_ChNb->AddSeparator();
3630  fMenuD_SCs_ChNb->AddEntry(xAsciiFileStex, fMenuD_SCs_ChNbAsciiFileC);
3631  fMenuD_SCs_ChNb->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
3632  fMenuBarD_SCs_ChNb = new TGMenuBar(fVmmD_SCs_ChNbFrame, 1, 1, kHorizontalFrame);
3633  fCnew++;
3634  fMenuBarD_SCs_ChNb->AddPopup(xMenuD_SCs_ChNb, fMenuD_SCs_ChNb, fLayoutGeneral);
3635  fLayoutMenuBarD_SCs_ChNb = new TGLayoutHints(kLHintsRight, xB1, xB1, xB1, xB1);
3636  fCnew++;
3638 
3639  fLayoutVmmD_SCs_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3640  fCnew++;
3642 
3643  //######################################################################################################"
3644 
3645  //------------------------------------------- subframe
3646  fLayoutStexHozFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3647  fCnew++;
3649  AddFrame(fVoidFrame, fLayoutGeneral);
3650 
3651  //########################################### Composite frame corcc in Stins
3652  fVmmLHFccFrame = new TGCompositeFrame(fStexUpFrame, 60, 20, kHorizontalFrame, kSunkenFrame);
3653  fCnew++;
3654 
3655  //............ Menu Low and High Frequency correlations between channels for each Stin of Stex
3656  //...................................... Frame for Ymax
3657  fVmaxLHFccFrame = new TGCompositeFrame(fVmmLHFccFrame, 60, 20, kHorizontalFrame, kSunkenFrame);
3658  fCnew++;
3659  //...................................... Button Max + Entry field
3660  fVmaxLHFccBut = new TGTextButton(fVmaxLHFccFrame, xYmaxButText);
3661  fCnew++;
3662  fVmaxLHFccBut->Connect("Clicked()", "TEcnaGui", this, "DoButtonVmaxLHFcc()");
3663  fVmaxLHFccBut->SetToolTipText("Click here to register ymax for the display of the quantity");
3664  fVmaxLHFccBut->SetBackgroundColor(SubDetColor);
3665  fLayoutVmaxLHFccBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
3666  fCnew++;
3668  fEntryVmaxLHFccNumber = new TGTextBuffer();
3669  fCnew++;
3671  fCnew++;
3672  fVmaxLHFccText->SetToolTipText("Click and enter ymax");
3673  fVmaxLHFccText->Resize(minmax_buf_lenght, fVmaxLHFccText->GetDefaultHeight());
3675  fVmaxLHFccText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVmaxLHFcc()");
3676 
3677  fLayoutVmaxLHFccFieldText = new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1, xB1, xB1, xB1);
3678  fCnew++;
3680  fLayoutVmaxLHFccFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3681  fCnew++;
3683 
3684  //...................................... Frame for Ymin
3685  fVminLHFccFrame = new TGCompositeFrame(fVmmLHFccFrame, 60, 20, kHorizontalFrame, kSunkenFrame);
3686  fCnew++;
3687  //...................................... Button Min + Entry field
3688  fVminLHFccBut = new TGTextButton(fVminLHFccFrame, xYminButText);
3689  fCnew++;
3690  fVminLHFccBut->Connect("Clicked()", "TEcnaGui", this, "DoButtonVminLHFcc()");
3691  fVminLHFccBut->SetToolTipText("Click here to register ymin for the display of the quantity");
3692  fVminLHFccBut->SetBackgroundColor(SubDetColor);
3693  fLayoutVminLHFccBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
3694  fCnew++;
3696  fEntryVminLHFccNumber = new TGTextBuffer();
3697  fCnew++;
3699  fCnew++;
3700  fVminLHFccText->SetToolTipText("Click and enter ymin");
3701  fVminLHFccText->Resize(minmax_buf_lenght, fVminLHFccText->GetDefaultHeight());
3703  fVminLHFccText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVminLHFcc()");
3704  fLayoutVminLHFccFieldText = new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1, xB1, xB1, xB1);
3705  fCnew++;
3707  fLayoutVminLHFccFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3708  fCnew++;
3710 
3711  //........................................... Frame
3712  TString xMenuLHFcc = "GeoView LF,HF Cor(c,c') (expert)";
3713  TString xLFccViewSorS;
3714  if (fSubDet == "EB") {
3715  xLFccViewSorS = "Low Frequency Cor(c,c'), tower place -> Cor matrix";
3716  }
3717  if (fSubDet == "EE") {
3718  xLFccViewSorS = "Low Frequency Cor(c,c'), SC place -> Cor matrix";
3719  }
3720  TString xHFccViewSorS;
3721  if (fSubDet == "EB") {
3722  xHFccViewSorS = "High Frequency Cor(c,c'), tower place -> Cor matrix";
3723  }
3724  if (fSubDet == "EE") {
3725  xHFccViewSorS = "High Frequency Cor(c,c'), SC place -> Cor matrix";
3726  }
3727 
3728  fMenuLHFcc = new TGPopupMenu(gClient->GetRoot());
3729  fCnew++;
3730  fMenuLHFcc->AddEntry(xLFccViewSorS, fMenuLFccColzC);
3731  fMenuLHFcc->AddEntry(xHFccViewSorS, fMenuHFccColzC);
3732  fMenuLHFcc->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
3733  fMenuBarLHFcc = new TGMenuBar(fVmmLHFccFrame, 1, 1, kHorizontalFrame);
3734  fCnew++;
3735  fMenuBarLHFcc->AddPopup(xMenuLHFcc, fMenuLHFcc, fLayoutGeneral);
3736  fLayoutMenuBarLHFcc = new TGLayoutHints(kLHintsRight, xB1, xB1, xB1, xB1);
3737  fCnew++;
3739  fLayoutVmmLHFccFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3740  fCnew++;
3742 
3743  //################################# Composite frame Low Freq Cor(c,c') for each pair of Stins
3744  fVmmLFccMosFrame = new TGCompositeFrame(fStexUpFrame, 60, 20, kHorizontalFrame, kSunkenFrame);
3745  fCnew++;
3746 
3747  //...................................... Menu correlations between Stins
3748  //...................................... Frame
3749  fVmaxLFccMosFrame = new TGCompositeFrame(fVmmLFccMosFrame, 60, 20, kHorizontalFrame, kSunkenFrame);
3750  fCnew++;
3751  //...................................... Button Max + Entry field
3752  fVmaxLFccMosBut = new TGTextButton(fVmaxLFccMosFrame, xYmaxButText);
3753  fCnew++;
3754  fVmaxLFccMosBut->Connect("Clicked()", "TEcnaGui", this, "DoButtonVmaxLFccMos()");
3755  fVmaxLFccMosBut->SetToolTipText("Click here to register ymax for the display of the quantity");
3756  fVmaxLFccMosBut->SetBackgroundColor(SubDetColor);
3757  fLayoutVmaxLFccMosBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
3758  fCnew++;
3760  fEntryVmaxLFccMosNumber = new TGTextBuffer();
3761  fCnew++;
3763  fCnew++;
3764  fVmaxLFccMosText->SetToolTipText("Click and enter ymax");
3765  fVmaxLFccMosText->Resize(minmax_buf_lenght, fVmaxLFccMosText->GetDefaultHeight());
3767  fVmaxLFccMosText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVmaxLFccMos()");
3768 
3769  fLayoutVmaxLFccMosFieldText = new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1, xB1, xB1, xB1);
3770  fCnew++;
3772  fLayoutVmaxLFccMosFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3773  fCnew++;
3775 
3776  //...................................... Frame for Ymin
3777  fVminLFccMosFrame = new TGCompositeFrame(fVmmLFccMosFrame, 60, 20, kHorizontalFrame, kSunkenFrame);
3778  fCnew++;
3779  //...................................... Button Min + Entry field
3780  fVminLFccMosBut = new TGTextButton(fVminLFccMosFrame, xYminButText);
3781  fCnew++;
3782  fVminLFccMosBut->Connect("Clicked()", "TEcnaGui", this, "DoButtonVminLFccMos()");
3783  fVminLFccMosBut->SetToolTipText("Click here to register ymin for the display of the quantity");
3784  fVminLFccMosBut->SetBackgroundColor(SubDetColor);
3785  fLayoutVminLFccMosBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
3786  fCnew++;
3788  fEntryVminLFccMosNumber = new TGTextBuffer();
3789  fCnew++;
3791  fCnew++;
3792  fVminLFccMosText->SetToolTipText("Click and enter ymin");
3793  fVminLFccMosText->Resize(minmax_buf_lenght, fVminLFccMosText->GetDefaultHeight());
3795  fVminLFccMosText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVminLFccMos()");
3796  fLayoutVminLFccMosFieldText = new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1, xB1, xB1, xB1);
3797  fCnew++;
3799  fLayoutVminLFccMosFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3800  fCnew++;
3802 
3803  //...................................... Frame
3804  TString xMenuLFccMos;
3805  if (fSubDet == "EB") {
3806  xMenuLFccMos = "Mean LF |Cor(c,c')| in (tow,tow')";
3807  }
3808  if (fSubDet == "EE") {
3809  xMenuLFccMos = "Mean LF |Cor(c,c')| in (SC,SC')";
3810  }
3811 
3812  fMenuLFccMos = new TGPopupMenu(gClient->GetRoot());
3813  fCnew++;
3814  fMenuLFccMos->AddEntry("2D, COLZ ", fMenuLFccMosColzC);
3815  fMenuLFccMos->AddEntry("3D, LEGO2Z", fMenuLFccMosLegoC);
3816  fMenuLFccMos->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
3817  fMenuBarLFccMos = new TGMenuBar(fVmmLFccMosFrame, 1, 1, kHorizontalFrame);
3818  fCnew++;
3819  fMenuBarLFccMos->AddPopup(xMenuLFccMos, fMenuLFccMos, fLayoutGeneral);
3820  fLayoutMenuBarLFccMos = new TGLayoutHints(kLHintsRight, xB1, xB1, xB1, xB1);
3821  fCnew++;
3823  fLayoutVmmLFccMosFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3824  fCnew++;
3826 
3827  //################################# Composite frame High Freq Cor(c,c') for each pair of Stins
3828  fVmmHFccMosFrame = new TGCompositeFrame(fStexUpFrame, 60, 20, kHorizontalFrame, kSunkenFrame);
3829  fCnew++;
3830 
3831  //...................................... Menu correlations between Stins
3832  //...................................... Frame
3833  fVmaxHFccMosFrame = new TGCompositeFrame(fVmmHFccMosFrame, 60, 20, kHorizontalFrame, kSunkenFrame);
3834  fCnew++;
3835  //...................................... Button Max + Entry field
3836  fVmaxHFccMosBut = new TGTextButton(fVmaxHFccMosFrame, xYmaxButText);
3837  fCnew++;
3838  fVmaxHFccMosBut->Connect("Clicked()", "TEcnaGui", this, "DoButtonVmaxHFccMos()");
3839  fVmaxHFccMosBut->SetToolTipText("Click here to register ymax for the display of the quantity");
3840  fVmaxHFccMosBut->SetBackgroundColor(SubDetColor);
3841  fLayoutVmaxHFccMosBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
3842  fCnew++;
3844  fEntryVmaxHFccMosNumber = new TGTextBuffer();
3845  fCnew++;
3847  fCnew++;
3848  fVmaxHFccMosText->SetToolTipText("Click and enter ymax");
3849  fVmaxHFccMosText->Resize(minmax_buf_lenght, fVmaxHFccMosText->GetDefaultHeight());
3851  fVmaxHFccMosText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVmaxHFccMos()");
3852 
3853  fLayoutVmaxHFccMosFieldText = new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1, xB1, xB1, xB1);
3854  fCnew++;
3856  fLayoutVmaxHFccMosFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3857  fCnew++;
3859 
3860  //...................................... Frame for Ymin
3861  fVminHFccMosFrame = new TGCompositeFrame(fVmmHFccMosFrame, 60, 20, kHorizontalFrame, kSunkenFrame);
3862  fCnew++;
3863  //...................................... Button Min + Entry field
3864  fVminHFccMosBut = new TGTextButton(fVminHFccMosFrame, xYminButText);
3865  fCnew++;
3866  fVminHFccMosBut->Connect("Clicked()", "TEcnaGui", this, "DoButtonVminHFccMos()");
3867  fVminHFccMosBut->SetToolTipText("Click here to register ymin for the display of the quantity");
3868  fVminHFccMosBut->SetBackgroundColor(SubDetColor);
3869  fLayoutVminHFccMosBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
3870  fCnew++;
3872  fEntryVminHFccMosNumber = new TGTextBuffer();
3873  fCnew++;
3875  fCnew++;
3876  fVminHFccMosText->SetToolTipText("Click and enter ymin");
3877  fVminHFccMosText->Resize(minmax_buf_lenght, fVminHFccMosText->GetDefaultHeight());
3879  fVminHFccMosText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVminHFccMos()");
3880  fLayoutVminHFccMosFieldText = new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1, xB1, xB1, xB1);
3881  fCnew++;
3883  fLayoutVminHFccMosFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3884  fCnew++;
3886 
3887  //...................................... Frame
3888  TString xMenuHFccMos;
3889  if (fSubDet == "EB") {
3890  xMenuHFccMos = "Mean HF |Cor(c,c')| in (tow,tow')";
3891  }
3892  if (fSubDet == "EE") {
3893  xMenuHFccMos = "Mean HF |Cor(c,c')| in (SC,SC')";
3894  }
3895 
3896  fMenuHFccMos = new TGPopupMenu(gClient->GetRoot());
3897  fCnew++;
3898  fMenuHFccMos->AddEntry("2D, COLZ ", fMenuHFccMosColzC);
3899  fMenuHFccMos->AddEntry("3D, LEGO2Z", fMenuHFccMosLegoC);
3900  fMenuHFccMos->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
3901  fMenuBarHFccMos = new TGMenuBar(fVmmHFccMosFrame, 1, 1, kHorizontalFrame);
3902  fCnew++;
3903  fMenuBarHFccMos->AddPopup(xMenuHFccMos, fMenuHFccMos, fLayoutGeneral);
3904  fLayoutMenuBarHFccMos = new TGLayoutHints(kLHintsRight, xB1, xB1, xB1, xB1);
3905  fCnew++;
3907  fLayoutVmmHFccMosFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3908  fCnew++;
3910 
3911  //======================================= "Stex" frame =====================================
3912  fLayoutStexUpFrame = new TGLayoutHints(kLHintsTop | kLHintsCenterX, xB1, xB1, xB1, xB1);
3913  fCnew++;
3914  AddFrame(fStexUpFrame, fLayoutStexUpFrame);
3915 
3916  AddFrame(fVoidFrame, fLayoutGeneral);
3917 
3918  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3919  //
3920  // SECTOR 3: Stin's
3921  //
3922  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3923 
3924  //-------------------------------- Stin A & Stin B FRAME
3925  fStinSpFrame = new TGCompositeFrame(this, 60, 20, kHorizontalFrame, GetDefaultFrameBackground());
3926  fCnew++;
3927 
3928  TString xStinAButText = "?";
3929  TString xStinBButText = "?";
3930  Int_t Stin_buf_lenght = 10;
3931 
3932  if (fSubDet == "EB") {
3933  xStinAButText = " Tower# [1,68] ";
3934  xStinBButText = " Tower'# [1,68] ";
3935  Stin_buf_lenght = 50;
3936  }
3937  if (fSubDet == "EE" && (fKeyStexNumber == 1 || fKeyStexNumber == 3)) {
3938  xStinAButText = "SC# for const. [150,298] ";
3939  xStinBButText = "SC'# for const. [150,298] ";
3940  Stin_buf_lenght = 50;
3941  }
3942  if (fSubDet == "EE" && (fKeyStexNumber == 2 || fKeyStexNumber == 4)) {
3943  xStinAButText = "SC# for const. [ 1,149] ";
3944  xStinBButText = "SC'# for const. [ 1,149] ";
3945  Stin_buf_lenght = 50;
3946  }
3947 
3948  //============================= STIN A =====================================
3949  TString xStinNumberText;
3950  if (fSubDet == "EB") {
3951  xStinNumberText = "Click here to register the tower number written on the right";
3952  }
3953  if (fSubDet == "EE") {
3954  xStinNumberText = "Click here to register the SC number written on the right";
3955  }
3956 
3957  TString xStinNumberValue;
3958  if (fSubDet == "EB") {
3959  xStinNumberValue = "Click and enter the tower number";
3960  }
3961  if (fSubDet == "EE") {
3962  xStinNumberValue = "Click and enter the SC number";
3963  }
3964 
3965  fTxSubFrame = new TGCompositeFrame(fStinSpFrame, 60, 20, kVerticalFrame, GetDefaultFrameBackground());
3966  fCnew++;
3967 
3968  fStinAFrame = new TGCompositeFrame(fTxSubFrame, 60, 20, kHorizontalFrame, kSunkenFrame);
3969  fCnew++;
3970 
3971  fStinABut = new TGTextButton(fStinAFrame, xStinAButText, fStinAButC);
3972  fCnew++;
3973  fStinABut->Connect("Clicked()", "TEcnaGui", this, "DoButtonStinA()");
3974  fStinABut->SetToolTipText(xStinNumberText);
3975  fStinABut->Resize(Stin_buf_lenght, fStinABut->GetDefaultHeight());
3976  fStinABut->SetBackgroundColor(SubDetColor);
3977  fLayoutStinABut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
3978  fCnew++;
3980 
3981  fEntryStinANumber = new TGTextBuffer();
3982  fCnew++;
3983  fStinAText = new TGTextEntry(fStinAFrame, fEntryStinANumber);
3984  fCnew++;
3985  fStinAText->SetToolTipText(xStinNumberValue);
3986  fStinAText->Resize(Stin_buf_lenght, fStinAText->GetDefaultHeight());
3987 
3988  Int_t StinAValue = 0;
3989  if (fSubDet == "EB") {
3990  StinAValue = fKeyStinANumber;
3991  }
3992  if (fSubDet == "EE" && fKeyStexNumber != 0) {
3994  }
3995  DisplayInEntryField(fStinAText, StinAValue);
3996 
3997  fStinAText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonStinA()");
3998  fLayoutStinAField = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
3999  fCnew++;
4002 
4003  //========================== STIN A CRYSTAL NUMBERING VIEW
4004  TString xChNbButText;
4005  if (fSubDet == "EB") {
4006  xChNbButText = "Tower Xtal Numbering ";
4007  }
4008  if (fSubDet == "EE") {
4009  xChNbButText = " SC Xtal Numbering ";
4010  }
4011 
4012  fButChNb = new TGTextButton(fTxSubFrame, xChNbButText, fButChNbC);
4013  fCnew++;
4014  fButChNb->Connect("Clicked()", "TEcnaGui", this, "DoButtonChNb()");
4015  fButChNb->SetBackgroundColor(SubDetColor);
4016  fLayoutChNbBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
4017  fCnew++;
4018  fTxSubFrame->AddFrame(fButChNb, fLayoutChNbBut);
4019 
4020  //---------------- menus relative to the Stin A subframe
4021 
4022  //===================== Menus relative to the Stin A ======================
4023  TString xMenuBarCorGlob;
4024  if (fSubDet == "EB") {
4025  xMenuBarCorGlob = " GeoView Cor(s,s') (expert)";
4026  }
4027  if (fSubDet == "EE") {
4028  xMenuBarCorGlob = " GeoView Cor(s,s') (expert)";
4029  }
4030 
4031  TString xMenuBarCovGlob;
4032  if (fSubDet == "EB") {
4033  xMenuBarCovGlob = " GeoView Cov(s,s') (expert)";
4034  }
4035  if (fSubDet == "EE") {
4036  xMenuBarCovGlob = " GeoView Cov(s,s') (expert)";
4037  }
4038 
4039  //................. Menu correlations between samples for all the channels. Global view
4040  fMenuCorssAll = new TGPopupMenu(gClient->GetRoot());
4041  fCnew++;
4042  fMenuCorssAll->AddEntry(" Cor(s,s'), Xtal place -> Cor matrix", fMenuCorssAllColzC);
4043  fMenuCorssAll->AddEntry(" Cov(s,s'), Xtal place -> Cov matrix", fMenuCovssAllColzC);
4044  fMenuCorssAll->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
4045  fMenuBarCorssAll = new TGMenuBar(fTxSubFrame, 1, 1, kHorizontalFrame);
4046  fCnew++;
4047  fMenuBarCorssAll->AddPopup(xMenuBarCorGlob, fMenuCorssAll, fLayoutGeneral);
4049 
4050  //................. Menu covariances between samples for all the channels. Global view
4051  //fMenuCovssAll = new TGPopupMenu(gClient->GetRoot()); fCnew++;
4052  //fMenuCovssAll->AddEntry(" Cov(s,s'), Xtal place -> Cov matrix",fMenuCovssAllColzC);
4053  //fMenuCovssAll->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
4054  //fMenuBarCovssAll = new TGMenuBar(fTxSubFrame, 1, 1, kHorizontalFrame); fCnew++;
4055  //fMenuBarCovssAll->AddPopup(xMenuBarCovGlob, fMenuCovssAll, fLayoutGeneral);
4056  //fTxSubFrame->AddFrame(fMenuBarCovssAll, fLayoutTopLeft);
4057 
4058  //------------------ Add Stin A frame to the subframe
4059  fLayoutTxSubFrame = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
4060  fCnew++;
4062 
4063  //============================= STIN B =====================================
4064  fTySubFrame = new TGCompositeFrame(fStinSpFrame, 60, 20, kVerticalFrame, GetDefaultFrameBackground());
4065  fCnew++;
4066 
4067  fStinBFrame = new TGCompositeFrame(fTySubFrame, 60, 20, kHorizontalFrame, kSunkenFrame);
4068  fCnew++;
4069 
4070  fStinBBut = new TGTextButton(fStinBFrame, xStinBButText, fStinBButC);
4071  fCnew++;
4072  fStinBBut->Connect("Clicked()", "TEcnaGui", this, "DoButtonStinB()");
4073  fStinBBut->SetToolTipText(xStinNumberText);
4074  fStinBBut->Resize(Stin_buf_lenght, fStinBBut->GetDefaultHeight());
4075  fStinBBut->SetBackgroundColor(SubDetColor);
4076  fLayoutStinBBut = new TGLayoutHints(kLHintsLeft, xB1, xB1, xB1, xB1);
4077  fCnew++;
4079 
4080  fEntryStinBNumber = new TGTextBuffer();
4081  fCnew++;
4082  fStinBText = new TGTextEntry(fStinBFrame, fEntryStinBNumber);
4083  fCnew++;
4084  fStinBText->SetToolTipText(xStinNumberValue);
4085  fStinBText->Resize(Stin_buf_lenght, fStinBText->GetDefaultHeight());
4086 
4087  Int_t StinBValue = 0;
4088  if (fSubDet == "EB") {
4089  StinBValue = fKeyStinBNumber;
4090  }
4091  if (fSubDet == "EE" && fKeyStexNumber != 0) {
4093  }
4094  DisplayInEntryField(fStinBText, StinBValue);
4095 
4096  fStinBText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonStinB()");
4097  fLayoutStinBField = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
4098  fCnew++;
4101 
4102  //---------------- menus relative to the Stin B subframe
4103 
4104  // (no such menus )
4105 
4106  //------------------ Add Stin B subframe to the frame
4107  fLayoutTySubFrame = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
4108  fCnew++;
4109 
4111 
4112  //---------------------- composite frame (Stin X, Stin Y)
4113  fLayoutStinSpFrame = new TGLayoutHints(kLHintsTop | kLHintsCenterX, xB1, xB1, xB1, xB1);
4114  fCnew++;
4115  AddFrame(fStinSpFrame, fLayoutStinSpFrame);
4116 
4117  //------------------ menus relatives to the Horizontal frame (Stin_A + Stin_B)
4118  TString xMenuBarLFCorcc;
4119  if (fSubDet == "EB") {
4120  xMenuBarLFCorcc = " Low Frequency Cor(Xtal tower, Xtal tower')";
4121  }
4122  if (fSubDet == "EE") {
4123  xMenuBarLFCorcc = " Low Frequency Cor(Xtal SC, Xtal SC')";
4124  }
4125 
4126  TString xMenuBarHFCorcc;
4127  if (fSubDet == "EB") {
4128  xMenuBarHFCorcc = " High Frequency Cor(Xtal tower, Xtal tower')";
4129  }
4130  if (fSubDet == "EE") {
4131  xMenuBarHFCorcc = " High Frequency Cor(Xtal SC, Xtal SC')";
4132  }
4133 
4134  //...................... Menu LF correlations between channels
4135  fMenuLFCorcc = new TGPopupMenu(gClient->GetRoot());
4136  fCnew++;
4137  fMenuLFCorcc->AddEntry("2D, COLZ", fMenuLFCorccColzC);
4138  fMenuLFCorcc->AddSeparator();
4139  fMenuLFCorcc->AddEntry("3D, LEGO2Z", fMenuLFCorccLegoC);
4140  fMenuLFCorcc->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
4141  fMenuBarLFCorcc = new TGMenuBar(this, 1, 1, kHorizontalFrame);
4142  fCnew++;
4143  fMenuBarLFCorcc->AddPopup(xMenuBarLFCorcc, fMenuLFCorcc, fLayoutTopRight);
4144  AddFrame(fMenuBarLFCorcc, fLayoutGeneral);
4145 
4146  //...................... Menu HF correlations between channels
4147  fMenuHFCorcc = new TGPopupMenu(gClient->GetRoot());
4148  fCnew++;
4149  fMenuHFCorcc->AddEntry("2D, COLZ", fMenuHFCorccColzC);
4150  fMenuHFCorcc->AddSeparator();
4151  fMenuHFCorcc->AddEntry("3D, LEGO2Z", fMenuHFCorccLegoC);
4152  fMenuHFCorcc->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
4153  fMenuBarHFCorcc = new TGMenuBar(this, 1, 1, kHorizontalFrame);
4154  fCnew++;
4155  fMenuBarHFCorcc->AddPopup(xMenuBarHFCorcc, fMenuHFCorcc, fLayoutTopRight);
4156  AddFrame(fMenuBarHFCorcc, fLayoutGeneral);
4157 
4158  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4159  //
4160  // SECTOR 4: Channels, Samples
4161  //
4162  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4163 
4164  fChSpFrame = new TGCompositeFrame(this, 60, 20, kHorizontalFrame, GetDefaultFrameBackground());
4165  fCnew++;
4166 
4167  TString xChanButText;
4168  if (fSubDet == "EB") {
4169  xChanButText = " Channel# in tower [0,24] ";
4170  }
4171  if (fSubDet == "EE") {
4172  xChanButText = " Crystal# in SC [1,25] ";
4173  }
4174 
4175  TString xSampButText = " Sample# [1,10] ";
4176 
4177  Int_t chan_buf_lenght = 50;
4178  Int_t samp_buf_lenght = 50;
4179 
4180  TString xMenuBarCorss = " Correlations between samples";
4181  TString xMenuBarCovss = " Covariances between samples";
4182  TString xMenuBarEvs = " Sample means";
4183  TString xMenuBarSigs = " Sample sigmas";
4184 
4185  //=================================== CHANNEL (CRYSTAL)
4186  fChSubFrame = new TGCompositeFrame(fChSpFrame, 60, 20, kVerticalFrame, GetDefaultFrameBackground());
4187  fCnew++;
4188 
4189  fChanFrame = new TGCompositeFrame(fChSubFrame, 60, 20, kHorizontalFrame, kSunkenFrame);
4190  fCnew++;
4191 
4192  fChanBut = new TGTextButton(fChanFrame, xChanButText, fChanButC);
4193  fCnew++;
4194  fChanBut->Connect("Clicked()", "TEcnaGui", this, "DoButtonChan()");
4195  fChanBut->SetToolTipText("Click here to register the channel number written to the right");
4196  fChanBut->Resize(chan_buf_lenght, fChanBut->GetDefaultHeight());
4197  fChanBut->SetBackgroundColor(SubDetColor);
4198  fLayoutChanBut = new TGLayoutHints(kLHintsLeft, xB1, xB1, xB1, xB1);
4199  fCnew++;
4200  fChanFrame->AddFrame(fChanBut, fLayoutChanBut);
4201 
4202  fEntryChanNumber = new TGTextBuffer();
4203  fCnew++;
4204  fChanText = new TGTextEntry(fChanFrame, fEntryChanNumber);
4205  fCnew++;
4206  fChanText->SetToolTipText("Click and enter the channel number");
4207  fChanText->Resize(chan_buf_lenght, fChanText->GetDefaultHeight());
4208 
4209  Int_t xReadChanNumber = 0;
4210  if (fSubDet == "EB") {
4211  xReadChanNumber = 0;
4212  } // offset = 0 (EB: electronic channel number)
4213  if (fSubDet == "EE") {
4214  xReadChanNumber = 1;
4215  } // offset = +1 (EE: xtal number for construction)
4216  DisplayInEntryField(fChanText, xReadChanNumber);
4217 
4218  fChanText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonChan()");
4219  fLayoutChanField = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
4220  fCnew++;
4223 
4224  //--------------------- Menus relative to the channel SubFrame -------------
4225  //...................... Menu correlations between samples
4226 
4227  fMenuCorss = new TGPopupMenu(gClient->GetRoot());
4228  fCnew++;
4229  fMenuCorss->AddEntry("2D, COLZ", fMenuCorssColzC);
4230  fMenuCorss->AddEntry("2D, BOX", fMenuCorssBoxC);
4231  fMenuCorss->AddEntry("2D, TEXT", fMenuCorssTextC);
4232  fMenuCorss->AddEntry("2D, CONTZ", fMenuCorssContzC);
4233  fMenuCorss->AddSeparator();
4234  fMenuCorss->AddEntry("3D, LEGO2Z", fMenuCorssLegoC);
4235  fMenuCorss->AddEntry("3D, SURF1Z", fMenuCorssSurf1C);
4236  fMenuCorss->AddEntry("3D, SURF2Z", fMenuCorssSurf2C);
4237  fMenuCorss->AddEntry("3D, SURF3Z", fMenuCorssSurf3C);
4238  fMenuCorss->AddEntry("3D, SURF4", fMenuCorssSurf4C);
4239  fMenuCorss->AddSeparator();
4240  fMenuCorss->AddEntry("2D, Write in ASCII file", fMenuCorssAsciiFileC);
4241  fMenuCorss->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
4242  fMenuBarCorss = new TGMenuBar(fChSubFrame, 1, 1, kHorizontalFrame);
4243  fCnew++;
4244  fMenuBarCorss->AddPopup(xMenuBarCorss, fMenuCorss, fLayoutTopLeft);
4246 
4247  //...................... Menu covariances between samples
4248 
4249  fMenuCovss = new TGPopupMenu(gClient->GetRoot());
4250  fCnew++;
4251  fMenuCovss->AddEntry("2D, COLZ", fMenuCovssColzC);
4252  fMenuCovss->AddEntry("2D, BOX", fMenuCovssBoxC);
4253  fMenuCovss->AddEntry("2D, TEXT", fMenuCovssTextC);
4254  fMenuCovss->AddEntry("2D, CONTZ", fMenuCovssContzC);
4255  fMenuCovss->AddSeparator();
4256  fMenuCovss->AddEntry("3D, LEGO2Z", fMenuCovssLegoC);
4257  fMenuCovss->AddEntry("3D, SURF1Z", fMenuCovssSurf1C);
4258  fMenuCovss->AddEntry("3D, SURF2Z", fMenuCovssSurf2C);
4259  fMenuCovss->AddEntry("3D, SURF3Z", fMenuCovssSurf3C);
4260  fMenuCovss->AddEntry("3D, SURF4", fMenuCovssSurf4C);
4261  fMenuCovss->AddSeparator();
4262  fMenuCovss->AddEntry("2D, Write in ASCII file", fMenuCovssAsciiFileC);
4263  fMenuCovss->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
4264  fMenuBarCovss = new TGMenuBar(fChSubFrame, 1, 1, kHorizontalFrame);
4265  fCnew++;
4266  fMenuBarCovss->AddPopup(xMenuBarCovss, fMenuCovss, fLayoutTopLeft);
4268 
4269  //...................... Menu expectation values of the samples
4270 
4271  fMenuD_MSp_SpNb = new TGPopupMenu(gClient->GetRoot());
4272  fCnew++;
4273  fMenuD_MSp_SpNb->AddEntry("1D Histo ", fMenuD_MSp_SpNbLineFullC);
4274  fMenuD_MSp_SpNb->AddEntry("1D Histo SAME", fMenuD_MSp_SpNbLineSameC);
4275  fMenuD_MSp_SpNb->AddEntry("1D Histo 25 Xtals", fMenuD_MSp_SpNbLineAllStinC);
4276  fMenuD_MSp_SpNb->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
4277  fMenuBarD_MSp_SpNb = new TGMenuBar(fChSubFrame, 1, 1, kHorizontalFrame);
4278  fCnew++;
4279  fMenuBarD_MSp_SpNb->AddPopup(xMenuBarEvs, fMenuD_MSp_SpNb, fLayoutTopLeft);
4281 
4282  //...................... Menu sigmas/variances of the samples
4283 
4284  fMenuD_SSp_SpNb = new TGPopupMenu(gClient->GetRoot());
4285  fCnew++;
4286  fMenuD_SSp_SpNb->AddEntry("1D Histo ", fMenuD_SSp_SpNbLineFullC);
4287  fMenuD_SSp_SpNb->AddEntry("1D Histo SAME", fMenuD_SSp_SpNbLineSameC);
4288  fMenuD_SSp_SpNb->AddEntry("1D Histo 25 Xtals", fMenuD_SSp_SpNbLineAllStinC);
4289  fMenuD_SSp_SpNb->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
4290  fMenuBarD_SSp_SpNb = new TGMenuBar(fChSubFrame, 1, 1, kHorizontalFrame);
4291  fCnew++;
4292  fMenuBarD_SSp_SpNb->AddPopup(xMenuBarSigs, fMenuD_SSp_SpNb, fLayoutTopLeft);
4294 
4295  //------------------ Add Channel subframe to the frame
4296  fLayoutChSubFrame = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
4297  fCnew++;
4299 
4300  //=================================== SAMPLE
4301  fSpSubFrame = new TGCompositeFrame(fChSpFrame, 60, 20, kVerticalFrame, GetDefaultFrameBackground());
4302  fCnew++;
4303 
4304  fSampFrame = new TGCompositeFrame(fSpSubFrame, 60, 20, kHorizontalFrame, kSunkenFrame);
4305  fCnew++;
4306 
4307  fSampBut = new TGTextButton(fSampFrame, xSampButText, fSampButC);
4308  fCnew++;
4309  fSampBut->Connect("Clicked()", "TEcnaGui", this, "DoButtonSamp()");
4310  fSampBut->SetToolTipText("Click here to register the sample number written to the right");
4311  fSampBut->Resize(samp_buf_lenght, fSampBut->GetDefaultHeight());
4312  fSampBut->SetBackgroundColor(SubDetColor);
4313  fLayoutSampBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
4314  fCnew++;
4315  fSampFrame->AddFrame(fSampBut, fLayoutSampBut);
4316 
4317  fEntrySampNumber = new TGTextBuffer();
4318  fCnew++;
4319  fSampText = new TGTextEntry(fSampFrame, fEntrySampNumber);
4320  fCnew++;
4321  fSampText->SetToolTipText("Click and enter the sample number");
4322  fSampText->Resize(samp_buf_lenght, fSampText->GetDefaultHeight());
4323  Int_t xKeySampNumber = fKeySampNumber + 1;
4324  DisplayInEntryField(fSampText, xKeySampNumber);
4325  fSampText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonSamp()");
4326  fLayoutSampField = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
4327  fCnew++;
4329 
4331 
4332  fLayoutSpSubFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
4333  fCnew++;
4335 
4336  //---------------------- composite frame (channel/sample+menus)
4337  fLayoutChSpFrame = new TGLayoutHints(kLHintsTop | kLHintsCenterX, xB1, xB1, xB1, xB1);
4338  fCnew++;
4339  AddFrame(fChSpFrame, fLayoutChSpFrame);
4340 
4341  //====================== Menu histogram of the distribution
4342  // for a given (channel, sample)
4343  fMenuAdcProj = new TGPopupMenu(gClient->GetRoot());
4344  fCnew++;
4345  fMenuAdcProj->AddEntry("1D Histo ", fMenuAdcProjSampLineFullC);
4346  fMenuAdcProj->AddEntry("1D Histo SAME", fMenuAdcProjSampLineSameC);
4347  fMenuAdcProj->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
4348 
4349  fMenuBarAdcProj = new TGMenuBar(this, 1, 1, kHorizontalFrame);
4350  fCnew++;
4351 
4352  TString xEvtDistrib;
4353  xEvtDistrib = "ADC sample values for (Xtal, Sample)";
4354 
4355  fMenuBarAdcProj->AddPopup(xEvtDistrib, fMenuAdcProj, fLayoutGeneral);
4356 
4357  fLayoutMenuBarAdcProj = new TGLayoutHints(kLHintsCenterX, xB1, xB1, xB1, xB1);
4358  fCnew++;
4360 
4361  AddFrame(fVoidFrame, fLayoutGeneral);
4362 
4363  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4364  //
4365  // SECTOR 5: Time Evolution / history plots
4366  //
4367  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4368  TString xRunListButText = " List of run file name for history plots ";
4369  Int_t run_list_buf_lenght = 170;
4370 
4371  fRulFrame = new TGCompositeFrame(this, 60, 20, kHorizontalFrame, kSunkenFrame);
4372  fCnew++;
4373 
4374  fRulBut = new TGTextButton(fRulFrame, xRunListButText);
4375  fCnew++;
4376  fRulBut->Connect("Clicked()", "TEcnaGui", this, "DoButtonRul()");
4377  fRulBut->SetToolTipText(
4378  "Click here to register the name of the file \n containing the run list (written on the right)");
4379  fRulBut->SetBackgroundColor(SubDetColor);
4380  fLayoutRulBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
4381  fCnew++;
4382  fRulFrame->AddFrame(fRulBut, fLayoutRulBut);
4383 
4384  fEntryRulNumber = new TGTextBuffer();
4385  fCnew++;
4386  fRulText = new TGTextEntry(fRulFrame, fEntryRulNumber);
4387  fCnew++;
4388  fRulText->SetToolTipText("Click and enter the name of the file \n containing the run list");
4389  fRulText->Resize(run_list_buf_lenght, fRulText->GetDefaultHeight());
4390  fRulText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonRul()");
4391  fLayoutRulFieldText = new TGLayoutHints(kLHintsBottom | kLHintsLeft, xB1, xB1, xB1, xB1);
4392  fCnew++;
4394 
4395  fLayoutRulFieldFrame = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
4396  fCnew++;
4397  AddFrame(fRulFrame, fLayoutRulFieldFrame);
4398 
4399  //...................... Menu history plot (evolution in time)
4400  TString xMenuBarHistory = " Menu for history plots";
4401  fMenuHistory = new TGPopupMenu(gClient->GetRoot());
4402  fCnew++;
4403  fMenuHistory->AddEntry("1D, Pedestals ", fMenuH_Ped_DatePolmFullC);
4404  fMenuHistory->AddEntry("1D, Pedestals SAME", fMenuH_Ped_DatePolmSameC);
4405  fMenuHistory->AddSeparator();
4406  fMenuHistory->AddEntry("1D, Total Noise ", fMenuH_TNo_DatePolmFullC);
4407  fMenuHistory->AddEntry("1D, Total Noise SAME", fMenuH_TNo_DatePolmSameC);
4408  fMenuHistory->AddEntry("1D, Total Noise SAME n", fMenuH_TNo_DatePolmSamePC);
4409  fMenuHistory->AddSeparator();
4410  fMenuHistory->AddEntry("1D, Low Frequency Noise ", fMenuH_LFN_DatePolmFullC);
4411  fMenuHistory->AddEntry("1D, Low Frequency Noise SAME", fMenuH_LFN_DatePolmSameC);
4412  fMenuHistory->AddEntry("1D, Low Frequency Noise SAME n", fMenuH_LFN_DatePolmSamePC);
4413  fMenuHistory->AddSeparator();
4414  fMenuHistory->AddEntry("1D, High Frequency Noise ", fMenuH_HFN_DatePolmFullC);
4415  fMenuHistory->AddEntry("1D, High Frequency Noise SAME", fMenuH_HFN_DatePolmSameC);
4416  fMenuHistory->AddEntry("1D, High Frequency Noise SAME n", fMenuH_HFN_DatePolmSamePC);
4417  fMenuHistory->AddSeparator();
4418  fMenuHistory->AddEntry("1D, Mean cor(s,s') ", fMenuH_MCs_DatePolmFullC);
4419  fMenuHistory->AddEntry("1D, Mean cor(s,s') SAME", fMenuH_MCs_DatePolmSameC);
4420  fMenuHistory->AddEntry("1D, Mean cor(s,s') SAME n", fMenuH_MCs_DatePolmSamePC);
4421  fMenuHistory->AddSeparator();
4422  fMenuHistory->AddEntry("1D, Sigma of cor(s,s') ", fMenuH_SCs_DatePolmFullC);
4423  fMenuHistory->AddEntry("1D, Sigma of cor(s,s') SAME", fMenuH_SCs_DatePolmSameC);
4424  fMenuHistory->AddEntry("1D, Sigma of cor(s,s') SAME n", fMenuH_SCs_DatePolmSamePC);
4425 
4426  fMenuHistory->Connect("Activated(Int_t)", "TEcnaGui", this, "HandleMenu(Int_t)");
4427  fMenuBarHistory = new TGMenuBar(this, 1, 1, kHorizontalFrame);
4428  fCnew++;
4429  fMenuBarHistory->AddPopup(xMenuBarHistory, fMenuHistory, fLayoutTopLeft);
4430  AddFrame(fMenuBarHistory, fLayoutTopLeft);
4431 
4432  AddFrame(fVoidFrame, fLayoutGeneral);
4433 
4434  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4435  //
4436  // SECTOR 6: Last Buttons
4437  //
4438  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4439 
4440  //GContext_t norm = GetDefaultGC()();
4441  //FontStruct_t font = GetDefaultFontStruct();
4442 
4443  //========================== LinLog frame: buttons: LinX/LogX, LinY/LogY, Projection on Y Axis
4444 
4445  fLinLogFrame = new TGCompositeFrame(this, 60, 20, kHorizontalFrame, kSunkenFrame);
4446  fCnew++;
4447 
4448  //-------------------------- Lin X <-> Log X
4449  TString xLogxButText = " LOG X ";
4450  fButLogx = new TGCheckButton(fLinLogFrame, xLogxButText, fButLogxC);
4451  fCnew++;
4452  fButLogx->Connect("Clicked()", "TEcnaGui", this, "DoButtonLogx()");
4453  fButLogx->SetBackgroundColor(SubDetColor);
4454  fLayoutLogxBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
4455  fCnew++;
4456  fLinLogFrame->AddFrame(fButLogx, fLayoutLogxBut);
4457 
4458  //-------------------------- Lin Y <-> Log Y
4459  TString xLogyButText = " LOG Y ";
4460  fButLogy = new TGCheckButton(fLinLogFrame, xLogyButText, fButLogyC);
4461  fCnew++;
4462  fButLogy->Connect("Clicked()", "TEcnaGui", this, "DoButtonLogy()");
4463  fButLogy->SetBackgroundColor(SubDetColor);
4464  fLayoutLogyBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
4465  fCnew++;
4466  fLinLogFrame->AddFrame(fButLogy, fLayoutLogyBut);
4467 
4468  //-------------------------- Projection
4469  TString xProjyButText = " Y projection ";
4470  fButProjy = new TGCheckButton(fLinLogFrame, xProjyButText, fButProjyC);
4471  fCnew++;
4472  fButProjy->Connect("Clicked()", "TEcnaGui", this, "DoButtonProjy()");
4473  fButProjy->SetBackgroundColor(SubDetColor);
4474  fLayoutProjyBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
4475  fCnew++;
4477 
4478  AddFrame(fVoidFrame, fLayoutBottRight);
4479  AddFrame(fLinLogFrame, fLayoutGeneral);
4480 
4481  //======================================== GENERAL TITLE FOR THE PLOTS
4482  TString xGenTitleButText = " General title for plots ";
4483  Int_t gen_title_buf_lenght = 220;
4484 
4485  fGentFrame = new TGCompositeFrame(this, 60, 20, kHorizontalFrame, kSunkenFrame);
4486  fCnew++;
4487 
4488  fGentBut = new TGTextButton(fGentFrame, xGenTitleButText);
4489  fCnew++;
4490  fGentBut->Connect("Clicked()", "TEcnaGui", this, "DoButtonGent()");
4491  fGentBut->SetToolTipText("Click here to register the general title (written on the right)");
4492  fGentBut->SetBackgroundColor(SubDetColor);
4493  fLayoutGentBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
4494  fCnew++;
4495  fGentFrame->AddFrame(fGentBut, fLayoutGentBut);
4496 
4497  fEntryGentNumber = new TGTextBuffer();
4498  fCnew++;
4499  fGentText = new TGTextEntry(fGentFrame, fEntryGentNumber);
4500  fCnew++;
4501  fGentText->SetToolTipText("Click and enter the general title");
4502  fGentText->Resize(gen_title_buf_lenght, fGentText->GetDefaultHeight());
4504  fGentText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonGent()");
4505  fLayoutGentFieldText = new TGLayoutHints(kLHintsBottom | kLHintsLeft, xB1, xB1, xB1, xB1);
4506  fCnew++;
4508 
4509  fLayoutGentFieldFrame = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
4510  fCnew++;
4511  AddFrame(fGentFrame, fLayoutGentFieldFrame);
4512  AddFrame(fVoidFrame);
4513 
4514  //========================== Color Palette + EXIT
4515  fColorExitFrame = new TGCompositeFrame(this, 60, 20, kHorizontalFrame, GetDefaultFrameBackground());
4516  fCnew++;
4517 
4518  //-------------------------- Black/Red/Blue <-> Rainbow
4519  TString xColPalButText = " Colors ";
4520  fButColPal = new TGCheckButton(fColorExitFrame, xColPalButText, fButColPalC);
4521  fCnew++;
4522  fButColPal->Connect("Clicked()", "TEcnaGui", this, "DoButtonColPal()");
4523  fButColPal->SetBackgroundColor(SubDetColor);
4524  fLayoutColPalBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
4525  fCnew++;
4527 
4528  //-------------------------- Exit
4529  TString xExitButText = " Exit ";
4530  fButExit = new TGTextButton(fColorExitFrame, xExitButText, fButExitC);
4531  fCnew++;
4532  fButExit->Connect("Clicked()", "TEcnaGui", this, "DoButtonExit()");
4533  fButExit->SetBackgroundColor(SubDetColor);
4534  fLayoutExitBut = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
4535  fCnew++;
4537 
4538  fLayoutColorExitFrame = new TGLayoutHints(kLHintsTop | kLHintsExpandX, xB1, xB1, xB1, xB1);
4539  fCnew++;
4540 
4541  //AddFrame(fVoidFrame, fLayoutBottRight);
4543 
4544  //========================== Last frame: buttons: ROOT version, Help
4545 
4546  fLastFrame = new TGCompositeFrame(this, 60, 20, kHorizontalFrame, kSunkenFrame);
4547  fCnew++;
4548 
4549  //-------------------------- Clone Last Canvas
4550  TString xCloneButText = " Clone Last Canvas ";
4551  fButClone = new TGTextButton(fLastFrame, xCloneButText, fButCloneC);
4552  fCnew++;
4553  fButClone->Connect("Clicked()", "TEcnaGui", this, "DoButtonClone()");
4554  fButClone->SetBackgroundColor(SubDetColor);
4555  fLayoutCloneBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
4556  fCnew++;
4557  fLastFrame->AddFrame(fButClone, fLayoutCloneBut);
4558 
4559  //-------------------------- ROOT version
4560  TString xRootButText = " ROOT Version ";
4561  fButRoot = new TGTextButton(fLastFrame, xRootButText, fButRootC);
4562  fCnew++;
4563  fButRoot->Connect("Clicked()", "TEcnaGui", this, "DoButtonRoot()");
4564  fButRoot->SetBackgroundColor(SubDetColor);
4565  fLayoutRootBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
4566  fCnew++;
4567  fLastFrame->AddFrame(fButRoot, fLayoutRootBut);
4568 
4569  //-------------------------- HELP
4570  TString xHelpButText = " Help ";
4571  fButHelp = new TGTextButton(fLastFrame, xHelpButText, fButHelpC);
4572  fCnew++;
4573  fButHelp->Connect("Clicked()", "TEcnaGui", this, "DoButtonHelp()");
4574  fButHelp->SetBackgroundColor(SubDetColor);
4575  fLayoutHelpBut = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
4576  fCnew++;
4577  fLastFrame->AddFrame(fButHelp, fLayoutHelpBut);
4578 
4579  AddFrame(fLastFrame, fLayoutGeneral);
4580 
4581  //................................. Window
4582 
4583  MapSubwindows();
4584  Layout();
4585 
4586  if (fSubDet == "EB") {
4587  SetWindowName("CMS Ecal Correlated Noise Analysis <EB>");
4588  }
4589  if (fSubDet == "EE") {
4590  SetWindowName("CMS Ecal Correlated Noise Analysis <EE>");
4591  }
4592 
4593  SetBackgroundColor(SubDetColor);
4594  SetIconName("CNA");
4595  MapWindow();
4596  // } // end of if( fCnaParPaths-GetPaths() == kTRUE )
4597 }
4598 // end of constructor with arguments
4599 
4600 //###################################################################
4601 //
4602 // M E T H O D S
4603 //
4604 //###################################################################
4605 
4606 //===============================================================
4607 //
4608 // Buttons
4609 //
4610 //===============================================================
4611 
4612 //----------------------------------------------------------------------
4613 //void TEcnaGui::DoButtonPyf()
4614 //{
4617 
4618 // //........................... get info from the entry field
4619 // const char* listchain = fPyfText->GetBuffer()->GetString();
4620 // fKeyPyf = listchain;
4621 
4622 // fCnaCommand++;
4623 // std::cout << " *TEcnaGui [" << fCnaCommand
4624 // << "]> Registration of file name for python file source sector -> "
4625 // << fKeyPyf.Data() << std::endl;
4626 //}
4627 //----------------------------------------------------------------------
4629  //Registration of the type of the analysis
4630 
4631  const char* bufferchain = fAnaText->GetBuffer()->GetString();
4632 
4633  fKeyAnaType = bufferchain;
4634 
4635  fCnaCommand++;
4636  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Registration of analysis name -> " << fKeyAnaType << std::endl;
4637 }
4638 
4639 //----------------------------------------------------------------------
4641  //Registration of the number of samples (ROOT file)
4642 
4643  const char* bufferchain = fNorsText->GetBuffer()->GetString();
4644  fKeyNbOfSamplesString = bufferchain;
4645  fKeyNbOfSamples = atoi(bufferchain);
4646 
4647  if (!(fKeyNbOfSamples >= 1 && fKeyNbOfSamples <= fEcal->MaxSampADC())) {
4648  fCnaError++;
4649  std::cout << " !TEcnaGui (" << fCnaError << ") *** ERROR *** ===>"
4650  << " Number of required samples for reading ROOT file = " << fKeyNbOfSamples << ": OUT OF RANGE, "
4651  << std::endl
4652  << " forced to the default value (=" << fEcal->MaxSampADC() << ")."
4653  << fTTBELL << std::endl;
4656  }
4657 
4658  //................... Update of Sample Button Text according to the number of sample
4659  TString xSampButText = " Sample [?,?] ";
4660 
4661  if (fKeyNbOfSamples == 1) {
4662  xSampButText = " Sample [1,1] ";
4663  }
4664  if (fKeyNbOfSamples == 2) {
4665  xSampButText = " Sample [1,2] ";
4666  }
4667  if (fKeyNbOfSamples == 3) {
4668  xSampButText = " Sample [1,3] ";
4669  }
4670  if (fKeyNbOfSamples == 4) {
4671  xSampButText = " Sample [1,4] ";
4672  }
4673  if (fKeyNbOfSamples == 5) {
4674  xSampButText = " Sample [1,5] ";
4675  }
4676  if (fKeyNbOfSamples == 6) {
4677  xSampButText = " Sample [1,6] ";
4678  }
4679  if (fKeyNbOfSamples == 7) {
4680  xSampButText = " Sample [1,7] ";
4681  }
4682  if (fKeyNbOfSamples == 8) {
4683  xSampButText = " Sample [1,8] ";
4684  }
4685  if (fKeyNbOfSamples == 9) {
4686  xSampButText = " Sample [1,9] ";
4687  }
4688  if (fKeyNbOfSamples == 10) {
4689  xSampButText = " Sample [1,10] ";
4690  }
4691 
4692  fSampBut->SetText(xSampButText);
4693 
4694  fCnaCommand++;
4695  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Registration of number of samples in ROOT file -> "
4696  << fKeyNbOfSamples << std::endl;
4697 }
4698 //----------------------------------------------------------------------
4700  //Registration of the number of samples (ROOT file)
4701 
4702  const char* bufferchain = fNbSampForCalcText->GetBuffer()->GetString();
4703  fKeyNbOfSampForCalcString = bufferchain;
4704  fKeyNbOfSampForCalc = atoi(bufferchain);
4705 
4707  fCnaError++;
4708  std::cout << " !TEcnaGui (" << fCnaError << ") *** ERROR *** ===>"
4709  << " Number of required samples for calculations = " << fKeyNbOfSampForCalc << ": OUT OF RANGE, "
4710  << std::endl
4711  << " forced to the default value (=" << fKeyNbOfSamples << ")."
4712  << fTTBELL << std::endl;
4715  }
4716  fCnaCommand++;
4717  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Registration of number of samples for calculations -> "
4718  << fKeyNbOfSampForCalc << std::endl;
4719 }
4720 
4721 //----------------------------------------------------------------------
4723  //Register run number
4724 
4725  //........................... get info from the entry field
4726  const char* bufferchain = fRunText->GetBuffer()->GetString();
4727  fKeyRunNumberString = bufferchain;
4728  fKeyRunNumber = atoi(bufferchain);
4729  fCnaCommand++;
4730  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Registration of run number -> " << fKeyRunNumber << std::endl;
4731 }
4732 //-------------------------------------------------------------------
4733 
4735  //Registration of the first requested event number
4736 
4737  const char* bufferchain = fFevText->GetBuffer()->GetString();
4738  fKeyFirstReqEvtNumberString = bufferchain;
4739  fKeyFirstReqEvtNumber = atoi(bufferchain);
4740 
4741  if (fKeyFirstReqEvtNumber <= 0) {
4742  fCnaError++;
4743  std::cout << " !TEcnaGui (" << fCnaError << ") *ERROR* ===> "
4744  << " First event number = " << fKeyFirstReqEvtNumber << ": negative. " << std::endl
4745  << fTTBELL << std::endl;
4746  }
4747 
4748  fCnaCommand++;
4749  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Registration of first requested event number -> "
4750  << fKeyFirstReqEvtNumber << std::endl;
4751 }
4752 //-------------------------------------------------------------------
4754  //Registration of the last requested event number
4755 
4756  const char* bufferchain = fLevText->GetBuffer()->GetString();
4757  fKeyLastReqEvtNumberString = bufferchain;
4758  fKeyLastReqEvtNumber = atoi(bufferchain);
4759 
4761  fCnaError++;
4762  std::cout << " !TEcnaGui (" << fCnaError << ") *WARNING* ===> "
4763  << " Last requested event number = " << fKeyLastReqEvtNumber
4764  << ": less than first requested event number (= " << fKeyFirstReqEvtNumber << ")." << std::endl;
4765  }
4766 
4767  fCnaCommand++;
4768  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Registration of last requested event number -> "
4769  << fKeyLastReqEvtNumber << std::endl;
4770 }
4771 //-------------------------------------------------------------------
4773  //Registration of the nb ofrequested events
4774 
4775  const char* bufferchain = fRevText->GetBuffer()->GetString();
4776  fKeyReqNbOfEvtsString = bufferchain;
4777  fKeyReqNbOfEvts = atoi(bufferchain);
4778 
4779  Int_t nb_range_evts = fKeyLastReqEvtNumber - fKeyFirstReqEvtNumber + 1;
4780 
4782  fCnaError++;
4783  std::cout << " !TEcnaGui (" << fCnaError << ") *WARNING* ===> "
4784  << " Last requested event number = " << fKeyLastReqEvtNumber
4785  << " less than first requested event number = " << fKeyFirstReqEvtNumber << std::endl;
4786  }
4787 
4788  if (fKeyLastReqEvtNumber >= fKeyFirstReqEvtNumber && fKeyReqNbOfEvts > nb_range_evts) {
4789  fCnaError++;
4790  std::cout << " !TEcnaGui (" << fCnaError << ") *WARNING* ===> "
4791  << " Nb of requested events = " << fKeyReqNbOfEvts << ": out of range (range = " << fKeyFirstReqEvtNumber
4792  << "," << fKeyLastReqEvtNumber << ") => " << nb_range_evts << " events." << std::endl;
4793  }
4794 
4795  fCnaCommand++;
4796  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Registration of requested number of events -> " << fKeyReqNbOfEvts
4797  << std::endl;
4798 }
4799 
4800 //-------------------------------------------------------------------
4802  //Registration of the Stex number
4803 
4804  const char* bufferchain = fStexText->GetBuffer()->GetString();
4805  fKeyStexNumberString = bufferchain;
4806  fKeyStexNumber = atoi(bufferchain);
4807 
4808  if (fSubDet == "EB") {
4809  fCnaCommand++;
4810  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Registration of SuperModule number -> " << fKeyStexNumber
4811  << std::endl;
4812 
4813  //.......... Positive number for EB- [-1,-18] -> [19,36]
4814  if (fKeyStexNumber < 0) {
4816  }
4817 
4818  if ((fKeyStexNumber < 0) || (fKeyStexNumber > fEcal->MaxSMInEB())) {
4819  fCnaError++;
4820  std::cout << " !TEcnaGui (" << fCnaError << ") *** ERROR *** ===> "
4821  << " EB / SM number = " << fKeyStexNumber << ": out of range. Range = 0 (EB) or [ 1 ,"
4822  << fEcal->MaxSMInEB() << " ] (SM)"
4823  << " or [ -" << fEcal->MaxSMInEBMinus() << ", +" << fEcal->MaxSMInEBPlus() << "] (SM)" << fTTBELL
4824  << std::endl;
4825  }
4826  }
4827 
4828  if (fSubDet == "EE") {
4829  //................... Update of SC Button Text according to the Dee Number
4830  TString xStinAButText = "?";
4831  TString xStinBButText = "?";
4832  if (fSubDet == "EE" && (fKeyStexNumber == 1 || fKeyStexNumber == 3)) {
4833  xStinAButText = "SC for const. [150,298] ";
4834  xStinBButText = "SC' for const. [150,298] ";
4835  fStinABut->SetText(xStinAButText);
4836  fStinBBut->SetText(xStinBButText);
4837  }
4838  if (fSubDet == "EE" && (fKeyStexNumber == 2 || fKeyStexNumber == 4)) {
4839  xStinAButText = "SC for const. [ 1,149] ";
4840  xStinBButText = "SC' for const. [ 1,149] ";
4841  fStinABut->SetText(xStinAButText);
4842  fStinBBut->SetText(xStinBButText);
4843  }
4844 
4845  if (fSubDet == "EE" && (fKeyStexNumber == 0)) {
4846  xStinAButText = "SC for const. ";
4847  xStinBButText = "SC' for const. ";
4848  fStinABut->SetText(xStinAButText);
4849  fStinBBut->SetText(xStinBButText);
4850  }
4851 
4852  //................... Update of SC widget according to the Dee Number
4853  if (fKeyStexNumber > 0) {
4854  Int_t StinAValue = fKeyStinANumber;
4855  if (fSubDet == "EE") {
4857  }
4858  DisplayInEntryField(fStinAText, StinAValue);
4859  Int_t StinBValue = fKeyStinBNumber;
4860  if (fSubDet == "EE") {
4862  }
4863  DisplayInEntryField(fStinBText, StinBValue);
4864  }
4865  //............................................ Command message
4866  fCnaCommand++;
4867  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Registration of Dee number -> " << fKeyStexNumber << std::endl;
4868 
4869  if ((fKeyStexNumber < 0) || (fKeyStexNumber > fEcal->MaxDeeInEE())) {
4870  fCnaError++;
4871  std::cout << " !TEcnaGui (" << fCnaError << ") *** ERROR *** ===> "
4872  << " EE / Dee number = " << fKeyStexNumber << ": out of range. Range = 0 (EE) or [ 1 ,"
4873  << fEcal->MaxDeeInEE() << " ] (Dee)" << fTTBELL << std::endl;
4874  }
4875  } // -- end of if( fSubDet == "EE" ) -------
4876 }
4877 //-------------------------------------------------------------------
4878 
4880  //Registration of Ymin for number of events
4881 
4882  const char* bufferchain = fVminD_NOE_ChNbText->GetBuffer()->GetString();
4883 
4884  fKeyVminD_NOE_ChNb = (Double_t)atof(bufferchain);
4885 
4886  fCnaCommand++;
4887  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Registration of Ymin for plot 'number of events' -> "
4888  << fKeyVminD_NOE_ChNb << std::endl;
4889 }
4890 //-------------------------------------------------------------------
4891 
4893  //Registration of Ymax for number of events
4894 
4895  const char* bufferchain = fVmaxD_NOE_ChNbText->GetBuffer()->GetString();
4896 
4897  fKeyVmaxD_NOE_ChNb = (Double_t)atof(bufferchain);
4898 
4899  fCnaCommand++;
4900  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Registration of Ymax for plot 'number of events' -> "
4901  << fKeyVmaxD_NOE_ChNb << std::endl;
4902 }
4903 //-------------------------------------------------------------------
4904 
4906  //Registration of Ymin for pedestals
4907 
4908  const char* bufferchain = fVminD_Ped_ChNbText->GetBuffer()->GetString();
4909 
4910  fKeyVminD_Ped_ChNb = (Double_t)atof(bufferchain);
4911 
4912  fCnaCommand++;
4913  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Registration of Ymin for plot 'pedestal' -> "
4914  << fKeyVminD_Ped_ChNb << std::endl;
4915 }
4916 //-------------------------------------------------------------------
4917 
4919  //Registration of Ymax for pedestals
4920 
4921  const char* bufferchain = fVmaxD_Ped_ChNbText->GetBuffer()->GetString();
4922 
4923  fKeyVmaxD_Ped_ChNb = (Double_t)atof(bufferchain);
4924 
4925  fCnaCommand++;
4926  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Registration of Ymax for plot 'pedestal' -> "
4927  << fKeyVmaxD_Ped_ChNb << std::endl;
4928 }
4929 //-------------------------------------------------------------------
4930 
4932  //Registration of Ymin for mean sample sigmas (noise)
4933 
4934  const char* bufferchain = fVminD_TNo_ChNbText->GetBuffer()->GetString();
4935 
4936  fKeyVminD_TNo_ChNb = (Double_t)atof(bufferchain);
4937 
4938  fCnaCommand++;
4939  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Registration of Ymin for plot 'total noise' -> "
4940  << fKeyVminD_TNo_ChNb << std::endl;
4941 }
4942 //-------------------------------------------------------------------
4943 
4945  //Registration of Ymax for mean sample sigmas (noise)
4946 
4947  const char* bufferchain = fVmaxD_TNo_ChNbText->GetBuffer()->GetString();
4948 
4949  fKeyVmaxD_TNo_ChNb = (Double_t)atof(bufferchain);
4950 
4951  fCnaCommand++;
4952  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Registration of Ymax for plot 'total noise' -> "
4953  << fKeyVmaxD_TNo_ChNb << std::endl;
4954 }
4955 //-------------------------------------------------------------------
4956 
4958  //Registration of Ymin for mean cor(s,s')
4959 
4960  const char* bufferchain = fVminD_MCs_ChNbText->GetBuffer()->GetString();
4961 
4962  fKeyVminD_MCs_ChNb = (Double_t)atof(bufferchain);
4963 
4964  fCnaCommand++;
4965  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Registration of Ymin for plot 'mean cor(s,s')' -> "
4966  << fKeyVminD_MCs_ChNb << std::endl;
4967 }
4968 //-------------------------------------------------------------------
4969 
4971  //Registration of Ymax for mean cor(s,s')
4972 
4973  const char* bufferchain = fVmaxD_MCs_ChNbText->GetBuffer()->GetString();
4974 
4975  fKeyVmaxD_MCs_ChNb = (Double_t)atof(bufferchain);
4976 
4977  fCnaCommand++;
4978  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Registration of Ymax for plot 'mean cor(s,s')' -> "
4979  << fKeyVmaxD_MCs_ChNb << std::endl;
4980 }
4981 //-------------------------------------------------------------------
4982 
4984  //Registration of Ymin for sigmas of sample means
4985 
4986  const char* bufferchain = fVminD_LFN_ChNbText->GetBuffer()->GetString();
4987 
4988  fKeyVminD_LFN_ChNb = (Double_t)atof(bufferchain);
4989 
4990  fCnaCommand++;
4991  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Registration of Ymin for plot 'low frequency noise' -> "
4992  << fKeyVminD_LFN_ChNb << std::endl;
4993 }
4994 //-------------------------------------------------------------------
4995 
4997  //Registration of Ymax for sigmas of sample means
4998 
4999  const char* bufferchain = fVmaxD_LFN_ChNbText->GetBuffer()->GetString();
5000 
5001  fKeyVmaxD_LFN_ChNb = (Double_t)atof(bufferchain);
5002 
5003  fCnaCommand++;
5004  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Registration of Ymax for plot 'low frequency noise' -> "
5005  << fKeyVmaxD_LFN_ChNb << std::endl;
5006 }
5007 //-------------------------------------------------------------------
5008 
5010  //Registration of Ymin for sigmas of sample sigmas
5011 
5012  const char* bufferchain = fVminD_HFN_ChNbText->GetBuffer()->GetString();
5013 
5014  fKeyVminD_HFN_ChNb = (Double_t)atof(bufferchain);
5015 
5016  fCnaCommand++;
5017  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Registration of Ymin for plot 'high frequency noise' -> "
5018  << fKeyVminD_HFN_ChNb << std::endl;
5019 }
5020 //-------------------------------------------------------------------
5021 
5023  //Registration of Ymax for sigmas of sample sigmas
5024 
5025  const char* bufferchain = fVmaxD_HFN_ChNbText->GetBuffer()->GetString();
5026 
5027  fKeyVmaxD_HFN_ChNb = (Double_t)atof(bufferchain);
5028 
5029  fCnaCommand++;
5030  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Registration of Ymax for plot 'high frequency noise' -> "
5031  << fKeyVmaxD_HFN_ChNb << std::endl;
5032 }
5033 //-------------------------------------------------------------------
5034 
5036  //Registration of Ymin for sigmas of cor(s,s')
5037 
5038  const char* bufferchain = fVminD_SCs_ChNbText->GetBuffer()->GetString();
5039 
5040  fKeyVminD_SCs_ChNb = (Double_t)atof(bufferchain);
5041 
5042  fCnaCommand++;
5043  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Registration of Ymin for plot 'sigma of cor(s,s')' -> "
5044  << fKeyVminD_SCs_ChNb << std::endl;
5045 }
5046 //-------------------------------------------------------------------
5047 
5049  //Registration of Ymax for sigmas of cor(s,s')
5050 
5051  const char* bufferchain = fVmaxD_SCs_ChNbText->GetBuffer()->GetString();
5052 
5053  fKeyVmaxD_SCs_ChNb = (Double_t)atof(bufferchain);
5054 
5055  fCnaCommand++;
5056  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Registration of Ymax for plot 'sigma of cor(s,s')' -> "
5057  << fKeyVmaxD_SCs_ChNb << std::endl;
5058 }
5059 //-------------------------------------------------------------------
5060 
5062  //Registration of Ymin for LF Mean Cor(c,c')
5063 
5064  const char* bufferchain = fVminLFccMosText->GetBuffer()->GetString();
5065 
5066  fKeyVminLFccMos = (Double_t)atof(bufferchain);
5067 
5068  fCnaCommand++;
5069  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Registration of Ymin for plot 'mean LF |cor(c,c')|' -> "
5070  << fKeyVminLFccMos << std::endl;
5071 }
5072 //-------------------------------------------------------------------
5073 
5075  //Registration of Ymax for LF Mean Cor(c,c')
5076 
5077  const char* bufferchain = fVmaxLFccMosText->GetBuffer()->GetString();
5078 
5079  fKeyVmaxLFccMos = (Double_t)atof(bufferchain);
5080 
5081  fCnaCommand++;
5082  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Registration of Ymax for plot 'mean LF |cor(c,c')|' -> "
5083  << fKeyVmaxLFccMos << std::endl;
5084 }
5085 //-------------------------------------------------------------------
5086 
5088  //Registration of Ymin for HF Mean Cor(c,c')
5089 
5090  const char* bufferchain = fVminHFccMosText->GetBuffer()->GetString();
5091 
5092  fKeyVminHFccMos = (Double_t)atof(bufferchain);
5093 
5094  fCnaCommand++;
5095  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Registration of Ymin for plot 'mean HF |cor(c,c')|' -> "
5096  << fKeyVminHFccMos << std::endl;
5097 }
5098 //-------------------------------------------------------------------
5099 
5101  //Registration of Ymax for HF Mean Cor(c,c')
5102 
5103  const char* bufferchain = fVmaxHFccMosText->GetBuffer()->GetString();
5104 
5105  fKeyVmaxHFccMos = (Double_t)atof(bufferchain);
5106 
5107  fCnaCommand++;
5108  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Registration of Ymax for plot 'mean HF |cor(c,c')|' -> "
5109  << fKeyVmaxHFccMos << std::endl;
5110 }
5111 
5112 //-------------------------------------------------------------------
5113 
5115  //Registration of Ymin for cov(c,c') in Stins
5116 
5117  const char* bufferchain = fVminLHFccText->GetBuffer()->GetString();
5118 
5119  fKeyVminLHFcc = (Double_t)atof(bufferchain);
5120 
5121  fCnaCommand++;
5122  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Registration of Ymin for plot 'cor(c,c') in " << fStinName.Data()
5123  << "s' -> " << fKeyVminLHFcc << std::endl;
5124 }
5125 //-------------------------------------------------------------------
5126 
5128  //Registration of Ymax for cov(c,c') in Stins
5129 
5130  const char* bufferchain = fVmaxLHFccText->GetBuffer()->GetString();
5131 
5132  fKeyVmaxLHFcc = (Double_t)atof(bufferchain);
5133 
5134  fCnaCommand++;
5135  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Registration of Ymax for plot 'cor(c,c') in " << fStinName.Data()
5136  << "s' -> " << fKeyVmaxLHFcc << std::endl;
5137 }
5138 
5139 //-------------------------------------------------------------------
5140 
5142  ViewStexStinNumbering(); // message in the method
5143 }
5144 //-------------------------------------------------------------------
5146  //Registration of the Stin A number (A = X coordinate for cor(c,c') plots)
5147 
5148  const char* bufferchain = fStinAText->GetBuffer()->GetString();
5149 
5150  Int_t xReadStinANumberForCons = atoi(bufferchain);
5151 
5152  if (fSubDet == "EB") {
5153  fKeyStinANumber = xReadStinANumberForCons;
5154  }
5155  if (fSubDet == "EE") {
5157  }
5158 
5159  if (fSubDet == "EB") {
5160  fCnaCommand++;
5161  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Registration of " << fStinName.Data() << " number -> "
5162  << xReadStinANumberForCons << std::endl;
5163 
5165  fCnaError++;
5166  std::cout << " !TEcnaGui (" << fCnaError << ") *** ERROR *** ===> " << fStinName.Data()
5167  << " number = " << fKeyStinANumber << ": out of range ( range = [ 1 ," << fEcal->MaxStinEcnaInStex()
5168  << " ] ) " << fTTBELL << std::endl;
5169  }
5170  }
5171 
5172  if (fSubDet == "EE") {
5173  fCnaCommand++;
5174  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Registration of " << fStinName.Data()
5175  << " number for construction -> " << xReadStinANumberForCons << std::endl;
5176 
5177  if (fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxDeeInEE()) {
5178  Int_t off_set_cons = 0;
5179  if (fKeyStexNumber == 1 || fKeyStexNumber == 3) {
5180  off_set_cons = fEcal->MaxSCForConsInDee();
5181  }
5182 
5183  if (xReadStinANumberForCons <= off_set_cons ||
5184  xReadStinANumberForCons > fEcal->MaxSCForConsInDee() + off_set_cons) {
5185  fCnaError++;
5186  std::cout << " !TEcnaGui (" << fCnaError
5187  << ") *** ERROR *** ===> SC nb for construction = " << xReadStinANumberForCons
5188  << ". Out of range ( range = [ " << off_set_cons + 1 << ","
5189  << fEcal->MaxSCForConsInDee() + off_set_cons << "] )" << fTTBELL << std::endl;
5190  }
5191  } else {
5192  fCnaError++;
5193  std::cout << " !TEcnaGui (" << fCnaError << ") *** ERROR *** ===> DeeNumber = " << fKeyStexNumber
5194  << ". Out of range ( range = [1," << fEcal->MaxDeeInEE() << "] )" << fTTBELL << std::endl;
5195  }
5196  }
5197 }
5198 
5199 //-------------------------------------------------------------------
5201  //Registration of the Stin B number (B = Y coordinate for cor(c,c') plots)
5202 
5203  const char* bufferchain = fStinBText->GetBuffer()->GetString();
5204 
5205  Int_t xReadStinBNumberForCons = atoi(bufferchain);
5206 
5207  if (fSubDet == "EB") {
5208  fKeyStinBNumber = xReadStinBNumberForCons;
5209  }
5210  if (fSubDet == "EE") {
5212  }
5213 
5214  fCnaCommand++;
5215  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Registration of " << fStinName.Data() << "' number -> "
5216  << xReadStinBNumberForCons << std::endl;
5217 
5218  if (fSubDet == "EB") {
5220  fCnaError++;
5221  std::cout << " !TEcnaGui (" << fCnaError << ") *** ERROR *** ===> " << fStinName.Data()
5222  << "' number = " << fKeyStinBNumber << ": out of range ( range = [ 1 ," << fEcal->MaxStinEcnaInStex()
5223  << " ] ) " << fTTBELL << std::endl;
5224  }
5225  }
5226 
5227  if (fSubDet == "EE") {
5228  if (fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxDeeInEE()) {
5229  Int_t off_set_cons = 0;
5230  if (fKeyStexNumber == 1 || fKeyStexNumber == 3) {
5231  off_set_cons = fEcal->MaxSCForConsInDee();
5232  }
5233 
5234  if (xReadStinBNumberForCons < off_set_cons ||
5235  xReadStinBNumberForCons > fEcal->MaxSCForConsInDee() + off_set_cons) {
5236  fCnaError++;
5237  std::cout << " !TEcnaGui (" << fCnaError
5238  << ") *** ERROR *** ===> SC nb for construction = " << xReadStinBNumberForCons
5239  << ". Out of range ( range = [ " << off_set_cons + 1 << ","
5240  << fEcal->MaxSCForConsInDee() + off_set_cons << "] )" << fTTBELL << std::endl;
5241  }
5242  } else {
5243  fCnaError++;
5244  std::cout << " !TEcnaGui (" << fCnaError << ") *** ERROR *** ===> DeeNumber = " << fKeyStexNumber
5245  << ". Out of range ( range = [1," << fEcal->MaxDeeInEE() << "] )" << fTTBELL << std::endl;
5246  }
5247  }
5248 }
5249 //-------------------------------------------------------------------
5251  //Display of StinA Channel numbering
5253 }
5254 
5255 //-------------------------------------------------------------------
5257  //Registration of the channel number
5258 
5259  const char* bufferchain = fChanText->GetBuffer()->GetString();
5260  Int_t xReadNumber = atoi(bufferchain);
5261 
5262  Int_t Choffset = -1;
5263  TString ChString = "?";
5264 
5265  if (fSubDet == "EB") {
5266  Choffset = 0;
5267  ChString = "channel";
5268  }
5269  if (fSubDet == "EE") {
5270  Choffset = 1;
5271  ChString = "crystal";
5272  }
5273 
5274  fKeyChanNumber = xReadNumber - Choffset; // fKeyChanNumber : range = [0,25]
5275  fCnaCommand++;
5276  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Registration of " << ChString.Data() << " number -> "
5277  << xReadNumber << std::endl;
5278 
5279  if ((fKeyChanNumber < 0) || (fKeyChanNumber > fEcal->MaxCrysInStin() - 1)) {
5280  fCnaError++;
5281  std::cout << " !TEcnaGui (" << fCnaError << ") *** ERROR *** ===> " << ChString.Data() << " number in "
5282  << fStinName.Data() << " = " << xReadNumber << ": out of range ( range = [" << Choffset << ","
5283  << fEcal->MaxCrysInStin() - 1 + Choffset << "] )" << fTTBELL << std::endl;
5284  }
5285 }
5286 //-------------------------------------------------------------------
5288  //Registration of the sample number
5289 
5290  const char* bufferchain = fSampText->GetBuffer()->GetString();
5291  Int_t xKeySampNumber = atoi(bufferchain);
5292 
5293  fCnaCommand++;
5294  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Registration of sample number -> " << xKeySampNumber << std::endl;
5295 
5296  if ((xKeySampNumber < 1) || (xKeySampNumber > fKeyNbOfSamples)) {
5297  fCnaError++;
5298  std::cout << " !TEcnaGui (" << fCnaError << ") *** ERROR *** ===> "
5299  << " Sample number = " << xKeySampNumber << ": out of range ( range = [ 1 ," << fKeyNbOfSamples << " ] )"
5300  << fTTBELL << std::endl;
5301  }
5302 
5303  fKeySampNumber = xKeySampNumber - 1;
5304 }
5305 
5306 //----------------------------------------------------------------------
5308  //Register the name of the file containing the list of run parameters
5309 
5310  //........................... get info from the entry field
5311  const char* listchain = fRulText->GetBuffer()->GetString();
5312  if (listchain[0] == '\0') {
5313  fCnaError++;
5314  std::cout << " !TEcnaGui (" << fCnaError << ") *ERROR* ===> "
5315  << " Empty file name in entry for TIME EVOLUTION plots." << fTTBELL << std::endl;
5317  } else {
5318  char tchiffr[10] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'};
5319 
5320  //............. test of the first character (figure => run number, letter => file name)
5321  if (listchain[0] == tchiffr[0] || listchain[0] == tchiffr[1] || listchain[0] == tchiffr[2] ||
5322  listchain[0] == tchiffr[3] || listchain[0] == tchiffr[4] || listchain[0] == tchiffr[5] ||
5323  listchain[0] == tchiffr[6] || listchain[0] == tchiffr[7] || listchain[0] == tchiffr[8] ||
5324  listchain[0] == tchiffr[9]) {
5325  fCnaError++;
5326  std::cout << " !TEcnaGui (" << fCnaError << ") *ERROR* ===> "
5327  << " Please, enter a file name beginning with an alphabetic letter." << fTTBELL << std::endl;
5328  } else {
5329  fKeyFileNameRunList = listchain;
5330 
5331  fCnaCommand++;
5332  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Registration of run list file name for history plots -> "
5333  << fKeyFileNameRunList.Data() << std::endl;
5334  }
5335  }
5336 }
5337 
5338 //----------------------------------------------------------------------
5340  //Register the general title
5341  //........................... get info from the entry field
5342  const char* listchain = fGentText->GetBuffer()->GetString();
5343  fKeyGeneralTitle = listchain;
5344 
5345  fCnaCommand++;
5346  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Registration of general title -> " << fKeyGeneralTitle.Data()
5347  << std::endl;
5348 }
5349 //-------------------------------------------------------------------
5350 //
5351 // Last buttons methods
5352 //
5353 //-------------------------------------------------------------------
5354 //======================= LIN/LOG + Projy FRAME
5355 
5357  if (fMemoScaleX == "LOG") {
5358  fKeyScaleX = "LIN";
5359  }
5360  if (fMemoScaleX == "LIN") {
5361  fKeyScaleX = "LOG";
5362  }
5364 
5365  fCnaCommand++;
5366  std::cout << " *TEcnaGui [" << fCnaCommand << "]> X axis -> " << fKeyScaleX << " scale " << std::endl;
5367 }
5369  if (fMemoScaleY == "LOG") {
5370  fKeyScaleY = "LIN";
5371  }
5372  if (fMemoScaleY == "LIN") {
5373  fKeyScaleY = "LOG";
5374  }
5376 
5377  fCnaCommand++;
5378  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Y axis -> " << fKeyScaleY << " scale " << std::endl;
5379 }
5380 
5382  if (fMemoProjY == "Y projection") {
5383  fKeyProjY = "normal";
5384  }
5385  if (fMemoProjY == "normal") {
5386  fKeyProjY = "Y projection";
5387  }
5389 
5390  fCnaCommand++;
5391  std::cout << " *TEcnaGui [" << fCnaCommand << "]> 1D Histo display -> " << fKeyProjY << " mode " << std::endl;
5392 }
5393 
5394 //------------------------------------------------------------------- Colors + Exit
5395 
5397  if (fMemoColPal == "ECCNAColor") {
5398  fKeyColPal = "Rainbow";
5399  }
5400  if (fMemoColPal == "Rainbow") {
5401  fKeyColPal = "ECCNAColor";
5402  }
5404 
5405  TString sColPalComment = "?";
5406  if (fKeyColPal == "ECCNAColor") {
5407  sColPalComment = "ECNAColor option: black-red-blue-green-brown-purple (default)";
5408  }
5409  if (fKeyColPal == "Rainbow") {
5410  sColPalComment = "Rainbow option: red-orange-yellow-green-blue-indigo-purple";
5411  }
5412 
5413  fCnaCommand++;
5414  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Color palette -> " << sColPalComment << std::endl;
5415 }
5416 
5418  fCnaCommand++;
5419  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Exit CNA session." << std::endl;
5420  //............................ Quit the ROOT session
5421  fButExit->SetCommand(".q");
5422 }
5423 
5424 //======================= LAST FRAME
5425 //-------------------------------------------------------------------
5427  fCnaCommand++;
5428  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Clone last canvas. " << std::endl;
5429 
5430  if (fHistos == nullptr) {
5431  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
5432  ;
5433  }
5435 }
5436 //-------------------------------------------------------------------
5438  fCnaCommand++;
5439  std::cout << " *TEcnaGui [" << fCnaCommand << "]> This is ROOT version " << gROOT->GetVersion() << std::endl;
5440 }
5441 //-------------------------------------------------------------------
5443  fCnaCommand++;
5444  std::cout << " *TEcnaGui [" << fCnaCommand << "]> HELP: for documentation, see the ECNA web page: " << std::endl
5445  << " http://cms-fabbro.web.cern.ch/cms-fabbro/cna_new/Correlated_Noise_Analysis/ECNA_main_page.htm"
5446  << std::endl;
5447 }
5448 
5449 //===================================================================
5450 //
5451 // HandleMenu
5452 //
5453 //===================================================================
5454 void TEcnaGui::HandleMenu(Int_t id) {
5455  //HandleMenu
5456  //.................... SUBMIT on batch system
5457 
5458  if (id == fMenuSubmit8nmC) {
5459  SubmitOnBatchSystem("8nm");
5460  }
5461  if (id == fMenuSubmit1nhC) {
5462  SubmitOnBatchSystem("1nh");
5463  }
5464  if (id == fMenuSubmit8nhC) {
5465  SubmitOnBatchSystem("8nh");
5466  }
5467  if (id == fMenuSubmit1ndC) {
5468  SubmitOnBatchSystem("1nd");
5469  }
5470  if (id == fMenuSubmit1nwC) {
5471  SubmitOnBatchSystem("1nw");
5472  }
5473 
5474  //.................... Clean
5475  if (id == fMenuCleanSubC) {
5476  CleanBatchFiles("Sub");
5477  }
5478  if (id == fMenuCleanJobC) {
5479  CleanBatchFiles("Job");
5480  }
5481  if (id == fMenuCleanPythC) {
5482  CleanBatchFiles("Pyth");
5483  }
5484  if (id == fMenuCleanAllC) {
5485  CleanBatchFiles("All");
5486  }
5487 
5488  //.................... Calculations
5489  if (id == fMenuComputStdC) {
5490  Calculations("Std");
5491  }
5492  if (id == fMenuComputSttC) {
5493  Calculations("Stt");
5494  }
5495  if (id == fMenuComputSccC) {
5496  Calculations("Scc");
5497  }
5498 
5499  //.................... Nb of events in Stex
5500  if (id == fMenuD_NOE_ChNbFullC) {
5501  if (fMemoProjY == "normal") {
5503  }
5504  if (fMemoProjY == "Y projection") {
5506  }
5507  }
5508  if (id == fMenuD_NOE_ChNbSameC) {
5509  if (fMemoProjY == "normal") {
5511  }
5512  if (fMemoProjY == "Y projection") {
5514  }
5515  }
5516  if (id == fMenuD_NOE_ChNbHocoVecoC) {
5518  }
5519  if (id == fMenuD_NOE_ChNbAsciiFileC) {
5521  }
5522 
5523  //.................... Pedestal in Stex (HandleMenu)
5524  if (id == fMenuD_Ped_ChNbFullC) {
5525  if (fMemoProjY == "normal") {
5527  }
5528  if (fMemoProjY == "Y projection") {
5530  }
5531  }
5532  if (id == fMenuD_Ped_ChNbSameC) {
5533  if (fMemoProjY == "normal") {
5535  }
5536  if (fMemoProjY == "Y projection") {
5538  }
5539  }
5540  if (id == fMenuD_Ped_ChNbHocoVecoC) {
5542  }
5543  if (id == fMenuD_Ped_ChNbAsciiFileC) {
5545  }
5546 
5547  //.................... Total noise in Stex (HandleMenu)
5548  if (id == fMenuD_TNo_ChNbFullC) {
5549  if (fMemoProjY == "normal") {
5551  }
5552  if (fMemoProjY == "Y projection") {
5554  }
5555  }
5556  if (id == fMenuD_TNo_ChNbSameC) {
5557  if (fMemoProjY == "normal") {
5559  }
5560  if (fMemoProjY == "Y projection") {
5562  }
5563  }
5564  if (id == fMenuD_TNo_ChNbSamePC) {
5565  if (fMemoProjY == "normal") {
5567  }
5568  if (fMemoProjY == "Y projection") {
5570  }
5571  }
5572  if (id == fMenuD_TNo_ChNbHocoVecoC) {
5574  }
5575  if (id == fMenuD_TNo_ChNbAsciiFileC) {
5577  }
5578 
5579  //.................... Low Frequency noise in Stex (HandleMenu)
5580  if (id == fMenuD_LFN_ChNbFullC) {
5581  if (fMemoProjY == "normal") {
5583  }
5584  if (fMemoProjY == "Y projection") {
5586  }
5587  }
5588  if (id == fMenuD_LFN_ChNbSameC) {
5589  if (fMemoProjY == "normal") {
5591  }
5592  if (fMemoProjY == "Y projection") {
5594  }
5595  }
5596  if (id == fMenuD_LFN_ChNbSamePC) {
5597  if (fMemoProjY == "normal") {
5599  }
5600  if (fMemoProjY == "Y projection") {
5602  }
5603  }
5604  if (id == fMenuD_LFN_ChNbHocoVecoC) {
5606  }
5607  if (id == fMenuD_LFN_ChNbAsciiFileC) {
5609  }
5610 
5611  //.................... High Frequency noise in Stex (HandleMenu)
5612  if (id == fMenuD_HFN_ChNbFullC) {
5613  if (fMemoProjY == "normal") {
5615  }
5616  if (fMemoProjY == "Y projection") {
5618  }
5619  }
5620  if (id == fMenuD_HFN_ChNbSameC) {
5621  if (fMemoProjY == "normal") {
5623  }
5624  if (fMemoProjY == "Y projection") {
5626  }
5627  }
5628  if (id == fMenuD_HFN_ChNbSamePC) {
5629  if (fMemoProjY == "normal") {
5631  }
5632  if (fMemoProjY == "Y projection") {
5634  }
5635  }
5636  if (id == fMenuD_HFN_ChNbHocoVecoC) {
5638  }
5639  if (id == fMenuD_HFN_ChNbAsciiFileC) {
5641  }
5642 
5643  //.................... Mean Corss in Stex (HandleMenu)
5644  if (id == fMenuD_MCs_ChNbFullC) {
5645  if (fMemoProjY == "normal") {
5647  }
5648  if (fMemoProjY == "Y projection") {
5650  }
5651  }
5652  if (id == fMenuD_MCs_ChNbSameC) {
5653  if (fMemoProjY == "normal") {
5655  }
5656  if (fMemoProjY == "Y projection") {
5658  }
5659  }
5660  if (id == fMenuD_MCs_ChNbSamePC) {
5661  if (fMemoProjY == "normal") {
5663  }
5664  if (fMemoProjY == "Y projection") {
5666  }
5667  }
5668  if (id == fMenuD_MCs_ChNbHocoVecoC) {
5670  }
5671  if (id == fMenuD_MCs_ChNbAsciiFileC) {
5673  }
5674 
5675  //.................... Sigma of Corss in the Stex (HandleMenu)
5676  if (id == fMenuD_SCs_ChNbFullC) {
5677  if (fMemoProjY == "normal") {
5679  }
5680  if (fMemoProjY == "Y projection") {
5682  }
5683  }
5684  if (id == fMenuD_SCs_ChNbSameC) {
5685  if (fMemoProjY == "normal") {
5687  }
5688  if (fMemoProjY == "Y projection") {
5690  }
5691  }
5692  if (id == fMenuD_SCs_ChNbSamePC) {
5693  if (fMemoProjY == "normal") {
5695  }
5696  if (fMemoProjY == "Y projection") {
5698  }
5699  }
5700  if (id == fMenuD_SCs_ChNbHocoVecoC) {
5702  }
5703  if (id == fMenuD_SCs_ChNbAsciiFileC) {
5705  }
5706 
5707  //............................... Low Freq Mean Cor(c,c') for each pair of Stins (HandleMenu)
5708  if (id == fMenuLFccMosColzC) {
5710  }
5711  if (id == fMenuLFccMosLegoC) {
5713  }
5714  //............................... High Freq Mean Cor(c,c') for each pair of Stins
5715  if (id == fMenuHFccMosColzC) {
5717  }
5718  if (id == fMenuHFccMosLegoC) {
5720  }
5721 
5722  //............................... Corcc for each Stin in the Stex
5723  if (id == fMenuLFccColzC) {
5725  }
5726  if (id == fMenuHFccColzC) {
5728  }
5729 
5730  //--------> Nb for Cons for Stin numbers in case of EE
5731  Int_t cKeyStinANumber = fKeyStinANumber;
5732  if (fSubDet == "EE" && fKeyStexNumber != 0) {
5734  }
5735  Int_t cKeyStinBNumber = fKeyStinBNumber;
5736  if (fSubDet == "EE" && fKeyStexNumber != 0) {
5738  }
5739 
5740  //............................... Low Frequency Correlations and covariances between channels
5741  if (id == fMenuLFCorccColzC) {
5742  ViewMatrixLowFrequencyCorrelationsBetweenChannels(cKeyStinANumber, cKeyStinBNumber, "COLZ");
5743  }
5744  if (id == fMenuLFCorccLegoC) {
5745  ViewMatrixLowFrequencyCorrelationsBetweenChannels(cKeyStinANumber, cKeyStinBNumber, "LEGO2Z");
5746  }
5747 
5748  if (id == fMenuHFCorccColzC) {
5749  ViewMatrixHighFrequencyCorrelationsBetweenChannels(cKeyStinANumber, cKeyStinBNumber, "COLZ");
5750  }
5751  if (id == fMenuHFCorccLegoC) {
5752  ViewMatrixHighFrequencyCorrelationsBetweenChannels(cKeyStinANumber, cKeyStinBNumber, "LEGO2Z");
5753  }
5754 
5755  //.................................... Correlations and covariances between samples (HandleMenu)
5756  if (id == fMenuCorssColzC) {
5757  ViewMatrixCorrelationSamples(cKeyStinANumber, fKeyChanNumber, "COLZ");
5758  }
5759  if (id == fMenuCorssBoxC) {
5760  ViewMatrixCorrelationSamples(cKeyStinANumber, fKeyChanNumber, "BOX");
5761  }
5762  if (id == fMenuCorssTextC) {
5763  ViewMatrixCorrelationSamples(cKeyStinANumber, fKeyChanNumber, "TEXT");
5764  }
5765  if (id == fMenuCorssContzC) {
5766  ViewMatrixCorrelationSamples(cKeyStinANumber, fKeyChanNumber, "CONTZ");
5767  }
5768  if (id == fMenuCorssLegoC) {
5769  ViewMatrixCorrelationSamples(cKeyStinANumber, fKeyChanNumber, "LEGO2Z");
5770  }
5771  if (id == fMenuCorssSurf1C) {
5772  ViewMatrixCorrelationSamples(cKeyStinANumber, fKeyChanNumber, "SURF1Z");
5773  }
5774  if (id == fMenuCorssSurf2C) {
5775  ViewMatrixCorrelationSamples(cKeyStinANumber, fKeyChanNumber, "SURF2Z");
5776  }
5777  if (id == fMenuCorssSurf3C) {
5778  ViewMatrixCorrelationSamples(cKeyStinANumber, fKeyChanNumber, "SURF3Z");
5779  }
5780  if (id == fMenuCorssSurf4C) {
5781  ViewMatrixCorrelationSamples(cKeyStinANumber, fKeyChanNumber, "SURF4");
5782  }
5783  if (id == fMenuCorssAsciiFileC) {
5784  ViewMatrixCorrelationSamples(cKeyStinANumber, fKeyChanNumber, "ASCII");
5785  }
5786 
5787  if (id == fMenuCovssColzC) {
5788  ViewMatrixCovarianceSamples(cKeyStinANumber, fKeyChanNumber, "COLZ");
5789  }
5790  if (id == fMenuCovssBoxC) {
5791  ViewMatrixCovarianceSamples(cKeyStinANumber, fKeyChanNumber, "BOX");
5792  }
5793  if (id == fMenuCovssTextC) {
5794  ViewMatrixCovarianceSamples(cKeyStinANumber, fKeyChanNumber, "TEXT");
5795  }
5796  if (id == fMenuCovssContzC) {
5797  ViewMatrixCovarianceSamples(cKeyStinANumber, fKeyChanNumber, "CONTZ");
5798  }
5799  if (id == fMenuCovssLegoC) {
5800  ViewMatrixCovarianceSamples(cKeyStinANumber, fKeyChanNumber, "LEGO2Z");
5801  }
5802  if (id == fMenuCovssSurf1C) {
5803  ViewMatrixCovarianceSamples(cKeyStinANumber, fKeyChanNumber, "SURF1Z");
5804  }
5805  if (id == fMenuCovssSurf2C) {
5806  ViewMatrixCovarianceSamples(cKeyStinANumber, fKeyChanNumber, "SURF2Z");
5807  }
5808  if (id == fMenuCovssSurf3C) {
5809  ViewMatrixCovarianceSamples(cKeyStinANumber, fKeyChanNumber, "SURF3Z");
5810  }
5811  if (id == fMenuCovssSurf4C) {
5812  ViewMatrixCovarianceSamples(cKeyStinANumber, fKeyChanNumber, "SURF4");
5813  }
5814  if (id == fMenuCovssAsciiFileC) {
5815  ViewMatrixCovarianceSamples(cKeyStinANumber, fKeyChanNumber, "ASCII");
5816  }
5817 
5818  //.................... Correlations and covariances between samples for all channels of a Stin
5819  if (id == fMenuCorssAllColzC) {
5820  ViewStinCorrelationSamples(cKeyStinANumber);
5821  }
5822  if (id == fMenuCovssAllColzC) {
5823  ViewStinCovarianceSamples(cKeyStinANumber);
5824  }
5825 
5826  //..................................... Sample means (pedestals) (HandleMenu)
5827  if (id == fMenuD_MSp_SpNbLineFullC) {
5828  if (fMemoProjY == "normal") {
5830  }
5831  if (fMemoProjY == "Y projection") {
5833  }
5834  }
5835 
5836  if (id == fMenuD_MSp_SpNbLineSameC) {
5837  if (fMemoProjY == "normal") {
5839  }
5840  if (fMemoProjY == "Y projection") {
5842  }
5843  }
5844  if (id == fMenuD_MSp_SpNbLineAllStinC) {
5845  if (fMemoProjY == "normal") {
5847  }
5848  if (fMemoProjY == "Y projection") {
5850  }
5851  }
5852 
5853  //..................................... Sample sigmas
5854  if (id == fMenuD_SSp_SpNbLineFullC) {
5855  if (fMemoProjY == "normal") {
5857  }
5858  if (fMemoProjY == "Y projection") {
5860  }
5861  }
5862  if (id == fMenuD_SSp_SpNbLineSameC) {
5863  if (fMemoProjY == "normal") {
5865  }
5866  if (fMemoProjY == "Y projection") {
5868  }
5869  }
5870  if (id == fMenuD_SSp_SpNbLineAllStinC) {
5871  if (fMemoProjY == "normal") {
5873  }
5874  if (fMemoProjY == "Y projection") {
5876  }
5877  }
5878 
5879  //..................................... Evolution in time (ViewHistime, except EvolSamp -> Viewhisto)
5887  fCnaError++;
5888  std::cout << " !TEcnaGui (" << fCnaError << ") *** ERROR *** ===> "
5889  << " EMPTY STRING for list of run file name (TIME EVOLUTION plots)." << fTTBELL << std::endl;
5890  } else {
5891  //........................................ Pedestals (HandleMenu / ViewHistime)
5892  if (id == fMenuH_Ped_DatePolmFullC) {
5893  if (fMemoProjY == "normal") {
5895  }
5896  if (fMemoProjY == "Y projection") {
5898  }
5899  }
5900  if (id == fMenuH_Ped_DatePolmSameC) {
5901  if (fMemoProjY == "normal") {
5903  }
5904  if (fMemoProjY == "Y projection") {
5906  }
5907  }
5908 
5909  //........................................ Total noise
5910  if (id == fMenuH_TNo_DatePolmFullC) {
5911  if (fMemoProjY == "normal") {
5913  }
5914  if (fMemoProjY == "Y projection") {
5916  }
5917  }
5918  if (id == fMenuH_TNo_DatePolmSameC) {
5919  if (fMemoProjY == "normal") {
5921  }
5922  if (fMemoProjY == "Y projection") {
5924  }
5925  }
5926  if (id == fMenuH_TNo_DatePolmSamePC) {
5927  if (fMemoProjY == "normal") {
5929  }
5930  if (fMemoProjY == "Y projection") {
5932  }
5933  }
5934 
5935  //........................................ Low frequency noise (HandleMenu / ViewHistime)
5936  if (id == fMenuH_LFN_DatePolmFullC) {
5937  if (fMemoProjY == "normal") {
5939  fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotFull);
5940  }
5941  if (fMemoProjY == "Y projection") {
5943  fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotFull);
5944  }
5945  }
5946  if (id == fMenuH_LFN_DatePolmSameC) {
5947  if (fMemoProjY == "normal") {
5949  fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotSame);
5950  }
5951  if (fMemoProjY == "Y projection") {
5953  fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotSame);
5954  }
5955  }
5956  if (id == fMenuH_LFN_DatePolmSamePC) {
5957  if (fMemoProjY == "normal") {
5959  fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotSameP);
5960  }
5961  if (fMemoProjY == "Y projection") {
5963  fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotSameP);
5964  }
5965  }
5966 
5967  //........................................ High frequency noise
5968  if (id == fMenuH_HFN_DatePolmFullC) {
5969  if (fMemoProjY == "normal") {
5971  fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotFull);
5972  }
5973  if (fMemoProjY == "Y projection") {
5975  fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotFull);
5976  }
5977  }
5978  if (id == fMenuH_HFN_DatePolmSameC) {
5979  if (fMemoProjY == "normal") {
5981  fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotSame);
5982  }
5983  if (fMemoProjY == "Y projection") {
5985  fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotSame);
5986  }
5987  }
5988  if (id == fMenuH_HFN_DatePolmSamePC) {
5989  if (fMemoProjY == "normal") {
5991  fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotSameP);
5992  }
5993  if (fMemoProjY == "Y projection") {
5995  fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotSameP);
5996  }
5997  }
5998 
5999  //........................................ Mean Corss (HandleMenu / ViewHistime)
6000  if (id == fMenuH_MCs_DatePolmFullC) {
6001  if (fMemoProjY == "normal") {
6003  }
6004  if (fMemoProjY == "Y projection") {
6006  }
6007  }
6008  if (id == fMenuH_MCs_DatePolmSameC) {
6009  if (fMemoProjY == "normal") {
6011  }
6012  if (fMemoProjY == "Y projection") {
6014  }
6015  }
6016  if (id == fMenuH_MCs_DatePolmSamePC) {
6017  if (fMemoProjY == "normal") {
6019  }
6020  if (fMemoProjY == "Y projection") {
6022  }
6023  }
6024 
6025  //........................................ Sigmas of Corss
6026  if (id == fMenuH_SCs_DatePolmFullC) {
6027  if (fMemoProjY == "normal") {
6029  }
6030  if (fMemoProjY == "Y projection") {
6032  }
6033  }
6034  if (id == fMenuH_SCs_DatePolmSameC) {
6035  if (fMemoProjY == "normal") {
6037  }
6038  if (fMemoProjY == "Y projection") {
6040  }
6041  }
6042  if (id == fMenuH_SCs_DatePolmSamePC) {
6043  if (fMemoProjY == "normal") {
6045  }
6046  if (fMemoProjY == "Y projection") {
6048  fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotSameP);
6049  }
6050  }
6051  }
6052  }
6053 
6054  //...................................... SampTime (HandleMenu / ADC)
6055  if (id == fMenuAdcProjSampLineFullC) {
6056  if (fMemoProjY == "normal") {
6058  }
6059  if (fMemoProjY == "Y projection") {
6061  }
6062  }
6063  if (id == fMenuAdcProjSampLineSameC) {
6064  if (fMemoProjY == "normal") {
6066  }
6067  if (fMemoProjY == "Y projection") {
6069  }
6070  }
6071 }
6072 // ------------- ( end of HandleMenu(...) ) -------------
6073 
6074 //==========================================================================
6075 //
6076 // SubmitOnBatchSystem() M E T H O D
6077 //
6078 //==========================================================================
6079 void TEcnaGui::SubmitOnBatchSystem(const TString& QueueCode) {
6080  //Submit job in batch mode
6081 
6082  if ((fConfirmSubmit == 1) && (fConfirmRunNumber == fKeyRunNumber)) {
6083  fCnaCommand++;
6084  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Submitting job in batch mode for run " << fConfirmRunNumber
6085  << std::endl;
6086 
6087  //.......................... get the path "modules/data"
6088  // /afs/cern.ch/user/U/USERNAME/cmssw/CMSSW_X_Y_Z/src/CalibCalorimetry/EcalCorrelatedNoiseAnalysisModules/data/
6089  TString ModulesdataPath = fCnaParPaths->PathModulesData();
6090 
6091  //---------------------------------- python file building script: command text
6092  TString CnaPythonCommand = ModulesdataPath;
6093 
6094  //......................................... Script for python file building: script name
6095  TString PythonScriptName = "EcnaSystemScriptPython";
6096  const Text_t* t_PythonScriptName = (const Text_t*)PythonScriptName.Data();
6097  CnaPythonCommand.Append(t_PythonScriptName);
6098 
6099  //......................................... Script for python file building: arguments
6100  // In the calling command, TString arguments must be of the form: \"STRING1\" \"STRING2\" etc...
6101 
6102  //......................................... arguments -> Run number
6103  //.......... ${1}
6104  CnaPythonCommand.Append(' ');
6105  CnaPythonCommand.Append(fConfirmRunNumberString);
6106 
6107  //......................................... arguments -> Analyzer parameters
6108  //.......... ${2}
6109  CnaPythonCommand.Append(' ');
6110  CnaPythonCommand.Append('\\');
6111  CnaPythonCommand.Append('\"');
6112  const Text_t* t_StringAnaType = (const Text_t*)fKeyAnaType.Data();
6113  CnaPythonCommand.Append(t_StringAnaType);
6114  CnaPythonCommand.Append('\\');
6115  CnaPythonCommand.Append('\"');
6116 
6117  //.......... ${3}
6118  CnaPythonCommand.Append(' ');
6119  CnaPythonCommand.Append('\\');
6120  CnaPythonCommand.Append('\"');
6121  const Text_t* t_NbOfSamplesString = (const Text_t*)fKeyNbOfSamplesString.Data();
6122  CnaPythonCommand.Append(t_NbOfSamplesString);
6123  CnaPythonCommand.Append('\\');
6124  CnaPythonCommand.Append('\"');
6125 
6126  //.......... ${4}
6127  CnaPythonCommand.Append(' ');
6128  CnaPythonCommand.Append('\\');
6129  CnaPythonCommand.Append('\"');
6130  const Text_t* t_FirstReqEvtNumberString = (const Text_t*)fKeyFirstReqEvtNumberString.Data();
6131  CnaPythonCommand.Append(t_FirstReqEvtNumberString);
6132  CnaPythonCommand.Append('\\');
6133  CnaPythonCommand.Append('\"');
6134 
6135  //.......... ${5}
6136  CnaPythonCommand.Append(' ');
6137  CnaPythonCommand.Append('\\');
6138  CnaPythonCommand.Append('\"');
6139  const Text_t* t_LastReqEvtNumberString = (const Text_t*)fKeyLastReqEvtNumberString.Data();
6140  CnaPythonCommand.Append(t_LastReqEvtNumberString);
6141  CnaPythonCommand.Append('\\');
6142  CnaPythonCommand.Append('\"');
6143 
6144  //.......... ${6}
6145  CnaPythonCommand.Append(' ');
6146  CnaPythonCommand.Append('\\');
6147  CnaPythonCommand.Append('\"');
6148  const Text_t* t_ReqNbOfEvtsString = (const Text_t*)fKeyReqNbOfEvtsString.Data();
6149  CnaPythonCommand.Append(t_ReqNbOfEvtsString);
6150  CnaPythonCommand.Append('\\');
6151  CnaPythonCommand.Append('\"');
6152 
6153  //.......... ${7}
6154  CnaPythonCommand.Append(' ');
6155  CnaPythonCommand.Append('\\');
6156  CnaPythonCommand.Append('\"');
6157  const Text_t* t_fStexName = (const Text_t*)fStexName.Data();
6158  CnaPythonCommand.Append(t_fStexName);
6159  CnaPythonCommand.Append('\\');
6160  CnaPythonCommand.Append('\"');
6161 
6162  //.......... ${8}
6163  CnaPythonCommand.Append(' ');
6164  CnaPythonCommand.Append('\\');
6165  CnaPythonCommand.Append('\"');
6166  const Text_t* t_StexNumberString = (const Text_t*)fKeyStexNumberString.Data();
6167  CnaPythonCommand.Append(t_StexNumberString);
6168  CnaPythonCommand.Append('\\');
6169  CnaPythonCommand.Append('\"');
6170 
6171  //......................................... arguments -> python file name
6172  //.......... ${9}
6173  // - - - - - - - - - - - - - - - - - Build the name
6174  fPythonFileName = "EcnaPython_";
6175 
6176  fPythonFileName.Append(t_StringAnaType);
6177  fPythonFileName.Append('_');
6178 
6179  fPythonFileName.Append('S');
6180  fPythonFileName.Append('1');
6181  fPythonFileName.Append('_');
6182  fPythonFileName.Append(t_NbOfSamplesString);
6183  fPythonFileName.Append('_');
6184  fPythonFileName.Append('R');
6185 
6186  const Text_t* t_fConfirmRunNumberString = (const Text_t*)fConfirmRunNumberString.Data();
6187  fPythonFileName.Append(t_fConfirmRunNumberString);
6188  fPythonFileName.Append('_');
6189 
6190  fPythonFileName.Append(t_FirstReqEvtNumberString);
6191  fPythonFileName.Append('_');
6192 
6193  fPythonFileName.Append(t_LastReqEvtNumberString);
6194  fPythonFileName.Append('_');
6195 
6196  fPythonFileName.Append(t_ReqNbOfEvtsString);
6197  fPythonFileName.Append('_');
6198 
6199  fPythonFileName.Append(t_fStexName);
6200 
6201  fPythonFileName.Append(t_StexNumberString); // <== (python file name without extension .py)
6202  // - - - - - - - - - - - - - - - - -
6203 
6204  CnaPythonCommand.Append(' ');
6205  const Text_t* t_fPythonFileName = (const Text_t*)fPythonFileName.Data();
6206  CnaPythonCommand.Append(t_fPythonFileName);
6207 
6208  //......................................... arguments -> modules:data path
6209  //.......... ${9}
6210  CnaPythonCommand.Append(' ');
6211  const Text_t* t_modules_data_path = (const Text_t*)ModulesdataPath.Data();
6212  CnaPythonCommand.Append(t_modules_data_path);
6213 
6214  //......................................... arguments -> last evt number (without "")
6215  //.......... ${10}
6216  //CnaPythonCommand.Append(' ');
6217  //CnaPythonCommand.Append(t_LastReqEvtNumberString);
6218 
6219  //......................................... arguments -> SourceForPythonFileName
6220  //.......... ${11}
6221  //CnaPythonCommand.Append(' ');
6222  //const Text_t *t_Pyf = (const Text_t *)fKeyPyf.Data();
6223  //CnaPythonCommand.Append(t_Pyf);
6224 
6225  //---------------------------------- Exec python file building command (csh before command text)
6226  const Text_t* t_cnapythoncommand = (const Text_t*)CnaPythonCommand.Data();
6227  TString CnaExecPythonCommand = "csh ";
6228  CnaExecPythonCommand.Append(t_cnapythoncommand);
6229 
6230  Int_t i_exec_python = gSystem->Exec(CnaExecPythonCommand.Data());
6231 
6232  if (i_exec_python != 0) {
6233  std::cout << "*TEcnaGui> Script for python file building was executed with error code = " << i_exec_python << "."
6234  << std::endl
6235  << " python file: " << fPythonFileName.Data() << ".py" << std::endl
6236  << " Command: " << CnaExecPythonCommand.Data() << std::endl
6237  << fTTBELL << std::endl;
6238  } else {
6239  std::cout << "*TEcnaGui> Script for python file building was successfully executed." << std::endl
6240  << " python file: " << fPythonFileName.Data() << ".py" << std::endl
6241  << " (Command: " << CnaExecPythonCommand.Data() << ")" << std::endl;
6242 
6243  //========================================================== Job submission script
6244  TString CnaSubmitCommand = ModulesdataPath;
6245 
6246  //......................................... Script for job submission: command name
6247  TString SubmitScriptName = "EcnaSystemScriptSubmit";
6248  const Text_t* t_SubmitScriptName = (const Text_t*)SubmitScriptName.Data();
6249  CnaSubmitCommand.Append(t_SubmitScriptName);
6250  CnaSubmitCommand.Append(' ');
6251 
6252  //......................................... Script for job submission: arguments
6253  const Text_t* t_cmssw_base = (const Text_t*)fCnaParPaths->CMSSWBase().Data();
6254  CnaSubmitCommand.Append(t_cmssw_base);
6255  CnaSubmitCommand.Append(' ');
6256 
6257  const Text_t* t_cmssw_subsystem = (const Text_t*)fCnaParPaths->CMSSWSubsystem().Data();
6258  CnaSubmitCommand.Append(t_cmssw_subsystem);
6259  CnaSubmitCommand.Append(' ');
6260 
6261  const Text_t* t_cfgp_file = (const Text_t*)fPythonFileName.Data();
6262  CnaSubmitCommand.Append(t_cfgp_file);
6263  CnaSubmitCommand.Append(' ');
6264 
6265  const Text_t* t_QueueCode = (const Text_t*)QueueCode.Data();
6266  CnaSubmitCommand.Append(t_QueueCode);
6267 
6268  //----------------------------------------- Exec Submit Command (csh before command text)
6269  const Text_t* t_cnasubmitcommand = (const Text_t*)CnaSubmitCommand.Data();
6270  TString CnaExecSubmitCommand = "csh ";
6271  CnaExecSubmitCommand.Append(t_cnasubmitcommand);
6272 
6273  Int_t i_exec_submit = gSystem->Exec(CnaExecSubmitCommand.Data());
6274 
6275  if (i_exec_submit != 0) {
6276  std::cout << "*TEcnaGui> Script for job submission was executed with error code = " << i_exec_submit << "."
6277  << std::endl
6278  << " Command: " << CnaExecSubmitCommand.Data() << std::endl
6279  << fTTBELL << std::endl;
6280  } else {
6281  std::cout << "*TEcnaGui> Job with configuration file: " << fPythonFileName.Data()
6282  << " was successfully submitted." << std::endl
6283  << " (Command: " << CnaExecSubmitCommand.Data() << ")" << std::endl;
6284  }
6285 
6286  fConfirmSubmit = 0;
6287  fConfirmRunNumber = 0;
6289  }
6290  } else {
6291  if (fKeyAnaType.BeginsWith("Adc")) {
6292  fCnaCommand++;
6293  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Request for submitting job in batch mode for run "
6294  << fKeyRunNumber << ". Syntax OK. Please, click again to confirm." << fTTBELL << std::endl;
6295 
6296  fConfirmSubmit = 1;
6299  } else {
6300  fCnaError++;
6301  std::cout << " !TEcnaGui (" << fCnaError << ") *** ERROR *** ===>"
6302  << " Analysis name = " << fKeyAnaType << ": should begin with 'Adc'."
6303  << " Please, change the analysis name." << fTTBELL << std::endl;
6304 
6305  fConfirmSubmit = 0;
6306  fConfirmRunNumber = 0;
6308  }
6309  }
6310 }
6311 //------------------------------------------- end of SubmitOnBatchSystem() ------------------------
6312 
6313 //==========================================================================
6314 //
6315 // CleanBatchFiles() M E T H O D
6316 //
6317 //==========================================================================
6318 void TEcnaGui::CleanBatchFiles(const TString& clean_code) {
6319  //Clean python files, submission scripts,...
6320 
6321  fCnaCommand++;
6322  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Clean requested with code: " << clean_code << std::endl;
6323 
6324  //================================ CLEAN SUBMISSION SCRIPTS ===================================
6325  if (clean_code == "Sub" || clean_code == "All") {
6326  //.......................... get the path "modules/data"
6327  // /afs/cern.ch/user/U/USERNAME/cmssw/CMSSW_X_Y_Z/src/CalibCalorimetry/EcalCorrelatedNoiseAnalysisModules/data/
6328  TString ModulesdataPath = fCnaParPaths->PathModulesData();
6329 
6330  //----------------------------------------- submission clean script: command text
6331  //......................................... submission clean script: script name
6332  TString CnaCleanSubmissionCommand = ModulesdataPath;
6333  TString CleanSubmissionScriptName = "EcnaSystemScriptCleanSubmissionScripts";
6334  const Text_t* t_CleanSubmissionScriptName = (const Text_t*)CleanSubmissionScriptName.Data();
6335  CnaCleanSubmissionCommand.Append(t_CleanSubmissionScriptName);
6336 
6337  //......................................... arguments -> test/slc... path
6338  //.......................... get the path "test/slc4_ia32_gcc345"
6339  // /afs/cern.ch/user/U/USERNAME/cmssw/CMSSW_X_Y_Z/test/slc4_ia32_gcc345/
6340  TString TestslcPath = fCnaParPaths->PathTestScramArch();
6341  CnaCleanSubmissionCommand.Append(' ');
6342  const Text_t* t_modules_data_path = (const Text_t*)TestslcPath.Data();
6343  CnaCleanSubmissionCommand.Append(t_modules_data_path);
6344 
6345  //----------------------------------------- Exec CleanSubmission Command (csh before command text)
6346  const Text_t* t_cnacleansubmissioncommand = (const Text_t*)CnaCleanSubmissionCommand.Data();
6347  TString CnaExecCleanSubmissionCommand = "csh ";
6348  CnaExecCleanSubmissionCommand.Append(t_cnacleansubmissioncommand);
6349 
6350  Int_t i_exec_cleansubmission = gSystem->Exec(CnaExecCleanSubmissionCommand.Data());
6351 
6352  if (i_exec_cleansubmission != 0) {
6353  std::cout << "*TEcnaGui> Script for submission script clean was executed with error code = "
6354  << i_exec_cleansubmission << "." << std::endl
6355  << " Command: " << CnaExecCleanSubmissionCommand.Data() << std::endl
6356  << fTTBELL << std::endl;
6357  } else {
6358  std::cout << "*TEcnaGui> Script for submission script clean"
6359  << " was successfully executed." << std::endl
6360  << " (Command: " << CnaExecCleanSubmissionCommand.Data() << ")" << std::endl;
6361  }
6362  }
6363 
6364  //================================= CLEAN LSFJOB REPORTS ======================================
6365  if (clean_code == "Job" || clean_code == "All") {
6366  //.......................... get the path "modules/data"
6367  // /afs/cern.ch/user/U/USERNAME/cmssw/CMSSW_X_Y_Z/src/CalibCalorimetry/EcalCorrelatedNoiseAnalysisModules/data/
6368  TString ModulesdataPath = fCnaParPaths->PathModulesData();
6369 
6370  //----------------------------------------- jobreport clean script: command text
6371  //......................................... jobreport clean script: script name
6372  TString CnaCleanJobreportCommand = ModulesdataPath;
6373  TString CleanJobreportScriptName = "EcnaSystemScriptCleanLSFJOBReports";
6374  const Text_t* t_CleanJobreportScriptName = (const Text_t*)CleanJobreportScriptName.Data();
6375  CnaCleanJobreportCommand.Append(t_CleanJobreportScriptName);
6376 
6377  //......................................... arguments -> test/slc... path
6378  //.......................... get the path "test/slc4_ia32_gcc345"
6379  // /afs/cern.ch/user/U/USERNAME/cmssw/CMSSW_X_Y_Z/test/slc4_ia32_gcc345/
6380  TString TestslcPath = fCnaParPaths->PathTestScramArch();
6381  CnaCleanJobreportCommand.Append(' ');
6382  const Text_t* t_modules_data_path = (const Text_t*)TestslcPath.Data();
6383  CnaCleanJobreportCommand.Append(t_modules_data_path);
6384 
6385  //----------------------------------------- Exec CleanJobreport Command (csh before command text)
6386  const Text_t* t_cnacleanjobreportcommand = (const Text_t*)CnaCleanJobreportCommand.Data();
6387  TString CnaExecCleanJobreportCommand = "csh ";
6388  CnaExecCleanJobreportCommand.Append(t_cnacleanjobreportcommand);
6389 
6390  Int_t i_exec_cleanjobreport = gSystem->Exec(CnaExecCleanJobreportCommand.Data());
6391 
6392  if (i_exec_cleanjobreport != 0) {
6393  std::cout << "*TEcnaGui> Script for LSFJOB report clean was executed with error code = " << i_exec_cleanjobreport
6394  << "." << std::endl
6395  << " Command: " << CnaExecCleanJobreportCommand.Data() << std::endl
6396  << fTTBELL << std::endl;
6397  } else {
6398  std::cout << "*TEcnaGui> Script for LSFJOB report clean"
6399  << " was successfully executed." << std::endl
6400  << " (Command: " << CnaExecCleanJobreportCommand.Data() << ")" << std::endl;
6401  }
6402  }
6403 
6404  //==================================== CLEAN PYTHON FILES =====================================
6405  if (clean_code == "Pyth" || clean_code == "All") {
6406  //.......................... get the path "modules/data"
6407  // /afs/cern.ch/user/U/USERNAME/cmssw/CMSSW_X_Y_Z/src/CalibCalorimetry/EcalCorrelatedNoiseAnalysisModules/data/
6408  TString ModulesdataPath = fCnaParPaths->PathModulesData();
6409 
6410  //----------------------------------------- python file clean script: command text
6411  //......................................... python file clean script: script name
6412  TString CnaCleanPythonCommand = ModulesdataPath;
6413  TString CleanPythonScriptName = "EcnaSystemScriptCleanPythonFiles";
6414  const Text_t* t_CleanPythonScriptName = (const Text_t*)CleanPythonScriptName.Data();
6415  CnaCleanPythonCommand.Append(t_CleanPythonScriptName);
6416 
6417  //......................................... arguments -> modules:data path
6418  CnaCleanPythonCommand.Append(' ');
6419  const Text_t* t_modules_data_path = (const Text_t*)ModulesdataPath.Data();
6420  CnaCleanPythonCommand.Append(t_modules_data_path);
6421 
6422  //----------------------------------------- Exec CleanPython Command (csh before command text)
6423  const Text_t* t_cnacleanpythoncommand = (const Text_t*)CnaCleanPythonCommand.Data();
6424  TString CnaExecCleanPythonCommand = "csh ";
6425  CnaExecCleanPythonCommand.Append(t_cnacleanpythoncommand);
6426 
6427  Int_t i_exec_cleanpython = gSystem->Exec(CnaExecCleanPythonCommand.Data());
6428 
6429  if (i_exec_cleanpython != 0) {
6430  std::cout << "*TEcnaGui> Script for python file clean was executed with error code = " << i_exec_cleanpython
6431  << "." << std::endl
6432  << " Command: " << CnaExecCleanPythonCommand.Data() << std::endl
6433  << fTTBELL << std::endl;
6434  } else {
6435  std::cout << "*TEcnaGui> Script for python file clean"
6436  << " was successfully executed." << std::endl
6437  << " (Command: " << CnaExecCleanPythonCommand.Data() << ")" << std::endl;
6438  }
6439  }
6440 }
6441 //------------------------------------------- end of CleanBatchFiles() -----------------------
6442 
6443 //==========================================================================
6444 //
6445 // Calculations() M E T H O D
6446 //
6447 //==========================================================================
6448 void TEcnaGui::Calculations(const TString& calc_code) {
6449  //Calculations of quantities (Pedestals, correlations, ... )
6450 
6451  fCnaCommand++;
6452  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Calculations requested with code: " << calc_code << std::endl;
6453 
6454  //===== Check if Analysis name is right
6455  if (fKeyAnaType == "AdcPed1" || fKeyAnaType == "AdcSPed1" || fKeyAnaType == "AdcPed6" || fKeyAnaType == "AdcSPed6" ||
6456  fKeyAnaType == "AdcPed12" || fKeyAnaType == "AdcSPed12" || fKeyAnaType == "AdcPeg12" ||
6457  fKeyAnaType == "AdcSPeg12" || fKeyAnaType == "AdcLaser" || fKeyAnaType == "AdcSLaser" ||
6458  fKeyAnaType == "AdcPes12" || fKeyAnaType == "AdcSPes12" || fKeyAnaType == "AdcPhys" || fKeyAnaType == "AdcAny") {
6459  //------------ Check if Std or (Scc or Stt)-Confirmed
6460  if (calc_code == "Std" || ((calc_code == "Scc" || calc_code == "Stt") && fConfirmCalcScc == 1)) {
6462  Int_t nStexMin = fKeyStexNumber;
6463  Int_t nStexMax = fKeyStexNumber;
6464  if (fKeyStexNumber == 0) {
6465  nStexMin = 1;
6466  nStexMax = fEcal->MaxStexInStas();
6467  }
6468 
6469  for (Int_t nStex = nStexMin; nStex <= nStexMax; nStex++) {
6470  Int_t n_samp_fic = fKeyNbOfSamples;
6471 
6472  //....................... READ the "ADC" (AdcPed.., AdcLaser..., ...) file
6473  TEcnaRun* MyRun = nullptr;
6474  if (MyRun == nullptr) {
6475  MyRun = new TEcnaRun(fObjectManager, fSubDet.Data(), n_samp_fic);
6476  fCnew++;
6477  }
6478 
6479  MyRun->GetReadyToReadData(
6481 
6482  if (MyRun->ReadSampleAdcValues(fKeyNbOfSampForCalc) == kTRUE) {
6483  std::cout << "*TEcnaGui::Calculations> File " << MyRun->GetRootFileNameShort()
6484  << " found. Starting calculations." << std::endl;
6485 
6486  MyRun->GetReadyToCompute();
6487 
6488  //............... Calculations
6489  if (calc_code == "Std" || ((calc_code == "Scc" || calc_code == "Stt") && fConfirmCalcScc == 1)) {
6490  //-------------- Standard calculations: pedestals, noises, correlations between samples
6491  MyRun->StandardCalculations();
6492  }
6493  if ((calc_code == "Scc" || calc_code == "Stt") && fConfirmCalcScc == 1) {
6494  if (calc_code == "Scc") {
6495  //------ Additional calculations:
6496  // "correlations" between Xtals and Stins (long time, big file)
6497  std::cout << "*TEcnaGui::Calculations> Please, wait." << std::endl;
6498 
6499  MyRun->Expert1Calculations(); // (long time, big file)
6500  // <=> MyRun->LowFrequencyCorrelationsBetweenChannels(); // (big file)
6501  // MyRun->HighFrequencyCorrelationsBetweenChannels(); // (big file)
6502 
6503  MyRun->Expert2Calculations(); // (fast because expert1 has been called)
6504  // <=> MyRun->LowFrequencyMeanCorrelationsBetweenStins();
6505  // MyRun->HighFrequencyMeanCorrelationsBetweenStins();
6506  }
6507 
6508  if (calc_code == "Stt") {
6509  //---Additional calculations:
6510  // "correlations" between Stins (long time, "normal" size file)
6511  std::cout << "*TEcnaGui::Calculations> Please, wait." << std::endl;
6512 
6513  MyRun->Expert2Calculations(); // (long time but not big file)
6514 
6515  // Explanation/example: if MyRun->LowFrequencyCorrelationsBetweenChannels() (expert1)
6516  // has not been called by the user, it is automatically called by
6517  // MyRun->LowFrequencyMeanCorrelationsBetweenStins()
6518  // but the corresponding file is not written (idem for "HighFrequency")
6519  }
6520  }
6521  //.......................... WRITE results in file
6522  TString calc_file_name = "?";
6523  if (calc_code == "Std") {
6524  if (fKeyAnaType == "AdcPed1") {
6525  calc_file_name = "StdPed1";
6526  }
6527  if (fKeyAnaType == "AdcPed6") {
6528  calc_file_name = "StdPed6";
6529  }
6530  if (fKeyAnaType == "AdcPed12") {
6531  calc_file_name = "StdPed12";
6532  }
6533  if (fKeyAnaType == "AdcPeg12") {
6534  calc_file_name = "StdPeg12";
6535  }
6536  if (fKeyAnaType == "AdcLaser") {
6537  calc_file_name = "StdLaser";
6538  }
6539  if (fKeyAnaType == "AdcPes12") {
6540  calc_file_name = "StdPes12";
6541  }
6542 
6543  if (fKeyAnaType == "AdcSPed1") {
6544  calc_file_name = "StdSPed1";
6545  }
6546  if (fKeyAnaType == "AdcSPed6") {
6547  calc_file_name = "StdSPed6";
6548  }
6549  if (fKeyAnaType == "AdcSPed12") {
6550  calc_file_name = "StdSPed12";
6551  }
6552  if (fKeyAnaType == "AdcSPeg12") {
6553  calc_file_name = "StdSPeg12";
6554  }
6555  if (fKeyAnaType == "AdcSLaser") {
6556  calc_file_name = "StdSLaser";
6557  }
6558  if (fKeyAnaType == "AdcSPes12") {
6559  calc_file_name = "StdSPes12";
6560  }
6561 
6562  if (fKeyAnaType == "AdcPhys") {
6563  calc_file_name = "StdPhys";
6564  }
6565  if (fKeyAnaType == "AdcAny") {
6566  calc_file_name = "StdAny";
6567  }
6568  }
6569  if (calc_code == "Scc") {
6570  if (fKeyAnaType == "AdcPed1") {
6571  calc_file_name = "SccPed1";
6572  }
6573  if (fKeyAnaType == "AdcPed6") {
6574  calc_file_name = "SccPed6";
6575  }
6576  if (fKeyAnaType == "AdcPed12") {
6577  calc_file_name = "SccPed12";
6578  }
6579  if (fKeyAnaType == "AdcPeg12") {
6580  calc_file_name = "SccPeg12";
6581  }
6582  if (fKeyAnaType == "AdcLaser") {
6583  calc_file_name = "SccLaser";
6584  }
6585  if (fKeyAnaType == "AdcPes12") {
6586  calc_file_name = "SccPes12";
6587  }
6588 
6589  if (fKeyAnaType == "AdcSPed1") {
6590  calc_file_name = "SccSPed1";
6591  }
6592  if (fKeyAnaType == "AdcSPed6") {
6593  calc_file_name = "SccSPed6";
6594  }
6595  if (fKeyAnaType == "AdcSPed12") {
6596  calc_file_name = "SccSPed12";
6597  }
6598  if (fKeyAnaType == "AdcSPeg12") {
6599  calc_file_name = "SccSPeg12";
6600  }
6601  if (fKeyAnaType == "AdcSLaser") {
6602  calc_file_name = "SccSLaser";
6603  }
6604  if (fKeyAnaType == "AdcSPes12") {
6605  calc_file_name = "SccSPes12";
6606  }
6607 
6608  if (fKeyAnaType == "AdcPhys") {
6609  calc_file_name = "SccPhys";
6610  }
6611  if (fKeyAnaType == "AdcAny") {
6612  calc_file_name = "SccAny";
6613  }
6614  }
6615 
6616  if (calc_code == "Stt") {
6617  if (fKeyAnaType == "AdcPed1") {
6618  calc_file_name = "SttPed1";
6619  }
6620  if (fKeyAnaType == "AdcPed6") {
6621  calc_file_name = "SttPed6";
6622  }
6623  if (fKeyAnaType == "AdcPed12") {
6624  calc_file_name = "SttPed12";
6625  }
6626  if (fKeyAnaType == "AdcPeg12") {
6627  calc_file_name = "SttPeg12";
6628  }
6629  if (fKeyAnaType == "AdcLaser") {
6630  calc_file_name = "SttLaser";
6631  }
6632  if (fKeyAnaType == "AdcPes12") {
6633  calc_file_name = "SttPes12";
6634  }
6635 
6636  if (fKeyAnaType == "AdcSPed1") {
6637  calc_file_name = "SttSPed1";
6638  }
6639  if (fKeyAnaType == "AdcSPed6") {
6640  calc_file_name = "SttSPed6";
6641  }
6642  if (fKeyAnaType == "AdcSPed12") {
6643  calc_file_name = "SttSPed12";
6644  }
6645  if (fKeyAnaType == "AdcSPeg12") {
6646  calc_file_name = "SttSPeg12";
6647  }
6648  if (fKeyAnaType == "AdcSLaser") {
6649  calc_file_name = "SttSLaser";
6650  }
6651  if (fKeyAnaType == "AdcSPes12") {
6652  calc_file_name = "SttSPes12";
6653  }
6654 
6655  if (fKeyAnaType == "AdcPhys") {
6656  calc_file_name = "SttPhys";
6657  }
6658  if (fKeyAnaType == "AdcAny") {
6659  calc_file_name = "SttAny";
6660  }
6661  }
6662 
6663  if (MyRun->WriteNewRootFile(calc_file_name.Data()) == kTRUE) {
6664  std::cout << "*TEcnaGui::Calculations> Done. Write ROOT file: " << MyRun->GetNewRootFileNameShort()
6665  << " OK" << std::endl
6666  << std::endl;
6667  } else {
6668  std::cout << "!TEcnaGui::Calculations> Writing ROOT file failure for file "
6669  << MyRun->GetNewRootFileNameShort() << fTTBELL << std::endl
6670  << std::endl;
6671  }
6672  } else {
6673  std::cout << "!TEcnaGui::Calculations> " << MyRun->GetRootFileNameShort() << ": file not found." << fTTBELL
6674  << std::endl
6675  << std::endl;
6676  }
6677  //.......................................................................
6678  delete MyRun;
6679  MyRun = nullptr;
6680  fCdelete++;
6681  } // end of for( Int_t nStex = nStexMin; nStex<= nStexMax; nStex++)
6682  fConfirmCalcScc = 0;
6683  } // end of if( fKeyNbOfSamples >= fKeyNbOfSampForCalc )
6684  else {
6685  std::cout << "!TEcnaGui::Calculations> *** ERROR *** Number of samples in file (=" << fKeyNbOfSamples
6686  << ") less than number of samples for calculations (= " << fKeyNbOfSampForCalc << "). " << std::endl;
6687  }
6688  } // end of if( calc_code == "Std" || ( ( calc_code == "Scc" || calc_code == "Stt" ) && fConfirmCalcScc == 1 ) )
6689  else {
6690  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Calculation requested with option " << calc_code
6691  << ". This can last more than 5 minutes. Please, click again to confirm." << fTTBELL << std::endl;
6692  fConfirmCalcScc = 1;
6693  }
6694  } else {
6695  std::cout << "!TEcnaGui::Calculations> fKeyAnaType = " << fKeyAnaType << " : wrong code in analysis name."
6696  << std::endl
6697  << " List of available standard analysis names for calculations: " << std::endl
6698  << " AdcPed1, AdcPed6, AdcPed12, AdcPeg12, AdcLaser, AdcPes12," << std::endl
6699  << " AdcSPed1, AdcSPed6, AdcSPed12, AdcSPeg12, AdcSLaser, AdcSPes12," << std::endl
6700  << " AdcPhys, AdcAny (all names must begin with 'Adc')." << fTTBELL << std::endl;
6701  }
6702 }
6703 //==========================================================================
6704 //
6705 // "View" M E T H O D S
6706 //
6707 //==========================================================================
6708 //---------- common messages
6709 
6710 void TEcnaGui::MessageCnaCommandReplyA(const TString& first_same_plot) {
6711  // reply message of the Cna command
6712 
6713  std::cout << ". Analysis: " << fKeyAnaType << ", Run: " << fKeyRunNumber
6714  << ", 1st req. evt#: " << fKeyFirstReqEvtNumber << ", last req. evt#: " << fKeyLastReqEvtNumber
6715  << std::endl;
6716 
6717  if (first_same_plot == "ASCII") {
6718  std::cout << " " << fStexName.Data() << ": " << fKeyStexNumber << ", option: " << first_same_plot
6719  << std::endl;
6720  }
6721 }
6722 
6723 void TEcnaGui::MessageCnaCommandReplyB(const TString& first_same_plot) {
6724  // reply message of the Cna command
6725 
6726  if (first_same_plot == "ASCII") {
6727  if (fKeyStexNumber > 0) {
6728  if (fHistos->StatusFileFound() == kTRUE && fHistos->StatusDataExist() == kTRUE) {
6729  TString xAsciiFileName = fHistos->AsciiFileName();
6730  if (xAsciiFileName != "?") {
6731  std::cout << " Histo written in ASCII file: " << xAsciiFileName.Data();
6732  }
6733  }
6734  } else {
6735  std::cout << " No writing in ASCII file since " << fStexName.Data()
6736  << " number = " << fKeyStexNumber;
6737  }
6738  std::cout << std::endl;
6739  }
6740 }
6741 
6742 //==========================================================================
6743 //
6744 // View Matrix
6745 //
6746 //==========================================================================
6747 //---------------------------- Cortt
6749  // Plot of Low Frequency Mean Cor(c,c') for each pair of Stins
6750 
6751  if (fHistos == nullptr) {
6752  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
6753  ;
6754  }
6757  fKeyRunNumber,
6761  fKeyStexNumber);
6762 
6763  fCnaCommand++;
6764  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Low Frequency Mean Cor(c,c') for each pair of "
6765  << fStinName.Data() << "s. Option: " << option_plot;
6766  MessageCnaCommandReplyA(option_plot);
6767 
6771  fHistos->PlotMatrix("Cor", "MttLF", option_plot);
6772 
6773  MessageCnaCommandReplyB(option_plot);
6774 }
6776  // Plot of Low Frequency Mean Cor(c,c') for each pair of Stins
6777 
6778  if (fHistos == nullptr) {
6779  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
6780  ;
6781  }
6784  fKeyRunNumber,
6788  fKeyStexNumber);
6789 
6790  fCnaCommand++;
6791  std::cout << " *TEcnaGui [" << fCnaCommand << "]> High Frequency Mean Cor(c,c') for each pair of "
6792  << fStinName.Data() << "s. Option: " << option_plot;
6793  MessageCnaCommandReplyA(option_plot);
6794 
6798  fHistos->PlotMatrix("Cor", "MttHF", option_plot);
6799 
6800  MessageCnaCommandReplyB(option_plot);
6801 }
6802 //---------------------------------------------- Corcc
6804  const Int_t& cStexStin_B,
6805  const TString& option_plot) {
6806  // Low Frequency Correlation matrix (crystal of Stin X, crystal of Stin X) for each Stin
6807 
6808  if (fHistos == nullptr) {
6809  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
6810  ;
6811  }
6814  fKeyRunNumber,
6818  fKeyStexNumber);
6819 
6820  fCnaCommand++;
6821  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Low Frequency Correlation matrix between channels. "
6822  << fStinName.Data() << " A: " << cStexStin_A << ", " << fStinName.Data() << " B: " << cStexStin_B
6823  << ", option: " << option_plot;
6824  MessageCnaCommandReplyA(option_plot);
6825 
6829  fHistos->PlotMatrix("Cor", "MccLF", cStexStin_A, cStexStin_B, option_plot);
6830  MessageCnaCommandReplyB(option_plot);
6831 }
6832 
6834  const Int_t& cStexStin_B,
6835  const TString& option_plot) {
6836  // High Frequency Correlation matrix (crystal of Stin X, crystal of Stin X) for each Stin
6837 
6838  if (fHistos == nullptr) {
6839  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
6840  ;
6841  }
6844  fKeyRunNumber,
6848  fKeyStexNumber);
6849 
6850  fCnaCommand++;
6851  std::cout << " *TEcnaGui [" << fCnaCommand << "]> High Frequency Correlation matrix between channels. "
6852  << fStinName.Data() << " A: " << cStexStin_A << ", " << fStinName.Data() << " B: " << cStexStin_B
6853  << ", option: " << option_plot;
6854  MessageCnaCommandReplyA(option_plot);
6855 
6859  fHistos->PlotMatrix("Cor", "MccHF", cStexStin_A, cStexStin_B, option_plot);
6860 
6861  MessageCnaCommandReplyB(option_plot);
6862 }
6863 
6865  //===> big matrix
6866 
6867  if (fHistos == nullptr) {
6868  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
6869  ;
6870  }
6873  fKeyRunNumber,
6877  fKeyStexNumber);
6878 
6879  fCnaCommand++;
6880  std::cout << " *TEcnaGui [" << fCnaCommand << "]> LF Correlations between channels for each " << fStinName.Data()
6881  << " in " << fStexName.Data() << ". 2D histo. " << fStexName.Data() << ": " << fKeyStexNumber;
6882  MessageCnaCommandReplyA("DUMMY");
6883 
6887  fHistos->PlotMatrix("Cor", "MccLF", "COLZ");
6888 
6889  MessageCnaCommandReplyB("DUMMY");
6890 }
6891 
6893  //===> big matrix
6894 
6895  if (fHistos == nullptr) {
6896  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
6897  ;
6898  }
6901  fKeyRunNumber,
6905  fKeyStexNumber);
6906 
6907  fCnaCommand++;
6908  std::cout << " *TEcnaGui [" << fCnaCommand << "]> HF Correlations between channels for each " << fStinName.Data()
6909  << " in " << fStexName.Data() << ". 2D histo. " << fStexName.Data() << ": " << fKeyStexNumber;
6910  MessageCnaCommandReplyA("DUMMY");
6911 
6915  fHistos->PlotMatrix("Cor", "MccHF", "COLZ");
6916 
6917  MessageCnaCommandReplyB("DUMMY");
6918 }
6919 
6920 //---------------------------- Corss, Covss
6921 void TEcnaGui::ViewMatrixCorrelationSamples(const Int_t& cStexStin_A,
6922  const Int_t& i0StinEcha,
6923  const TString& option_plot) {
6924  // Plot of correlation matrix between samples for a given channel
6925 
6926  if (fHistos == nullptr) {
6927  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
6928  ;
6929  }
6932  fKeyRunNumber,
6936  fKeyStexNumber);
6937 
6938  Int_t ChOffset = 0;
6939  if (fSubDet == "EE") {
6940  ChOffset = 1;
6941  }
6942 
6943  fCnaCommand++;
6944  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Correlation matrix between samples. " << fStinName.Data() << ": "
6945  << cStexStin_A << ", channel " << i0StinEcha + ChOffset << ", option: " << option_plot;
6946  MessageCnaCommandReplyA(option_plot);
6947 
6951  fHistos->PlotMatrix("Cor", "Mss", cStexStin_A, i0StinEcha, option_plot);
6952 
6953  MessageCnaCommandReplyB(option_plot);
6954 }
6955 
6956 void TEcnaGui::ViewMatrixCovarianceSamples(const Int_t& cStexStin_A,
6957  const Int_t& i0StinEcha,
6958  const TString& option_plot) {
6959  // Plot of covariance matrix between samples for a given channel
6960 
6961  if (fHistos == nullptr) {
6962  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
6963  ;
6964  }
6967  fKeyRunNumber,
6971  fKeyStexNumber);
6972 
6973  Int_t ChOffset = 0;
6974  if (fSubDet == "EE") {
6975  ChOffset = 1;
6976  }
6977 
6978  fCnaCommand++;
6979  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Covariance matrix between samples. " << fStinName.Data() << ": "
6980  << cStexStin_A << ", channel " << i0StinEcha + ChOffset << ", option: " << option_plot;
6981  MessageCnaCommandReplyA(option_plot);
6982 
6983  fHistos->SetHistoMin(fKeyVminD_TNo_ChNb); // same as mean sample sigmas
6986  fHistos->PlotMatrix("Cov", "Mss", cStexStin_A, i0StinEcha, option_plot);
6987 
6988  MessageCnaCommandReplyB(option_plot);
6989 }
6990 
6991 //==========================================================================
6992 //
6993 // ViewStin...
6994 //
6995 // StexStin ==> (sample,sample) matrices for all the crystal of cStexStin
6996 //
6997 //==========================================================================
6998 void TEcnaGui::ViewStinCorrelationSamples(const Int_t& cStexStin) {
6999  // Plot of (sample,sample) correlation matrices for all the crystal of a given Stin
7000 
7001  if (fHistos == nullptr) {
7002  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
7003  ;
7004  }
7007  fKeyRunNumber,
7011  fKeyStexNumber);
7012 
7013  fCnaCommand++;
7014  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Correlation matrices between samples for each channel of "
7015  << fStinName.Data() << " " << cStexStin;
7016  MessageCnaCommandReplyA("DUMMY");
7017 
7021  fHistos->CorrelationsBetweenSamples(cStexStin);
7022 
7023  MessageCnaCommandReplyB("DUMMY");
7024 }
7025 
7026 void TEcnaGui::ViewStinCovarianceSamples(const Int_t& cStexStin) {
7027  // Plot of (sample,sample) covariance matrices for all the crystal of a given Stin
7028 
7029  if (fHistos == nullptr) {
7030  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
7031  ;
7032  }
7035  fKeyRunNumber,
7039  fKeyStexNumber);
7040 
7041  fCnaCommand++;
7042  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Covariance matrices between samples for each channel of "
7043  << fStinName.Data() << " " << cStexStin;
7044  MessageCnaCommandReplyA("DUMMY");
7045 
7046  fHistos->SetHistoMin(fKeyVminD_TNo_ChNb); // same as mean sample sigmas
7049  fHistos->CovariancesBetweenSamples(cStexStin);
7050 
7051  MessageCnaCommandReplyB("DUMMY");
7052 }
7053 //==========================================================================
7054 //
7055 // ViewSorS (eta,phi)
7056 //
7057 //==========================================================================
7058 
7060  if (fHistos == nullptr) {
7061  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
7062  ;
7063  }
7064 
7065  if (fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas()) {
7068  fKeyRunNumber,
7072  fKeyStexNumber);
7073  fCnaCommand++;
7074  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Number of Events. 2D histo. " << fStexName.Data() << ": "
7075  << fKeyStexNumber;
7076  }
7077  if (fKeyStexNumber == 0) {
7080  fCnaCommand++;
7081  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Average Number of Events. 2D histo for " << fSubDet.Data();
7082  }
7083 
7084  MessageCnaCommandReplyA("DUMMY");
7085 
7089  if (fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas()) {
7090  fHistos->PlotDetector("NOE", "SM");
7091  }
7092  if (fKeyStexNumber == 0) {
7093  fHistos->PlotDetector("NOE", "EB");
7094  }
7095 
7096  MessageCnaCommandReplyB("DUMMY");
7097 }
7098 
7100  if (fHistos == nullptr) {
7101  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
7102  ;
7103  }
7104 
7105  if (fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas()) {
7108  fKeyRunNumber,
7112  fKeyStexNumber);
7113  fCnaCommand++;
7114  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Pedestals. 2D histo. " << fStexName.Data() << ": "
7115  << fKeyStexNumber;
7116  }
7117  if (fKeyStexNumber == 0) {
7120  fCnaCommand++;
7121  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Pedestals. 2D histo for " << fSubDet.Data();
7122  }
7123  MessageCnaCommandReplyA("DUMMY");
7124 
7128 
7129  if (fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas()) {
7130  fHistos->PlotDetector("Ped", "SM");
7131  }
7132  if (fKeyStexNumber == 0) {
7133  fHistos->PlotDetector("Ped", "EB");
7134  }
7135 
7136  MessageCnaCommandReplyB("DUMMY");
7137 }
7138 
7140  if (fHistos == nullptr) {
7141  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
7142  ;
7143  }
7144 
7145  if (fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas()) {
7148  fKeyRunNumber,
7152  fKeyStexNumber);
7153  fCnaCommand++;
7154  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Total noise. 2D histo. " << fStexName.Data() << ": "
7155  << fKeyStexNumber;
7156  }
7157  if (fKeyStexNumber == 0) {
7160  fCnaCommand++;
7161  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Average total noise. 2D histo for " << fSubDet.Data();
7162  }
7163  MessageCnaCommandReplyA("DUMMY");
7164 
7168  if (fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas()) {
7169  fHistos->PlotDetector("TNo", "SM");
7170  }
7171  if (fKeyStexNumber == 0) {
7172  fHistos->PlotDetector("TNo", "EB");
7173  }
7174 
7175  MessageCnaCommandReplyB("DUMMY");
7176 }
7177 
7179  if (fHistos == nullptr) {
7180  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
7181  ;
7182  }
7183 
7184  if (fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas()) {
7187  fKeyRunNumber,
7191  fKeyStexNumber);
7192  fCnaCommand++;
7193  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Low frequency noise. 2D histo. " << fStexName.Data() << ": "
7194  << fKeyStexNumber;
7195  }
7196  if (fKeyStexNumber == 0) {
7199  fCnaCommand++;
7200  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Average low frequency noise. 2D histo for " << fSubDet.Data();
7201  }
7202  MessageCnaCommandReplyA("DUMMY");
7203 
7207  if (fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas()) {
7208  fHistos->PlotDetector("LFN", "SM");
7209  }
7210  if (fKeyStexNumber == 0) {
7211  fHistos->PlotDetector("LFN", "EB");
7212  }
7213 
7214  MessageCnaCommandReplyB("DUMMY");
7215 }
7216 
7218  if (fHistos == nullptr) {
7219  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
7220  ;
7221  }
7222 
7223  if (fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas()) {
7226  fKeyRunNumber,
7230  fKeyStexNumber);
7231  fCnaCommand++;
7232  std::cout << " *TEcnaGui [" << fCnaCommand << "]> High frequency noise. 2D histo. " << fStexName.Data() << ": "
7233  << fKeyStexNumber;
7234  }
7235  if (fKeyStexNumber == 0) {
7238  fCnaCommand++;
7239  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Average high frequency noise. 2D histo for " << fSubDet.Data();
7240  }
7241  MessageCnaCommandReplyA("DUMMY");
7242 
7246  if (fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas()) {
7247  fHistos->PlotDetector("HFN", "SM");
7248  }
7249  if (fKeyStexNumber == 0) {
7250  fHistos->PlotDetector("HFN", "EB");
7251  }
7252 
7253  MessageCnaCommandReplyB("DUMMY");
7254 }
7255 
7257  if (fHistos == nullptr) {
7258  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
7259  ;
7260  }
7261 
7262  if (fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas()) {
7265  fKeyRunNumber,
7269  fKeyStexNumber);
7270  fCnaCommand++;
7271  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Mean cor(s,s'). 2D histo. " << fStexName.Data() << ": "
7272  << fKeyStexNumber;
7273  }
7274  if (fKeyStexNumber == 0) {
7277  fCnaCommand++;
7278  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Average mean cor(s,s'). 2D histo for " << fSubDet.Data();
7279  }
7280  MessageCnaCommandReplyA("DUMMY");
7281 
7285  if (fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas()) {
7286  fHistos->PlotDetector("MCs", "SM");
7287  }
7288  if (fKeyStexNumber == 0) {
7289  fHistos->PlotDetector("MCs", "EB");
7290  }
7291 
7292  MessageCnaCommandReplyB("DUMMY");
7293 }
7294 
7296  if (fHistos == nullptr) {
7297  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
7298  ;
7299  }
7300 
7301  if (fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas()) {
7304  fKeyRunNumber,
7308  fKeyStexNumber);
7309  fCnaCommand++;
7310  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Sigma of Cor(s,s'). 2D histo. " << fStexName.Data() << ": "
7311  << fKeyStexNumber;
7312  }
7313  if (fKeyStexNumber == 0) {
7316  fCnaCommand++;
7317  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Average sigma of Cor(s,s'). 2D histo for " << fSubDet.Data();
7318  }
7319  MessageCnaCommandReplyA("DUMMY");
7320 
7324  if (fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas()) {
7325  fHistos->PlotDetector("SCs", "SM");
7326  }
7327  if (fKeyStexNumber == 0) {
7328  fHistos->PlotDetector("SCs", "EB");
7329  }
7330 
7331  MessageCnaCommandReplyB("DUMMY");
7332 }
7333 
7334 //=======================================================================================
7335 //
7336 // ViewStinCrystalNumbering
7337 //
7338 //=======================================================================================
7339 void TEcnaGui::ViewStinCrystalNumbering(const Int_t& StexStinEcna) {
7340  // Plot the crystal numbering of one Stin
7341 
7342  Int_t StinNumber = -1;
7343  if (fSubDet == "EB") {
7344  StinNumber = StexStinEcna;
7345  }
7346  if (fSubDet == "EE" && fKeyStexNumber != 0) {
7347  StinNumber = fEcalNumbering->GetDeeSCConsFrom1DeeSCEcna(fKeyStexNumber, StexStinEcna);
7348  }
7349 
7350  fCnaCommand++;
7351  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Crystal numbering for "
7352  << " " << fStexName.Data() << " " << fKeyStexNumber << ", " << fStinName.Data() << " " << StinNumber
7353  << std::endl;
7354 
7355  if (fHistos == nullptr) {
7356  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
7357  ;
7358  }
7361 }
7362 //----------------> end of ViewStinCrystalNumbering()
7363 
7364 //===========================================================================
7365 //
7366 // ViewStexStinNumbering
7367 //
7368 //===========================================================================
7370  // Plot the Stin numbering of one Stex.
7371  // No argument here since the Stex number is a part of the ROOT file name
7372  // and is in the entry field of the Stex button (fKeyStexNumber)
7373 
7374  fCnaCommand++;
7375  std::cout << " *TEcnaGui [" << fCnaCommand << "]> " << fStinName.Data() << " numbering for " << fStexName.Data()
7376  << " " << fKeyStexNumber << std::endl;
7377 
7378  if (fHistos == nullptr) {
7379  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
7380  ;
7381  }
7384 }
7385 //----------------> end of ViewStexStinNumbering()
7386 
7387 //===============================================================================
7388 //
7389 // ViewHisto...
7390 //
7391 //===============================================================================
7392 //......................... Nb of evts
7393 void TEcnaGui::ViewHistoSorSNumberOfEventsOfCrystals(const TString& first_same_plot) {
7394  // Plot the 1D histogram of the number of events (found in the data)
7395  // as a function of crystals (grouped by Stins)
7396 
7397  if (fHistos == nullptr) {
7398  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
7399  ;
7400  }
7403  fKeyRunNumber,
7407  fKeyStexNumber);
7408 
7409  fCnaCommand++;
7410  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Number of events for crystals";
7411  MessageCnaCommandReplyA(first_same_plot);
7412 
7420  "Xtal", "NOE", "SM", first_same_plot); // "SM" not active since fFapStexNumber is defined "outside"
7421 
7422  MessageCnaCommandReplyB(first_same_plot);
7423 }
7424 
7425 void TEcnaGui::ViewHistoSorSNumberOfEventsDistribution(const TString& first_same_plot) {
7426  // Plot the 1D histogram of the number of events distribution for a Stex
7427 
7428  if (fHistos == nullptr) {
7429  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
7430  ;
7431  }
7434  fKeyRunNumber,
7438  fKeyStexNumber);
7439 
7440  fCnaCommand++;
7441  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Number of events distribution";
7442  MessageCnaCommandReplyA(first_same_plot);
7443 
7450  fHistos->Plot1DHisto("NOE", "NOX", "SM", first_same_plot);
7451 
7452  MessageCnaCommandReplyB(first_same_plot);
7453 }
7454 
7455 //........................... Pedestals
7456 void TEcnaGui::ViewHistoSorSPedestalsOfCrystals(const TString& first_same_plot) {
7457  // Plot the 1D histogram of the pedestals as a function of crystals (grouped by Stins)
7458 
7459  if (fHistos == nullptr) {
7460  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
7461  ;
7462  }
7465  fKeyRunNumber,
7469  fKeyStexNumber);
7470 
7471  fCnaCommand++;
7472  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Pedestals";
7473  MessageCnaCommandReplyA(first_same_plot);
7474 
7481  fHistos->Plot1DHisto("Xtal", "Ped", "SM", first_same_plot);
7482 
7483  MessageCnaCommandReplyB(first_same_plot);
7484 }
7485 
7486 void TEcnaGui::ViewHistoSorSPedestalsDistribution(const TString& first_same_plot) {
7487  // Plot the 1D histogram of the pedestals distribution for a Stex
7488 
7489  if (fHistos == nullptr) {
7490  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
7491  ;
7492  }
7495  fKeyRunNumber,
7499  fKeyStexNumber);
7500 
7501  fCnaCommand++;
7502  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Pedestals distribution";
7503  MessageCnaCommandReplyA(first_same_plot);
7504 
7511  fHistos->Plot1DHisto("Ped", "NOX", "SM", first_same_plot);
7512 
7513  MessageCnaCommandReplyB(first_same_plot);
7514 }
7515 
7516 //............................... Total noise
7517 void TEcnaGui::ViewHistoSorSTotalNoiseOfCrystals(const TString& first_same_plot) {
7518  // Plot the 1D histogram of the mean sample sigmas as a function of crystals (grouped by Stins)
7519 
7520  if (fHistos == nullptr) {
7521  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
7522  ;
7523  }
7526  fKeyRunNumber,
7530  fKeyStexNumber);
7531 
7532  fCnaCommand++;
7533  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Total noise";
7534  MessageCnaCommandReplyA(first_same_plot);
7535 
7542  fHistos->Plot1DHisto("Xtal", "TNo", "SM", first_same_plot);
7543 
7544  MessageCnaCommandReplyB(first_same_plot);
7545 }
7546 
7547 void TEcnaGui::ViewHistoSorSTotalNoiseDistribution(const TString& first_same_plot) {
7548  // Plot the 1D histogram of the mean sample sigmas distribution for a Stex
7549 
7550  if (fHistos == nullptr) {
7551  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
7552  ;
7553  }
7556  fKeyRunNumber,
7560  fKeyStexNumber);
7561 
7562  fCnaCommand++;
7563  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Total noise distribution";
7564  MessageCnaCommandReplyA(first_same_plot);
7565 
7572  fHistos->Plot1DHisto("TNo", "NOX", "SM", first_same_plot);
7573 
7574  MessageCnaCommandReplyB(first_same_plot);
7575 }
7576 
7577 //............................ Low frequency noise
7578 void TEcnaGui::ViewHistoSorSLowFrequencyNoiseOfCrystals(const TString& first_same_plot) {
7579  // Plot the 1D histogram of the pedestals as a function of crystals (grouped by Stins)
7580 
7581  if (fHistos == nullptr) {
7582  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
7583  ;
7584  }
7587  fKeyRunNumber,
7591  fKeyStexNumber);
7592 
7593  fCnaCommand++;
7594  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Low frequency noise";
7595  MessageCnaCommandReplyA(first_same_plot);
7596 
7603  fHistos->Plot1DHisto("Xtal", "LFN", "SM", first_same_plot);
7604 
7605  MessageCnaCommandReplyB(first_same_plot);
7606 }
7607 
7608 void TEcnaGui::ViewHistoSorSLowFrequencyNoiseDistribution(const TString& first_same_plot) {
7609  // Plot the 1D histogram of the pedestals distribution for a Stex
7610 
7611  if (fHistos == nullptr) {
7612  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
7613  ;
7614  }
7617  fKeyRunNumber,
7621  fKeyStexNumber);
7622 
7623  fCnaCommand++;
7624  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Low frequency noise distribution";
7625  MessageCnaCommandReplyA(first_same_plot);
7626 
7633  fHistos->Plot1DHisto("LFN", "NOX", "SM", first_same_plot);
7634 
7635  MessageCnaCommandReplyB(first_same_plot);
7636 }
7637 
7638 //............................ High frequency noise
7639 void TEcnaGui::ViewHistoSorSHighFrequencyNoiseOfCrystals(const TString& first_same_plot) {
7640  // Plot the 1D histogram of the mean sample sigmas as a function of crystals (grouped by Stins)
7641 
7642  if (fHistos == nullptr) {
7643  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
7644  ;
7645  }
7648  fKeyRunNumber,
7652  fKeyStexNumber);
7653 
7654  fCnaCommand++;
7655  std::cout << " *TEcnaGui [" << fCnaCommand << "]> High frequency noise";
7656  MessageCnaCommandReplyA(first_same_plot);
7657 
7664  fHistos->Plot1DHisto("Xtal", "HFN", "SM", first_same_plot);
7665 
7666  MessageCnaCommandReplyB(first_same_plot);
7667 }
7668 
7669 void TEcnaGui::ViewHistoSorSHighFrequencyNoiseDistribution(const TString& first_same_plot) {
7670  // Plot the 1D histogram of the mean sample sigmas distribution for a Stex
7671 
7672  if (fHistos == nullptr) {
7673  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
7674  ;
7675  }
7678  fKeyRunNumber,
7682  fKeyStexNumber);
7683 
7684  fCnaCommand++;
7685  std::cout << " *TEcnaGui [" << fCnaCommand << "]> High frequency noise distribution";
7686  MessageCnaCommandReplyA(first_same_plot);
7687 
7694  fHistos->Plot1DHisto("HFN", "NOX", "SM", first_same_plot);
7695 
7696  MessageCnaCommandReplyB(first_same_plot);
7697 }
7698 
7699 //............................ Correlations between samples
7700 void TEcnaGui::ViewHistoSorSMeanCorssOfCrystals(const TString& first_same_plot) {
7701  // Plot the 1D histogram of the mean cor(s,s') as a function of crystals (grouped by Stins)
7702 
7703  if (fHistos == nullptr) {
7704  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
7705  ;
7706  }
7709  fKeyRunNumber,
7713  fKeyStexNumber);
7714 
7715  fCnaCommand++;
7716  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Mean cor(s,s')";
7717  MessageCnaCommandReplyA(first_same_plot);
7718 
7725  fHistos->Plot1DHisto("Xtal", "MCs", "SM", first_same_plot);
7726 
7727  MessageCnaCommandReplyB(first_same_plot);
7728 }
7729 
7730 void TEcnaGui::ViewHistoSorSMeanCorssDistribution(const TString& first_same_plot) {
7731  // Plot the 1D histogram of the mean cor(s,s') sigmas distribution for a Stex
7732 
7733  if (fHistos == nullptr) {
7734  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
7735  ;
7736  }
7739  fKeyRunNumber,
7743  fKeyStexNumber);
7744 
7745  fCnaCommand++;
7746  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Mean cor(s,s') distribution";
7747  MessageCnaCommandReplyA(first_same_plot);
7748 
7755  fHistos->Plot1DHisto("MCs", "NOX", "SM", first_same_plot);
7756 
7757  MessageCnaCommandReplyB(first_same_plot);
7758 }
7759 
7760 void TEcnaGui::ViewHistoSorSSigmaOfCorssOfCrystals(const TString& first_same_plot) {
7761  // Plot the 1D histogram of the mean cor(s,s') as a function of crystals (grouped by Stins)
7762 
7763  if (fHistos == nullptr) {
7764  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
7765  ;
7766  }
7769  fKeyRunNumber,
7773  fKeyStexNumber);
7774 
7775  fCnaCommand++;
7776  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Sigma of cor(s,s')";
7777  MessageCnaCommandReplyA(first_same_plot);
7778 
7785  fHistos->Plot1DHisto("Xtal", "SCs", "SM", first_same_plot);
7786 
7787  MessageCnaCommandReplyB(first_same_plot);
7788 }
7789 
7790 void TEcnaGui::ViewHistoSorSSigmaOfCorssDistribution(const TString& first_same_plot) {
7791  // Plot the 1D histogram of the mean cor(s,s') sigmas distribution for a Stex
7792 
7793  if (fHistos == nullptr) {
7794  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
7795  ;
7796  }
7799  fKeyRunNumber,
7803  fKeyStexNumber);
7804 
7805  fCnaCommand++;
7806  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Sigma of cor(s,s') distribution";
7807  MessageCnaCommandReplyA(first_same_plot);
7808 
7815  fHistos->Plot1DHisto("SCs", "NOX", "SM", first_same_plot);
7816 
7817  MessageCnaCommandReplyB(first_same_plot);
7818 }
7819 
7820 //........................................................................................................
7821 void TEcnaGui::ViewHistoCrystalSampleMeans(const Int_t& cStexStin_A,
7822  const Int_t& crystal,
7823  const TString& first_same_plot) {
7824  // Plot the 1D histogram of the mean sample ADC for a crystal
7825 
7826  if (fHistos == nullptr) {
7827  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
7828  ;
7829  }
7832  fKeyRunNumber,
7836  fKeyStexNumber);
7837 
7838  fCnaCommand++;
7839  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Sample means"
7840  << ". Analysis: " << fKeyAnaType << ", Run: " << fKeyRunNumber
7841  << ", 1st req. evt#: " << fKeyFirstReqEvtNumber << ", last req. evt#: " << fKeyLastReqEvtNumber
7842  << ", Stex: " << fKeyStexNumber << ", " << fStinName.Data() << ": " << cStexStin_A << ", crystal" << crystal
7843  << ", option: " << first_same_plot << std::endl;
7844 
7851  fHistos->Plot1DHisto("Sample#", "SampleMean", cStexStin_A, crystal, first_same_plot);
7852 }
7853 
7854 //........................................................................................................
7856  const Int_t& crystal,
7857  const TString& first_same_plot) {
7858  // Plot the 1D histogram distribution of the mean sample ADC for a crystal
7859 
7860  if (fHistos == nullptr) {
7861  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
7862  ;
7863  }
7866  fKeyRunNumber,
7870  fKeyStexNumber);
7871 
7872  fCnaCommand++;
7873  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Sample means"
7874  << ". Analysis: " << fKeyAnaType << ", Run: " << fKeyRunNumber
7875  << ", 1st req. evt#: " << fKeyFirstReqEvtNumber << ", last req. evt#: " << fKeyLastReqEvtNumber
7876  << ", Stex: " << fKeyStexNumber << ", " << fStinName.Data() << ": " << cStexStin_A << ", crystal" << crystal
7877  << ", option: " << first_same_plot << std::endl;
7878 
7885  fHistos->Plot1DHisto("SampleMean", "NbOfSamples", cStexStin_A, crystal, first_same_plot);
7886 }
7887 
7888 void TEcnaGui::ViewHistoCrystalSampleSigmas(const Int_t& cStexStin_A,
7889  const Int_t& crystal,
7890  const TString& first_same_plot) {
7891  // Plot the 1D histogram of the sigmas of the sample ADC for a crystal
7892 
7893  if (fHistos == nullptr) {
7894  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
7895  ;
7896  }
7899  fKeyRunNumber,
7903  fKeyStexNumber);
7904 
7905  fCnaCommand++;
7906  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Sample sigmas"
7907  << ". Analysis: " << fKeyAnaType << ", Run: " << fKeyRunNumber
7908  << ", 1st req. evt#: " << fKeyFirstReqEvtNumber << ", last req. evt#: " << fKeyLastReqEvtNumber
7909  << ", Stex: " << fKeyStexNumber << ", " << fStinName.Data() << ": " << cStexStin_A
7910  << ", crystal:" << crystal << ", option: " << first_same_plot << std::endl;
7911 
7918  fHistos->Plot1DHisto("Sample#", "SampleSigma", cStexStin_A, crystal, first_same_plot);
7919 }
7920 
7922  const Int_t& crystal,
7923  const TString& first_same_plot) {
7924  // Plot the 1D histogram distribution of the sigmas of the sample ADC for a crystal
7925 
7926  if (fHistos == nullptr) {
7927  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
7928  ;
7929  }
7932  fKeyRunNumber,
7936  fKeyStexNumber);
7937 
7938  fCnaCommand++;
7939  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Sample sigmas"
7940  << ". Analysis: " << fKeyAnaType << ", Run: " << fKeyRunNumber
7941  << ", 1st req. evt#: " << fKeyFirstReqEvtNumber << ", last req. evt#: " << fKeyLastReqEvtNumber
7942  << ", Stex: " << fKeyStexNumber << ", " << fStinName.Data() << ": " << cStexStin_A
7943  << ", crystal:" << crystal << ", option: " << first_same_plot << std::endl;
7944 
7951  fHistos->Plot1DHisto("SampleSigma", "NbOfSamples", cStexStin_A, crystal, first_same_plot);
7952 }
7953 
7954 //............................ Sample values
7955 void TEcnaGui::ViewHistoCrystalSampleValues(const Int_t& cStexStin_A,
7956  const Int_t& crystal,
7957  const Int_t& sample,
7958  const TString& first_same_plot) {
7959  // Plot the 1D histogram of the pedestals as a function of the event number for a crystal
7960 
7961  Int_t n1Sample = sample + 1;
7962  if (fHistos == nullptr) {
7963  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
7964  ;
7965  }
7968  fKeyRunNumber,
7972  fKeyStexNumber);
7973 
7974  fCnaCommand++;
7975  std::cout << " *TEcnaGui [" << fCnaCommand << "]> ADC sample values"
7976  << ". Analysis: " << fKeyAnaType << ", Run: " << fKeyRunNumber
7977  << ", 1st req. evt#: " << fKeyFirstReqEvtNumber << ", last req. evt#: " << fKeyLastReqEvtNumber
7978  << ", Stex: " << fKeyStexNumber << ", " << fStinName.Data() << ": " << cStexStin_A
7979  << ", crystal: " << crystal << ", sample: " << n1Sample << ", option: " << first_same_plot << std::endl;
7980 
7987  fHistos->Plot1DHisto("Event#", "AdcValue", cStexStin_A, crystal, n1Sample, first_same_plot);
7988 }
7989 
7990 void TEcnaGui::ViewHistoSampleEventDistribution(const Int_t& cStexStin_A,
7991  const Int_t& crystal,
7992  const Int_t& sample,
7993  const TString& first_same_plot) {
7994  // Plot the 1D histogram of the ADC event distribution for a sample
7995 
7996  Int_t n1Sample = sample + 1;
7997  if (fHistos == nullptr) {
7998  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
7999  ;
8000  }
8003  fKeyRunNumber,
8007  fKeyStexNumber);
8008 
8009  fCnaCommand++;
8010  std::cout << " *TEcnaGui [" << fCnaCommand << "]> ADC event distribution"
8011  << ". Analysis: " << fKeyAnaType << ", Run: " << fKeyRunNumber
8012  << ", 1st req. evt#: " << fKeyFirstReqEvtNumber << ", last req. evt#: " << fKeyLastReqEvtNumber
8013  << ", Stex: " << fKeyStexNumber << ", " << fStinName.Data() << ": " << cStexStin_A
8014  << ", crystal: " << crystal << ", sample " << n1Sample << ", option: " << first_same_plot << std::endl;
8015 
8022  fHistos->Plot1DHisto("AdcValue", "NbOfEvts", cStexStin_A, crystal, n1Sample, first_same_plot);
8023 }
8024 
8025 //------------------------------------------------------- Evolution in time (as a function of run date)
8026 void TEcnaGui::ViewHistimeCrystalPedestals(const TString& run_par_file_name,
8027  const Int_t& cStexStin_A,
8028  const Int_t& i0StinEcha,
8029  const TString& first_same_plot) {
8030  // Plot the graph of Pedestals evolution for a given channel
8031 
8032  if (fHistos == nullptr) {
8033  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
8034  ;
8035  }
8036 
8037  fCnaCommand++;
8038  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Pedestal history"
8039  << ". Run parameters file name: " << run_par_file_name << ", " << fStinName.Data() << ": " << cStexStin_A
8040  << ", channel: " << i0StinEcha << ", option: " << first_same_plot << std::endl;
8041 
8050  fHistos->PlotHistory("Time", "Ped", run_par_file_name, cStexStin_A, i0StinEcha, first_same_plot);
8051 }
8052 
8053 void TEcnaGui::ViewHistimeCrystalPedestalsRuns(const TString& run_par_file_name,
8054  const Int_t& cStexStin_A,
8055  const Int_t& i0StinEcha,
8056  const TString& first_same_plot) {
8057  // Plot the graph of Pedestals evolution for a given channel
8058 
8059  if (fHistos == nullptr) {
8060  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
8061  ;
8062  }
8063 
8064  fCnaCommand++;
8065  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Pedestal history distribution"
8066  << ". Run parameters file name: " << run_par_file_name << ", " << fStinName.Data() << ": " << cStexStin_A
8067  << ", channel: " << i0StinEcha << ", option: " << first_same_plot << std::endl;
8068 
8077  fHistos->PlotHistory("Ped", "NOR", run_par_file_name, cStexStin_A, i0StinEcha, first_same_plot);
8078 }
8079 
8080 //....................................................................................................
8081 void TEcnaGui::ViewHistimeCrystalTotalNoise(const TString& run_par_file_name,
8082  const Int_t& cStexStin_A,
8083  const Int_t& i0StinEcha,
8084  const TString& first_same_plot) {
8085  // Plot the graph of total noise evolution for a given channel
8086 
8087  if (fHistos == nullptr) {
8088  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
8089  ;
8090  }
8091 
8092  fCnaCommand++;
8093  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Total noise history"
8094  << ". Run parameters file name: " << run_par_file_name << ", " << fStinName.Data() << ": " << cStexStin_A
8095  << ", channel: " << i0StinEcha << ", option: " << first_same_plot << std::endl;
8096 
8105  fHistos->PlotHistory("Time", "TNo", run_par_file_name, cStexStin_A, i0StinEcha, first_same_plot);
8106 }
8107 
8108 void TEcnaGui::ViewHistimeCrystalTotalNoiseRuns(const TString& run_par_file_name,
8109  const Int_t& cStexStin_A,
8110  const Int_t& i0StinEcha,
8111  const TString& first_same_plot) {
8112  // Plot the graph of total noise evolution for a given channel
8113 
8114  if (fHistos == nullptr) {
8115  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
8116  ;
8117  }
8118 
8119  fCnaCommand++;
8120  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Total noise history distribution"
8121  << ". Run parameters file name: " << run_par_file_name << ", " << fStinName.Data() << ": " << cStexStin_A
8122  << ", channel: " << i0StinEcha << ", option: " << first_same_plot << std::endl;
8123 
8132  fHistos->PlotHistory("TNo", "NOR", run_par_file_name, cStexStin_A, i0StinEcha, first_same_plot);
8133 }
8134 //....................................................................................................
8135 void TEcnaGui::ViewHistimeCrystalLowFrequencyNoise(const TString& run_par_file_name,
8136  const Int_t& cStexStin_A,
8137  const Int_t& i0StinEcha,
8138  const TString& first_same_plot) {
8139  // Plot the graph of Low Frequency Noise evolution for a given channel
8140 
8141  if (fHistos == nullptr) {
8142  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
8143  ;
8144  }
8145 
8146  fCnaCommand++;
8147  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Low frequency noise history"
8148  << ". Run parameters file name: " << run_par_file_name << ", " << fStinName.Data() << ": " << cStexStin_A
8149  << ", channel: " << i0StinEcha << ", option: " << first_same_plot << std::endl;
8150 
8159  fHistos->PlotHistory("Time", "LFN", run_par_file_name, cStexStin_A, i0StinEcha, first_same_plot);
8160 }
8161 
8162 void TEcnaGui::ViewHistimeCrystalLowFrequencyNoiseRuns(const TString& run_par_file_name,
8163  const Int_t& cStexStin_A,
8164  const Int_t& i0StinEcha,
8165  const TString& first_same_plot) {
8166  // Plot the graph of Low Frequency Noise evolution for a given channel
8167 
8168  if (fHistos == nullptr) {
8169  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
8170  ;
8171  }
8172 
8173  fCnaCommand++;
8174  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Low frequency noise history distribution"
8175  << ". Run parameters file name: " << run_par_file_name << ", " << fStinName.Data() << ": " << cStexStin_A
8176  << ", channel: " << i0StinEcha << ", option: " << first_same_plot << std::endl;
8177 
8186  fHistos->PlotHistory("LFN", "NOR", run_par_file_name, cStexStin_A, i0StinEcha, first_same_plot);
8187 }
8188 //....................................................................................................
8189 void TEcnaGui::ViewHistimeCrystalHighFrequencyNoise(const TString& run_par_file_name,
8190  const Int_t& cStexStin_A,
8191  const Int_t& i0StinEcha,
8192  const TString& first_same_plot) {
8193  // Plot the graph of High Frequency Noise evolution for a given channel
8194 
8195  if (fHistos == nullptr) {
8196  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
8197  ;
8198  }
8199 
8200  fCnaCommand++;
8201  std::cout << " *TEcnaGui [" << fCnaCommand << "]> High frequency noise history"
8202  << ". Run parameters file name: " << run_par_file_name << ", " << fStinName.Data() << ": " << cStexStin_A
8203  << ", channel: " << i0StinEcha << ", option: " << first_same_plot << std::endl;
8204 
8213  fHistos->PlotHistory("Time", "HFN", run_par_file_name, cStexStin_A, i0StinEcha, first_same_plot);
8214 }
8215 
8216 void TEcnaGui::ViewHistimeCrystalHighFrequencyNoiseRuns(const TString& run_par_file_name,
8217  const Int_t& cStexStin_A,
8218  const Int_t& i0StinEcha,
8219  const TString& first_same_plot) {
8220  // Plot the graph of High Frequency Noise evolution for a given channel
8221 
8222  if (fHistos == nullptr) {
8223  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
8224  ;
8225  }
8226 
8227  fCnaCommand++;
8228  std::cout << " *TEcnaGui [" << fCnaCommand << "]> High frequency noise history distribution"
8229  << ". Run parameters file name: " << run_par_file_name << ", " << fStinName.Data() << ": " << cStexStin_A
8230  << ", channel: " << i0StinEcha << ", option: " << first_same_plot << std::endl;
8231 
8240  fHistos->PlotHistory("HFN", "NOR", run_par_file_name, cStexStin_A, i0StinEcha, first_same_plot);
8241 }
8242 //....................................................................................................
8243 void TEcnaGui::ViewHistimeCrystalMeanCorss(const TString& run_par_file_name,
8244  const Int_t& cStexStin_A,
8245  const Int_t& i0StinEcha,
8246  const TString& first_same_plot) {
8247  // Plot the graph for Mean Corss evolution for a given channel
8248 
8249  if (fHistos == nullptr) {
8250  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
8251  ;
8252  }
8253 
8254  fCnaCommand++;
8255  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Mean corss history"
8256  << ". Run parameters file name: " << run_par_file_name << ", " << fStinName.Data() << ": " << cStexStin_A
8257  << ", channel: " << i0StinEcha << ", option: " << first_same_plot << std::endl;
8258 
8267  fHistos->PlotHistory("Time", "MCs", run_par_file_name, cStexStin_A, i0StinEcha, first_same_plot);
8268 }
8269 
8270 void TEcnaGui::ViewHistimeCrystalMeanCorssRuns(const TString& run_par_file_name,
8271  const Int_t& cStexStin_A,
8272  const Int_t& i0StinEcha,
8273  const TString& first_same_plot) {
8274  // Plot the graph for Mean Corss evolution for a given channel
8275 
8276  if (fHistos == nullptr) {
8277  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
8278  ;
8279  }
8280 
8281  fCnaCommand++;
8282  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Mean corss history distribution"
8283  << ". Run parameters file name: " << run_par_file_name << ", " << fStinName.Data() << ": " << cStexStin_A
8284  << ", channel: " << i0StinEcha << ", option: " << first_same_plot << std::endl;
8285 
8294  fHistos->PlotHistory("MCs", "NOR", run_par_file_name, cStexStin_A, i0StinEcha, first_same_plot);
8295 }
8296 //....................................................................................................
8297 void TEcnaGui::ViewHistimeCrystalSigmaOfCorss(const TString& run_par_file_name,
8298  const Int_t& cStexStin_A,
8299  const Int_t& i0StinEcha,
8300  const TString& first_same_plot) {
8301  // Plot the graph of Mean Corss evolution for a given channel
8302 
8303  if (fHistos == nullptr) {
8304  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
8305  ;
8306  }
8307 
8308  fCnaCommand++;
8309  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Sigma of corss history"
8310  << ". Run parameters file name: " << run_par_file_name << ", " << fStinName.Data() << ": " << cStexStin_A
8311  << ", channel: " << i0StinEcha << ", option: " << first_same_plot << std::endl;
8312 
8321  fHistos->PlotHistory("Time", "SCs", run_par_file_name, cStexStin_A, i0StinEcha, first_same_plot);
8322 }
8323 
8324 void TEcnaGui::ViewHistimeCrystalSigmaOfCorssRuns(const TString& run_par_file_name,
8325  const Int_t& cStexStin_A,
8326  const Int_t& i0StinEcha,
8327  const TString& first_same_plot) {
8328  // Plot the graph of Mean Corss evolution for a given channel
8329 
8330  if (fHistos == nullptr) {
8331  fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
8332  ;
8333  }
8334 
8335  fCnaCommand++;
8336  std::cout << " *TEcnaGui [" << fCnaCommand << "]> Sigma of corss history distribution"
8337  << ". Run parameters file name: " << run_par_file_name << ", " << fStinName.Data() << ": " << cStexStin_A
8338  << ", channel: " << i0StinEcha << ", option: " << first_same_plot << std::endl;
8339 
8348  fHistos->PlotHistory("SCs", "NOR", run_par_file_name, cStexStin_A, i0StinEcha, first_same_plot);
8349 }
8350 
8351 //====================================================================================================
8352 
8354  //.....Input widgets for: analysis, run, channel, sample,
8355  // number of events, first event number, etc...
8356 
8357  //fKeyPyf = "";
8358 
8359  fKeyAnaType = "StdPeg12";
8360  Int_t MaxCar = fgMaxCar;
8361  fKeyRunListInitCode.Resize(MaxCar);
8362  fKeyRunListInitCode = "0123";
8363 
8364  MaxCar = fgMaxCar;
8365  fKeyFileNameRunList.Resize(MaxCar);
8367 
8369  fKeyNbOfSamplesString = "10"; // ! THE NUMBER IN STRING MUST BE EQUAL TO fKeyNbOfSamples VALUE
8370 
8372  fKeyNbOfSampForCalcString = "10"; // ! THE NUMBER IN STRING MUST BE EQUAL TO fKeyNbOfSampForCalc VALUE
8373 
8374  fKeyRunNumber = 0;
8375 
8377  fKeyFirstReqEvtNumberString = "1"; // ! THE NUMBER IN STRING MUST BE EQUAL TO fKeyFirstReqEvtNumber VALUE
8378 
8380  fKeyLastReqEvtNumberString = "0"; // ! THE NUMBER IN STRING MUST BE EQUAL TO fKeyLastReqEvtNumber VALUE
8381 
8382  fKeyReqNbOfEvts = 150;
8383  fKeyReqNbOfEvtsString = "150"; // ! THE NUMBER IN STRING MUST BE EQUAL TO fKeyReqNbOfEvts VALUE
8384 
8385  fKeyStexNumber = 1;
8386  fKeyStexNumberString = "1"; // ! THE NUMBER IN STRING MUST BE EQUAL TO fKeyStexNumber VALUE
8387 
8388  fKeyChanNumber = 0;
8389  fKeySampNumber = 0;
8390 
8391  fKeyStinANumber = 1;
8392  fKeyStinBNumber = 1;
8393  if (fSubDet == "EE") {
8394  if (fKeyStexNumber == 1 || fKeyStexNumber == 3) {
8397  }
8398  }
8399 
8400  MaxCar = fgMaxCar;
8401  fKeyScaleX.Resize(MaxCar);
8402  fKeyScaleX = "LIN";
8403  MaxCar = fgMaxCar;
8404  fKeyScaleY.Resize(MaxCar);
8405  fKeyScaleY = "LIN";
8406  fKeyGeneralTitle = "Ecal Correlated Noise Analysis";
8407 
8408  fKeyColPal = "ECCNAColor";
8409 
8410  //.... ymin and ymax values => values which are displayed on the dialog box
8411 
8412  fKeyVminD_NOE_ChNb = (Double_t)0.;
8414 
8415  fKeyVminD_Ped_ChNb = (Double_t)0.;
8416  fKeyVmaxD_Ped_ChNb = (Double_t)0.;
8417 
8418  fKeyVminD_TNo_ChNb = (Double_t)0.;
8419  fKeyVmaxD_TNo_ChNb = (Double_t)0.;
8420 
8421  fKeyVminD_LFN_ChNb = (Double_t)0.;
8422  fKeyVmaxD_LFN_ChNb = (Double_t)0.;
8423 
8424  fKeyVminD_HFN_ChNb = (Double_t)0.;
8425  fKeyVmaxD_HFN_ChNb = (Double_t)0.;
8426 
8427  fKeyVminD_MCs_ChNb = (Double_t)(-1.);
8428  fKeyVmaxD_MCs_ChNb = (Double_t)1.;
8429 
8430  fKeyVminD_SCs_ChNb = (Double_t)0.;
8431  fKeyVmaxD_SCs_ChNb = (Double_t)0.;
8432 
8435 
8436  fKeyVminLFccMos = (Double_t)-1.;
8437  fKeyVmaxLFccMos = (Double_t)1.;
8438  fKeyVminHFccMos = (Double_t)0.;
8439  fKeyVmaxHFccMos = (Double_t)1.;
8440 
8441  fKeyFileNameRunList = "";
8442 }
8443 
8444 void TEcnaGui::DisplayInEntryField(TGTextEntry* StringOfField, Int_t& value) {
8445  char f_in[20];
8446  sprintf(f_in, "%d", value);
8447  StringOfField->SetText(f_in);
8448 }
8449 
8450 void TEcnaGui::DisplayInEntryField(TGTextEntry* StringOfField, Double_t& value) {
8451  char f_in[20];
8452  sprintf(f_in, "%g", value);
8453  StringOfField->SetText(f_in);
8454 }
8455 void TEcnaGui::DisplayInEntryField(TGTextEntry* StringOfField, const TString& value) {
8456  //StringOfField->Insert(value);
8457  StringOfField->SetText(value);
8458 }
Int_t fMenuH_LFN_DatePolmSameC
Definition: TEcnaGui.h:809
TGTextButton * fStinBBut
Definition: TEcnaGui.h:698
TGPopupMenu * fMenuD_TNo_ChNb
Definition: TEcnaGui.h:447
TGTextEntry * fVminD_TNo_ChNbText
Definition: TEcnaGui.h:443
Int_t fMenuCleanAllC
Definition: TEcnaGui.h:309
Int_t fMenuD_SSp_SpDsLineSameC
Definition: TEcnaGui.h:763
Int_t fMenuCorssSurf3C
Definition: TEcnaGui.h:739
TString fKeyFileNameRunList
Definition: TEcnaGui.h:893
TGLayoutHints * fLayoutMenuBarD_SCs_ChNb
Definition: TEcnaGui.h:569
void GetCMSSWParameters()
TGTextButton * fVmaxD_HFN_ChNbBut
Definition: TEcnaGui.h:492
void ViewHistoSampleEventDistribution(const Int_t &, const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:7990
TGLayoutHints * fLayoutMenuBarD_HFN_ChNb
Definition: TEcnaGui.h:509
TGMenuBar * fMenuBarHFccMos
Definition: TEcnaGui.h:654
TGLayoutHints * fLayoutStexNbBut
Definition: TEcnaGui.h:344
TGLayoutHints * fLayoutVminD_LFN_ChNbFrame
Definition: TEcnaGui.h:475
TGMenuBar * fMenuBarCorssAll
Definition: TEcnaGui.h:685
void DoButtonChNb()
Definition: TEcnaGui.cc:5250
TGCompositeFrame * fGentFrame
Definition: TEcnaGui.h:834
TGLayoutHints * fLayoutGeneral
Definition: TEcnaGui.h:250
void DoButtonChan()
Definition: TEcnaGui.cc:5256
TGPopupMenu * fMenuCorssAll
Definition: TEcnaGui.h:684
TGTextBuffer * fEntryVmaxLHFccNumber
Definition: TEcnaGui.h:589
TGLayoutHints * fLayoutStexFieldText
Definition: TEcnaGui.h:325
TGLayoutHints * fLayoutRevFieldFrame
Definition: TEcnaGui.h:335
void PlotDetector(const TVectorD &, const TString &, const TString &)
TGLayoutHints * fLayoutNorsBut
Definition: TEcnaGui.h:293
void DoButtonFev()
Definition: TEcnaGui.cc:4734
Int_t fMenuCovssTextC
Definition: TEcnaGui.h:744
Int_t fCdelete
Definition: TEcnaGui.h:219
TGLayoutHints * fLayoutStexHozFrame
Definition: TEcnaGui.h:580
TGTextButton * fFevBut
Definition: TEcnaGui.h:271
TGLayoutHints * fLayoutVmmD_HFN_ChNbFrame
Definition: TEcnaGui.h:516
TGCompositeFrame * fVminLHFccFrame
Definition: TEcnaGui.h:593
TGMenuBar * fMenuBarCorss
Definition: TEcnaGui.h:736
TGLayoutHints * fLayoutRootBut
Definition: TEcnaGui.h:865
Int_t fMenuCorssLegoC
Definition: TEcnaGui.h:738
TGCheckButton * fButLogx
Definition: TEcnaGui.h:820
TGTextBuffer * fEntryVminD_Ped_ChNbNumber
Definition: TEcnaGui.h:414
TGMenuBar * fMenuBarLFCorcc
Definition: TEcnaGui.h:711
TGLayoutHints * fLayoutVmaxD_Ped_ChNbFrame
Definition: TEcnaGui.h:408
Int_t fMenuD_SCs_ChNbFullC
Definition: TEcnaGui.h:570
TGCompositeFrame * fAnaNorsRunFrame
Definition: TEcnaGui.h:259
TGLayoutHints * fLayoutMenuBarLFccMos
Definition: TEcnaGui.h:629
TGCheckButton * fButProjy
Definition: TEcnaGui.h:829
Int_t fMenuSubmit8nhC
Definition: TEcnaGui.h:314
TGTextBuffer * fEntryVmaxD_SCs_ChNbNumber
Definition: TEcnaGui.h:555
TGTextButton * fNorsBut
Definition: TEcnaGui.h:291
TGCompositeFrame * fVmaxD_NOE_ChNbFrame
Definition: TEcnaGui.h:370
void Expert1Calculations()
Definition: TEcnaRun.cc:1442
TGTextButton * fLevBut
Definition: TEcnaGui.h:300
TGLayoutHints * fLayoutTopRight
Definition: TEcnaGui.h:251
TGLayoutHints * fLayoutFevFieldText
Definition: TEcnaGui.h:275
TGTextBuffer * fEntryRunNumber
Definition: TEcnaGui.h:283
void ViewHistimeCrystalMeanCorssRuns(const TString &, const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:8270
Int_t fMenuD_HFN_ChNbFullC
Definition: TEcnaGui.h:510
TGLayoutHints * fLayoutVminD_Ped_ChNbFrame
Definition: TEcnaGui.h:416
TString fSubDet
Definition: TEcnaGui.h:235
TGLayoutHints * fLayoutVmmD_NOE_ChNbFrame
Definition: TEcnaGui.h:394
TGTextEntry * fLevText
Definition: TEcnaGui.h:302
Int_t fMenuAdcProjSampLineSameC
Definition: TEcnaGui.h:791
TGCompositeFrame * fStinAFrame
Definition: TEcnaGui.h:670
void DoButtonVmaxHFccMos()
Definition: TEcnaGui.cc:5100
void DoButtonStinA()
Definition: TEcnaGui.cc:5145
Int_t fMenuHFccColzC
Definition: TEcnaGui.h:604
TGPopupMenu * fMenuSubmit
Definition: TEcnaGui.h:312
TGLayoutHints * fLayoutVmaxD_NOE_ChNbFieldText
Definition: TEcnaGui.h:375
Int_t fMenuH_HFN_DatePolmSameC
Definition: TEcnaGui.h:810
Int_t Get1DeeSCEcnaFromDeeSCCons(const Int_t &, const Int_t &)
Int_t fMenuCorssSurf1C
Definition: TEcnaGui.h:739
void ViewHistoSorSNumberOfEventsOfCrystals(const TString &)
Definition: TEcnaGui.cc:7393
Double_t fKeyVmaxD_SCs_ChNb
Definition: TEcnaGui.h:934
void DoButtonVminLHFcc()
Definition: TEcnaGui.cc:5114
void DoButtonVmaxD_NOE_ChNb()
Definition: TEcnaGui.cc:4892
Double_t fKeyVmaxD_MCs_ChNb
Definition: TEcnaGui.h:925
TGLayoutHints * fLayoutVminLHFccFrame
Definition: TEcnaGui.h:599
TGTextEntry * fVmaxD_Ped_ChNbText
Definition: TEcnaGui.h:405
TGPopupMenu * fMenuCovss
Definition: TEcnaGui.h:742
TGCompositeFrame * fVminD_HFN_ChNbFrame
Definition: TEcnaGui.h:499
TEcnaHistos * fHistos
Definition: TEcnaGui.h:240
Int_t fMenuH_SCs_DatePolmFullC
Definition: TEcnaGui.h:812
Int_t fMenuCovssSurf1C
Definition: TEcnaGui.h:746
TGCompositeFrame * fVminD_MCs_ChNbFrame
Definition: TEcnaGui.h:529
TGCompositeFrame * fVmaxD_LFN_ChNbFrame
Definition: TEcnaGui.h:461
Int_t fMenuLFCorccColzC
Definition: TEcnaGui.h:712
TGLayoutHints * fLayoutRevFieldText
Definition: TEcnaGui.h:334
TGLayoutHints * fLayoutVminHFccMosFieldText
Definition: TEcnaGui.h:650
TGTextEntry * fRevText
Definition: TEcnaGui.h:332
TGCompositeFrame * fTxSubFrame
Definition: TEcnaGui.h:668
TGTextEntry * fVmaxD_SCs_ChNbText
Definition: TEcnaGui.h:554
TGCompositeFrame * fNbSampForCalcFrame
Definition: TEcnaGui.h:346
void DoButtonRun()
Definition: TEcnaGui.cc:4722
Int_t fMenuD_NOE_ChNbFullC
Definition: TEcnaGui.h:389
Int_t fMenuH_TNo_DatePolmFullC
Definition: TEcnaGui.h:808
TGTextButton * fVminD_LFN_ChNbBut
Definition: TEcnaGui.h:470
TGLayoutHints * fLayoutStexFieldFrame
Definition: TEcnaGui.h:326
Int_t fCnaError
Definition: TEcnaGui.h:224
Int_t fButRootC
Definition: TEcnaGui.h:864
TGPopupMenu * fMenuD_LFN_ChNb
Definition: TEcnaGui.h:477
TGTextEntry * fVmaxD_NOE_ChNbText
Definition: TEcnaGui.h:374
void DoButtonVminD_SCs_ChNb()
Definition: TEcnaGui.cc:5035
void GetReadyToReadData(const TString &, const Int_t &, const Int_t &, const Int_t &, const Int_t &, const Int_t &)
Definition: TEcnaRun.cc:669
TGLayoutHints * fLayoutRunBut
Definition: TEcnaGui.h:281
void CorrelationsBetweenSamples(const Int_t &)
void PlotMatrix(const TMatrixD &, const TString &, const TString &)
Definition: TEcnaHistos.cc:902
TString fOptPlotSame
Definition: TEcnaGui.h:953
TGPopupMenu * fMenuHistory
Definition: TEcnaGui.h:805
TGLayoutHints * fLayoutVmaxLFccMosFieldText
Definition: TEcnaGui.h:616
TGTextButton * fNbSampForCalcBut
Definition: TEcnaGui.h:347
TGTextEntry * fVminD_HFN_ChNbText
Definition: TEcnaGui.h:503
T w() const
TGTextEntry * fStinAText
Definition: TEcnaGui.h:675
void DoButtonVminD_HFN_ChNb()
Definition: TEcnaGui.cc:5009
void ViewSorSTotalNoise()
Definition: TEcnaGui.cc:7139
TGPopupMenu * fMenuComput
Definition: TEcnaGui.h:354
TGTextEntry * fSampText
Definition: TEcnaGui.h:774
TGTextButton * fButRoot
Definition: TEcnaGui.h:863
TGLayoutHints * fLayoutFevBut
Definition: TEcnaGui.h:272
TGPopupMenu * fMenuD_NOE_ChNb
Definition: TEcnaGui.h:386
Int_t fMenuCorssTextC
Definition: TEcnaGui.h:737
TGCompositeFrame * fVmmLFccMosFrame
Definition: TEcnaGui.h:609
TGCompositeFrame * fColorExitFrame
Definition: TEcnaGui.h:843
Int_t fMenuSubmit1nwC
Definition: TEcnaGui.h:314
TGLayoutHints * fLayoutSampField
Definition: TEcnaGui.h:776
TGTextBuffer * fEntryVminD_LFN_ChNbNumber
Definition: TEcnaGui.h:472
Int_t fMenuCorssContzC
Definition: TEcnaGui.h:738
TGLayoutHints * fLayoutVmaxD_MCs_ChNbBut
Definition: TEcnaGui.h:523
TGLayoutHints * fLayoutVminD_MCs_ChNbFrame
Definition: TEcnaGui.h:535
Int_t fMenuCorssAsciiFileC
Definition: TEcnaGui.h:740
TEcnaParPaths * fCnaParPaths
Definition: TEcnaGui.h:242
void PlotHistory(const TString &, const TString &, const TString &, const Int_t &, const Int_t &)
void DoButtonClone()
Definition: TEcnaGui.cc:5426
TGLayoutHints * fLayoutCenterYRight
Definition: TEcnaGui.h:252
Int_t fKeyNbOfSamples
Definition: TEcnaGui.h:877
TGLayoutHints * fLayoutVmaxD_TNo_ChNbFieldText
Definition: TEcnaGui.h:436
TGLayoutHints * fLayoutSampBut
Definition: TEcnaGui.h:772
TGTextButton * fStinABut
Definition: TEcnaGui.h:671
TGLayoutHints * fLayoutVminD_Ped_ChNbFieldText
Definition: TEcnaGui.h:415
void HandleMenu(Int_t)
Definition: TEcnaGui.cc:5454
void ViewSorSLowFrequencyNoise()
Definition: TEcnaGui.cc:7178
TString fKeyColPal
Definition: TEcnaGui.h:903
TString fStinName
Definition: TEcnaGui.h:236
TGTextEntry * fStexText
Definition: TEcnaGui.h:323
void DoButtonRoot()
Definition: TEcnaGui.cc:5437
TGTextBuffer * fEntryVminD_TNo_ChNbNumber
Definition: TEcnaGui.h:442
void DoButtonLogy()
Definition: TEcnaGui.cc:5368
TGLayoutHints * fLayoutFevFieldFrame
Definition: TEcnaGui.h:276
TGTextButton * fVminD_SCs_ChNbBut
Definition: TEcnaGui.h:560
void ViewHistoSorSPedestalsOfCrystals(const TString &)
Definition: TEcnaGui.cc:7456
TGLayoutHints * fLayoutVmaxD_LFN_ChNbFieldText
Definition: TEcnaGui.h:466
TGLayoutHints * fLayoutVminD_SCs_ChNbFieldText
Definition: TEcnaGui.h:564
TString CMSSWBase()
void ViewHistoSorSHighFrequencyNoiseOfCrystals(const TString &)
Definition: TEcnaGui.cc:7639
TGTextButton * fVminLHFccBut
Definition: TEcnaGui.h:594
Int_t fMenuCovssSurf4C
Definition: TEcnaGui.h:746
TGPopupMenu * fMenuD_SCs_ChNb
Definition: TEcnaGui.h:567
TGLayoutHints * fLayoutChSpFrame
Definition: TEcnaGui.h:784
TGCompositeFrame * fVminD_LFN_ChNbFrame
Definition: TEcnaGui.h:469
Int_t MaxSMInEBPlus()
TString fOptPlotSameP
Definition: TEcnaGui.h:954
TGLayoutHints * fLayoutVminD_Ped_ChNbBut
Definition: TEcnaGui.h:412
TGCompositeFrame * fChSpFrame
Definition: TEcnaGui.h:721
TGTextEntry * fVminD_Ped_ChNbText
Definition: TEcnaGui.h:413
TGTextEntry * fVmaxD_TNo_ChNbText
Definition: TEcnaGui.h:435
TGTextEntry * fAnaText
Definition: TEcnaGui.h:266
TGMenuBar * fMenuBarD_LFN_ChNb
Definition: TEcnaGui.h:478
void Init()
Definition: TEcnaGui.cc:1813
TGLayoutHints * fLayoutGentFieldText
Definition: TEcnaGui.h:839
void ViewHistoSorSMeanCorssOfCrystals(const TString &)
Definition: TEcnaGui.cc:7700
TGTextButton * fVminD_Ped_ChNbBut
Definition: TEcnaGui.h:411
TGTextButton * fVminD_MCs_ChNbBut
Definition: TEcnaGui.h:530
void DoButtonStinB()
Definition: TEcnaGui.cc:5200
Int_t fMenuCleanSubC
Definition: TEcnaGui.h:309
Int_t fMenuHFccLegoC
Definition: TEcnaGui.h:604
Int_t fChanButC
Definition: TEcnaGui.h:728
Int_t fMenuHFccMosColzC
Definition: TEcnaGui.h:656
void Expert2Calculations()
Definition: TEcnaRun.cc:1449
TGLayoutHints * fLayoutVminLFccMosBut
Definition: TEcnaGui.h:621
Int_t fgMaxCar
Definition: TEcnaGui.h:217
TGLayoutHints * fLayoutVmaxLHFccFieldText
Definition: TEcnaGui.h:590
TGTextBuffer * fEntryNorsNumber
Definition: TEcnaGui.h:295
Int_t fMenuHFCorccColzC
Definition: TEcnaGui.h:716
TGLayoutHints * fLayoutVmaxLHFccFrame
Definition: TEcnaGui.h:591
TGPopupMenu * fMenuLFCorcc
Definition: TEcnaGui.h:710
Int_t fMenuH_Ped_DatePolmSameC
Definition: TEcnaGui.h:807
TGLayoutHints * fLayoutChanBut
Definition: TEcnaGui.h:729
TGLayoutHints * fLayoutNbSampForCalcFieldFrame
Definition: TEcnaGui.h:352
Int_t fMenuLFccColzC
Definition: TEcnaGui.h:604
TGTextButton * fGentBut
Definition: TEcnaGui.h:835
TGMenuBar * fMenuBarClean
Definition: TEcnaGui.h:308
TGTextButton * fRunBut
Definition: TEcnaGui.h:279
Int_t fMenuCorssBoxC
Definition: TEcnaGui.h:737
TGLayoutHints * fLayoutVminD_TNo_ChNbFieldText
Definition: TEcnaGui.h:444
Int_t fMenuD_TNo_ChNbHocoVecoC
Definition: TEcnaGui.h:453
TString fKeyGeneralTitle
Definition: TEcnaGui.h:904
TGLayoutHints * fLayoutLevFieldText
Definition: TEcnaGui.h:304
TGMenuBar * fMenuBarD_SCs_ChNb
Definition: TEcnaGui.h:568
void ViewHistoSorSLowFrequencyNoiseDistribution(const TString &)
Definition: TEcnaGui.cc:7608
TGPopupMenu * fMenuD_MSp_SpDs
Definition: TEcnaGui.h:753
Int_t fMenuD_SCs_ChNbSamePC
Definition: TEcnaGui.h:572
TGTextBuffer * fEntryVmaxD_LFN_ChNbNumber
Definition: TEcnaGui.h:465
TGTextBuffer * fEntryStinANumber
Definition: TEcnaGui.h:674
TGTextButton * fVminD_NOE_ChNbBut
Definition: TEcnaGui.h:379
TGCompositeFrame * fStexUpFrame
Definition: TEcnaGui.h:362
void CovariancesBetweenSamples(const Int_t &)
TEcnaParEcal * fEcal
Definition: TEcnaGui.h:244
Int_t fMenuD_SSp_SpDsLineFullC
Definition: TEcnaGui.h:763
TGCompositeFrame * fVmmD_Ped_ChNbFrame
Definition: TEcnaGui.h:400
Int_t fMenuD_SSp_SpNbLineSameC
Definition: TEcnaGui.h:759
TGLayoutHints * fLayoutTxSubFrame
Definition: TEcnaGui.h:692
void SetHistoScaleY(const TString &)
Definition: TEcnaHistos.cc:820
TGTextEntry * fVmaxD_MCs_ChNbText
Definition: TEcnaGui.h:524
TGCompositeFrame * fRevFrame
Definition: TEcnaGui.h:329
TGCheckButton * fButColPal
Definition: TEcnaGui.h:847
Int_t fMenuCorssColzC
Definition: TEcnaGui.h:737
~TEcnaGui() override
Definition: TEcnaGui.cc:18
Int_t fConfirmCalcScc
Definition: TEcnaGui.h:229
TGTextButton * fVmaxLFccMosBut
Definition: TEcnaGui.h:612
Int_t fMenuD_MSp_SpDsLineAllStinC
Definition: TEcnaGui.h:755
TGCompositeFrame * fRulFrame
Definition: TEcnaGui.h:796
void ViewHistimeCrystalLowFrequencyNoise(const TString &, const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:8135
TEcnaWrite * fCnaWrite
Definition: TEcnaGui.h:246
Double_t fKeyVminHFccMos
Definition: TEcnaGui.h:938
void ViewHistoCrystalSampleSigmas(const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:7888
TGLayoutHints * fLayoutChanField
Definition: TEcnaGui.h:732
TGCompositeFrame * fVminD_SCs_ChNbFrame
Definition: TEcnaGui.h:559
TGCompositeFrame * fVmaxD_TNo_ChNbFrame
Definition: TEcnaGui.h:431
void DoButtonVmaxD_TNo_ChNb()
Definition: TEcnaGui.cc:4944
TGTextBuffer * fEntryGentNumber
Definition: TEcnaGui.h:838
TGLayoutHints * fLayoutRulBut
Definition: TEcnaGui.h:798
Int_t fMenuLFccLegoC
Definition: TEcnaGui.h:604
TGLayoutHints * fLayoutRunField
Definition: TEcnaGui.h:284
void ViewHistoSorSTotalNoiseOfCrystals(const TString &)
Definition: TEcnaGui.cc:7517
TGTextEntry * fVminHFccMosText
Definition: TEcnaGui.h:648
TGTextButton * fVminD_TNo_ChNbBut
Definition: TEcnaGui.h:440
TGLayoutHints * fLayoutProjyBut
Definition: TEcnaGui.h:831
void GetReadyToCompute()
Definition: TEcnaRun.cc:1361
TGTextButton * fRulBut
Definition: TEcnaGui.h:797
void DoButtonVmaxLHFcc()
Definition: TEcnaGui.cc:5127
TString fTTBELL
Definition: TEcnaGui.h:222
Bool_t RegisterPointer(const TString &, const Long_t &)
Definition: TEcnaObject.cc:100
TGCompositeFrame * fVmaxD_Ped_ChNbFrame
Definition: TEcnaGui.h:402
Int_t fCnew
Definition: TEcnaGui.h:219
void Calculations(const TString &)
Definition: TEcnaGui.cc:6448
Int_t fSampButC
Definition: TEcnaGui.h:773
void ViewStexStinNumbering()
Definition: TEcnaGui.cc:7369
TGLayoutHints * fLayoutVminHFccMosFrame
Definition: TEcnaGui.h:651
void InitGuiParameters()
Definition: TEcnaGui.cc:1824
Int_t fMenuD_SSp_SpNbLineAllStinC
Definition: TEcnaGui.h:759
TGLayoutHints * fLayoutTySubFrame
Definition: TEcnaGui.h:705
TGTextBuffer * fEntryRevNumber
Definition: TEcnaGui.h:333
Double_t fKeyVminD_MCs_ChNb
Definition: TEcnaGui.h:924
TGLayoutHints * fLayoutVmaxD_Ped_ChNbBut
Definition: TEcnaGui.h:404
TGLayoutHints * fLayoutStexBut
Definition: TEcnaGui.h:322
Int_t fButHelpC
Definition: TEcnaGui.h:868
TGLayoutHints * fLayoutColorExitFrame
Definition: TEcnaGui.h:844
TGLayoutHints * fLayoutVminLFccMosFieldText
Definition: TEcnaGui.h:624
void DoButtonHelp()
Definition: TEcnaGui.cc:5442
void ViewHistoSorSNumberOfEventsDistribution(const TString &)
Definition: TEcnaGui.cc:7425
TString GetRootFileNameShort()
Definition: TEcnaRun.cc:1330
Int_t fMenuCovssAsciiFileC
Definition: TEcnaGui.h:747
TGTextEntry * fVminD_LFN_ChNbText
Definition: TEcnaGui.h:473
Int_t fMenuH_SCs_DatePolmSamePC
Definition: TEcnaGui.h:812
TGTextButton * fRevBut
Definition: TEcnaGui.h:330
TGPopupMenu * fMenuHFccMos
Definition: TEcnaGui.h:653
Int_t fButColPalC
Definition: TEcnaGui.h:848
TGTextButton * fAnaBut
Definition: TEcnaGui.h:263
void StexStinNumbering(const Int_t &)
Int_t fMenuH_Ped_DatePolmFullC
Definition: TEcnaGui.h:807
TGLayoutHints * fLayoutMenuBarD_TNo_ChNb
Definition: TEcnaGui.h:449
TGLayoutHints * fLayoutCompStRqFrame
Definition: TEcnaGui.h:318
TGLayoutHints * fLayoutVmaxLFccMosBut
Definition: TEcnaGui.h:613
TGTextBuffer * fEntryVmaxD_MCs_ChNbNumber
Definition: TEcnaGui.h:525
TGTextBuffer * fEntryVmaxHFccMosNumber
Definition: TEcnaGui.h:641
Int_t fKeyStinANumber
Definition: TEcnaGui.h:908
void ViewSorSPedestals()
Definition: TEcnaGui.cc:7099
TString fKeyProjY
Definition: TEcnaGui.h:902
TGLayoutHints * fLayoutSpSubFrame
Definition: TEcnaGui.h:778
void DoButtonExit()
Definition: TEcnaGui.cc:5417
TGLayoutHints * fLayoutVmaxD_Ped_ChNbFieldText
Definition: TEcnaGui.h:407
TGLayoutHints * fLayoutMenuBarD_LFN_ChNb
Definition: TEcnaGui.h:479
TGLayoutHints * fLayoutVminLHFccFieldText
Definition: TEcnaGui.h:598
TGTextButton * fVmaxD_Ped_ChNbBut
Definition: TEcnaGui.h:403
TGCompositeFrame * fAnaFrame
Definition: TEcnaGui.h:262
TGLayoutHints * fLayoutVminD_SCs_ChNbBut
Definition: TEcnaGui.h:561
TGCompositeFrame * fVoidFrame
Definition: TEcnaGui.h:254
Int_t fMenuD_LFN_ChNbFullC
Definition: TEcnaGui.h:480
void ViewHistimeCrystalLowFrequencyNoiseRuns(const TString &, const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:8162
void DoButtonSamp()
Definition: TEcnaGui.cc:5287
Int_t fMenuD_LFN_ChNbHocoVecoC
Definition: TEcnaGui.h:483
TGCompositeFrame * fVmmHFccMosFrame
Definition: TEcnaGui.h:635
TGCompositeFrame * fVmaxD_HFN_ChNbFrame
Definition: TEcnaGui.h:491
TGLayoutHints * fLayoutCompStnbFrame
Definition: TEcnaGui.h:339
TGTextBuffer * fEntryChanNumber
Definition: TEcnaGui.h:730
Int_t fConfirmRunNumber
Definition: TEcnaGui.h:227
void ViewHistoSorSTotalNoiseDistribution(const TString &)
Definition: TEcnaGui.cc:7547
TGCompositeFrame * fVmmD_NOE_ChNbFrame
Definition: TEcnaGui.h:368
TGCompositeFrame * fNorsFrame
Definition: TEcnaGui.h:290
TGLayoutHints * fLayoutVmaxD_SCs_ChNbFrame
Definition: TEcnaGui.h:557
TGMenuBar * fMenuBarSubmit
Definition: TEcnaGui.h:313
Int_t fMenuD_NOE_ChNbHocoVecoC
Definition: TEcnaGui.h:391
TGTextBuffer * fEntryStexNumber
Definition: TEcnaGui.h:324
TGMenuBar * fMenuBarD_MCs_ChNb
Definition: TEcnaGui.h:538
Int_t fButProjyC
Definition: TEcnaGui.h:830
void InitKeys()
Definition: TEcnaGui.cc:8353
TEcnaObject * fObjectManager
Definition: TEcnaGui.h:239
Int_t fMenuLFccMosColzC
Definition: TEcnaGui.h:630
TGLayoutHints * fLayoutLogyBut
Definition: TEcnaGui.h:826
TGLayoutHints * fLayoutVminD_HFN_ChNbFrame
Definition: TEcnaGui.h:505
TGLayoutHints * fLayoutVmaxD_MCs_ChNbFieldText
Definition: TEcnaGui.h:526
TGLayoutHints * fLayoutVminD_SCs_ChNbFrame
Definition: TEcnaGui.h:565
TString fKeyScaleX
Definition: TEcnaGui.h:900
TString fOptPlotFull
Definition: TEcnaGui.h:952
Int_t fMenuD_SCs_ChNbHocoVecoC
Definition: TEcnaGui.h:573
Double_t fKeyVminLFccMos
Definition: TEcnaGui.h:936
TGPopupMenu * fMenuLFccMos
Definition: TEcnaGui.h:627
TGCompositeFrame * fStinBFrame
Definition: TEcnaGui.h:697
TString fKeyScaleY
Definition: TEcnaGui.h:901
TString fPythonFileName
Definition: TEcnaGui.h:898
TGCompositeFrame * fChanFrame
Definition: TEcnaGui.h:726
Int_t fMenuH_LFN_DatePolmSamePC
Definition: TEcnaGui.h:809
TString CMSSWSubsystem()
void ViewHistoCrystalSampleSigmasDistribution(const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:7921
void ViewStinCovarianceSamples(const Int_t &)
Definition: TEcnaGui.cc:7026
TGLayoutHints * fLayoutStinABut
Definition: TEcnaGui.h:673
TGLayoutHints * fLayoutCenterXTop
Definition: TEcnaGui.h:252
TGTextButton * fButClone
Definition: TEcnaGui.h:859
TGLayoutHints * fLayoutStinSpFrame
Definition: TEcnaGui.h:707
Double_t fKeyVmaxD_NOE_ChNb
Definition: TEcnaGui.h:916
TGCompositeFrame * fStexHozFrame
Definition: TEcnaGui.h:397
Int_t fButLogyC
Definition: TEcnaGui.h:825
TGTextButton * fVmaxLHFccBut
Definition: TEcnaGui.h:586
ClassImp(TEcnaGui)
void ViewHistimeCrystalHighFrequencyNoise(const TString &, const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:8189
TString fOptPlotSameInStin
Definition: TEcnaGui.h:955
TGLayoutHints * fLayoutStinBField
Definition: TEcnaGui.h:703
void DoButtonAna()
Definition: TEcnaGui.cc:4628
Int_t fMenuD_HFN_ChNbSamePC
Definition: TEcnaGui.h:512
TGTextBuffer * fEntryLevNumber
Definition: TEcnaGui.h:303
TGLayoutHints * fLayoutVminD_HFN_ChNbBut
Definition: TEcnaGui.h:501
TString fMemoProjY
Definition: TEcnaGui.h:948
TGLayoutHints * fLayoutAnaBut
Definition: TEcnaGui.h:265
void DoButtonVmaxLFccMos()
Definition: TEcnaGui.cc:5074
Int_t fCnewRoot
Definition: TEcnaGui.h:220
TGLayoutHints * fLayoutVminD_TNo_ChNbFrame
Definition: TEcnaGui.h:445
TGTextBuffer * fEntrySampNumber
Definition: TEcnaGui.h:775
void DoButtonVminD_NOE_ChNb()
Definition: TEcnaGui.cc:4879
void DoButtonGent()
Definition: TEcnaGui.cc:5339
TString fOptAscii
Definition: TEcnaGui.h:956
void DoButtonVminD_Ped_ChNb()
Definition: TEcnaGui.cc:4905
TGLayoutHints * fLayoutVmaxHFccMosFrame
Definition: TEcnaGui.h:643
TGLayoutHints * fLayoutVmmLHFccFrame
Definition: TEcnaGui.h:606
void DoButtonVminHFccMos()
Definition: TEcnaGui.cc:5087
TGLayoutHints * fLayoutVminLHFccBut
Definition: TEcnaGui.h:595
TString fMemoScaleX
Definition: TEcnaGui.h:946
void DoButtonVmaxD_LFN_ChNb()
Definition: TEcnaGui.cc:4996
Int_t fMenuD_TNo_ChNbSameC
Definition: TEcnaGui.h:451
Int_t fMenuCovssLegoC
Definition: TEcnaGui.h:745
TGLayoutHints * fLayoutVmaxD_MCs_ChNbFrame
Definition: TEcnaGui.h:527
TGCompositeFrame * fVminD_Ped_ChNbFrame
Definition: TEcnaGui.h:410
TGLayoutHints * fLayoutVmmD_TNo_ChNbFrame
Definition: TEcnaGui.h:456
Double_t fKeyVmaxD_Ped_ChNb
Definition: TEcnaGui.h:919
Double_t fKeyVmaxLFccMos
Definition: TEcnaGui.h:937
TGLayoutHints * fLayoutRulFieldFrame
Definition: TEcnaGui.h:802
Int_t fAnaButC
Definition: TEcnaGui.h:264
Int_t fMenuD_TNo_ChNbSamePC
Definition: TEcnaGui.h:452
TGLayoutHints * fLayoutVmmD_MCs_ChNbFrame
Definition: TEcnaGui.h:546
TGLayoutHints * fLayoutVmaxLFccMosFrame
Definition: TEcnaGui.h:617
Double_t fKeyVmaxD_TNo_ChNb
Definition: TEcnaGui.h:922
TGTextBuffer * fEntryVmaxD_TNo_ChNbNumber
Definition: TEcnaGui.h:434
TGLayoutHints * fLayoutVmaxHFccMosFieldText
Definition: TEcnaGui.h:642
Bool_t ReadSampleAdcValues()
Definition: TEcnaRun.cc:1211
Int_t fMenuAdcProjLineLinySameC
Definition: TEcnaGui.h:790
Int_t fMenuHFCorccLegoC
Definition: TEcnaGui.h:716
Double_t fKeyVminD_TNo_ChNb
Definition: TEcnaGui.h:921
TGLayoutHints * fLayoutVmaxD_NOE_ChNbFrame
Definition: TEcnaGui.h:376
TGLayoutHints * fLayoutMenuBarD_NOE_ChNb
Definition: TEcnaGui.h:388
TGLayoutHints * fLayoutBottRight
Definition: TEcnaGui.h:250
Bool_t GetPaths()
void DoButtonProjy()
Definition: TEcnaGui.cc:5381
TGTextEntry * fVmaxD_HFN_ChNbText
Definition: TEcnaGui.h:494
Int_t fMenuD_TNo_ChNbAsciiFileC
Definition: TEcnaGui.h:454
TString PathModulesData()
void ViewHistimeCrystalTotalNoiseRuns(const TString &, const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:8108
TGMenuBar * fMenuBarD_SSp_SpDs
Definition: TEcnaGui.h:762
void SetHistoColorPalette(const TString &)
Definition: TEcnaHistos.cc:826
TGTextButton * fVmaxD_MCs_ChNbBut
Definition: TEcnaGui.h:522
void DoButtonVmaxD_MCs_ChNb()
Definition: TEcnaGui.cc:4970
Bool_t StatusFileFound()
Definition: TEcnaHistos.cc:842
TGLayoutHints * fLayoutVminD_NOE_ChNbFieldText
Definition: TEcnaGui.h:383
void DoButtonStex()
Definition: TEcnaGui.cc:4801
TGTextEntry * fVminLFccMosText
Definition: TEcnaGui.h:622
Int_t fMenuCleanPythC
Definition: TEcnaGui.h:309
TGCompositeFrame * fStinSpFrame
Definition: TEcnaGui.h:665
TGLayoutHints * fLayoutStinAField
Definition: TEcnaGui.h:676
void ViewHistimeCrystalSigmaOfCorssRuns(const TString &, const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:8324
TGLayoutHints * fLayoutChNbBut
Definition: TEcnaGui.h:681
Int_t MaxSMInEBMinus()
Int_t fStinAButC
Definition: TEcnaGui.h:672
Int_t fMenuCovssSurf2C
Definition: TEcnaGui.h:746
TGLayoutHints * fLayoutVmaxHFccMosBut
Definition: TEcnaGui.h:639
void DoButtonColPal()
Definition: TEcnaGui.cc:5396
TGLayoutHints * fLayoutVmaxD_HFN_ChNbBut
Definition: TEcnaGui.h:493
Int_t fMenuD_SSp_SpNbLineFullC
Definition: TEcnaGui.h:759
TGTextBuffer * fEntryNbSampForCalcNumber
Definition: TEcnaGui.h:350
Definition: value.py:1
TGLayoutHints * fLayoutMenuBarD_Ped_ChNb
Definition: TEcnaGui.h:420
TGCompositeFrame * fLinLogFrame
Definition: TEcnaGui.h:817
Int_t fMenuD_MSp_SpNbLineSameC
Definition: TEcnaGui.h:751
TGTextEntry * fNbSampForCalcText
Definition: TEcnaGui.h:349
Int_t fButStexNbC
Definition: TEcnaGui.h:343
TGLayoutHints * fLayoutNbSampForCalcFieldText
Definition: TEcnaGui.h:351
TGMenuBar * fMenuBarHFCorcc
Definition: TEcnaGui.h:715
Int_t fMenuD_Ped_ChNbAsciiFileC
Definition: TEcnaGui.h:424
TGPopupMenu * fMenuD_HFN_ChNb
Definition: TEcnaGui.h:507
TGLayoutHints * fLayoutGentBut
Definition: TEcnaGui.h:836
TGTextBuffer * fEntryStinBNumber
Definition: TEcnaGui.h:701
Double_t fKeyVmaxLHFcc
Definition: TEcnaGui.h:942
Int_t fMenuCleanJobC
Definition: TEcnaGui.h:309
Double_t fKeyVmaxD_HFN_ChNb
Definition: TEcnaGui.h:931
TGTextBuffer * fEntryAnaNumber
Definition: TEcnaGui.h:267
Int_t fKeyStinBNumber
Definition: TEcnaGui.h:909
Int_t fRunButC
Definition: TEcnaGui.h:280
Int_t fMenuCovssBoxC
Definition: TEcnaGui.h:744
Int_t fKeyReqNbOfEvts
Definition: TEcnaGui.h:885
TString fMemoColPal
Definition: TEcnaGui.h:950
Int_t fMenuCovssContzC
Definition: TEcnaGui.h:745
Int_t fMenuH_SCs_DatePolmSameC
Definition: TEcnaGui.h:812
Int_t fButChNbC
Definition: TEcnaGui.h:680
void DoButtonVminD_MCs_ChNb()
Definition: TEcnaGui.cc:4957
TGMenuBar * fMenuBarComput
Definition: TEcnaGui.h:355
Int_t fMenuCorssSurf4C
Definition: TEcnaGui.h:739
TGLayoutHints * fLayoutExitBut
Definition: TEcnaGui.h:853
TEcnaNumbering * fEcalNumbering
Definition: TEcnaGui.h:245
TGTextEntry * fVminD_NOE_ChNbText
Definition: TEcnaGui.h:382
Int_t MaxCrysInStin()
TGLayoutHints * fLayoutGentFieldFrame
Definition: TEcnaGui.h:840
void DoButtonVmaxD_SCs_ChNb()
Definition: TEcnaGui.cc:5048
TGCompositeFrame * fTySubFrame
Definition: TEcnaGui.h:695
void StandardCalculations()
Definition: TEcnaRun.cc:1422
Int_t fMenuD_LFN_ChNbSameC
Definition: TEcnaGui.h:481
TGPopupMenu * fMenuCorss
Definition: TEcnaGui.h:735
TGLayoutHints * fLayoutVmaxD_TNo_ChNbBut
Definition: TEcnaGui.h:433
TGPopupMenu * fMenuClean
Definition: TEcnaGui.h:307
void DisplayInEntryField(TGTextEntry *, Int_t &)
Definition: TEcnaGui.cc:8444
TGLayoutHints * fLayoutHelpBut
Definition: TEcnaGui.h:869
TString fConfirmRunNumberString
Definition: TEcnaGui.h:228
TString fMemoScaleY
Definition: TEcnaGui.h:947
TGTextEntry * fRulText
Definition: TEcnaGui.h:799
TGTextEntry * fNorsText
Definition: TEcnaGui.h:294
Int_t fMenuD_MCs_ChNbAsciiFileC
Definition: TEcnaGui.h:544
TGPopupMenu * fMenuAdcProj
Definition: TEcnaGui.h:787
void DoButtonNbSampForCalc()
Definition: TEcnaGui.cc:4699
TGLayoutHints * fLayoutVmmD_SCs_ChNbFrame
Definition: TEcnaGui.h:576
Int_t fMenuD_NOE_ChNbSameC
Definition: TEcnaGui.h:390
Int_t fMenuD_Ped_ChNbSameC
Definition: TEcnaGui.h:422
void ViewHistoCrystalSampleMeans(const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:7821
Int_t fMenuCovssAllColzC
Definition: TEcnaGui.h:686
TGLayoutHints * fLayoutVmmHFccMosFrame
Definition: TEcnaGui.h:658
Int_t fMenuD_MCs_ChNbSameC
Definition: TEcnaGui.h:541
Int_t fMenuLFCorccLegoC
Definition: TEcnaGui.h:712
TGPopupMenu * fMenuD_SSp_SpNb
Definition: TEcnaGui.h:757
Int_t GetDeeSCConsFrom1DeeSCEcna(const Int_t &, const Int_t &)
TGLayoutHints * fLayoutMenuBarD_MCs_ChNb
Definition: TEcnaGui.h:539
TGLayoutHints * fLayoutVmaxD_LFN_ChNbBut
Definition: TEcnaGui.h:463
void Plot1DHisto(const TVectorD &, const TString &, const TString &, const TString &)
TGLayoutHints * fLayoutVmaxD_TNo_ChNbFrame
Definition: TEcnaGui.h:437
TString fKeyRunListInitCode
Definition: TEcnaGui.h:894
TGLayoutHints * fLayoutRevBut
Definition: TEcnaGui.h:331
TGPopupMenu * fMenuD_MSp_SpNb
Definition: TEcnaGui.h:749
TGLayoutHints * fLayoutMenuBarLHFcc
Definition: TEcnaGui.h:603
TGLayoutHints * fLayoutVminD_TNo_ChNbBut
Definition: TEcnaGui.h:441
TGCompositeFrame * fStexFrame
Definition: TEcnaGui.h:320
void DoButtonVminD_TNo_ChNb()
Definition: TEcnaGui.cc:4931
TGLayoutHints * fLayoutStexUpFrame
Definition: TEcnaGui.h:660
void ViewHistoSorSLowFrequencyNoiseOfCrystals(const TString &)
Definition: TEcnaGui.cc:7578
void ViewHistimeCrystalHighFrequencyNoiseRuns(const TString &, const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:8216
Int_t fMenuCovssColzC
Definition: TEcnaGui.h:744
void ViewHistoCrystalSampleValues(const Int_t &, const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:7955
TGTextBuffer * fEntryVminLFccMosNumber
Definition: TEcnaGui.h:623
TGMenuBar * fMenuBarD_TNo_ChNb
Definition: TEcnaGui.h:448
void ViewHistoCrystalSampleMeansDistribution(const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:7855
TGLayoutHints * fLayoutVminHFccMosBut
Definition: TEcnaGui.h:647
Int_t fMenuAdcProjSampLineFullC
Definition: TEcnaGui.h:791
TGCompositeFrame * fVmmLHFccFrame
Definition: TEcnaGui.h:583
TGTextBuffer * fEntryVmaxD_NOE_ChNbNumber
Definition: TEcnaGui.h:373
void ViewMatrixLowFrequencyMeanCorrelationsBetweenStins(const TString &)
Definition: TEcnaGui.cc:6748
Int_t fMenuD_MCs_ChNbFullC
Definition: TEcnaGui.h:540
void ViewStexLowFrequencyCorcc()
Definition: TEcnaGui.cc:6864
Int_t fMenuCorssSurf2C
Definition: TEcnaGui.h:739
TGTextButton * fVminHFccMosBut
Definition: TEcnaGui.h:646
void ViewMatrixLowFrequencyCorrelationsBetweenChannels(const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:6803
TGLayoutHints * fLayoutVmaxD_HFN_ChNbFrame
Definition: TEcnaGui.h:497
void ViewStinCorrelationSamples(const Int_t &)
Definition: TEcnaGui.cc:6998
Int_t fMenuD_SCs_ChNbSameC
Definition: TEcnaGui.h:571
TGLayoutHints * fLayoutNorsField
Definition: TEcnaGui.h:296
TGTextEntry * fRunText
Definition: TEcnaGui.h:282
TGTextEntry * fStinBText
Definition: TEcnaGui.h:702
void DoButtonStexNb()
Definition: TEcnaGui.cc:5141
TGCompositeFrame * fFevFrame
Definition: TEcnaGui.h:270
void DoButtonLogx()
Definition: TEcnaGui.cc:5356
Int_t fMenuD_MSp_SpDsLineFullC
Definition: TEcnaGui.h:755
TGTextEntry * fVminD_SCs_ChNbText
Definition: TEcnaGui.h:562
TString GetNewRootFileNameShort()
Definition: TEcnaRun.cc:3430
void ViewMatrixCovarianceSamples(const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:6956
Int_t fMenuD_Ped_ChNbHocoVecoC
Definition: TEcnaGui.h:423
TGTextButton * fVminLFccMosBut
Definition: TEcnaGui.h:620
TGLayoutHints * fLayoutColPalBut
Definition: TEcnaGui.h:849
TGMenuBar * fMenuBarAdcProj
Definition: TEcnaGui.h:788
Int_t fCnaCommand
Definition: TEcnaGui.h:224
TGLayoutHints * fLayoutCloneBut
Definition: TEcnaGui.h:861
TGTextButton * fVmaxHFccMosBut
Definition: TEcnaGui.h:638
Double_t fKeyVminD_SCs_ChNb
Definition: TEcnaGui.h:933
TGLayoutHints * fLayoutVminD_NOE_ChNbFrame
Definition: TEcnaGui.h:384
void StinCrystalNumbering(const Int_t &, const Int_t &)
Int_t fButCloneC
Definition: TEcnaGui.h:860
TGTextButton * fChanBut
Definition: TEcnaGui.h:727
TGTextBuffer * fEntryVminD_HFN_ChNbNumber
Definition: TEcnaGui.h:502
Int_t fNorsButC
Definition: TEcnaGui.h:292
TGTextBuffer * fEntryRulNumber
Definition: TEcnaGui.h:800
TGTextBuffer * fEntryVmaxLFccMosNumber
Definition: TEcnaGui.h:615
void ViewHistoSorSSigmaOfCorssDistribution(const TString &)
Definition: TEcnaGui.cc:7790
void DoButtonVmaxD_Ped_ChNb()
Definition: TEcnaGui.cc:4918
Int_t fCdeleteRoot
Definition: TEcnaGui.h:220
TGMenuBar * fMenuBarD_SSp_SpNb
Definition: TEcnaGui.h:758
TGTextButton * fVmaxD_TNo_ChNbBut
Definition: TEcnaGui.h:432
TGLayoutHints * fLayoutVminD_HFN_ChNbFieldText
Definition: TEcnaGui.h:504
TGPopupMenu * fMenuD_Ped_ChNb
Definition: TEcnaGui.h:418
Bool_t WriteNewRootFile(const TString &)
Definition: TEcnaRun.cc:3389
TGTextEntry * fFevText
Definition: TEcnaGui.h:273
Int_t fMenuSubmit8nmC
Definition: TEcnaGui.h:314
Int_t MaxStexInStas()
TGTextButton * fButStexNb
Definition: TEcnaGui.h:342
TGTextBuffer * fEntryVminD_NOE_ChNbNumber
Definition: TEcnaGui.h:381
Int_t fStinBButC
Definition: TEcnaGui.h:699
TGCompositeFrame * fSpSubFrame
Definition: TEcnaGui.h:768
TString fKeyNbOfSampForCalcString
Definition: TEcnaGui.h:891
TGTextEntry * fChanText
Definition: TEcnaGui.h:731
Int_t fMenuD_HFN_ChNbHocoVecoC
Definition: TEcnaGui.h:513
Int_t fKeyLastReqEvtNumber
Definition: TEcnaGui.h:883
TGLayoutHints * fLayoutChSubFrame
Definition: TEcnaGui.h:765
void ViewHistimeCrystalPedestalsRuns(const TString &, const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:8053
TGTextEntry * fVmaxHFccMosText
Definition: TEcnaGui.h:640
TGLayoutHints * fLayoutAnaNorsRunFrame
Definition: TEcnaGui.h:260
Int_t fMenuH_LFN_DatePolmFullC
Definition: TEcnaGui.h:809
TGLayoutHints * fLayoutCenterYLeft
Definition: TEcnaGui.h:252
void DoButtonVminLFccMos()
Definition: TEcnaGui.cc:5061
TString fKeyRunNumberString
Definition: TEcnaGui.h:880
TGCompositeFrame * fSampFrame
Definition: TEcnaGui.h:770
Int_t fButLogxC
Definition: TEcnaGui.h:821
void SetHistoScaleX(const TString &)
Definition: TEcnaHistos.cc:814
Int_t fMenuComputSttC
Definition: TEcnaGui.h:356
TGCompositeFrame * fVmaxHFccMosFrame
Definition: TEcnaGui.h:637
void SetHistoMin(const Double_t &)
TGTextButton * fButHelp
Definition: TEcnaGui.h:867
TGLayoutHints * fLayoutVminD_MCs_ChNbFieldText
Definition: TEcnaGui.h:534
void DoButtonLev()
Definition: TEcnaGui.cc:4753
void DoButtonRul()
Definition: TEcnaGui.cc:5307
TGCompositeFrame * fVmaxLHFccFrame
Definition: TEcnaGui.h:585
Double_t fKeyVminLHFcc
Definition: TEcnaGui.h:941
Int_t MaxSCForConsInDee()
TGTextBuffer * fEntryVminLHFccNumber
Definition: TEcnaGui.h:596
TGLayoutHints * fLayoutVmmLFccMosFrame
Definition: TEcnaGui.h:632
TGCompositeFrame * fVminD_NOE_ChNbFrame
Definition: TEcnaGui.h:378
TGCompositeFrame * fFevLevStexFrame
Definition: TEcnaGui.h:287
TGLayoutHints * fLayoutVmaxLHFccBut
Definition: TEcnaGui.h:587
Int_t fMenuCovssSurf3C
Definition: TEcnaGui.h:746
TGLayoutHints * fLayoutTopLeft
Definition: TEcnaGui.h:251
TGCompositeFrame * fVminLFccMosFrame
Definition: TEcnaGui.h:619
Int_t fMenuD_MCs_ChNbHocoVecoC
Definition: TEcnaGui.h:543
Int_t fMenuAdcProjLineLinyFullC
Definition: TEcnaGui.h:790
Int_t fMenuH_HFN_DatePolmSamePC
Definition: TEcnaGui.h:810
TGLayoutHints * fLayoutBottLeft
Definition: TEcnaGui.h:250
TGLayoutHints * fLayoutStinBBut
Definition: TEcnaGui.h:700
TGMenuBar * fMenuBarD_NOE_ChNb
Definition: TEcnaGui.h:387
TGLayoutHints * fLayoutVminD_NOE_ChNbBut
Definition: TEcnaGui.h:380
void ViewHistoSorSPedestalsDistribution(const TString &)
Definition: TEcnaGui.cc:7486
TGLayoutHints * fLayoutVmaxD_HFN_ChNbFieldText
Definition: TEcnaGui.h:496
Double_t fKeyVminD_NOE_ChNb
Definition: TEcnaGui.h:915
Int_t fMenuH_MCs_DatePolmSameC
Definition: TEcnaGui.h:811
TGCompositeFrame * fVminD_TNo_ChNbFrame
Definition: TEcnaGui.h:439
TGCompositeFrame * fCompStRqFrame
Definition: TEcnaGui.h:317
Int_t fMenuD_LFN_ChNbSamePC
Definition: TEcnaGui.h:482
TString fKeyLastReqEvtNumberString
Definition: TEcnaGui.h:884
TGCompositeFrame * fChSubFrame
Definition: TEcnaGui.h:724
TGCompositeFrame * fVminHFccMosFrame
Definition: TEcnaGui.h:645
TGLayoutHints * fLayoutRulFieldText
Definition: TEcnaGui.h:801
void SubmitOnBatchSystem(const TString &)
Definition: TEcnaGui.cc:6079
Int_t fMenuD_MSp_SpDsLineSameC
Definition: TEcnaGui.h:755
void ViewHistoSorSMeanCorssDistribution(const TString &)
Definition: TEcnaGui.cc:7730
TGCompositeFrame * fLastFrame
Definition: TEcnaGui.h:856
void ViewSorSHighFrequencyNoise()
Definition: TEcnaGui.cc:7217
TGTextEntry * fVmaxLFccMosText
Definition: TEcnaGui.h:614
Int_t fMenuCorssAllColzC
Definition: TEcnaGui.h:686
TGTextButton * fVminD_HFN_ChNbBut
Definition: TEcnaGui.h:500
TGCompositeFrame * fCompStnbFrame
Definition: TEcnaGui.h:338
TString AsciiFileName()
TGLayoutHints * fLayoutLogxBut
Definition: TEcnaGui.h:822
Int_t MaxSampADC()
TGCompositeFrame * fVmaxD_SCs_ChNbFrame
Definition: TEcnaGui.h:551
Int_t fMenuD_NOE_ChNbAsciiFileC
Definition: TEcnaGui.h:392
void ViewHistoSorSSigmaOfCorssOfCrystals(const TString &)
Definition: TEcnaGui.cc:7760
void ViewSorSSigmaOfCorss()
Definition: TEcnaGui.cc:7295
Double_t fKeyVminD_LFN_ChNb
Definition: TEcnaGui.h:927
TGCompositeFrame * fLevFrame
Definition: TEcnaGui.h:299
TGTextButton * fSampBut
Definition: TEcnaGui.h:771
Int_t fKeySampNumber
Definition: TEcnaGui.h:911
Int_t MaxDeeInEE()
TGCompositeFrame * fVmaxLFccMosFrame
Definition: TEcnaGui.h:611
TGLayoutHints * fLayoutVmaxD_SCs_ChNbFieldText
Definition: TEcnaGui.h:556
void ViewMatrixHighFrequencyCorrelationsBetweenChannels(const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:6833
TGLayoutHints * fLayoutLevFieldFrame
Definition: TEcnaGui.h:305
TGLayoutHints * fLayoutVminLFccMosFrame
Definition: TEcnaGui.h:625
void ViewMatrixCorrelationSamples(const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:6921
void ViewStexHighFrequencyCorcc()
Definition: TEcnaGui.cc:6892
TString fKeyNbOfSamplesString
Definition: TEcnaGui.h:878
void ViewHistimeCrystalSigmaOfCorss(const TString &, const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:8297
Int_t MaxSMInEB()
TString fKeyFirstReqEvtNumberString
Definition: TEcnaGui.h:882
TGTextBuffer * fEntryVmaxD_HFN_ChNbNumber
Definition: TEcnaGui.h:495
TGTextButton * fVmaxD_LFN_ChNbBut
Definition: TEcnaGui.h:462
TEcnaParHistos * fCnaParHistos
Definition: TEcnaGui.h:241
Int_t fMenuD_SCs_ChNbAsciiFileC
Definition: TEcnaGui.h:574
TGLayoutHints * fLayoutFevLevStexFrame
Definition: TEcnaGui.h:288
Int_t fMenuHFccMosLegoC
Definition: TEcnaGui.h:656
TGLayoutHints * fLayoutNbSampForCalcBut
Definition: TEcnaGui.h:348
Double_t fKeyVminD_Ped_ChNb
Definition: TEcnaGui.h:918
Int_t fMenuD_SSp_SpDsLineAllStinC
Definition: TEcnaGui.h:763
Int_t fMenuSubmit1ndC
Definition: TEcnaGui.h:314
TGMenuBar * fMenuBarD_MSp_SpNb
Definition: TEcnaGui.h:750
TGLayoutHints * fLayoutVmaxD_NOE_ChNbBut
Definition: TEcnaGui.h:372
TGCompositeFrame * fVmaxD_MCs_ChNbFrame
Definition: TEcnaGui.h:521
void SetHistoMax(const Double_t &)
TGLayoutHints * fLayoutVminD_LFN_ChNbFieldText
Definition: TEcnaGui.h:474
TGLayoutHints * fLayoutVminD_LFN_ChNbBut
Definition: TEcnaGui.h:471
Int_t MaxStinEcnaInStex()
void MessageCnaCommandReplyA(const TString &)
Definition: TEcnaGui.cc:6710
Double_t fKeyVmaxD_LFN_ChNb
Definition: TEcnaGui.h:928
TGPopupMenu * fMenuD_SSp_SpDs
Definition: TEcnaGui.h:761
TString fKeyStexNumberString
Definition: TEcnaGui.h:889
Int_t fMenuD_HFN_ChNbAsciiFileC
Definition: TEcnaGui.h:514
TGLayoutHints * fLayoutVminD_MCs_ChNbBut
Definition: TEcnaGui.h:531
TGTextBuffer * fEntryVmaxD_Ped_ChNbNumber
Definition: TEcnaGui.h:406
TGPopupMenu * fMenuHFCorcc
Definition: TEcnaGui.h:714
TGTextButton * fButChNb
Definition: TEcnaGui.h:679
Int_t fMenuSubmit1nhC
Definition: TEcnaGui.h:314
TGTextEntry * fVminD_MCs_ChNbText
Definition: TEcnaGui.h:533
TGLayoutHints * fLayoutVmaxD_LFN_ChNbFrame
Definition: TEcnaGui.h:467
void DoButtonRev()
Definition: TEcnaGui.cc:4772
TGCheckButton * fButLogy
Definition: TEcnaGui.h:824
Int_t fConfirmSubmit
Definition: TEcnaGui.h:226
TGCompositeFrame * fVmmD_LFN_ChNbFrame
Definition: TEcnaGui.h:459
Int_t fMenuH_MCs_DatePolmFullC
Definition: TEcnaGui.h:811
TGTextBuffer * fEntryVminHFccMosNumber
Definition: TEcnaGui.h:649
Int_t fMenuD_LFN_ChNbAsciiFileC
Definition: TEcnaGui.h:484
TGMenuBar * fMenuBarD_MSp_SpDs
Definition: TEcnaGui.h:754
Int_t fKeyNbOfSampForCalc
Definition: TEcnaGui.h:890
TGCompositeFrame * fVmmD_TNo_ChNbFrame
Definition: TEcnaGui.h:429
TGLayoutHints * fLayoutVmaxD_SCs_ChNbBut
Definition: TEcnaGui.h:553
TGCompositeFrame * fVmmD_MCs_ChNbFrame
Definition: TEcnaGui.h:519
void DoButtonVmaxD_HFN_ChNb()
Definition: TEcnaGui.cc:5022
void ViewHistimeCrystalMeanCorss(const TString &, const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:8243
Int_t fMenuD_MSp_SpNbLineAllStinC
Definition: TEcnaGui.h:751
Int_t fKeyFirstReqEvtNumber
Definition: TEcnaGui.h:881
void ViewHistimeCrystalPedestals(const TString &, const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:8026
Int_t fMenuH_HFN_DatePolmFullC
Definition: TEcnaGui.h:810
Int_t fMenuH_TNo_DatePolmSamePC
Definition: TEcnaGui.h:808
TGMenuBar * fMenuBarCovss
Definition: TEcnaGui.h:743
TGTextButton * fStexBut
Definition: TEcnaGui.h:321
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
TGLayoutHints * fLayoutMenuBarAdcProj
Definition: TEcnaGui.h:789
TGCompositeFrame * fVmmD_HFN_ChNbFrame
Definition: TEcnaGui.h:489
Int_t fMenuH_TNo_DatePolmSameC
Definition: TEcnaGui.h:808
TGCompositeFrame * fVmmD_SCs_ChNbFrame
Definition: TEcnaGui.h:549
TGLayoutHints * fLayoutVmmD_Ped_ChNbFrame
Definition: TEcnaGui.h:426
Int_t fMenuH_MCs_DatePolmSamePC
Definition: TEcnaGui.h:811
Int_t fKeyRunNumber
Definition: TEcnaGui.h:879
TGPopupMenu * fMenuLHFcc
Definition: TEcnaGui.h:601
void CleanBatchFiles(const TString &)
Definition: TEcnaGui.cc:6318
TGTextEntry * fGentText
Definition: TEcnaGui.h:837
TGMenuBar * fMenuBarD_Ped_ChNb
Definition: TEcnaGui.h:419
Int_t fMenuComputStdC
Definition: TEcnaGui.h:356
Double_t fKeyVmaxHFccMos
Definition: TEcnaGui.h:939
TGLayoutHints * fLayoutVmmD_LFN_ChNbFrame
Definition: TEcnaGui.h:486
Long_t GetPointerValue(const TString &)
Definition: TEcnaObject.cc:209
TGLayoutHints * fLayoutMenuBarHFccMos
Definition: TEcnaGui.h:655
TGTextButton * fVmaxD_NOE_ChNbBut
Definition: TEcnaGui.h:371
void ViewSorSMeanCorss()
Definition: TEcnaGui.cc:7256
TGLayoutHints * fLayoutAnaField
Definition: TEcnaGui.h:268
void DoButtonVminD_LFN_ChNb()
Definition: TEcnaGui.cc:4983
TGMenuBar * fMenuBarHistory
Definition: TEcnaGui.h:806
TGTextButton * fVmaxD_SCs_ChNbBut
Definition: TEcnaGui.h:552
Int_t fButExitC
Definition: TEcnaGui.h:852
Int_t fMenuComputSccC
Definition: TEcnaGui.h:356
Int_t fMenuD_MCs_ChNbSamePC
Definition: TEcnaGui.h:542
TGTextButton * fButExit
Definition: TEcnaGui.h:851
TGCompositeFrame * fRunFrame
Definition: TEcnaGui.h:278
TEcnaParCout * fCnaParCout
Definition: TEcnaGui.h:243
void DoButtonNors()
Definition: TEcnaGui.cc:4640
TGTextBuffer * fEntryVminD_MCs_ChNbNumber
Definition: TEcnaGui.h:532
TGMenuBar * fMenuBarLFccMos
Definition: TEcnaGui.h:628
Int_t fMenuLFccMosLegoC
Definition: TEcnaGui.h:630
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:763
void ViewHistimeCrystalTotalNoise(const TString &, const Int_t &, const Int_t &, const TString &)
Definition: TEcnaGui.cc:8081
Int_t fMenuD_TNo_ChNbFullC
Definition: TEcnaGui.h:450
TGPopupMenu * fMenuD_MCs_ChNb
Definition: TEcnaGui.h:537
Int_t fKeyStexNumber
Definition: TEcnaGui.h:888
TGTextEntry * fVmaxLHFccText
Definition: TEcnaGui.h:588
TString fStexName
Definition: TEcnaGui.h:236
void ViewHistoSorSHighFrequencyNoiseDistribution(const TString &)
Definition: TEcnaGui.cc:7669
Int_t fKeyChanNumber
Definition: TEcnaGui.h:910
TString fKeyReqNbOfEvtsString
Definition: TEcnaGui.h:886
Double_t fKeyVminD_HFN_ChNb
Definition: TEcnaGui.h:930
Int_t fMenuD_Ped_ChNbFullC
Definition: TEcnaGui.h:421
Bool_t StatusDataExist()
Definition: TEcnaHistos.cc:843
TGMenuBar * fMenuBarD_HFN_ChNb
Definition: TEcnaGui.h:508
TString fKeyAnaType
Definition: TEcnaGui.h:875
Int_t fMenuD_MSp_SpNbLineFullC
Definition: TEcnaGui.h:751
TGMenuBar * fMenuBarLHFcc
Definition: TEcnaGui.h:602
void ViewMatrixHighFrequencyMeanCorrelationsBetweenStins(const TString &)
Definition: TEcnaGui.cc:6775
void ViewSorSNumberOfEvents()
Definition: TEcnaGui.cc:7059
void MessageCnaCommandReplyB(const TString &)
Definition: TEcnaGui.cc:6723
void GeneralTitle(const TString &)
Definition: TEcnaHistos.cc:813
void ViewStinCrystalNumbering(const Int_t &)
Definition: TEcnaGui.cc:7339
void PlotCloneOfCurrentCanvas()
TGTextEntry * fVminLHFccText
Definition: TEcnaGui.h:597
TGTextEntry * fVmaxD_LFN_ChNbText
Definition: TEcnaGui.h:464
TGLayoutHints * fLayoutLevBut
Definition: TEcnaGui.h:301
TGTextBuffer * fEntryFevNumber
Definition: TEcnaGui.h:274
Int_t fMenuD_HFN_ChNbSameC
Definition: TEcnaGui.h:511
TString PathTestScramArch()
TGTextBuffer * fEntryVminD_SCs_ChNbNumber
Definition: TEcnaGui.h:563
void DialogBox()
Definition: TEcnaGui.cc:2592