//------------------------------------------------------------------- // File and Version Information: // $Id: TSvtAnaModule.hh,v 1.2 2003/04/26 05:23:20 murat Exp $ // // SVTD bank analysis module. Read the stntuples and fill histograms // One can use in interactive root session. // // Author List // Subir Sarkar //------------------------------------------------------------------- #if !defined (__CINT__) || defined (__MAKECINT__) #include "TH1.h" #include "TH2.h" #include "TProfile.h" #include #include #include #endif class TSvtAnaModule: public TStnModule { public: struct Hist_t { TH2F *fd0phi0H; // scatter plot d0 vs phi0 TH2F *fchi2phi0H; // scatter plot chi2 vs phi0 TH2F *fd0chi2H; // Scatter plot d0 vs chi2 TH2F *fd0zinH; // Scatter plot d0 vs zin TH2F *fd0zoutH; // Scatter plot d0 vs zout TH1F *fntrackH; // number of tracks / event TH1F *fwedgeH; // occupancy per wedge TH1F *froadH; // Road ID. TH1F *fzinH; // barrel occupancy TH1F *fzoutH; // barrel occupancy TH1F *fd0H; // distr. of impact parameters TH1F *fphi0H; // phi TH1F *fptH; // Pt TH1F *fcurvH; // Curvature TH1F *fchi2H; // distribution of chi2 TH1F *fxftH; // xft track number TH1F *fFitQH; // fit quality from TF status word TH1F *fTFerrH; // Error bits in TF status word TH1F *fhitH[5]; // Hit positions TH1F *fwhitH[5]; // Hit positions with respect to wedge border! TH1F *fEEerrH; // Error bits in End Event Word // XFT Stuff TH1F *fntXftH; // # of tracks TH1F *fphibinH; // Phi bin TH1F *fminiwedgeH; // Mini Wedge TH1F *fminiphiH; // Mini phi TH1F *fwedgeXftH; // Wedge number TH1F *fptbinH; // Pt bin TH1F *fisoH; // isolation flag TH1F *fshtrkH; // Short tracl flag TH1F *fphiradH; // Phi in radian TH1F *fcurvXftH; // Curvature TH1F *fptXftH; // transverse momentum }; protected: // pointers to the data blocks used TSvtDataBlock *fSvtData; TStnTriggerBlock *fTriggerBlock; // histograms filled Hist_t fHist; public: TSvtAnaModule(const char* name="SvtAna", const char* title="SvtAna"); ~TSvtAnaModule(); // ****** accessors Hist_t *GetHist() { return &fHist; } TSvtDataBlock *GetSvtDataBlock() { return fSvtData; } TStnTriggerBlock *GetTriggerBlock() { return fTriggerBlock; } // ****** setters // ****** overloaded methods of // TStnModule int BeginJob(); int BeginRun(); int Event(int ientry); int EndJob(); // ****** other methods void BookHistograms(); void DisplayEvent(); ClassDef(TSvtAnaModule,0) };