CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_13_patch3/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/TEcnaObject.h"
00022 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaParEcal.h"
00023 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaNumbering.h"               
00024 
00043 
00044 class TEcnaParHistos : public TObject {
00045 
00046  private:
00047 
00048   //..... Attributes
00049 
00050   // static const Int_t fgMaxCar = 512;                   // <=== HYPER DANGEREUX !!!
00051 
00052   Int_t   fgMaxCar;   // Max nb of caracters for char*
00053 
00054   Int_t   fCnew,        fCdelete;
00055   Int_t   fCnewRoot,    fCdeleteRoot;
00056 
00057   TString fTTBELL;
00058 
00059   Int_t   fCnaCommand,  fCnaError;
00060 
00061   TEcnaParEcal *fEcal;
00062   TEcnaNumbering  *fEcalNumbering;
00063 
00064   TString fFlagSubDet;
00065 
00066   //...............................................................
00067 
00068   Int_t    fMaxColorNumber;
00069   Double_t fMarginAutoMinMax;
00070   Int_t    fNbOfRunsDisplayed;  
00071   Int_t    fMaxNbOfRunsInLists;
00072 
00073   TString fOnlyOnePlot;
00074   TString fSeveralPlot;
00075   TString fSameOnePlot;
00076   TString fAllXtalsInStinPlot;
00077   Int_t   fPlotAllXtalsInStin;
00078 
00079  public:
00080 
00081   //..... Methods
00082 
00083            TEcnaParHistos();
00084            TEcnaParHistos(TEcnaObject*, const TString);
00085            TEcnaParHistos(const TString, const TEcnaParEcal*, const TEcnaNumbering*);
00086   virtual  ~TEcnaParHistos();
00087 
00088   void     Init();
00089   void     SetEcalSubDetector(const TString);
00090   void     SetEcalSubDetector(const TString, const TEcnaParEcal*, const TEcnaNumbering*);
00091 
00092   //...................................................... PLOT methods
00093   UInt_t   SetCanvasWidth(const TString, const TString);
00094   UInt_t   SetCanvasHeight(const TString, const TString);
00095   UInt_t   CanvasFormatW(const TString);
00096   UInt_t   CanvasFormatH(const TString);
00097 
00098   Double_t BoxLeftX(const TString);
00099   Double_t BoxRightX(const TString);
00100   Double_t BoxBottomY(const TString);
00101   Double_t BoxTopY(const TString);
00102 
00103   void     SetColorPalette(const TString);
00104   Color_t  ColorTab(const Int_t&);
00105   Color_t  ColorDefinition(const TString);
00106   Int_t    GetMaxNbOfColors();
00107 
00108   Int_t    GetNbOfRunsDisplayed();
00109   Double_t GetMarginAutoMinMax();
00110 
00111   void     SetViewHistoStyle(const TString);
00112   void     SetViewHistoPadMargins(const TString, const TString);
00113   void     SetViewHistoStats(TH1D*, const TString);
00114   void     SetViewHistoOffsets(TH1D*, const TString, const TString);
00115   void     SetViewGraphOffsets(TGraph*, const TString);
00116 
00117   Float_t  AxisTitleOffset();
00118   Float_t  AxisTitleOffset(const TString);
00119   Float_t  AxisTitleSize();
00120   Float_t  AxisTitleSize(const TString);
00121   Float_t  AxisLabelOffset();
00122   Float_t  AxisLabelOffset(const TString);
00123   Float_t  AxisLabelSize();
00124   Float_t  AxisLabelSize(const TString);
00125   Float_t  AxisTickSize();
00126   Float_t  AxisTickSize(const TString);
00127 
00128   Float_t  DeeOffsetX(const TString, const Int_t&);
00129   Float_t  DeeNameOffsetX(const Int_t&);
00130   Float_t  DeeNumberOffsetX(const TString, const Int_t&);
00131 
00132   TPaveText* SetPaveGeneralComment(const TString);
00133   TPaveText* SetPaveAnalysisRun(const TString, const Int_t&, const Int_t&, const TString,
00134                                 const Int_t&,  const Int_t&, const TString);
00135   TPaveText* SetPaveNbOfEvts(const Int_t&, const TString, const TString, const TString);
00136   TPaveText* SetPaveEvolNbOfEvtsAna(const TString, const Int_t&, const Int_t&,
00137                                     const Int_t&,  const TString);
00138   TPaveText* SetPaveEvolRuns(const Int_t&,  const TString, const Int_t&,
00139                              const TString, const TString, const TString);
00140   
00141   TPaveText* SetOptionSamePaveBorder(const TString, const TString);
00142 
00143   TPaveText* SetPaveStas();
00144   TPaveText* SetPaveSM(const TString, const Int_t&, const TString);
00145   TPaveText* SetPaveTower(const Int_t&);
00146   TPaveText* SetPaveTowersXY(const Int_t&, const Int_t&);
00147   TPaveText* SetPaveLVRB(const Int_t&, const Int_t&);
00148   Color_t    SetColorsForNumbers(const TString);
00149 
00150   TPaveText* SetPaveDee(const TString, const Int_t&, const TString);
00151   TPaveText* SetPaveSC(const Int_t&, const Int_t&);
00152   TPaveText* SetPaveSCsXY(const Int_t&, const Int_t&);
00153   TPaveText* SetPaveCxyz(const Int_t&);
00154 
00155   TPaveText* SetPaveStex(const TString, const Int_t&);
00156   TPaveText* SetPaveStin(const Int_t&, const Int_t&);
00157   TPaveText* SetPaveStinsXY(const Int_t&, const Int_t&);
00158   TPaveText* SetPaveCrystal(const Int_t&, const Int_t&, const Int_t&);
00159   TPaveText* SetPaveCrystal(const Int_t&, const Int_t&, const Int_t&, const Int_t&, const Int_t&);
00160   TPaveText* SetPaveCrystalSample(const Int_t&, const Int_t&, const Int_t&, const Int_t&);
00161 
00162   TString  GetHistoType(const TString);
00163   TString  GetXVarHisto(const TString, const TString, const Int_t&);
00164   TString  GetYVarHisto(const TString, const TString, const Int_t&);
00165   TString  GetQuantityName(const TString);
00166 
00167   Double_t GetYminDefaultValue(const TString);
00168   Double_t GetYmaxDefaultValue(const TString);
00169 
00170   Int_t MaxNbOfRunsInLists();
00171 
00172   //...............................................................
00173   TString BuildStandardDetectorCode(const TString);
00174   TString BuildStandardPlotOption(const TString, const TString);
00175   TString BuildStandard1DHistoCodeX(const TString, const TString);
00176   TString BuildStandard1DHistoCodeY(const TString, const TString);
00177   TString BuildStandard1DHistoCodeXY(const TString);
00178   TString BuildStandardCovOrCorCode(const TString, const TString);
00179   TString BuildStandardBetweenWhatCode(const TString, const TString);
00180 
00181   void    ListOfStandardCodes(const TString);
00182 
00183   TString GetTechHistoCode(const TString);
00184   TString GetTechHistoCode(const TString, const TString);
00185 
00186   TString GetCodeOnlyOnePlot();
00187   TString GetCodeSeveralPlot();
00188   TString GetCodeSameOnePlot();
00189   TString GetCodeAllXtalsInStinPlot();
00190   Int_t   GetCodePlotAllXtalsInStin();
00191 
00192 ClassDef(TEcnaParHistos,1)// Parameter management for CNA (Correlated Noises Analysis)
00193 
00194 };
00195 
00196 #endif   //    ZTR_TEcnaParameter