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
00025
00026
00027
00028
00029
00030
00031
00032 class TEcnaParHistos : public TObject {
00033
00034 private:
00035
00036
00037
00038
00039
00040 Int_t fgMaxCar;
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
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
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
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)
00153
00154 };
00155
00156 #endif // ZTR_TEcnaParameter