// -*- mode: c++ -*- #ifndef BRAT_BrTofRdoModule #define BRAT_BrTofRdoModule // $Id: BrTofRdoModule.h,v 1.11 2002/04/09 02:05:27 ouerdane Exp $ // $Author: ouerdane $ // $Date: 2002/04/09 02:05:27 $ // // Tof reconstruction Module // /////////////////////////////////////////////////////////////////////// // // // BrTofRdoModule // // // // BRAHMS Tof analysis class // // // // Take digit data and give rdo object (TofHit) for PID // // // // Author : D. Ouerdane // // Created : April 2001 // // Version : 1.0 // // // /////////////////////////////////////////////////////////////////////// #ifndef ROOT_TNtuple #include "TNtuple.h" #endif #ifndef ROOT_TH1 #include "TH1.h" #endif #ifndef ROOT_TProfile #include "TProfile.h" #endif #ifndef ROOT_TH2 #include "TH2.h" #endif #ifndef ROOT_TString #include "TString.h" #endif #ifndef BRAT_BrModule #include "BrModule.h" #endif #ifndef BRAT_BrEventNode #include #endif #ifndef BRAT_BrTofCalibration #include #endif #ifndef BRAT_BrDetectorVolume #include #endif #ifndef BRAT_BrMagnetVolume #include "BrMagnetVolume.h" #endif #ifndef BRAT_BrDetectorParamsTof #include "BrDetectorParamsTof.h" #endif #ifndef BRAT_BrSpectrometerTracks #include "BrSpectrometerTracks.h" #endif class BrTofRdoModule : public BrModule { private: Int_t GetPanelId(Int_t); // needed stuff BrDetectorParamsTof** fPanelPar; BrDetectorParamsTof* fTofParams; BrTofCalibration* fCalibration; Double_t fEnergyThreshold; // cut on energy for hit selection Double_t fMaxEnergy; // cut on energy for hit selection Double_t fMaxTdc; // idem with tdc Double_t fDist; // for tof at fixed distance Bool_t fNtuple; Bool_t fInFfs; Bool_t fInBfs; Bool_t fInMrs; Bool_t fFsLined; Bool_t fUseNewBb; Bool_t fUseSlewing; Bool_t fUseBbVertex; TString fVtxName; // histograms TNtuple* fTofTree; TH1F* fHits; TH1F* fSelHits; TH1F* fTof; TH1F** fSTof; TH2F* fSumTof; TH1F* fHitY; TH1F* fHitX; TH1F* fELoss; TH1F** fSELoss; TH2F** fSlew; TH2F* fSumELoss; Double_t CheckTof(BrDataTable*, BrDataTable*, Int_t, Double_t); void CheckFsAngles(); public: // constructors and destructors // BrTofRdoModule(); BrTofRdoModule(Char_t *Name, Char_t *Title); virtual ~BrTofRdoModule(); // // Methods // virtual void Init(); virtual void Begin(); virtual void DefineHistograms(); virtual void Event(BrEventNode*, BrEventNode*); void SetDefaultParameters(); void SetNtuple(Bool_t n = kFALSE) { fNtuple = n; } void SetUseSlewing(Bool_t s = kTRUE) { fUseSlewing = s; } void SetUseNewBb(Bool_t b = kTRUE) { fUseNewBb = b; } void SetUseBbVertex(Bool_t b = kTRUE){ fUseBbVertex = b; } void SetEnergyThreshold (Double_t e = 0.7) { fEnergyThreshold = e; } void SetMaxEnergy (Double_t e = 1.3) { fMaxEnergy = e; } void SetMaxTdc (Double_t t = 4000) { fMaxTdc = t; } void Print(Option_t* option="B") const; ClassDef(BrTofRdoModule, 0) // BRAHMS Tof hit recontruction module }; #endif // $Log: BrTofRdoModule.h,v $ // Revision 1.11 2002/04/09 02:05:27 ouerdane // use BrFsTrack instead of BrBfsTrack for H2 rdo check // // Revision 1.10 2002/03/20 19:25:02 videbaek // Upgraded Tof Rdo to save also the raw tof. This is essential for cases where the // BB counters does not specify the start time and vertex e.g. for FF and MRS // during the pp run. // // Revision 1.9 2001/11/07 10:31:27 ouerdane // updated rdo module for H2 recontruction and PID // // Revision 1.8 2001/11/05 07:06:19 ouerdane // changed a lot of things to deal with new track classes and BFS Pid // // Revision 1.7 2001/10/19 15:47:22 ouerdane // Removed detector volume object, use now the parameter class method GetSlatPos() // (correction for the z offsets in H1 and H2 comes naturally with it) // // Revision 1.6 2001/10/08 11:29:31 cholm // Changed to use new DB access classes // // Revision 1.5 2001/10/02 20:19:44 ouerdane // remove member fNoPanels and setter method since it is now part of the // tof detector parameter class. // // Revision 1.4 2001/10/02 01:57:59 ouerdane // Updated according to the new access mode in BrCalibration // // Revision 1.3 2001/07/26 13:06:25 ouerdane // Removed TList private member // Added diagnostic histograms // Added option for the ntuple (SetNtuple(Bool_t)) // // Revision 1.2 2001/06/29 13:52:06 cholm // Imported TOF classes from Djamel // // Revision 1.2 2001/06/21 12:59:54 ouerdane // See implementation files last log // // Revision 1.1 2001/06/19 12:44:56 ouerdane // Added calibration classes and reconstruction classes. // Brat compiles but these classes haven't been tested in this // context. Be careful if you use them before I (DO) check if // all is ok. //