Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef ZTR_TEcnaGui
0002 #define ZTR_TEcnaGui
0003 
0004 #include "TObject.h"
0005 #include "TSystem.h"
0006 
0007 #include "TROOT.h"
0008 
0009 #include "TApplication.h"
0010 #include "TGClient.h"
0011 #include "TRint.h"
0012 
0013 #include "TString.h"
0014 
0015 #include "TGButton.h"
0016 #include "TGWidget.h"
0017 #include "TGToolTip.h"
0018 #include "TGResourcePool.h"
0019 #include "TGCanvas.h"
0020 #include "TGWindow.h"
0021 #include "TGMenu.h"
0022 #include "TGFrame.h"
0023 #include "TGTextEntry.h"
0024 #include "TGLayout.h"
0025 #include "TGFont.h"
0026 
0027 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaObject.h"
0028 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaParEcal.h"
0029 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaNumbering.h"
0030 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaHistos.h"
0031 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaParHistos.h"
0032 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaRun.h"
0033 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaWrite.h"
0034 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaParPaths.h"
0035 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaParCout.h"
0036 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaRead.h"
0037 
0038 ///-----------------------------------------------------------
0039 ///   TEcnaGui.h
0040 ///   Update: 05/10/2012
0041 ///   Author:    B.Fabbro (bernard.fabbro@cea.fr)
0042 ///              DSM/IRFU/SPP CEA-Saclay
0043 ///   Copyright: Those valid for CEA sofware
0044 ///
0045 ///   ECNA web page:
0046 ///     http://cms-fabbro.web.cern.ch/cms-fabbro/
0047 ///     cna_new/Correlated_Noise_Analysis/ECNA_main_page.htm
0048 ///-----------------------------------------------------------
0049 ///
0050 /// This class provides a dialog box for ECNA (Ecal Correlated Noise Analysis)
0051 /// in the framework of ROOT Graphical User Interface (GUI)
0052 ///
0053 ///   In the following, "Stin", "Stex", "Stas" means:
0054 ///
0055 ///                 "Stin" = "Tower"  if the subdetector is "EB"
0056 ///                        = "SC"     if the subdetector is "EE"
0057 ///
0058 ///                 "Stex" = "SM"     if the subdetector is "EB"
0059 ///                        = "Dee"    if the subdetector is "EE"
0060 ///
0061 ///                 "Stas" = "EB"     if the subdetector is "EB"
0062 ///                        = "EE"     if the subdetector is "EE"
0063 ///
0064 ///
0065 ///==================== GUI DIALOG BOX PRESENTATION ==================
0066 ///
0067 /// line#
0068 ///
0069 ///
0070 ///   1      Analysis                      (button + input widget)
0071 ///          First requested event number  (button + input widget)
0072 ///          Run number                    (button + input widget)
0073 ///
0074 ///   2      Number of samples             (button + input widget)
0075 ///          Last requested event number   (button + input widget)
0076 ///          Clean                         (menu)
0077 ///          Submit                        (menu)
0078 ///
0079 ///   3      Stex number                   (button + input widget)
0080 ///          Requested number of events    (button + input widget)
0081 ///
0082 ///   4      Stex Stin numbering           (button)
0083 ///          Nb of events for calculations (button + input widget)
0084 ///          Calculations                  (menu)
0085 ///
0086 ///........................................................................
0087 ///
0088 ///   5      Number of events                  (menu)
0089 ///   6      Pedestals                         (menu)
0090 ///   7      Total noise                       (menu)
0091 ///   8      Low  frequency noise              (menu)
0092 ///   9      High frequency noise              (menu)
0093 ///  10      Mean cor(s,s')                    (menu)
0094 ///  11      Sigma of cor(s,s')                (menu)
0095 ///  12      GeoView LF,HF Cor(c,c') (expert)  (menu)
0096 ///  13      Mean LF |Cor(c,c')| in (tow,tow') (menu)
0097 ///  14      Mean LH |Cor(c,c')| in (tow,tow') (menu)
0098 ///
0099 ///........................................................................
0100 ///
0101 ///  15      Stin                            (button + input widget)
0102 ///          Stin'                           (button + input widget)
0103 ///  16      Stin Xtal Numbering             (button)
0104 ///  17      GeoView Cor(s,s') (expert)      (menu)
0105 ///
0106 ///  18      Low  Frequency Cor(Xtal Stin, Xtal Stin')   (menu)
0107 ///  19      High Frequency Cor(Xtal Stin, Xtal Stin')   (menu)
0108 ///
0109 ///...........................................................................
0110 ///
0111 ///  20      Channel number in Stin        (button + input widget)
0112 ///          Sample number                 (button + input widget)
0113 ///
0114 ///
0115 ///  21      Correlations between samples        (menu)
0116 ///  22      Covariances between samples         (menu)
0117 ///  23      Sample means                        (menu)
0118 ///  24      Sample sigmas                       (menu)
0119 ///
0120 ///  25      ADC sample values for (Xtal,Sample) (menu)
0121 ///
0122 ///............................................................................
0123 ///
0124 ///  26      List of run file name for history plots     (button + input widget)
0125 ///
0126 ///  27      Menu for history plots                      (menu)
0127 ///............................................................................
0128 ///
0129 ///  28      LOG X          (check button: OFF: LIN scale / ON: LOG scale)
0130 ///          LOG Y          (check button: OFF: LIN scale / ON: LOG scale)
0131 ///          Y projection   (check button: OFF: X = variable
0132 ///                                             Y = quantity
0133 ///                                        ON : X = quantity
0134 ///                                             Y = distribution of the variable)
0135 ///............................................................................
0136 ///
0137 ///  29      General Title for Plots  (button + input widget)
0138 ///
0139 ///  30      Colors         (check button: ON = Rainbow,   OFF = ECNAColor )
0140 ///          Exit                 (button)
0141 ///
0142 ///  31      Clone Last Canvas    (button)
0143 ///          ROOT version         (button)
0144 ///          Help                 (button)
0145 ///
0146 ///===============================================================================
0147 ///
0148 ///            Example of main program using the class TEcnaGui:
0149 ///
0150 ///%~%~%~%~%~%~%~%~%~%~%~%~%~~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~
0151 ///
0152 ///     #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaGui.h"
0153 ///     #include <cstdlib>
0154 ///
0155 ///     #include "Riostream.h"
0156 ///     #include "TROOT.h"
0157 ///     #include "TGApplication.h"
0158 ///     #include "TGClient.h"
0159 ///     #include "TRint.h"
0160 ///
0161 ///     #include <stdlib.h>
0162 ///     #include <string>
0163 ///     #include "TSystem.h"
0164 ///     #include "TObject.h"
0165 ///     #include "TGWindow.h"
0166 ///
0167 ///     #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaParPaths.h"
0168 ///
0169 ///     extern void InitGui();
0170 ///     VoidFuncPtr_t initfuncs[] = { InitGui, 0 };
0171 ///     TROOT root("GUI","GUI test environnement", initfuncs);
0172 ///
0173 ///     using namespace std;
0174 ///
0175 ///     int main(int argc, char **argv)
0176 ///     {
0177 ///       TEcnaObject* MyEcnaObjectManager = new TEcnaObject();
0178 ///       TEcnaParPaths* pCnaParPaths = new TEcnaParPaths(MyEcnaObjectManager);
0179 ///       if( pCnaParPaths->GetPaths() == kTRUE )
0180 ///         {
0181 ///           std::cout << "*EcnaGuiEB> Starting ROOT session" << std::endl;
0182 ///           TRint theApp("App", &argc, argv);
0183 ///
0184 ///           std::cout << "*EcnaGuiEB> Starting ECNA session" << std::endl;
0185 ///           TEcnaGui* mainWin = new TEcnaGui(MyEcnaObjectManager, "EB", gClient->GetRoot(), 395, 710);
0186 ///           mainWin->DialogBox();
0187 ///           Bool_t retVal = kTRUE;
0188 ///           theApp.Run(retVal);
0189 ///           std::cout << "*EcnaGuiEB> End of ECNA session." << std::endl;
0190 ///           delete mainWin;
0191 ///
0192 ///           std::cout << "*EcnaGuiEB> End of ROOT session." << std::endl;
0193 ///           theApp.Terminate(0);
0194 ///           std::cout << "*EcnaGuiEB> Exiting main program." << std::endl;
0195 ///           exit(0);
0196 ///         }
0197 ///     }
0198 ///
0199 ///
0200 ///%~%~%~%~%~%~%~%~%~%~%~%~%~~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~
0201 ///
0202 ///...........................................................................
0203 ///
0204 ///   Location of the ECNA web page:
0205 ///
0206 ///   http://cms-fabbro.web.cern.ch/cms-fabbro/
0207 ///   cna_new/Correlated_Noise_Analysis/ECNA_main_page.htm
0208 ///
0209 ///   For questions or comments, please send e-mail to: bernard.fabbro@cea.fr
0210 ///
0211 ///---------------------------------------------------------------------------------
0212 
0213 class TEcnaGui : public TGMainFrame {
0214 private:
0215   //..... Attributes
0216 
0217   Int_t fgMaxCar;  // Max nb of caracters for char*
0218 
0219   Int_t fCnew, fCdelete;
0220   Int_t fCnewRoot, fCdeleteRoot;
0221 
0222   TString fTTBELL;
0223 
0224   Int_t fCnaCommand, fCnaError;
0225 
0226   Int_t fConfirmSubmit;
0227   Int_t fConfirmRunNumber;
0228   TString fConfirmRunNumberString;
0229   Int_t fConfirmCalcScc;
0230 
0231   //==============================================. GUI box: menus, buttons,..
0232 
0233   TGWindow *fCnaP;
0234   UInt_t fCnaW, fCnaH;
0235   TString fSubDet;
0236   TString fStexName, fStinName;
0237 
0238   //------------------------------------------------------------------------------------
0239   TEcnaObject *fObjectManager;
0240   TEcnaHistos *fHistos;
0241   TEcnaParHistos *fCnaParHistos;
0242   TEcnaParPaths *fCnaParPaths;
0243   TEcnaParCout *fCnaParCout;
0244   TEcnaParEcal *fEcal;
0245   TEcnaNumbering *fEcalNumbering;
0246   TEcnaWrite *fCnaWrite;
0247   //TEcnaRead*          fMyRootFile;
0248 
0249   //------------------- General frame, void frame, standard layout
0250   TGLayoutHints *fLayoutGeneral, *fLayoutBottLeft, *fLayoutBottRight;
0251   TGLayoutHints *fLayoutTopLeft, *fLayoutTopRight;
0252   TGLayoutHints *fLayoutCenterYLeft, *fLayoutCenterYRight, *fLayoutCenterXTop;
0253 
0254   TGCompositeFrame *fVoidFrame;
0255 
0256   //===================== 1rst PART: SUBMIT, CALCULATIONS =======================================
0257 
0258   //++++++++++++++++++++++++++++++ Horizontal frame Analysis + First requested evt number + Run number
0259   TGCompositeFrame *fAnaNorsRunFrame;
0260   TGLayoutHints *fLayoutAnaNorsRunFrame;
0261   //--------------------------------- Sub-Frame Analysis Name (Button+Entry Field)
0262   TGCompositeFrame *fAnaFrame;
0263   TGTextButton *fAnaBut;
0264   Int_t fAnaButC;
0265   TGLayoutHints *fLayoutAnaBut;
0266   TGTextEntry *fAnaText;
0267   TGTextBuffer *fEntryAnaNumber;
0268   TGLayoutHints *fLayoutAnaField;
0269   //--------------------------------- Sub-Frame First requested event number (Button+Entry Field)
0270   TGCompositeFrame *fFevFrame;
0271   TGTextButton *fFevBut;
0272   TGLayoutHints *fLayoutFevBut;
0273   TGTextEntry *fFevText;
0274   TGTextBuffer *fEntryFevNumber;
0275   TGLayoutHints *fLayoutFevFieldText;
0276   TGLayoutHints *fLayoutFevFieldFrame;
0277   //-------------------------------- Sub-Frame Run number (Button+Entry Field)
0278   TGCompositeFrame *fRunFrame;
0279   TGTextButton *fRunBut;
0280   Int_t fRunButC;
0281   TGLayoutHints *fLayoutRunBut;
0282   TGTextEntry *fRunText;
0283   TGTextBuffer *fEntryRunNumber;
0284   TGLayoutHints *fLayoutRunField;
0285 
0286   //++++++++++++++++++++++++ Horizontal frame Nb Of Samples + last requested events + Clean + Submit
0287   TGCompositeFrame *fFevLevStexFrame;
0288   TGLayoutHints *fLayoutFevLevStexFrame;
0289   //--------------------------------- Sub-Frame Number Of Requested Samples (Button+Entry Field)
0290   TGCompositeFrame *fNorsFrame;
0291   TGTextButton *fNorsBut;
0292   Int_t fNorsButC;
0293   TGLayoutHints *fLayoutNorsBut;
0294   TGTextEntry *fNorsText;
0295   TGTextBuffer *fEntryNorsNumber;
0296   TGLayoutHints *fLayoutNorsField;
0297 
0298   //--------------------------------- Sub-Frame Last requested event (Button+Entry Field)
0299   TGCompositeFrame *fLevFrame;
0300   TGTextButton *fLevBut;
0301   TGLayoutHints *fLayoutLevBut;
0302   TGTextEntry *fLevText;
0303   TGTextBuffer *fEntryLevNumber;
0304   TGLayoutHints *fLayoutLevFieldText;
0305   TGLayoutHints *fLayoutLevFieldFrame;
0306   //------------------------------------------- Clean Menu
0307   TGPopupMenu *fMenuClean;
0308   TGMenuBar *fMenuBarClean;
0309   Int_t fMenuCleanSubC, fMenuCleanJobC, fMenuCleanPythC, fMenuCleanAllC;
0310   TGLayoutHints *fLayoutRunCleanFrame;
0311   //------------------------------------------- Submit Menu
0312   TGPopupMenu *fMenuSubmit;
0313   TGMenuBar *fMenuBarSubmit;
0314   Int_t fMenuSubmit8nmC, fMenuSubmit1nhC, fMenuSubmit8nhC, fMenuSubmit1ndC, fMenuSubmit1nwC;
0315 
0316   //++++++++++++++++++++++++++++++  Horizontal Frame:Stex number + NbOfReqEvts
0317   TGCompositeFrame *fCompStRqFrame;
0318   TGLayoutHints *fLayoutCompStRqFrame;
0319   //--------------------------------- Sub-Frame Stex Number
0320   TGCompositeFrame *fStexFrame;
0321   TGTextButton *fStexBut;
0322   TGLayoutHints *fLayoutStexBut;
0323   TGTextEntry *fStexText;
0324   TGTextBuffer *fEntryStexNumber;
0325   TGLayoutHints *fLayoutStexFieldText;
0326   TGLayoutHints *fLayoutStexFieldFrame;
0327 
0328   //--------------------------------- Sub-Frame Number of requested Events (Button+Entry Field)
0329   TGCompositeFrame *fRevFrame;
0330   TGTextButton *fRevBut;
0331   TGLayoutHints *fLayoutRevBut;
0332   TGTextEntry *fRevText;
0333   TGTextBuffer *fEntryRevNumber;
0334   TGLayoutHints *fLayoutRevFieldText;
0335   TGLayoutHints *fLayoutRevFieldFrame;
0336 
0337   //++++++++++++++++++++++++++++++  Horizontal StexStin numbering + Calculations
0338   TGCompositeFrame *fCompStnbFrame;
0339   TGLayoutHints *fLayoutCompStnbFrame;
0340 
0341   //------------------------------------------- Stex Stin Numbering view (Button)
0342   TGTextButton *fButStexNb;
0343   Int_t fButStexNbC;
0344   TGLayoutHints *fLayoutStexNbBut;
0345   //--------------------------------- Sub-Frame NbSamp for calculation
0346   TGCompositeFrame *fNbSampForCalcFrame;
0347   TGTextButton *fNbSampForCalcBut;
0348   TGLayoutHints *fLayoutNbSampForCalcBut;
0349   TGTextEntry *fNbSampForCalcText;
0350   TGTextBuffer *fEntryNbSampForCalcNumber;
0351   TGLayoutHints *fLayoutNbSampForCalcFieldText;
0352   TGLayoutHints *fLayoutNbSampForCalcFieldFrame;
0353   //------------------------------------------- CALCULATION (comput) Menu
0354   TGPopupMenu *fMenuComput;
0355   TGMenuBar *fMenuBarComput;
0356   Int_t fMenuComputStdC, fMenuComputSccC, fMenuComputSttC;
0357   TGLayoutHints *fLayoutRunComputFrame;
0358 
0359   //=========================== 2nd PART: STEXs ================================================
0360 
0361   //+++++++++++++++++++++++++++++++++++++++++++ Frame for quantities relative to the Stex
0362   TGCompositeFrame *fStexUpFrame;
0363 
0364   //................................ Menus+Ymin+Ymax for the Stex ............................
0365 
0366   //...................................... Found evts in the data
0367 
0368   TGCompositeFrame *fVmmD_NOE_ChNbFrame;
0369 
0370   TGCompositeFrame *fVmaxD_NOE_ChNbFrame;
0371   TGTextButton *fVmaxD_NOE_ChNbBut;
0372   TGLayoutHints *fLayoutVmaxD_NOE_ChNbBut;
0373   TGTextBuffer *fEntryVmaxD_NOE_ChNbNumber;
0374   TGTextEntry *fVmaxD_NOE_ChNbText;
0375   TGLayoutHints *fLayoutVmaxD_NOE_ChNbFieldText;
0376   TGLayoutHints *fLayoutVmaxD_NOE_ChNbFrame;
0377 
0378   TGCompositeFrame *fVminD_NOE_ChNbFrame;
0379   TGTextButton *fVminD_NOE_ChNbBut;
0380   TGLayoutHints *fLayoutVminD_NOE_ChNbBut;
0381   TGTextBuffer *fEntryVminD_NOE_ChNbNumber;
0382   TGTextEntry *fVminD_NOE_ChNbText;
0383   TGLayoutHints *fLayoutVminD_NOE_ChNbFieldText;
0384   TGLayoutHints *fLayoutVminD_NOE_ChNbFrame;
0385 
0386   TGPopupMenu *fMenuD_NOE_ChNb;
0387   TGMenuBar *fMenuBarD_NOE_ChNb;
0388   TGLayoutHints *fLayoutMenuBarD_NOE_ChNb;
0389   Int_t fMenuD_NOE_ChNbFullC;
0390   Int_t fMenuD_NOE_ChNbSameC;
0391   Int_t fMenuD_NOE_ChNbHocoVecoC;
0392   Int_t fMenuD_NOE_ChNbAsciiFileC;
0393 
0394   TGLayoutHints *fLayoutVmmD_NOE_ChNbFrame;
0395 
0396   //................................... Horizontal frame Pedestals, noises, cor(s,s)
0397   TGCompositeFrame *fStexHozFrame;
0398 
0399   //------------------------------------------------------------- (PEDESTALS)
0400   TGCompositeFrame *fVmmD_Ped_ChNbFrame;
0401 
0402   TGCompositeFrame *fVmaxD_Ped_ChNbFrame;
0403   TGTextButton *fVmaxD_Ped_ChNbBut;
0404   TGLayoutHints *fLayoutVmaxD_Ped_ChNbBut;
0405   TGTextEntry *fVmaxD_Ped_ChNbText;
0406   TGTextBuffer *fEntryVmaxD_Ped_ChNbNumber;
0407   TGLayoutHints *fLayoutVmaxD_Ped_ChNbFieldText;
0408   TGLayoutHints *fLayoutVmaxD_Ped_ChNbFrame;
0409 
0410   TGCompositeFrame *fVminD_Ped_ChNbFrame;
0411   TGTextButton *fVminD_Ped_ChNbBut;
0412   TGLayoutHints *fLayoutVminD_Ped_ChNbBut;
0413   TGTextEntry *fVminD_Ped_ChNbText;
0414   TGTextBuffer *fEntryVminD_Ped_ChNbNumber;
0415   TGLayoutHints *fLayoutVminD_Ped_ChNbFieldText;
0416   TGLayoutHints *fLayoutVminD_Ped_ChNbFrame;
0417 
0418   TGPopupMenu *fMenuD_Ped_ChNb;
0419   TGMenuBar *fMenuBarD_Ped_ChNb;
0420   TGLayoutHints *fLayoutMenuBarD_Ped_ChNb;
0421   Int_t fMenuD_Ped_ChNbFullC;
0422   Int_t fMenuD_Ped_ChNbSameC;
0423   Int_t fMenuD_Ped_ChNbHocoVecoC;
0424   Int_t fMenuD_Ped_ChNbAsciiFileC;
0425 
0426   TGLayoutHints *fLayoutVmmD_Ped_ChNbFrame;
0427 
0428   //---------------------------------------------------- (TOTAL NOISE)
0429   TGCompositeFrame *fVmmD_TNo_ChNbFrame;
0430 
0431   TGCompositeFrame *fVmaxD_TNo_ChNbFrame;
0432   TGTextButton *fVmaxD_TNo_ChNbBut;
0433   TGLayoutHints *fLayoutVmaxD_TNo_ChNbBut;
0434   TGTextBuffer *fEntryVmaxD_TNo_ChNbNumber;
0435   TGTextEntry *fVmaxD_TNo_ChNbText;
0436   TGLayoutHints *fLayoutVmaxD_TNo_ChNbFieldText;
0437   TGLayoutHints *fLayoutVmaxD_TNo_ChNbFrame;
0438 
0439   TGCompositeFrame *fVminD_TNo_ChNbFrame;
0440   TGTextButton *fVminD_TNo_ChNbBut;
0441   TGLayoutHints *fLayoutVminD_TNo_ChNbBut;
0442   TGTextBuffer *fEntryVminD_TNo_ChNbNumber;
0443   TGTextEntry *fVminD_TNo_ChNbText;
0444   TGLayoutHints *fLayoutVminD_TNo_ChNbFieldText;
0445   TGLayoutHints *fLayoutVminD_TNo_ChNbFrame;
0446 
0447   TGPopupMenu *fMenuD_TNo_ChNb;
0448   TGMenuBar *fMenuBarD_TNo_ChNb;
0449   TGLayoutHints *fLayoutMenuBarD_TNo_ChNb;
0450   Int_t fMenuD_TNo_ChNbFullC;
0451   Int_t fMenuD_TNo_ChNbSameC;
0452   Int_t fMenuD_TNo_ChNbSamePC;
0453   Int_t fMenuD_TNo_ChNbHocoVecoC;
0454   Int_t fMenuD_TNo_ChNbAsciiFileC;
0455 
0456   TGLayoutHints *fLayoutVmmD_TNo_ChNbFrame;
0457 
0458   //--------------------------------------------------------- (LOW FREQUENCY NOISE)
0459   TGCompositeFrame *fVmmD_LFN_ChNbFrame;
0460 
0461   TGCompositeFrame *fVmaxD_LFN_ChNbFrame;
0462   TGTextButton *fVmaxD_LFN_ChNbBut;
0463   TGLayoutHints *fLayoutVmaxD_LFN_ChNbBut;
0464   TGTextEntry *fVmaxD_LFN_ChNbText;
0465   TGTextBuffer *fEntryVmaxD_LFN_ChNbNumber;
0466   TGLayoutHints *fLayoutVmaxD_LFN_ChNbFieldText;
0467   TGLayoutHints *fLayoutVmaxD_LFN_ChNbFrame;
0468 
0469   TGCompositeFrame *fVminD_LFN_ChNbFrame;
0470   TGTextButton *fVminD_LFN_ChNbBut;
0471   TGLayoutHints *fLayoutVminD_LFN_ChNbBut;
0472   TGTextBuffer *fEntryVminD_LFN_ChNbNumber;
0473   TGTextEntry *fVminD_LFN_ChNbText;
0474   TGLayoutHints *fLayoutVminD_LFN_ChNbFieldText;
0475   TGLayoutHints *fLayoutVminD_LFN_ChNbFrame;
0476 
0477   TGPopupMenu *fMenuD_LFN_ChNb;
0478   TGMenuBar *fMenuBarD_LFN_ChNb;
0479   TGLayoutHints *fLayoutMenuBarD_LFN_ChNb;
0480   Int_t fMenuD_LFN_ChNbFullC;
0481   Int_t fMenuD_LFN_ChNbSameC;
0482   Int_t fMenuD_LFN_ChNbSamePC;
0483   Int_t fMenuD_LFN_ChNbHocoVecoC;
0484   Int_t fMenuD_LFN_ChNbAsciiFileC;
0485 
0486   TGLayoutHints *fLayoutVmmD_LFN_ChNbFrame;
0487 
0488   //---------------------------------------------- (HIGH FREQUENCY NOISE)
0489   TGCompositeFrame *fVmmD_HFN_ChNbFrame;
0490 
0491   TGCompositeFrame *fVmaxD_HFN_ChNbFrame;
0492   TGTextButton *fVmaxD_HFN_ChNbBut;
0493   TGLayoutHints *fLayoutVmaxD_HFN_ChNbBut;
0494   TGTextEntry *fVmaxD_HFN_ChNbText;
0495   TGTextBuffer *fEntryVmaxD_HFN_ChNbNumber;
0496   TGLayoutHints *fLayoutVmaxD_HFN_ChNbFieldText;
0497   TGLayoutHints *fLayoutVmaxD_HFN_ChNbFrame;
0498 
0499   TGCompositeFrame *fVminD_HFN_ChNbFrame;
0500   TGTextButton *fVminD_HFN_ChNbBut;
0501   TGLayoutHints *fLayoutVminD_HFN_ChNbBut;
0502   TGTextBuffer *fEntryVminD_HFN_ChNbNumber;
0503   TGTextEntry *fVminD_HFN_ChNbText;
0504   TGLayoutHints *fLayoutVminD_HFN_ChNbFieldText;
0505   TGLayoutHints *fLayoutVminD_HFN_ChNbFrame;
0506 
0507   TGPopupMenu *fMenuD_HFN_ChNb;
0508   TGMenuBar *fMenuBarD_HFN_ChNb;
0509   TGLayoutHints *fLayoutMenuBarD_HFN_ChNb;
0510   Int_t fMenuD_HFN_ChNbFullC;
0511   Int_t fMenuD_HFN_ChNbSameC;
0512   Int_t fMenuD_HFN_ChNbSamePC;
0513   Int_t fMenuD_HFN_ChNbHocoVecoC;
0514   Int_t fMenuD_HFN_ChNbAsciiFileC;
0515 
0516   TGLayoutHints *fLayoutVmmD_HFN_ChNbFrame;
0517 
0518   //--------------------------------------------------- (MEAN CORSS)
0519   TGCompositeFrame *fVmmD_MCs_ChNbFrame;
0520 
0521   TGCompositeFrame *fVmaxD_MCs_ChNbFrame;
0522   TGTextButton *fVmaxD_MCs_ChNbBut;
0523   TGLayoutHints *fLayoutVmaxD_MCs_ChNbBut;
0524   TGTextEntry *fVmaxD_MCs_ChNbText;
0525   TGTextBuffer *fEntryVmaxD_MCs_ChNbNumber;
0526   TGLayoutHints *fLayoutVmaxD_MCs_ChNbFieldText;
0527   TGLayoutHints *fLayoutVmaxD_MCs_ChNbFrame;
0528 
0529   TGCompositeFrame *fVminD_MCs_ChNbFrame;
0530   TGTextButton *fVminD_MCs_ChNbBut;
0531   TGLayoutHints *fLayoutVminD_MCs_ChNbBut;
0532   TGTextBuffer *fEntryVminD_MCs_ChNbNumber;
0533   TGTextEntry *fVminD_MCs_ChNbText;
0534   TGLayoutHints *fLayoutVminD_MCs_ChNbFieldText;
0535   TGLayoutHints *fLayoutVminD_MCs_ChNbFrame;
0536 
0537   TGPopupMenu *fMenuD_MCs_ChNb;
0538   TGMenuBar *fMenuBarD_MCs_ChNb;
0539   TGLayoutHints *fLayoutMenuBarD_MCs_ChNb;
0540   Int_t fMenuD_MCs_ChNbFullC;
0541   Int_t fMenuD_MCs_ChNbSameC;
0542   Int_t fMenuD_MCs_ChNbSamePC;
0543   Int_t fMenuD_MCs_ChNbHocoVecoC;
0544   Int_t fMenuD_MCs_ChNbAsciiFileC;
0545 
0546   TGLayoutHints *fLayoutVmmD_MCs_ChNbFrame;
0547 
0548   //---------------------------------------------- (SIGMA OF COR(S,S))
0549   TGCompositeFrame *fVmmD_SCs_ChNbFrame;
0550 
0551   TGCompositeFrame *fVmaxD_SCs_ChNbFrame;
0552   TGTextButton *fVmaxD_SCs_ChNbBut;
0553   TGLayoutHints *fLayoutVmaxD_SCs_ChNbBut;
0554   TGTextEntry *fVmaxD_SCs_ChNbText;
0555   TGTextBuffer *fEntryVmaxD_SCs_ChNbNumber;
0556   TGLayoutHints *fLayoutVmaxD_SCs_ChNbFieldText;
0557   TGLayoutHints *fLayoutVmaxD_SCs_ChNbFrame;
0558 
0559   TGCompositeFrame *fVminD_SCs_ChNbFrame;
0560   TGTextButton *fVminD_SCs_ChNbBut;
0561   TGLayoutHints *fLayoutVminD_SCs_ChNbBut;
0562   TGTextEntry *fVminD_SCs_ChNbText;
0563   TGTextBuffer *fEntryVminD_SCs_ChNbNumber;
0564   TGLayoutHints *fLayoutVminD_SCs_ChNbFieldText;
0565   TGLayoutHints *fLayoutVminD_SCs_ChNbFrame;
0566 
0567   TGPopupMenu *fMenuD_SCs_ChNb;
0568   TGMenuBar *fMenuBarD_SCs_ChNb;
0569   TGLayoutHints *fLayoutMenuBarD_SCs_ChNb;
0570   Int_t fMenuD_SCs_ChNbFullC;
0571   Int_t fMenuD_SCs_ChNbSameC;
0572   Int_t fMenuD_SCs_ChNbSamePC;
0573   Int_t fMenuD_SCs_ChNbHocoVecoC;
0574   Int_t fMenuD_SCs_ChNbAsciiFileC;
0575 
0576   TGLayoutHints *fLayoutVmmD_SCs_ChNbFrame;
0577 
0578   //----------------------------------------------------------------------------------
0579 
0580   TGLayoutHints *fLayoutStexHozFrame;
0581 
0582   //...................................... LF and HF Correlations between channels
0583   TGCompositeFrame *fVmmLHFccFrame;
0584 
0585   TGCompositeFrame *fVmaxLHFccFrame;
0586   TGTextButton *fVmaxLHFccBut;
0587   TGLayoutHints *fLayoutVmaxLHFccBut;
0588   TGTextEntry *fVmaxLHFccText;
0589   TGTextBuffer *fEntryVmaxLHFccNumber;
0590   TGLayoutHints *fLayoutVmaxLHFccFieldText;
0591   TGLayoutHints *fLayoutVmaxLHFccFrame;
0592 
0593   TGCompositeFrame *fVminLHFccFrame;
0594   TGTextButton *fVminLHFccBut;
0595   TGLayoutHints *fLayoutVminLHFccBut;
0596   TGTextBuffer *fEntryVminLHFccNumber;
0597   TGTextEntry *fVminLHFccText;
0598   TGLayoutHints *fLayoutVminLHFccFieldText;
0599   TGLayoutHints *fLayoutVminLHFccFrame;
0600 
0601   TGPopupMenu *fMenuLHFcc;
0602   TGMenuBar *fMenuBarLHFcc;
0603   TGLayoutHints *fLayoutMenuBarLHFcc;
0604   Int_t fMenuLFccColzC, fMenuLFccLegoC, fMenuHFccColzC, fMenuHFccLegoC;
0605 
0606   TGLayoutHints *fLayoutVmmLHFccFrame;
0607 
0608   //...................................... Low Freq Mean Cor(c,c) for each pair of Stins
0609   TGCompositeFrame *fVmmLFccMosFrame;
0610 
0611   TGCompositeFrame *fVmaxLFccMosFrame;
0612   TGTextButton *fVmaxLFccMosBut;
0613   TGLayoutHints *fLayoutVmaxLFccMosBut;
0614   TGTextEntry *fVmaxLFccMosText;
0615   TGTextBuffer *fEntryVmaxLFccMosNumber;
0616   TGLayoutHints *fLayoutVmaxLFccMosFieldText;
0617   TGLayoutHints *fLayoutVmaxLFccMosFrame;
0618 
0619   TGCompositeFrame *fVminLFccMosFrame;
0620   TGTextButton *fVminLFccMosBut;
0621   TGLayoutHints *fLayoutVminLFccMosBut;
0622   TGTextEntry *fVminLFccMosText;
0623   TGTextBuffer *fEntryVminLFccMosNumber;
0624   TGLayoutHints *fLayoutVminLFccMosFieldText;
0625   TGLayoutHints *fLayoutVminLFccMosFrame;
0626 
0627   TGPopupMenu *fMenuLFccMos;
0628   TGMenuBar *fMenuBarLFccMos;
0629   TGLayoutHints *fLayoutMenuBarLFccMos;
0630   Int_t fMenuLFccMosColzC, fMenuLFccMosLegoC;
0631 
0632   TGLayoutHints *fLayoutVmmLFccMosFrame;
0633 
0634   //...................................... High Freq Mean Cor(c,c) for each pair of Stins
0635   TGCompositeFrame *fVmmHFccMosFrame;
0636 
0637   TGCompositeFrame *fVmaxHFccMosFrame;
0638   TGTextButton *fVmaxHFccMosBut;
0639   TGLayoutHints *fLayoutVmaxHFccMosBut;
0640   TGTextEntry *fVmaxHFccMosText;
0641   TGTextBuffer *fEntryVmaxHFccMosNumber;
0642   TGLayoutHints *fLayoutVmaxHFccMosFieldText;
0643   TGLayoutHints *fLayoutVmaxHFccMosFrame;
0644 
0645   TGCompositeFrame *fVminHFccMosFrame;
0646   TGTextButton *fVminHFccMosBut;
0647   TGLayoutHints *fLayoutVminHFccMosBut;
0648   TGTextEntry *fVminHFccMosText;
0649   TGTextBuffer *fEntryVminHFccMosNumber;
0650   TGLayoutHints *fLayoutVminHFccMosFieldText;
0651   TGLayoutHints *fLayoutVminHFccMosFrame;
0652 
0653   TGPopupMenu *fMenuHFccMos;
0654   TGMenuBar *fMenuBarHFccMos;
0655   TGLayoutHints *fLayoutMenuBarHFccMos;
0656   Int_t fMenuHFccMosColzC, fMenuHFccMosLegoC;
0657 
0658   TGLayoutHints *fLayoutVmmHFccMosFrame;
0659 
0660   TGLayoutHints *fLayoutStexUpFrame;
0661 
0662   //================================= 3rd PART: STINs ================================================
0663 
0664   //+++++++++++++++++++++++++++++++++++++++++ Horizontal frame Stin_A + Stin_B
0665   TGCompositeFrame *fStinSpFrame;
0666 
0667   //----------------------------------- SubFrame Stin_A (Button + EntryField)
0668   TGCompositeFrame *fTxSubFrame;
0669 
0670   TGCompositeFrame *fStinAFrame;
0671   TGTextButton *fStinABut;
0672   Int_t fStinAButC;
0673   TGLayoutHints *fLayoutStinABut;
0674   TGTextBuffer *fEntryStinANumber;
0675   TGTextEntry *fStinAText;
0676   TGLayoutHints *fLayoutStinAField;
0677 
0678   //............................ Stin Crystal Numbering view (Button)
0679   TGTextButton *fButChNb;
0680   Int_t fButChNbC;
0681   TGLayoutHints *fLayoutChNbBut;
0682 
0683   //............................ Menus Stin_A
0684   TGPopupMenu *fMenuCorssAll;
0685   TGMenuBar *fMenuBarCorssAll;
0686   Int_t fMenuCorssAllColzC, fMenuCovssAllColzC;
0687 
0688   //TGPopupMenu        *fMenuCovssAll;
0689   //TGMenuBar          *fMenuBarCovssAll;
0690   //Int_t               fMenuCovssAllColzC;
0691 
0692   TGLayoutHints *fLayoutTxSubFrame;
0693 
0694   //----------------------------------- SubFrame Stin_B (Button + EntryField)
0695   TGCompositeFrame *fTySubFrame;
0696 
0697   TGCompositeFrame *fStinBFrame;
0698   TGTextButton *fStinBBut;
0699   Int_t fStinBButC;
0700   TGLayoutHints *fLayoutStinBBut;
0701   TGTextBuffer *fEntryStinBNumber;
0702   TGTextEntry *fStinBText;
0703   TGLayoutHints *fLayoutStinBField;
0704 
0705   TGLayoutHints *fLayoutTySubFrame;
0706 
0707   TGLayoutHints *fLayoutStinSpFrame;
0708 
0709   //.................................. Menus for Horizontal frame (Stin_A + Stin_B)
0710   TGPopupMenu *fMenuLFCorcc;
0711   TGMenuBar *fMenuBarLFCorcc;
0712   Int_t fMenuLFCorccColzC, fMenuLFCorccLegoC;
0713 
0714   TGPopupMenu *fMenuHFCorcc;
0715   TGMenuBar *fMenuBarHFCorcc;
0716   Int_t fMenuHFCorccColzC, fMenuHFCorccLegoC;
0717 
0718   //======================== 4th PART:CHANNEL, SAMPLE ================================================
0719 
0720   //++++++++++++++++++++++++ Horizontal frame channel number (Stin_A crystal number) + sample number
0721   TGCompositeFrame *fChSpFrame;
0722 
0723   //------------------------------------- SubFrame Channel (Button + EntryField)
0724   TGCompositeFrame *fChSubFrame;
0725 
0726   TGCompositeFrame *fChanFrame;
0727   TGTextButton *fChanBut;
0728   Int_t fChanButC;
0729   TGLayoutHints *fLayoutChanBut;
0730   TGTextBuffer *fEntryChanNumber;
0731   TGTextEntry *fChanText;
0732   TGLayoutHints *fLayoutChanField;
0733 
0734   //................................ Menus Stin_A crystal number
0735   TGPopupMenu *fMenuCorss;
0736   TGMenuBar *fMenuBarCorss;
0737   Int_t fMenuCorssColzC, fMenuCorssBoxC, fMenuCorssTextC;
0738   Int_t fMenuCorssContzC, fMenuCorssLegoC;
0739   Int_t fMenuCorssSurf1C, fMenuCorssSurf2C, fMenuCorssSurf3C, fMenuCorssSurf4C;
0740   Int_t fMenuCorssAsciiFileC;
0741 
0742   TGPopupMenu *fMenuCovss;
0743   TGMenuBar *fMenuBarCovss;
0744   Int_t fMenuCovssColzC, fMenuCovssBoxC, fMenuCovssTextC;
0745   Int_t fMenuCovssContzC, fMenuCovssLegoC;
0746   Int_t fMenuCovssSurf1C, fMenuCovssSurf2C, fMenuCovssSurf3C, fMenuCovssSurf4C;
0747   Int_t fMenuCovssAsciiFileC;
0748 
0749   TGPopupMenu *fMenuD_MSp_SpNb;
0750   TGMenuBar *fMenuBarD_MSp_SpNb;
0751   Int_t fMenuD_MSp_SpNbLineFullC, fMenuD_MSp_SpNbLineSameC, fMenuD_MSp_SpNbLineAllStinC;
0752 
0753   TGPopupMenu *fMenuD_MSp_SpDs;
0754   TGMenuBar *fMenuBarD_MSp_SpDs;
0755   Int_t fMenuD_MSp_SpDsLineFullC, fMenuD_MSp_SpDsLineSameC, fMenuD_MSp_SpDsLineAllStinC;
0756 
0757   TGPopupMenu *fMenuD_SSp_SpNb;
0758   TGMenuBar *fMenuBarD_SSp_SpNb;
0759   Int_t fMenuD_SSp_SpNbLineFullC, fMenuD_SSp_SpNbLineSameC, fMenuD_SSp_SpNbLineAllStinC;
0760 
0761   TGPopupMenu *fMenuD_SSp_SpDs;
0762   TGMenuBar *fMenuBarD_SSp_SpDs;
0763   Int_t fMenuD_SSp_SpDsLineFullC, fMenuD_SSp_SpDsLineSameC, fMenuD_SSp_SpDsLineAllStinC;
0764 
0765   TGLayoutHints *fLayoutChSubFrame;
0766 
0767   //------------------------------------ SubFrame Sample (Button + EntryField)
0768   TGCompositeFrame *fSpSubFrame;
0769 
0770   TGCompositeFrame *fSampFrame;
0771   TGTextButton *fSampBut;
0772   TGLayoutHints *fLayoutSampBut;
0773   Int_t fSampButC;
0774   TGTextEntry *fSampText;
0775   TGTextBuffer *fEntrySampNumber;
0776   TGLayoutHints *fLayoutSampField;
0777 
0778   TGLayoutHints *fLayoutSpSubFrame;
0779 
0780   //................................ Menus Sample number
0781 
0782   //     (no menu in this SubFrame)
0783 
0784   TGLayoutHints *fLayoutChSpFrame;
0785 
0786   //++++++++++++++++++++++++++++++++++++ Menu Adc count Distribution
0787   TGPopupMenu *fMenuAdcProj;
0788   TGMenuBar *fMenuBarAdcProj;
0789   TGLayoutHints *fLayoutMenuBarAdcProj;
0790   Int_t fMenuAdcProjLineLinyFullC, fMenuAdcProjLineLinySameC;
0791   Int_t fMenuAdcProjSampLineFullC, fMenuAdcProjSampLineSameC;
0792 
0793   //========================= 5th PART: HISTORY PLOTS ================================================
0794 
0795   //++++++++++++++++++++++++++++++++++++ Frame: Run List (Rul) (Button + EntryField)
0796   TGCompositeFrame *fRulFrame;
0797   TGTextButton *fRulBut;
0798   TGLayoutHints *fLayoutRulBut;
0799   TGTextEntry *fRulText;
0800   TGTextBuffer *fEntryRulNumber;
0801   TGLayoutHints *fLayoutRulFieldText;
0802   TGLayoutHints *fLayoutRulFieldFrame;
0803 
0804   //................................ Menus for history plots
0805   TGPopupMenu *fMenuHistory;
0806   TGMenuBar *fMenuBarHistory;
0807   Int_t fMenuH_Ped_DatePolmFullC, fMenuH_Ped_DatePolmSameC;
0808   Int_t fMenuH_TNo_DatePolmFullC, fMenuH_TNo_DatePolmSameC, fMenuH_TNo_DatePolmSamePC;
0809   Int_t fMenuH_LFN_DatePolmFullC, fMenuH_LFN_DatePolmSameC, fMenuH_LFN_DatePolmSamePC;
0810   Int_t fMenuH_HFN_DatePolmFullC, fMenuH_HFN_DatePolmSameC, fMenuH_HFN_DatePolmSamePC;
0811   Int_t fMenuH_MCs_DatePolmFullC, fMenuH_MCs_DatePolmSameC, fMenuH_MCs_DatePolmSamePC;
0812   Int_t fMenuH_SCs_DatePolmFullC, fMenuH_SCs_DatePolmSameC, fMenuH_SCs_DatePolmSamePC;
0813 
0814   //========================= 6th PART: LAST BUTTONS ================================================
0815 
0816   //++++++++++++++++++++++++++++++++++++ Lin/Log X +  Lin/Log Y + Projection along Y axis Frame
0817   TGCompositeFrame *fLinLogFrame;
0818 
0819   //---------------------------------- Lin/Log X
0820   TGCheckButton *fButLogx;
0821   Int_t fButLogxC;
0822   TGLayoutHints *fLayoutLogxBut;
0823   //---------------------------------- Lin/Log Y
0824   TGCheckButton *fButLogy;
0825   Int_t fButLogyC;
0826   TGLayoutHints *fLayoutLogyBut;
0827 
0828   //---------------------------------- Projection on Y axis
0829   TGCheckButton *fButProjy;
0830   Int_t fButProjyC;
0831   TGLayoutHints *fLayoutProjyBut;
0832 
0833   //++++++++++++++++++++++++++++++++++++ Frame: General title (Gent) (Button + EntryField)
0834   TGCompositeFrame *fGentFrame;
0835   TGTextButton *fGentBut;
0836   TGLayoutHints *fLayoutGentBut;
0837   TGTextEntry *fGentText;
0838   TGTextBuffer *fEntryGentNumber;
0839   TGLayoutHints *fLayoutGentFieldText;
0840   TGLayoutHints *fLayoutGentFieldFrame;
0841 
0842   //++++++++++++++++++++++++++++++++++++ Color palette + EXIT BUTTON frame
0843   TGCompositeFrame *fColorExitFrame;
0844   TGLayoutHints *fLayoutColorExitFrame;
0845 
0846   //---------------------------------- Color palette
0847   TGCheckButton *fButColPal;
0848   Int_t fButColPalC;
0849   TGLayoutHints *fLayoutColPalBut;
0850   //---------------------------------- Exit
0851   TGTextButton *fButExit;
0852   Int_t fButExitC;
0853   TGLayoutHints *fLayoutExitBut;
0854 
0855   //++++++++++++++++++++++++++++++++++++ Last Frame
0856   TGCompositeFrame *fLastFrame;
0857 
0858   //--------------------------------- Clone Last Canvas (Button)
0859   TGTextButton *fButClone;
0860   Int_t fButCloneC;
0861   TGLayoutHints *fLayoutCloneBut;
0862   //--------------------------------- Root version (Button)
0863   TGTextButton *fButRoot;
0864   Int_t fButRootC;
0865   TGLayoutHints *fLayoutRootBut;
0866   //--------------------------------- Help (Button)
0867   TGTextButton *fButHelp;
0868   Int_t fButHelpC;
0869   TGLayoutHints *fLayoutHelpBut;
0870 
0871   //==================================================== Miscellaneous parameters
0872 
0873   //std::ofstream fFcout_f;
0874 
0875   TString fKeyAnaType;  // Type of analysis
0876 
0877   Int_t fKeyNbOfSamples;                // Nb of required samples (file)
0878   TString fKeyNbOfSamplesString;        // Nb of required samples (file) in TString
0879   Int_t fKeyRunNumber;                  // Run number
0880   TString fKeyRunNumberString;          // Run number characters in TString
0881   Int_t fKeyFirstReqEvtNumber;          // First requested event number
0882   TString fKeyFirstReqEvtNumberString;  // First requested event number in TString
0883   Int_t fKeyLastReqEvtNumber;           // Last requested event number
0884   TString fKeyLastReqEvtNumberString;   // Last requested event number in TString
0885   Int_t fKeyReqNbOfEvts;                // Requested number of events
0886   TString fKeyReqNbOfEvtsString;        // Requested number of events in TString
0887 
0888   Int_t fKeyStexNumber;               // Stex number
0889   TString fKeyStexNumberString;       // Stex number in TString
0890   Int_t fKeyNbOfSampForCalc;          // Nb of required samples (calculation)
0891   TString fKeyNbOfSampForCalcString;  // Nb of required samples (calculation) in TString
0892 
0893   TString fKeyFileNameRunList;  // Name of the file containing the run parameters list
0894   TString fKeyRunListInitCode;
0895   //TString  fKeyPyf;               //  Name of file containing the data file names
0896   //                                // which are in the "source" sector of the python file
0897 
0898   TString fPythonFileName;  //  python file name (for cmsRun)
0899 
0900   TString fKeyScaleX;
0901   TString fKeyScaleY;
0902   TString fKeyProjY;
0903   TString fKeyColPal;
0904   TString fKeyGeneralTitle;  // General title for the plots
0905 
0906   //................... VISUALIZATION PARAMETERS
0907 
0908   Int_t fKeyStinANumber;  // Stin X number
0909   Int_t fKeyStinBNumber;  // Stin Y number
0910   Int_t fKeyChanNumber;   // Channel number
0911   Int_t fKeySampNumber;   // Sample number
0912 
0913   //................... ymin and ymax values
0914 
0915   Double_t fKeyVminD_NOE_ChNb;
0916   Double_t fKeyVmaxD_NOE_ChNb;
0917 
0918   Double_t fKeyVminD_Ped_ChNb;
0919   Double_t fKeyVmaxD_Ped_ChNb;
0920 
0921   Double_t fKeyVminD_TNo_ChNb;
0922   Double_t fKeyVmaxD_TNo_ChNb;
0923 
0924   Double_t fKeyVminD_MCs_ChNb;
0925   Double_t fKeyVmaxD_MCs_ChNb;
0926 
0927   Double_t fKeyVminD_LFN_ChNb;
0928   Double_t fKeyVmaxD_LFN_ChNb;
0929 
0930   Double_t fKeyVminD_HFN_ChNb;
0931   Double_t fKeyVmaxD_HFN_ChNb;
0932 
0933   Double_t fKeyVminD_SCs_ChNb;
0934   Double_t fKeyVmaxD_SCs_ChNb;
0935 
0936   Double_t fKeyVminLFccMos;
0937   Double_t fKeyVmaxLFccMos;
0938   Double_t fKeyVminHFccMos;
0939   Double_t fKeyVmaxHFccMos;
0940 
0941   Double_t fKeyVminLHFcc;
0942   Double_t fKeyVmaxLHFcc;
0943 
0944   //................... plot parameters (for onlyone,same options)
0945 
0946   TString fMemoScaleX;
0947   TString fMemoScaleY;
0948   TString fMemoProjY;
0949 
0950   TString fMemoColPal;
0951 
0952   TString fOptPlotFull;
0953   TString fOptPlotSame;
0954   TString fOptPlotSameP;
0955   TString fOptPlotSameInStin;
0956   TString fOptAscii;
0957 
0958   //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
0959 
0960 public:
0961   TEcnaGui();
0962   TEcnaGui(TEcnaObject *, const TString &, const TGWindow *, UInt_t, UInt_t);
0963 
0964   // TEcnaGui(const TString&, const TGWindow *, UInt_t, UInt_t);
0965   ~TEcnaGui() override;
0966 
0967   void Init();
0968   void InitGuiParameters();
0969   void DialogBox();
0970 
0971   void InitKeys();
0972 
0973   void DisplayInEntryField(TGTextEntry *, Int_t &);
0974   void DisplayInEntryField(TGTextEntry *, Double_t &);
0975   void DisplayInEntryField(TGTextEntry *, const TString &);
0976 
0977   void DoButtonAna();
0978 
0979   void DoButtonNors();
0980   void DoButtonRun();
0981 
0982   void DoButtonFev();
0983   void DoButtonLev();
0984   void DoButtonRev();
0985   void DoButtonStex();
0986   void DoButtonNbSampForCalc();
0987   void DoButtonStexNb();
0988 
0989   //########################################
0990   void DoButtonVminD_NOE_ChNb();
0991   void DoButtonVmaxD_NOE_ChNb();
0992 
0993   void DoButtonVminD_Ped_ChNb();
0994   void DoButtonVmaxD_Ped_ChNb();
0995 
0996   void DoButtonVminD_TNo_ChNb();
0997   void DoButtonVmaxD_TNo_ChNb();
0998 
0999   void DoButtonVminD_LFN_ChNb();
1000   void DoButtonVmaxD_LFN_ChNb();
1001 
1002   void DoButtonVminD_HFN_ChNb();
1003   void DoButtonVmaxD_HFN_ChNb();
1004 
1005   void DoButtonVminD_MCs_ChNb();
1006   void DoButtonVmaxD_MCs_ChNb();
1007 
1008   void DoButtonVminD_SCs_ChNb();
1009   void DoButtonVmaxD_SCs_ChNb();
1010 
1011   void DoButtonVminLFccMos();
1012   void DoButtonVmaxLFccMos();
1013   void DoButtonVminHFccMos();
1014   void DoButtonVmaxHFccMos();
1015 
1016   void DoButtonVminLHFcc();
1017   void DoButtonVmaxLHFcc();
1018 
1019   //########################################
1020 
1021   void DoButtonStinA();
1022   void DoButtonStinB();
1023 
1024   void DoButtonChNb();
1025   void DoButtonChan();
1026   void DoButtonSamp();
1027 
1028   void DoButtonRul();
1029 
1030   void DoButtonLogx();
1031   void DoButtonLogy();
1032   void DoButtonProjy();
1033 
1034   void DoButtonGent();
1035 
1036   void DoButtonColPal();
1037   void DoButtonExit();
1038 
1039   void DoButtonClone();
1040   void DoButtonRoot();
1041   void DoButtonHelp();
1042 
1043   void HandleMenu(Int_t);
1044 
1045   void SubmitOnBatchSystem(const TString &);
1046   void CleanBatchFiles(const TString &);
1047   void Calculations(const TString &);
1048 
1049   //------------------- VISUALIZATION METHODS
1050 
1051   // void ViewMatrixCorrelationStins(const TString&);  // (RESERVE)
1052   // void ViewMatrixCovarianceStins(const TString&);   // (RESERVE)
1053 
1054   void ViewMatrixLowFrequencyMeanCorrelationsBetweenStins(const TString &);
1055   void ViewMatrixHighFrequencyMeanCorrelationsBetweenStins(const TString &);
1056 
1057   void ViewMatrixLowFrequencyCorrelationsBetweenChannels(const Int_t &, const Int_t &, const TString &);
1058   void ViewMatrixHighFrequencyCorrelationsBetweenChannels(const Int_t &, const Int_t &, const TString &);
1059 
1060   void ViewMatrixCorrelationSamples(const Int_t &, const Int_t &, const TString &);
1061   void ViewMatrixCovarianceSamples(const Int_t &, const Int_t &, const TString &);
1062 
1063   void ViewSorSNumberOfEvents();  // SorS = Stas or Stex
1064   void ViewSorSPedestals();
1065   void ViewSorSTotalNoise();
1066   void ViewSorSMeanCorss();
1067   void ViewSorSLowFrequencyNoise();
1068   void ViewSorSHighFrequencyNoise();
1069   void ViewSorSSigmaOfCorss();
1070 
1071   void ViewStexLowFrequencyCorcc();
1072   void ViewStexHighFrequencyCorcc();
1073 
1074   void ViewStinCorrelationSamples(const Int_t &);
1075   void ViewStinCovarianceSamples(const Int_t &);
1076   void ViewStinCrystalNumbering(const Int_t &);
1077   void ViewStexStinNumbering();
1078 
1079   void ViewHistoSorSNumberOfEventsOfCrystals(const TString &);  // SorS = Stas or Stex
1080   void ViewHistoSorSNumberOfEventsDistribution(const TString &);
1081   void ViewHistoSorSPedestalsOfCrystals(const TString &);
1082   void ViewHistoSorSPedestalsDistribution(const TString &);
1083   void ViewHistoSorSTotalNoiseOfCrystals(const TString &);
1084   void ViewHistoSorSTotalNoiseDistribution(const TString &);
1085   void ViewHistoSorSMeanCorssOfCrystals(const TString &);
1086   void ViewHistoSorSMeanCorssDistribution(const TString &);
1087   void ViewHistoSorSLowFrequencyNoiseOfCrystals(const TString &);
1088   void ViewHistoSorSLowFrequencyNoiseDistribution(const TString &);
1089   void ViewHistoSorSHighFrequencyNoiseOfCrystals(const TString &);
1090   void ViewHistoSorSHighFrequencyNoiseDistribution(const TString &);
1091   void ViewHistoSorSSigmaOfCorssOfCrystals(const TString &);
1092   void ViewHistoSorSSigmaOfCorssDistribution(const TString &);
1093 
1094   void ViewHistoCrystalSampleMeans(const Int_t &, const Int_t &, const TString &);
1095   void ViewHistoCrystalSampleMeansDistribution(const Int_t &, const Int_t &, const TString &);
1096   void ViewHistoCrystalSampleSigmas(const Int_t &, const Int_t &, const TString &);
1097   void ViewHistoCrystalSampleSigmasDistribution(const Int_t &, const Int_t &, const TString &);
1098 
1099   void ViewHistoCrystalSampleValues(const Int_t &, const Int_t &, const Int_t &, const TString &);
1100   void ViewHistoSampleEventDistribution(const Int_t &, const Int_t &, const Int_t &, const TString &);
1101 
1102   void ViewHistimeCrystalPedestals(const TString &, const Int_t &, const Int_t &, const TString &);
1103   void ViewHistimeCrystalTotalNoise(const TString &, const Int_t &, const Int_t &, const TString &);
1104   void ViewHistimeCrystalLowFrequencyNoise(const TString &, const Int_t &, const Int_t &, const TString &);
1105   void ViewHistimeCrystalHighFrequencyNoise(const TString &, const Int_t &, const Int_t &, const TString &);
1106   void ViewHistimeCrystalMeanCorss(const TString &, const Int_t &, const Int_t &, const TString &);
1107   void ViewHistimeCrystalSigmaOfCorss(const TString &, const Int_t &, const Int_t &, const TString &);
1108 
1109   void ViewHistimeCrystalPedestalsRuns(const TString &, const Int_t &, const Int_t &, const TString &);
1110   void ViewHistimeCrystalTotalNoiseRuns(const TString &, const Int_t &, const Int_t &, const TString &);
1111   void ViewHistimeCrystalLowFrequencyNoiseRuns(const TString &, const Int_t &, const Int_t &, const TString &);
1112   void ViewHistimeCrystalHighFrequencyNoiseRuns(const TString &, const Int_t &, const Int_t &, const TString &);
1113   void ViewHistimeCrystalMeanCorssRuns(const TString &, const Int_t &, const Int_t &, const TString &);
1114   void ViewHistimeCrystalSigmaOfCorssRuns(const TString &, const Int_t &, const Int_t &, const TString &);
1115 
1116   void MessageCnaCommandReplyA(const TString &);
1117   void MessageCnaCommandReplyB(const TString &);
1118 
1119   ClassDefOverride(TEcnaGui, 1)  // Dialog box with GUI + methods for CNA (Correlated Noises Analysis)
1120 };
1121 
1122 #endif  //    ZTR_TEcnaGui