Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 11:57:38

0001 //----------Author's Name: B.Fabbro DSM/IRFU/SPP CEA-Saclay
0002 //----------Copyright: Those valid for CEA sofware
0003 //----------Modified: 28/01/2014
0004 
0005 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaGui.h"
0006 #include <cstdlib>
0007 
0008 //--------------------------------------
0009 //  TEcnaGui.cc
0010 //  Class creation: 03 Dec 2002
0011 //  Documentation: see TEcnaGui.h
0012 //--------------------------------------
0013 
0014 ClassImp(TEcnaGui);
0015 //______________________________________________________________________________
0016 //
0017 
0018 TEcnaGui::~TEcnaGui() {
0019   //destructor
0020 
0021 #define DEST
0022 #ifdef DEST
0023   // std::cout << "TEcnaGui> Entering destructor" << std::endl;
0024   // std::cout << "            fCnew = " << fCnew << ", fCdelete = " << fCdelete << std::endl;
0025 
0026   //.... general variables
0027   //if ( fHistos             != 0 ) {delete fHistos;             fCdelete++;}
0028 
0029   //if ( fCnaParHistos       != 0 ) {delete fCnaParHistos;       fCdelete++;}
0030   //if ( fCnaParPaths        != 0 ) {delete fCnaParPaths;        fCdelete++;}
0031   //if ( fEcalNumbering      != 0 ) {delete fEcalNumbering;      fCdelete++;}
0032   //if ( fEcal               != 0 ) {delete fEcal;               fCdelete++;}
0033 
0034   //.... general frames
0035 
0036   if (fLayoutGeneral != nullptr) {
0037     delete fLayoutGeneral;
0038     fCdelete++;
0039   }
0040   if (fLayoutBottLeft != nullptr) {
0041     delete fLayoutBottLeft;
0042     fCdelete++;
0043   }
0044   if (fLayoutBottRight != nullptr) {
0045     delete fLayoutBottRight;
0046     fCdelete++;
0047   }
0048   if (fLayoutTopLeft != nullptr) {
0049     delete fLayoutTopLeft;
0050     fCdelete++;
0051   }
0052   if (fLayoutTopRight != nullptr) {
0053     delete fLayoutTopRight;
0054     fCdelete++;
0055   }
0056   if (fLayoutCenterYLeft != nullptr) {
0057     delete fLayoutCenterYLeft;
0058     fCdelete++;
0059   }
0060   if (fLayoutCenterYRight != nullptr) {
0061     delete fLayoutCenterYRight;
0062     fCdelete++;
0063   }
0064   if (fLayoutCenterXTop != nullptr) {
0065     delete fLayoutCenterXTop;
0066     fCdelete++;
0067   }
0068 
0069   if (fVoidFrame != nullptr) {
0070     delete fVoidFrame;
0071     fCdelete++;
0072   }
0073 
0074   //..... specific frames + buttons + menus
0075 
0076   //++++++++++++++++++++++++++++++ Horizontal frame Analysis + First requested evt number + Run number
0077   if (fAnaNorsRunFrame != nullptr) {
0078     delete fAnaNorsRunFrame;
0079     fCdelete++;
0080   }
0081   if (fLayoutAnaNorsRunFrame != nullptr) {
0082     delete fLayoutAnaNorsRunFrame;
0083     fCdelete++;
0084   }
0085 
0086   //--------------------------------- Sub-Frame Analysis Name (Button+Entry Field)
0087   if (fAnaFrame != nullptr) {
0088     delete fAnaFrame;
0089     fCdelete++;
0090   }
0091   if (fAnaBut != nullptr) {
0092     delete fAnaBut;
0093     fCdelete++;
0094   }
0095   if (fLayoutAnaBut != nullptr) {
0096     delete fLayoutAnaBut;
0097     fCdelete++;
0098   }
0099   if (fEntryAnaNumber != nullptr) {
0100     delete fEntryAnaNumber;
0101     fCdelete++;
0102   }
0103   if (fAnaText != nullptr) {
0104     fAnaText->Delete();
0105     fCdelete++;
0106   }
0107   if (fLayoutAnaField != nullptr) {
0108     delete fLayoutAnaField;
0109     fCdelete++;
0110   }
0111 
0112   //------------------- subframe first requested evt number
0113   if (fFevFrame != nullptr) {
0114     delete fFevFrame;
0115     fCdelete++;
0116   }
0117   if (fFevBut != nullptr) {
0118     delete fFevBut;
0119     fCdelete++;
0120   }
0121   if (fLayoutFevBut != nullptr) {
0122     delete fLayoutFevBut;
0123     fCdelete++;
0124   }
0125   if (fEntryFevNumber != nullptr) {
0126     delete fEntryFevNumber;
0127     fCdelete++;
0128   }
0129   if (fFevText != nullptr) {
0130     fFevText->Delete();
0131     fCdelete++;
0132   }
0133   if (fLayoutFevFieldText != nullptr) {
0134     delete fLayoutFevFieldText;
0135     fCdelete++;
0136   }
0137   if (fLayoutFevFieldFrame != nullptr) {
0138     delete fLayoutFevFieldFrame;
0139     fCdelete++;
0140   }
0141 
0142   //-------------------------------- Sub-Frame Run number (Button+Entry Field)
0143   if (fRunFrame != nullptr) {
0144     delete fRunFrame;
0145     fCdelete++;
0146   }
0147   if (fRunBut != nullptr) {
0148     delete fRunBut;
0149     fCdelete++;
0150   }
0151   if (fLayoutRunBut != nullptr) {
0152     delete fLayoutRunBut;
0153     fCdelete++;
0154   }
0155   if (fEntryRunNumber != nullptr) {
0156     delete fEntryRunNumber;
0157     fCdelete++;
0158   }
0159   if (fRunText != nullptr) {
0160     fRunText->Delete();
0161     fCdelete++;
0162   }
0163   if (fLayoutRunField != nullptr) {
0164     delete fLayoutRunField;
0165     fCdelete++;
0166   }
0167 
0168   //+++++++++++++++++++++++++++++ Horizontal frame Nb Of Samples + last requested events + Clean + Submit
0169   if (fFevLevStexFrame != nullptr) {
0170     delete fFevLevStexFrame;
0171     fCdelete++;
0172   }
0173   if (fLayoutFevLevStexFrame != nullptr) {
0174     delete fLayoutFevLevStexFrame;
0175     fCdelete++;
0176   }
0177 
0178   //------------------- Sub-Frame Nb of Required Samples (Button+Entry Field)
0179   if (fNorsFrame != nullptr) {
0180     delete fNorsFrame;
0181     fCdelete++;
0182   }
0183   if (fNorsBut != nullptr) {
0184     delete fNorsBut;
0185     fCdelete++;
0186   }
0187   if (fLayoutNorsBut != nullptr) {
0188     delete fLayoutNorsBut;
0189     fCdelete++;
0190   }
0191   if (fEntryNorsNumber != nullptr) {
0192     delete fEntryNorsNumber;
0193     fCdelete++;
0194   }
0195   if (fNorsText != nullptr) {
0196     fNorsText->Delete();
0197     fCdelete++;
0198   }
0199   if (fLayoutNorsField != nullptr) {
0200     delete fLayoutNorsField;
0201     fCdelete++;
0202   }
0203 
0204   //------------------- subframe last requested evt number
0205   if (fLevFrame != nullptr) {
0206     delete fLevFrame;
0207     fCdelete++;
0208   }
0209   if (fLevBut != nullptr) {
0210     delete fLevBut;
0211     fCdelete++;
0212   }
0213   if (fLayoutLevBut != nullptr) {
0214     delete fLayoutLevBut;
0215     fCdelete++;
0216   }
0217   if (fEntryLevNumber != nullptr) {
0218     delete fEntryLevNumber;
0219     fCdelete++;
0220   }
0221   if (fLevText != nullptr) {
0222     fLevText->Delete();
0223     fCdelete++;
0224   }
0225   if (fLayoutLevFieldText != nullptr) {
0226     delete fLayoutLevFieldText;
0227     fCdelete++;
0228   }
0229   if (fLayoutLevFieldFrame != nullptr) {
0230     delete fLayoutLevFieldFrame;
0231     fCdelete++;
0232   }
0233 
0234   //................................ Menu for Clean
0235   if (fMenuClean != nullptr) {
0236     delete fMenuClean;
0237     fCdelete++;
0238   }
0239   if (fMenuBarClean != nullptr) {
0240     fMenuBarClean->Delete();
0241     fCdelete++;
0242   }
0243   //................................ Menu for Submit jobs on batch system
0244   if (fMenuSubmit != nullptr) {
0245     delete fMenuSubmit;
0246     fCdelete++;
0247   }
0248   if (fMenuBarSubmit != nullptr) {
0249     fMenuBarSubmit->Delete();
0250     fCdelete++;
0251   }
0252 
0253   //+++++++++++++++++++++++++++++++++++++++++++++++++  Horizontal Frame:Stex number + NbOfReqEvts
0254   if (fCompStRqFrame != nullptr) {
0255     delete fCompStRqFrame;
0256     fCdelete++;
0257   }
0258   if (fLayoutCompStRqFrame != nullptr) {
0259     delete fLayoutCompStRqFrame;
0260     fCdelete++;
0261   }
0262 
0263   //------------------- subframe stex number
0264   if (fStexFrame != nullptr) {
0265     delete fStexFrame;
0266     fCdelete++;
0267   }
0268   if (fStexBut != nullptr) {
0269     delete fStexBut;
0270     fCdelete++;
0271   }
0272   if (fLayoutStexBut != nullptr) {
0273     delete fLayoutStexBut;
0274     fCdelete++;
0275   }
0276   if (fEntryStexNumber != nullptr) {
0277     delete fEntryStexNumber;
0278     fCdelete++;
0279   }
0280   if (fStexText != nullptr) {
0281     fStexText->Delete();
0282     fCdelete++;
0283   }
0284   if (fLayoutStexFieldText != nullptr) {
0285     delete fLayoutStexFieldText;
0286     fCdelete++;
0287   }
0288   if (fLayoutStexFieldFrame != nullptr) {
0289     delete fLayoutStexFieldFrame;
0290     fCdelete++;
0291   }
0292 
0293   //------------------- subframe number of requested evts
0294   if (fRevFrame != nullptr) {
0295     delete fRevFrame;
0296     fCdelete++;
0297   }
0298   if (fRevBut != nullptr) {
0299     delete fRevBut;
0300     fCdelete++;
0301   }
0302   if (fLayoutRevBut != nullptr) {
0303     delete fLayoutRevBut;
0304     fCdelete++;
0305   }
0306   if (fEntryRevNumber != nullptr) {
0307     delete fEntryRevNumber;
0308     fCdelete++;
0309   }
0310   if (fRevText != nullptr) {
0311     fRevText->Delete();
0312     fCdelete++;
0313   }
0314   if (fLayoutRevFieldText != nullptr) {
0315     delete fLayoutRevFieldText;
0316     fCdelete++;
0317   }
0318   if (fLayoutRevFieldFrame != nullptr) {
0319     delete fLayoutRevFieldFrame;
0320     fCdelete++;
0321   }
0322 
0323   //+++++++++++++++++++++++  Horizontal Frame StexStin numbering + Nb Samp for calc + Calculations
0324   if (fCompStnbFrame != nullptr) {
0325     delete fCompStnbFrame;
0326     fCdelete++;
0327   }
0328   if (fLayoutCompStnbFrame != nullptr) {
0329     delete fLayoutCompStnbFrame;
0330     fCdelete++;
0331   }
0332 
0333   //............................ Stex Stin Numbering view (Button)
0334   if (fButStexNb != nullptr) {
0335     delete fButStexNb;
0336     fCdelete++;
0337   }
0338   if (fLayoutStexNbBut != nullptr) {
0339     delete fLayoutStexNbBut;
0340     fCdelete++;
0341   }
0342   //------------------- subframe NbSampForCalc
0343   if (fNbSampForCalcFrame != nullptr) {
0344     delete fNbSampForCalcFrame;
0345     fCdelete++;
0346   }
0347   if (fNbSampForCalcBut != nullptr) {
0348     delete fNbSampForCalcBut;
0349     fCdelete++;
0350   }
0351   if (fLayoutNbSampForCalcBut != nullptr) {
0352     delete fLayoutNbSampForCalcBut;
0353     fCdelete++;
0354   }
0355   if (fEntryNbSampForCalcNumber != nullptr) {
0356     delete fEntryNbSampForCalcNumber;
0357     fCdelete++;
0358   }
0359   if (fNbSampForCalcText != nullptr) {
0360     fNbSampForCalcText->Delete();
0361     fCdelete++;
0362   }
0363   if (fLayoutNbSampForCalcFieldText != nullptr) {
0364     delete fLayoutNbSampForCalcFieldText;
0365     fCdelete++;
0366   }
0367   if (fLayoutNbSampForCalcFieldFrame != nullptr) {
0368     delete fLayoutNbSampForCalcFieldFrame;
0369     fCdelete++;
0370   }
0371   //................................ Menus for CALCULATIONS
0372   if (fMenuComput != nullptr) {
0373     delete fMenuComput;
0374     fCdelete++;
0375   }
0376   if (fMenuBarComput != nullptr) {
0377     fMenuBarComput->Delete();
0378     fCdelete++;
0379   }
0380 
0381   //+++++++++++++++++++++++++++++++++++++++++++ Frame for quantities relative to the Stex
0382   if (fStexUpFrame != nullptr) {
0383     delete fStexUpFrame;
0384     fCdelete++;
0385   }
0386 
0387   //................................ Menus+Ymin+Ymax for the Stex ............................
0388 
0389   //...................................... Nb of evts in the data
0390 
0391   if (fVmmD_NOE_ChNbFrame != nullptr) {
0392     delete fVmmD_NOE_ChNbFrame;
0393     fCdelete++;
0394   }
0395 
0396   if (fVmaxD_NOE_ChNbFrame != nullptr) {
0397     delete fVmaxD_NOE_ChNbFrame;
0398     fCdelete++;
0399   }
0400   if (fVmaxD_NOE_ChNbBut != nullptr) {
0401     delete fVmaxD_NOE_ChNbBut;
0402     fCdelete++;
0403   }
0404   if (fLayoutVmaxD_NOE_ChNbBut != nullptr) {
0405     delete fLayoutVmaxD_NOE_ChNbBut;
0406     fCdelete++;
0407   }
0408   if (fEntryVmaxD_NOE_ChNbNumber != nullptr) {
0409     delete fEntryVmaxD_NOE_ChNbNumber;
0410     fCdelete++;
0411   }
0412   if (fVmaxD_NOE_ChNbText != nullptr) {
0413     fVmaxD_NOE_ChNbText->Delete();
0414     fCdelete++;
0415   }
0416   if (fLayoutVmaxD_NOE_ChNbFieldText != nullptr) {
0417     delete fLayoutVmaxD_NOE_ChNbFieldText;
0418     fCdelete++;
0419   }
0420   if (fLayoutVmaxD_NOE_ChNbFrame != nullptr) {
0421     delete fLayoutVmaxD_NOE_ChNbFrame;
0422     fCdelete++;
0423   }
0424 
0425   if (fVminD_NOE_ChNbFrame != nullptr) {
0426     delete fVminD_NOE_ChNbFrame;
0427     fCdelete++;
0428   }
0429   if (fVminD_NOE_ChNbBut != nullptr) {
0430     delete fVminD_NOE_ChNbBut;
0431     fCdelete++;
0432   }
0433   if (fLayoutVminD_NOE_ChNbBut != nullptr) {
0434     delete fLayoutVminD_NOE_ChNbBut;
0435     fCdelete++;
0436   }
0437   if (fEntryVminD_NOE_ChNbNumber != nullptr) {
0438     delete fEntryVminD_NOE_ChNbNumber;
0439     fCdelete++;
0440   }
0441   if (fVminD_NOE_ChNbText != nullptr) {
0442     fVminD_NOE_ChNbText->Delete();
0443     fCdelete++;
0444   }
0445   if (fLayoutVminD_NOE_ChNbFieldText != nullptr) {
0446     delete fLayoutVminD_NOE_ChNbFieldText;
0447     fCdelete++;
0448   }
0449   if (fLayoutVminD_NOE_ChNbFrame != nullptr) {
0450     delete fLayoutVminD_NOE_ChNbFrame;
0451     fCdelete++;
0452   }
0453 
0454   if (fMenuD_NOE_ChNb != nullptr) {
0455     delete fMenuD_NOE_ChNb;
0456     fCdelete++;
0457   }
0458   if (fMenuBarD_NOE_ChNb != nullptr) {
0459     fMenuBarD_NOE_ChNb->Delete();
0460     fCdelete++;
0461   }
0462   if (fVminD_NOE_ChNbText != nullptr) {
0463     fVminD_NOE_ChNbText->Delete();
0464     fCdelete++;
0465   }
0466 
0467   if (fLayoutVmmD_NOE_ChNbFrame != nullptr) {
0468     delete fLayoutVmmD_NOE_ChNbFrame;
0469     fCdelete++;
0470   }
0471 
0472   //---------------------------------------------------
0473   if (fVmmD_Ped_ChNbFrame != nullptr) {
0474     delete fVmmD_Ped_ChNbFrame;
0475     fCdelete++;
0476   }
0477 
0478   if (fVmaxD_Ped_ChNbFrame != nullptr) {
0479     delete fVmaxD_Ped_ChNbFrame;
0480     fCdelete++;
0481   }
0482   if (fVmaxD_Ped_ChNbBut != nullptr) {
0483     delete fVmaxD_Ped_ChNbBut;
0484     fCdelete++;
0485   }
0486   if (fLayoutVmaxD_Ped_ChNbBut != nullptr) {
0487     delete fLayoutVmaxD_Ped_ChNbBut;
0488     fCdelete++;
0489   }
0490   if (fVmaxD_Ped_ChNbText != nullptr) {
0491     fVmaxD_Ped_ChNbText->Delete();
0492     fCdelete++;
0493   }
0494   if (fEntryVmaxD_Ped_ChNbNumber != nullptr) {
0495     delete fEntryVmaxD_Ped_ChNbNumber;
0496     fCdelete++;
0497   }
0498   if (fLayoutVmaxD_Ped_ChNbFieldText != nullptr) {
0499     delete fLayoutVmaxD_Ped_ChNbFieldText;
0500     fCdelete++;
0501   }
0502   if (fLayoutVmaxD_Ped_ChNbFrame != nullptr) {
0503     delete fLayoutVmaxD_Ped_ChNbFrame;
0504     fCdelete++;
0505   }
0506 
0507   if (fVminD_Ped_ChNbFrame != nullptr) {
0508     delete fVminD_Ped_ChNbFrame;
0509     fCdelete++;
0510   }
0511   if (fVminD_Ped_ChNbBut != nullptr) {
0512     delete fVminD_Ped_ChNbBut;
0513     fCdelete++;
0514   }
0515   if (fLayoutVminD_Ped_ChNbBut != nullptr) {
0516     delete fLayoutVminD_Ped_ChNbBut;
0517     fCdelete++;
0518   }
0519   if (fVminD_Ped_ChNbText != nullptr) {
0520     fVminD_Ped_ChNbText->Delete();
0521     fCdelete++;
0522   }
0523   if (fEntryVminD_Ped_ChNbNumber != nullptr) {
0524     delete fEntryVminD_Ped_ChNbNumber;
0525     fCdelete++;
0526   }
0527   if (fLayoutVminD_Ped_ChNbFieldText != nullptr) {
0528     delete fLayoutVminD_Ped_ChNbFieldText;
0529     fCdelete++;
0530   }
0531   if (fLayoutVminD_Ped_ChNbFrame != nullptr) {
0532     delete fLayoutVminD_Ped_ChNbFrame;
0533     fCdelete++;
0534   }
0535 
0536   if (fMenuD_Ped_ChNb != nullptr) {
0537     delete fMenuD_Ped_ChNb;
0538     fCdelete++;
0539   }
0540   if (fMenuBarD_Ped_ChNb != nullptr) {
0541     fMenuBarD_Ped_ChNb->Delete();
0542     fCdelete++;
0543   }
0544   if (fLayoutMenuBarD_Ped_ChNb != nullptr) {
0545     delete fLayoutMenuBarD_Ped_ChNb;
0546     fCdelete++;
0547   }
0548 
0549   if (fLayoutVmmD_Ped_ChNbFrame != nullptr) {
0550     delete fLayoutVmmD_Ped_ChNbFrame;
0551     fCdelete++;
0552   }
0553 
0554   //----------------------------------------------------
0555   if (fVmmD_TNo_ChNbFrame != nullptr) {
0556     delete fVmmD_TNo_ChNbFrame;
0557     fCdelete++;
0558   }
0559 
0560   if (fVmaxD_TNo_ChNbFrame != nullptr) {
0561     delete fVmaxD_TNo_ChNbFrame;
0562     fCdelete++;
0563   }
0564   if (fVmaxD_TNo_ChNbBut != nullptr) {
0565     delete fVmaxD_TNo_ChNbBut;
0566     fCdelete++;
0567   }
0568   if (fLayoutVmaxD_TNo_ChNbBut != nullptr) {
0569     delete fLayoutVmaxD_TNo_ChNbBut;
0570     fCdelete++;
0571   }
0572   if (fVmaxD_TNo_ChNbText != nullptr) {
0573     fVmaxD_TNo_ChNbText->Delete();
0574     fCdelete++;
0575   }
0576   if (fEntryVmaxD_TNo_ChNbNumber != nullptr) {
0577     delete fEntryVmaxD_TNo_ChNbNumber;
0578     fCdelete++;
0579   }
0580   if (fLayoutVmaxD_TNo_ChNbFieldText != nullptr) {
0581     delete fLayoutVmaxD_TNo_ChNbFieldText;
0582     fCdelete++;
0583   }
0584   if (fLayoutVmaxD_TNo_ChNbFrame != nullptr) {
0585     delete fLayoutVmaxD_TNo_ChNbFrame;
0586     fCdelete++;
0587   }
0588 
0589   if (fVminD_TNo_ChNbFrame != nullptr) {
0590     delete fVminD_TNo_ChNbFrame;
0591     fCdelete++;
0592   }
0593   if (fVminD_TNo_ChNbBut != nullptr) {
0594     delete fVminD_TNo_ChNbBut;
0595     fCdelete++;
0596   }
0597   if (fLayoutVminD_TNo_ChNbBut != nullptr) {
0598     delete fLayoutVminD_TNo_ChNbBut;
0599     fCdelete++;
0600   }
0601   if (fVminD_TNo_ChNbText != nullptr) {
0602     fVminD_TNo_ChNbText->Delete();
0603     fCdelete++;
0604   }
0605   if (fEntryVminD_TNo_ChNbNumber != nullptr) {
0606     delete fEntryVminD_TNo_ChNbNumber;
0607     fCdelete++;
0608   }
0609   if (fLayoutVminD_TNo_ChNbFieldText != nullptr) {
0610     delete fLayoutVminD_TNo_ChNbFieldText;
0611     fCdelete++;
0612   }
0613   if (fLayoutVminD_TNo_ChNbFrame != nullptr) {
0614     delete fLayoutVminD_TNo_ChNbFrame;
0615     fCdelete++;
0616   }
0617 
0618   if (fMenuD_TNo_ChNb != nullptr) {
0619     delete fMenuD_TNo_ChNb;
0620     fCdelete++;
0621   }
0622   if (fMenuBarD_TNo_ChNb != nullptr) {
0623     fMenuBarD_TNo_ChNb->Delete();
0624     fCdelete++;
0625   }
0626   if (fLayoutMenuBarD_TNo_ChNb != nullptr) {
0627     delete fLayoutMenuBarD_TNo_ChNb;
0628     fCdelete++;
0629   }
0630 
0631   if (fLayoutVmmD_TNo_ChNbFrame != nullptr) {
0632     delete fLayoutVmmD_TNo_ChNbFrame;
0633     fCdelete++;
0634   }
0635 
0636   //-----------------------------------------------------------
0637   if (fVmmD_MCs_ChNbFrame != nullptr) {
0638     delete fVmmD_MCs_ChNbFrame;
0639     fCdelete++;
0640   }
0641 
0642   if (fVmaxD_MCs_ChNbFrame != nullptr) {
0643     delete fVmaxD_MCs_ChNbFrame;
0644     fCdelete++;
0645   }
0646   if (fVmaxD_MCs_ChNbBut != nullptr) {
0647     delete fVmaxD_MCs_ChNbBut;
0648     fCdelete++;
0649   }
0650   if (fLayoutVmaxD_MCs_ChNbBut != nullptr) {
0651     delete fLayoutVmaxD_MCs_ChNbBut;
0652     fCdelete++;
0653   }
0654   if (fVmaxD_MCs_ChNbText != nullptr) {
0655     fVmaxD_MCs_ChNbText->Delete();
0656     fCdelete++;
0657   }
0658   if (fEntryVmaxD_MCs_ChNbNumber != nullptr) {
0659     delete fEntryVmaxD_MCs_ChNbNumber;
0660     fCdelete++;
0661   }
0662   if (fLayoutVmaxD_MCs_ChNbFieldText != nullptr) {
0663     delete fLayoutVmaxD_MCs_ChNbFieldText;
0664     fCdelete++;
0665   }
0666   if (fLayoutVmaxD_MCs_ChNbFrame != nullptr) {
0667     delete fLayoutVmaxD_MCs_ChNbFrame;
0668     fCdelete++;
0669   }
0670 
0671   if (fVminD_MCs_ChNbFrame != nullptr) {
0672     delete fVminD_MCs_ChNbFrame;
0673     fCdelete++;
0674   }
0675   if (fVminD_MCs_ChNbBut != nullptr) {
0676     delete fVminD_MCs_ChNbBut;
0677     fCdelete++;
0678   }
0679   if (fLayoutVminD_MCs_ChNbBut != nullptr) {
0680     delete fLayoutVminD_MCs_ChNbBut;
0681     fCdelete++;
0682   }
0683   if (fVminD_MCs_ChNbText != nullptr) {
0684     fVminD_MCs_ChNbText->Delete();
0685     fCdelete++;
0686   }
0687   if (fEntryVminD_MCs_ChNbNumber != nullptr) {
0688     delete fEntryVminD_MCs_ChNbNumber;
0689     fCdelete++;
0690   }
0691   if (fLayoutVminD_MCs_ChNbFieldText != nullptr) {
0692     delete fLayoutVminD_MCs_ChNbFieldText;
0693     fCdelete++;
0694   }
0695   if (fLayoutVminD_MCs_ChNbFrame != nullptr) {
0696     delete fLayoutVminD_MCs_ChNbFrame;
0697     fCdelete++;
0698   }
0699 
0700   if (fMenuD_MCs_ChNb != nullptr) {
0701     delete fMenuD_MCs_ChNb;
0702     fCdelete++;
0703   }
0704   if (fMenuBarD_MCs_ChNb != nullptr) {
0705     fMenuBarD_MCs_ChNb->Delete();
0706     fCdelete++;
0707   }
0708   if (fLayoutMenuBarD_MCs_ChNb != nullptr) {
0709     delete fLayoutMenuBarD_MCs_ChNb;
0710     fCdelete++;
0711   }
0712 
0713   if (fLayoutVmmD_MCs_ChNbFrame != nullptr) {
0714     delete fLayoutVmmD_MCs_ChNbFrame;
0715     fCdelete++;
0716   }
0717 
0718   //............................................... Frame Sig + Menus Sig
0719   if (fStexHozFrame != nullptr) {
0720     delete fStexHozFrame;
0721     fCdelete++;
0722   }
0723 
0724   //-------------------------------------------------------------
0725   if (fVmmD_LFN_ChNbFrame != nullptr) {
0726     delete fVmmD_LFN_ChNbFrame;
0727     fCdelete++;
0728   }
0729 
0730   if (fVmaxD_LFN_ChNbFrame != nullptr) {
0731     delete fVmaxD_LFN_ChNbFrame;
0732     fCdelete++;
0733   }
0734   if (fVmaxD_LFN_ChNbBut != nullptr) {
0735     delete fVmaxD_LFN_ChNbBut;
0736     fCdelete++;
0737   }
0738   if (fLayoutVmaxD_LFN_ChNbBut != nullptr) {
0739     delete fLayoutVmaxD_LFN_ChNbBut;
0740     fCdelete++;
0741   }
0742   if (fVmaxD_LFN_ChNbText != nullptr) {
0743     fVmaxD_LFN_ChNbText->Delete();
0744     fCdelete++;
0745   }
0746   if (fEntryVmaxD_LFN_ChNbNumber != nullptr) {
0747     delete fEntryVmaxD_LFN_ChNbNumber;
0748     fCdelete++;
0749   }
0750   if (fLayoutVmaxD_LFN_ChNbFieldText != nullptr) {
0751     delete fLayoutVmaxD_LFN_ChNbFieldText;
0752     fCdelete++;
0753   }
0754   if (fLayoutVmaxD_LFN_ChNbFrame != nullptr) {
0755     delete fLayoutVmaxD_LFN_ChNbFrame;
0756     fCdelete++;
0757   }
0758 
0759   if (fVminD_LFN_ChNbFrame != nullptr) {
0760     delete fVminD_LFN_ChNbFrame;
0761     fCdelete++;
0762   }
0763   if (fVminD_LFN_ChNbBut != nullptr) {
0764     delete fVminD_LFN_ChNbBut;
0765     fCdelete++;
0766   }
0767   if (fLayoutVminD_LFN_ChNbBut != nullptr) {
0768     delete fLayoutVminD_LFN_ChNbBut;
0769     fCdelete++;
0770   }
0771   if (fVminD_LFN_ChNbText != nullptr) {
0772     fVminD_LFN_ChNbText->Delete();
0773     fCdelete++;
0774   }
0775   if (fEntryVminD_LFN_ChNbNumber != nullptr) {
0776     delete fEntryVminD_LFN_ChNbNumber;
0777     fCdelete++;
0778   }
0779   if (fLayoutVminD_LFN_ChNbFieldText != nullptr) {
0780     delete fLayoutVminD_LFN_ChNbFieldText;
0781     fCdelete++;
0782   }
0783   if (fLayoutVminD_LFN_ChNbFrame != nullptr) {
0784     delete fLayoutVminD_LFN_ChNbFrame;
0785     fCdelete++;
0786   }
0787 
0788   if (fMenuD_LFN_ChNb != nullptr) {
0789     delete fMenuD_LFN_ChNb;
0790     fCdelete++;
0791   }
0792   if (fMenuBarD_LFN_ChNb != nullptr) {
0793     fMenuBarD_LFN_ChNb->Delete();
0794     fCdelete++;
0795   }
0796   if (fLayoutMenuBarD_LFN_ChNb != nullptr) {
0797     delete fLayoutMenuBarD_LFN_ChNb;
0798     fCdelete++;
0799   }
0800 
0801   if (fLayoutVmmD_LFN_ChNbFrame != nullptr) {
0802     delete fLayoutVmmD_LFN_ChNbFrame;
0803     fCdelete++;
0804   }
0805 
0806   //-------------------------------------------------------------
0807   if (fVmmD_HFN_ChNbFrame != nullptr) {
0808     delete fVmmD_HFN_ChNbFrame;
0809     fCdelete++;
0810   }
0811 
0812   if (fVmaxD_HFN_ChNbFrame != nullptr) {
0813     delete fVmaxD_HFN_ChNbFrame;
0814     fCdelete++;
0815   }
0816   if (fVmaxD_HFN_ChNbBut != nullptr) {
0817     delete fVmaxD_HFN_ChNbBut;
0818     fCdelete++;
0819   }
0820   if (fLayoutVmaxD_HFN_ChNbBut != nullptr) {
0821     delete fLayoutVmaxD_HFN_ChNbBut;
0822     fCdelete++;
0823   }
0824   if (fVmaxD_HFN_ChNbText != nullptr) {
0825     fVmaxD_HFN_ChNbText->Delete();
0826     fCdelete++;
0827   }
0828   if (fEntryVmaxD_HFN_ChNbNumber != nullptr) {
0829     delete fEntryVmaxD_HFN_ChNbNumber;
0830     fCdelete++;
0831   }
0832   if (fLayoutVmaxD_HFN_ChNbFieldText != nullptr) {
0833     delete fLayoutVmaxD_HFN_ChNbFieldText;
0834     fCdelete++;
0835   }
0836   if (fLayoutVmaxD_HFN_ChNbFrame != nullptr) {
0837     delete fLayoutVmaxD_HFN_ChNbFrame;
0838     fCdelete++;
0839   }
0840 
0841   if (fVminD_HFN_ChNbFrame != nullptr) {
0842     delete fVminD_HFN_ChNbFrame;
0843     fCdelete++;
0844   }
0845   if (fVminD_HFN_ChNbBut != nullptr) {
0846     delete fVminD_HFN_ChNbBut;
0847     fCdelete++;
0848   }
0849   if (fLayoutVminD_HFN_ChNbBut != nullptr) {
0850     delete fLayoutVminD_HFN_ChNbBut;
0851     fCdelete++;
0852   }
0853   if (fVminD_HFN_ChNbText != nullptr) {
0854     fVminD_HFN_ChNbText->Delete();
0855     fCdelete++;
0856   }
0857   if (fEntryVminD_HFN_ChNbNumber != nullptr) {
0858     delete fEntryVminD_HFN_ChNbNumber;
0859     fCdelete++;
0860   }
0861   if (fLayoutVminD_HFN_ChNbFieldText != nullptr) {
0862     delete fLayoutVminD_HFN_ChNbFieldText;
0863     fCdelete++;
0864   }
0865   if (fLayoutVminD_HFN_ChNbFrame != nullptr) {
0866     delete fLayoutVminD_HFN_ChNbFrame;
0867     fCdelete++;
0868   }
0869 
0870   if (fMenuD_HFN_ChNb != nullptr) {
0871     delete fMenuD_HFN_ChNb;
0872     fCdelete++;
0873   }
0874   if (fMenuBarD_HFN_ChNb != nullptr) {
0875     fMenuBarD_HFN_ChNb->Delete();
0876     fCdelete++;
0877   }
0878   if (fLayoutMenuBarD_HFN_ChNb != nullptr) {
0879     delete fLayoutMenuBarD_HFN_ChNb;
0880     fCdelete++;
0881   }
0882 
0883   if (fLayoutVmmD_HFN_ChNbFrame != nullptr) {
0884     delete fLayoutVmmD_HFN_ChNbFrame;
0885     fCdelete++;
0886   }
0887 
0888   //-------------------------------------------------------------
0889   if (fVmmD_SCs_ChNbFrame != nullptr) {
0890     delete fVmmD_SCs_ChNbFrame;
0891     fCdelete++;
0892   }
0893 
0894   if (fVmaxD_SCs_ChNbFrame != nullptr) {
0895     delete fVmaxD_SCs_ChNbFrame;
0896     fCdelete++;
0897   }
0898   if (fVmaxD_SCs_ChNbBut != nullptr) {
0899     delete fVmaxD_SCs_ChNbBut;
0900     fCdelete++;
0901   }
0902   if (fLayoutVmaxD_SCs_ChNbBut != nullptr) {
0903     delete fLayoutVmaxD_SCs_ChNbBut;
0904     fCdelete++;
0905   }
0906   if (fVmaxD_SCs_ChNbText != nullptr) {
0907     fVmaxD_SCs_ChNbText->Delete();
0908     fCdelete++;
0909   }
0910   if (fEntryVmaxD_SCs_ChNbNumber != nullptr) {
0911     delete fEntryVmaxD_SCs_ChNbNumber;
0912     fCdelete++;
0913   }
0914   if (fLayoutVmaxD_SCs_ChNbFieldText != nullptr) {
0915     delete fLayoutVmaxD_SCs_ChNbFieldText;
0916     fCdelete++;
0917   }
0918   if (fLayoutVmaxD_SCs_ChNbFrame != nullptr) {
0919     delete fLayoutVmaxD_SCs_ChNbFrame;
0920     fCdelete++;
0921   }
0922 
0923   if (fVminD_SCs_ChNbFrame != nullptr) {
0924     delete fVminD_SCs_ChNbFrame;
0925     fCdelete++;
0926   }
0927   if (fVminD_SCs_ChNbBut != nullptr) {
0928     delete fVminD_SCs_ChNbBut;
0929     fCdelete++;
0930   }
0931   if (fLayoutVminD_SCs_ChNbBut != nullptr) {
0932     delete fLayoutVminD_SCs_ChNbBut;
0933     fCdelete++;
0934   }
0935   if (fVminD_SCs_ChNbText != nullptr) {
0936     fVminD_SCs_ChNbText->Delete();
0937     fCdelete++;
0938   }
0939   if (fEntryVminD_SCs_ChNbNumber != nullptr) {
0940     delete fEntryVminD_SCs_ChNbNumber;
0941     fCdelete++;
0942   }
0943   if (fLayoutVminD_SCs_ChNbFieldText != nullptr) {
0944     delete fLayoutVminD_SCs_ChNbFieldText;
0945     fCdelete++;
0946   }
0947   if (fLayoutVminD_SCs_ChNbFrame != nullptr) {
0948     delete fLayoutVminD_SCs_ChNbFrame;
0949     fCdelete++;
0950   }
0951 
0952   if (fMenuD_SCs_ChNb != nullptr) {
0953     delete fMenuD_SCs_ChNb;
0954     fCdelete++;
0955   }
0956   if (fMenuBarD_SCs_ChNb != nullptr) {
0957     fMenuBarD_SCs_ChNb->Delete();
0958     fCdelete++;
0959   }
0960   if (fLayoutMenuBarD_SCs_ChNb != nullptr) {
0961     delete fLayoutMenuBarD_SCs_ChNb;
0962     fCdelete++;
0963   }
0964 
0965   if (fLayoutVmmD_SCs_ChNbFrame != nullptr) {
0966     delete fLayoutVmmD_SCs_ChNbFrame;
0967     fCdelete++;
0968   }
0969   //-------------------------------------------------------------
0970   if (fLayoutStexHozFrame != nullptr) {
0971     delete fLayoutStexHozFrame;
0972     fCdelete++;
0973   }
0974 
0975   //----------------------------------------------------------------------------------------------
0976 
0977   //...................................... Covariances between Stins
0978   if (fVmmLHFccFrame != nullptr) {
0979     delete fVmmLHFccFrame;
0980     fCdelete++;
0981   }
0982 
0983   if (fVmaxLHFccFrame != nullptr) {
0984     delete fVmaxLHFccFrame;
0985     fCdelete++;
0986   }
0987   if (fVmaxLHFccBut != nullptr) {
0988     delete fVmaxLHFccBut;
0989     fCdelete++;
0990   }
0991   if (fLayoutVmaxLHFccBut != nullptr) {
0992     delete fLayoutVmaxLHFccBut;
0993     fCdelete++;
0994   }
0995   if (fVmaxLHFccText != nullptr) {
0996     fVmaxLHFccText->Delete();
0997     fCdelete++;
0998   }
0999   if (fEntryVmaxLHFccNumber != nullptr) {
1000     delete fEntryVmaxLHFccNumber;
1001     fCdelete++;
1002   }
1003   if (fLayoutVmaxLHFccFieldText != nullptr) {
1004     delete fLayoutVmaxLHFccFieldText;
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) {
1033     delete fLayoutVminLHFccFieldText;
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) {
1086     delete fLayoutVmaxLFccMosFieldText;
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) {
1115     delete fLayoutVminLFccMosFieldText;
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) {
1168     delete fLayoutVmaxHFccMosFieldText;
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) {
1197     delete fLayoutVminHFccMosFieldText;
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 
1713 TEcnaGui::TEcnaGui() { Init(); }
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 
1756   fCnaParPaths->GetPaths();
1757   fCnaParPaths->GetCMSSWParameters();
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 
1810   InitGuiParameters();
1811 }
1812 
1813 void TEcnaGui::Init() {
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 
1824 void TEcnaGui::InitGuiParameters() {
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;
1948   fLayoutNbSampForCalcFieldText = nullptr;
1949   fLayoutNbSampForCalcFieldFrame = 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;
1970   fLayoutVmaxD_NOE_ChNbFieldText = 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;
1978   fLayoutVminD_NOE_ChNbFieldText = 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;
1995   fLayoutVmaxD_Ped_ChNbFieldText = 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;
2003   fLayoutVminD_Ped_ChNbFieldText = 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;
2020   fLayoutVmaxD_TNo_ChNbFieldText = 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;
2027   fLayoutVminD_TNo_ChNbFieldText = 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;
2045   fLayoutVmaxD_MCs_ChNbFieldText = 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;
2053   fLayoutVminD_MCs_ChNbFieldText = 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;
2072   fLayoutVmaxD_LFN_ChNbFieldText = 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;
2080   fLayoutVminD_LFN_ChNbFieldText = 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;
2097   fLayoutVmaxD_HFN_ChNbFieldText = 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;
2105   fLayoutVminD_HFN_ChNbFieldText = 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;
2122   fLayoutVmaxD_SCs_ChNbFieldText = 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;
2130   fLayoutVminD_SCs_ChNbFieldText = 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 
2485   fMenuD_MSp_SpNbLineFullC = 411;
2486   fMenuD_MSp_SpNbLineSameC = 412;
2487   fMenuD_MSp_SpNbLineAllStinC = 413;
2488   fMenuD_MSp_SpDsLineFullC = 414;
2489   fMenuD_MSp_SpDsLineSameC = 415;
2490   fMenuD_MSp_SpDsLineAllStinC = 416;
2491 
2492   fMenuD_SSp_SpNbLineFullC = 421;
2493   fMenuD_SSp_SpNbLineSameC = 422;
2494   fMenuD_SSp_SpNbLineAllStinC = 423;
2495   fMenuD_SSp_SpDsLineFullC = 424;
2496   fMenuD_SSp_SpDsLineSameC = 425;
2497   fMenuD_SSp_SpDsLineAllStinC = 426;
2498 
2499   fMenuLFCorccColzC = 51;
2500   fMenuLFCorccLegoC = 52;
2501 
2502   fMenuHFCorccColzC = 61;
2503   fMenuHFCorccLegoC = 62;
2504 
2505   fMenuAdcProjSampLineFullC = 711;
2506   fMenuAdcProjSampLineSameC = 712;
2507   fMenuAdcProjLineLinyFullC = 713;
2508   fMenuAdcProjLineLinySameC = 714;
2509 
2510   fMenuH_Ped_DatePolmFullC = 811;
2511   fMenuH_Ped_DatePolmSameC = 812;
2512 
2513   fMenuH_TNo_DatePolmFullC = 821;
2514   fMenuH_TNo_DatePolmSameC = 822;
2515   fMenuH_TNo_DatePolmSamePC = 823;
2516 
2517   fMenuH_LFN_DatePolmFullC = 824;
2518   fMenuH_LFN_DatePolmSameC = 825;
2519   fMenuH_LFN_DatePolmSamePC = 826;
2520 
2521   fMenuH_HFN_DatePolmFullC = 827;
2522   fMenuH_HFN_DatePolmSameC = 828;
2523   fMenuH_HFN_DatePolmSamePC = 829;
2524 
2525   fMenuH_MCs_DatePolmFullC = 831;
2526   fMenuH_MCs_DatePolmSameC = 832;
2527   fMenuH_MCs_DatePolmSamePC = 833;
2528 
2529   fMenuH_SCs_DatePolmFullC = 841;
2530   fMenuH_SCs_DatePolmSameC = 842;
2531   fMenuH_SCs_DatePolmSamePC = 843;
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 
2592 void TEcnaGui::DialogBox() {
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());
2696   DisplayInEntryField(fAnaText, fKeyAnaType);
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());
2723   DisplayInEntryField(fFevText, fKeyFirstReqEvtNumber);
2724   fFevText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonFev()");
2725   fLayoutFevFieldText = new TGLayoutHints(kLHintsBottom | kLHintsLeft, xB1, xB1, xB1, xB1);
2726   fCnew++;
2727   fFevFrame->AddFrame(fFevText, fLayoutFevFieldText);
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());
2749   DisplayInEntryField(fRunText, fKeyRunNumber);
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
2756   fAnaNorsRunFrame->AddFrame(fAnaFrame, fLayoutTopLeft);
2757   fAnaNorsRunFrame->AddFrame(fFevFrame, fLayoutTopLeft);
2758   fAnaNorsRunFrame->AddFrame(fRunFrame, fLayoutTopRight);
2759   fLayoutAnaNorsRunFrame = new TGLayoutHints(kLHintsTop | kLHintsExpandX, xB1, xB1, xB1, xB1);
2760   fCnew++;
2761 
2762   AddFrame(fAnaNorsRunFrame, fLayoutAnaNorsRunFrame);
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());
2795   DisplayInEntryField(fNorsText, fKeyNbOfSamples);
2796   fNorsText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonNors()");
2797   fLayoutNorsField = new TGLayoutHints(kLHintsTop | kLHintsCenterX, xB1, xB1, xB1, xB1);
2798   fCnew++;
2799   fNorsFrame->AddFrame(fNorsText, fLayoutNorsField);
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());
2822   DisplayInEntryField(fLevText, fKeyLastReqEvtNumber);
2823   fLevText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonLev()");
2824   fLayoutLevFieldText = new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1, xB1, xB1, xB1);
2825   fCnew++;
2826   fLevFrame->AddFrame(fLevText, fLayoutLevFieldText);
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
2860   fFevLevStexFrame->AddFrame(fNorsFrame, fLayoutTopLeft);
2861   fFevLevStexFrame->AddFrame(fLevFrame, fLayoutTopLeft);
2862   fFevLevStexFrame->AddFrame(fMenuBarSubmit, fLayoutTopRight);
2863   fFevLevStexFrame->AddFrame(fMenuBarClean, fLayoutTopRight);
2864 
2865   fLayoutFevLevStexFrame = new TGLayoutHints(kLHintsTop | kLHintsExpandX, xB1, xB1, xB1, xB1);
2866   fCnew++;
2867 
2868   AddFrame(fFevLevStexFrame, fLayoutFevLevStexFrame);
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());
2915   DisplayInEntryField(fStexText, fKeyStexNumber);
2916   fStexText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonStex()");
2917 
2918   fLayoutStexFieldText = new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1, xB1, xB1, xB1);
2919   fCnew++;
2920   fStexFrame->AddFrame(fStexText, fLayoutStexFieldText);
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());
2943   DisplayInEntryField(fRevText, fKeyReqNbOfEvts);
2944   fRevText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonRev()");
2945   fLayoutRevFieldText = new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1, xB1, xB1, xB1);
2946   fCnew++;
2947   fRevFrame->AddFrame(fRevText, fLayoutRevFieldText);
2948 
2949   //-------------------------- display frame stex number + Nb of req evts
2950   fCompStRqFrame->AddFrame(fStexFrame, fLayoutTopLeft);
2951   fCompStRqFrame->AddFrame(fRevFrame, fLayoutTopLeft);
2952 
2953   fLayoutCompStRqFrame = new TGLayoutHints(kLHintsTop | kLHintsExpandX, xB1, xB1, xB1, xB1);
2954   fCnew++;
2955   AddFrame(fCompStRqFrame, fLayoutCompStRqFrame);
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++;
2994   fNbSampForCalcFrame->AddFrame(fNbSampForCalcBut, fLayoutNbSampForCalcBut);
2995 
2996   fEntryNbSampForCalcNumber = new TGTextBuffer();
2997   fCnew++;
2998   fNbSampForCalcText = new TGTextEntry(fNbSampForCalcFrame, fEntryNbSampForCalcNumber);
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());
3004   DisplayInEntryField(fNbSampForCalcText, fKeyNbOfSampForCalc);
3005   fNbSampForCalcText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonNbSampForCalc()");
3006 
3007   fLayoutNbSampForCalcFieldText = new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1, xB1, xB1, xB1);
3008   fCnew++;
3009   fNbSampForCalcFrame->AddFrame(fNbSampForCalcText, fLayoutNbSampForCalcFieldText);
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
3025   fCompStnbFrame->AddFrame(fButStexNb, fLayoutTopLeft);
3026   fCompStnbFrame->AddFrame(fMenuBarComput, fLayoutTopRight);
3027   fCompStnbFrame->AddFrame(fNbSampForCalcFrame, fLayoutTopRight);
3028 
3029   fLayoutCompStnbFrame = new TGLayoutHints(kLHintsTop | kLHintsExpandX, xB1, xB1, xB1, xB1);
3030   fCnew++;
3031   AddFrame(fCompStnbFrame, fLayoutCompStnbFrame);
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++;
3061   fVmaxD_NOE_ChNbFrame->AddFrame(fVmaxD_NOE_ChNbBut, fLayoutVmaxD_NOE_ChNbBut);
3062   fEntryVmaxD_NOE_ChNbNumber = new TGTextBuffer();
3063   fCnew++;
3064   fVmaxD_NOE_ChNbText = new TGTextEntry(fVmaxD_NOE_ChNbFrame, fEntryVmaxD_NOE_ChNbNumber);
3065   fCnew++;
3066   fVmaxD_NOE_ChNbText->SetToolTipText("Click and enter ymax");
3067   fVmaxD_NOE_ChNbText->Resize(minmax_buf_lenght, fVmaxD_NOE_ChNbText->GetDefaultHeight());
3068   DisplayInEntryField(fVmaxD_NOE_ChNbText, fKeyVmaxD_NOE_ChNb);
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++;
3073   fVmaxD_NOE_ChNbFrame->AddFrame(fVmaxD_NOE_ChNbText, fLayoutVmaxD_NOE_ChNbFieldText);
3074   fLayoutVmaxD_NOE_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3075   fCnew++;
3076   fVmmD_NOE_ChNbFrame->AddFrame(fVmaxD_NOE_ChNbFrame, fLayoutVmaxD_NOE_ChNbFrame);
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++;
3089   fVminD_NOE_ChNbFrame->AddFrame(fVminD_NOE_ChNbBut, fLayoutVminD_NOE_ChNbBut);
3090   fEntryVminD_NOE_ChNbNumber = new TGTextBuffer();
3091   fCnew++;
3092   fVminD_NOE_ChNbText = new TGTextEntry(fVminD_NOE_ChNbFrame, fEntryVminD_NOE_ChNbNumber);
3093   fCnew++;
3094   fVminD_NOE_ChNbText->SetToolTipText("Click and enter ymin");
3095   fVminD_NOE_ChNbText->Resize(minmax_buf_lenght, fVminD_NOE_ChNbText->GetDefaultHeight());
3096   DisplayInEntryField(fVminD_NOE_ChNbText, fKeyVminD_NOE_ChNb);
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++;
3100   fVminD_NOE_ChNbFrame->AddFrame(fVminD_NOE_ChNbText, fLayoutVminD_NOE_ChNbFieldText);
3101   fLayoutVminD_NOE_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3102   fCnew++;
3103   fVmmD_NOE_ChNbFrame->AddFrame(fVminD_NOE_ChNbFrame, fLayoutVminD_NOE_ChNbFrame);
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++;
3140   fVmmD_NOE_ChNbFrame->AddFrame(fMenuBarD_NOE_ChNb, fLayoutMenuBarD_NOE_ChNb);
3141   fLayoutVmmD_NOE_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3142   fCnew++;
3143   fStexUpFrame->AddFrame(fVmmD_NOE_ChNbFrame, fLayoutVmmD_NOE_ChNbFrame);
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);
3166   fVmaxD_Ped_ChNbFrame->AddFrame(fVmaxD_Ped_ChNbBut, fLayoutVmaxD_Ped_ChNbBut);
3167   fEntryVmaxD_Ped_ChNbNumber = new TGTextBuffer();
3168   fCnew++;
3169   fVmaxD_Ped_ChNbText = new TGTextEntry(fVmaxD_Ped_ChNbFrame, fEntryVmaxD_Ped_ChNbNumber);
3170   fCnew++;
3171   fVmaxD_Ped_ChNbText->SetToolTipText("Click and enter ymax");
3172   fVmaxD_Ped_ChNbText->Resize(minmax_buf_lenght, fVmaxD_Ped_ChNbText->GetDefaultHeight());
3173   DisplayInEntryField(fVmaxD_Ped_ChNbText, fKeyVmaxD_Ped_ChNb);
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++;
3177   fVmaxD_Ped_ChNbFrame->AddFrame(fVmaxD_Ped_ChNbText, fLayoutVmaxD_Ped_ChNbFieldText);
3178   fLayoutVmaxD_Ped_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3179   fCnew++;
3180   fVmmD_Ped_ChNbFrame->AddFrame(fVmaxD_Ped_ChNbFrame, fLayoutVmaxD_Ped_ChNbFrame);
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++;
3193   fVminD_Ped_ChNbFrame->AddFrame(fVminD_Ped_ChNbBut, fLayoutVminD_Ped_ChNbBut);
3194 
3195   fEntryVminD_Ped_ChNbNumber = new TGTextBuffer();
3196   fCnew++;
3197   fVminD_Ped_ChNbText = new TGTextEntry(fVminD_Ped_ChNbFrame, fEntryVminD_Ped_ChNbNumber);
3198   fCnew++;
3199   fVminD_Ped_ChNbText->SetToolTipText("Click and enter ymin");
3200   fVminD_Ped_ChNbText->Resize(minmax_buf_lenght, fVminD_Ped_ChNbText->GetDefaultHeight());
3201   DisplayInEntryField(fVminD_Ped_ChNbText, fKeyVminD_Ped_ChNb);
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++;
3205   fVminD_Ped_ChNbFrame->AddFrame(fVminD_Ped_ChNbText, fLayoutVminD_Ped_ChNbFieldText);
3206   fLayoutVminD_Ped_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3207   fCnew++;
3208   fVmmD_Ped_ChNbFrame->AddFrame(fVminD_Ped_ChNbFrame, fLayoutVminD_Ped_ChNbFrame);
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++;
3226   fVmmD_Ped_ChNbFrame->AddFrame(fMenuBarD_Ped_ChNb, fLayoutMenuBarD_Ped_ChNb);
3227 
3228   fLayoutVmmD_Ped_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3229   fCnew++;
3230   fStexHozFrame->AddFrame(fVmmD_Ped_ChNbFrame, fLayoutVmmD_Ped_ChNbFrame);
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++;
3248   fVmaxD_TNo_ChNbFrame->AddFrame(fVmaxD_TNo_ChNbBut, fLayoutVmaxD_TNo_ChNbBut);
3249   fEntryVmaxD_TNo_ChNbNumber = new TGTextBuffer();
3250   fCnew++;
3251   fVmaxD_TNo_ChNbText = new TGTextEntry(fVmaxD_TNo_ChNbFrame, fEntryVmaxD_TNo_ChNbNumber);
3252   fCnew++;
3253   fVmaxD_TNo_ChNbText->SetToolTipText("Click and enter ymax");
3254   fVmaxD_TNo_ChNbText->Resize(minmax_buf_lenght, fVmaxD_TNo_ChNbText->GetDefaultHeight());
3255   DisplayInEntryField(fVmaxD_TNo_ChNbText, fKeyVmaxD_TNo_ChNb);
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++;
3259   fVmaxD_TNo_ChNbFrame->AddFrame(fVmaxD_TNo_ChNbText, fLayoutVmaxD_TNo_ChNbFieldText);
3260   fLayoutVmaxD_TNo_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3261   fCnew++;
3262   fVmmD_TNo_ChNbFrame->AddFrame(fVmaxD_TNo_ChNbFrame, fLayoutVmaxD_TNo_ChNbFrame);
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++;
3275   fVminD_TNo_ChNbFrame->AddFrame(fVminD_TNo_ChNbBut, fLayoutVminD_TNo_ChNbBut);
3276 
3277   fEntryVminD_TNo_ChNbNumber = new TGTextBuffer();
3278   fCnew++;
3279   fVminD_TNo_ChNbText = new TGTextEntry(fVminD_TNo_ChNbFrame, fEntryVminD_TNo_ChNbNumber);
3280   fCnew++;
3281   fVminD_TNo_ChNbText->SetToolTipText("Click and enter ymin");
3282   fVminD_TNo_ChNbText->Resize(minmax_buf_lenght, fVminD_TNo_ChNbText->GetDefaultHeight());
3283   DisplayInEntryField(fVminD_TNo_ChNbText, fKeyVminD_TNo_ChNb);
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++;
3287   fVminD_TNo_ChNbFrame->AddFrame(fVminD_TNo_ChNbText, fLayoutVminD_TNo_ChNbFieldText);
3288   fLayoutVminD_TNo_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3289   fCnew++;
3290   fVmmD_TNo_ChNbFrame->AddFrame(fVminD_TNo_ChNbFrame, fLayoutVminD_TNo_ChNbFrame);
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++;
3309   fVmmD_TNo_ChNbFrame->AddFrame(fMenuBarD_TNo_ChNb, fLayoutMenuBarD_TNo_ChNb);
3310 
3311   fLayoutVmmD_TNo_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3312   fCnew++;
3313   fStexHozFrame->AddFrame(fVmmD_TNo_ChNbFrame, fLayoutVmmD_TNo_ChNbFrame);
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++;
3331   fVmaxD_LFN_ChNbFrame->AddFrame(fVmaxD_LFN_ChNbBut, fLayoutVmaxD_LFN_ChNbBut);
3332   fEntryVmaxD_LFN_ChNbNumber = new TGTextBuffer();
3333   fCnew++;
3334   fVmaxD_LFN_ChNbText = new TGTextEntry(fVmaxD_LFN_ChNbFrame, fEntryVmaxD_LFN_ChNbNumber);
3335   fCnew++;
3336   fVmaxD_LFN_ChNbText->SetToolTipText("Click and enter ymax");
3337   fVmaxD_LFN_ChNbText->Resize(minmax_buf_lenght, fVmaxD_LFN_ChNbText->GetDefaultHeight());
3338   DisplayInEntryField(fVmaxD_LFN_ChNbText, fKeyVmaxD_LFN_ChNb);
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++;
3342   fVmaxD_LFN_ChNbFrame->AddFrame(fVmaxD_LFN_ChNbText, fLayoutVmaxD_LFN_ChNbFieldText);
3343   fLayoutVmaxD_LFN_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3344   fCnew++;
3345   fVmmD_LFN_ChNbFrame->AddFrame(fVmaxD_LFN_ChNbFrame, fLayoutVmaxD_LFN_ChNbFrame);
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++;
3358   fVminD_LFN_ChNbFrame->AddFrame(fVminD_LFN_ChNbBut, fLayoutVminD_LFN_ChNbBut);
3359   fEntryVminD_LFN_ChNbNumber = new TGTextBuffer();
3360   fCnew++;
3361   fVminD_LFN_ChNbText = new TGTextEntry(fVminD_LFN_ChNbFrame, fEntryVminD_LFN_ChNbNumber);
3362   fCnew++;
3363   fVminD_LFN_ChNbText->SetToolTipText("Click and enter ymin");
3364   fVminD_LFN_ChNbText->Resize(minmax_buf_lenght, fVminD_LFN_ChNbText->GetDefaultHeight());
3365   DisplayInEntryField(fVminD_LFN_ChNbText, fKeyVminD_LFN_ChNb);
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++;
3369   fVminD_LFN_ChNbFrame->AddFrame(fVminD_LFN_ChNbText, fLayoutVminD_LFN_ChNbFieldText);
3370   fLayoutVminD_LFN_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3371   fCnew++;
3372   fVmmD_LFN_ChNbFrame->AddFrame(fVminD_LFN_ChNbFrame, fLayoutVminD_LFN_ChNbFrame);
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++;
3391   fVmmD_LFN_ChNbFrame->AddFrame(fMenuBarD_LFN_ChNb, fLayoutMenuBarD_LFN_ChNb);
3392   fLayoutVmmD_LFN_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3393   fCnew++;
3394   fStexHozFrame->AddFrame(fVmmD_LFN_ChNbFrame, fLayoutVmmD_LFN_ChNbFrame);
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++;
3412   fVmaxD_HFN_ChNbFrame->AddFrame(fVmaxD_HFN_ChNbBut, fLayoutVmaxD_HFN_ChNbBut);
3413   fEntryVmaxD_HFN_ChNbNumber = new TGTextBuffer();
3414   fCnew++;
3415   fVmaxD_HFN_ChNbText = new TGTextEntry(fVmaxD_HFN_ChNbFrame, fEntryVmaxD_HFN_ChNbNumber);
3416   fCnew++;
3417   fVmaxD_HFN_ChNbText->SetToolTipText("Click and enter ymax");
3418   fVmaxD_HFN_ChNbText->Resize(minmax_buf_lenght, fVmaxD_HFN_ChNbText->GetDefaultHeight());
3419   DisplayInEntryField(fVmaxD_HFN_ChNbText, fKeyVmaxD_HFN_ChNb);
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++;
3423   fVmaxD_HFN_ChNbFrame->AddFrame(fVmaxD_HFN_ChNbText, fLayoutVmaxD_HFN_ChNbFieldText);
3424   fLayoutVmaxD_HFN_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3425   fCnew++;
3426   fVmmD_HFN_ChNbFrame->AddFrame(fVmaxD_HFN_ChNbFrame, fLayoutVmaxD_HFN_ChNbFrame);
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++;
3439   fVminD_HFN_ChNbFrame->AddFrame(fVminD_HFN_ChNbBut, fLayoutVminD_HFN_ChNbBut);
3440   fEntryVminD_HFN_ChNbNumber = new TGTextBuffer();
3441   fCnew++;
3442   fVminD_HFN_ChNbText = new TGTextEntry(fVminD_HFN_ChNbFrame, fEntryVminD_HFN_ChNbNumber);
3443   fCnew++;
3444   fVminD_HFN_ChNbText->SetToolTipText("Click and enter ymin");
3445   fVminD_HFN_ChNbText->Resize(minmax_buf_lenght, fVminD_HFN_ChNbText->GetDefaultHeight());
3446   DisplayInEntryField(fVminD_HFN_ChNbText, fKeyVminD_HFN_ChNb);
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++;
3450   fVminD_HFN_ChNbFrame->AddFrame(fVminD_HFN_ChNbText, fLayoutVminD_HFN_ChNbFieldText);
3451   fLayoutVminD_HFN_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3452   fCnew++;
3453   fVmmD_HFN_ChNbFrame->AddFrame(fVminD_HFN_ChNbFrame, fLayoutVminD_HFN_ChNbFrame);
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++;
3472   fVmmD_HFN_ChNbFrame->AddFrame(fMenuBarD_HFN_ChNb, fLayoutMenuBarD_HFN_ChNb);
3473 
3474   fLayoutVmmD_HFN_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3475   fCnew++;
3476   fStexHozFrame->AddFrame(fVmmD_HFN_ChNbFrame, fLayoutVmmD_HFN_ChNbFrame);
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++;
3495   fVmaxD_MCs_ChNbFrame->AddFrame(fVmaxD_MCs_ChNbBut, fLayoutVmaxD_MCs_ChNbBut);
3496   fEntryVmaxD_MCs_ChNbNumber = new TGTextBuffer();
3497   fCnew++;
3498   fVmaxD_MCs_ChNbText = new TGTextEntry(fVmaxD_MCs_ChNbFrame, fEntryVmaxD_MCs_ChNbNumber);
3499   fCnew++;
3500   fVmaxD_MCs_ChNbText->SetToolTipText("Click and enter ymax");
3501   fVmaxD_MCs_ChNbText->Resize(minmax_buf_lenght, fVmaxD_MCs_ChNbText->GetDefaultHeight());
3502   DisplayInEntryField(fVmaxD_MCs_ChNbText, fKeyVmaxD_MCs_ChNb);
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++;
3506   fVmaxD_MCs_ChNbFrame->AddFrame(fVmaxD_MCs_ChNbText, fLayoutVmaxD_MCs_ChNbFieldText);
3507   fLayoutVmaxD_MCs_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3508   fCnew++;
3509   fVmmD_MCs_ChNbFrame->AddFrame(fVmaxD_MCs_ChNbFrame, fLayoutVmaxD_MCs_ChNbFrame);
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++;
3522   fVminD_MCs_ChNbFrame->AddFrame(fVminD_MCs_ChNbBut, fLayoutVminD_MCs_ChNbBut);
3523   fEntryVminD_MCs_ChNbNumber = new TGTextBuffer();
3524   fCnew++;
3525   fVminD_MCs_ChNbText = new TGTextEntry(fVminD_MCs_ChNbFrame, fEntryVminD_MCs_ChNbNumber);
3526   fCnew++;
3527   fVminD_MCs_ChNbText->SetToolTipText("Click and enter ymin");
3528   fVminD_MCs_ChNbText->Resize(minmax_buf_lenght, fVminD_MCs_ChNbText->GetDefaultHeight());
3529   DisplayInEntryField(fVminD_MCs_ChNbText, fKeyVminD_MCs_ChNb);
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++;
3533   fVminD_MCs_ChNbFrame->AddFrame(fVminD_MCs_ChNbText, fLayoutVminD_MCs_ChNbFieldText);
3534   fLayoutVminD_MCs_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3535   fCnew++;
3536   fVmmD_MCs_ChNbFrame->AddFrame(fVminD_MCs_ChNbFrame, fLayoutVminD_MCs_ChNbFrame);
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++;
3555   fVmmD_MCs_ChNbFrame->AddFrame(fMenuBarD_MCs_ChNb, fLayoutMenuBarD_MCs_ChNb);
3556 
3557   fLayoutVmmD_MCs_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3558   fCnew++;
3559   fStexHozFrame->AddFrame(fVmmD_MCs_ChNbFrame, fLayoutVmmD_MCs_ChNbFrame);
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++;
3577   fVmaxD_SCs_ChNbFrame->AddFrame(fVmaxD_SCs_ChNbBut, fLayoutVmaxD_SCs_ChNbBut);
3578   fEntryVmaxD_SCs_ChNbNumber = new TGTextBuffer();
3579   fCnew++;
3580   fVmaxD_SCs_ChNbText = new TGTextEntry(fVmaxD_SCs_ChNbFrame, fEntryVmaxD_SCs_ChNbNumber);
3581   fCnew++;
3582   fVmaxD_SCs_ChNbText->SetToolTipText("Click and enter ymax");
3583   fVmaxD_SCs_ChNbText->Resize(minmax_buf_lenght, fVmaxD_SCs_ChNbText->GetDefaultHeight());
3584   DisplayInEntryField(fVmaxD_SCs_ChNbText, fKeyVmaxD_SCs_ChNb);
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++;
3588   fVmaxD_SCs_ChNbFrame->AddFrame(fVmaxD_SCs_ChNbText, fLayoutVmaxD_SCs_ChNbFieldText);
3589   fLayoutVmaxD_SCs_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3590   fCnew++;
3591   fVmmD_SCs_ChNbFrame->AddFrame(fVmaxD_SCs_ChNbFrame, fLayoutVmaxD_SCs_ChNbFrame);
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++;
3604   fVminD_SCs_ChNbFrame->AddFrame(fVminD_SCs_ChNbBut, fLayoutVminD_SCs_ChNbBut);
3605   fEntryVminD_SCs_ChNbNumber = new TGTextBuffer();
3606   fCnew++;
3607   fVminD_SCs_ChNbText = new TGTextEntry(fVminD_SCs_ChNbFrame, fEntryVminD_SCs_ChNbNumber);
3608   fCnew++;
3609   fVminD_SCs_ChNbText->SetToolTipText("Click and enter ymin");
3610   fVminD_SCs_ChNbText->Resize(minmax_buf_lenght, fVminD_SCs_ChNbText->GetDefaultHeight());
3611   DisplayInEntryField(fVminD_SCs_ChNbText, fKeyVminD_SCs_ChNb);
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++;
3615   fVminD_SCs_ChNbFrame->AddFrame(fVminD_SCs_ChNbText, fLayoutVminD_SCs_ChNbFieldText);
3616   fLayoutVminD_SCs_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3617   fCnew++;
3618   fVmmD_SCs_ChNbFrame->AddFrame(fVminD_SCs_ChNbFrame, fLayoutVminD_SCs_ChNbFrame);
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++;
3637   fVmmD_SCs_ChNbFrame->AddFrame(fMenuBarD_SCs_ChNb, fLayoutMenuBarD_SCs_ChNb);
3638 
3639   fLayoutVmmD_SCs_ChNbFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3640   fCnew++;
3641   fStexHozFrame->AddFrame(fVmmD_SCs_ChNbFrame, fLayoutVmmD_SCs_ChNbFrame);
3642 
3643   //######################################################################################################"
3644 
3645   //------------------------------------------- subframe
3646   fLayoutStexHozFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3647   fCnew++;
3648   fStexUpFrame->AddFrame(fStexHozFrame, fLayoutStexHozFrame);
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++;
3667   fVmaxLHFccFrame->AddFrame(fVmaxLHFccBut, fLayoutVmaxLHFccBut);
3668   fEntryVmaxLHFccNumber = new TGTextBuffer();
3669   fCnew++;
3670   fVmaxLHFccText = new TGTextEntry(fVmaxLHFccFrame, fEntryVmaxLHFccNumber);
3671   fCnew++;
3672   fVmaxLHFccText->SetToolTipText("Click and enter ymax");
3673   fVmaxLHFccText->Resize(minmax_buf_lenght, fVmaxLHFccText->GetDefaultHeight());
3674   DisplayInEntryField(fVmaxLHFccText, fKeyVmaxLHFcc);
3675   fVmaxLHFccText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVmaxLHFcc()");
3676 
3677   fLayoutVmaxLHFccFieldText = new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1, xB1, xB1, xB1);
3678   fCnew++;
3679   fVmaxLHFccFrame->AddFrame(fVmaxLHFccText, fLayoutVmaxLHFccFieldText);
3680   fLayoutVmaxLHFccFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3681   fCnew++;
3682   fVmmLHFccFrame->AddFrame(fVmaxLHFccFrame, fLayoutVmaxLHFccFrame);
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++;
3695   fVminLHFccFrame->AddFrame(fVminLHFccBut, fLayoutVminLHFccBut);
3696   fEntryVminLHFccNumber = new TGTextBuffer();
3697   fCnew++;
3698   fVminLHFccText = new TGTextEntry(fVminLHFccFrame, fEntryVminLHFccNumber);
3699   fCnew++;
3700   fVminLHFccText->SetToolTipText("Click and enter ymin");
3701   fVminLHFccText->Resize(minmax_buf_lenght, fVminLHFccText->GetDefaultHeight());
3702   DisplayInEntryField(fVminLHFccText, fKeyVminLHFcc);
3703   fVminLHFccText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVminLHFcc()");
3704   fLayoutVminLHFccFieldText = new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1, xB1, xB1, xB1);
3705   fCnew++;
3706   fVminLHFccFrame->AddFrame(fVminLHFccText, fLayoutVminLHFccFieldText);
3707   fLayoutVminLHFccFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3708   fCnew++;
3709   fVmmLHFccFrame->AddFrame(fVminLHFccFrame, fLayoutVminLHFccFrame);
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++;
3738   fVmmLHFccFrame->AddFrame(fMenuBarLHFcc, fLayoutMenuBarLHFcc);
3739   fLayoutVmmLHFccFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3740   fCnew++;
3741   fStexUpFrame->AddFrame(fVmmLHFccFrame, fLayoutVmmLHFccFrame);
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++;
3759   fVmaxLFccMosFrame->AddFrame(fVmaxLFccMosBut, fLayoutVmaxLFccMosBut);
3760   fEntryVmaxLFccMosNumber = new TGTextBuffer();
3761   fCnew++;
3762   fVmaxLFccMosText = new TGTextEntry(fVmaxLFccMosFrame, fEntryVmaxLFccMosNumber);
3763   fCnew++;
3764   fVmaxLFccMosText->SetToolTipText("Click and enter ymax");
3765   fVmaxLFccMosText->Resize(minmax_buf_lenght, fVmaxLFccMosText->GetDefaultHeight());
3766   DisplayInEntryField(fVmaxLFccMosText, fKeyVmaxLFccMos);
3767   fVmaxLFccMosText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVmaxLFccMos()");
3768 
3769   fLayoutVmaxLFccMosFieldText = new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1, xB1, xB1, xB1);
3770   fCnew++;
3771   fVmaxLFccMosFrame->AddFrame(fVmaxLFccMosText, fLayoutVmaxLFccMosFieldText);
3772   fLayoutVmaxLFccMosFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3773   fCnew++;
3774   fVmmLFccMosFrame->AddFrame(fVmaxLFccMosFrame, fLayoutVmaxLFccMosFrame);
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++;
3787   fVminLFccMosFrame->AddFrame(fVminLFccMosBut, fLayoutVminLFccMosBut);
3788   fEntryVminLFccMosNumber = new TGTextBuffer();
3789   fCnew++;
3790   fVminLFccMosText = new TGTextEntry(fVminLFccMosFrame, fEntryVminLFccMosNumber);
3791   fCnew++;
3792   fVminLFccMosText->SetToolTipText("Click and enter ymin");
3793   fVminLFccMosText->Resize(minmax_buf_lenght, fVminLFccMosText->GetDefaultHeight());
3794   DisplayInEntryField(fVminLFccMosText, fKeyVminLFccMos);
3795   fVminLFccMosText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVminLFccMos()");
3796   fLayoutVminLFccMosFieldText = new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1, xB1, xB1, xB1);
3797   fCnew++;
3798   fVminLFccMosFrame->AddFrame(fVminLFccMosText, fLayoutVminLFccMosFieldText);
3799   fLayoutVminLFccMosFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3800   fCnew++;
3801   fVmmLFccMosFrame->AddFrame(fVminLFccMosFrame, fLayoutVminLFccMosFrame);
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++;
3822   fVmmLFccMosFrame->AddFrame(fMenuBarLFccMos, fLayoutMenuBarLFccMos);
3823   fLayoutVmmLFccMosFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3824   fCnew++;
3825   fStexUpFrame->AddFrame(fVmmLFccMosFrame, fLayoutVmmLFccMosFrame);
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++;
3843   fVmaxHFccMosFrame->AddFrame(fVmaxHFccMosBut, fLayoutVmaxHFccMosBut);
3844   fEntryVmaxHFccMosNumber = new TGTextBuffer();
3845   fCnew++;
3846   fVmaxHFccMosText = new TGTextEntry(fVmaxHFccMosFrame, fEntryVmaxHFccMosNumber);
3847   fCnew++;
3848   fVmaxHFccMosText->SetToolTipText("Click and enter ymax");
3849   fVmaxHFccMosText->Resize(minmax_buf_lenght, fVmaxHFccMosText->GetDefaultHeight());
3850   DisplayInEntryField(fVmaxHFccMosText, fKeyVmaxHFccMos);
3851   fVmaxHFccMosText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVmaxHFccMos()");
3852 
3853   fLayoutVmaxHFccMosFieldText = new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1, xB1, xB1, xB1);
3854   fCnew++;
3855   fVmaxHFccMosFrame->AddFrame(fVmaxHFccMosText, fLayoutVmaxHFccMosFieldText);
3856   fLayoutVmaxHFccMosFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3857   fCnew++;
3858   fVmmHFccMosFrame->AddFrame(fVmaxHFccMosFrame, fLayoutVmaxHFccMosFrame);
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++;
3871   fVminHFccMosFrame->AddFrame(fVminHFccMosBut, fLayoutVminHFccMosBut);
3872   fEntryVminHFccMosNumber = new TGTextBuffer();
3873   fCnew++;
3874   fVminHFccMosText = new TGTextEntry(fVminHFccMosFrame, fEntryVminHFccMosNumber);
3875   fCnew++;
3876   fVminHFccMosText->SetToolTipText("Click and enter ymin");
3877   fVminHFccMosText->Resize(minmax_buf_lenght, fVminHFccMosText->GetDefaultHeight());
3878   DisplayInEntryField(fVminHFccMosText, fKeyVminHFccMos);
3879   fVminHFccMosText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonVminHFccMos()");
3880   fLayoutVminHFccMosFieldText = new TGLayoutHints(kLHintsBottom | kLHintsRight, xB1, xB1, xB1, xB1);
3881   fCnew++;
3882   fVminHFccMosFrame->AddFrame(fVminHFccMosText, fLayoutVminHFccMosFieldText);
3883   fLayoutVminHFccMosFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3884   fCnew++;
3885   fVmmHFccMosFrame->AddFrame(fVminHFccMosFrame, fLayoutVminHFccMosFrame);
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++;
3906   fVmmHFccMosFrame->AddFrame(fMenuBarHFccMos, fLayoutMenuBarHFccMos);
3907   fLayoutVmmHFccMosFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
3908   fCnew++;
3909   fStexUpFrame->AddFrame(fVmmHFccMosFrame, fLayoutVmmHFccMosFrame);
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++;
3979   fStinAFrame->AddFrame(fStinABut, fLayoutStinABut);
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) {
3993     StinAValue = fEcalNumbering->GetDeeSCConsFrom1DeeSCEcna(fKeyStexNumber, fKeyStinANumber);
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++;
4000   fStinAFrame->AddFrame(fStinAText, fLayoutStinAField);
4001   fTxSubFrame->AddFrame(fStinAFrame, fLayoutGeneral);
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);
4048   fTxSubFrame->AddFrame(fMenuBarCorssAll, fLayoutTopLeft);
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++;
4061   fStinSpFrame->AddFrame(fTxSubFrame, fLayoutTxSubFrame);
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++;
4078   fStinBFrame->AddFrame(fStinBBut, fLayoutStinBBut);
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) {
4092     StinBValue = fEcalNumbering->GetDeeSCConsFrom1DeeSCEcna(fKeyStexNumber, fKeyStinBNumber);
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++;
4099   fStinBFrame->AddFrame(fStinBText, fLayoutStinBField);
4100   fTySubFrame->AddFrame(fStinBFrame, fLayoutGeneral);
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 
4110   fStinSpFrame->AddFrame(fTySubFrame, fLayoutTySubFrame);
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++;
4221   fChanFrame->AddFrame(fChanText, fLayoutChanField);
4222   fChSubFrame->AddFrame(fChanFrame, fLayoutGeneral);
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);
4245   fChSubFrame->AddFrame(fMenuBarCorss, 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);
4267   fChSubFrame->AddFrame(fMenuBarCovss, 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);
4280   fChSubFrame->AddFrame(fMenuBarD_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);
4293   fChSubFrame->AddFrame(fMenuBarD_SSp_SpNb, fLayoutTopLeft);
4294 
4295   //------------------ Add Channel subframe to the frame
4296   fLayoutChSubFrame = new TGLayoutHints(kLHintsTop | kLHintsLeft, xB1, xB1, xB1, xB1);
4297   fCnew++;
4298   fChSpFrame->AddFrame(fChSubFrame, fLayoutChSubFrame);
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++;
4328   fSampFrame->AddFrame(fSampText, fLayoutSampField);
4329 
4330   fSpSubFrame->AddFrame(fSampFrame, fLayoutGeneral);
4331 
4332   fLayoutSpSubFrame = new TGLayoutHints(kLHintsTop | kLHintsRight, xB1, xB1, xB1, xB1);
4333   fCnew++;
4334   fChSpFrame->AddFrame(fSpSubFrame, fLayoutSpSubFrame);
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++;
4359   AddFrame(fMenuBarAdcProj, fLayoutMenuBarAdcProj);
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++;
4393   fRulFrame->AddFrame(fRulText, fLayoutRulFieldText);
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++;
4476   fLinLogFrame->AddFrame(fButProjy, fLayoutProjyBut);
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());
4503   DisplayInEntryField(fGentText, fKeyGeneralTitle);
4504   fGentText->Connect("ReturnPressed()", "TEcnaGui", this, "DoButtonGent()");
4505   fLayoutGentFieldText = new TGLayoutHints(kLHintsBottom | kLHintsLeft, xB1, xB1, xB1, xB1);
4506   fCnew++;
4507   fGentFrame->AddFrame(fGentText, fLayoutGentFieldText);
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++;
4526   fColorExitFrame->AddFrame(fButColPal, fLayoutColPalBut);
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++;
4536   fColorExitFrame->AddFrame(fButExit, fLayoutExitBut);
4537 
4538   fLayoutColorExitFrame = new TGLayoutHints(kLHintsTop | kLHintsExpandX, xB1, xB1, xB1, xB1);
4539   fCnew++;
4540 
4541   //AddFrame(fVoidFrame, fLayoutBottRight);
4542   AddFrame(fColorExitFrame, fLayoutColorExitFrame);
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 //{
4615 ////Register the name of the file containing the data file name(s)
4616 //// which are in the "source" sector of the python file
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 //----------------------------------------------------------------------
4628 void TEcnaGui::DoButtonAna() {
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 //----------------------------------------------------------------------
4640 void TEcnaGui::DoButtonNors() {
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;
4654     fKeyNbOfSamples = fEcal->MaxSampADC();
4655     DisplayInEntryField(fNorsText, fKeyNbOfSamples);
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 //----------------------------------------------------------------------
4699 void TEcnaGui::DoButtonNbSampForCalc() {
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 
4706   if (!(fKeyNbOfSampForCalc >= 1 && fKeyNbOfSampForCalc <= fKeyNbOfSamples)) {
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;
4713     fKeyNbOfSampForCalc = fKeyNbOfSamples;
4714     DisplayInEntryField(fNbSampForCalcText, fKeyNbOfSampForCalc);
4715   }
4716   fCnaCommand++;
4717   std::cout << "   *TEcnaGui [" << fCnaCommand << "]> Registration of number of samples for calculations -> "
4718             << fKeyNbOfSampForCalc << std::endl;
4719 }
4720 
4721 //----------------------------------------------------------------------
4722 void TEcnaGui::DoButtonRun() {
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 
4734 void TEcnaGui::DoButtonFev() {
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 //-------------------------------------------------------------------
4753 void TEcnaGui::DoButtonLev() {
4754   //Registration of the last requested event number
4755 
4756   const char* bufferchain = fLevText->GetBuffer()->GetString();
4757   fKeyLastReqEvtNumberString = bufferchain;
4758   fKeyLastReqEvtNumber = atoi(bufferchain);
4759 
4760   if (fKeyLastReqEvtNumber <= fKeyFirstReqEvtNumber) {
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 //-------------------------------------------------------------------
4772 void TEcnaGui::DoButtonRev() {
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 
4781   if (fKeyLastReqEvtNumber < fKeyFirstReqEvtNumber) {
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 //-------------------------------------------------------------------
4801 void TEcnaGui::DoButtonStex() {
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) {
4815       fKeyStexNumber = -fKeyStexNumber + fEcal->MaxSMInEB() / 2;
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") {
4856         StinAValue = fEcalNumbering->GetDeeSCConsFrom1DeeSCEcna(fKeyStexNumber, fKeyStinANumber);
4857       }
4858       DisplayInEntryField(fStinAText, StinAValue);
4859       Int_t StinBValue = fKeyStinBNumber;
4860       if (fSubDet == "EE") {
4861         StinBValue = fEcalNumbering->GetDeeSCConsFrom1DeeSCEcna(fKeyStexNumber, fKeyStinBNumber);
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 
4879 void TEcnaGui::DoButtonVminD_NOE_ChNb() {
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 
4892 void TEcnaGui::DoButtonVmaxD_NOE_ChNb() {
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 
4905 void TEcnaGui::DoButtonVminD_Ped_ChNb() {
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 
4918 void TEcnaGui::DoButtonVmaxD_Ped_ChNb() {
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 
4931 void TEcnaGui::DoButtonVminD_TNo_ChNb() {
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 
4944 void TEcnaGui::DoButtonVmaxD_TNo_ChNb() {
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 
4957 void TEcnaGui::DoButtonVminD_MCs_ChNb() {
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 
4970 void TEcnaGui::DoButtonVmaxD_MCs_ChNb() {
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 
4983 void TEcnaGui::DoButtonVminD_LFN_ChNb() {
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 
4996 void TEcnaGui::DoButtonVmaxD_LFN_ChNb() {
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 
5009 void TEcnaGui::DoButtonVminD_HFN_ChNb() {
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 
5022 void TEcnaGui::DoButtonVmaxD_HFN_ChNb() {
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 
5035 void TEcnaGui::DoButtonVminD_SCs_ChNb() {
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 
5048 void TEcnaGui::DoButtonVmaxD_SCs_ChNb() {
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 
5061 void TEcnaGui::DoButtonVminLFccMos() {
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 
5074 void TEcnaGui::DoButtonVmaxLFccMos() {
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 
5087 void TEcnaGui::DoButtonVminHFccMos() {
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 
5100 void TEcnaGui::DoButtonVmaxHFccMos() {
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 
5114 void TEcnaGui::DoButtonVminLHFcc() {
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 
5127 void TEcnaGui::DoButtonVmaxLHFcc() {
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 
5141 void TEcnaGui::DoButtonStexNb() {
5142   ViewStexStinNumbering();  // message in the method
5143 }
5144 //-------------------------------------------------------------------
5145 void TEcnaGui::DoButtonStinA() {
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") {
5156     fKeyStinANumber = fEcalNumbering->Get1DeeSCEcnaFromDeeSCCons(fKeyStexNumber, xReadStinANumberForCons);
5157   }
5158 
5159   if (fSubDet == "EB") {
5160     fCnaCommand++;
5161     std::cout << "   *TEcnaGui [" << fCnaCommand << "]> Registration of " << fStinName.Data() << " number -> "
5162               << xReadStinANumberForCons << std::endl;
5163 
5164     if ((fKeyStinANumber < 1) || (fKeyStinANumber > fEcal->MaxStinEcnaInStex())) {
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 //-------------------------------------------------------------------
5200 void TEcnaGui::DoButtonStinB() {
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") {
5211     fKeyStinBNumber = fEcalNumbering->Get1DeeSCEcnaFromDeeSCCons(fKeyStexNumber, xReadStinBNumberForCons);
5212   }
5213 
5214   fCnaCommand++;
5215   std::cout << "   *TEcnaGui [" << fCnaCommand << "]> Registration of " << fStinName.Data() << "' number -> "
5216             << xReadStinBNumberForCons << std::endl;
5217 
5218   if (fSubDet == "EB") {
5219     if ((fKeyStinBNumber < 1) || (fKeyStinBNumber > fEcal->MaxStinEcnaInStex())) {
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 //-------------------------------------------------------------------
5250 void TEcnaGui::DoButtonChNb() {
5251   //Display of StinA Channel numbering
5252   ViewStinCrystalNumbering(fKeyStinANumber);
5253 }
5254 
5255 //-------------------------------------------------------------------
5256 void TEcnaGui::DoButtonChan() {
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 //-------------------------------------------------------------------
5287 void TEcnaGui::DoButtonSamp() {
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 //----------------------------------------------------------------------
5307 void TEcnaGui::DoButtonRul() {
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;
5316     fKeyFileNameRunList = fKeyRunListInitCode;
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 //----------------------------------------------------------------------
5339 void TEcnaGui::DoButtonGent() {
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 
5356 void TEcnaGui::DoButtonLogx() {
5357   if (fMemoScaleX == "LOG") {
5358     fKeyScaleX = "LIN";
5359   }
5360   if (fMemoScaleX == "LIN") {
5361     fKeyScaleX = "LOG";
5362   }
5363   fMemoScaleX = fKeyScaleX;
5364 
5365   fCnaCommand++;
5366   std::cout << "   *TEcnaGui [" << fCnaCommand << "]> X axis -> " << fKeyScaleX << " scale " << std::endl;
5367 }
5368 void TEcnaGui::DoButtonLogy() {
5369   if (fMemoScaleY == "LOG") {
5370     fKeyScaleY = "LIN";
5371   }
5372   if (fMemoScaleY == "LIN") {
5373     fKeyScaleY = "LOG";
5374   }
5375   fMemoScaleY = fKeyScaleY;
5376 
5377   fCnaCommand++;
5378   std::cout << "   *TEcnaGui [" << fCnaCommand << "]> Y axis -> " << fKeyScaleY << " scale " << std::endl;
5379 }
5380 
5381 void TEcnaGui::DoButtonProjy() {
5382   if (fMemoProjY == "Y projection") {
5383     fKeyProjY = "normal";
5384   }
5385   if (fMemoProjY == "normal") {
5386     fKeyProjY = "Y projection";
5387   }
5388   fMemoProjY = fKeyProjY;
5389 
5390   fCnaCommand++;
5391   std::cout << "   *TEcnaGui [" << fCnaCommand << "]> 1D Histo display -> " << fKeyProjY << " mode " << std::endl;
5392 }
5393 
5394 //------------------------------------------------------------------- Colors + Exit
5395 
5396 void TEcnaGui::DoButtonColPal() {
5397   if (fMemoColPal == "ECCNAColor") {
5398     fKeyColPal = "Rainbow";
5399   }
5400   if (fMemoColPal == "Rainbow") {
5401     fKeyColPal = "ECCNAColor";
5402   }
5403   fMemoColPal = fKeyColPal;
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 
5417 void TEcnaGui::DoButtonExit() {
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 //-------------------------------------------------------------------
5426 void TEcnaGui::DoButtonClone() {
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   }
5434   fHistos->PlotCloneOfCurrentCanvas();
5435 }
5436 //-------------------------------------------------------------------
5437 void TEcnaGui::DoButtonRoot() {
5438   fCnaCommand++;
5439   std::cout << "   *TEcnaGui [" << fCnaCommand << "]> This is ROOT version " << gROOT->GetVersion() << std::endl;
5440 }
5441 //-------------------------------------------------------------------
5442 void TEcnaGui::DoButtonHelp() {
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") {
5502       ViewHistoSorSNumberOfEventsOfCrystals(fOptPlotFull);
5503     }
5504     if (fMemoProjY == "Y projection") {
5505       ViewHistoSorSNumberOfEventsDistribution(fOptPlotFull);
5506     }
5507   }
5508   if (id == fMenuD_NOE_ChNbSameC) {
5509     if (fMemoProjY == "normal") {
5510       ViewHistoSorSNumberOfEventsOfCrystals(fOptPlotSame);
5511     }
5512     if (fMemoProjY == "Y projection") {
5513       ViewHistoSorSNumberOfEventsDistribution(fOptPlotSame);
5514     }
5515   }
5516   if (id == fMenuD_NOE_ChNbHocoVecoC) {
5517     ViewSorSNumberOfEvents();
5518   }
5519   if (id == fMenuD_NOE_ChNbAsciiFileC) {
5520     ViewHistoSorSNumberOfEventsOfCrystals(fOptAscii);
5521   }
5522 
5523   //.................... Pedestal in Stex                  (HandleMenu)
5524   if (id == fMenuD_Ped_ChNbFullC) {
5525     if (fMemoProjY == "normal") {
5526       ViewHistoSorSPedestalsOfCrystals(fOptPlotFull);
5527     }
5528     if (fMemoProjY == "Y projection") {
5529       ViewHistoSorSPedestalsDistribution(fOptPlotFull);
5530     }
5531   }
5532   if (id == fMenuD_Ped_ChNbSameC) {
5533     if (fMemoProjY == "normal") {
5534       ViewHistoSorSPedestalsOfCrystals(fOptPlotSame);
5535     }
5536     if (fMemoProjY == "Y projection") {
5537       ViewHistoSorSPedestalsDistribution(fOptPlotSame);
5538     }
5539   }
5540   if (id == fMenuD_Ped_ChNbHocoVecoC) {
5541     ViewSorSPedestals();
5542   }
5543   if (id == fMenuD_Ped_ChNbAsciiFileC) {
5544     ViewHistoSorSPedestalsOfCrystals(fOptAscii);
5545   }
5546 
5547   //.................... Total noise in Stex                 (HandleMenu)
5548   if (id == fMenuD_TNo_ChNbFullC) {
5549     if (fMemoProjY == "normal") {
5550       ViewHistoSorSTotalNoiseOfCrystals(fOptPlotFull);
5551     }
5552     if (fMemoProjY == "Y projection") {
5553       ViewHistoSorSTotalNoiseDistribution(fOptPlotFull);
5554     }
5555   }
5556   if (id == fMenuD_TNo_ChNbSameC) {
5557     if (fMemoProjY == "normal") {
5558       ViewHistoSorSTotalNoiseOfCrystals(fOptPlotSame);
5559     }
5560     if (fMemoProjY == "Y projection") {
5561       ViewHistoSorSTotalNoiseDistribution(fOptPlotSame);
5562     }
5563   }
5564   if (id == fMenuD_TNo_ChNbSamePC) {
5565     if (fMemoProjY == "normal") {
5566       ViewHistoSorSTotalNoiseOfCrystals(fOptPlotSameP);
5567     }
5568     if (fMemoProjY == "Y projection") {
5569       ViewHistoSorSTotalNoiseDistribution(fOptPlotSameP);
5570     }
5571   }
5572   if (id == fMenuD_TNo_ChNbHocoVecoC) {
5573     ViewSorSTotalNoise();
5574   }
5575   if (id == fMenuD_TNo_ChNbAsciiFileC) {
5576     ViewHistoSorSTotalNoiseOfCrystals(fOptAscii);
5577   }
5578 
5579   //.................... Low Frequency noise in Stex                 (HandleMenu)
5580   if (id == fMenuD_LFN_ChNbFullC) {
5581     if (fMemoProjY == "normal") {
5582       ViewHistoSorSLowFrequencyNoiseOfCrystals(fOptPlotFull);
5583     }
5584     if (fMemoProjY == "Y projection") {
5585       ViewHistoSorSLowFrequencyNoiseDistribution(fOptPlotFull);
5586     }
5587   }
5588   if (id == fMenuD_LFN_ChNbSameC) {
5589     if (fMemoProjY == "normal") {
5590       ViewHistoSorSLowFrequencyNoiseOfCrystals(fOptPlotSame);
5591     }
5592     if (fMemoProjY == "Y projection") {
5593       ViewHistoSorSLowFrequencyNoiseDistribution(fOptPlotSame);
5594     }
5595   }
5596   if (id == fMenuD_LFN_ChNbSamePC) {
5597     if (fMemoProjY == "normal") {
5598       ViewHistoSorSLowFrequencyNoiseOfCrystals(fOptPlotSameP);
5599     }
5600     if (fMemoProjY == "Y projection") {
5601       ViewHistoSorSLowFrequencyNoiseDistribution(fOptPlotSameP);
5602     }
5603   }
5604   if (id == fMenuD_LFN_ChNbHocoVecoC) {
5605     ViewSorSLowFrequencyNoise();
5606   }
5607   if (id == fMenuD_LFN_ChNbAsciiFileC) {
5608     ViewHistoSorSLowFrequencyNoiseOfCrystals(fOptAscii);
5609   }
5610 
5611   //.................... High Frequency noise in Stex                 (HandleMenu)
5612   if (id == fMenuD_HFN_ChNbFullC) {
5613     if (fMemoProjY == "normal") {
5614       ViewHistoSorSHighFrequencyNoiseOfCrystals(fOptPlotFull);
5615     }
5616     if (fMemoProjY == "Y projection") {
5617       ViewHistoSorSHighFrequencyNoiseDistribution(fOptPlotFull);
5618     }
5619   }
5620   if (id == fMenuD_HFN_ChNbSameC) {
5621     if (fMemoProjY == "normal") {
5622       ViewHistoSorSHighFrequencyNoiseOfCrystals(fOptPlotSame);
5623     }
5624     if (fMemoProjY == "Y projection") {
5625       ViewHistoSorSHighFrequencyNoiseDistribution(fOptPlotSame);
5626     }
5627   }
5628   if (id == fMenuD_HFN_ChNbSamePC) {
5629     if (fMemoProjY == "normal") {
5630       ViewHistoSorSHighFrequencyNoiseOfCrystals(fOptPlotSameP);
5631     }
5632     if (fMemoProjY == "Y projection") {
5633       ViewHistoSorSHighFrequencyNoiseDistribution(fOptPlotSameP);
5634     }
5635   }
5636   if (id == fMenuD_HFN_ChNbHocoVecoC) {
5637     ViewSorSHighFrequencyNoise();
5638   }
5639   if (id == fMenuD_HFN_ChNbAsciiFileC) {
5640     ViewHistoSorSHighFrequencyNoiseOfCrystals(fOptAscii);
5641   }
5642 
5643   //.................... Mean Corss in Stex                 (HandleMenu)
5644   if (id == fMenuD_MCs_ChNbFullC) {
5645     if (fMemoProjY == "normal") {
5646       ViewHistoSorSMeanCorssOfCrystals(fOptPlotFull);
5647     }
5648     if (fMemoProjY == "Y projection") {
5649       ViewHistoSorSMeanCorssDistribution(fOptPlotFull);
5650     }
5651   }
5652   if (id == fMenuD_MCs_ChNbSameC) {
5653     if (fMemoProjY == "normal") {
5654       ViewHistoSorSMeanCorssOfCrystals(fOptPlotSame);
5655     }
5656     if (fMemoProjY == "Y projection") {
5657       ViewHistoSorSMeanCorssDistribution(fOptPlotSame);
5658     }
5659   }
5660   if (id == fMenuD_MCs_ChNbSamePC) {
5661     if (fMemoProjY == "normal") {
5662       ViewHistoSorSMeanCorssOfCrystals(fOptPlotSameP);
5663     }
5664     if (fMemoProjY == "Y projection") {
5665       ViewHistoSorSMeanCorssDistribution(fOptPlotSameP);
5666     }
5667   }
5668   if (id == fMenuD_MCs_ChNbHocoVecoC) {
5669     ViewSorSMeanCorss();
5670   }
5671   if (id == fMenuD_MCs_ChNbAsciiFileC) {
5672     ViewHistoSorSMeanCorssOfCrystals(fOptAscii);
5673   }
5674 
5675   //.................... Sigma of Corss in the Stex                 (HandleMenu)
5676   if (id == fMenuD_SCs_ChNbFullC) {
5677     if (fMemoProjY == "normal") {
5678       ViewHistoSorSSigmaOfCorssOfCrystals(fOptPlotFull);
5679     }
5680     if (fMemoProjY == "Y projection") {
5681       ViewHistoSorSSigmaOfCorssDistribution(fOptPlotFull);
5682     }
5683   }
5684   if (id == fMenuD_SCs_ChNbSameC) {
5685     if (fMemoProjY == "normal") {
5686       ViewHistoSorSSigmaOfCorssOfCrystals(fOptPlotSame);
5687     }
5688     if (fMemoProjY == "Y projection") {
5689       ViewHistoSorSSigmaOfCorssDistribution(fOptPlotSame);
5690     }
5691   }
5692   if (id == fMenuD_SCs_ChNbSamePC) {
5693     if (fMemoProjY == "normal") {
5694       ViewHistoSorSSigmaOfCorssOfCrystals(fOptPlotSameP);
5695     }
5696     if (fMemoProjY == "Y projection") {
5697       ViewHistoSorSSigmaOfCorssDistribution(fOptPlotSameP);
5698     }
5699   }
5700   if (id == fMenuD_SCs_ChNbHocoVecoC) {
5701     ViewSorSSigmaOfCorss();
5702   }
5703   if (id == fMenuD_SCs_ChNbAsciiFileC) {
5704     ViewHistoSorSSigmaOfCorssOfCrystals(fOptAscii);
5705   }
5706 
5707   //............................... Low Freq Mean Cor(c,c') for each pair of Stins                 (HandleMenu)
5708   if (id == fMenuLFccMosColzC) {
5709     ViewMatrixLowFrequencyMeanCorrelationsBetweenStins("COLZ");
5710   }
5711   if (id == fMenuLFccMosLegoC) {
5712     ViewMatrixLowFrequencyMeanCorrelationsBetweenStins("LEGO2Z");
5713   }
5714   //............................... High Freq Mean Cor(c,c') for each pair of Stins
5715   if (id == fMenuHFccMosColzC) {
5716     ViewMatrixHighFrequencyMeanCorrelationsBetweenStins("COLZ");
5717   }
5718   if (id == fMenuHFccMosLegoC) {
5719     ViewMatrixHighFrequencyMeanCorrelationsBetweenStins("LEGO2Z");
5720   }
5721 
5722   //............................... Corcc for each Stin in the Stex
5723   if (id == fMenuLFccColzC) {
5724     ViewStexLowFrequencyCorcc();
5725   }
5726   if (id == fMenuHFccColzC) {
5727     ViewStexHighFrequencyCorcc();
5728   }
5729 
5730   //--------> Nb for Cons for Stin numbers in case of EE
5731   Int_t cKeyStinANumber = fKeyStinANumber;
5732   if (fSubDet == "EE" && fKeyStexNumber != 0) {
5733     cKeyStinANumber = fEcalNumbering->GetDeeSCConsFrom1DeeSCEcna(fKeyStexNumber, fKeyStinANumber);
5734   }
5735   Int_t cKeyStinBNumber = fKeyStinBNumber;
5736   if (fSubDet == "EE" && fKeyStexNumber != 0) {
5737     cKeyStinBNumber = fEcalNumbering->GetDeeSCConsFrom1DeeSCEcna(fKeyStexNumber, fKeyStinBNumber);
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") {
5829       ViewHistoCrystalSampleMeans(cKeyStinANumber, fKeyChanNumber, fOptPlotFull);
5830     }
5831     if (fMemoProjY == "Y projection") {
5832       ViewHistoCrystalSampleMeansDistribution(cKeyStinANumber, fKeyChanNumber, fOptPlotFull);
5833     }
5834   }
5835 
5836   if (id == fMenuD_MSp_SpNbLineSameC) {
5837     if (fMemoProjY == "normal") {
5838       ViewHistoCrystalSampleMeans(cKeyStinANumber, fKeyChanNumber, fOptPlotSame);
5839     }
5840     if (fMemoProjY == "Y projection") {
5841       ViewHistoCrystalSampleMeansDistribution(cKeyStinANumber, fKeyChanNumber, fOptPlotSame);
5842     }
5843   }
5844   if (id == fMenuD_MSp_SpNbLineAllStinC) {
5845     if (fMemoProjY == "normal") {
5846       ViewHistoCrystalSampleMeans(cKeyStinANumber, fKeyChanNumber, fOptPlotSameInStin);
5847     }
5848     if (fMemoProjY == "Y projection") {
5849       ViewHistoCrystalSampleMeansDistribution(cKeyStinANumber, fKeyChanNumber, fOptPlotSameInStin);
5850     }
5851   }
5852 
5853   //..................................... Sample sigmas
5854   if (id == fMenuD_SSp_SpNbLineFullC) {
5855     if (fMemoProjY == "normal") {
5856       ViewHistoCrystalSampleSigmas(cKeyStinANumber, fKeyChanNumber, fOptPlotFull);
5857     }
5858     if (fMemoProjY == "Y projection") {
5859       ViewHistoCrystalSampleSigmasDistribution(cKeyStinANumber, fKeyChanNumber, fOptPlotFull);
5860     }
5861   }
5862   if (id == fMenuD_SSp_SpNbLineSameC) {
5863     if (fMemoProjY == "normal") {
5864       ViewHistoCrystalSampleSigmas(cKeyStinANumber, fKeyChanNumber, fOptPlotSame);
5865     }
5866     if (fMemoProjY == "Y projection") {
5867       ViewHistoCrystalSampleSigmasDistribution(cKeyStinANumber, fKeyChanNumber, fOptPlotSame);
5868     }
5869   }
5870   if (id == fMenuD_SSp_SpNbLineAllStinC) {
5871     if (fMemoProjY == "normal") {
5872       ViewHistoCrystalSampleSigmas(cKeyStinANumber, fKeyChanNumber, fOptPlotSameInStin);
5873     }
5874     if (fMemoProjY == "Y projection") {
5875       ViewHistoCrystalSampleSigmasDistribution(cKeyStinANumber, fKeyChanNumber, fOptPlotSameInStin);
5876     }
5877   }
5878 
5879   //..................................... Evolution in time (ViewHistime, except EvolSamp -> Viewhisto)
5880   if (id == fMenuH_Ped_DatePolmFullC || id == fMenuH_Ped_DatePolmSameC || id == fMenuH_TNo_DatePolmFullC ||
5881       id == fMenuH_TNo_DatePolmSameC || id == fMenuH_TNo_DatePolmSamePC || id == fMenuH_LFN_DatePolmFullC ||
5882       id == fMenuH_LFN_DatePolmSameC || id == fMenuH_LFN_DatePolmSamePC || id == fMenuH_HFN_DatePolmFullC ||
5883       id == fMenuH_HFN_DatePolmSameC || id == fMenuH_HFN_DatePolmSamePC || id == fMenuH_MCs_DatePolmFullC ||
5884       id == fMenuH_MCs_DatePolmSameC || id == fMenuH_MCs_DatePolmSamePC || id == fMenuH_SCs_DatePolmFullC ||
5885       id == fMenuH_SCs_DatePolmSameC || id == fMenuH_SCs_DatePolmSamePC) {
5886     if (fKeyFileNameRunList == fKeyRunListInitCode) {
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") {
5894           ViewHistimeCrystalPedestals(fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotFull);
5895         }
5896         if (fMemoProjY == "Y projection") {
5897           ViewHistimeCrystalPedestalsRuns(fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotFull);
5898         }
5899       }
5900       if (id == fMenuH_Ped_DatePolmSameC) {
5901         if (fMemoProjY == "normal") {
5902           ViewHistimeCrystalPedestals(fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotSame);
5903         }
5904         if (fMemoProjY == "Y projection") {
5905           ViewHistimeCrystalPedestalsRuns(fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotSame);
5906         }
5907       }
5908 
5909       //........................................ Total noise
5910       if (id == fMenuH_TNo_DatePolmFullC) {
5911         if (fMemoProjY == "normal") {
5912           ViewHistimeCrystalTotalNoise(fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotFull);
5913         }
5914         if (fMemoProjY == "Y projection") {
5915           ViewHistimeCrystalTotalNoiseRuns(fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotFull);
5916         }
5917       }
5918       if (id == fMenuH_TNo_DatePolmSameC) {
5919         if (fMemoProjY == "normal") {
5920           ViewHistimeCrystalTotalNoise(fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotSame);
5921         }
5922         if (fMemoProjY == "Y projection") {
5923           ViewHistimeCrystalTotalNoiseRuns(fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotSame);
5924         }
5925       }
5926       if (id == fMenuH_TNo_DatePolmSamePC) {
5927         if (fMemoProjY == "normal") {
5928           ViewHistimeCrystalTotalNoise(fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotSameP);
5929         }
5930         if (fMemoProjY == "Y projection") {
5931           ViewHistimeCrystalTotalNoiseRuns(fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotSameP);
5932         }
5933       }
5934 
5935       //........................................ Low frequency noise                 (HandleMenu / ViewHistime)
5936       if (id == fMenuH_LFN_DatePolmFullC) {
5937         if (fMemoProjY == "normal") {
5938           ViewHistimeCrystalLowFrequencyNoise(
5939               fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotFull);
5940         }
5941         if (fMemoProjY == "Y projection") {
5942           ViewHistimeCrystalLowFrequencyNoiseRuns(
5943               fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotFull);
5944         }
5945       }
5946       if (id == fMenuH_LFN_DatePolmSameC) {
5947         if (fMemoProjY == "normal") {
5948           ViewHistimeCrystalLowFrequencyNoise(
5949               fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotSame);
5950         }
5951         if (fMemoProjY == "Y projection") {
5952           ViewHistimeCrystalLowFrequencyNoiseRuns(
5953               fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotSame);
5954         }
5955       }
5956       if (id == fMenuH_LFN_DatePolmSamePC) {
5957         if (fMemoProjY == "normal") {
5958           ViewHistimeCrystalLowFrequencyNoise(
5959               fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotSameP);
5960         }
5961         if (fMemoProjY == "Y projection") {
5962           ViewHistimeCrystalLowFrequencyNoiseRuns(
5963               fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotSameP);
5964         }
5965       }
5966 
5967       //........................................ High frequency noise
5968       if (id == fMenuH_HFN_DatePolmFullC) {
5969         if (fMemoProjY == "normal") {
5970           ViewHistimeCrystalHighFrequencyNoise(
5971               fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotFull);
5972         }
5973         if (fMemoProjY == "Y projection") {
5974           ViewHistimeCrystalHighFrequencyNoiseRuns(
5975               fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotFull);
5976         }
5977       }
5978       if (id == fMenuH_HFN_DatePolmSameC) {
5979         if (fMemoProjY == "normal") {
5980           ViewHistimeCrystalHighFrequencyNoise(
5981               fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotSame);
5982         }
5983         if (fMemoProjY == "Y projection") {
5984           ViewHistimeCrystalHighFrequencyNoiseRuns(
5985               fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotSame);
5986         }
5987       }
5988       if (id == fMenuH_HFN_DatePolmSamePC) {
5989         if (fMemoProjY == "normal") {
5990           ViewHistimeCrystalHighFrequencyNoise(
5991               fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotSameP);
5992         }
5993         if (fMemoProjY == "Y projection") {
5994           ViewHistimeCrystalHighFrequencyNoiseRuns(
5995               fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotSameP);
5996         }
5997       }
5998 
5999       //........................................ Mean Corss                 (HandleMenu / ViewHistime)
6000       if (id == fMenuH_MCs_DatePolmFullC) {
6001         if (fMemoProjY == "normal") {
6002           ViewHistimeCrystalMeanCorss(fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotFull);
6003         }
6004         if (fMemoProjY == "Y projection") {
6005           ViewHistimeCrystalMeanCorssRuns(fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotFull);
6006         }
6007       }
6008       if (id == fMenuH_MCs_DatePolmSameC) {
6009         if (fMemoProjY == "normal") {
6010           ViewHistimeCrystalMeanCorss(fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotSame);
6011         }
6012         if (fMemoProjY == "Y projection") {
6013           ViewHistimeCrystalMeanCorssRuns(fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotSame);
6014         }
6015       }
6016       if (id == fMenuH_MCs_DatePolmSamePC) {
6017         if (fMemoProjY == "normal") {
6018           ViewHistimeCrystalMeanCorss(fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotSameP);
6019         }
6020         if (fMemoProjY == "Y projection") {
6021           ViewHistimeCrystalMeanCorssRuns(fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotSameP);
6022         }
6023       }
6024 
6025       //........................................ Sigmas of Corss
6026       if (id == fMenuH_SCs_DatePolmFullC) {
6027         if (fMemoProjY == "normal") {
6028           ViewHistimeCrystalSigmaOfCorss(fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotFull);
6029         }
6030         if (fMemoProjY == "Y projection") {
6031           ViewHistimeCrystalSigmaOfCorssRuns(fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotFull);
6032         }
6033       }
6034       if (id == fMenuH_SCs_DatePolmSameC) {
6035         if (fMemoProjY == "normal") {
6036           ViewHistimeCrystalSigmaOfCorss(fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotSame);
6037         }
6038         if (fMemoProjY == "Y projection") {
6039           ViewHistimeCrystalSigmaOfCorssRuns(fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotSame);
6040         }
6041       }
6042       if (id == fMenuH_SCs_DatePolmSamePC) {
6043         if (fMemoProjY == "normal") {
6044           ViewHistimeCrystalSigmaOfCorss(fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotSameP);
6045         }
6046         if (fMemoProjY == "Y projection") {
6047           ViewHistimeCrystalSigmaOfCorssRuns(
6048               fKeyFileNameRunList.Data(), cKeyStinANumber, fKeyChanNumber, fOptPlotSameP);
6049         }
6050       }
6051     }
6052   }
6053 
6054   //...................................... SampTime                               (HandleMenu / ADC)
6055   if (id == fMenuAdcProjSampLineFullC) {
6056     if (fMemoProjY == "normal") {
6057       ViewHistoCrystalSampleValues(cKeyStinANumber, fKeyChanNumber, fKeySampNumber, fOptPlotFull);
6058     }
6059     if (fMemoProjY == "Y projection") {
6060       ViewHistoSampleEventDistribution(cKeyStinANumber, fKeyChanNumber, fKeySampNumber, fOptPlotFull);
6061     }
6062   }
6063   if (id == fMenuAdcProjSampLineSameC) {
6064     if (fMemoProjY == "normal") {
6065       ViewHistoCrystalSampleValues(cKeyStinANumber, fKeyChanNumber, fKeySampNumber, fOptPlotSame);
6066     }
6067     if (fMemoProjY == "Y projection") {
6068       ViewHistoSampleEventDistribution(cKeyStinANumber, fKeyChanNumber, fKeySampNumber, fOptPlotSame);
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;
6288       fConfirmRunNumberString = "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;
6297       fConfirmRunNumber = fKeyRunNumber;
6298       fConfirmRunNumberString = fKeyRunNumberString;
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;
6307       fConfirmRunNumberString = "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)) {
6461       if (fKeyNbOfSamples >= fKeyNbOfSampForCalc) {
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(
6480               fKeyAnaType.Data(), fKeyRunNumber, fKeyFirstReqEvtNumber, fKeyLastReqEvtNumber, fKeyReqNbOfEvts, nStex);
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
6748 void TEcnaGui::ViewMatrixLowFrequencyMeanCorrelationsBetweenStins(const TString& option_plot) {
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   }
6755   fHistos->FileParameters(fKeyAnaType,
6756                           fKeyNbOfSamples,
6757                           fKeyRunNumber,
6758                           fKeyFirstReqEvtNumber,
6759                           fKeyLastReqEvtNumber,
6760                           fKeyReqNbOfEvts,
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 
6768   fHistos->SetHistoMin(fKeyVminLFccMos);
6769   fHistos->SetHistoMax(fKeyVmaxLFccMos);
6770   fHistos->GeneralTitle(fKeyGeneralTitle);
6771   fHistos->PlotMatrix("Cor", "MttLF", option_plot);
6772 
6773   MessageCnaCommandReplyB(option_plot);
6774 }
6775 void TEcnaGui::ViewMatrixHighFrequencyMeanCorrelationsBetweenStins(const TString& option_plot) {
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   }
6782   fHistos->FileParameters(fKeyAnaType,
6783                           fKeyNbOfSamples,
6784                           fKeyRunNumber,
6785                           fKeyFirstReqEvtNumber,
6786                           fKeyLastReqEvtNumber,
6787                           fKeyReqNbOfEvts,
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 
6795   fHistos->SetHistoMin(fKeyVminHFccMos);
6796   fHistos->SetHistoMax(fKeyVmaxHFccMos);
6797   fHistos->GeneralTitle(fKeyGeneralTitle);
6798   fHistos->PlotMatrix("Cor", "MttHF", option_plot);
6799 
6800   MessageCnaCommandReplyB(option_plot);
6801 }
6802 //---------------------------------------------- Corcc
6803 void TEcnaGui::ViewMatrixLowFrequencyCorrelationsBetweenChannels(const Int_t& cStexStin_A,
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   }
6812   fHistos->FileParameters(fKeyAnaType,
6813                           fKeyNbOfSamples,
6814                           fKeyRunNumber,
6815                           fKeyFirstReqEvtNumber,
6816                           fKeyLastReqEvtNumber,
6817                           fKeyReqNbOfEvts,
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 
6826   fHistos->SetHistoMin(fKeyVminLHFcc);
6827   fHistos->SetHistoMax(fKeyVmaxLHFcc);
6828   fHistos->GeneralTitle(fKeyGeneralTitle);
6829   fHistos->PlotMatrix("Cor", "MccLF", cStexStin_A, cStexStin_B, option_plot);
6830   MessageCnaCommandReplyB(option_plot);
6831 }
6832 
6833 void TEcnaGui::ViewMatrixHighFrequencyCorrelationsBetweenChannels(const Int_t& cStexStin_A,
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   }
6842   fHistos->FileParameters(fKeyAnaType,
6843                           fKeyNbOfSamples,
6844                           fKeyRunNumber,
6845                           fKeyFirstReqEvtNumber,
6846                           fKeyLastReqEvtNumber,
6847                           fKeyReqNbOfEvts,
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 
6856   fHistos->SetHistoMin(fKeyVminLHFcc);
6857   fHistos->SetHistoMax(fKeyVmaxLHFcc);
6858   fHistos->GeneralTitle(fKeyGeneralTitle);
6859   fHistos->PlotMatrix("Cor", "MccHF", cStexStin_A, cStexStin_B, option_plot);
6860 
6861   MessageCnaCommandReplyB(option_plot);
6862 }
6863 
6864 void TEcnaGui::ViewStexLowFrequencyCorcc() {
6865   //===> big matrix
6866 
6867   if (fHistos == nullptr) {
6868     fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
6869     ;
6870   }
6871   fHistos->FileParameters(fKeyAnaType,
6872                           fKeyNbOfSamples,
6873                           fKeyRunNumber,
6874                           fKeyFirstReqEvtNumber,
6875                           fKeyLastReqEvtNumber,
6876                           fKeyReqNbOfEvts,
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 
6884   fHistos->SetHistoMin(fKeyVminLHFcc);
6885   fHistos->SetHistoMax(fKeyVmaxLHFcc);
6886   fHistos->GeneralTitle(fKeyGeneralTitle);
6887   fHistos->PlotMatrix("Cor", "MccLF", "COLZ");
6888 
6889   MessageCnaCommandReplyB("DUMMY");
6890 }
6891 
6892 void TEcnaGui::ViewStexHighFrequencyCorcc() {
6893   //===> big matrix
6894 
6895   if (fHistos == nullptr) {
6896     fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
6897     ;
6898   }
6899   fHistos->FileParameters(fKeyAnaType,
6900                           fKeyNbOfSamples,
6901                           fKeyRunNumber,
6902                           fKeyFirstReqEvtNumber,
6903                           fKeyLastReqEvtNumber,
6904                           fKeyReqNbOfEvts,
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 
6912   fHistos->SetHistoMin(fKeyVminLHFcc);
6913   fHistos->SetHistoMax(fKeyVmaxLHFcc);
6914   fHistos->GeneralTitle(fKeyGeneralTitle);
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   }
6930   fHistos->FileParameters(fKeyAnaType,
6931                           fKeyNbOfSamples,
6932                           fKeyRunNumber,
6933                           fKeyFirstReqEvtNumber,
6934                           fKeyLastReqEvtNumber,
6935                           fKeyReqNbOfEvts,
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 
6948   fHistos->GeneralTitle(fKeyGeneralTitle);
6949   fHistos->SetHistoMin(fKeyVminD_MCs_ChNb);
6950   fHistos->SetHistoMax(fKeyVmaxD_MCs_ChNb);
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   }
6965   fHistos->FileParameters(fKeyAnaType,
6966                           fKeyNbOfSamples,
6967                           fKeyRunNumber,
6968                           fKeyFirstReqEvtNumber,
6969                           fKeyLastReqEvtNumber,
6970                           fKeyReqNbOfEvts,
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
6984   fHistos->SetHistoMax(fKeyVmaxD_TNo_ChNb);
6985   fHistos->GeneralTitle(fKeyGeneralTitle);
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   }
7005   fHistos->FileParameters(fKeyAnaType,
7006                           fKeyNbOfSamples,
7007                           fKeyRunNumber,
7008                           fKeyFirstReqEvtNumber,
7009                           fKeyLastReqEvtNumber,
7010                           fKeyReqNbOfEvts,
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 
7018   fHistos->SetHistoMin(fKeyVminD_MCs_ChNb);
7019   fHistos->SetHistoMax(fKeyVmaxD_MCs_ChNb);
7020   fHistos->GeneralTitle(fKeyGeneralTitle);
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   }
7033   fHistos->FileParameters(fKeyAnaType,
7034                           fKeyNbOfSamples,
7035                           fKeyRunNumber,
7036                           fKeyFirstReqEvtNumber,
7037                           fKeyLastReqEvtNumber,
7038                           fKeyReqNbOfEvts,
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
7047   fHistos->SetHistoMax(fKeyVmaxD_TNo_ChNb);
7048   fHistos->GeneralTitle(fKeyGeneralTitle);
7049   fHistos->CovariancesBetweenSamples(cStexStin);
7050 
7051   MessageCnaCommandReplyB("DUMMY");
7052 }
7053 //==========================================================================
7054 //
7055 //                         ViewSorS (eta,phi)
7056 //
7057 //==========================================================================
7058 
7059 void TEcnaGui::ViewSorSNumberOfEvents() {
7060   if (fHistos == nullptr) {
7061     fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
7062     ;
7063   }
7064 
7065   if (fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas()) {
7066     fHistos->FileParameters(fKeyAnaType,
7067                             fKeyNbOfSamples,
7068                             fKeyRunNumber,
7069                             fKeyFirstReqEvtNumber,
7070                             fKeyLastReqEvtNumber,
7071                             fKeyReqNbOfEvts,
7072                             fKeyStexNumber);
7073     fCnaCommand++;
7074     std::cout << "   *TEcnaGui [" << fCnaCommand << "]> Number of Events. 2D histo. " << fStexName.Data() << ": "
7075               << fKeyStexNumber;
7076   }
7077   if (fKeyStexNumber == 0) {
7078     fHistos->FileParameters(
7079         fKeyAnaType, fKeyNbOfSamples, fKeyRunNumber, fKeyFirstReqEvtNumber, fKeyLastReqEvtNumber, fKeyReqNbOfEvts, 0);
7080     fCnaCommand++;
7081     std::cout << "   *TEcnaGui [" << fCnaCommand << "]> Average Number of Events. 2D histo for " << fSubDet.Data();
7082   }
7083 
7084   MessageCnaCommandReplyA("DUMMY");
7085 
7086   fHistos->SetHistoMin(fKeyVminD_NOE_ChNb);
7087   fHistos->SetHistoMax(fKeyVmaxD_NOE_ChNb);
7088   fHistos->GeneralTitle(fKeyGeneralTitle);
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 
7099 void TEcnaGui::ViewSorSPedestals() {
7100   if (fHistos == nullptr) {
7101     fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
7102     ;
7103   }
7104 
7105   if (fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas()) {
7106     fHistos->FileParameters(fKeyAnaType,
7107                             fKeyNbOfSamples,
7108                             fKeyRunNumber,
7109                             fKeyFirstReqEvtNumber,
7110                             fKeyLastReqEvtNumber,
7111                             fKeyReqNbOfEvts,
7112                             fKeyStexNumber);
7113     fCnaCommand++;
7114     std::cout << "   *TEcnaGui [" << fCnaCommand << "]> Pedestals. 2D histo. " << fStexName.Data() << ": "
7115               << fKeyStexNumber;
7116   }
7117   if (fKeyStexNumber == 0) {
7118     fHistos->FileParameters(
7119         fKeyAnaType, fKeyNbOfSamples, fKeyRunNumber, fKeyFirstReqEvtNumber, fKeyLastReqEvtNumber, fKeyReqNbOfEvts, 0);
7120     fCnaCommand++;
7121     std::cout << "   *TEcnaGui [" << fCnaCommand << "]> Pedestals. 2D histo for " << fSubDet.Data();
7122   }
7123   MessageCnaCommandReplyA("DUMMY");
7124 
7125   fHistos->SetHistoMin(fKeyVminD_Ped_ChNb);
7126   fHistos->SetHistoMax(fKeyVmaxD_Ped_ChNb);
7127   fHistos->GeneralTitle(fKeyGeneralTitle);
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 
7139 void TEcnaGui::ViewSorSTotalNoise() {
7140   if (fHistos == nullptr) {
7141     fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
7142     ;
7143   }
7144 
7145   if (fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas()) {
7146     fHistos->FileParameters(fKeyAnaType,
7147                             fKeyNbOfSamples,
7148                             fKeyRunNumber,
7149                             fKeyFirstReqEvtNumber,
7150                             fKeyLastReqEvtNumber,
7151                             fKeyReqNbOfEvts,
7152                             fKeyStexNumber);
7153     fCnaCommand++;
7154     std::cout << "   *TEcnaGui [" << fCnaCommand << "]> Total noise. 2D histo. " << fStexName.Data() << ": "
7155               << fKeyStexNumber;
7156   }
7157   if (fKeyStexNumber == 0) {
7158     fHistos->FileParameters(
7159         fKeyAnaType, fKeyNbOfSamples, fKeyRunNumber, fKeyFirstReqEvtNumber, fKeyLastReqEvtNumber, fKeyReqNbOfEvts, 0);
7160     fCnaCommand++;
7161     std::cout << "   *TEcnaGui [" << fCnaCommand << "]> Average total noise. 2D histo for " << fSubDet.Data();
7162   }
7163   MessageCnaCommandReplyA("DUMMY");
7164 
7165   fHistos->SetHistoMin(fKeyVminD_TNo_ChNb);
7166   fHistos->SetHistoMax(fKeyVmaxD_TNo_ChNb);
7167   fHistos->GeneralTitle(fKeyGeneralTitle);
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 
7178 void TEcnaGui::ViewSorSLowFrequencyNoise() {
7179   if (fHistos == nullptr) {
7180     fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
7181     ;
7182   }
7183 
7184   if (fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas()) {
7185     fHistos->FileParameters(fKeyAnaType,
7186                             fKeyNbOfSamples,
7187                             fKeyRunNumber,
7188                             fKeyFirstReqEvtNumber,
7189                             fKeyLastReqEvtNumber,
7190                             fKeyReqNbOfEvts,
7191                             fKeyStexNumber);
7192     fCnaCommand++;
7193     std::cout << "   *TEcnaGui [" << fCnaCommand << "]> Low frequency noise. 2D histo. " << fStexName.Data() << ": "
7194               << fKeyStexNumber;
7195   }
7196   if (fKeyStexNumber == 0) {
7197     fHistos->FileParameters(
7198         fKeyAnaType, fKeyNbOfSamples, fKeyRunNumber, fKeyFirstReqEvtNumber, fKeyLastReqEvtNumber, fKeyReqNbOfEvts, 0);
7199     fCnaCommand++;
7200     std::cout << "   *TEcnaGui [" << fCnaCommand << "]> Average low frequency noise. 2D histo for " << fSubDet.Data();
7201   }
7202   MessageCnaCommandReplyA("DUMMY");
7203 
7204   fHistos->SetHistoMin(fKeyVminD_LFN_ChNb);
7205   fHistos->SetHistoMax(fKeyVmaxD_LFN_ChNb);
7206   fHistos->GeneralTitle(fKeyGeneralTitle);
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 
7217 void TEcnaGui::ViewSorSHighFrequencyNoise() {
7218   if (fHistos == nullptr) {
7219     fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
7220     ;
7221   }
7222 
7223   if (fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas()) {
7224     fHistos->FileParameters(fKeyAnaType,
7225                             fKeyNbOfSamples,
7226                             fKeyRunNumber,
7227                             fKeyFirstReqEvtNumber,
7228                             fKeyLastReqEvtNumber,
7229                             fKeyReqNbOfEvts,
7230                             fKeyStexNumber);
7231     fCnaCommand++;
7232     std::cout << "   *TEcnaGui [" << fCnaCommand << "]> High frequency noise. 2D histo. " << fStexName.Data() << ": "
7233               << fKeyStexNumber;
7234   }
7235   if (fKeyStexNumber == 0) {
7236     fHistos->FileParameters(
7237         fKeyAnaType, fKeyNbOfSamples, fKeyRunNumber, fKeyFirstReqEvtNumber, fKeyLastReqEvtNumber, fKeyReqNbOfEvts, 0);
7238     fCnaCommand++;
7239     std::cout << "   *TEcnaGui [" << fCnaCommand << "]> Average high frequency noise. 2D histo for " << fSubDet.Data();
7240   }
7241   MessageCnaCommandReplyA("DUMMY");
7242 
7243   fHistos->SetHistoMin(fKeyVminD_HFN_ChNb);
7244   fHistos->SetHistoMax(fKeyVmaxD_HFN_ChNb);
7245   fHistos->GeneralTitle(fKeyGeneralTitle);
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 
7256 void TEcnaGui::ViewSorSMeanCorss() {
7257   if (fHistos == nullptr) {
7258     fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
7259     ;
7260   }
7261 
7262   if (fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas()) {
7263     fHistos->FileParameters(fKeyAnaType,
7264                             fKeyNbOfSamples,
7265                             fKeyRunNumber,
7266                             fKeyFirstReqEvtNumber,
7267                             fKeyLastReqEvtNumber,
7268                             fKeyReqNbOfEvts,
7269                             fKeyStexNumber);
7270     fCnaCommand++;
7271     std::cout << "   *TEcnaGui [" << fCnaCommand << "]> Mean cor(s,s'). 2D histo. " << fStexName.Data() << ": "
7272               << fKeyStexNumber;
7273   }
7274   if (fKeyStexNumber == 0) {
7275     fHistos->FileParameters(
7276         fKeyAnaType, fKeyNbOfSamples, fKeyRunNumber, fKeyFirstReqEvtNumber, fKeyLastReqEvtNumber, fKeyReqNbOfEvts, 0);
7277     fCnaCommand++;
7278     std::cout << "   *TEcnaGui [" << fCnaCommand << "]> Average mean cor(s,s'). 2D histo for " << fSubDet.Data();
7279   }
7280   MessageCnaCommandReplyA("DUMMY");
7281 
7282   fHistos->SetHistoMin(fKeyVminD_MCs_ChNb);
7283   fHistos->SetHistoMax(fKeyVmaxD_MCs_ChNb);
7284   fHistos->GeneralTitle(fKeyGeneralTitle);
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 
7295 void TEcnaGui::ViewSorSSigmaOfCorss() {
7296   if (fHistos == nullptr) {
7297     fHistos = new TEcnaHistos(fObjectManager, fSubDet.Data()); /*fCnew++*/
7298     ;
7299   }
7300 
7301   if (fKeyStexNumber > 0 && fKeyStexNumber <= fEcal->MaxStexInStas()) {
7302     fHistos->FileParameters(fKeyAnaType,
7303                             fKeyNbOfSamples,
7304                             fKeyRunNumber,
7305                             fKeyFirstReqEvtNumber,
7306                             fKeyLastReqEvtNumber,
7307                             fKeyReqNbOfEvts,
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) {
7314     fHistos->FileParameters(
7315         fKeyAnaType, fKeyNbOfSamples, fKeyRunNumber, fKeyFirstReqEvtNumber, fKeyLastReqEvtNumber, fKeyReqNbOfEvts, 0);
7316     fCnaCommand++;
7317     std::cout << "   *TEcnaGui [" << fCnaCommand << "]> Average sigma of Cor(s,s'). 2D histo for " << fSubDet.Data();
7318   }
7319   MessageCnaCommandReplyA("DUMMY");
7320 
7321   fHistos->SetHistoMin(fKeyVminD_SCs_ChNb);
7322   fHistos->SetHistoMax(fKeyVmaxD_SCs_ChNb);
7323   fHistos->GeneralTitle(fKeyGeneralTitle);
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   }
7359   fHistos->GeneralTitle(fKeyGeneralTitle);
7360   fHistos->StinCrystalNumbering(fKeyStexNumber, StinNumber);
7361 }
7362 //---------------->  end of ViewStinCrystalNumbering()
7363 
7364 //===========================================================================
7365 //
7366 //                        ViewStexStinNumbering
7367 //
7368 //===========================================================================
7369 void TEcnaGui::ViewStexStinNumbering() {
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   }
7382   fHistos->GeneralTitle(fKeyGeneralTitle);
7383   fHistos->StexStinNumbering(fKeyStexNumber);
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   }
7401   fHistos->FileParameters(fKeyAnaType,
7402                           fKeyNbOfSamples,
7403                           fKeyRunNumber,
7404                           fKeyFirstReqEvtNumber,
7405                           fKeyLastReqEvtNumber,
7406                           fKeyReqNbOfEvts,
7407                           fKeyStexNumber);
7408 
7409   fCnaCommand++;
7410   std::cout << "   *TEcnaGui [" << fCnaCommand << "]> Number of events for crystals";
7411   MessageCnaCommandReplyA(first_same_plot);
7412 
7413   fHistos->SetHistoMin(fKeyVminD_NOE_ChNb);
7414   fHistos->SetHistoMax(fKeyVmaxD_NOE_ChNb);
7415   fHistos->SetHistoScaleY(fKeyScaleY);
7416   fHistos->SetHistoScaleX(fKeyScaleX);
7417   fHistos->SetHistoColorPalette(fKeyColPal);
7418   fHistos->GeneralTitle(fKeyGeneralTitle);
7419   fHistos->Plot1DHisto(
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   }
7432   fHistos->FileParameters(fKeyAnaType,
7433                           fKeyNbOfSamples,
7434                           fKeyRunNumber,
7435                           fKeyFirstReqEvtNumber,
7436                           fKeyLastReqEvtNumber,
7437                           fKeyReqNbOfEvts,
7438                           fKeyStexNumber);
7439 
7440   fCnaCommand++;
7441   std::cout << "   *TEcnaGui [" << fCnaCommand << "]> Number of events distribution";
7442   MessageCnaCommandReplyA(first_same_plot);
7443 
7444   fHistos->SetHistoMin(fKeyVminD_NOE_ChNb);
7445   fHistos->SetHistoMax(fKeyVmaxD_NOE_ChNb);
7446   fHistos->SetHistoScaleY(fKeyScaleY);
7447   fHistos->SetHistoScaleX(fKeyScaleX);
7448   fHistos->SetHistoColorPalette(fKeyColPal);
7449   fHistos->GeneralTitle(fKeyGeneralTitle);
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   }
7463   fHistos->FileParameters(fKeyAnaType,
7464                           fKeyNbOfSamples,
7465                           fKeyRunNumber,
7466                           fKeyFirstReqEvtNumber,
7467                           fKeyLastReqEvtNumber,
7468                           fKeyReqNbOfEvts,
7469                           fKeyStexNumber);
7470 
7471   fCnaCommand++;
7472   std::cout << "   *TEcnaGui [" << fCnaCommand << "]> Pedestals";
7473   MessageCnaCommandReplyA(first_same_plot);
7474 
7475   fHistos->SetHistoMin(fKeyVminD_Ped_ChNb);
7476   fHistos->SetHistoMax(fKeyVmaxD_Ped_ChNb);
7477   fHistos->SetHistoScaleY(fKeyScaleY);
7478   fHistos->SetHistoScaleX(fKeyScaleX);
7479   fHistos->SetHistoColorPalette(fKeyColPal);
7480   fHistos->GeneralTitle(fKeyGeneralTitle);
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   }
7493   fHistos->FileParameters(fKeyAnaType,
7494                           fKeyNbOfSamples,
7495                           fKeyRunNumber,
7496                           fKeyFirstReqEvtNumber,
7497                           fKeyLastReqEvtNumber,
7498                           fKeyReqNbOfEvts,
7499                           fKeyStexNumber);
7500 
7501   fCnaCommand++;
7502   std::cout << "   *TEcnaGui [" << fCnaCommand << "]> Pedestals distribution";
7503   MessageCnaCommandReplyA(first_same_plot);
7504 
7505   fHistos->SetHistoMin(fKeyVminD_Ped_ChNb);
7506   fHistos->SetHistoMax(fKeyVmaxD_Ped_ChNb);
7507   fHistos->SetHistoScaleY(fKeyScaleY);
7508   fHistos->SetHistoScaleX(fKeyScaleX);
7509   fHistos->SetHistoColorPalette(fKeyColPal);
7510   fHistos->GeneralTitle(fKeyGeneralTitle);
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   }
7524   fHistos->FileParameters(fKeyAnaType,
7525                           fKeyNbOfSamples,
7526                           fKeyRunNumber,
7527                           fKeyFirstReqEvtNumber,
7528                           fKeyLastReqEvtNumber,
7529                           fKeyReqNbOfEvts,
7530                           fKeyStexNumber);
7531 
7532   fCnaCommand++;
7533   std::cout << "   *TEcnaGui [" << fCnaCommand << "]> Total noise";
7534   MessageCnaCommandReplyA(first_same_plot);
7535 
7536   fHistos->SetHistoMin(fKeyVminD_TNo_ChNb);
7537   fHistos->SetHistoMax(fKeyVmaxD_TNo_ChNb);
7538   fHistos->SetHistoScaleY(fKeyScaleY);
7539   fHistos->SetHistoScaleX(fKeyScaleX);
7540   fHistos->SetHistoColorPalette(fKeyColPal);
7541   fHistos->GeneralTitle(fKeyGeneralTitle);
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   }
7554   fHistos->FileParameters(fKeyAnaType,
7555                           fKeyNbOfSamples,
7556                           fKeyRunNumber,
7557                           fKeyFirstReqEvtNumber,
7558                           fKeyLastReqEvtNumber,
7559                           fKeyReqNbOfEvts,
7560                           fKeyStexNumber);
7561 
7562   fCnaCommand++;
7563   std::cout << "   *TEcnaGui [" << fCnaCommand << "]> Total noise distribution";
7564   MessageCnaCommandReplyA(first_same_plot);
7565 
7566   fHistos->SetHistoMin(fKeyVminD_TNo_ChNb);
7567   fHistos->SetHistoMax(fKeyVmaxD_TNo_ChNb);
7568   fHistos->SetHistoScaleY(fKeyScaleY);
7569   fHistos->SetHistoScaleX(fKeyScaleX);
7570   fHistos->SetHistoColorPalette(fKeyColPal);
7571   fHistos->GeneralTitle(fKeyGeneralTitle);
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   }
7585   fHistos->FileParameters(fKeyAnaType,
7586                           fKeyNbOfSamples,
7587                           fKeyRunNumber,
7588                           fKeyFirstReqEvtNumber,
7589                           fKeyLastReqEvtNumber,
7590                           fKeyReqNbOfEvts,
7591                           fKeyStexNumber);
7592 
7593   fCnaCommand++;
7594   std::cout << "   *TEcnaGui [" << fCnaCommand << "]> Low frequency noise";
7595   MessageCnaCommandReplyA(first_same_plot);
7596 
7597   fHistos->SetHistoMin(fKeyVminD_LFN_ChNb);
7598   fHistos->SetHistoMax(fKeyVmaxD_LFN_ChNb);
7599   fHistos->SetHistoScaleY(fKeyScaleY);
7600   fHistos->SetHistoScaleX(fKeyScaleX);
7601   fHistos->SetHistoColorPalette(fKeyColPal);
7602   fHistos->GeneralTitle(fKeyGeneralTitle);
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   }
7615   fHistos->FileParameters(fKeyAnaType,
7616                           fKeyNbOfSamples,
7617                           fKeyRunNumber,
7618                           fKeyFirstReqEvtNumber,
7619                           fKeyLastReqEvtNumber,
7620                           fKeyReqNbOfEvts,
7621                           fKeyStexNumber);
7622 
7623   fCnaCommand++;
7624   std::cout << "   *TEcnaGui [" << fCnaCommand << "]> Low frequency noise distribution";
7625   MessageCnaCommandReplyA(first_same_plot);
7626 
7627   fHistos->SetHistoMin(fKeyVminD_LFN_ChNb);
7628   fHistos->SetHistoMax(fKeyVmaxD_LFN_ChNb);
7629   fHistos->SetHistoScaleY(fKeyScaleY);
7630   fHistos->SetHistoScaleX(fKeyScaleX);
7631   fHistos->SetHistoColorPalette(fKeyColPal);
7632   fHistos->GeneralTitle(fKeyGeneralTitle);
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   }
7646   fHistos->FileParameters(fKeyAnaType,
7647                           fKeyNbOfSamples,
7648                           fKeyRunNumber,
7649                           fKeyFirstReqEvtNumber,
7650                           fKeyLastReqEvtNumber,
7651                           fKeyReqNbOfEvts,
7652                           fKeyStexNumber);
7653 
7654   fCnaCommand++;
7655   std::cout << "   *TEcnaGui [" << fCnaCommand << "]> High frequency noise";
7656   MessageCnaCommandReplyA(first_same_plot);
7657 
7658   fHistos->SetHistoMin(fKeyVminD_HFN_ChNb);
7659   fHistos->SetHistoMax(fKeyVmaxD_HFN_ChNb);
7660   fHistos->SetHistoScaleY(fKeyScaleY);
7661   fHistos->SetHistoScaleX(fKeyScaleX);
7662   fHistos->SetHistoColorPalette(fKeyColPal);
7663   fHistos->GeneralTitle(fKeyGeneralTitle);
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   }
7676   fHistos->FileParameters(fKeyAnaType,
7677                           fKeyNbOfSamples,
7678                           fKeyRunNumber,
7679                           fKeyFirstReqEvtNumber,
7680                           fKeyLastReqEvtNumber,
7681                           fKeyReqNbOfEvts,
7682                           fKeyStexNumber);
7683 
7684   fCnaCommand++;
7685   std::cout << "   *TEcnaGui [" << fCnaCommand << "]> High frequency noise distribution";
7686   MessageCnaCommandReplyA(first_same_plot);
7687 
7688   fHistos->SetHistoMin(fKeyVminD_HFN_ChNb);
7689   fHistos->SetHistoMax(fKeyVmaxD_HFN_ChNb);
7690   fHistos->SetHistoScaleY(fKeyScaleY);
7691   fHistos->SetHistoScaleX(fKeyScaleX);
7692   fHistos->SetHistoColorPalette(fKeyColPal);
7693   fHistos->GeneralTitle(fKeyGeneralTitle);
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   }
7707   fHistos->FileParameters(fKeyAnaType,
7708                           fKeyNbOfSamples,
7709                           fKeyRunNumber,
7710                           fKeyFirstReqEvtNumber,
7711                           fKeyLastReqEvtNumber,
7712                           fKeyReqNbOfEvts,
7713                           fKeyStexNumber);
7714 
7715   fCnaCommand++;
7716   std::cout << "   *TEcnaGui [" << fCnaCommand << "]> Mean cor(s,s')";
7717   MessageCnaCommandReplyA(first_same_plot);
7718 
7719   fHistos->SetHistoMin(fKeyVminD_MCs_ChNb);
7720   fHistos->SetHistoMax(fKeyVmaxD_MCs_ChNb);
7721   fHistos->SetHistoScaleY(fKeyScaleY);
7722   fHistos->SetHistoScaleX(fKeyScaleX);
7723   fHistos->SetHistoColorPalette(fKeyColPal);
7724   fHistos->GeneralTitle(fKeyGeneralTitle);
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   }
7737   fHistos->FileParameters(fKeyAnaType,
7738                           fKeyNbOfSamples,
7739                           fKeyRunNumber,
7740                           fKeyFirstReqEvtNumber,
7741                           fKeyLastReqEvtNumber,
7742                           fKeyReqNbOfEvts,
7743                           fKeyStexNumber);
7744 
7745   fCnaCommand++;
7746   std::cout << "   *TEcnaGui [" << fCnaCommand << "]> Mean cor(s,s') distribution";
7747   MessageCnaCommandReplyA(first_same_plot);
7748 
7749   fHistos->SetHistoMin(fKeyVminD_MCs_ChNb);
7750   fHistos->SetHistoMax(fKeyVmaxD_MCs_ChNb);
7751   fHistos->SetHistoScaleY(fKeyScaleY);
7752   fHistos->SetHistoScaleX(fKeyScaleX);
7753   fHistos->SetHistoColorPalette(fKeyColPal);
7754   fHistos->GeneralTitle(fKeyGeneralTitle);
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   }
7767   fHistos->FileParameters(fKeyAnaType,
7768                           fKeyNbOfSamples,
7769                           fKeyRunNumber,
7770                           fKeyFirstReqEvtNumber,
7771                           fKeyLastReqEvtNumber,
7772                           fKeyReqNbOfEvts,
7773                           fKeyStexNumber);
7774 
7775   fCnaCommand++;
7776   std::cout << "   *TEcnaGui [" << fCnaCommand << "]> Sigma of cor(s,s')";
7777   MessageCnaCommandReplyA(first_same_plot);
7778 
7779   fHistos->SetHistoMin(fKeyVminD_SCs_ChNb);
7780   fHistos->SetHistoMax(fKeyVmaxD_SCs_ChNb);
7781   fHistos->SetHistoScaleY(fKeyScaleY);
7782   fHistos->SetHistoScaleX(fKeyScaleX);
7783   fHistos->SetHistoColorPalette(fKeyColPal);
7784   fHistos->GeneralTitle(fKeyGeneralTitle);
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   }
7797   fHistos->FileParameters(fKeyAnaType,
7798                           fKeyNbOfSamples,
7799                           fKeyRunNumber,
7800                           fKeyFirstReqEvtNumber,
7801                           fKeyLastReqEvtNumber,
7802                           fKeyReqNbOfEvts,
7803                           fKeyStexNumber);
7804 
7805   fCnaCommand++;
7806   std::cout << "   *TEcnaGui [" << fCnaCommand << "]> Sigma of cor(s,s') distribution";
7807   MessageCnaCommandReplyA(first_same_plot);
7808 
7809   fHistos->SetHistoMin(fKeyVminD_SCs_ChNb);
7810   fHistos->SetHistoMax(fKeyVmaxD_SCs_ChNb);
7811   fHistos->SetHistoScaleY(fKeyScaleY);
7812   fHistos->SetHistoScaleX(fKeyScaleX);
7813   fHistos->SetHistoColorPalette(fKeyColPal);
7814   fHistos->GeneralTitle(fKeyGeneralTitle);
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   }
7830   fHistos->FileParameters(fKeyAnaType,
7831                           fKeyNbOfSamples,
7832                           fKeyRunNumber,
7833                           fKeyFirstReqEvtNumber,
7834                           fKeyLastReqEvtNumber,
7835                           fKeyReqNbOfEvts,
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 
7845   fHistos->SetHistoMin(fKeyVminD_Ped_ChNb);
7846   fHistos->SetHistoMax(fKeyVmaxD_Ped_ChNb);
7847   fHistos->SetHistoScaleY(fKeyScaleY);
7848   fHistos->SetHistoScaleX(fKeyScaleX);
7849   fHistos->SetHistoColorPalette(fKeyColPal);
7850   fHistos->GeneralTitle(fKeyGeneralTitle);
7851   fHistos->Plot1DHisto("Sample#", "SampleMean", cStexStin_A, crystal, first_same_plot);
7852 }
7853 
7854 //........................................................................................................
7855 void TEcnaGui::ViewHistoCrystalSampleMeansDistribution(const Int_t& cStexStin_A,
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   }
7864   fHistos->FileParameters(fKeyAnaType,
7865                           fKeyNbOfSamples,
7866                           fKeyRunNumber,
7867                           fKeyFirstReqEvtNumber,
7868                           fKeyLastReqEvtNumber,
7869                           fKeyReqNbOfEvts,
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 
7879   fHistos->SetHistoMin(fKeyVminD_Ped_ChNb);
7880   fHistos->SetHistoMax(fKeyVmaxD_Ped_ChNb);
7881   fHistos->SetHistoScaleY(fKeyScaleY);
7882   fHistos->SetHistoScaleX(fKeyScaleX);
7883   fHistos->SetHistoColorPalette(fKeyColPal);
7884   fHistos->GeneralTitle(fKeyGeneralTitle);
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   }
7897   fHistos->FileParameters(fKeyAnaType,
7898                           fKeyNbOfSamples,
7899                           fKeyRunNumber,
7900                           fKeyFirstReqEvtNumber,
7901                           fKeyLastReqEvtNumber,
7902                           fKeyReqNbOfEvts,
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 
7912   fHistos->SetHistoMin(fKeyVminD_TNo_ChNb);
7913   fHistos->SetHistoMax(fKeyVmaxD_TNo_ChNb);
7914   fHistos->SetHistoScaleY(fKeyScaleY);
7915   fHistos->SetHistoScaleX(fKeyScaleX);
7916   fHistos->SetHistoColorPalette(fKeyColPal);
7917   fHistos->GeneralTitle(fKeyGeneralTitle);
7918   fHistos->Plot1DHisto("Sample#", "SampleSigma", cStexStin_A, crystal, first_same_plot);
7919 }
7920 
7921 void TEcnaGui::ViewHistoCrystalSampleSigmasDistribution(const Int_t& cStexStin_A,
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   }
7930   fHistos->FileParameters(fKeyAnaType,
7931                           fKeyNbOfSamples,
7932                           fKeyRunNumber,
7933                           fKeyFirstReqEvtNumber,
7934                           fKeyLastReqEvtNumber,
7935                           fKeyReqNbOfEvts,
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 
7945   fHistos->SetHistoMin(fKeyVminD_TNo_ChNb);
7946   fHistos->SetHistoMax(fKeyVmaxD_TNo_ChNb);
7947   fHistos->SetHistoScaleY(fKeyScaleY);
7948   fHistos->SetHistoScaleX(fKeyScaleX);
7949   fHistos->SetHistoColorPalette(fKeyColPal);
7950   fHistos->GeneralTitle(fKeyGeneralTitle);
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   }
7966   fHistos->FileParameters(fKeyAnaType,
7967                           fKeyNbOfSamples,
7968                           fKeyRunNumber,
7969                           fKeyFirstReqEvtNumber,
7970                           fKeyLastReqEvtNumber,
7971                           fKeyReqNbOfEvts,
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 
7981   fHistos->SetHistoMin(fKeyVminD_Ped_ChNb);
7982   fHistos->SetHistoMax(fKeyVmaxD_Ped_ChNb);
7983   fHistos->SetHistoScaleY(fKeyScaleY);
7984   fHistos->SetHistoScaleX(fKeyScaleX);
7985   fHistos->SetHistoColorPalette(fKeyColPal);
7986   fHistos->GeneralTitle(fKeyGeneralTitle);
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   }
8001   fHistos->FileParameters(fKeyAnaType,
8002                           fKeyNbOfSamples,
8003                           fKeyRunNumber,
8004                           fKeyFirstReqEvtNumber,
8005                           fKeyLastReqEvtNumber,
8006                           fKeyReqNbOfEvts,
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 
8016   fHistos->SetHistoMin(fKeyVminD_Ped_ChNb);
8017   fHistos->SetHistoMax(fKeyVmaxD_Ped_ChNb);
8018   fHistos->SetHistoScaleY(fKeyScaleY);
8019   fHistos->SetHistoScaleX(fKeyScaleX);
8020   fHistos->SetHistoColorPalette(fKeyColPal);
8021   fHistos->GeneralTitle(fKeyGeneralTitle);
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 
8042   fHistos->SetHistoMin(fKeyVminD_Ped_ChNb);
8043   fHistos->SetHistoMax(fKeyVmaxD_Ped_ChNb);
8044   fHistos->SetHistoScaleY(fKeyScaleY);
8045   fHistos->SetHistoScaleX(fKeyScaleX);
8046   fHistos->SetHistoColorPalette(fKeyColPal);
8047   fHistos->GeneralTitle(fKeyGeneralTitle);
8048   fHistos->FileParameters(
8049       fKeyAnaType, fKeyNbOfSamples, 0, fKeyFirstReqEvtNumber, fKeyLastReqEvtNumber, fKeyReqNbOfEvts, fKeyStexNumber);
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 
8069   fHistos->SetHistoMin(fKeyVminD_Ped_ChNb);
8070   fHistos->SetHistoMax(fKeyVmaxD_Ped_ChNb);
8071   fHistos->SetHistoScaleY(fKeyScaleY);
8072   fHistos->SetHistoScaleX(fKeyScaleX);
8073   fHistos->SetHistoColorPalette(fKeyColPal);
8074   fHistos->GeneralTitle(fKeyGeneralTitle);
8075   fHistos->FileParameters(
8076       fKeyAnaType, fKeyNbOfSamples, 0, fKeyFirstReqEvtNumber, fKeyLastReqEvtNumber, fKeyReqNbOfEvts, fKeyStexNumber);
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 
8097   fHistos->SetHistoMin(fKeyVminD_TNo_ChNb);
8098   fHistos->SetHistoMax(fKeyVmaxD_TNo_ChNb);
8099   fHistos->SetHistoScaleY(fKeyScaleY);
8100   fHistos->SetHistoScaleX(fKeyScaleX);
8101   fHistos->SetHistoColorPalette(fKeyColPal);
8102   fHistos->GeneralTitle(fKeyGeneralTitle);
8103   fHistos->FileParameters(
8104       fKeyAnaType, fKeyNbOfSamples, 0, fKeyFirstReqEvtNumber, fKeyLastReqEvtNumber, fKeyReqNbOfEvts, fKeyStexNumber);
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 
8124   fHistos->SetHistoMin(fKeyVminD_TNo_ChNb);
8125   fHistos->SetHistoMax(fKeyVmaxD_TNo_ChNb);
8126   fHistos->SetHistoScaleY(fKeyScaleY);
8127   fHistos->SetHistoScaleX(fKeyScaleX);
8128   fHistos->SetHistoColorPalette(fKeyColPal);
8129   fHistos->GeneralTitle(fKeyGeneralTitle);
8130   fHistos->FileParameters(
8131       fKeyAnaType, fKeyNbOfSamples, 0, fKeyFirstReqEvtNumber, fKeyLastReqEvtNumber, fKeyReqNbOfEvts, fKeyStexNumber);
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 
8151   fHistos->SetHistoMin(fKeyVminD_LFN_ChNb);
8152   fHistos->SetHistoMax(fKeyVmaxD_LFN_ChNb);
8153   fHistos->SetHistoScaleY(fKeyScaleY);
8154   fHistos->SetHistoScaleX(fKeyScaleX);
8155   fHistos->SetHistoColorPalette(fKeyColPal);
8156   fHistos->GeneralTitle(fKeyGeneralTitle);
8157   fHistos->FileParameters(
8158       fKeyAnaType, fKeyNbOfSamples, 0, fKeyFirstReqEvtNumber, fKeyLastReqEvtNumber, fKeyReqNbOfEvts, fKeyStexNumber);
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 
8178   fHistos->SetHistoMin(fKeyVminD_LFN_ChNb);
8179   fHistos->SetHistoMax(fKeyVmaxD_LFN_ChNb);
8180   fHistos->SetHistoScaleY(fKeyScaleY);
8181   fHistos->SetHistoScaleX(fKeyScaleX);
8182   fHistos->SetHistoColorPalette(fKeyColPal);
8183   fHistos->GeneralTitle(fKeyGeneralTitle);
8184   fHistos->FileParameters(
8185       fKeyAnaType, fKeyNbOfSamples, 0, fKeyFirstReqEvtNumber, fKeyLastReqEvtNumber, fKeyReqNbOfEvts, fKeyStexNumber);
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 
8205   fHistos->SetHistoMin(fKeyVminD_HFN_ChNb);
8206   fHistos->SetHistoMax(fKeyVmaxD_HFN_ChNb);
8207   fHistos->SetHistoScaleY(fKeyScaleY);
8208   fHistos->SetHistoScaleX(fKeyScaleX);
8209   fHistos->SetHistoColorPalette(fKeyColPal);
8210   fHistos->GeneralTitle(fKeyGeneralTitle);
8211   fHistos->FileParameters(
8212       fKeyAnaType, fKeyNbOfSamples, 0, fKeyFirstReqEvtNumber, fKeyLastReqEvtNumber, fKeyReqNbOfEvts, fKeyStexNumber);
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 
8232   fHistos->SetHistoMin(fKeyVminD_HFN_ChNb);
8233   fHistos->SetHistoMax(fKeyVmaxD_HFN_ChNb);
8234   fHistos->SetHistoScaleY(fKeyScaleY);
8235   fHistos->SetHistoScaleX(fKeyScaleX);
8236   fHistos->SetHistoColorPalette(fKeyColPal);
8237   fHistos->GeneralTitle(fKeyGeneralTitle);
8238   fHistos->FileParameters(
8239       fKeyAnaType, fKeyNbOfSamples, 0, fKeyFirstReqEvtNumber, fKeyLastReqEvtNumber, fKeyReqNbOfEvts, fKeyStexNumber);
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 
8259   fHistos->SetHistoMin(fKeyVminD_MCs_ChNb);
8260   fHistos->SetHistoMax(fKeyVmaxD_MCs_ChNb);
8261   fHistos->SetHistoScaleY(fKeyScaleY);
8262   fHistos->SetHistoScaleX(fKeyScaleX);
8263   fHistos->SetHistoColorPalette(fKeyColPal);
8264   fHistos->GeneralTitle(fKeyGeneralTitle);
8265   fHistos->FileParameters(
8266       fKeyAnaType, fKeyNbOfSamples, 0, fKeyFirstReqEvtNumber, fKeyLastReqEvtNumber, fKeyReqNbOfEvts, fKeyStexNumber);
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 
8286   fHistos->SetHistoMin(fKeyVminD_MCs_ChNb);
8287   fHistos->SetHistoMax(fKeyVmaxD_MCs_ChNb);
8288   fHistos->SetHistoScaleY(fKeyScaleY);
8289   fHistos->SetHistoScaleX(fKeyScaleX);
8290   fHistos->SetHistoColorPalette(fKeyColPal);
8291   fHistos->GeneralTitle(fKeyGeneralTitle);
8292   fHistos->FileParameters(
8293       fKeyAnaType, fKeyNbOfSamples, 0, fKeyFirstReqEvtNumber, fKeyLastReqEvtNumber, fKeyReqNbOfEvts, fKeyStexNumber);
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 
8313   fHistos->SetHistoMin(fKeyVminD_SCs_ChNb);
8314   fHistos->SetHistoMax(fKeyVmaxD_SCs_ChNb);
8315   fHistos->SetHistoScaleY(fKeyScaleY);
8316   fHistos->SetHistoScaleX(fKeyScaleX);
8317   fHistos->SetHistoColorPalette(fKeyColPal);
8318   fHistos->GeneralTitle(fKeyGeneralTitle);
8319   fHistos->FileParameters(
8320       fKeyAnaType, fKeyNbOfSamples, 0, fKeyFirstReqEvtNumber, fKeyLastReqEvtNumber, fKeyReqNbOfEvts, fKeyStexNumber);
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 
8340   fHistos->SetHistoMin(fKeyVminD_SCs_ChNb);
8341   fHistos->SetHistoMax(fKeyVmaxD_SCs_ChNb);
8342   fHistos->SetHistoScaleY(fKeyScaleY);
8343   fHistos->SetHistoScaleX(fKeyScaleX);
8344   fHistos->SetHistoColorPalette(fKeyColPal);
8345   fHistos->GeneralTitle(fKeyGeneralTitle);
8346   fHistos->FileParameters(
8347       fKeyAnaType, fKeyNbOfSamples, 0, fKeyFirstReqEvtNumber, fKeyLastReqEvtNumber, fKeyReqNbOfEvts, fKeyStexNumber);
8348   fHistos->PlotHistory("SCs", "NOR", run_par_file_name, cStexStin_A, i0StinEcha, first_same_plot);
8349 }
8350 
8351 //====================================================================================================
8352 
8353 void TEcnaGui::InitKeys() {
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);
8366   fKeyFileNameRunList = fKeyRunListInitCode.Data();
8367 
8368   fKeyNbOfSamples = fEcal->MaxSampADC();
8369   fKeyNbOfSamplesString = "10";  // ! THE NUMBER IN STRING MUST BE EQUAL TO fKeyNbOfSamples VALUE
8370 
8371   fKeyNbOfSampForCalc = fEcal->MaxSampADC();
8372   fKeyNbOfSampForCalcString = "10";  // ! THE NUMBER IN STRING MUST BE EQUAL TO fKeyNbOfSampForCalc VALUE
8373 
8374   fKeyRunNumber = 0;
8375 
8376   fKeyFirstReqEvtNumber = 1;
8377   fKeyFirstReqEvtNumberString = "1";  // ! THE NUMBER IN STRING MUST BE EQUAL TO fKeyFirstReqEvtNumber VALUE
8378 
8379   fKeyLastReqEvtNumber = 0;
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) {
8395       fKeyStinANumber = fEcalNumbering->Get1DeeSCEcnaFromDeeSCCons(fKeyStexNumber, 150);
8396       fKeyStinBNumber = fEcalNumbering->Get1DeeSCEcnaFromDeeSCCons(fKeyStexNumber, 150);
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.;
8413   fKeyVmaxD_NOE_ChNb = fKeyReqNbOfEvts + fKeyReqNbOfEvts / 3;
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 
8433   fKeyVminLHFcc = fKeyVminD_MCs_ChNb;
8434   fKeyVmaxLHFcc = fKeyVmaxD_MCs_ChNb;
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 }