CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_4/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 <TQObject.h>
00006 #include <RQ_OBJECT.h>
00007 #include <Riostream.h>
00008 #include "TSystem.h"
00009 #include <time.h>
00010 #include "TString.h"
00011 
00012 #include "TROOT.h"
00013 #include "TStyle.h"
00014 #include "TGraph.h"
00015 #include "TCanvas.h"
00016 #include "TVectorD.h"
00017 #include "TH1.h"
00018 #include "TH2D.h"
00019 #include "TF1.h"
00020 #include "TPaveText.h"
00021 #include "TColor.h"
00022 #include "TGaxis.h"
00023 
00024 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaObject.h"
00025 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaRead.h"
00026 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaWrite.h"
00027 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaParPaths.h"
00028 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaParCout.h"
00029 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaParHistos.h"
00030 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaParEcal.h"
00031 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaNumbering.h"
00032 
00317 
00318 // ------- methods called by ReadAnd[Plot1DHisto]
00319 //       (const TString, const TString, [const TVectorD&], const Int_t&, const Int_t&, const TString)
00320 //
00321 //  void XtalSamplesEv(const TVectorD&, const Int_t&, const Int_t&, const Int_t&, [const TString]); //  EB or EE
00322 //                     n1StexStin,   i0StinEcha,   [PlotOption]
00323 //
00324 //  void EvSamplesXtals(const TVectorD&, const Int_t&, const Int_t&, const Int_t&, [const TString]);
00325 //                      n1StexStin,   i0StinEcha,   [PlotOption]
00326 //
00327 //
00328 //  void XtalSamplesSigma(const TVectorD&, const Int_t&, const Int_t&, const Int_t&, [const TString]); //  EB or EE
00329 //                        n1StexStin,   i0StinEcha,   [PlotOption]
00330 //
00331 //  void SigmaSamplesXtals(const TVectorD&, const Int_t&, const Int_t&, const Int_t&, [const TString]) //  EB or EE
00332 //                         n1StexStin,   i0StinEcha,   [PlotOption]
00333 //
00334 //  void XtalSampleValues(const Int_t&, const Int_t&, const Int_t&, [const TString]); // EB or EE
00335 //                        n1StexStin,   i0StinEcha,   iSample,      [PlotOption]
00336 //
00337 //  void SampleADCEvents(const Int_t&, const Int_t&, const Int_t&, [const TString]);  // EB or EE
00338 //                       n1StexStin,   i0StinEcha,   iSample,      [PlotOption]
00339 //
00340 
00341 class TEcnaHistos : public TObject {
00342 
00343   RQ_OBJECT("TEcnaHistos")
00344 
00345  private:
00346 
00347   //..... Attributes
00348 
00349   //  static  const  Int_t        fgMaxCar    = 512;   <== DANGEROUS !
00350 
00351   Int_t fgMaxCar;                    // Max nb of caracters for char*
00352   Int_t fZerv;                       // = 0 , for ViewHisto non used arguments
00353   Int_t fUnev;                       // = 1 , for ViewHisto non used arguments
00354 
00355 
00356   Int_t fCnaCommand, fCnaError;
00357   Int_t fCnew,       fCdelete;
00358   Int_t fCnewRoot,   fCdeleteRoot;
00359 
00360   TString fTTBELL;
00361 
00362   //....................... Current subdetector flag and codes
00363   TString fFlagSubDet;
00364   TString fCodeEB;
00365   TString fCodeEE;
00366 
00367   //...........................................
00368   TEcnaParHistos* fCnaParHistos;
00369   TEcnaParPaths*  fCnaParPaths;
00370   TEcnaParCout*   fCnaParCout;
00371   TEcnaWrite*     fCnaWrite;
00372   TEcnaParEcal*   fEcal;
00373   TEcnaNumbering* fEcalNumbering;
00374   TEcnaHeader*    fFileHeader;
00375 
00376   TEcnaRead*      fMyRootFile;
00377   Int_t           fAlreadyRead;
00378   Int_t           fMemoAlreadyRead;
00379   Int_t           fTobeRead;
00380   TVectorD        fReadHistoDummy;
00381   TMatrixD        fReadMatrixDummy;
00382 
00383   ifstream fFcin_f;
00384 
00385   TString fFapAnaType;             // Type of analysis
00386   Int_t   fFapNbOfSamples;         // Nb of required samples
00387   Int_t   fFapRunNumber;           // Run number
00388   Int_t   fFapFirstReqEvtNumber;   // First requested event number
00389   Int_t   fFapLastReqEvtNumber;    // Last requested event number
00390   Int_t   fFapReqNbOfEvts;         // Requested number of events
00391   Int_t   fFapStexNumber;          // Stex number
00392 
00393   Int_t   fFapNbOfEvts;            // Number of found events
00394 
00395   Int_t   fFapMaxNbOfRuns;         // Maximum Number of runs
00396   Int_t   fFapNbOfRuns;            // Number of runs
00397   TString fFapFileRuns;            // name of the file containing the list of run parameters
00398 
00399   Int_t fStartEvolRun, fStopEvolRun;
00400   Int_t fNbOfExistingRuns;
00401 
00402   time_t  fStartEvolTime, fStopEvolTime;
00403   TString fStartEvolDate, fStopEvolDate;
00404 
00405   TString fFapStexBarrel;          // Barrel type of the Stex (barrel+ OR barrel-)   (EB only)
00406   TString fFapStexType;            // type of the Dee (EE+F, EE+N, EE-F, EE-N)       (EE only)
00407   TString fFapStexDir;             // direction of the Dee (right, left)             (EE only)
00408   TString fFapStinQuadType;        // quadrant type of the SC (top, bottom)          (EE only)
00409  
00410   TString fFapStexName;            // Stex name:               "SM"      (for EB) or "Dee"     (for EE)
00411   TString fFapStinName;            // Stin name:               "tower"   (for EB) or "SC"      (for EE)
00412   TString fFapXtalName;            // Xtal name:               "xtal"    (for EB) or "Xtal"    (for EE)
00413   TString fFapEchaName;            // Electronic channel name: "Chan"    (for EB) or "Chan"    (for EE)
00414 
00415   TString fMyRootFileName;  // memo Root file name used in SetFile() for obtaining the number of found events 
00416 
00417   TString fCfgResultsRootFilePath;     // absolute path for the results .root files (/afs/etc...)
00418   TString fCfgHistoryRunListFilePath;  // absolute path for the list-of-runs .ascii files (/afs/etc...)
00419                                        // MUST BE KEPT BECAUSE OF HISTIME PLOTS
00420   TString fAsciiFileName;
00421 
00422   Bool_t fStatusFileFound;
00423   Bool_t fStatusDataExist;
00424 
00425   time_t  fStartTime, fStopTime;
00426   TString fStartDate, fStopDate;
00427   TString fRunType;
00428 
00429   TString* fT1DAnaType;             // Type of analysis
00430   Int_t*   fT1DRunNumber;           // Run number
00431 
00432   TString* fT1DResultsRootFilePath; // absolute path for the ROOT files (/afs/etc... )
00433   TString* fT1DHistoryRunListFilePath;   // absolute path for the list-of-runs .ascii files (/afs/etc...)
00434 
00435   Int_t fStinSizeInCrystals;   // Size of one Stin in term of crystals
00436                                // (a Stin contains fStinSizeInCrystals*fStinSizeInCrystals crystals)
00437   TString fFlagScaleX;
00438   TString fFlagScaleY;
00439   TString fFlagColPal;
00440   TString fFlagGeneralTitle;
00441 
00442   Double_t fUserHistoMin,     fUserHistoMax;
00443   TString  fFlagUserHistoMin, fFlagUserHistoMax;
00444 
00445   Int_t fOptVisLego,   fOptVisColz,   fOptVisSurf1,  fOptVisSurf4;
00446   Int_t fOptVisLine,   fOptVisPolm;
00447 
00448   Int_t fOptScaleLinx, fOptScaleLogx, fOptScaleLiny, fOptScaleLogy;
00449 
00450   TString fCovarianceMatrix, fCorrelationMatrix;
00451 
00452   TString fBetweenSamples;
00453   TString fLFBetweenChannels, fHFBetweenChannels;
00454   TString fLFBetweenStins, fHFBetweenStins;
00455 
00456   Int_t   fTextPaveAlign;
00457   Int_t   fTextPaveFont;
00458   Float_t fTextPaveSize;
00459   Int_t   fTextBorderSize;
00460 
00461   Double_t fXinf, fXsup, fYinf, fYsup;
00462 
00463   Double_t fXinfProj, fXsupProj;
00464 
00465   //.................................... Xinf, Xsup
00466   Axis_t fH1SameOnePlotXinf;
00467   Axis_t fH1SameOnePlotXsup;
00468 
00469   Axis_t fD_NOE_ChNbXinf;
00470   Axis_t fD_NOE_ChNbXsup;
00471   Axis_t fD_NOE_ChDsXinf;
00472   Axis_t fD_NOE_ChDsXsup;
00473   Axis_t fD_Ped_ChNbXinf;
00474   Axis_t fD_Ped_ChNbXsup;
00475   Axis_t fD_Ped_ChDsXinf;
00476   Axis_t fD_Ped_ChDsXsup;
00477   Axis_t fD_TNo_ChNbXinf;
00478   Axis_t fD_TNo_ChNbXsup;
00479   Axis_t fD_TNo_ChDsXinf;
00480   Axis_t fD_TNo_ChDsXsup;
00481   Axis_t fD_MCs_ChNbXinf;
00482   Axis_t fD_MCs_ChNbXsup;
00483   Axis_t fD_MCs_ChDsXinf;
00484   Axis_t fD_MCs_ChDsXsup;
00485   Axis_t fD_LFN_ChNbXinf;
00486   Axis_t fD_LFN_ChNbXsup;
00487   Axis_t fD_LFN_ChDsXinf;
00488   Axis_t fD_LFN_ChDsXsup;
00489   Axis_t fD_HFN_ChNbXinf;
00490   Axis_t fD_HFN_ChNbXsup;
00491   Axis_t fD_HFN_ChDsXinf;
00492   Axis_t fD_HFN_ChDsXsup;
00493   Axis_t fD_SCs_ChNbXinf;
00494   Axis_t fD_SCs_ChNbXsup;
00495   Axis_t fD_SCs_ChDsXinf;
00496   Axis_t fD_SCs_ChDsXsup;
00497 
00498   Axis_t fD_MSp_SpNbXinf;
00499   Axis_t fD_MSp_SpNbXsup;
00500   Axis_t fD_MSp_SpDsXinf;
00501   Axis_t fD_MSp_SpDsXsup;
00502   Axis_t fD_SSp_SpNbXinf;
00503   Axis_t fD_SSp_SpNbXsup;
00504   Axis_t fD_SSp_SpDsXinf;
00505   Axis_t fD_SSp_SpDsXsup;
00506   Axis_t fD_Adc_EvDsXinf;
00507   Axis_t fD_Adc_EvDsXsup;
00508   Axis_t fD_Adc_EvNbXinf;
00509   Axis_t fD_Adc_EvNbXsup;
00510   Axis_t fH_Ped_DateXinf;
00511   Axis_t fH_Ped_DateXsup;
00512   Axis_t fH_TNo_DateXinf;
00513   Axis_t fH_TNo_DateXsup;
00514   Axis_t fH_MCs_DateXinf;
00515   Axis_t fH_MCs_DateXsup;
00516   Axis_t fH_LFN_DateXinf;
00517   Axis_t fH_LFN_DateXsup;
00518   Axis_t fH_HFN_DateXinf;
00519   Axis_t fH_HFN_DateXsup;
00520   Axis_t fH_SCs_DateXinf;
00521   Axis_t fH_SCs_DateXsup;
00522 
00523   Axis_t fH_Ped_RuDsXinf;
00524   Axis_t fH_Ped_RuDsXsup;
00525   Axis_t fH_TNo_RuDsXinf;
00526   Axis_t fH_TNo_RuDsXsup;
00527   Axis_t fH_MCs_RuDsXinf;
00528   Axis_t fH_MCs_RuDsXsup;
00529   Axis_t fH_LFN_RuDsXinf;
00530   Axis_t fH_LFN_RuDsXsup;
00531   Axis_t fH_HFN_RuDsXinf;
00532   Axis_t fH_HFN_RuDsXsup;
00533   Axis_t fH_SCs_RuDsXinf;
00534   Axis_t fH_SCs_RuDsXsup;
00535 
00536   //.................................... Ymin, Ymax
00537 
00538   TString  fHistoCodeFirst;  // HistoCode of the first histo in option SAME n
00539   Double_t fD_NOE_ChNbYmin;
00540   Double_t fD_NOE_ChNbYmax;
00541   Double_t fD_NOE_ChDsYmin;
00542   Double_t fD_NOE_ChDsYmax;
00543   Double_t fD_Ped_ChNbYmin;
00544   Double_t fD_Ped_ChNbYmax;
00545   Double_t fD_Ped_ChDsYmin;
00546   Double_t fD_Ped_ChDsYmax;
00547   Double_t fD_TNo_ChNbYmin;
00548   Double_t fD_TNo_ChNbYmax;
00549   Double_t fD_TNo_ChDsYmin;
00550   Double_t fD_TNo_ChDsYmax;
00551   Double_t fD_MCs_ChNbYmin;
00552   Double_t fD_MCs_ChNbYmax;
00553   Double_t fD_MCs_ChDsYmin;
00554   Double_t fD_MCs_ChDsYmax;
00555   Double_t fD_LFN_ChNbYmin;
00556   Double_t fD_LFN_ChNbYmax;
00557   Double_t fD_LFN_ChDsYmin;
00558   Double_t fD_LFN_ChDsYmax;
00559   Double_t fD_HFN_ChNbYmin;
00560   Double_t fD_HFN_ChNbYmax;
00561   Double_t fD_HFN_ChDsYmin;
00562   Double_t fD_HFN_ChDsYmax;
00563   Double_t fD_SCs_ChNbYmin;
00564   Double_t fD_SCs_ChNbYmax;
00565   Double_t fD_SCs_ChDsYmin;
00566   Double_t fD_SCs_ChDsYmax;
00567 
00568   Double_t fD_MSp_SpNbYmin;
00569   Double_t fD_MSp_SpNbYmax;
00570   Double_t fD_MSp_SpDsYmin;
00571   Double_t fD_MSp_SpDsYmax;
00572   Double_t fD_SSp_SpNbYmin;
00573   Double_t fD_SSp_SpNbYmax;
00574   Double_t fD_SSp_SpDsYmin;
00575   Double_t fD_SSp_SpDsYmax;
00576   Double_t fD_Adc_EvDsYmin;
00577   Double_t fD_Adc_EvDsYmax;
00578   Double_t fD_Adc_EvNbYmin;
00579   Double_t fD_Adc_EvNbYmax;
00580   Double_t fH_Ped_DateYmin;
00581   Double_t fH_Ped_DateYmax;
00582   Double_t fH_TNo_DateYmin;
00583   Double_t fH_TNo_DateYmax;
00584   Double_t fH_MCs_DateYmin;
00585   Double_t fH_MCs_DateYmax;
00586   Double_t fH_LFN_DateYmin;
00587   Double_t fH_LFN_DateYmax;
00588   Double_t fH_HFN_DateYmin;
00589   Double_t fH_HFN_DateYmax;
00590   Double_t fH_SCs_DateYmin;
00591   Double_t fH_SCs_DateYmax;
00592 
00593   Double_t fH_Ped_RuDsYmin;
00594   Double_t fH_Ped_RuDsYmax;
00595   Double_t fH_TNo_RuDsYmin;
00596   Double_t fH_TNo_RuDsYmax;
00597   Double_t fH_MCs_RuDsYmin;
00598   Double_t fH_MCs_RuDsYmax;
00599   Double_t fH_LFN_RuDsYmin;
00600   Double_t fH_LFN_RuDsYmax;
00601   Double_t fH_HFN_RuDsYmin;
00602   Double_t fH_HFN_RuDsYmax;
00603   Double_t fH_SCs_RuDsYmin;
00604   Double_t fH_SCs_RuDsYmax;
00605 
00606   Double_t fH2LFccMosMatrixYmin;
00607   Double_t fH2LFccMosMatrixYmax;
00608   Double_t fH2HFccMosMatrixYmin;
00609   Double_t fH2HFccMosMatrixYmax;
00610   Double_t fH2CorccInStinsYmin;
00611   Double_t fH2CorccInStinsYmax;
00612 
00613   //============================================== Canvases attributes, options
00614   TPaveText* fPavComGeneralTitle;
00615   TPaveText* fPavComStas;
00616   TPaveText* fPavComStex;
00617   TPaveText* fPavComStin;
00618   TPaveText* fPavComXtal;
00619   TPaveText* fPavComAnaRun;
00620   TPaveText* fPavComNbOfEvts;
00621   TPaveText* fPavComSeveralChanging;
00622   TPaveText* fPavComLVRB;                 // specific EB
00623   TPaveText* fPavComCxyz;                 // specific EE
00624   TPaveText* fPavComEvolRuns;
00625   TPaveText* fPavComEvolNbOfEvtsAna;
00626 
00627   TString fOnlyOnePlot;
00628   TString fSeveralPlot;
00629   TString fSameOnePlot;
00630   TString fAllXtalsInStinPlot;
00631   Int_t   fPlotAllXtalsInStin;
00632 
00633   Int_t  fMemoPlotH1SamePlus;
00634   Int_t  fMemoPlotD_NOE_ChNb, fMemoPlotD_NOE_ChDs;
00635   Int_t  fMemoPlotD_Ped_ChNb, fMemoPlotD_Ped_ChDs;
00636   Int_t  fMemoPlotD_TNo_ChNb, fMemoPlotD_TNo_ChDs; 
00637   Int_t  fMemoPlotD_MCs_ChNb, fMemoPlotD_MCs_ChDs;
00638   Int_t  fMemoPlotD_LFN_ChNb, fMemoPlotD_LFN_ChDs; 
00639   Int_t  fMemoPlotD_HFN_ChNb, fMemoPlotD_HFN_ChDs; 
00640   Int_t  fMemoPlotD_SCs_ChNb, fMemoPlotD_SCs_ChDs; 
00641   Int_t  fMemoPlotD_MSp_SpNb, fMemoPlotD_SSp_SpNb; 
00642   Int_t  fMemoPlotD_MSp_SpDs, fMemoPlotD_SSp_SpDs;
00643   Int_t  fMemoPlotD_Adc_EvNb, fMemoPlotD_Adc_EvDs;
00644   Int_t  fMemoPlotH_Ped_Date, fMemoPlotH_Ped_RuDs;
00645   Int_t  fMemoPlotH_TNo_Date, fMemoPlotH_TNo_RuDs;
00646   Int_t  fMemoPlotH_LFN_Date, fMemoPlotH_LFN_RuDs;
00647   Int_t  fMemoPlotH_HFN_Date, fMemoPlotH_HFN_RuDs;
00648   Int_t  fMemoPlotH_MCs_Date, fMemoPlotH_MCs_RuDs;
00649   Int_t  fMemoPlotH_SCs_Date, fMemoPlotH_SCs_RuDs;
00650 
00651   Int_t  fMemoColorH1SamePlus;
00652   Int_t  fMemoColorD_NOE_ChNb, fMemoColorD_NOE_ChDs;
00653   Int_t  fMemoColorD_Ped_ChNb, fMemoColorD_Ped_ChDs;
00654   Int_t  fMemoColorD_TNo_ChNb, fMemoColorD_TNo_ChDs; 
00655   Int_t  fMemoColorD_MCs_ChNb, fMemoColorD_MCs_ChDs;
00656   Int_t  fMemoColorD_LFN_ChNb, fMemoColorD_LFN_ChDs; 
00657   Int_t  fMemoColorD_HFN_ChNb, fMemoColorD_HFN_ChDs; 
00658   Int_t  fMemoColorD_SCs_ChNb, fMemoColorD_SCs_ChDs; 
00659   Int_t  fMemoColorD_MSp_SpNb, fMemoColorD_SSp_SpNb;
00660   Int_t  fMemoColorD_MSp_SpDs, fMemoColorD_SSp_SpDs;
00661   Int_t  fMemoColorD_Adc_EvNb, fMemoColorD_Adc_EvDs;
00662   Int_t  fMemoColorH_Ped_Date, fMemoColorH_Ped_RuDs;
00663   Int_t  fMemoColorH_TNo_Date, fMemoColorH_TNo_RuDs;
00664   Int_t  fMemoColorH_LFN_Date, fMemoColorH_LFN_RuDs;
00665   Int_t  fMemoColorH_HFN_Date, fMemoColorH_HFN_RuDs;
00666   Int_t  fMemoColorH_MCs_Date, fMemoColorH_MCs_RuDs; 
00667   Int_t  fMemoColorH_SCs_Date, fMemoColorH_SCs_RuDs;
00668 
00669   Int_t  fNbBinsProj;
00670 
00671   TString  fXMemoH1SamePlus;
00672   TString  fXMemoD_NOE_ChNb;
00673   TString  fXMemoD_NOE_ChDs;
00674   TString  fXMemoD_Ped_ChNb;
00675   TString  fXMemoD_Ped_ChDs;
00676   TString  fXMemoD_TNo_ChNb;
00677   TString  fXMemoD_TNo_ChDs; 
00678   TString  fXMemoD_MCs_ChNb; 
00679   TString  fXMemoD_MCs_ChDs;
00680   TString  fXMemoD_LFN_ChNb;
00681   TString  fXMemoD_LFN_ChDs; 
00682   TString  fXMemoD_HFN_ChNb;   
00683   TString  fXMemoD_HFN_ChDs; 
00684   TString  fXMemoD_SCs_ChNb; 
00685   TString  fXMemoD_SCs_ChDs; 
00686   TString  fXMemoD_MSp_SpNb; 
00687   TString  fXMemoD_MSp_SpDs;
00688   TString  fXMemoD_SSp_SpNb; 
00689   TString  fXMemoD_SSp_SpDs;
00690   TString  fXMemoD_Adc_EvDs;     
00691   TString  fXMemoD_Adc_EvNb;
00692   TString  fXMemoH_Ped_Date;
00693   TString  fXMemoH_TNo_Date;
00694   TString  fXMemoH_MCs_Date;
00695   TString  fXMemoH_LFN_Date;
00696   TString  fXMemoH_HFN_Date;
00697   TString  fXMemoH_SCs_Date;
00698   TString  fXMemoH_Ped_RuDs;
00699   TString  fXMemoH_TNo_RuDs;
00700   TString  fXMemoH_MCs_RuDs;
00701   TString  fXMemoH_LFN_RuDs;
00702   TString  fXMemoH_HFN_RuDs;
00703   TString  fXMemoH_SCs_RuDs;
00704 
00705   TString  fYMemoH1SamePlus;
00706   TString  fYMemoD_NOE_ChNb;
00707   TString  fYMemoD_NOE_ChDs;
00708   TString  fYMemoD_Ped_ChNb;
00709   TString  fYMemoD_Ped_ChDs;
00710   TString  fYMemoD_TNo_ChNb;   
00711   TString  fYMemoD_TNo_ChDs; 
00712   TString  fYMemoD_MCs_ChNb; 
00713   TString  fYMemoD_MCs_ChDs;
00714   TString  fYMemoD_LFN_ChNb;
00715   TString  fYMemoD_LFN_ChDs; 
00716   TString  fYMemoD_HFN_ChNb;   
00717   TString  fYMemoD_HFN_ChDs; 
00718   TString  fYMemoD_SCs_ChNb; 
00719   TString  fYMemoD_SCs_ChDs; 
00720   TString  fYMemoD_MSp_SpNb; 
00721   TString  fYMemoD_MSp_SpDs;
00722   TString  fYMemoD_SSp_SpNb;
00723   TString  fYMemoD_SSp_SpDs;  
00724   TString  fYMemoD_Adc_EvDs;     
00725   TString  fYMemoD_Adc_EvNb;
00726   TString  fYMemoH_Ped_Date;
00727   TString  fYMemoH_TNo_Date;
00728   TString  fYMemoH_MCs_Date;
00729   TString  fYMemoH_LFN_Date;
00730   TString  fYMemoH_HFN_Date;
00731   TString  fYMemoH_SCs_Date;
00732   TString  fYMemoH_Ped_RuDs;
00733   TString  fYMemoH_TNo_RuDs;
00734   TString  fYMemoH_MCs_RuDs;
00735   TString  fYMemoH_LFN_RuDs;
00736   TString  fYMemoH_HFN_RuDs;
00737   TString  fYMemoH_SCs_RuDs;
00738 
00739   Int_t  fNbBinsMemoH1SamePlus;
00740   Int_t  fNbBinsMemoD_NOE_ChNb;
00741   Int_t  fNbBinsMemoD_NOE_ChDs;
00742   Int_t  fNbBinsMemoD_Ped_ChNb;
00743   Int_t  fNbBinsMemoD_Ped_ChDs;
00744   Int_t  fNbBinsMemoD_TNo_ChNb;   
00745   Int_t  fNbBinsMemoD_TNo_ChDs; 
00746   Int_t  fNbBinsMemoD_MCs_ChNb; 
00747   Int_t  fNbBinsMemoD_MCs_ChDs;
00748   Int_t  fNbBinsMemoD_LFN_ChNb;
00749   Int_t  fNbBinsMemoD_LFN_ChDs;
00750   Int_t  fNbBinsMemoD_HFN_ChNb; 
00751   Int_t  fNbBinsMemoD_HFN_ChDs;
00752   Int_t  fNbBinsMemoD_SCs_ChNb;
00753   Int_t  fNbBinsMemoD_SCs_ChDs;
00754   Int_t  fNbBinsMemoD_MSp_SpNb;
00755   Int_t  fNbBinsMemoD_MSp_SpDs;
00756   Int_t  fNbBinsMemoD_SSp_SpNb;
00757   Int_t  fNbBinsMemoD_SSp_SpDs;
00758   Int_t  fNbBinsMemoD_Adc_EvDs;     
00759   Int_t  fNbBinsMemoD_Adc_EvNb;
00760   Int_t  fNbBinsMemoH_Ped_Date;
00761   Int_t  fNbBinsMemoH_TNo_Date;
00762   Int_t  fNbBinsMemoH_MCs_Date;
00763   Int_t  fNbBinsMemoH_LFN_Date;
00764   Int_t  fNbBinsMemoH_HFN_Date;
00765   Int_t  fNbBinsMemoH_SCs_Date;
00766   Int_t  fNbBinsMemoH_Ped_RuDs;
00767   Int_t  fNbBinsMemoH_TNo_RuDs;
00768   Int_t  fNbBinsMemoH_MCs_RuDs;
00769   Int_t  fNbBinsMemoH_LFN_RuDs;
00770   Int_t  fNbBinsMemoH_HFN_RuDs;
00771   Int_t  fNbBinsMemoH_SCs_RuDs;
00772   //.......................................................
00773   TString   fCurrentCanvasName;
00774   TCanvas*  fCurrentCanvas;
00775 
00776   TCanvas*  fCanvH1SamePlus;
00777   TCanvas*  fCanvD_NOE_ChNb;
00778   TCanvas*  fCanvD_NOE_ChDs;
00779   TCanvas*  fCanvD_Ped_ChNb;
00780   TCanvas*  fCanvD_Ped_ChDs;
00781   TCanvas*  fCanvD_TNo_ChNb;
00782   TCanvas*  fCanvD_TNo_ChDs;
00783   TCanvas*  fCanvD_MCs_ChNb;
00784   TCanvas*  fCanvD_MCs_ChDs;
00785   TCanvas*  fCanvD_LFN_ChNb;
00786   TCanvas*  fCanvD_LFN_ChDs;
00787   TCanvas*  fCanvD_HFN_ChNb; 
00788   TCanvas*  fCanvD_HFN_ChDs;
00789   TCanvas*  fCanvD_SCs_ChNb;
00790   TCanvas*  fCanvD_SCs_ChDs;
00791   TCanvas*  fCanvD_MSp_SpNb;
00792   TCanvas*  fCanvD_MSp_SpDs;
00793   TCanvas*  fCanvD_SSp_SpNb;
00794   TCanvas*  fCanvD_SSp_SpDs;  
00795   TCanvas*  fCanvD_Adc_EvDs;     
00796   TCanvas*  fCanvD_Adc_EvNb;
00797   TCanvas*  fCanvH_Ped_Date;
00798   TCanvas*  fCanvH_TNo_Date;
00799   TCanvas*  fCanvH_MCs_Date;
00800   TCanvas*  fCanvH_LFN_Date;
00801   TCanvas*  fCanvH_HFN_Date;
00802   TCanvas*  fCanvH_SCs_Date;
00803   TCanvas*  fCanvH_Ped_RuDs;
00804   TCanvas*  fCanvH_TNo_RuDs;
00805   TCanvas*  fCanvH_MCs_RuDs;
00806   TCanvas*  fCanvH_LFN_RuDs;
00807   TCanvas*  fCanvH_HFN_RuDs;
00808   TCanvas*  fCanvH_SCs_RuDs;
00809 
00810   Bool_t  fClosedH1SamePlus;
00811   Bool_t  fClosedD_NOE_ChNb;
00812   Bool_t  fClosedD_NOE_ChDs;
00813   Bool_t  fClosedD_Ped_ChNb;
00814   Bool_t  fClosedD_Ped_ChDs;
00815   Bool_t  fClosedD_TNo_ChNb;
00816   Bool_t  fClosedD_TNo_ChDs;
00817   Bool_t  fClosedD_MCs_ChNb;
00818   Bool_t  fClosedD_MCs_ChDs;
00819   Bool_t  fClosedD_LFN_ChNb;
00820   Bool_t  fClosedD_LFN_ChDs;
00821   Bool_t  fClosedD_HFN_ChNb; 
00822   Bool_t  fClosedD_HFN_ChDs;
00823   Bool_t  fClosedD_SCs_ChNb;
00824   Bool_t  fClosedD_SCs_ChDs;
00825   Bool_t  fClosedD_MSp_SpNb;
00826   Bool_t  fClosedD_MSp_SpDs;
00827   Bool_t  fClosedD_SSp_SpNb;
00828   Bool_t  fClosedD_SSp_SpDs;    
00829   Bool_t  fClosedD_Adc_EvNb; 
00830   Bool_t  fClosedD_Adc_EvDs;  
00831   Bool_t  fClosedH_Ped_Date;
00832   Bool_t  fClosedH_TNo_Date;
00833   Bool_t  fClosedH_MCs_Date;
00834   Bool_t  fClosedH_LFN_Date;
00835   Bool_t  fClosedH_HFN_Date;
00836   Bool_t  fClosedH_SCs_Date;
00837   Bool_t  fClosedH_Ped_RuDs;
00838   Bool_t  fClosedH_TNo_RuDs;
00839   Bool_t  fClosedH_MCs_RuDs;
00840   Bool_t  fClosedH_LFN_RuDs;
00841   Bool_t  fClosedH_HFN_RuDs;
00842   Bool_t  fClosedH_SCs_RuDs;
00843 
00844   TString fCurrentHistoCode;
00845   TString fCurrentOptPlot;
00846 
00847   TVirtualPad*  fCurrentPad;
00848 
00849   TVirtualPad*  fPadH1SamePlus;
00850   TVirtualPad*  fPadD_NOE_ChNb;
00851   TVirtualPad*  fPadD_NOE_ChDs;
00852   TVirtualPad*  fPadD_Ped_ChNb;
00853   TVirtualPad*  fPadD_Ped_ChDs;
00854   TVirtualPad*  fPadD_TNo_ChNb;  
00855   TVirtualPad*  fPadD_TNo_ChDs; 
00856   TVirtualPad*  fPadD_MCs_ChNb;
00857   TVirtualPad*  fPadD_MCs_ChDs;
00858   TVirtualPad*  fPadD_LFN_ChNb;
00859   TVirtualPad*  fPadD_LFN_ChDs;
00860   TVirtualPad*  fPadD_HFN_ChNb;   
00861   TVirtualPad*  fPadD_HFN_ChDs;
00862   TVirtualPad*  fPadD_SCs_ChNb;
00863   TVirtualPad*  fPadD_SCs_ChDs; 
00864   TVirtualPad*  fPadD_MSp_SpNb; 
00865   TVirtualPad*  fPadD_MSp_SpDs;
00866   TVirtualPad*  fPadD_SSp_SpNb;
00867   TVirtualPad*  fPadD_SSp_SpDs;
00868   TVirtualPad*  fPadD_Adc_EvDs;     
00869   TVirtualPad*  fPadD_Adc_EvNb;
00870   TVirtualPad*  fPadH_Ped_Date;
00871   TVirtualPad*  fPadH_TNo_Date;
00872   TVirtualPad*  fPadH_MCs_Date;
00873   TVirtualPad*  fPadH_LFN_Date;
00874   TVirtualPad*  fPadH_HFN_Date;
00875   TVirtualPad*  fPadH_SCs_Date;
00876   TVirtualPad*  fPadH_Ped_RuDs;
00877   TVirtualPad*  fPadH_TNo_RuDs;
00878   TVirtualPad*  fPadH_MCs_RuDs;
00879   TVirtualPad*  fPadH_LFN_RuDs;
00880   TVirtualPad*  fPadH_HFN_RuDs;
00881   TVirtualPad*  fPadH_SCs_RuDs;
00882 
00883   TPaveText*  fPavTxtH1SamePlus;
00884   TPaveText*  fPavTxtD_NOE_ChNb;
00885   TPaveText*  fPavTxtD_NOE_ChDs;
00886   TPaveText*  fPavTxtD_Ped_ChNb;
00887   TPaveText*  fPavTxtD_Ped_ChDs;
00888   TPaveText*  fPavTxtD_TNo_ChNb;   
00889   TPaveText*  fPavTxtD_TNo_ChDs; 
00890   TPaveText*  fPavTxtD_MCs_ChNb; 
00891   TPaveText*  fPavTxtD_MCs_ChDs;
00892   TPaveText*  fPavTxtD_LFN_ChNb;
00893   TPaveText*  fPavTxtD_LFN_ChDs; 
00894   TPaveText*  fPavTxtD_HFN_ChNb;   
00895   TPaveText*  fPavTxtD_HFN_ChDs; 
00896   TPaveText*  fPavTxtD_SCs_ChNb; 
00897   TPaveText*  fPavTxtD_SCs_ChDs; 
00898   TPaveText*  fPavTxtD_MSp_SpNb; 
00899   TPaveText*  fPavTxtD_MSp_SpDs;
00900   TPaveText*  fPavTxtD_SSp_SpNb; 
00901   TPaveText*  fPavTxtD_SSp_SpDs;  
00902   TPaveText*  fPavTxtD_Adc_EvDs;     
00903   TPaveText*  fPavTxtD_Adc_EvNb;
00904   TPaveText*  fPavTxtH_Ped_Date;
00905   TPaveText*  fPavTxtH_TNo_Date;
00906   TPaveText*  fPavTxtH_MCs_Date;
00907   TPaveText*  fPavTxtH_LFN_Date;
00908   TPaveText*  fPavTxtH_HFN_Date;
00909   TPaveText*  fPavTxtH_SCs_Date;
00910   TPaveText*  fPavTxtH_Ped_RuDs;
00911   TPaveText*  fPavTxtH_TNo_RuDs;
00912   TPaveText*  fPavTxtH_MCs_RuDs;
00913   TPaveText*  fPavTxtH_LFN_RuDs;
00914   TPaveText*  fPavTxtH_HFN_RuDs;
00915   TPaveText*  fPavTxtH_SCs_RuDs;
00916 
00917   TCanvasImp*  fImpH1SamePlus;
00918   TCanvasImp*  fImpD_NOE_ChNb;
00919   TCanvasImp*  fImpD_NOE_ChDs;
00920   TCanvasImp*  fImpD_Ped_ChNb;
00921   TCanvasImp*  fImpD_Ped_ChDs;
00922   TCanvasImp*  fImpD_TNo_ChNb;
00923   TCanvasImp*  fImpD_TNo_ChDs;
00924   TCanvasImp*  fImpD_MCs_ChNb;
00925   TCanvasImp*  fImpD_MCs_ChDs;
00926   TCanvasImp*  fImpD_LFN_ChNb;
00927   TCanvasImp*  fImpD_LFN_ChDs;
00928   TCanvasImp*  fImpD_HFN_ChNb;
00929   TCanvasImp*  fImpD_HFN_ChDs;
00930   TCanvasImp*  fImpD_SCs_ChNb;
00931   TCanvasImp*  fImpD_SCs_ChDs; 
00932   TCanvasImp*  fImpD_MSp_SpNb;
00933   TCanvasImp*  fImpD_MSp_SpDs;
00934   TCanvasImp*  fImpD_SSp_SpNb; 
00935   TCanvasImp*  fImpD_SSp_SpDs;  
00936   TCanvasImp*  fImpD_Adc_EvDs; 
00937   TCanvasImp*  fImpD_Adc_EvNb;
00938   TCanvasImp*  fImpH_Ped_Date;
00939   TCanvasImp*  fImpH_TNo_Date;
00940   TCanvasImp*  fImpH_MCs_Date;
00941   TCanvasImp*  fImpH_LFN_Date;
00942   TCanvasImp*  fImpH_HFN_Date;
00943   TCanvasImp*  fImpH_SCs_Date;
00944   TCanvasImp*  fImpH_Ped_RuDs;
00945   TCanvasImp*  fImpH_TNo_RuDs;
00946   TCanvasImp*  fImpH_MCs_RuDs;
00947   TCanvasImp*  fImpH_LFN_RuDs;
00948   TCanvasImp*  fImpH_HFN_RuDs;
00949   TCanvasImp*  fImpH_SCs_RuDs;
00950 
00951   Int_t  fCanvSameH1SamePlus;
00952   Int_t  fCanvSameD_NOE_ChNb, fCanvSameD_NOE_ChDs;
00953   Int_t  fCanvSameD_Ped_ChNb, fCanvSameD_Ped_ChDs;
00954   Int_t  fCanvSameD_TNo_ChNb, fCanvSameD_TNo_ChDs; 
00955   Int_t  fCanvSameD_MCs_ChNb, fCanvSameD_MCs_ChDs;
00956   Int_t  fCanvSameD_LFN_ChNb, fCanvSameD_LFN_ChDs; 
00957   Int_t  fCanvSameD_HFN_ChNb, fCanvSameD_HFN_ChDs; 
00958   Int_t  fCanvSameD_SCs_ChNb, fCanvSameD_SCs_ChDs; 
00959   Int_t  fCanvSameD_MSp_SpNb, fCanvSameD_SSp_SpNb; 
00960   Int_t  fCanvSameD_MSp_SpDs, fCanvSameD_SSp_SpDs;
00961   Int_t  fCanvSameD_Adc_EvDs, fCanvSameD_Adc_EvNb;
00962   Int_t  fCanvSameH_Ped_Date, fCanvSameH_Ped_RuDs;
00963   Int_t  fCanvSameH_TNo_Date, fCanvSameH_TNo_RuDs;
00964   Int_t  fCanvSameH_LFN_Date, fCanvSameH_LFN_RuDs;
00965   Int_t  fCanvSameH_HFN_Date, fCanvSameH_HFN_RuDs;
00966   Int_t  fCanvSameH_MCs_Date, fCanvSameH_MCs_RuDs;      
00967   Int_t  fCanvSameH_SCs_Date, fCanvSameH_SCs_RuDs;
00968 
00969   Int_t  fNbOfListFileH_Ped_Date, fNbOfListFileH_TNo_Date, fNbOfListFileH_MCs_Date; // List file numbers
00970   Int_t  fNbOfListFileH_LFN_Date, fNbOfListFileH_HFN_Date, fNbOfListFileH_SCs_Date; // List file numbers
00971   Int_t  fNbOfListFileH_Ped_RuDs, fNbOfListFileH_TNo_RuDs, fNbOfListFileH_MCs_RuDs; // List file numbers
00972   Int_t  fNbOfListFileH_LFN_RuDs, fNbOfListFileH_HFN_RuDs, fNbOfListFileH_SCs_RuDs; // List file numbers
00973 
00974   //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00975 
00976  public:
00977 
00978   //...................................... methods
00979   TEcnaHistos();
00980   TEcnaHistos(TEcnaObject*, const TString);
00981 
00982   //TEcnaHistos(const TString);
00983   //TEcnaHistos(const TString, const TEcnaParPaths*);
00984   //TEcnaHistos(const TString,
00985 //            const TEcnaParPaths*,
00986 //            const TEcnaParCout*,
00987 //            const TEcnaParEcal*, 
00988 //            const TEcnaParHistos*,
00989 //            const TEcnaNumbering*,
00990 //            const TEcnaWrite*);
00991   
00992   virtual  ~TEcnaHistos();
00993   
00994   void Init();
00995   void SetEcalSubDetector(const TString);
00996 //  void SetEcalSubDetector(const TString,
00997 //                        const TEcnaParEcal*, 
00998 //                        const TEcnaParHistos*,
00999 //                        const TEcnaNumbering*,
01000 //                        const TEcnaWrite*);
01001 
01002   //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
01003   //
01004   //                     METHODS FOR THE USER
01005   //
01006   //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
01007 
01008   //............ method to set the result file name parameters (from values in argument)
01009   //............ FileParameters(AnaType, [RunNumber], FirstEvent, NbOfEvts, [SM or Dee number])
01010   //             RunNumber = 0 => history plots , SM or Dee number = 0 => EB or EE Plots
01011 
01012   void FileParameters(const TString, const Int_t&, const Int_t&,
01013                       const Int_t&,  const Int_t&, const Int_t&, const Int_t&);
01014 
01015   void FileParameters(TEcnaRead*);
01016 
01017   //================================================================================================
01018   //                    methods for displaying matrices (correlations, covariances)
01019   //  The last argument is optional: option plot ("COLZ", "LEGO" etc..., or "ASCII") default = COLZ
01020   //================================================================================================ 
01021   //..................... Corcc[for 1 Stex] (big matrix)
01022   void PlotMatrix(const TMatrixD&,
01023                   const TString, const TString);
01024   void PlotMatrix(const TMatrixD&,
01025                   const TString, const TString, const TString);
01026 
01027   void PlotMatrix(const TString, const TString);
01028   void PlotMatrix(const TString, const TString, const TString);
01029 
01030   //..................... Corcc[for 1 Stin], Corss[for 1 Echa], Covss[for 1 Echa]
01031   void PlotMatrix(const TMatrixD&,
01032                   const TString, const TString, const Int_t&, const Int_t&);
01033   void PlotMatrix(const TMatrixD&,
01034                   const TString, const TString, const Int_t&, const Int_t&, const TString);
01035 
01036   void PlotMatrix(const TString, const TString, const Int_t&, const Int_t&);
01037   void PlotMatrix(const TString, const TString, const Int_t&, const Int_t&, const TString);
01038 
01039   //================================================================================================
01040   //                    methods for displaying 2D views of the detector
01041   //                    detector = SM, Dee, EB, EE
01042   //================================================================================================ 
01043   void PlotDetector(const TVectorD&,
01044                     const TString, const TString);
01045   void PlotDetector(const TString, const TString);
01046 
01047   //================================================================================================
01048   //                    methods for displaying 1D histos OR history histos
01049   //  The last argument is optional: option plot ("COLZ", "LEGO" etc..., or "ASCII") default = COLZ
01050   //================================================================================================
01051   void Plot1DHisto(const TVectorD&,
01052                    const TString, const TString, const TString);
01053   void Plot1DHisto(const TVectorD&,
01054                    const TString, const TString, const TString, const TString);
01055 
01056   void Plot1DHisto(const TString, const TString, const TString);
01057   void Plot1DHisto(const TString, const TString, const TString, const TString);
01058 
01059   //.......................................................
01060   //=> BUG SCRAM? (voir test/TEcnaHistosExample2.cc et src/TEcnaHistos.cc)
01061   void Plot1DHisto(const TVectorD&, const TString, const TString, const Int_t&);
01062   void Plot1DHisto(const TVectorD&, const TString, const TString, const Int_t&, const TString);
01063 
01064   void Plot1DHisto(const TVectorD&,
01065                    const TString, const TString, const Int_t&, const Int_t&);
01066   void Plot1DHisto(const TVectorD&,
01067                    const TString, const TString, const Int_t&, const Int_t&, const TString);
01068 
01069   void Plot1DHisto(const TString, const TString, const Int_t&, const Int_t&);
01070   void Plot1DHisto(const TString, const TString, const Int_t&, const Int_t&, const TString);
01071 
01072  //.......................................................
01073   void Plot1DHisto(const TVectorD&,
01074                    const TString, const TString, const Int_t&, const Int_t&, const Int_t&);
01075   void Plot1DHisto(const TVectorD&,
01076                    const TString, const TString, const Int_t&, const Int_t&, const Int_t&, const TString);
01077 
01078   void Plot1DHisto(const TString, const TString, const Int_t&, const Int_t&, const Int_t&);
01079   void Plot1DHisto(const TString, const TString, const Int_t&, const Int_t&, const Int_t&, const TString);
01080 
01081  //.......................................................
01082   void PlotHistory(const TString, const TString, const TString, const Int_t&, const Int_t&);
01083   void PlotHistory(const TString, const TString, const TString, const Int_t&, const Int_t&, const TString);
01084 
01085   //====================================================================================
01086   //
01087   //                   methods for displaying Tower, SC, crystal numbering
01088   // 
01089   //====================================================================================
01090   void SMTowerNumbering(const Int_t&);  // USER: specific EB
01091   void DeeSCNumbering(const Int_t&);    // USER: specific EE
01092 
01093   void TowerCrystalNumbering(const Int_t&, const Int_t&);  // USER: specific EB
01094   void SCCrystalNumbering(const Int_t&, const Int_t&);     // USER: specific EE
01095 
01096   //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
01097   //
01098   //             "TECHNICAL" METHODS
01099   //
01100   //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
01101   void XtalSamplesEv(const TVectorD&, const Int_t&, const Int_t&, const Int_t&, const TString);
01102   void EvSamplesXtals(const TVectorD&, const Int_t&, const Int_t&, const Int_t&, const TString);
01103   void XtalSamplesSigma(const TVectorD&, const Int_t&, const Int_t&, const Int_t&, const TString);
01104   void SigmaSamplesXtals(const TVectorD&, const Int_t&, const Int_t&, const Int_t&, const TString);
01105 
01106   void XtalSamplesEv(const TVectorD&, const Int_t&, const Int_t&, const Int_t&);
01107   void EvSamplesXtals(const TVectorD&, const Int_t&, const Int_t&, const Int_t&);
01108   void XtalSamplesSigma(const TVectorD&, const Int_t&, const Int_t&, const Int_t&);
01109   void SigmaSamplesXtals(const TVectorD&, const Int_t&, const Int_t&, const Int_t&);
01110 
01111   //======================================= Miscellaneous methods
01112   //.................... General title
01113   void GeneralTitle(const TString);
01114 
01115   //.................................. Lin:Log scale, ColorPalette, General Title
01116   void SetHistoScaleX(const TString);
01117   void SetHistoScaleY(const TString);
01118   void SetHistoColorPalette(const TString);
01119 
01120   //.................................. 1D and 2D histo min,max user's values
01121   void SetHistoMin(const Double_t&);
01122   void SetHistoMax(const Double_t&);
01123   //.................................. 1D and 2D histo min,max from histo values
01124   void SetHistoMin();
01125   void SetHistoMax();
01126 
01127   //.................................. set fStartDate and fStopDate attributes from external values
01128   void StartStopDate(const TString, const TString);
01129 
01130   //.................................. set fRunType attribute from external value
01131   void RunType(const TString);
01132 
01133   //.................................. set fFapNbOfEvts attribute from external value
01134   void NumberOfEvents(const Int_t&);
01135 
01136   //======================= TECHNICAL METHODS (in principle not for the user) ========================
01137 
01138   void SetRunNumberFromList(const Int_t&, const Int_t&);  // called by Histime
01139   void InitSpecParBeforeFileReading();                    // set parameters from the file reading
01140 
01141   //................. methods for displaying the cor(s,s) and cov(s,s) corresponding to a Stin
01142   void CorrelationsBetweenSamples(const Int_t&);
01143   void CovariancesBetweenSamples(const Int_t&);
01144 
01145   //.................        
01146   void StexHocoVecoLHFCorcc(const TString);
01147 
01148   void StexStinNumbering(const Int_t&);                    
01149   void StinCrystalNumbering(const Int_t&, const Int_t&);   
01150 
01151   void ViewStas(const TVectorD&, const Int_t&, const TString);
01152   void ViewStex(const TVectorD&, const Int_t&, const TString);
01153   void ViewStin(const Int_t&, const TString);
01154   void ViewMatrix(const TMatrixD&, const Int_t&, const Int_t&,  const Int_t&,  const Int_t&,
01155                   const TString, const TString, const TString);
01156   void ViewHisto(const TVectorD&, const Int_t&, const Int_t&,  const Int_t&, const Int_t&,
01157                  const TString,   const TString);
01158 
01159   Int_t GetDSOffset(const Int_t&, const Int_t&);
01160   Int_t GetSCOffset(const Int_t&, const Int_t&, const Int_t&);
01161 
01162   void ViewHistime(const TString, const Int_t&, const Int_t&,
01163                    const TString, const TString);
01164 
01165   Int_t GetHistoryRunListParameters(const TString, const TString);
01166 
01167   void TopAxisForHistos(TH1D*,
01168                         const TString, const Int_t&, const Int_t&, const Int_t&,
01169                         const Int_t&,  const Int_t& );
01170 
01171   //--------------------------------------------------------------- xinf, xsup management
01172   void     SetXinfMemoFromValue(const TString, const Double_t&);
01173   void     SetXsupMemoFromValue(const TString, const Double_t&);
01174   void     SetXinfMemoFromValue(const Double_t&);
01175   void     SetXsupMemoFromValue(const Double_t&);
01176 
01177   Double_t GetXinfValueFromMemo(const TString);
01178   Double_t GetXsupValueFromMemo(const TString);
01179   Double_t GetXinfValueFromMemo();
01180   Double_t GetXsupValueFromMemo();
01181 
01182   Axis_t   GetHistoXinf(const TString, const Int_t&, const TString);
01183   Axis_t   GetHistoXsup(const TString, const Int_t&, const TString);
01184 
01185   Int_t    GetHistoNumberOfBins(const TString,  const Int_t&); 
01186 
01187   //--------------------------------------------------------------- ymin, ymax management
01188   void     SetYminMemoFromValue(const TString, const Double_t&);
01189   void     SetYmaxMemoFromValue(const TString, const Double_t&);
01190 
01191   Double_t GetYminValueFromMemo(const TString);
01192   Double_t GetYmaxValueFromMemo(const TString);
01193 
01194   void     SetYminMemoFromPreviousMemo(const TString);
01195   void     SetYmaxMemoFromPreviousMemo(const TString);
01196 
01197   Int_t    SetHistoFrameYminYmaxFromMemo(TH1D*,   const TString);
01198   Int_t    SetGraphFrameYminYmaxFromMemo(TGraph*, const TString);
01199 
01200   Double_t GetYminFromHistoFrameAndMarginValue(TH1D*, const Double_t);
01201   Double_t GetYmaxFromHistoFrameAndMarginValue(TH1D*, const Double_t);
01202 
01203   Double_t GetYminFromGraphFrameAndMarginValue(TGraph*, const Double_t);
01204   Double_t GetYmaxFromGraphFrameAndMarginValue(TGraph*, const Double_t);
01205 
01206   //.................................. 1D and 2D histo min,max default values
01207   void SetAllYminYmaxMemoFromDefaultValues();
01208 
01209   //------------------------------------------------- Memo Same, Same n management
01210   void    SetXVarMemo(const TString, const TString, const TString);
01211   TString GetXVarFromMemo(const TString, const TString);
01212 
01213   void    SetYVarMemo(const TString, const TString, const TString);
01214   TString GetYVarFromMemo(const TString, const TString);
01215 
01216   void    SetNbBinsMemo(const TString, const TString, const Int_t&);
01217   Int_t   GetNbBinsFromMemo(const TString, const TString);
01218 
01219   //--------------------------------------------------------------------------------
01220   void ViewStexStinNumberingPad(const Int_t&);
01221   void ViewSMTowerNumberingPad(const Int_t&);   // specific EB
01222   void ViewDeeSCNumberingPad(const Int_t&);     // specific EE
01223 
01224   void ViewStinGrid(const Int_t&, const Int_t&, const Int_t&,
01225                     const Int_t&, const Int_t&, const TString);
01226   void ViewTowerGrid(const Int_t&, const Int_t&, const Int_t&,
01227                      const Int_t&, const Int_t&, const TString);  // specific EB
01228   void ViewSCGrid(const Int_t&, const Int_t&, const Int_t&,
01229                   const Int_t&, const Int_t&, const TString);     // specific EE
01230 
01231   void ViewStexGrid(const Int_t&, const TString);
01232   void ViewSMGrid(const Int_t&, const TString);    // specific EB
01233   void ViewDeeGrid(const Int_t&, const TString);   // specific EE
01234 
01235   void ViewStasGrid(const Int_t&);
01236   void ViewEBGrid();
01237   void ViewEEGrid(const Int_t&);
01238 
01239   void EEDataSectors(const Float_t&,  const Float_t&, const Int_t&, const TString);
01240   void EEGridAxis(const Float_t&,  const Float_t&, const Int_t&, const TString, const TString);
01241 
01242   void SqrtContourLevels(const Int_t&, Double_t*);
01243 
01244   TString StexNumberToString(const Int_t&);
01245 
01246   void HistoPlot(TH1D*,
01247                  const Int_t&,  const Axis_t&,  const Axis_t&,  const TString, const TString,
01248                  const Int_t&,  const Int_t&,   const Int_t&,   const Int_t&,
01249                  const Int_t&,  const TString,  const Int_t&,   const Int_t&);
01250 
01251   Double_t NotConnectedSCH1DBin(const Int_t&);
01252   Int_t    GetNotConnectedDSSCFromIndex(const Int_t&);
01253   Int_t    GetNotConnectedSCForConsFromIndex(const Int_t&);
01254   Int_t    ModifiedSCEchaForNotConnectedSCs(const Int_t&, const Int_t&, const Int_t&, const Int_t&, const Int_t&);
01255 
01256   Double_t NotCompleteSCH1DBin(const Int_t&);
01257   Int_t    GetNotCompleteDSSCFromIndex(const Int_t&);
01258   Int_t    GetNotCompleteSCForConsFromIndex(const Int_t&);
01259 
01260   void HistimePlot(TGraph*,       Axis_t,        Axis_t,
01261                    const TString, const TString, const Int_t&, const Int_t&,
01262                    const Int_t&,  const Int_t&,  const Int_t&, const TString, const Int_t&);
01263 
01264   void SetAllPavesViewMatrix(const TString, const Int_t&, const Int_t&, const Int_t&);
01265   void SetAllPavesViewStin(const Int_t&);
01266   void SetAllPavesViewStex(const TString, const Int_t&);
01267   void SetAllPavesViewStex(const Int_t&);
01268   void SetAllPavesViewStas();
01269   void SetAllPavesViewStinCrysNb(const Int_t&, const Int_t&);
01270   void SetAllPavesViewHisto(const TString, const Int_t&, const Int_t&, const Int_t&, const TString);
01271   void SetAllPavesViewHisto(const TString, const Int_t&, const Int_t&, const Int_t&, const TString, const Int_t&);
01272 
01273   Int_t GetXSampInStin(const Int_t&, const Int_t&,
01274                        const Int_t&,  const Int_t&);
01275   Int_t GetYSampInStin(const Int_t&, const Int_t&,
01276                        const Int_t&,  const Int_t&);
01277 
01278   Int_t GetXCrysInStex(const Int_t&, const Int_t&, const Int_t&);
01279   Int_t GetYCrysInStex(const Int_t&, const Int_t&, const Int_t&);
01280 
01281   Int_t GetXStinInStas(const Int_t&, const Int_t&, const Int_t&);
01282   Int_t GetYStinInStas(const Int_t&, const Int_t&);
01283 
01284 
01285   TString GetHocoVecoAxisTitle(const TString);
01286   TString GetEtaPhiAxisTitle(const TString);        // specific EB
01287   TString GetIXIYAxisTitle(const TString);          // specific EE
01288 
01289   Bool_t   GetOkViewHisto(TEcnaRead*, const Int_t&, const Int_t&, const Int_t&, const TString);
01290   Int_t    GetHistoSize(const TString, const TString);
01291   TVectorD GetHistoValues(const TVectorD&, const Int_t&, TEcnaRead*,  const TString,
01292                           const Int_t&,    const Int_t&,
01293                           const Int_t&,    const Int_t&,  const Int_t&, Int_t&);
01294 
01295   TString SetHistoXAxisTitle(const TString);
01296   TString SetHistoYAxisTitle(const TString);
01297 
01298   void FillHisto(TH1D*, const TVectorD&, const TString, const Int_t&);
01299 
01300   TString GetMemoFlag(const TString);
01301   TString GetMemoFlag(const TString, const TString);
01302 
01303   TCanvas* CreateCanvas(const TString, const TString, const TString, UInt_t,  UInt_t);
01304   TCanvas* GetCurrentCanvas(const TString, const TString);
01305   TCanvas* GetCurrentCanvas();
01306   TString  GetCurrentCanvasName();
01307   void     PlotCloneOfCurrentCanvas();
01308 
01309   void SetParametersCanvas(const TString, const TString);
01310   void SetParametersPavTxt(const TString, const TString);
01311 
01312   TVirtualPad* ActivePad(const TString, const TString);
01313   TPaveText*   ActivePavTxt(const TString, const TString);
01314   void         DoCanvasClosed();
01315 
01316   void SetHistoPresentation(TH1D*,   const TString);
01317   void SetHistoPresentation(TH1D*,   const TString, const TString);
01318   void SetGraphPresentation(TGraph*, const TString, const TString);
01319 
01320   void SetViewHistoColors(TH1D*,   const TString, const TString, const Int_t&);
01321   void SetViewGraphColors(TGraph*, const TString, const TString);
01322 
01323   Color_t GetViewHistoColor(const TString, const TString);
01324 
01325   Int_t GetListFileNumber(const TString);
01326   void  ReInitCanvas(const TString, const TString);
01327   void  NewCanvas(const TString);
01328 
01329   TString SetCanvasName(const TString, const Int_t&, const Int_t&, 
01330                         const TString, const Int_t&, const Int_t&, const Int_t&, const Int_t&);
01331 
01332   Color_t GetSCColor(const TString, const TString, const TString);     // specific EE
01333 
01334   void WriteMatrixAscii(const TString, const TString, const Int_t&, const Int_t&, const Int_t&, const TMatrixD&);
01335   void WriteHistoAscii(const TString, const Int_t&, const TVectorD&);
01336 
01337   TString  AsciiFileName();
01338   Bool_t StatusFileFound();
01339   Bool_t StatusDataExist();
01340 
01341 ClassDef(TEcnaHistos,1)// methods for plots from ECNA (Ecal Correlated Noises Analysis)
01342 
01343 };
01344 
01345 #endif   //    ZTR_TEcnaHistos