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
00049
00050
00051
00052 Int_t fgMaxCar;
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
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
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 BuildStandardHistoCode(const TString, const TString);
00176 TString GetTechHistoCode(const TString);
00177 TString GetTechHistoCode(const TString, const TString);
00178
00179 TString GetCodeOnlyOnePlot();
00180 TString GetCodeSeveralPlot();
00181 TString GetCodeSameOnePlot();
00182 TString GetCodeAllXtalsInStinPlot();
00183 Int_t GetCodePlotAllXtalsInStin();
00184
00185 ClassDef(TEcnaParHistos,1)
00186
00187 };
00188
00189 #endif // ZTR_TEcnaParameter