Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 12:46:29

0001 #ifndef ZTR_TEcnaHistos
0002 #define ZTR_TEcnaHistos
0003 
0004 #include "TObject.h"
0005 #include <TQObject.h>
0006 #include <RQ_OBJECT.h>
0007 //#include <Riostream.h>
0008 #include <iostream>
0009 #include "TSystem.h"
0010 #include <ctime>
0011 #include "TString.h"
0012 
0013 #include "TROOT.h"
0014 #include "TStyle.h"
0015 #include "TGraph.h"
0016 #include "TCanvas.h"
0017 #include "TVectorD.h"
0018 #include "TH1.h"
0019 #include "TH2D.h"
0020 #include "TF1.h"
0021 #include "TPaveText.h"
0022 #include "TColor.h"
0023 #include "TGaxis.h"
0024 
0025 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaObject.h"
0026 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaRead.h"
0027 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaWrite.h"
0028 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaParPaths.h"
0029 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaParCout.h"
0030 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaParHistos.h"
0031 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaParEcal.h"
0032 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaNumbering.h"
0033 
0034 ///-----------------------------------------------------------
0035 ///   TEcnaHistos.h
0036 ///   Update: 05/10/2012
0037 ///   Author:    B.Fabbro (bernard.fabbro@cea.fr)
0038 ///              DSM/IRFU/SPP CEA-Saclay
0039 ///   Copyright: Those valid for CEA sofware
0040 ///
0041 ///   ECNA web page:
0042 ///     http://cms-fabbro.web.cern.ch/cms-fabbro/
0043 ///     cna_new/Correlated_Noise_Analysis/ECNA_main_page.htm
0044 ///-----------------------------------------------------------
0045 ///
0046 ///==============> INTRODUCTION
0047 ///
0048 ///    This class provides methods for displaying plots of various types:
0049 ///    1D, 2D and 3D histograms for different quantities (pedestals, noises,
0050 ///    correlations, .etc..). The data are read from files which has been
0051 ///    previously written by using the class TEcnaRun (.root result files).
0052 ///    The reading is performed by appropriate methods of the class TEcnaRead.
0053 ///
0054 ///      ***   I N S T R U C T I O N S   F O R   U S E   ***
0055 ///
0056 ///   PS: examples of programs using TEcnaHistos are situated in directory test (.cc files)
0057 ///
0058 ///   // (A) --> Object declarations:
0059 ///
0060 ///      TEcnaHistos* MyHistosEB = new TEcnaHistos("EB");
0061 ///      TEcnaHistos* MyHistosEE = new TEcnaHistos("EE");
0062 ///
0063 ///   // (B) --> Specification of the file which has to be read.
0064 ///   //         This file is a .root result file which has previously been written by means of
0065 ///   //         the class TEcnaRun (see documentation of this class)
0066 ///
0067 ///   //  1) specify the parameter values of the file name:
0068 ///
0069 ///      TString AnalysisName      = "StdPed12"; (AnalysisName -> explanation in TEcnaRun documentation)
0070 ///      Int_t   NbOfSamples       = 10;
0071 ///      Int_t   RunNumber         = 112206;
0072 ///      Int_t   FirstReqEvtNumber = 100;  |    (numbering starting from 1)
0073 ///      Int_t   LastReqEvtNumber  = 300;  | => treats 150 evts between evt#100 and evt#300 (included)
0074 ///      Int_t   ReqNbOfEvts       = 150;  |
0075 ///      Int_t   SMNumber          = 2;
0076 ///
0077 ///   //  2) call method "FileParameters" to say that the file to be read is the file
0078 ///   //     which name parameters are those specified above:
0079 ///
0080 ///      MyHistosEB->FileParameters(AnalysisName, NbOfSamples, RunNumber,
0081 ///                                 FirstReqEvtNumber, LastReqEvtNumber, ReqNbOfEvts, SMNumber);
0082 ///
0083 ///   //  Now, the class TEcnaHistos knowns that it has to work
0084 ///   //  with the file StdPed12_S1_10_R112206_1_150_150_SM2.root
0085 ///
0086 ///   // (C) -->  E X A M P L E S   O F   U S E
0087 ///
0088 ///   //--> Plot correlation matrices between samples
0089 ///   //    for channel 21 (electronic channel number in Tower)
0090 ///   //    and for the two towers 10 and 33
0091 ///
0092 ///      Int_t SMTow = 14;       // (Tower number in SM)
0093 ///      Int_t TowEcha = 21;     // (Electronic channel number in tower)
0094 ///      MyHistosEB->PlotMatrix("Cor", "Mss", SMTow, TowEcha, "SURF1Z"); // correlations between samples
0095 ///
0096 ///    // - - - - - -   SYNTAX FOR ARGUMENTS CODES ("Cor", "Mss", ...):
0097 ///
0098 ///      Multi-syntax codes are available, for example:
0099 ///
0100 ///      "Cor", "correl", "correlations", "Correlations"
0101 ///
0102 ///      "Mss", "ss", "samp", "Samp", "BetweenSamples", "Between samples", "between samples", "Samples","samples"
0103 ///
0104 ///      If a wrong code is used a message "code not found" is displayed
0105 ///      and information on available codes is given.
0106 ///
0107 ///
0108 ///   // (D) -->  O T H E R   E X A M P L E S
0109 ///
0110 ///    //--> Plot Pedestals as a function of SC number for Dee 4
0111 ///
0112 ///      TString AnalysisName      = "StdPed12"; (AnalysisName -> explanation in TEcnaRun documentation)
0113 ///      Int_t   NbOfSamples       = 10;
0114 ///      Int_t   RunNumber         = 132440;
0115 ///      Int_t   FirstReqEvtNumber = 1;    |
0116 ///      Int_t   LastReqEvtNumber  = 0;    | => treats 150 evts from evt#1 until EOF if necessary
0117 ///      Int_t   ReqNbOfEvts       = 150;  |
0118 ///
0119 ///      Int_t   DeeNumber = 4;
0120 ///      MyHistosEE->FileParameters(AnalysisName, NbOfSamples, RunNumber,
0121 ///                                 FirstReqEvtNumber, LastReqEvtNumber, ReqNbOfEvts, DeeNumber);
0122 ///
0123 ///      MyHistoEE->PlotDetector("Ped", "Dee");          // 2D Histo: Z = pedestal, detector = Dee
0124 ///      MyHistoEE->Plot1DHisto("Tow", "TNo", "EE");     // 1D Histo: X = tower#, Y = Total noise, detector = EE
0125 ///
0126 ///    //--> Plot total noise history for channel 12 of tower 38
0127 ///    //    (electronic channel number in tower)
0128 ///
0129 ///      MyHistosEB->FileParameters(AnalysisName, NbOfSamples, RunNumber,
0130 ///                                 FirstReqEvtNumber, LastReqEvtNumber, ReqNbOfEvts, SMNumber);
0131 ///      Int_t SMTower = 38;
0132 ///      Int_t TowEcha = 12;
0133 ///      TString list_of_run_file_name = "HistoryRunList_132440_132665.ascii";
0134 ///      MyHistoEB->PlotHistory("Time", "MeanCorss", list_of_run_file_name, SMTower, TowEcha);
0135 ///
0136 ///    // the .ascii file "HistoryRunList_132440_132665.ascii" must contain a list of
0137 ///    // the run numbers according to the following syntax:
0138 ///
0139 ///   //.......... SYNTAX OF THE FILE "HistoryRunList_SM6.ascii" ("runlist history plot" file):
0140 ///
0141 ///   HistoryRunList_132440_132665.ascii  <- 1rst line: comment (name of the file, for example)
0142 ///
0143 ///   132440                <- other lines: run numbers
0144 ///   132442
0145 ///                        <- (empty lines can be used)
0146 ///   132561
0147 ///   132562
0148 ///   112584
0149 ///
0150 ///
0151 ///      etc...
0152 ///
0153 ///   132665
0154 ///
0155 ///......................................... end of exammples ...........................................
0156 ///
0157 ///   PS: it is also possible to use the methods PlotMatrix, PlotDetector and Plot1DHisto after
0158 ///       reading file with TEcnaRead. Then, pointers to the read arrays have to be used
0159 ///       as arguments (see examples in directory test)
0160 ///
0161 ///------------------------------------------- LIST OF METHODS ------------------------------------------
0162 ///
0163 ///  //==================================================================================================
0164 ///  //   method to set the result file name parameters (from values in argument)
0165 ///  //   FileParameters(AnaType, NbOfSamples, Run#,
0166 ///  //                  FirstRequestedEvt#, LastRequestedEvt#, ReqNbOfEvts#, SM# or Dee#)
0167 ///  //   RunNumber = 0 => history plots, SM or Dee number = 0 => Plots for EB or EE
0168 ///  //==================================================================================================
0169 ///
0170 ///  void FileParameters(const TString& Analysis,
0171 ///                      const Int_t&  NbOfSamples,
0172 ///                      const Int_t&  Run#,               // RunNumber = 0 => history plots
0173 ///              const Int_t&  FirstRequestedEvt#,
0174 ///                      const Int_t&  LastRequestedEvt#,
0175 ///                      const Int_t&  ReqNbOfEvts#,
0176 ///                      const Int_t&  SMOrDee#);          // SM or Dee number = 0 => Plots for EB or EE
0177 ///
0178 ///        -----------------------------------------------------------------------------------
0179 ///        In the following:
0180 ///
0181 ///        TowOrSC# = Tower number in case of EB  or  SC number FOR CONSTRUCTION in case of EE
0182 ///
0183 ///        -----------------------------------------------------------------------------------
0184 ///
0185 ///  //==================================================================================================
0186 ///  //                  methods for displaying the correlations and covariances matrices
0187 ///  //                  PlotOption = ROOT DrawOption ("SAME", "LEGO", "COLZ", etc...)
0188 ///  //                               + option "ASCII": write histo in ASCII file
0189 ///  //==================================================================================================
0190 ///  //..................... Corcc[for 1 Stex] (big matrix)
0191 ///    void PlotMatrix
0192 ///   (const TMatrixD&,   const TString&, const TString&,   [const TString&]);
0193 ///    read_matrix_corcc, UserCorOrCov,  UserBetweenWhat, [PlotOption]
0194 ///
0195 ///    void PlotMatrix   (const TString&, const TString&,   [const TString&]);
0196 ///                       UserCorOrCov,  UserBetweenWhat, [PlotOption]
0197 ///
0198 ///    //..................... Corcc[for 1 Stin], Corss[for 1 Echa], Covss[for 1 Echa]
0199 ///    void PlotMatrix
0200 ///    (const TMatrixD&, const TString&, const TString&,   const Int_t&, const Int_t&, [const TString&]);
0201 ///     read_matrix,     UserCorOrCov,  UserBetweenWhat, arg_n1,       arg_n2,       [PlotOption]
0202 ///
0203 ///    void PlotMatrix  (const TString&, const TString&,   const Int_t&, const Int_t&, [const TString&]);
0204 ///                      UserCorOrCov,  UserBetweenWhat, arg_n1,       arg_n2,       [PlotOption]
0205 ///
0206 ///  //==================================================================================================
0207 ///  //                  methods for displaying the 2D views of the detector
0208 ///  //
0209 ///  //                  Detector = SM,Dee,EB,EE
0210 ///  //
0211 ///  //==================================================================================================
0212 ///    void PlotDetector(const TVectorD&, const TString&, const TString&);
0213 ///                      read_histo,      UserHistoCode, Detector,
0214 ///
0215 ///    void PlotDetector(const TString&, const TString&);
0216 ///                      UserHistoCode, Detector
0217 ///
0218 ///  //==================================================================================================
0219 ///  //                             methods for displaying 1D histos
0220 ///  //
0221 ///  //     PlotOption: optional argument ("ONLYONE", "SAME","SAME n"  or "ASCII")
0222 ///  //
0223 ///  //  "ONLYONE" :  display only one histo (default; same as without argument)
0224 ///  //  "SAME"    :  Same as Draw Option "SAME" in ROOT: superimpose on previous picture in the same pad
0225 ///  //               1D histos of only one quantity
0226 ///  //  "SAME n"  :  Same as Draw Option "SAME" in ROOT: superimpose on previous picture in the same pad
0227 ///  //               1D histos of possibly several quantities
0228 ///  //  "ASCII"   :  write histo contents in ASCII file
0229 ///  //
0230 ///  //==================================================================================================
0231 ///
0232 ///    void Plot1DHisto
0233 ///    (const TVectorD&, const TString&,   const TString&,   const TString&, [const TString&]);
0234 ///     InputHisto,      User_X_Quantity, User_Y_Quantity, Detector,      [PlotOption]
0235 ///
0236 ///    void Plot1DHisto (const TString&,   const TString&,   const TString&, [const TString&]);
0237 ///                      User_X_Quantity, User_Y_Quantity, Detector,      [PlotOption])
0238 ///
0239 ///
0240 ///    void Plot1DHisto
0241 ///    (const TVectorD&, const TString&,   const TString&,   const Int_t&, const Int_t&, [const TString&]);
0242 ///     InputHisto,      User_X_Quantity, User_Y_Quantity, n1StexStin,   i0StinEcha,   [PlotOption]
0243 ///
0244 ///    void Plot1DHisto (const TString&,   const TString&,   const Int_t&, const Int_t&,  [const TString&]);
0245 ///                      User_X_Quantity, User_Y_Quantity, n1StexStin,   i0StinEcha,    [PlotOption]
0246 ///
0247 ///
0248 ///    void Plot1DHisto
0249 ///    (const TVectorD&, const TString&,   const TString&,   const Int_t&, const Int_t&, const Int_t&, [const TString&]);
0250 ///     InputHisto,      User_X_Quantity, User_Y_Quantity, n1StexStin,   i0StinEcha,   n1Sample,     [PlotOption]
0251 ///
0252 ///    void Plot1DHisto (const TString&,   const TString&,   const Int_t&, const Int_t&, const Int_t&, [const TString&]);
0253 ///                      User_X_Quantity, User_Y_Quantity, n1StexStin,   i0StinEcha,   n1Sample,     [PlotOption]
0254 ///
0255 ///
0256 ///    void Plot1DHisto(const TVectorD&, const TString&,   const TString&,   const Int_t&, [const TString&]);
0257 ///                     InputHisto,      User_X_Quantity, User_Y_Quantity, n1StexStin,   [PlotOption]
0258 ///
0259 ///  //==================================================================================================
0260 ///  //                     method for displaying 1D history plots
0261 ///  //==================================================================================================
0262 ///
0263 ///  void PlotHistory
0264 ///       (const TString&,   const TString&,   const TString&,         const Int_t&, const Int_t&, [const TString&]);
0265 ///        User_X_Quantity, User_Y_Quantity, list_of_run_file_name, StexStin_A,   i0StinEcha,   [PlotOption]
0266 ///
0267 ///  //==================================================================================================
0268 ///  //             methods for displaying Tower, SC, crystal numbering
0269 ///  //==================================================================================================
0270 ///
0271 ///  void SMTowerNumbering(const Int_t& SM#);
0272 ///  void DeeSCNumbering  (const Int_t& Dee#);
0273 ///
0274 ///  void TowerCrystalNumbering(const Int_t& SM#,  const Int_t& Tow#);
0275 ///  void SCCrystalNumbering   (const Int_t& Dee#, const Int_t& SC#);   // (SC# for construction)
0276 ///
0277 ///  //==================================================================================================
0278 ///  //                General title
0279 ///  //==================================================================================================
0280 ///  void GeneralTitle(const TString& Title);
0281 ///
0282 ///  //==================================================================================================
0283 ///  //                        Lin:Log scale (SCALE = "LIN" or "LOG")
0284 ///  //==================================================================================================
0285 ///  void SetHistoScaleX(const TString& SCALE);
0286 ///  void SetHistoScaleY(const TString& SCALE);
0287 ///
0288 ///  //==================================================================================================
0289 ///  //                   ColorPalette (OPTION = "ECNAColor" or "Rainbow")
0290 ///  //==================================================================================================
0291 ///  void SetHistoColorPalette(const TString& OPTION);
0292 ///
0293 ///  //==================================================================================================
0294 ///  //                            histo ymin, ymax management
0295 ///  //==================================================================================================
0296 ///
0297 ///  //  These methods must be called before calls to the display methods
0298 ///
0299 ///  //...................... 1D histo (ymin,ymax) forced to (YminValue,YmaxValue) values
0300 ///  void SetHistoMin(const Double_t& YminValue);
0301 ///  void SetHistoMax(const Double_t& YmaxValue);
0302 ///
0303 ///  //...................... 1D histo (ymin,ymax) calculated from histo values
0304 ///  void SetHistoMin();
0305 ///  void SetHistoMax();
0306 ///
0307 ///  if SetHistoMin and SetHistoMax are not called, default values are applied. These default values
0308 ///  are in methods GetYminDefaultValue(...) and GetYmaxDefaultValue(...) of class TEcnaParHistos
0309 ///
0310 ///------------------------------------------------------------------------------------------------------
0311 ///
0312 ///   ECNA web page:
0313 ///
0314 ///     http://cms-fabbro.web.cern.ch/cms-fabbro/
0315 ///     cna_new/Correlated_Noise_Analysis/ECNA_main_page.htm
0316 ///
0317 ///   For questions or comments, please send e-mail to: bernard.fabbro@cea.fr
0318 ///
0319 
0320 // ------- methods called by ReadAnd[Plot1DHisto]
0321 //       (const TString&, const TString&, [const TVectorD&], const Int_t&, const Int_t&, const TString&)
0322 //
0323 //  void XtalSamplesEv(const TVectorD&, const Int_t&, const Int_t&, const Int_t&, [const TString&]); //  EB or EE
0324 //                     n1StexStin,   i0StinEcha,   [PlotOption]
0325 //
0326 //  void EvSamplesXtals(const TVectorD&, const Int_t&, const Int_t&, const Int_t&, [const TString&]);
0327 //                      n1StexStin,   i0StinEcha,   [PlotOption]
0328 //
0329 //
0330 //  void XtalSamplesSigma(const TVectorD&, const Int_t&, const Int_t&, const Int_t&, [const TString&]); //  EB or EE
0331 //                        n1StexStin,   i0StinEcha,   [PlotOption]
0332 //
0333 //  void SigmaSamplesXtals(const TVectorD&, const Int_t&, const Int_t&, const Int_t&, [const TString&]) //  EB or EE
0334 //                         n1StexStin,   i0StinEcha,   [PlotOption]
0335 //
0336 //  void XtalSampleValues(const Int_t&, const Int_t&, const Int_t&, [const TString&]); // EB or EE
0337 //                        n1StexStin,   i0StinEcha,   iSample,      [PlotOption]
0338 //
0339 //  void SampleADCEvents(const Int_t&, const Int_t&, const Int_t&, [const TString&]);  // EB or EE
0340 //                       n1StexStin,   i0StinEcha,   iSample,      [PlotOption]
0341 //
0342 
0343 class TEcnaHistos : public TObject {
0344   RQ_OBJECT("TEcnaHistos")
0345 
0346 private:
0347   //..... Attributes
0348 
0349   constexpr static int charArrLen = 512;  // Max nb of caracters for char*
0350   Int_t fZerv;                            // = 0 , for ViewHisto non used arguments
0351   Int_t fUnev;                            // = 1 , for ViewHisto non used arguments
0352 
0353   Int_t fCnaCommand, fCnaError;
0354   Int_t fCnew, fCdelete;
0355   Int_t fCnewRoot, fCdeleteRoot;
0356 
0357   TString fTTBELL;
0358 
0359   //....................... Current subdetector flag and codes
0360   TString fFlagSubDet;
0361   TString fCodeEB;
0362   TString fCodeEE;
0363 
0364   //...........................................
0365   TEcnaParHistos* fCnaParHistos;
0366   TEcnaParPaths* fCnaParPaths;
0367   TEcnaParCout* fCnaParCout;
0368   TEcnaWrite* fCnaWrite;
0369   TEcnaParEcal* fEcal;
0370   TEcnaNumbering* fEcalNumbering;
0371   TEcnaHeader* fFileHeader;
0372 
0373   TEcnaRead* fMyRootFile;
0374   Int_t fAlreadyRead;
0375   Int_t fMemoAlreadyRead;
0376   Int_t fTobeRead;
0377   TVectorD fReadHistoDummy;
0378   TMatrixD fReadMatrixDummy;
0379 
0380   std::ifstream fFcin_f;
0381 
0382   TString fFapAnaType;          // Type of analysis
0383   Int_t fFapNbOfSamples;        // Nb of required samples
0384   Int_t fFapRunNumber;          // Run number
0385   Int_t fFapFirstReqEvtNumber;  // First requested event number
0386   Int_t fFapLastReqEvtNumber;   // Last requested event number
0387   Int_t fFapReqNbOfEvts;        // Requested number of events
0388   Int_t fFapStexNumber;         // Stex number
0389 
0390   Int_t fFapNbOfEvts;  // Number of found events
0391 
0392   Int_t fFapMaxNbOfRuns;  // Maximum Number of runs
0393   Int_t fFapNbOfRuns;     // Number of runs
0394   TString fFapFileRuns;   // name of the file containing the list of run parameters
0395 
0396   Int_t fStartEvolRun, fStopEvolRun;
0397   Int_t fNbOfExistingRuns;
0398 
0399   time_t fStartEvolTime, fStopEvolTime;
0400   TString fStartEvolDate, fStopEvolDate;
0401 
0402   TString fFapStexBarrel;    // Barrel type of the Stex (barrel+ OR barrel-)   (EB only)
0403   TString fFapStexType;      // type of the Dee (EE+F, EE+N, EE-F, EE-N)       (EE only)
0404   TString fFapStexDir;       // direction of the Dee (right, left)             (EE only)
0405   TString fFapStinQuadType;  // quadrant type of the SC (top, bottom)          (EE only)
0406 
0407   TString fFapStexName;  // Stex name:               "SM"      (for EB) or "Dee"     (for EE)
0408   TString fFapStinName;  // Stin name:               "tower"   (for EB) or "SC"      (for EE)
0409   TString fFapXtalName;  // Xtal name:               "xtal"    (for EB) or "Xtal"    (for EE)
0410   TString fFapEchaName;  // Electronic channel name: "Chan"    (for EB) or "Chan"    (for EE)
0411 
0412   TString fMyRootFileName;  // memo Root file name used in SetFile() for obtaining the number of found events
0413 
0414   TString fCfgResultsRootFilePath;     // absolute path for the results .root files (/afs/etc...)
0415   TString fCfgHistoryRunListFilePath;  // absolute path for the list-of-runs .ascii files (/afs/etc...)
0416                                        // MUST BE KEPT BECAUSE OF HISTIME PLOTS
0417   TString fAsciiFileName;
0418 
0419   Bool_t fStatusFileFound;
0420   Bool_t fStatusDataExist;
0421 
0422   time_t fStartTime, fStopTime;
0423   TString fStartDate, fStopDate;
0424   TString fRunType;
0425 
0426   TString* fT1DAnaType;  // Type of analysis
0427   Int_t* fT1DRunNumber;  // Run number
0428 
0429   TString* fT1DResultsRootFilePath;     // absolute path for the ROOT files (/afs/etc... )
0430   TString* fT1DHistoryRunListFilePath;  // absolute path for the list-of-runs .ascii files (/afs/etc...)
0431 
0432   Int_t fStinSizeInCrystals;  // Size of one Stin in term of crystals
0433                               // (a Stin contains fStinSizeInCrystals*fStinSizeInCrystals crystals)
0434   TString fFlagScaleX;
0435   TString fFlagScaleY;
0436   TString fFlagColPal;
0437   TString fFlagGeneralTitle;
0438 
0439   Double_t fUserHistoMin, fUserHistoMax;
0440   TString fFlagUserHistoMin, fFlagUserHistoMax;
0441 
0442   Int_t fOptVisLego, fOptVisColz, fOptVisSurf1, fOptVisSurf4;
0443   Int_t fOptVisLine, fOptVisPolm;
0444 
0445   Int_t fOptScaleLinx, fOptScaleLogx, fOptScaleLiny, fOptScaleLogy;
0446 
0447   TString fCovarianceMatrix, fCorrelationMatrix;
0448 
0449   TString fBetweenSamples;
0450   TString fLFBetweenChannels, fHFBetweenChannels;
0451   TString fLFBetweenStins, fHFBetweenStins;
0452 
0453   Int_t fTextPaveAlign;
0454   Int_t fTextPaveFont;
0455   Float_t fTextPaveSize;
0456   Int_t fTextBorderSize;
0457 
0458   Double_t fXinf, fXsup, fYinf, fYsup;
0459 
0460   Double_t fXinfProj, fXsupProj;
0461 
0462   //.................................... Xinf, Xsup
0463   Axis_t fH1SameOnePlotXinf;
0464   Axis_t fH1SameOnePlotXsup;
0465 
0466   Axis_t fD_NOE_ChNbXinf;
0467   Axis_t fD_NOE_ChNbXsup;
0468   Axis_t fD_NOE_ChDsXinf;
0469   Axis_t fD_NOE_ChDsXsup;
0470   Axis_t fD_Ped_ChNbXinf;
0471   Axis_t fD_Ped_ChNbXsup;
0472   Axis_t fD_Ped_ChDsXinf;
0473   Axis_t fD_Ped_ChDsXsup;
0474   Axis_t fD_TNo_ChNbXinf;
0475   Axis_t fD_TNo_ChNbXsup;
0476   Axis_t fD_TNo_ChDsXinf;
0477   Axis_t fD_TNo_ChDsXsup;
0478   Axis_t fD_MCs_ChNbXinf;
0479   Axis_t fD_MCs_ChNbXsup;
0480   Axis_t fD_MCs_ChDsXinf;
0481   Axis_t fD_MCs_ChDsXsup;
0482   Axis_t fD_LFN_ChNbXinf;
0483   Axis_t fD_LFN_ChNbXsup;
0484   Axis_t fD_LFN_ChDsXinf;
0485   Axis_t fD_LFN_ChDsXsup;
0486   Axis_t fD_HFN_ChNbXinf;
0487   Axis_t fD_HFN_ChNbXsup;
0488   Axis_t fD_HFN_ChDsXinf;
0489   Axis_t fD_HFN_ChDsXsup;
0490   Axis_t fD_SCs_ChNbXinf;
0491   Axis_t fD_SCs_ChNbXsup;
0492   Axis_t fD_SCs_ChDsXinf;
0493   Axis_t fD_SCs_ChDsXsup;
0494 
0495   Axis_t fD_MSp_SpNbXinf;
0496   Axis_t fD_MSp_SpNbXsup;
0497   Axis_t fD_MSp_SpDsXinf;
0498   Axis_t fD_MSp_SpDsXsup;
0499   Axis_t fD_SSp_SpNbXinf;
0500   Axis_t fD_SSp_SpNbXsup;
0501   Axis_t fD_SSp_SpDsXinf;
0502   Axis_t fD_SSp_SpDsXsup;
0503   Axis_t fD_Adc_EvDsXinf;
0504   Axis_t fD_Adc_EvDsXsup;
0505   Axis_t fD_Adc_EvNbXinf;
0506   Axis_t fD_Adc_EvNbXsup;
0507   Axis_t fH_Ped_DateXinf;
0508   Axis_t fH_Ped_DateXsup;
0509   Axis_t fH_TNo_DateXinf;
0510   Axis_t fH_TNo_DateXsup;
0511   Axis_t fH_MCs_DateXinf;
0512   Axis_t fH_MCs_DateXsup;
0513   Axis_t fH_LFN_DateXinf;
0514   Axis_t fH_LFN_DateXsup;
0515   Axis_t fH_HFN_DateXinf;
0516   Axis_t fH_HFN_DateXsup;
0517   Axis_t fH_SCs_DateXinf;
0518   Axis_t fH_SCs_DateXsup;
0519 
0520   Axis_t fH_Ped_RuDsXinf;
0521   Axis_t fH_Ped_RuDsXsup;
0522   Axis_t fH_TNo_RuDsXinf;
0523   Axis_t fH_TNo_RuDsXsup;
0524   Axis_t fH_MCs_RuDsXinf;
0525   Axis_t fH_MCs_RuDsXsup;
0526   Axis_t fH_LFN_RuDsXinf;
0527   Axis_t fH_LFN_RuDsXsup;
0528   Axis_t fH_HFN_RuDsXinf;
0529   Axis_t fH_HFN_RuDsXsup;
0530   Axis_t fH_SCs_RuDsXinf;
0531   Axis_t fH_SCs_RuDsXsup;
0532 
0533   //.................................... Ymin, Ymax
0534 
0535   TString fHistoCodeFirst;  // HistoCode of the first histo in option SAME n
0536   Double_t fD_NOE_ChNbYmin;
0537   Double_t fD_NOE_ChNbYmax;
0538   Double_t fD_NOE_ChDsYmin;
0539   Double_t fD_NOE_ChDsYmax;
0540   Double_t fD_Ped_ChNbYmin;
0541   Double_t fD_Ped_ChNbYmax;
0542   Double_t fD_Ped_ChDsYmin;
0543   Double_t fD_Ped_ChDsYmax;
0544   Double_t fD_TNo_ChNbYmin;
0545   Double_t fD_TNo_ChNbYmax;
0546   Double_t fD_TNo_ChDsYmin;
0547   Double_t fD_TNo_ChDsYmax;
0548   Double_t fD_MCs_ChNbYmin;
0549   Double_t fD_MCs_ChNbYmax;
0550   Double_t fD_MCs_ChDsYmin;
0551   Double_t fD_MCs_ChDsYmax;
0552   Double_t fD_LFN_ChNbYmin;
0553   Double_t fD_LFN_ChNbYmax;
0554   Double_t fD_LFN_ChDsYmin;
0555   Double_t fD_LFN_ChDsYmax;
0556   Double_t fD_HFN_ChNbYmin;
0557   Double_t fD_HFN_ChNbYmax;
0558   Double_t fD_HFN_ChDsYmin;
0559   Double_t fD_HFN_ChDsYmax;
0560   Double_t fD_SCs_ChNbYmin;
0561   Double_t fD_SCs_ChNbYmax;
0562   Double_t fD_SCs_ChDsYmin;
0563   Double_t fD_SCs_ChDsYmax;
0564 
0565   Double_t fD_MSp_SpNbYmin;
0566   Double_t fD_MSp_SpNbYmax;
0567   Double_t fD_MSp_SpDsYmin;
0568   Double_t fD_MSp_SpDsYmax;
0569   Double_t fD_SSp_SpNbYmin;
0570   Double_t fD_SSp_SpNbYmax;
0571   Double_t fD_SSp_SpDsYmin;
0572   Double_t fD_SSp_SpDsYmax;
0573   Double_t fD_Adc_EvDsYmin;
0574   Double_t fD_Adc_EvDsYmax;
0575   Double_t fD_Adc_EvNbYmin;
0576   Double_t fD_Adc_EvNbYmax;
0577   Double_t fH_Ped_DateYmin;
0578   Double_t fH_Ped_DateYmax;
0579   Double_t fH_TNo_DateYmin;
0580   Double_t fH_TNo_DateYmax;
0581   Double_t fH_MCs_DateYmin;
0582   Double_t fH_MCs_DateYmax;
0583   Double_t fH_LFN_DateYmin;
0584   Double_t fH_LFN_DateYmax;
0585   Double_t fH_HFN_DateYmin;
0586   Double_t fH_HFN_DateYmax;
0587   Double_t fH_SCs_DateYmin;
0588   Double_t fH_SCs_DateYmax;
0589 
0590   Double_t fH_Ped_RuDsYmin;
0591   Double_t fH_Ped_RuDsYmax;
0592   Double_t fH_TNo_RuDsYmin;
0593   Double_t fH_TNo_RuDsYmax;
0594   Double_t fH_MCs_RuDsYmin;
0595   Double_t fH_MCs_RuDsYmax;
0596   Double_t fH_LFN_RuDsYmin;
0597   Double_t fH_LFN_RuDsYmax;
0598   Double_t fH_HFN_RuDsYmin;
0599   Double_t fH_HFN_RuDsYmax;
0600   Double_t fH_SCs_RuDsYmin;
0601   Double_t fH_SCs_RuDsYmax;
0602 
0603   Double_t fH2LFccMosMatrixYmin;
0604   Double_t fH2LFccMosMatrixYmax;
0605   Double_t fH2HFccMosMatrixYmin;
0606   Double_t fH2HFccMosMatrixYmax;
0607   Double_t fH2CorccInStinsYmin;
0608   Double_t fH2CorccInStinsYmax;
0609 
0610   //============================================== Canvases attributes, options
0611   TPaveText* fPavComGeneralTitle;
0612   TPaveText* fPavComStas;
0613   TPaveText* fPavComStex;
0614   TPaveText* fPavComStin;
0615   TPaveText* fPavComXtal;
0616   TPaveText* fPavComAnaRun;
0617   TPaveText* fPavComNbOfEvts;
0618   TPaveText* fPavComSeveralChanging;
0619   TPaveText* fPavComLVRB;  // specific EB
0620   TPaveText* fPavComCxyz;  // specific EE
0621   TPaveText* fPavComEvolRuns;
0622   TPaveText* fPavComEvolNbOfEvtsAna;
0623 
0624   TString fOnlyOnePlot;
0625   TString fSeveralPlot;
0626   TString fSameOnePlot;
0627   TString fAllXtalsInStinPlot;
0628   Int_t fPlotAllXtalsInStin;
0629 
0630   Int_t fMemoPlotH1SamePlus;
0631   Int_t fMemoPlotD_NOE_ChNb, fMemoPlotD_NOE_ChDs;
0632   Int_t fMemoPlotD_Ped_ChNb, fMemoPlotD_Ped_ChDs;
0633   Int_t fMemoPlotD_TNo_ChNb, fMemoPlotD_TNo_ChDs;
0634   Int_t fMemoPlotD_MCs_ChNb, fMemoPlotD_MCs_ChDs;
0635   Int_t fMemoPlotD_LFN_ChNb, fMemoPlotD_LFN_ChDs;
0636   Int_t fMemoPlotD_HFN_ChNb, fMemoPlotD_HFN_ChDs;
0637   Int_t fMemoPlotD_SCs_ChNb, fMemoPlotD_SCs_ChDs;
0638   Int_t fMemoPlotD_MSp_SpNb, fMemoPlotD_SSp_SpNb;
0639   Int_t fMemoPlotD_MSp_SpDs, fMemoPlotD_SSp_SpDs;
0640   Int_t fMemoPlotD_Adc_EvNb, fMemoPlotD_Adc_EvDs;
0641   Int_t fMemoPlotH_Ped_Date, fMemoPlotH_Ped_RuDs;
0642   Int_t fMemoPlotH_TNo_Date, fMemoPlotH_TNo_RuDs;
0643   Int_t fMemoPlotH_LFN_Date, fMemoPlotH_LFN_RuDs;
0644   Int_t fMemoPlotH_HFN_Date, fMemoPlotH_HFN_RuDs;
0645   Int_t fMemoPlotH_MCs_Date, fMemoPlotH_MCs_RuDs;
0646   Int_t fMemoPlotH_SCs_Date, fMemoPlotH_SCs_RuDs;
0647 
0648   Int_t fMemoColorH1SamePlus;
0649   Int_t fMemoColorD_NOE_ChNb, fMemoColorD_NOE_ChDs;
0650   Int_t fMemoColorD_Ped_ChNb, fMemoColorD_Ped_ChDs;
0651   Int_t fMemoColorD_TNo_ChNb, fMemoColorD_TNo_ChDs;
0652   Int_t fMemoColorD_MCs_ChNb, fMemoColorD_MCs_ChDs;
0653   Int_t fMemoColorD_LFN_ChNb, fMemoColorD_LFN_ChDs;
0654   Int_t fMemoColorD_HFN_ChNb, fMemoColorD_HFN_ChDs;
0655   Int_t fMemoColorD_SCs_ChNb, fMemoColorD_SCs_ChDs;
0656   Int_t fMemoColorD_MSp_SpNb, fMemoColorD_SSp_SpNb;
0657   Int_t fMemoColorD_MSp_SpDs, fMemoColorD_SSp_SpDs;
0658   Int_t fMemoColorD_Adc_EvNb, fMemoColorD_Adc_EvDs;
0659   Int_t fMemoColorH_Ped_Date, fMemoColorH_Ped_RuDs;
0660   Int_t fMemoColorH_TNo_Date, fMemoColorH_TNo_RuDs;
0661   Int_t fMemoColorH_LFN_Date, fMemoColorH_LFN_RuDs;
0662   Int_t fMemoColorH_HFN_Date, fMemoColorH_HFN_RuDs;
0663   Int_t fMemoColorH_MCs_Date, fMemoColorH_MCs_RuDs;
0664   Int_t fMemoColorH_SCs_Date, fMemoColorH_SCs_RuDs;
0665 
0666   Int_t fNbBinsProj;
0667 
0668   TString fXMemoH1SamePlus;
0669   TString fXMemoD_NOE_ChNb;
0670   TString fXMemoD_NOE_ChDs;
0671   TString fXMemoD_Ped_ChNb;
0672   TString fXMemoD_Ped_ChDs;
0673   TString fXMemoD_TNo_ChNb;
0674   TString fXMemoD_TNo_ChDs;
0675   TString fXMemoD_MCs_ChNb;
0676   TString fXMemoD_MCs_ChDs;
0677   TString fXMemoD_LFN_ChNb;
0678   TString fXMemoD_LFN_ChDs;
0679   TString fXMemoD_HFN_ChNb;
0680   TString fXMemoD_HFN_ChDs;
0681   TString fXMemoD_SCs_ChNb;
0682   TString fXMemoD_SCs_ChDs;
0683   TString fXMemoD_MSp_SpNb;
0684   TString fXMemoD_MSp_SpDs;
0685   TString fXMemoD_SSp_SpNb;
0686   TString fXMemoD_SSp_SpDs;
0687   TString fXMemoD_Adc_EvDs;
0688   TString fXMemoD_Adc_EvNb;
0689   TString fXMemoH_Ped_Date;
0690   TString fXMemoH_TNo_Date;
0691   TString fXMemoH_MCs_Date;
0692   TString fXMemoH_LFN_Date;
0693   TString fXMemoH_HFN_Date;
0694   TString fXMemoH_SCs_Date;
0695   TString fXMemoH_Ped_RuDs;
0696   TString fXMemoH_TNo_RuDs;
0697   TString fXMemoH_MCs_RuDs;
0698   TString fXMemoH_LFN_RuDs;
0699   TString fXMemoH_HFN_RuDs;
0700   TString fXMemoH_SCs_RuDs;
0701 
0702   TString fYMemoH1SamePlus;
0703   TString fYMemoD_NOE_ChNb;
0704   TString fYMemoD_NOE_ChDs;
0705   TString fYMemoD_Ped_ChNb;
0706   TString fYMemoD_Ped_ChDs;
0707   TString fYMemoD_TNo_ChNb;
0708   TString fYMemoD_TNo_ChDs;
0709   TString fYMemoD_MCs_ChNb;
0710   TString fYMemoD_MCs_ChDs;
0711   TString fYMemoD_LFN_ChNb;
0712   TString fYMemoD_LFN_ChDs;
0713   TString fYMemoD_HFN_ChNb;
0714   TString fYMemoD_HFN_ChDs;
0715   TString fYMemoD_SCs_ChNb;
0716   TString fYMemoD_SCs_ChDs;
0717   TString fYMemoD_MSp_SpNb;
0718   TString fYMemoD_MSp_SpDs;
0719   TString fYMemoD_SSp_SpNb;
0720   TString fYMemoD_SSp_SpDs;
0721   TString fYMemoD_Adc_EvDs;
0722   TString fYMemoD_Adc_EvNb;
0723   TString fYMemoH_Ped_Date;
0724   TString fYMemoH_TNo_Date;
0725   TString fYMemoH_MCs_Date;
0726   TString fYMemoH_LFN_Date;
0727   TString fYMemoH_HFN_Date;
0728   TString fYMemoH_SCs_Date;
0729   TString fYMemoH_Ped_RuDs;
0730   TString fYMemoH_TNo_RuDs;
0731   TString fYMemoH_MCs_RuDs;
0732   TString fYMemoH_LFN_RuDs;
0733   TString fYMemoH_HFN_RuDs;
0734   TString fYMemoH_SCs_RuDs;
0735 
0736   Int_t fNbBinsMemoH1SamePlus;
0737   Int_t fNbBinsMemoD_NOE_ChNb;
0738   Int_t fNbBinsMemoD_NOE_ChDs;
0739   Int_t fNbBinsMemoD_Ped_ChNb;
0740   Int_t fNbBinsMemoD_Ped_ChDs;
0741   Int_t fNbBinsMemoD_TNo_ChNb;
0742   Int_t fNbBinsMemoD_TNo_ChDs;
0743   Int_t fNbBinsMemoD_MCs_ChNb;
0744   Int_t fNbBinsMemoD_MCs_ChDs;
0745   Int_t fNbBinsMemoD_LFN_ChNb;
0746   Int_t fNbBinsMemoD_LFN_ChDs;
0747   Int_t fNbBinsMemoD_HFN_ChNb;
0748   Int_t fNbBinsMemoD_HFN_ChDs;
0749   Int_t fNbBinsMemoD_SCs_ChNb;
0750   Int_t fNbBinsMemoD_SCs_ChDs;
0751   Int_t fNbBinsMemoD_MSp_SpNb;
0752   Int_t fNbBinsMemoD_MSp_SpDs;
0753   Int_t fNbBinsMemoD_SSp_SpNb;
0754   Int_t fNbBinsMemoD_SSp_SpDs;
0755   Int_t fNbBinsMemoD_Adc_EvDs;
0756   Int_t fNbBinsMemoD_Adc_EvNb;
0757   Int_t fNbBinsMemoH_Ped_Date;
0758   Int_t fNbBinsMemoH_TNo_Date;
0759   Int_t fNbBinsMemoH_MCs_Date;
0760   Int_t fNbBinsMemoH_LFN_Date;
0761   Int_t fNbBinsMemoH_HFN_Date;
0762   Int_t fNbBinsMemoH_SCs_Date;
0763   Int_t fNbBinsMemoH_Ped_RuDs;
0764   Int_t fNbBinsMemoH_TNo_RuDs;
0765   Int_t fNbBinsMemoH_MCs_RuDs;
0766   Int_t fNbBinsMemoH_LFN_RuDs;
0767   Int_t fNbBinsMemoH_HFN_RuDs;
0768   Int_t fNbBinsMemoH_SCs_RuDs;
0769   //.......................................................
0770   TString fCurrentCanvasName;
0771   TCanvas* fCurrentCanvas;
0772 
0773   TCanvas* fCanvH1SamePlus;
0774   TCanvas* fCanvD_NOE_ChNb;
0775   TCanvas* fCanvD_NOE_ChDs;
0776   TCanvas* fCanvD_Ped_ChNb;
0777   TCanvas* fCanvD_Ped_ChDs;
0778   TCanvas* fCanvD_TNo_ChNb;
0779   TCanvas* fCanvD_TNo_ChDs;
0780   TCanvas* fCanvD_MCs_ChNb;
0781   TCanvas* fCanvD_MCs_ChDs;
0782   TCanvas* fCanvD_LFN_ChNb;
0783   TCanvas* fCanvD_LFN_ChDs;
0784   TCanvas* fCanvD_HFN_ChNb;
0785   TCanvas* fCanvD_HFN_ChDs;
0786   TCanvas* fCanvD_SCs_ChNb;
0787   TCanvas* fCanvD_SCs_ChDs;
0788   TCanvas* fCanvD_MSp_SpNb;
0789   TCanvas* fCanvD_MSp_SpDs;
0790   TCanvas* fCanvD_SSp_SpNb;
0791   TCanvas* fCanvD_SSp_SpDs;
0792   TCanvas* fCanvD_Adc_EvDs;
0793   TCanvas* fCanvD_Adc_EvNb;
0794   TCanvas* fCanvH_Ped_Date;
0795   TCanvas* fCanvH_TNo_Date;
0796   TCanvas* fCanvH_MCs_Date;
0797   TCanvas* fCanvH_LFN_Date;
0798   TCanvas* fCanvH_HFN_Date;
0799   TCanvas* fCanvH_SCs_Date;
0800   TCanvas* fCanvH_Ped_RuDs;
0801   TCanvas* fCanvH_TNo_RuDs;
0802   TCanvas* fCanvH_MCs_RuDs;
0803   TCanvas* fCanvH_LFN_RuDs;
0804   TCanvas* fCanvH_HFN_RuDs;
0805   TCanvas* fCanvH_SCs_RuDs;
0806 
0807   Bool_t fClosedH1SamePlus;
0808   Bool_t fClosedD_NOE_ChNb;
0809   Bool_t fClosedD_NOE_ChDs;
0810   Bool_t fClosedD_Ped_ChNb;
0811   Bool_t fClosedD_Ped_ChDs;
0812   Bool_t fClosedD_TNo_ChNb;
0813   Bool_t fClosedD_TNo_ChDs;
0814   Bool_t fClosedD_MCs_ChNb;
0815   Bool_t fClosedD_MCs_ChDs;
0816   Bool_t fClosedD_LFN_ChNb;
0817   Bool_t fClosedD_LFN_ChDs;
0818   Bool_t fClosedD_HFN_ChNb;
0819   Bool_t fClosedD_HFN_ChDs;
0820   Bool_t fClosedD_SCs_ChNb;
0821   Bool_t fClosedD_SCs_ChDs;
0822   Bool_t fClosedD_MSp_SpNb;
0823   Bool_t fClosedD_MSp_SpDs;
0824   Bool_t fClosedD_SSp_SpNb;
0825   Bool_t fClosedD_SSp_SpDs;
0826   Bool_t fClosedD_Adc_EvNb;
0827   Bool_t fClosedD_Adc_EvDs;
0828   Bool_t fClosedH_Ped_Date;
0829   Bool_t fClosedH_TNo_Date;
0830   Bool_t fClosedH_MCs_Date;
0831   Bool_t fClosedH_LFN_Date;
0832   Bool_t fClosedH_HFN_Date;
0833   Bool_t fClosedH_SCs_Date;
0834   Bool_t fClosedH_Ped_RuDs;
0835   Bool_t fClosedH_TNo_RuDs;
0836   Bool_t fClosedH_MCs_RuDs;
0837   Bool_t fClosedH_LFN_RuDs;
0838   Bool_t fClosedH_HFN_RuDs;
0839   Bool_t fClosedH_SCs_RuDs;
0840 
0841   TString fCurrentHistoCode;
0842   TString fCurrentOptPlot;
0843 
0844   TVirtualPad* fCurrentPad;
0845 
0846   TVirtualPad* fPadH1SamePlus;
0847   TVirtualPad* fPadD_NOE_ChNb;
0848   TVirtualPad* fPadD_NOE_ChDs;
0849   TVirtualPad* fPadD_Ped_ChNb;
0850   TVirtualPad* fPadD_Ped_ChDs;
0851   TVirtualPad* fPadD_TNo_ChNb;
0852   TVirtualPad* fPadD_TNo_ChDs;
0853   TVirtualPad* fPadD_MCs_ChNb;
0854   TVirtualPad* fPadD_MCs_ChDs;
0855   TVirtualPad* fPadD_LFN_ChNb;
0856   TVirtualPad* fPadD_LFN_ChDs;
0857   TVirtualPad* fPadD_HFN_ChNb;
0858   TVirtualPad* fPadD_HFN_ChDs;
0859   TVirtualPad* fPadD_SCs_ChNb;
0860   TVirtualPad* fPadD_SCs_ChDs;
0861   TVirtualPad* fPadD_MSp_SpNb;
0862   TVirtualPad* fPadD_MSp_SpDs;
0863   TVirtualPad* fPadD_SSp_SpNb;
0864   TVirtualPad* fPadD_SSp_SpDs;
0865   TVirtualPad* fPadD_Adc_EvDs;
0866   TVirtualPad* fPadD_Adc_EvNb;
0867   TVirtualPad* fPadH_Ped_Date;
0868   TVirtualPad* fPadH_TNo_Date;
0869   TVirtualPad* fPadH_MCs_Date;
0870   TVirtualPad* fPadH_LFN_Date;
0871   TVirtualPad* fPadH_HFN_Date;
0872   TVirtualPad* fPadH_SCs_Date;
0873   TVirtualPad* fPadH_Ped_RuDs;
0874   TVirtualPad* fPadH_TNo_RuDs;
0875   TVirtualPad* fPadH_MCs_RuDs;
0876   TVirtualPad* fPadH_LFN_RuDs;
0877   TVirtualPad* fPadH_HFN_RuDs;
0878   TVirtualPad* fPadH_SCs_RuDs;
0879 
0880   TPaveText* fPavTxtH1SamePlus;
0881   TPaveText* fPavTxtD_NOE_ChNb;
0882   TPaveText* fPavTxtD_NOE_ChDs;
0883   TPaveText* fPavTxtD_Ped_ChNb;
0884   TPaveText* fPavTxtD_Ped_ChDs;
0885   TPaveText* fPavTxtD_TNo_ChNb;
0886   TPaveText* fPavTxtD_TNo_ChDs;
0887   TPaveText* fPavTxtD_MCs_ChNb;
0888   TPaveText* fPavTxtD_MCs_ChDs;
0889   TPaveText* fPavTxtD_LFN_ChNb;
0890   TPaveText* fPavTxtD_LFN_ChDs;
0891   TPaveText* fPavTxtD_HFN_ChNb;
0892   TPaveText* fPavTxtD_HFN_ChDs;
0893   TPaveText* fPavTxtD_SCs_ChNb;
0894   TPaveText* fPavTxtD_SCs_ChDs;
0895   TPaveText* fPavTxtD_MSp_SpNb;
0896   TPaveText* fPavTxtD_MSp_SpDs;
0897   TPaveText* fPavTxtD_SSp_SpNb;
0898   TPaveText* fPavTxtD_SSp_SpDs;
0899   TPaveText* fPavTxtD_Adc_EvDs;
0900   TPaveText* fPavTxtD_Adc_EvNb;
0901   TPaveText* fPavTxtH_Ped_Date;
0902   TPaveText* fPavTxtH_TNo_Date;
0903   TPaveText* fPavTxtH_MCs_Date;
0904   TPaveText* fPavTxtH_LFN_Date;
0905   TPaveText* fPavTxtH_HFN_Date;
0906   TPaveText* fPavTxtH_SCs_Date;
0907   TPaveText* fPavTxtH_Ped_RuDs;
0908   TPaveText* fPavTxtH_TNo_RuDs;
0909   TPaveText* fPavTxtH_MCs_RuDs;
0910   TPaveText* fPavTxtH_LFN_RuDs;
0911   TPaveText* fPavTxtH_HFN_RuDs;
0912   TPaveText* fPavTxtH_SCs_RuDs;
0913 
0914   TCanvasImp* fImpH1SamePlus;
0915   TCanvasImp* fImpD_NOE_ChNb;
0916   TCanvasImp* fImpD_NOE_ChDs;
0917   TCanvasImp* fImpD_Ped_ChNb;
0918   TCanvasImp* fImpD_Ped_ChDs;
0919   TCanvasImp* fImpD_TNo_ChNb;
0920   TCanvasImp* fImpD_TNo_ChDs;
0921   TCanvasImp* fImpD_MCs_ChNb;
0922   TCanvasImp* fImpD_MCs_ChDs;
0923   TCanvasImp* fImpD_LFN_ChNb;
0924   TCanvasImp* fImpD_LFN_ChDs;
0925   TCanvasImp* fImpD_HFN_ChNb;
0926   TCanvasImp* fImpD_HFN_ChDs;
0927   TCanvasImp* fImpD_SCs_ChNb;
0928   TCanvasImp* fImpD_SCs_ChDs;
0929   TCanvasImp* fImpD_MSp_SpNb;
0930   TCanvasImp* fImpD_MSp_SpDs;
0931   TCanvasImp* fImpD_SSp_SpNb;
0932   TCanvasImp* fImpD_SSp_SpDs;
0933   TCanvasImp* fImpD_Adc_EvDs;
0934   TCanvasImp* fImpD_Adc_EvNb;
0935   TCanvasImp* fImpH_Ped_Date;
0936   TCanvasImp* fImpH_TNo_Date;
0937   TCanvasImp* fImpH_MCs_Date;
0938   TCanvasImp* fImpH_LFN_Date;
0939   TCanvasImp* fImpH_HFN_Date;
0940   TCanvasImp* fImpH_SCs_Date;
0941   TCanvasImp* fImpH_Ped_RuDs;
0942   TCanvasImp* fImpH_TNo_RuDs;
0943   TCanvasImp* fImpH_MCs_RuDs;
0944   TCanvasImp* fImpH_LFN_RuDs;
0945   TCanvasImp* fImpH_HFN_RuDs;
0946   TCanvasImp* fImpH_SCs_RuDs;
0947 
0948   Int_t fCanvSameH1SamePlus;
0949   Int_t fCanvSameD_NOE_ChNb, fCanvSameD_NOE_ChDs;
0950   Int_t fCanvSameD_Ped_ChNb, fCanvSameD_Ped_ChDs;
0951   Int_t fCanvSameD_TNo_ChNb, fCanvSameD_TNo_ChDs;
0952   Int_t fCanvSameD_MCs_ChNb, fCanvSameD_MCs_ChDs;
0953   Int_t fCanvSameD_LFN_ChNb, fCanvSameD_LFN_ChDs;
0954   Int_t fCanvSameD_HFN_ChNb, fCanvSameD_HFN_ChDs;
0955   Int_t fCanvSameD_SCs_ChNb, fCanvSameD_SCs_ChDs;
0956   Int_t fCanvSameD_MSp_SpNb, fCanvSameD_SSp_SpNb;
0957   Int_t fCanvSameD_MSp_SpDs, fCanvSameD_SSp_SpDs;
0958   Int_t fCanvSameD_Adc_EvDs, fCanvSameD_Adc_EvNb;
0959   Int_t fCanvSameH_Ped_Date, fCanvSameH_Ped_RuDs;
0960   Int_t fCanvSameH_TNo_Date, fCanvSameH_TNo_RuDs;
0961   Int_t fCanvSameH_LFN_Date, fCanvSameH_LFN_RuDs;
0962   Int_t fCanvSameH_HFN_Date, fCanvSameH_HFN_RuDs;
0963   Int_t fCanvSameH_MCs_Date, fCanvSameH_MCs_RuDs;
0964   Int_t fCanvSameH_SCs_Date, fCanvSameH_SCs_RuDs;
0965 
0966   Int_t fNbOfListFileH_Ped_Date, fNbOfListFileH_TNo_Date, fNbOfListFileH_MCs_Date;  // List file numbers
0967   Int_t fNbOfListFileH_LFN_Date, fNbOfListFileH_HFN_Date, fNbOfListFileH_SCs_Date;  // List file numbers
0968   Int_t fNbOfListFileH_Ped_RuDs, fNbOfListFileH_TNo_RuDs, fNbOfListFileH_MCs_RuDs;  // List file numbers
0969   Int_t fNbOfListFileH_LFN_RuDs, fNbOfListFileH_HFN_RuDs, fNbOfListFileH_SCs_RuDs;  // List file numbers
0970 
0971   //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
0972 
0973 public:
0974   //...................................... methods
0975   TEcnaHistos();
0976   TEcnaHistos(TEcnaObject*, const TString&);
0977 
0978   //TEcnaHistos(const TString&);
0979   //TEcnaHistos(const TString&, const TEcnaParPaths*);
0980   //TEcnaHistos(const TString&,
0981   //          const TEcnaParPaths*,
0982   //          const TEcnaParCout*,
0983   //          const TEcnaParEcal*,
0984   //          const TEcnaParHistos*,
0985   //          const TEcnaNumbering*,
0986   //          const TEcnaWrite*);
0987 
0988   ~TEcnaHistos() override;
0989 
0990   void Init();
0991   void SetEcalSubDetector(const TString&);
0992   //  void SetEcalSubDetector(const TString&,
0993   //              const TEcnaParEcal*,
0994   //              const TEcnaParHistos*,
0995   //              const TEcnaNumbering*,
0996   //              const TEcnaWrite*);
0997 
0998   //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0999   //
1000   //                     METHODS FOR THE USER
1001   //
1002   //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1003 
1004   //............ method to set the result file name parameters (from values in argument)
1005   //............ FileParameters(AnaType, [RunNumber], FirstEvent, NbOfEvts, [SM or Dee number])
1006   //             RunNumber = 0 => history plots , SM or Dee number = 0 => EB or EE Plots
1007 
1008   void FileParameters(
1009       const TString&, const Int_t&, const Int_t&, const Int_t&, const Int_t&, const Int_t&, const Int_t&);
1010 
1011   void FileParameters(TEcnaRead*);
1012 
1013   //================================================================================================
1014   //                    methods for displaying matrices (correlations, covariances)
1015   //  The last argument is optional: option plot ("COLZ", "LEGO" etc..., or "ASCII") default = COLZ
1016   //================================================================================================
1017   //..................... Corcc[for 1 Stex] (big matrix)
1018   void PlotMatrix(const TMatrixD&, const TString&, const TString&);
1019   void PlotMatrix(const TMatrixD&, const TString&, const TString&, const TString&);
1020 
1021   void PlotMatrix(const TString&, const TString&);
1022   void PlotMatrix(const TString&, const TString&, const TString&);
1023 
1024   //..................... Corcc[for 1 Stin], Corss[for 1 Echa], Covss[for 1 Echa]
1025   void PlotMatrix(const TMatrixD&, const TString&, const TString&, const Int_t&, const Int_t&);
1026   void PlotMatrix(const TMatrixD&, const TString&, const TString&, const Int_t&, const Int_t&, const TString&);
1027 
1028   void PlotMatrix(const TString&, const TString&, const Int_t&, const Int_t&);
1029   void PlotMatrix(const TString&, const TString&, const Int_t&, const Int_t&, const TString&);
1030 
1031   //================================================================================================
1032   //                    methods for displaying 2D views of the detector
1033   //                    detector = SM, Dee, EB, EE
1034   //================================================================================================
1035   void PlotDetector(const TVectorD&, const TString&, const TString&);
1036   void PlotDetector(const TString&, const TString&);
1037 
1038   //================================================================================================
1039   //                    methods for displaying 1D histos OR history histos
1040   //  The last argument is optional: option plot ("COLZ", "LEGO" etc..., or "ASCII") default = COLZ
1041   //================================================================================================
1042   void Plot1DHisto(const TVectorD&, const TString&, const TString&, const TString&);
1043   void Plot1DHisto(const TVectorD&, const TString&, const TString&, const TString&, const TString&);
1044 
1045   void Plot1DHisto(const TString&, const TString&, const TString&);
1046   void Plot1DHisto(const TString&, const TString&, const TString&, const TString&);
1047 
1048   //.......................................................
1049   //=> BUG SCRAM? (voir test/TEcnaHistosExample2.cc et src/TEcnaHistos.cc)
1050   void Plot1DHisto(const TVectorD&, const TString&, const TString&, const Int_t&);
1051   void Plot1DHisto(const TVectorD&, const TString&, const TString&, const Int_t&, const TString&);
1052 
1053   void Plot1DHisto(const TVectorD&, const TString&, const TString&, const Int_t&, const Int_t&);
1054   void Plot1DHisto(const TVectorD&, const TString&, const TString&, const Int_t&, const Int_t&, const TString&);
1055 
1056   void Plot1DHisto(const TString&, const TString&, const Int_t&, const Int_t&);
1057   void Plot1DHisto(const TString&, const TString&, const Int_t&, const Int_t&, const TString&);
1058 
1059   //.......................................................
1060   void Plot1DHisto(const TVectorD&, const TString&, const TString&, const Int_t&, const Int_t&, const Int_t&);
1061   void Plot1DHisto(
1062       const TVectorD&, const TString&, const TString&, const Int_t&, const Int_t&, const Int_t&, const TString&);
1063 
1064   void Plot1DHisto(const TString&, const TString&, const Int_t&, const Int_t&, const Int_t&);
1065   void Plot1DHisto(const TString&, const TString&, const Int_t&, const Int_t&, const Int_t&, const TString&);
1066 
1067   //.......................................................
1068   void PlotHistory(const TString&, const TString&, const TString&, const Int_t&, const Int_t&);
1069   void PlotHistory(const TString&, const TString&, const TString&, const Int_t&, const Int_t&, const TString&);
1070 
1071   //====================================================================================
1072   //
1073   //                   methods for displaying Tower, SC, crystal numbering
1074   //
1075   //====================================================================================
1076   void SMTowerNumbering(const Int_t&);  // USER: specific EB
1077   void DeeSCNumbering(const Int_t&);    // USER: specific EE
1078 
1079   void TowerCrystalNumbering(const Int_t&, const Int_t&);  // USER: specific EB
1080   void SCCrystalNumbering(const Int_t&, const Int_t&);     // USER: specific EE
1081 
1082   //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1083   //
1084   //             "TECHNICAL" METHODS
1085   //
1086   //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1087   void XtalSamplesEv(const TVectorD&, const Int_t&, const Int_t&, const Int_t&, const TString&);
1088   void EvSamplesXtals(const TVectorD&, const Int_t&, const Int_t&, const Int_t&, const TString&);
1089   void XtalSamplesSigma(const TVectorD&, const Int_t&, const Int_t&, const Int_t&, const TString&);
1090   void SigmaSamplesXtals(const TVectorD&, const Int_t&, const Int_t&, const Int_t&, const TString&);
1091 
1092   void XtalSamplesEv(const TVectorD&, const Int_t&, const Int_t&, const Int_t&);
1093   void EvSamplesXtals(const TVectorD&, const Int_t&, const Int_t&, const Int_t&);
1094   void XtalSamplesSigma(const TVectorD&, const Int_t&, const Int_t&, const Int_t&);
1095   void SigmaSamplesXtals(const TVectorD&, const Int_t&, const Int_t&, const Int_t&);
1096 
1097   //======================================= Miscellaneous methods
1098   //.................... General title
1099   void GeneralTitle(const TString&);
1100 
1101   //.................................. Lin:Log scale, ColorPalette, General Title
1102   void SetHistoScaleX(const TString&);
1103   void SetHistoScaleY(const TString&);
1104   void SetHistoColorPalette(const TString&);
1105 
1106   //.................................. 1D and 2D histo min,max user's values
1107   void SetHistoMin(const Double_t&);
1108   void SetHistoMax(const Double_t&);
1109   //.................................. 1D and 2D histo min,max from histo values
1110   void SetHistoMin();
1111   void SetHistoMax();
1112 
1113   //.................................. set fStartDate and fStopDate attributes from external values
1114   void StartStopDate(const TString&, const TString&);
1115 
1116   //.................................. set fRunType attribute from external value
1117   void RunType(const TString&);
1118 
1119   //.................................. set fFapNbOfEvts attribute from external value
1120   void NumberOfEvents(const Int_t&);
1121 
1122   //======================= TECHNICAL METHODS (in principle not for the user) ========================
1123 
1124   void SetRunNumberFromList(const Int_t&, const Int_t&);  // called by Histime
1125   void InitSpecParBeforeFileReading();                    // set parameters from the file reading
1126 
1127   //................. methods for displaying the cor(s,s) and cov(s,s) corresponding to a Stin
1128   void CorrelationsBetweenSamples(const Int_t&);
1129   void CovariancesBetweenSamples(const Int_t&);
1130 
1131   //.................
1132   void StexHocoVecoLHFCorcc(const TString&);
1133 
1134   void StexStinNumbering(const Int_t&);
1135   void StinCrystalNumbering(const Int_t&, const Int_t&);
1136 
1137   void ViewStas(const TVectorD&, const Int_t&, const TString&);
1138   void ViewStex(const TVectorD&, const Int_t&, const TString&);
1139   void ViewStin(const Int_t&, const TString&);
1140   void ViewMatrix(const TMatrixD&,
1141                   const Int_t&,
1142                   const Int_t&,
1143                   const Int_t&,
1144                   const Int_t&,
1145                   const TString&,
1146                   const TString&,
1147                   const TString&);
1148   void ViewHisto(
1149       const TVectorD&, const Int_t&, const Int_t&, const Int_t&, const Int_t&, const TString&, const TString&);
1150 
1151   Int_t GetDSOffset(const Int_t&, const Int_t&);
1152   Int_t GetSCOffset(const Int_t&, const Int_t&, const Int_t&);
1153 
1154   void ViewHistime(const TString&, const Int_t&, const Int_t&, const TString&, const TString&);
1155 
1156   Int_t GetHistoryRunListParameters(const TString&, const TString&);
1157 
1158   void TopAxisForHistos(TH1D*, const TString&, const Int_t&, const Int_t&, const Int_t&, const Int_t&, const Int_t&);
1159 
1160   //--------------------------------------------------------------- xinf, xsup management
1161   void SetXinfMemoFromValue(const TString&, const Double_t&);
1162   void SetXsupMemoFromValue(const TString&, const Double_t&);
1163   void SetXinfMemoFromValue(const Double_t&);
1164   void SetXsupMemoFromValue(const Double_t&);
1165 
1166   Double_t GetXinfValueFromMemo(const TString&);
1167   Double_t GetXsupValueFromMemo(const TString&);
1168   Double_t GetXinfValueFromMemo();
1169   Double_t GetXsupValueFromMemo();
1170 
1171   Axis_t GetHistoXinf(const TString&, const Int_t&, const TString&);
1172   Axis_t GetHistoXsup(const TString&, const Int_t&, const TString&);
1173 
1174   Int_t GetHistoNumberOfBins(const TString&, const Int_t&);
1175 
1176   //--------------------------------------------------------------- ymin, ymax management
1177   void SetYminMemoFromValue(const TString&, const Double_t&);
1178   void SetYmaxMemoFromValue(const TString&, const Double_t&);
1179 
1180   Double_t GetYminValueFromMemo(const TString&);
1181   Double_t GetYmaxValueFromMemo(const TString&);
1182 
1183   void SetYminMemoFromPreviousMemo(const TString&);
1184   void SetYmaxMemoFromPreviousMemo(const TString&);
1185 
1186   Int_t SetHistoFrameYminYmaxFromMemo(TH1D*, const TString&);
1187   Int_t SetGraphFrameYminYmaxFromMemo(TGraph*, const TString&);
1188 
1189   Double_t GetYminFromHistoFrameAndMarginValue(TH1D*, const Double_t);
1190   Double_t GetYmaxFromHistoFrameAndMarginValue(TH1D*, const Double_t);
1191 
1192   Double_t GetYminFromGraphFrameAndMarginValue(TGraph*, const Double_t);
1193   Double_t GetYmaxFromGraphFrameAndMarginValue(TGraph*, const Double_t);
1194 
1195   //.................................. 1D and 2D histo min,max default values
1196   void SetAllYminYmaxMemoFromDefaultValues();
1197 
1198   //------------------------------------------------- Memo Same, Same n management
1199   void SetXVarMemo(const TString&, const TString&, const TString&);
1200   TString GetXVarFromMemo(const TString&, const TString&);
1201 
1202   void SetYVarMemo(const TString&, const TString&, const TString&);
1203   TString GetYVarFromMemo(const TString&, const TString&);
1204 
1205   void SetNbBinsMemo(const TString&, const TString&, const Int_t&);
1206   Int_t GetNbBinsFromMemo(const TString&, const TString&);
1207 
1208   //--------------------------------------------------------------------------------
1209   void ViewStexStinNumberingPad(const Int_t&);
1210   void ViewSMTowerNumberingPad(const Int_t&);  // specific EB
1211   void ViewDeeSCNumberingPad(const Int_t&);    // specific EE
1212 
1213   void ViewStinGrid(const Int_t&, const Int_t&, const Int_t&, const Int_t&, const Int_t&, const TString&);
1214   void ViewTowerGrid(
1215       const Int_t&, const Int_t&, const Int_t&, const Int_t&, const Int_t&, const TString&);              // specific EB
1216   void ViewSCGrid(const Int_t&, const Int_t&, const Int_t&, const Int_t&, const Int_t&, const TString&);  // specific EE
1217 
1218   void ViewStexGrid(const Int_t&, const TString&);
1219   void ViewSMGrid(const Int_t&, const TString&);   // specific EB
1220   void ViewDeeGrid(const Int_t&, const TString&);  // specific EE
1221 
1222   void ViewStasGrid(const Int_t&);
1223   void ViewEBGrid();              // specific EB
1224   void ViewEEGrid(const Int_t&);  // specific EE
1225 
1226   void EEDataSectors(const Float_t&, const Float_t&, const Int_t&, const TString&);  // specific EE
1227   void EEGridAxis(const Int_t&, const TString&, const TString&);                     // specific EE
1228 
1229   void SqrtContourLevels(const Int_t&, Double_t*);
1230 
1231   TString StexNumberToString(const Int_t&);
1232 
1233   void HistoPlot(TH1D*,
1234                  const Int_t&,
1235                  const Axis_t&,
1236                  const Axis_t&,
1237                  const TString&,
1238                  const TString&,
1239                  const Int_t&,
1240                  const Int_t&,
1241                  const Int_t&,
1242                  const Int_t&,
1243                  const Int_t&,
1244                  const TString&,
1245                  const Int_t&,
1246                  const Int_t&);
1247 
1248   Double_t NotConnectedSCH1DBin(const Int_t&);
1249   Int_t GetNotConnectedDSSCFromIndex(const Int_t&);
1250   Int_t GetNotConnectedSCForConsFromIndex(const Int_t&);
1251   Int_t ModifiedSCEchaForNotConnectedSCs(const Int_t&, const Int_t&, const Int_t&, const Int_t&, const Int_t&);
1252 
1253   Double_t NotCompleteSCH1DBin(const Int_t&);
1254   Int_t GetNotCompleteDSSCFromIndex(const Int_t&);
1255   Int_t GetNotCompleteSCForConsFromIndex(const Int_t&);
1256 
1257   void HistimePlot(TGraph*,
1258                    Axis_t,
1259                    Axis_t,
1260                    const TString&,
1261                    const TString&,
1262                    const Int_t&,
1263                    const Int_t&,
1264                    const Int_t&,
1265                    const Int_t&,
1266                    const Int_t&,
1267                    const TString&,
1268                    const Int_t&);
1269 
1270   void SetAllPavesViewMatrix(const TString&, const Int_t&, const Int_t&, const Int_t&);
1271   void SetAllPavesViewStin(const Int_t&);
1272   void SetAllPavesViewStex(const TString&, const Int_t&);
1273   void SetAllPavesViewStex(const Int_t&);
1274   void SetAllPavesViewStas();
1275   void SetAllPavesViewStinCrysNb(const Int_t&, const Int_t&);
1276   void SetAllPavesViewHisto(const TString&, const Int_t&, const Int_t&, const Int_t&, const TString&);
1277   void SetAllPavesViewHisto(const TString&, const Int_t&, const Int_t&, const Int_t&, const TString&, const Int_t&);
1278 
1279   Int_t GetXSampInStin(const Int_t&, const Int_t&, const Int_t&, const Int_t&);
1280   Int_t GetYSampInStin(const Int_t&, const Int_t&, const Int_t&, const Int_t&);
1281 
1282   Int_t GetXCrysInStex(const Int_t&, const Int_t&, const Int_t&);
1283   Int_t GetYCrysInStex(const Int_t&, const Int_t&, const Int_t&);
1284 
1285   Int_t GetXStinInStas(const Int_t&, const Int_t&, const Int_t&);
1286   Int_t GetYStinInStas(const Int_t&, const Int_t&);
1287 
1288   TString GetHocoVecoAxisTitle(const TString&);
1289   TString GetEtaPhiAxisTitle(const TString&);  // specific EB
1290   TString GetIXIYAxisTitle(const TString&);    // specific EE
1291 
1292   Bool_t GetOkViewHisto(TEcnaRead*, const Int_t&, const Int_t&, const Int_t&, const TString&);
1293   Int_t GetHistoSize(const TString&, const TString&);
1294   TVectorD GetHistoValues(const TVectorD&,
1295                           const Int_t&,
1296                           TEcnaRead*,
1297                           const TString&,
1298                           const Int_t&,
1299                           const Int_t&,
1300                           const Int_t&,
1301                           const Int_t&,
1302                           const Int_t&,
1303                           Int_t&);
1304 
1305   TString SetHistoXAxisTitle(const TString&);
1306   TString SetHistoYAxisTitle(const TString&);
1307 
1308   void FillHisto(TH1D*, const TVectorD&, const TString&, const Int_t&);
1309 
1310   TString GetMemoFlag(const TString&);
1311   TString GetMemoFlag(const TString&, const TString&);
1312 
1313   TCanvas* CreateCanvas(const TString&, const TString&, const TString&, UInt_t, UInt_t);
1314   TCanvas* GetCurrentCanvas(const TString&, const TString&);
1315   TCanvas* GetCurrentCanvas();
1316   TString GetCurrentCanvasName();
1317   void PlotCloneOfCurrentCanvas();
1318 
1319   void SetParametersCanvas(const TString&, const TString&);
1320   void SetParametersPavTxt(const TString&, const TString&);
1321 
1322   TVirtualPad* ActivePad(const TString&, const TString&);
1323   TPaveText* ActivePavTxt(const TString&, const TString&);
1324   void DoCanvasClosed();
1325 
1326   void SetHistoPresentation(TH1D*, const TString&);
1327   void SetHistoPresentation(TH1D*, const TString&, const TString&);
1328   void SetGraphPresentation(TGraph*, const TString&, const TString&);
1329 
1330   void SetViewHistoColors(TH1D*, const TString&, const TString&, const Int_t&);
1331   void SetViewGraphColors(TGraph*, const TString&, const TString&);
1332 
1333   Color_t GetViewHistoColor(const TString&, const TString&);
1334 
1335   Int_t GetListFileNumber(const TString&);
1336   void ReInitCanvas(const TString&, const TString&);
1337   void NewCanvas(const TString&);
1338 
1339   TString SetCanvasName(const TString&,
1340                         const Int_t&,
1341                         const Int_t&,
1342                         const TString&,
1343                         const Int_t&,
1344                         const Int_t&,
1345                         const Int_t&,
1346                         const Int_t&);
1347 
1348   Color_t GetSCColor(const TString&, const TString&, const TString&);  // specific EE
1349 
1350   void WriteMatrixAscii(const TString&, const TString&, const Int_t&, const Int_t&, const Int_t&, const TMatrixD&);
1351   void WriteHistoAscii(const TString&, const Int_t&, const TVectorD&);
1352 
1353   TString AsciiFileName();
1354   Bool_t StatusFileFound();
1355   Bool_t StatusDataExist();
1356 
1357   ClassDefOverride(TEcnaHistos, 1)  // methods for plots from ECNA (Ecal Correlated Noises Analysis)
1358 };
1359 
1360 #endif  //    ZTR_TEcnaHistos