CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaHistos.h

Go to the documentation of this file.
00001 #ifndef ZTR_TEcnaHistos
00002 #define ZTR_TEcnaHistos
00003 
00004 #include "TObject.h"
00005 #include <Riostream.h>
00006 #include <time.h>
00007 #include "TSystem.h"
00008 
00009 #include "TROOT.h"
00010 #include "TStyle.h"
00011 #include "TGraph.h"
00012 #include "TCanvas.h"
00013 #include "TRootCanvas.h"
00014 #include "TVectorD.h"
00015 #include "TH1.h"
00016 #include "TH2D.h"
00017 #include "TF1.h"
00018 #include "TPaveText.h"
00019 #include "TString.h"
00020 #include "TColor.h"
00021 #include "TGaxis.h"
00022 
00023 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaRead.h"
00024 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaWrite.h"
00025 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaParPaths.h"
00026 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaParCout.h"
00027 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaParHistos.h"
00028 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaParEcal.h"
00029 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaNumbering.h"
00030 
00031 //------------------------ TEcnaHistos.h -----------------
00032 //
00033 //   For questions or comments, please send e-mail to:
00034 //
00035 //   Bernard Fabbro             
00036 //   fabbro@hep.saclay.cea.fr 
00037 //--------------------------------------------------------
00038 
00039 class TEcnaHistos : public TObject {
00040 
00041  private:
00042 
00043   //..... Attributes
00044 
00045   //  static  const  Int_t        fgMaxCar    = 512;   <== DANGEROUS !
00046 
00047   Int_t fgMaxCar;                    // Max nb of caracters for char*
00048   Int_t fZerv;                       // = 0 , for ViewHisto non used arguments
00049 
00050 
00051   Int_t fCnaCommand, fCnaError;
00052   Int_t fCnew,       fCdelete;
00053   Int_t fCnewRoot,   fCdeleteRoot;
00054 
00055   TString fTTBELL;
00056 
00057   //....................... Current subdetector flag and codes
00058   TString fFlagSubDet;
00059   TString fCodeEB;
00060   TString fCodeEE;
00061 
00062   //...........................................
00063   TEcnaParHistos*   fCnaParHistos;
00064   TEcnaParPaths*    fCnaParPaths;
00065   TEcnaParCout*     fCnaParCout;
00066   TEcnaWrite*       fCnaWrite;
00067   TEcnaParEcal* fEcal;
00068   TEcnaNumbering*  fEcalNumbering;
00069   TEcnaHeader*      fFileHeader;
00070 
00071   TEcnaRead*        fMyRootFile;
00072 
00073   ifstream fFcin_f;
00074 
00075   TString fFapAnaType;             // Type of analysis
00076   Int_t   fFapNbOfSamples;         // Nb of required samples
00077   Int_t   fFapRunNumber;           // Run number
00078   Int_t   fFapFirstReqEvtNumber;   // First requested event number
00079   Int_t   fFapLastReqEvtNumber;    // Last requested event number
00080   Int_t   fFapReqNbOfEvts;         // Requested number of events
00081   Int_t   fFapStexNumber;          // Stex number
00082 
00083   Int_t   fFapNbOfEvts;           // Number of found events
00084 
00085   Int_t   fFapMaxNbOfRuns;         // Maximum Number of runs
00086   Int_t   fFapNbOfRuns;            // Number of runs
00087   TString fFapFileRuns;            // name of the file containing the list of run parameters
00088 
00089   Int_t fStartEvolRun, fStopEvolRun;
00090   Int_t fNbOfExistingRuns;
00091 
00092   time_t  fStartEvolTime, fStopEvolTime;
00093   TString fStartEvolDate, fStopEvolDate;
00094 
00095   TString fFapStexBarrel;          // Barrel type of the Stex (barrel+ OR barrel-)   (EB only)
00096   TString fFapStexType;            // type of the Dee (EE+F, EE+N, EE-F, EE-N)       (EE only)
00097   TString fFapStexDir;             // direction of the Dee (right, left)             (EE only)
00098   TString fFapStinQuadType;        // quadrant type of the SC (top, bottom)          (EE only)
00099  
00100   TString fFapStexName;            // Stex name: "SM"      (for EB) or "Dee"     (for EE)
00101   TString fFapStinName;            // Stin name: "tower"   (for EB) or "SC"      (for EE)
00102   TString fFapEchaName;            // Echa name: "channel" (for EB) or "crystal" (for EE)
00103 
00104 
00105   TString fMyRootFileName;  // memo Root file name used in SetFile() for obtaining the number of found events 
00106 
00107   TString fCfgResultsRootFilePath;     // absolute path for the results .root files (/afs/etc...)
00108   TString fCfgHistoryRunListFilePath;  // absolute path for the list-of-runs .ascii files (/afs/etc...)
00109                                        // MUST BE KEPT BECAUSE OF HISTIME PLOTS
00110   TString fAsciiFileName;
00111 
00112   Bool_t fStatusFileFound;
00113   Bool_t fStatusDataExist;
00114 
00115   time_t  fStartTime, fStopTime;
00116   TString fStartDate, fStopDate;
00117   TString fRunType;
00118 
00119 
00120   TString* fT1DAnaType;             // Type of analysis
00121   Int_t*   fT1DRunNumber;           // Run number
00122 
00123   TString* fT1DResultsRootFilePath; // absolute path for the ROOT files (/afs/etc... )
00124   TString* fT1DHistoryRunListFilePath;   // absolute path for the list-of-runs .ascii files (/afs/etc...)
00125 
00126   Int_t fStinSizeInCrystals;   // Size of one Stin in term of crystals
00127                                // (a Stin contains fStinSizeInCrystals*fStinSizeInCrystals crystals)
00128   TString fFlagScaleX;
00129   TString fFlagScaleY;
00130   TString fFlagColPal;
00131   TString fFlagGeneralTitle;
00132 
00133   Double_t fUserHistoMin,     fUserHistoMax;
00134   TString  fFlagUserHistoMin, fFlagUserHistoMax;
00135   //  TString  fCurQuantCode;
00136 
00137   Int_t fOptVisLego,   fOptVisColz,   fOptVisSurf1,  fOptVisSurf4;
00138   Int_t fOptVisLine,   fOptVisPolm;
00139 
00140   Int_t fOptScaleLinx, fOptScaleLogx, fOptScaleLiny, fOptScaleLogy;
00141 
00142   TString fCovarianceMatrix, fCorrelationMatrix;
00143 
00144   TString fBetweenSamples;
00145   TString fLFBetweenChannels, fHFBetweenChannels;
00146   TString fLFBetweenStins, fHFBetweenStins;
00147 
00148   Int_t   fTextPaveAlign;
00149   Int_t   fTextPaveFont;
00150   Float_t fTextPaveSize;
00151   Int_t   fTextBorderSize;
00152 
00153   Double_t fXinf, fXsup, fYinf, fYsup;
00154 
00155   Double_t fXinfProj, fXsupProj;
00156 
00157   //.................................... Xinf, Xsup
00158   Axis_t fH1SameOnePlotXinf;
00159   Axis_t fH1SameOnePlotXsup;
00160 
00161   Axis_t fD_NOE_ChNbXinf;
00162   Axis_t fD_NOE_ChNbXsup;
00163   Axis_t fD_NOE_ChDsXinf;
00164   Axis_t fD_NOE_ChDsXsup;
00165   Axis_t fD_Ped_ChNbXinf;
00166   Axis_t fD_Ped_ChNbXsup;
00167   Axis_t fD_Ped_ChDsXinf;
00168   Axis_t fD_Ped_ChDsXsup;
00169   Axis_t fD_TNo_ChNbXinf;
00170   Axis_t fD_TNo_ChNbXsup;
00171   Axis_t fD_TNo_ChDsXinf;
00172   Axis_t fD_TNo_ChDsXsup;
00173   Axis_t fD_MCs_ChNbXinf;
00174   Axis_t fD_MCs_ChNbXsup;
00175   Axis_t fD_MCs_ChDsXinf;
00176   Axis_t fD_MCs_ChDsXsup;
00177   Axis_t fD_LFN_ChNbXinf;
00178   Axis_t fD_LFN_ChNbXsup;
00179   Axis_t fD_LFN_ChDsXinf;
00180   Axis_t fD_LFN_ChDsXsup;
00181   Axis_t fD_HFN_ChNbXinf;
00182   Axis_t fD_HFN_ChNbXsup;
00183   Axis_t fD_HFN_ChDsXinf;
00184   Axis_t fD_HFN_ChDsXsup;
00185   Axis_t fD_SCs_ChNbXinf;
00186   Axis_t fD_SCs_ChNbXsup;
00187   Axis_t fD_SCs_ChDsXinf;
00188   Axis_t fD_SCs_ChDsXsup;
00189 
00190   Axis_t fD_MSp_SampXinf;
00191   Axis_t fD_MSp_SampXsup;
00192   Axis_t fD_SSp_SampXinf;
00193   Axis_t fD_SSp_SampXsup;
00194   Axis_t fD_Adc_EvDsXinf;
00195   Axis_t fD_Adc_EvDsXsup;
00196   Axis_t fD_Adc_EvNbXinf;
00197   Axis_t fD_Adc_EvNbXsup;
00198   Axis_t fH_Ped_DateXinf;
00199   Axis_t fH_Ped_DateXsup;
00200   Axis_t fH_TNo_DateXinf;
00201   Axis_t fH_TNo_DateXsup;
00202   Axis_t fH_MCs_DateXinf;
00203   Axis_t fH_MCs_DateXsup;
00204   Axis_t fH_LFN_DateXinf;
00205   Axis_t fH_LFN_DateXsup;
00206   Axis_t fH_HFN_DateXinf;
00207   Axis_t fH_HFN_DateXsup;
00208   Axis_t fH_SCs_DateXinf;
00209   Axis_t fH_SCs_DateXsup;
00210 
00211   Axis_t fH_Ped_RuDsXinf;
00212   Axis_t fH_Ped_RuDsXsup;
00213   Axis_t fH_TNo_RuDsXinf;
00214   Axis_t fH_TNo_RuDsXsup;
00215   Axis_t fH_MCs_RuDsXinf;
00216   Axis_t fH_MCs_RuDsXsup;
00217   Axis_t fH_LFN_RuDsXinf;
00218   Axis_t fH_LFN_RuDsXsup;
00219   Axis_t fH_HFN_RuDsXinf;
00220   Axis_t fH_HFN_RuDsXsup;
00221   Axis_t fH_SCs_RuDsXinf;
00222   Axis_t fH_SCs_RuDsXsup;
00223 
00224   //.................................... Ymin, Ymax
00225 
00226   TString  fHistoCodeFirst;  // HistoCode of the first histo in option SAME n
00227   Double_t fD_NOE_ChNbYmin;
00228   Double_t fD_NOE_ChNbYmax;
00229   Double_t fD_NOE_ChDsYmin;
00230   Double_t fD_NOE_ChDsYmax;
00231   Double_t fD_Ped_ChNbYmin;
00232   Double_t fD_Ped_ChNbYmax;
00233   Double_t fD_Ped_ChDsYmin;
00234   Double_t fD_Ped_ChDsYmax;
00235   Double_t fD_TNo_ChNbYmin;
00236   Double_t fD_TNo_ChNbYmax;
00237   Double_t fD_TNo_ChDsYmin;
00238   Double_t fD_TNo_ChDsYmax;
00239   Double_t fD_MCs_ChNbYmin;
00240   Double_t fD_MCs_ChNbYmax;
00241   Double_t fD_MCs_ChDsYmin;
00242   Double_t fD_MCs_ChDsYmax;
00243   Double_t fD_LFN_ChNbYmin;
00244   Double_t fD_LFN_ChNbYmax;
00245   Double_t fD_LFN_ChDsYmin;
00246   Double_t fD_LFN_ChDsYmax;
00247   Double_t fD_HFN_ChNbYmin;
00248   Double_t fD_HFN_ChNbYmax;
00249   Double_t fD_HFN_ChDsYmin;
00250   Double_t fD_HFN_ChDsYmax;
00251   Double_t fD_SCs_ChNbYmin;
00252   Double_t fD_SCs_ChNbYmax;
00253   Double_t fD_SCs_ChDsYmin;
00254   Double_t fD_SCs_ChDsYmax;
00255 
00256   Double_t fD_MSp_SampYmin;
00257   Double_t fD_MSp_SampYmax;
00258   Double_t fD_SSp_SampYmin;
00259   Double_t fD_SSp_SampYmax;
00260   Double_t fD_Adc_EvDsYmin;
00261   Double_t fD_Adc_EvDsYmax;
00262   Double_t fD_Adc_EvNbYmin;
00263   Double_t fD_Adc_EvNbYmax;
00264   Double_t fH_Ped_DateYmin;
00265   Double_t fH_Ped_DateYmax;
00266   Double_t fH_TNo_DateYmin;
00267   Double_t fH_TNo_DateYmax;
00268   Double_t fH_MCs_DateYmin;
00269   Double_t fH_MCs_DateYmax;
00270   Double_t fH_LFN_DateYmin;
00271   Double_t fH_LFN_DateYmax;
00272   Double_t fH_HFN_DateYmin;
00273   Double_t fH_HFN_DateYmax;
00274   Double_t fH_SCs_DateYmin;
00275   Double_t fH_SCs_DateYmax;
00276 
00277   Double_t fH_Ped_RuDsYmin;
00278   Double_t fH_Ped_RuDsYmax;
00279   Double_t fH_TNo_RuDsYmin;
00280   Double_t fH_TNo_RuDsYmax;
00281   Double_t fH_MCs_RuDsYmin;
00282   Double_t fH_MCs_RuDsYmax;
00283   Double_t fH_LFN_RuDsYmin;
00284   Double_t fH_LFN_RuDsYmax;
00285   Double_t fH_HFN_RuDsYmin;
00286   Double_t fH_HFN_RuDsYmax;
00287   Double_t fH_SCs_RuDsYmin;
00288   Double_t fH_SCs_RuDsYmax;
00289 
00290   Double_t fH2LFccMosMatrixYmin;
00291   Double_t fH2LFccMosMatrixYmax;
00292   Double_t fH2HFccMosMatrixYmin;
00293   Double_t fH2HFccMosMatrixYmax;
00294   Double_t fH2CorccInStinsYmin;
00295   Double_t fH2CorccInStinsYmax;
00296 
00297   //============================================== Canvases attributes, options
00298   TPaveText* fPavComGeneralTitle;
00299   TPaveText* fPavComStas;
00300   TPaveText* fPavComStex;
00301   TPaveText* fPavComStin;
00302   TPaveText* fPavComXtal;
00303   TPaveText* fPavComAnaRun;
00304   TPaveText* fPavComNbOfEvts;
00305   TPaveText* fPavComSeveralChanging;
00306   TPaveText* fPavComLVRB;                 // specific EB
00307   TPaveText* fPavComCxyz;                 // specific EE
00308   TPaveText* fPavComEvolRuns;
00309   TPaveText* fPavComEvolNbOfEvtsAna;
00310 
00311   TString fOnlyOnePlot;
00312   TString fSeveralPlot;
00313   TString fSameOnePlot;
00314 
00315   Int_t  fMemoPlotH1SamePlus;
00316   Int_t  fMemoPlotD_NOE_ChNb, fMemoPlotD_NOE_ChDs;
00317   Int_t  fMemoPlotD_Ped_ChNb, fMemoPlotD_Ped_ChDs;
00318   Int_t  fMemoPlotD_TNo_ChNb, fMemoPlotD_TNo_ChDs; 
00319   Int_t  fMemoPlotD_MCs_ChNb, fMemoPlotD_MCs_ChDs;
00320   Int_t  fMemoPlotD_LFN_ChNb, fMemoPlotD_LFN_ChDs; 
00321   Int_t  fMemoPlotD_HFN_ChNb, fMemoPlotD_HFN_ChDs; 
00322   Int_t  fMemoPlotD_SCs_ChNb, fMemoPlotD_SCs_ChDs; 
00323   Int_t  fMemoPlotD_MSp_Samp, fMemoPlotD_SSp_Samp;
00324   Int_t  fMemoPlotD_Adc_EvNb, fMemoPlotD_Adc_EvDs;
00325   Int_t  fMemoPlotH_Ped_Date, fMemoPlotH_Ped_RuDs;
00326   Int_t  fMemoPlotH_TNo_Date, fMemoPlotH_TNo_RuDs;
00327   Int_t  fMemoPlotH_LFN_Date, fMemoPlotH_LFN_RuDs;
00328   Int_t  fMemoPlotH_HFN_Date, fMemoPlotH_HFN_RuDs;
00329   Int_t  fMemoPlotH_MCs_Date, fMemoPlotH_MCs_RuDs;
00330   Int_t  fMemoPlotH_SCs_Date, fMemoPlotH_SCs_RuDs;
00331 
00332   Int_t  fMemoColorH1SamePlus;
00333   Int_t  fMemoColorD_NOE_ChNb, fMemoColorD_NOE_ChDs;
00334   Int_t  fMemoColorD_Ped_ChNb, fMemoColorD_Ped_ChDs;
00335   Int_t  fMemoColorD_TNo_ChNb, fMemoColorD_TNo_ChDs; 
00336   Int_t  fMemoColorD_MCs_ChNb, fMemoColorD_MCs_ChDs;
00337   Int_t  fMemoColorD_LFN_ChNb, fMemoColorD_LFN_ChDs; 
00338   Int_t  fMemoColorD_HFN_ChNb, fMemoColorD_HFN_ChDs; 
00339   Int_t  fMemoColorD_SCs_ChNb, fMemoColorD_SCs_ChDs; 
00340   Int_t  fMemoColorD_MSp_Samp, fMemoColorD_SSp_Samp;
00341   Int_t  fMemoColorD_Adc_EvNb, fMemoColorD_Adc_EvDs;
00342   Int_t  fMemoColorH_Ped_Date, fMemoColorH_Ped_RuDs;
00343   Int_t  fMemoColorH_TNo_Date, fMemoColorH_TNo_RuDs;
00344   Int_t  fMemoColorH_LFN_Date, fMemoColorH_LFN_RuDs;
00345   Int_t  fMemoColorH_HFN_Date, fMemoColorH_HFN_RuDs;
00346   Int_t  fMemoColorH_MCs_Date, fMemoColorH_MCs_RuDs; 
00347   Int_t  fMemoColorH_SCs_Date, fMemoColorH_SCs_RuDs;
00348 
00349   Int_t  fNbBinsProj;
00350 
00351   TString  fXMemoH1SamePlus;
00352   TString  fXMemoD_NOE_ChNb;
00353   TString  fXMemoD_NOE_ChDs;
00354   TString  fXMemoD_Ped_ChNb;
00355   TString  fXMemoD_Ped_ChDs;
00356   TString  fXMemoD_TNo_ChNb;
00357   TString  fXMemoD_TNo_ChDs; 
00358   TString  fXMemoD_MCs_ChNb; 
00359   TString  fXMemoD_MCs_ChDs;
00360   TString  fXMemoD_LFN_ChNb;
00361   TString  fXMemoD_LFN_ChDs; 
00362   TString  fXMemoD_HFN_ChNb;   
00363   TString  fXMemoD_HFN_ChDs; 
00364   TString  fXMemoD_SCs_ChNb; 
00365   TString  fXMemoD_SCs_ChDs; 
00366   TString  fXMemoD_MSp_Samp;
00367   TString  fXMemoD_SSp_Samp;
00368   TString  fXMemoD_Adc_EvDs;     
00369   TString  fXMemoD_Adc_EvNb;
00370   TString  fXMemoH_Ped_Date;
00371   TString  fXMemoH_TNo_Date;
00372   TString  fXMemoH_MCs_Date;
00373   TString  fXMemoH_LFN_Date;
00374   TString  fXMemoH_HFN_Date;
00375   TString  fXMemoH_SCs_Date;
00376   TString  fXMemoH_Ped_RuDs;
00377   TString  fXMemoH_TNo_RuDs;
00378   TString  fXMemoH_MCs_RuDs;
00379   TString  fXMemoH_LFN_RuDs;
00380   TString  fXMemoH_HFN_RuDs;
00381   TString  fXMemoH_SCs_RuDs;
00382 
00383   TString  fYMemoH1SamePlus;
00384   TString  fYMemoD_NOE_ChNb;
00385   TString  fYMemoD_NOE_ChDs;
00386   TString  fYMemoD_Ped_ChNb;
00387   TString  fYMemoD_Ped_ChDs;
00388   TString  fYMemoD_TNo_ChNb;   
00389   TString  fYMemoD_TNo_ChDs; 
00390   TString  fYMemoD_MCs_ChNb; 
00391   TString  fYMemoD_MCs_ChDs;
00392   TString  fYMemoD_LFN_ChNb;
00393   TString  fYMemoD_LFN_ChDs; 
00394   TString  fYMemoD_HFN_ChNb;   
00395   TString  fYMemoD_HFN_ChDs; 
00396   TString  fYMemoD_SCs_ChNb; 
00397   TString  fYMemoD_SCs_ChDs; 
00398   TString  fYMemoD_MSp_Samp;
00399   TString  fYMemoD_SSp_Samp;  
00400   TString  fYMemoD_Adc_EvDs;     
00401   TString  fYMemoD_Adc_EvNb;
00402   TString  fYMemoH_Ped_Date;
00403   TString  fYMemoH_TNo_Date;
00404   TString  fYMemoH_MCs_Date;
00405   TString  fYMemoH_LFN_Date;
00406   TString  fYMemoH_HFN_Date;
00407   TString  fYMemoH_SCs_Date;
00408   TString  fYMemoH_Ped_RuDs;
00409   TString  fYMemoH_TNo_RuDs;
00410   TString  fYMemoH_MCs_RuDs;
00411   TString  fYMemoH_LFN_RuDs;
00412   TString  fYMemoH_HFN_RuDs;
00413   TString  fYMemoH_SCs_RuDs;
00414 
00415   Int_t  fNbBinsMemoH1SamePlus;
00416   Int_t  fNbBinsMemoD_NOE_ChNb;
00417   Int_t  fNbBinsMemoD_NOE_ChDs;
00418   Int_t  fNbBinsMemoD_Ped_ChNb;
00419   Int_t  fNbBinsMemoD_Ped_ChDs;
00420   Int_t  fNbBinsMemoD_TNo_ChNb;   
00421   Int_t  fNbBinsMemoD_TNo_ChDs; 
00422   Int_t  fNbBinsMemoD_MCs_ChNb; 
00423   Int_t  fNbBinsMemoD_MCs_ChDs;
00424   Int_t  fNbBinsMemoD_LFN_ChNb;
00425   Int_t  fNbBinsMemoD_LFN_ChDs; 
00426   Int_t  fNbBinsMemoD_HFN_ChNb;   
00427   Int_t  fNbBinsMemoD_HFN_ChDs; 
00428   Int_t  fNbBinsMemoD_SCs_ChNb; 
00429   Int_t  fNbBinsMemoD_SCs_ChDs; 
00430   Int_t  fNbBinsMemoD_MSp_Samp;
00431   Int_t  fNbBinsMemoD_SSp_Samp;  
00432   Int_t  fNbBinsMemoD_Adc_EvDs;     
00433   Int_t  fNbBinsMemoD_Adc_EvNb;
00434   Int_t  fNbBinsMemoH_Ped_Date;
00435   Int_t  fNbBinsMemoH_TNo_Date;
00436   Int_t  fNbBinsMemoH_MCs_Date;
00437   Int_t  fNbBinsMemoH_LFN_Date;
00438   Int_t  fNbBinsMemoH_HFN_Date;
00439   Int_t  fNbBinsMemoH_SCs_Date;
00440   Int_t  fNbBinsMemoH_Ped_RuDs;
00441   Int_t  fNbBinsMemoH_TNo_RuDs;
00442   Int_t  fNbBinsMemoH_MCs_RuDs;
00443   Int_t  fNbBinsMemoH_LFN_RuDs;
00444   Int_t  fNbBinsMemoH_HFN_RuDs;
00445   Int_t  fNbBinsMemoH_SCs_RuDs;
00446   //.......................................................
00447   TString   fCurrentCanvasName;
00448   TCanvas*  fCurrentCanvas;
00449 
00450   TCanvas*  fCanvH1SamePlus;
00451   TCanvas*  fCanvD_NOE_ChNb;
00452   TCanvas*  fCanvD_NOE_ChDs;
00453   TCanvas*  fCanvD_Ped_ChNb;
00454   TCanvas*  fCanvD_Ped_ChDs;
00455   TCanvas*  fCanvD_TNo_ChNb;
00456   TCanvas*  fCanvD_TNo_ChDs;
00457   TCanvas*  fCanvD_MCs_ChNb;
00458   TCanvas*  fCanvD_MCs_ChDs;
00459   TCanvas*  fCanvD_LFN_ChNb;
00460   TCanvas*  fCanvD_LFN_ChDs;
00461   TCanvas*  fCanvD_HFN_ChNb; 
00462   TCanvas*  fCanvD_HFN_ChDs;
00463   TCanvas*  fCanvD_SCs_ChNb;
00464   TCanvas*  fCanvD_SCs_ChDs;
00465   TCanvas*  fCanvD_MSp_Samp;
00466   TCanvas*  fCanvD_SSp_Samp;  
00467   TCanvas*  fCanvD_Adc_EvDs;     
00468   TCanvas*  fCanvD_Adc_EvNb;
00469   TCanvas*  fCanvH_Ped_Date;
00470   TCanvas*  fCanvH_TNo_Date;
00471   TCanvas*  fCanvH_MCs_Date;
00472   TCanvas*  fCanvH_LFN_Date;
00473   TCanvas*  fCanvH_HFN_Date;
00474   TCanvas*  fCanvH_SCs_Date;
00475   TCanvas*  fCanvH_Ped_RuDs;
00476   TCanvas*  fCanvH_TNo_RuDs;
00477   TCanvas*  fCanvH_MCs_RuDs;
00478   TCanvas*  fCanvH_LFN_RuDs;
00479   TCanvas*  fCanvH_HFN_RuDs;
00480   TCanvas*  fCanvH_SCs_RuDs;
00481 
00482   TVirtualPad*  fCurrentPad;
00483 
00484   TVirtualPad*  fPadH1SamePlus;
00485   TVirtualPad*  fPadD_NOE_ChNb;
00486   TVirtualPad*  fPadD_NOE_ChDs;
00487   TVirtualPad*  fPadD_Ped_ChNb;
00488   TVirtualPad*  fPadD_Ped_ChDs;
00489   TVirtualPad*  fPadD_TNo_ChNb;  
00490   TVirtualPad*  fPadD_TNo_ChDs; 
00491   TVirtualPad*  fPadD_MCs_ChNb;
00492   TVirtualPad*  fPadD_MCs_ChDs;
00493   TVirtualPad*  fPadD_LFN_ChNb;
00494   TVirtualPad*  fPadD_LFN_ChDs;
00495   TVirtualPad*  fPadD_HFN_ChNb;   
00496   TVirtualPad*  fPadD_HFN_ChDs;
00497   TVirtualPad*  fPadD_SCs_ChNb;
00498   TVirtualPad*  fPadD_SCs_ChDs; 
00499   TVirtualPad*  fPadD_MSp_Samp;
00500   TVirtualPad*  fPadD_SSp_Samp;
00501   TVirtualPad*  fPadD_Adc_EvDs;     
00502   TVirtualPad*  fPadD_Adc_EvNb;
00503   TVirtualPad*  fPadH_Ped_Date;
00504   TVirtualPad*  fPadH_TNo_Date;
00505   TVirtualPad*  fPadH_MCs_Date;
00506   TVirtualPad*  fPadH_LFN_Date;
00507   TVirtualPad*  fPadH_HFN_Date;
00508   TVirtualPad*  fPadH_SCs_Date;
00509   TVirtualPad*  fPadH_Ped_RuDs;
00510   TVirtualPad*  fPadH_TNo_RuDs;
00511   TVirtualPad*  fPadH_MCs_RuDs;
00512   TVirtualPad*  fPadH_LFN_RuDs;
00513   TVirtualPad*  fPadH_HFN_RuDs;
00514   TVirtualPad*  fPadH_SCs_RuDs;
00515 
00516   TPaveText*  fPavTxtH1SamePlus;
00517   TPaveText*  fPavTxtD_NOE_ChNb;
00518   TPaveText*  fPavTxtD_NOE_ChDs;
00519   TPaveText*  fPavTxtD_Ped_ChNb;
00520   TPaveText*  fPavTxtD_Ped_ChDs;
00521   TPaveText*  fPavTxtD_TNo_ChNb;   
00522   TPaveText*  fPavTxtD_TNo_ChDs; 
00523   TPaveText*  fPavTxtD_MCs_ChNb; 
00524   TPaveText*  fPavTxtD_MCs_ChDs;
00525   TPaveText*  fPavTxtD_LFN_ChNb;
00526   TPaveText*  fPavTxtD_LFN_ChDs; 
00527   TPaveText*  fPavTxtD_HFN_ChNb;   
00528   TPaveText*  fPavTxtD_HFN_ChDs; 
00529   TPaveText*  fPavTxtD_SCs_ChNb; 
00530   TPaveText*  fPavTxtD_SCs_ChDs; 
00531   TPaveText*  fPavTxtD_MSp_Samp;
00532   TPaveText*  fPavTxtD_SSp_Samp;  
00533   TPaveText*  fPavTxtD_Adc_EvDs;     
00534   TPaveText*  fPavTxtD_Adc_EvNb;
00535   TPaveText*  fPavTxtH_Ped_Date;
00536   TPaveText*  fPavTxtH_TNo_Date;
00537   TPaveText*  fPavTxtH_MCs_Date;
00538   TPaveText*  fPavTxtH_LFN_Date;
00539   TPaveText*  fPavTxtH_HFN_Date;
00540   TPaveText*  fPavTxtH_SCs_Date;
00541   TPaveText*  fPavTxtH_Ped_RuDs;
00542   TPaveText*  fPavTxtH_TNo_RuDs;
00543   TPaveText*  fPavTxtH_MCs_RuDs;
00544   TPaveText*  fPavTxtH_LFN_RuDs;
00545   TPaveText*  fPavTxtH_HFN_RuDs;
00546   TPaveText*  fPavTxtH_SCs_RuDs;
00547 
00548   TCanvasImp*  fImpH1SamePlus;
00549   TCanvasImp*  fImpD_NOE_ChNb;
00550   TCanvasImp*  fImpD_NOE_ChDs;
00551   TCanvasImp*  fImpD_Ped_ChNb;
00552   TCanvasImp*  fImpD_Ped_ChDs;
00553   TCanvasImp*  fImpD_TNo_ChNb;
00554   TCanvasImp*  fImpD_TNo_ChDs;
00555   TCanvasImp*  fImpD_MCs_ChNb;
00556   TCanvasImp*  fImpD_MCs_ChDs;
00557   TCanvasImp*  fImpD_LFN_ChNb;
00558   TCanvasImp*  fImpD_LFN_ChDs;
00559   TCanvasImp*  fImpD_HFN_ChNb;
00560   TCanvasImp*  fImpD_HFN_ChDs;
00561   TCanvasImp*  fImpD_SCs_ChNb;
00562   TCanvasImp*  fImpD_SCs_ChDs; 
00563   TCanvasImp*  fImpD_MSp_Samp;
00564   TCanvasImp*  fImpD_SSp_Samp;  
00565   TCanvasImp*  fImpD_Adc_EvDs; 
00566   TCanvasImp*  fImpD_Adc_EvNb;
00567   TCanvasImp*  fImpH_Ped_Date;
00568   TCanvasImp*  fImpH_TNo_Date;
00569   TCanvasImp*  fImpH_MCs_Date;
00570   TCanvasImp*  fImpH_LFN_Date;
00571   TCanvasImp*  fImpH_HFN_Date;
00572   TCanvasImp*  fImpH_SCs_Date;
00573   TCanvasImp*  fImpH_Ped_RuDs;
00574   TCanvasImp*  fImpH_TNo_RuDs;
00575   TCanvasImp*  fImpH_MCs_RuDs;
00576   TCanvasImp*  fImpH_LFN_RuDs;
00577   TCanvasImp*  fImpH_HFN_RuDs;
00578   TCanvasImp*  fImpH_SCs_RuDs;
00579 
00580   Int_t  fCanvSameH1SamePlus;
00581   Int_t  fCanvSameD_NOE_ChNb, fCanvSameD_NOE_ChDs;
00582   Int_t  fCanvSameD_Ped_ChNb, fCanvSameD_Ped_ChDs;
00583   Int_t  fCanvSameD_TNo_ChNb, fCanvSameD_TNo_ChDs; 
00584   Int_t  fCanvSameD_MCs_ChNb, fCanvSameD_MCs_ChDs;
00585   Int_t  fCanvSameD_LFN_ChNb, fCanvSameD_LFN_ChDs; 
00586   Int_t  fCanvSameD_HFN_ChNb, fCanvSameD_HFN_ChDs; 
00587   Int_t  fCanvSameD_SCs_ChNb, fCanvSameD_SCs_ChDs; 
00588   Int_t  fCanvSameD_MSp_Samp, fCanvSameD_SSp_Samp;
00589   Int_t  fCanvSameD_Adc_EvDs, fCanvSameD_Adc_EvNb;
00590   Int_t  fCanvSameH_Ped_Date, fCanvSameH_Ped_RuDs;
00591   Int_t  fCanvSameH_TNo_Date, fCanvSameH_TNo_RuDs;
00592   Int_t  fCanvSameH_LFN_Date, fCanvSameH_LFN_RuDs;
00593   Int_t  fCanvSameH_HFN_Date, fCanvSameH_HFN_RuDs;
00594   Int_t  fCanvSameH_MCs_Date, fCanvSameH_MCs_RuDs;      
00595   Int_t  fCanvSameH_SCs_Date, fCanvSameH_SCs_RuDs;
00596 
00597   Int_t  fNbOfListFileH_Ped_Date, fNbOfListFileH_TNo_Date, fNbOfListFileH_MCs_Date; // List file numbers
00598   Int_t  fNbOfListFileH_LFN_Date, fNbOfListFileH_HFN_Date, fNbOfListFileH_SCs_Date; // List file numbers
00599   Int_t  fNbOfListFileH_Ped_RuDs, fNbOfListFileH_TNo_RuDs, fNbOfListFileH_MCs_RuDs; // List file numbers
00600   Int_t  fNbOfListFileH_LFN_RuDs, fNbOfListFileH_HFN_RuDs, fNbOfListFileH_SCs_RuDs; // List file numbers
00601 
00602   //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00603 
00604  public:
00605 
00606   //...................................... methods
00607   TEcnaHistos();
00608   TEcnaHistos(const TString);
00609   TEcnaHistos(const TString,
00610              const TEcnaParPaths*,
00611              const TEcnaParCout*,
00612              const TEcnaParEcal*, 
00613              const TEcnaParHistos*,
00614              const TEcnaNumbering*,
00615              const TEcnaWrite*);
00616   
00617   virtual  ~TEcnaHistos();
00618 
00619   void Init();
00620   void SetEcalSubDetector(const TString,
00621                           const TEcnaParEcal*, 
00622                           const TEcnaParHistos*,
00623                           const TEcnaNumbering*,
00624                           const TEcnaWrite*);
00625 
00626   //==================================== METHODS FOR THE USER =======================================
00627 
00628   //............ method to set the result file name parameters (from values in argument)
00629   //............ FileParameters(AnaType, [RunNumber], FirstEvent, NbOfEvts, [SM or Dee number])
00630   //             RunNumber = 0 => history plots , SM or Dee number = 0 => EB or EE Plots
00631 
00632   void FileParameters(const TString, const Int_t&, const Int_t&,
00633                       const Int_t&,  const Int_t&,  const Int_t&, const Int_t&);
00634 
00635   //................. methods for displaying the correlations and covariances matrices
00636   void LowFrequencyMeanCorrelationsBetweenTowers(const TString);  // USER: specific EB
00637   void LowFrequencyMeanCorrelationsBetweenSCs(const TString);     // USER: specific EE
00638   void HighFrequencyMeanCorrelationsBetweenTowers(const TString); // USER: specific EB
00639   void HighFrequencyMeanCorrelationsBetweenSCs(const TString);    // USER: specific EE
00640 
00641   void LowFrequencyCorrelationsBetweenChannels(const Int_t&, const Int_t&, const TString); // USER: EB or EE
00642   void LowFrequencyCovariancesBetweenChannels(const Int_t&, const Int_t&, const TString);  // USER: EB or EE
00643   void HighFrequencyCorrelationsBetweenChannels(const Int_t&, const Int_t&, const TString); // USER: EB or EE
00644   void HighFrequencyCovariancesBetweenChannels(const Int_t&, const Int_t&, const TString);  // USER: EB or EE
00645 
00646   void CorrelationsBetweenSamples(const Int_t&, const Int_t&, const TString);  // USER: EB or EE
00647   void CovariancesBetweenSamples(const Int_t&, const Int_t&, const TString);   // USER: EB or EE
00648 
00649   //................. methods for displaying 2D view of the whole detector; 2D(eta,Phi) for EB, 2D(IX,IY) for EE
00650   void EBEtaPhiAveragedNumberOfEvents();     // USER: specific EB
00651   void EBEtaPhiAveragedPedestals();          // USER: specific EB
00652   void EBEtaPhiAveragedTotalNoise();         // USER: specific EB
00653   void EBEtaPhiAveragedMeanOfCorss();        // USER: specific EB
00654   void EBEtaPhiAveragedLowFrequencyNoise();  // USER: specific EB
00655   void EBEtaPhiAveragedHighFrequencyNoise(); // USER: specific EB
00656   void EBEtaPhiAveragedSigmaOfCorss();       // USER: specific EB
00657 
00658   void EEIXIYAveragedNumberOfEvents();     // USER: specific EE
00659   void EEIXIYAveragedPedestals();          // USER: specific EE
00660   void EEIXIYAveragedTotalNoise();         // USER: specific EE
00661   void EEIXIYAveragedMeanOfCorss();        // USER: specific EE
00662   void EEIXIYAveragedLowFrequencyNoise();  // USER: specific EE
00663   void EEIXIYAveragedHighFrequencyNoise(); // USER: specific EE
00664   void EEIXIYAveragedSigmaOfCorss();       // USER: specific EE
00665 
00666   //................. methods for displaying the SM 2D(eta,phi) view
00667   void SMEtaPhiNumberOfEvents();       // USER: specific EB
00668   void SMEtaPhiPedestals();            // USER: specific EB
00669   void SMEtaPhiTotalNoise();           // USER: specific EB
00670   void SMEtaPhiMeanOfCorss();          // USER: specific EB
00671   void SMEtaPhiLowFrequencyNoise();    // USER: specific EB
00672   void SMEtaPhiHighFrequencyNoise();   // USER: specific EB
00673   void SMEtaPhiSigmaOfCorss();         // USER: specific EB
00674 
00675   void SMEtaPhiLowFrequencyCorcc();    // USER: specific EB
00676   void SMEtaPhiHighFrequencyCorcc();   // USER: specific EB
00677 
00678   //................. methods for displaying the Dee 2D(IX,IY) view
00679   void DeeIXIYNumberOfEvents();        // USER: specific EE
00680   void DeeIXIYPedestals();             // USER: specific EE
00681   void DeeIXIYTotalNoise();            // USER: specific EE
00682   void DeeIXIYMeanOfCorss();           // USER: specific EE
00683   void DeeIXIYLowFrequencyNoise();     // USER: specific EE
00684   void DeeIXIYHighFrequencyNoise();    // USER: specific EE
00685   void DeeIXIYSigmaOfCorss();          // USER: specific EE
00686 
00687   void DeeIXIYLowFrequencyCorcc();     // USER: specific EE
00688   void DeeIXIYHighFrequencyCorcc();    // USER: specific EE
00689 
00690   //...... methods for displaying 1D histos, explicit option plot argument ("ONLYONE", "SAME" or "ASCII")
00691 
00692   //............ EE or EE, "Averaged"
00693   void EBXtalsAveragedNumberOfEvents(const TString);     // USER: specific EB
00694   void EBXtalsAveragedPedestals(const TString);          // USER: specific EB
00695   void EBXtalsAveragedTotalNoise(const TString);         // USER: specific EB
00696   void EBXtalsAveragedMeanOfCorss(const TString);        // USER: specific EB
00697   void EBXtalsAveragedLowFrequencyNoise(const TString);  // USER: specific EB
00698   void EBXtalsAveragedHighFrequencyNoise(const TString); // USER: specific EB
00699   void EBXtalsAveragedSigmaOfCorss(const TString);       // USER: specific EB
00700 
00701   void EBAveragedNumberOfEventsXtals(const TString);     // USER: specific EB
00702   void EBAveragedPedestalsXtals(const TString);          // USER: specific EB
00703   void EBAveragedTotalNoiseXtals(const TString);         // USER: specific EB
00704   void EBAveragedMeanOfCorssXtals(const TString);        // USER: specific EB
00705   void EBAveragedLowFrequencyNoiseXtals(const TString);  // USER: specific EB
00706   void EBAveragedHighFrequencyNoiseXtals(const TString); // USER: specific EB
00707   void EBAveragedSigmaOfCorssXtals(const TString);       // USER: specific EB
00708  
00709   void EEXtalsAveragedNumberOfEvents(const TString);     // USER: specific EE
00710   void EEXtalsAveragedPedestals(const TString);          // USER: specific EE
00711   void EEXtalsAveragedTotalNoise(const TString);         // USER: specific EE
00712   void EEXtalsAveragedMeanOfCorss(const TString);        // USER: specific EE
00713   void EEXtalsAveragedLowFrequencyNoise(const TString);  // USER: specific EE
00714   void EEXtalsAveragedHighFrequencyNoise(const TString); // USER: specific EE
00715   void EEXtalsAveragedSigmaOfCorss(const TString);       // USER: specific EE
00716 
00717   void EEAveragedNumberOfEventsXtals(const TString);     // USER: specific EE
00718   void EEAveragedPedestalsXtals(const TString);          // USER: specific EE
00719   void EEAveragedTotalNoiseXtals(const TString);         // USER: specific EE
00720   void EEAveragedMeanOfCorssXtals(const TString);        // USER: specific EE
00721   void EEAveragedLowFrequencyNoiseXtals(const TString);  // USER: specific EE
00722   void EEAveragedHighFrequencyNoiseXtals(const TString); // USER: specific EE
00723   void EEAveragedSigmaOfCorssXtals(const TString);       // USER: specific EE
00724 
00725   //............ SM or Dee
00726   void SMXtalsNumberOfEvents(const TString);     // USER: specific EB
00727   void SMXtalsPedestals(const TString);          // USER: specific EB
00728   void SMXtalsTotalNoise(const TString);         // USER: specific EB
00729   void SMXtalsMeanOfCorss(const TString);        // USER: specific EB
00730   void SMXtalsLowFrequencyNoise(const TString);  // USER: specific EB
00731   void SMXtalsHighFrequencyNoise(const TString); // USER: specific EB
00732   void SMXtalsSigmaOfCorss(const TString);       // USER: specific EB
00733 
00734   void SMNumberOfEventsXtals(const TString);     // USER: specific EB
00735   void SMPedestalsXtals(const TString);          // USER: specific EB
00736   void SMTotalNoiseXtals(const TString);         // USER: specific EB
00737   void SMMeanOfCorssXtals(const TString);        // USER: specific EB
00738   void SMLowFrequencyNoiseXtals(const TString);  // USER: specific EB
00739   void SMHighFrequencyNoiseXtals(const TString); // USER: specific EB
00740   void SMSigmaOfCorssXtals(const TString);       // USER: specific EB
00741  
00742   void DeeXtalsNumberOfEvents(const TString);     // USER: specific EE
00743   void DeeXtalsPedestals(const TString);          // USER: specific EE
00744   void DeeXtalsTotalNoise(const TString);         // USER: specific EE
00745   void DeeXtalsMeanOfCorss(const TString);        // USER: specific EE
00746   void DeeXtalsLowFrequencyNoise(const TString);  // USER: specific EE
00747   void DeeXtalsHighFrequencyNoise(const TString); // USER: specific EE
00748   void DeeXtalsSigmaOfCorss(const TString);       // USER: specific EE
00749 
00750   void DeeNumberOfEventsXtals(const TString);     // USER: specific EE
00751   void DeePedestalsXtals(const TString);          // USER: specific EE
00752   void DeeTotalNoiseXtals(const TString);         // USER: specific EE
00753   void DeeMeanOfCorssXtals(const TString);        // USER: specific EE
00754   void DeeLowFrequencyNoiseXtals(const TString);  // USER: specific EE
00755   void DeeHighFrequencyNoiseXtals(const TString); // USER: specific EE
00756   void DeeSigmaOfCorssXtals(const TString);       // USER: specific EE
00757 
00758   //.......... Others
00759   void XtalSamplesEv(const Int_t&, const Int_t&, const TString);
00760   void XtalSamplesSigma(const Int_t&, const Int_t&, const TString);
00761 
00762   void XtalSampleValues(const Int_t&, const Int_t&, const Int_t&, const TString);
00763   void SampleADCEvents(const Int_t&, const Int_t&, const Int_t&, const TString);
00764 
00765   //........ methods for displaying 1D histos no option plot argument (default = "ONLYONE")
00766 
00767   //............ EE or EE, "Averaged"
00768   void EBXtalsAveragedNumberOfEvents();     // USER: specific EB
00769   void EBXtalsAveragedPedestals();          // USER: specific EB
00770   void EBXtalsAveragedTotalNoise();         // USER: specific EB
00771   void EBXtalsAveragedMeanOfCorss();        // USER: specific EB
00772   void EBXtalsAveragedLowFrequencyNoise();  // USER: specific EB
00773   void EBXtalsAveragedHighFrequencyNoise(); // USER: specific EB
00774   void EBXtalsAveragedSigmaOfCorss();       // USER: specific EB
00775 
00776   void EBAveragedNumberOfEventsXtals();     // USER: specific EB
00777   void EBAveragedPedestalsXtals();          // USER: specific EB
00778   void EBAveragedTotalNoiseXtals();         // USER: specific EB
00779   void EBAveragedMeanOfCorssXtals();        // USER: specific EB
00780   void EBAveragedLowFrequencyNoiseXtals();  // USER: specific EB
00781   void EBAveragedHighFrequencyNoiseXtals(); // USER: specific EB
00782   void EBAveragedSigmaOfCorssXtals();       // USER: specific EB
00783  
00784   void EEXtalsAveragedNumberOfEvents();     // USER: specific EE
00785   void EEXtalsAveragedPedestals();          // USER: specific EE
00786   void EEXtalsAveragedTotalNoise();         // USER: specific EE
00787   void EEXtalsAveragedMeanOfCorss();        // USER: specific EE
00788   void EEXtalsAveragedLowFrequencyNoise();  // USER: specific EE
00789   void EEXtalsAveragedHighFrequencyNoise(); // USER: specific EE
00790   void EEXtalsAveragedSigmaOfCorss();       // USER: specific EE
00791 
00792   void EEAveragedNumberOfEventsXtals();     // USER: specific EE
00793   void EEAveragedPedestalsXtals();          // USER: specific EE
00794   void EEAveragedTotalNoiseXtals();         // USER: specific EE
00795   void EEAveragedMeanOfCorssXtals();        // USER: specific EE
00796   void EEAveragedLowFrequencyNoiseXtals();  // USER: specific EE
00797   void EEAveragedHighFrequencyNoiseXtals(); // USER: specific EE
00798   void EEAveragedSigmaOfCorssXtals();       // USER: specific EE
00799 
00800   //............ SM or Dee
00801   void SMXtalsNumberOfEvents();     // USER: specific EB
00802   void SMXtalsPedestals();          // USER: specific EB // (sample ADC value->mean over events)->mean over samples
00803   void SMXtalsTotalNoise();         // USER: specific EB // 
00804   void SMXtalsMeanOfCorss();        // USER: specific EB // MeanOfCorss
00805   void SMXtalsLowFrequencyNoise();  // USER: specific EB // 
00806   void SMXtalsHighFrequencyNoise(); // USER: specific EB // 
00807   void SMXtalsSigmaOfCorss();       // USER: specific EB // 
00808 
00809   void SMNumberOfEventsXtals();      // USER: specific EB
00810   void SMPedestalsXtals();           // USER: specific EB // 
00811   void SMTotalNoiseXtals();          // USER: specific EB // 
00812   void SMMeanOfCorssXtals();         // USER: specific EB //
00813   void SMLowFrequencyNoiseXtals();   // USER: specific EB // 
00814   void SMHighFrequencyNoiseXtals();  // USER: specific EB // 
00815   void SMSigmaOfCorssXtals();        // USER: specific EB //
00816 
00817   void DeeXtalsNumberOfEvents();     // USER: specific EE
00818   void DeeXtalsPedestals();          // USER: specific EE
00819   void DeeXtalsTotalNoise();         // USER: specific EE
00820   void DeeXtalsMeanOfCorss();        // USER: specific EE
00821   void DeeXtalsLowFrequencyNoise();  // USER: specific EE
00822   void DeeXtalsHighFrequencyNoise(); // USER: specific EE
00823   void DeeXtalsSigmaOfCorss();       // USER: specific EE
00824 
00825   void DeeNumberOfEventsXtals();     // USER: specific EE
00826   void DeePedestalsXtals();          // USER: specific EE
00827   void DeeTotalNoiseXtals();         // USER: specific EE
00828   void DeeMeanOfCorssXtals();        // USER: specific EE
00829   void DeeLowFrequencyNoiseXtals();  // USER: specific EE
00830   void DeeHighFrequencyNoiseXtals(); // USER: specific EE
00831   void DeeSigmaOfCorssXtals();       // USER: specific EE
00832 
00833   //.......... Others
00834   void XtalSamplesEv(const Int_t&, const Int_t&);
00835   void XtalSamplesSigma(const Int_t&, const Int_t&);
00836   void XtalSampleValues(const Int_t&, const Int_t&, const Int_t&);
00837 
00838   void SampleADCEvents(const Int_t&, const Int_t&, const Int_t&);
00839 
00840   //....... methods for displaying evolution in time histos, explicit option plot argument
00841   void XtalTimePedestals(const TString, const Int_t&, const Int_t&, const TString);
00842   void XtalTimeTotalNoise(const TString, const Int_t&, const Int_t&, const TString);
00843   void XtalTimeMeanOfCorss(const TString, const Int_t&, const Int_t&, const TString);
00844   void XtalTimeLowFrequencyNoise(const TString, const Int_t&, const Int_t&, const TString);
00845   void XtalTimeHighFrequencyNoise(const TString, const Int_t&, const Int_t&, const TString);
00846   void XtalTimeSigmaOfCorss(const TString, const Int_t&, const Int_t&, const TString);
00847 
00848   void XtalPedestalsRuns(const TString, const Int_t&, const Int_t&, const TString);
00849   void XtalTotalNoiseRuns(const TString, const Int_t&, const Int_t&, const TString);
00850   void XtalMeanOfCorssRuns(const TString, const Int_t&, const Int_t&, const TString);
00851   void XtalLowFrequencyNoiseRuns(const TString, const Int_t&, const Int_t&, const TString);
00852   void XtalHighFrequencyNoiseRuns(const TString, const Int_t&, const Int_t&, const TString);
00853   void XtalSigmaOfCorssRuns(const TString, const Int_t&, const Int_t&, const TString);
00854 
00855   //....... methods for displaying evolution in time histos, no option plot argument (default)
00856   void XtalTimePedestals(const TString, const Int_t&, const Int_t&);
00857   void XtalTimeTotalNoise(const TString, const Int_t&, const Int_t&);
00858   void XtalTimeMeanOfCorss(const TString, const Int_t&, const Int_t&);
00859   void XtalTimeLowFrequencyNoise(const TString, const Int_t&, const Int_t&);
00860   void XtalTimeHighFrequencyNoise(const TString, const Int_t&, const Int_t&);
00861   void XtalTimeSigmaOfCorss(const TString, const Int_t&, const Int_t&);
00862 
00863   void XtalPedestalsRuns(const TString, const Int_t&, const Int_t&);
00864   void XtalTotalNoiseRuns(const TString, const Int_t&, const Int_t&);
00865   void XtalMeanOfCorssRuns(const TString, const Int_t&, const Int_t&);
00866   void XtalLowFrequencyNoiseRuns(const TString, const Int_t&, const Int_t&);
00867   void XtalHighFrequencyNoiseRuns(const TString, const Int_t&, const Int_t&);
00868   void XtalSigmaOfCorssRuns(const TString, const Int_t&, const Int_t&);
00869 
00870   //................. methods for displaying Tower, SC, crystal numbering
00871 
00872   void SMTowerNumbering(const Int_t&);  // USER: specific EB
00873   void DeeSCNumbering(const Int_t&);             // USER: specific EE
00874 
00875   void TowerCrystalNumbering(const Int_t&, const Int_t&);  // USER: specific EB
00876   void SCCrystalNumbering(const Int_t&, const Int_t&);     // USER: specific EE
00877 
00878   //.................... General title
00879   void GeneralTitle(const TString);
00880 
00881   //.................................. Lin:Log scale, ColorPalette, General Title
00882   void SetHistoScaleX(const TString);
00883   void SetHistoScaleY(const TString);
00884   void SetHistoColorPalette(const TString);
00885 
00886   //.................................. 1D and 2D histo min,max user's values
00887   void SetHistoMin(const Double_t&);
00888   void SetHistoMax(const Double_t&);
00889   //.................................. 1D and 2D histo min,max from histo values
00890   void SetHistoMin();
00891   void SetHistoMax();
00892 
00893   //======================= TECHNICAL METHODS (in principle not for the user) ========================
00894 
00895   void SetGeneralTitle(const TString);
00896 
00897   void SetRunNumberFromList(const Int_t&, const Int_t&);  // called by Histime
00898   void InitSpecParBeforeFileReading();                    // set parameters from the file reading
00899 
00900   Int_t GetNumberOfEvents(TEcnaRead* , const Int_t&);
00901 
00902   //................. methods for displaying the cor(s,s) and cov(s,s) corresponding to a Stin
00903   void CorrelationsBetweenSamples(const Int_t&);
00904   void CovariancesBetweenSamples(const Int_t&);
00905 
00906   void LowFrequencyMeanCorrelationsBetweenStins(const TString);  
00907   void HighFrequencyMeanCorrelationsBetweenStins(const TString);   
00908 
00909   void StasHocoVecoAveragedNumberOfEvents(); 
00910   void StasHocoVecoAveragedPedestals(); 
00911   void StasHocoVecoAveragedTotalNoise(); 
00912   void StasHocoVecoAveragedMeanOfCorss(); 
00913   void StasHocoVecoAveragedLowFrequencyNoise(); 
00914   void StasHocoVecoAveragedHighFrequencyNoise(); 
00915   void StasHocoVecoAveragedSigmaOfCorss(); 
00916 
00917   void StexHocoVecoNumberOfEvents();               
00918   void StexHocoVecoPedestals();             
00919   void StexHocoVecoTotalNoise();        
00920   void StexHocoVecoMeanOfCorss();               
00921   void StexHocoVecoLowFrequencyNoise();            
00922   void StexHocoVecoHighFrequencyNoise();       
00923   void StexHocoVecoSigmaOfCorss();              
00924   void StexHocoVecoLHFCorcc(const TString);
00925 
00926   void StexStinNumbering(const Int_t&);                    
00927   void StinCrystalNumbering(const Int_t&, const Int_t&);   
00928 
00929   void StexXtalsNumberOfEvents(const TString);          
00930   void StexXtalsPedestals(const TString);        
00931   void StexXtalsTotalNoise(const TString);   
00932   void StexXtalsMeanOfCorss(const TString);          
00933   void StexXtalsLowFrequencyNoise(const TString);       
00934   void StexXtalsHighFrequencyNoise(const TString);  
00935   void StexXtalsSigmaOfCorss(const TString);
00936 
00937   void StexNumberOfEventsXtals(const TString);
00938   void StexPedestalsXtals(const TString);
00939   void StexTotalNoiseXtals(const TString);
00940   void StexMeanOfCorssXtals(const TString);
00941   void StexLowFrequencyNoiseXtals(const TString);
00942   void StexHighFrequencyNoiseXtals(const TString);
00943   void StexSigmaOfCorssXtals(const TString);
00944 
00945   void StexXtalsNumberOfEvents();
00946   void StexXtalsPedestals();
00947   void StexXtalsTotalNoise();
00948   void StexXtalsMeanOfCorss();
00949   void StexXtalsLowFrequencyNoise();
00950   void StexXtalsHighFrequencyNoise();
00951   void StexXtalsSigmaOfCorss();
00952 
00953   void StexNumberOfEventsXtals();
00954   void StexPedestalsXtals();
00955   void StexTotalNoiseXtals();
00956   void StexMeanOfCorssXtals();
00957   void StexLowFrequencyNoiseXtals();
00958   void StexHighFrequencyNoiseXtals();
00959   void StexSigmaOfCorssXtals();
00960 
00961   void ViewStas(const TString);
00962   void ViewStex(const TString);
00963   void ViewStin(const Int_t&, const TString);
00964   void ViewMatrix(const Int_t&,  const Int_t&,  const Int_t&,
00965                   const TString, const TString, const TString);
00966   void ViewHisto(const Int_t&,  const Int_t&, const Int_t&,
00967                  const TString, const TString);
00968 
00969   Int_t GetDSOffset(const Int_t&, const Int_t&);
00970   Int_t GetSCOffset(const Int_t&, const Int_t&, const Int_t&);
00971 
00972   void ViewHistime(const TString, const Int_t&, const Int_t&,
00973                    const TString, const TString);
00974 
00975   Int_t GetHistoryRunListParameters(const TString, const TString);
00976 
00977   void TopAxisForHistos(TH1D*,
00978                         const TString, const Int_t&, const Int_t&, const Int_t&,
00979                         const Int_t&,  const Int_t& );
00980 
00981   //--------------------------------------------------------------- xinf, xsup management
00982   void     SetXinfMemoFromValue(const TString, const Double_t&);
00983   void     SetXsupMemoFromValue(const TString, const Double_t&);
00984   void     SetXinfMemoFromValue(const Double_t&);
00985   void     SetXsupMemoFromValue(const Double_t&);
00986 
00987   Double_t GetXinfValueFromMemo(const TString);
00988   Double_t GetXsupValueFromMemo(const TString);
00989   Double_t GetXinfValueFromMemo();
00990   Double_t GetXsupValueFromMemo();
00991 
00992   Axis_t   GetHistoXinf(const TString, const Int_t&, const TString);
00993   Axis_t   GetHistoXsup(const TString, const Int_t&, const TString);
00994 
00995   Int_t    GetHistoNumberOfBins(const TString,  const Int_t&); 
00996 
00997   //--------------------------------------------------------------- ymin, ymax management
00998   void     SetYminMemoFromValue(const TString, const Double_t&);
00999   void     SetYmaxMemoFromValue(const TString, const Double_t&);
01000 
01001   Double_t GetYminValueFromMemo(const TString);
01002   Double_t GetYmaxValueFromMemo(const TString);
01003 
01004   void     SetYminMemoFromPreviousMemo(const TString);
01005   void     SetYmaxMemoFromPreviousMemo(const TString);
01006 
01007   Int_t    SetHistoFrameYminYmaxFromMemo(TH1D*,   const TString);
01008   Int_t    SetGraphFrameYminYmaxFromMemo(TGraph*, const TString);
01009 
01010   Double_t GetYminFromHistoFrameAndMarginValue(TH1D*, const Double_t);
01011   Double_t GetYmaxFromHistoFrameAndMarginValue(TH1D*, const Double_t);
01012 
01013   Double_t GetYminFromGraphFrameAndMarginValue(TGraph*, const Double_t);
01014   Double_t GetYmaxFromGraphFrameAndMarginValue(TGraph*, const Double_t);
01015 
01016   //.................................. 1D and 2D histo min,max default values
01017   void SetAllYminYmaxMemoFromDefaultValues();
01018 
01019   //------------------------------------------------- Memo Same, Same n management
01020   void    SetXVarMemo(const TString, const TString, const TString);
01021   TString GetXVarFromMemo(const TString, const TString);
01022 
01023   void    SetYVarMemo(const TString, const TString, const TString);
01024   TString GetYVarFromMemo(const TString, const TString);
01025 
01026   void    SetNbBinsMemo(const TString, const TString, const Int_t&);
01027   Int_t   GetNbBinsFromMemo(const TString, const TString);
01028 
01029   //--------------------------------------------------------------------------------
01030   void ViewStexStinNumberingPad(const Int_t&);
01031   void ViewSMTowerNumberingPad(const Int_t&);   // specific EB
01032   void ViewDeeSCNumberingPad(const Int_t&);     // specific EE
01033 
01034   void ViewStinGrid(const Int_t&, const Int_t&, const Int_t&,
01035                     const Int_t&, const Int_t&, const TString);
01036   void ViewTowerGrid(const Int_t&, const Int_t&, const Int_t&,
01037                      const Int_t&, const Int_t&, const TString);  // specific EB
01038   void ViewSCGrid(const Int_t&, const Int_t&, const Int_t&,
01039                   const Int_t&, const Int_t&, const TString);     // specific EE
01040 
01041   void ViewStexGrid(const Int_t&, const TString);
01042   void ViewSMGrid(const Int_t&, const TString);    // specific EB
01043   void ViewDeeGrid(const Int_t&, const TString);   // specific EE
01044 
01045   void ViewStasGrid(const Int_t&);
01046   void ViewEBGrid();
01047   void ViewEEGrid(const Int_t&);
01048 
01049   void EEDataSectors(const Float_t&,  const Float_t&, const Int_t&, const TString);
01050   void EEGridAxis(const Float_t&,  const Float_t&, const Int_t&, const TString, const TString);
01051 
01052   void SqrtContourLevels(const Int_t&, Double_t*);
01053 
01054   TString StexNumberToString(const Int_t&);
01055 
01056   void HistoPlot(TH1D*,
01057                  const Int_t&,  const Axis_t&,  const Axis_t&,  const TString, const TString,
01058                  const Int_t&,  const Int_t&,   const Int_t&,   const Int_t&,
01059                  const Int_t&,  const TString,  const Int_t&);
01060 
01061   Double_t NotConnectedSCH1DBin(const Int_t&);
01062   Int_t    GetNotConnectedDSSCFromIndex(const Int_t&);
01063   Int_t    GetNotConnectedSCForConsFromIndex(const Int_t&);
01064   Int_t    ModifiedSCEchaForNotConnectedSCs(const Int_t&, const Int_t&, const Int_t&, const Int_t&, const Int_t&);
01065 
01066   Double_t NotCompleteSCH1DBin(const Int_t&);
01067   Int_t    GetNotCompleteDSSCFromIndex(const Int_t&);
01068   Int_t    GetNotCompleteSCForConsFromIndex(const Int_t&);
01069 
01070   void HistimePlot(TGraph*,       Axis_t,        Axis_t,
01071                    const TString, const TString, const Int_t&, const Int_t&,
01072                    const Int_t&,  const Int_t&,  const Int_t&, const TString, const Int_t&);
01073 
01074   void SetAllPavesViewMatrix(const TString, const Int_t&,
01075                              const Int_t&, const Int_t&);
01076   void SetAllPavesViewStin(const Int_t&);
01077   void SetAllPavesViewStex(const TString, const Int_t&);
01078   void SetAllPavesViewStex(const Int_t&);
01079   void SetAllPavesViewStas();
01080   void SetAllPavesViewStinCrysNb(const Int_t&, const Int_t&);
01081   void SetAllPavesViewHisto(const TString,
01082                             const Int_t&, const Int_t&, const Int_t&, const TString);
01083 
01084   Int_t GetXSampInStin(const Int_t&, const Int_t&,
01085                        const Int_t&,  const Int_t&);
01086   Int_t GetYSampInStin(const Int_t&, const Int_t&,
01087                        const Int_t&,  const Int_t&);
01088 
01089   Int_t GetXCrysInStex(const Int_t&, const Int_t&, const Int_t&);
01090   Int_t GetYCrysInStex(const Int_t&, const Int_t&, const Int_t&);
01091 
01092   Int_t GetXStinInStas(const Int_t&, const Int_t&, const Int_t&);
01093   Int_t GetYStinInStas(const Int_t&, const Int_t&);
01094 
01095 
01096   TString GetHocoVecoAxisTitle(const TString);
01097   TString GetEtaPhiAxisTitle(const TString);        // specific EB
01098   TString GetIXIYAxisTitle(const TString);          // specific EE
01099 
01100   Bool_t   GetOkViewHisto(TEcnaRead*, const Int_t&, const Int_t&, const Int_t&, const TString);
01101   Int_t    GetHistoSize(const TString, const TString);
01102   TVectorD GetHistoValues(TEcnaRead*,    const TString, const Int_t&, const Int_t&,
01103                           const Int_t&, const Int_t&,  const Int_t&, Int_t&);
01104 
01105   TString SetHistoXAxisTitle(const TString);
01106   TString SetHistoYAxisTitle(const TString);
01107 
01108   void FillHisto(TH1D*, const TVectorD&, const TString, const Int_t&);
01109 
01110   TString GetMemoFlag(const TString);
01111   TString GetMemoFlag(const TString, const TString);
01112 
01113   TCanvas* CreateCanvas(const TString, const TString, const TString, UInt_t,  UInt_t);
01114   TCanvas* GetCurrentCanvas(const TString, const TString);
01115   TCanvas* GetCurrentCanvas();
01116   TString  GetCurrentCanvasName();
01117   void     PlotCloneOfCurrentCanvas();
01118 
01119   void SetParametersCanvas(const TString, const TString);
01120   void SetParametersPavTxt(const TString, const TString);
01121 
01122   TVirtualPad* ActivePad(const TString, const TString);
01123   TPaveText*   ActivePavTxt(const TString, const TString);
01124 
01125   void SetHistoPresentation(TH1D*,   const TString);
01126   void SetHistoPresentation(TH1D*,   const TString, const TString);
01127   void SetGraphPresentation(TGraph*, const TString, const TString);
01128 
01129   void SetViewHistoColors(TH1D*,   const TString, const TString);
01130   void SetViewGraphColors(TGraph*, const TString, const TString);
01131 
01132   Color_t GetViewHistoColor(const TString, const TString);
01133 
01134   Int_t GetListFileNumber(const TString);
01135   void  ReInitCanvas(const TString, const TString);
01136   void  NewCanvas(const TString);
01137 
01138   TString SetCanvasName(const TString, const Int_t&, const Int_t&, 
01139                         const TString, const Int_t&, const Int_t&, const Int_t&);
01140 
01141   Color_t GetSCColor(const TString, const TString, const TString);     // specific EE
01142 
01143   void WriteMatrixAscii(const TString, const TString, const Int_t&, const Int_t&, const Int_t&, const TMatrixD&);
01144   void WriteHistoAscii(const TString, const Int_t&, const TVectorD&);
01145 
01146   TString  AsciiFileName();
01147   Bool_t StatusFileFound();
01148   Bool_t StatusDataExist();
01149 
01150 ClassDef(TEcnaHistos,1)// methods for plots from ECNA (Ecal Correlated Noises Analysis)
01151 
01152 };
01153 
01154 #endif   //    ZTR_TEcnaHistos