// -*- mode: c++ -*- // // $Id: BrTpcTimeCalModule.h,v 1.2 2001/11/02 13:38:54 pchristi Exp $ // $Author: pchristi $ // $Date: 2001/11/02 13:38:54 $ // $Copyright: (C) 2001 BRAHMS Collaboration // #ifndef BRAT_BrTpcTimeCalModule #define BRAT_BrTpcTimeCalModule #ifndef BRAT_BrTpcCalModule #include "BrTpcCalModule.h" #endif #ifndef BRAT_BrEventNode #include "BrEventNode.h" #endif #ifndef BRAT_BrDataTable #include "BrDataTable.h" #endif #ifndef BRAT_TTree #include "TTree.h" #endif #ifndef ROOT_TH1 #include "TH1.h" #endif #ifndef ROOT_TH2 #include "TH2.h" #endif #ifndef BRAT_BrTpcTrackCandidate #include "BrTpcTrackCandidate.h" #endif class BrTpcTimeCalModule : public BrTpcCalModule { private: typedef struct { Float_t x,y; Float_t dx,dy; Float_t chi2; Int_t row,hits,status; } EVENTINFO; EVENTINFO fEventInfo; TTree* fTree; TObjArray* fHitContainer; Int_t kMaxRows; TArrayI* fFitList; Int_t fMinFitHits; Float_t fChi2Cut; Float_t fDxCut; // histograms TH1F* hChi2; TH1F* hChi2Acc; TH2F** hRowTime; protected: virtual void AddTpcHit(BrTpcTrackCandidate* track, BrTpcHit* hit); virtual void FillHistograms(BrTpcTrackCandidate* track); virtual void FindRanges(TH1D *hist, Double_t *range); virtual Bool_t IsFitHit(BrTpcHit* hit); virtual BrTpcTrackCandidate* MakeNewTpcTrack(BrTpcTrackCandidate *track); virtual TProfile* ProjectUsingGaus(TH2F *hist, Int_t nBins); virtual void ReadAscii(); virtual void RemoveLowError(TProfile* hist); virtual void SaveAscii(); virtual void ZeroDetectorParameters(); public: BrTpcTimeCalModule(); BrTpcTimeCalModule(const Char_t* name, const Char_t* title); virtual ~BrTpcTimeCalModule () {} void AddFitRow(Int_t row, Int_t index) {fFitList->AddAt(row, index);} virtual void DefineHistograms(); virtual void Init(); virtual void Begin(); virtual void Event(BrEventNode* inNode, BrEventNode* outNode); virtual void Finish(); virtual void Print(Option_t* option="B") const; // *MENU* void SetMinFitHits(Int_t value = 4) {fMinFitHits = value;} void SetChi2Cut(Float_t value = 50) {fChi2Cut = value;} void SetDxCut(Float_t value = 0.2) {fDxCut = value;} ClassDef(BrTpcTimeCalModule,0) // Tof ADC gain cal module }; #endif //____________________________________________________________________ // // $Log: BrTpcTimeCalModule.h,v $ // Revision 1.2 2001/11/02 13:38:54 pchristi // Added new module for calibrating drift velocities using the fibres behind // T2 and in front of T1. // Updated old modules with small changes. // // Revision 1.1 2001/10/12 11:08:51 pchristi // Added new directory tpc. Added the first calibration modules. They // have all been tested and found to work. The algorithms might not be // optimal, but are at least fully automatic and to some extent // documented. CVS: // ---------------------------------------------------------------------- // BrTpcCalModule.cxx BrTpcCalModule.h CVS: BrTpcHitWidthCalModule.cxx // BrTpcHitWidthCalModule.h CVS: BrTpcPadStatusCalModule.cxx // BrTpcPadStatusCalModule.h CVS: BrTpcTimeCalModule.cxx // BrTpcTimeCalModule.h Include.h CVS: LinkDef.h Makefile.am CVS: // ---------------------------------------------------------------------- // // Revision 1.3 2001/10/10 15:49:55 pchristi // Many updates and a new module // // Revision 1.2 2001/10/08 10:30:29 pchristi // Classes compiles now // // Revision 1.1 2001/10/08 08:08:22 pchristi // Initial revision. // // Revision 1.3 2001/10/02 01:53:28 ouerdane // Added SetSaveAscii, SetLoadAscii, SetCommitAscii and updated the way parameters are tagged for Use // // Revision 1.2 2001/07/31 09:22:27 ouerdane // Removed all references to a TList member, replaced // by histogram members, declare ntuple if fNtuple is true (set // via SetNtuple) // // Revision 1.1 2001/06/29 13:52:43 cholm // Imported TOF classes from Djamel // //