CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaParHistos.h

Go to the documentation of this file.
00001 #ifndef ZTR_TEcnaParHistos
00002 #define ZTR_TEcnaParHistos
00003 
00004 #include <Riostream.h>
00005 
00006 #include "TObject.h"
00007 #include "TSystem.h"
00008 #include "Riostream.h"
00009 
00010 #include "TCanvas.h"
00011 #include "TRootCanvas.h"
00012 #include "TH1.h"
00013 #include "TStyle.h"
00014 #include "TGraph.h"
00015 #include "TString.h"
00016 #include "TColor.h"
00017 #include "TPaveText.h"
00018 #include "TVectorD.h"
00019 #include "TMatrixD.h"
00020 
00021 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaParEcal.h"
00022 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaNumbering.h"
00023 
00024 //------------------------ TEcnaParHistos.h -----------------
00025 //
00026 //   For questions or comments, please send e-mail to:
00027 //
00028 //   Bernard Fabbro             
00029 //   fabbro@hep.saclay.cea.fr 
00030 //--------------------------------------------------------
00031 
00032 class TEcnaParHistos : public TObject {
00033 
00034  private:
00035 
00036   //..... Attributes
00037 
00038   // static const Int_t fgMaxCar = 512;                   // <=== HYPER DANGEREUX !!!
00039 
00040   Int_t   fgMaxCar;   // Max nb of caracters for char*
00041 
00042   Int_t   fCnew,        fCdelete;
00043   Int_t   fCnewRoot,    fCdeleteRoot;
00044 
00045   TString fTTBELL;
00046 
00047   Int_t   fCnaCommand,  fCnaError;
00048 
00049   TEcnaParEcal *fEcal;
00050   TEcnaNumbering  *fEcalNumbering;
00051 
00052   TString fFlagSubDet;
00053 
00054   //...............................................................
00055 
00056   Int_t    fMaxColorNumber;
00057   Double_t fMarginAutoMinMax;
00058   Int_t    fNbOfRunsDisplayed;  
00059   Int_t    fMaxNbOfRunsInLists;
00060 
00061  public:
00062 
00063   //..... Methods
00064 
00065            TEcnaParHistos();
00066            TEcnaParHistos(const TString, const TEcnaParEcal*, const TEcnaNumbering*);
00067   virtual  ~TEcnaParHistos();
00068 
00069   void     Init();
00070   void     SetEcalSubDetector(const TString, const TEcnaParEcal*, const TEcnaNumbering*);
00071 
00072   //...................................................... PLOT methods
00073   UInt_t   SetCanvasWidth(const TString, const TString);
00074   UInt_t   SetCanvasHeight(const TString, const TString);
00075   UInt_t   CanvasFormatW(const TString);
00076   UInt_t   CanvasFormatH(const TString);
00077 
00078   Double_t BoxLeftX(const TString);
00079   Double_t BoxRightX(const TString);
00080   Double_t BoxBottomY(const TString);
00081   Double_t BoxTopY(const TString);
00082 
00083   void     SetColorPalette(const TString);
00084   Color_t  ColorTab(const Int_t&);
00085   Color_t  ColorDefinition(const TString);
00086   Int_t    GetMaxNbOfColors();
00087 
00088   Int_t    GetNbOfRunsDisplayed();
00089   Double_t GetMarginAutoMinMax();
00090 
00091   void     SetViewHistoStyle(const TString);
00092   //  void     SetViewHistoPadMargins(const TString);
00093   void     SetViewHistoPadMargins(const TString, const TString);
00094   void     SetViewHistoStats(TH1D*, const TString);
00095   void     SetViewHistoOffsets(TH1D*, const TString, const TString);
00096   void     SetViewGraphOffsets(TGraph*, const TString);
00097 
00098   Float_t  AxisTitleOffset();
00099   Float_t  AxisTitleOffset(const TString);
00100   Float_t  AxisTitleSize();
00101   Float_t  AxisTitleSize(const TString);
00102   Float_t  AxisLabelOffset();
00103   Float_t  AxisLabelOffset(const TString);
00104   Float_t  AxisLabelSize();
00105   Float_t  AxisLabelSize(const TString);
00106   Float_t  AxisTickSize();
00107   Float_t  AxisTickSize(const TString);
00108 
00109   Float_t  DeeOffsetX(const TString, const Int_t&);
00110   Float_t  DeeNameOffsetX(const Int_t&);
00111   Float_t  DeeNumberOffsetX(const TString, const Int_t&);
00112 
00113   TPaveText* SetPaveGeneralComment(const TString);
00114   TPaveText* SetPaveAnalysisRun(const TString, const Int_t&, const Int_t&, const TString,
00115                                 const Int_t&,  const Int_t&, const TString);
00116   TPaveText* SetPaveNbOfEvts(const Int_t&, const TString, const TString, const TString);
00117   TPaveText* SetPaveEvolNbOfEvtsAna(const TString, const Int_t&, const Int_t&,
00118                                     const Int_t&,  const TString);
00119   TPaveText* SetPaveEvolRuns(const Int_t&,  const TString, const Int_t&,
00120                              const TString, const TString, const TString);
00121   
00122   TPaveText* SetOptionSamePaveBorder(const TString, const TString);
00123 
00124   TPaveText* SetPaveStas();
00125   TPaveText* SetPaveSM(const TString, const Int_t&, const TString);
00126   TPaveText* SetPaveTower(const Int_t&);
00127   TPaveText* SetPaveTowersXY(const Int_t&, const Int_t&);
00128   TPaveText* SetPaveLVRB(const Int_t&, const Int_t&);
00129   Color_t    SetColorsForNumbers(const TString);
00130 
00131   TPaveText* SetPaveDee(const TString, const Int_t&, const TString);
00132   TPaveText* SetPaveSC(const Int_t&, const Int_t&);
00133   TPaveText* SetPaveSCsXY(const Int_t&, const Int_t&);
00134   TPaveText* SetPaveCxyz(const Int_t&);
00135 
00136   TPaveText* SetPaveStex(const TString, const Int_t&);
00137   TPaveText* SetPaveStin(const Int_t&, const Int_t&);
00138   TPaveText* SetPaveStinsXY(const Int_t&, const Int_t&);
00139   TPaveText* SetPaveCrystal(const Int_t&, const Int_t&, const Int_t&);
00140   TPaveText* SetPaveCrystalSample(const Int_t&, const Int_t&, const Int_t&, const Int_t&);
00141 
00142   TString  GetHistoType(const TString);
00143   TString  GetXVarHisto(const TString, const TString, const Int_t&);
00144   TString  GetYVarHisto(const TString, const TString, const Int_t&);
00145   TString  GetQuantityName(const TString);
00146 
00147   Double_t GetYminDefaultValue(const TString);
00148   Double_t GetYmaxDefaultValue(const TString);
00149 
00150   Int_t MaxNbOfRunsInLists();
00151 
00152 ClassDef(TEcnaParHistos,1)// Parameter management for CNA (Correlated Noises Analysis)
00153 
00154 };
00155 
00156 #endif   //    ZTR_TEcnaParameter