#if !defined (__CINT__) || defined (__MAKECINT__) #include "TH1.h" #include "TH2.h" #include "TProfile.h" #include #include #include #include #include #endif struct ClcHistograms_t { TH1F* fNAdcHits; TH1F* fNTdcHits; TH1F* fNTdcHits1; TH1F* fNTdcHitsCh; TH1F* fAdc [96]; TH1F* fAdc1[96]; TH1F* fTdc0[96]; TH1F* fTdc [96]; TH1F* fTime[96]; TH1F* fTdc2[96]; TH1F* fTdc3[96]; TH1F* fWid [96]; TH1F* fDeltaTdc [96]; TH1F* fDeltaTime[96]; TH1F* fDeltaT2 [96]; TH1F* fDeltaT3 [96]; TH2F* fDt3VsAdc [96]; // number of TDC hits per module/layer TH1F* fNHitsModule[2]; TH1F* fNHitChModule[2]; TH1F* fNHitsLayer[2][3]; TH1F* fNHitChLayer[2][3]; TH1F* fLayerDeltaT [3]; TH1F* fLayerDeltaTw[3]; TH1F* fLayerZ [3]; TH1F* fLayerZw [3]; TH1F* fLayerTime [2][3]; TH1F* fLayerTimew[2][3]; TH1F* fModuleTime[2]; TH1F* fModuleTimew[2]; TH1F* fModuleDeltaT; TH1F* fModuleDeltaTw; TH1F* fModuleZ; TH1F* fModuleZw; TH1F* fDeltaZ; TH1F* fDeltaZw; TH1F* fDeltaZ5; TH1F* fDeltaZ5w; TH2F* fZClcVsZCot; TH2F* fZwClcVsZCot; TH2F* fNHitsM01; TH2F* fNHitChM01; TH2F* fMyronVsTdc; TH2F* fTdc35VsTdc82; TH2F* fMyronVsTdc35; TH2F* fMyronVsAdcCounts; TH1F* fFitT0; TH1F* fFitSigma; TH1F* fFitChi2; TH1F* fFitDeltaTime; TH1F* fFitDeltaTdc2; }; class TClcAnaModule: public TStnModule { protected: // Int_t fDebugLevel; Int_t fAdcThreshold; Int_t fClcCalibVer; // pointers to the data blocks used TStnTriggerBlock* fTriggerBlock; // ! TClcDataBlock* fClcBlock; // ! TStnVertexBlock* fVertexBlock; // ! // histograms filled ClcHistograms_t fHist; Int_t fMyronFlag; //----------------------------------------------------------------------------- // //----------------------------------------------------------------------------- public: TClcAnaModule(const char* name="ClcAna", const char* title="ClcAna"); ~TClcAnaModule(); // ****** accessors Int_t GetClcCalibVer() { return fClcCalibVer; } ClcHistograms_t* GetHist () { return &fHist; } TClcDataBlock* GetClcBlock () { return fClcBlock; } // ****** setters void SetClcCalibVer(int v) { fClcCalibVer = v; } // ****** overloaded methods of // TStnModule int BeginJob(); int BeginRun(); int Event (int ientry); int EndJob (); // ****** other methods void BookHistograms(); void FitT0(); void PrintT0FitResults(); ClassDef(TClcAnaModule,1) };