#if !defined (__CINT__) || defined (__MAKECINT__) #include "TH1.h" #include "TH2.h" #include "TProfile.h" #include "TBranch.h" #include #include #include #include #endif class TClcAna2Module: public TStnModule { public: struct Hist_t { TH2F* fWidthVsTime [96]; TH2F* fDtVsT2 [96]; TProfile* fWidthVsTimeProf[96]; TProfile* fT3VsTimeProf [96]; TProfile* fW2VsTimeProf [96]; TH2F* fWidthVsAdc [96]; TProfile* fWidthVsAdcProf [96]; TH2F* fW2VsAdc [96]; TH2F* fDw2VsAdc [96]; TH1F* fDt3 [96]; TH1F* fDt4 [96]; TH1F* fFitT0; TH1F* fFitT1; TH1F* fFitA0; TH1F* fFitB0; TH1F* fFitChi2; TH1F* fFitDeltaT; }; protected: // Int_t fClcCalibVer; // version ov CLC calib const // pointers to the data blocks used TStnTriggerBlock* fTriggerBlock; TClcDataBlock* fClcBlock; // histograms filled Hist_t fHist; Int_t fMyronFlag; public: TClcAna2Module(const char* name="ClcAna2", const char* title="ClcAna2"); ~TClcAna2Module(); // ****** accessors Hist_t* GetHist () { return &fHist; } TClcDataBlock* GetClcBlock () { return fClcBlock; } Int_t GetClcCalibVer() { return fClcCalibVer; } // ****** setters void SetClcCalibVer(int v) { fClcCalibVer = v; } // ****** other methods void BookHistograms(); void DeleteHistograms(); // ****** fitting methods int FitWidthVsAdc(); int FitW2VsAdc(); int FitGauss(const char* opt); static Double_t FitFunction(Double_t* x, Double_t* par); static Double_t Pol2 (Double_t* x, Double_t* par); // ****** overloaded methods of // TStnModule virtual int BeginJob(); virtual int BeginRun(); virtual int Event (int ientry); virtual int EndRun (); virtual int EndJob (); //----------------------------------------------------------------------------- // overloaded methods of TObject //----------------------------------------------------------------------------- void Print(Option_t* opt) const; ClassDef(TClcAna2Module,0) };