00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00015
00016 #ifndef ALIGNMENTSTRIPHISTOGRAMS_H
00017 #define ALIGNMENTSTRIPHISTOGRAMS_H
00018
00019
00020 #include "SubsetStat.h"
00021
00022
00023 #include "Rtypes.h"
00024
00025 class TH1D;
00026 class TDirectory;
00027 class TProfile;
00028 class AlignmentStrip;
00029
00030 class AlignmentStripHistograms
00031 {
00032
00033 public:
00034
00035 AlignmentStripHistograms(TDirectory *ResidualDir,
00036 TDirectory *ChargeDir,
00037 TDirectory *AttenDir,
00038 TDirectory *OccupancyDir,
00039 TDirectory *RotResDir,
00040 const AlignmentStrip &astrip);
00041
00042 virtual ~AlignmentStripHistograms();
00043
00044 void FillHistograms(const AlignmentStrip& astrip);
00045
00046 TH1D* GetChargeHistogram() const {return fhCharge;};
00047 TH1D* GetChargePathCorrHistogram() const {return fhChargePathCorr;};
00048 TH1D* GetResidualHistogram() const {return fhResidual;};
00049 TH1D* GetOccupancyHistogram() const {return fhOccupancy;};
00050
00051 TProfile* GetAttenHistogram() const {return fpAtten;};
00052 TProfile* GetAttenPigCorrHistogram() const {return fpAttenPigCorr;};
00053 TProfile* GetRotationalHistogram() const {return fpRotationalResidual;};
00054
00055 private:
00056
00057 TH1D* InitChargeHistogram(TDirectory *dir);
00058
00059 TH1D* InitPathCorrChargeHistogram(TDirectory *dir);
00060
00061 TH1D* InitResidualHistogram(TDirectory *dir);
00062
00063 TH1D* InitOccupancyHistogram(TDirectory *dir);
00064
00065 TProfile* InitAttenHistogram(TDirectory *dir);
00066
00067 TProfile* InitRotResidualHistogram(TDirectory *dir);
00068
00069 TProfile* InitPigtailAttenHistogram(TDirectory *dir);
00070
00071 const int fPlane;
00072 const int fStrip;
00073 const UInt_t fPlexSEId;
00074 const double fLength;
00075 const double fPigTail;
00076
00077
00078 TH1D *fhCharge;
00079 TH1D *fhChargePathCorr;
00080 TH1D *fhResidual;
00081 TH1D *fhOccupancy;
00082
00083
00084 TProfile *fpAtten;
00085 TProfile *fpAttenPigCorr;
00086 TProfile *fpRotationalResidual;
00087
00088 const Int_t fNChargeBins;
00089 const Int_t fNResidualBins;
00090
00091 const Double_t fChargeLimit;
00092 const Double_t fResidualLimit;
00093 const Double_t fOccupancyBinWidth;
00094 const Double_t fAttenuationBinWidth;
00095 const Double_t fRotationalResidualBinWidth;
00096 };
00097
00098 #endif //ALIGNMENTSTRIPHISTOGRAMS_H