// -*- mode: c++ -*- // // $Id: BrBbDeltaTdcCalModule.h,v 1.3 2002/03/20 19:30:52 videbaek Exp $ // $Author: videbaek $ // $Date: 2002/03/20 19:30:52 $ // $Copyright: (C) 2001 BRAHMS Collaboration // #ifndef BRAT_BrBbDeltaTdcCalModule #define BRAT_BrBbDeltaTdcCalModule #ifndef BRAT_BrBbModule #include "BrBbCalModule.h" #endif #ifndef ROOT_TString #include "TString.h" #endif class BrEventNode; class BrDataTable; class BrBbDig; class TH1F; class TH2F; class TNtuple; class BrBbDeltaTdcCalModule : public BrBbCalModule { private: Float_t fMinTdc; // reasonable lower limit Float_t fMaxTdc; // reasonable upper limit Float_t fEnergyThreshold; Float_t fAdcSel; // factor for adc ref selection Float_t fFitWindow; // fit at max +/- fFitWindow TH1F** fDtime; TH1F* fSumDt; TH2F* fhDeltaTime; TNtuple* fDeltaTdc; Bool_t fNtuple; Bool_t fUseSlewing; virtual void SaveAscii(); virtual void ReadAscii(); BrBbDig* FindReference(BrDataTable* tab); void Process(BrDataTable* hits, BrBbDig* ref); public: BrBbDeltaTdcCalModule(); BrBbDeltaTdcCalModule(const Char_t* name, const Char_t* title); virtual ~BrBbDeltaTdcCalModule () {} void SetDefaultParameters(); virtual void DefineHistograms(); virtual void Init(); virtual void Begin(); virtual void Event(BrEventNode* inNode, BrEventNode* outNode); virtual void End(); virtual void Finish(); virtual void Print(Option_t* option="B") const; // *MENU* void SetMinTdc(Float_t min = 10) { fMinTdc = min;} void SetMaxTdc(Float_t max = 3500) { fMaxTdc = max;} void SetEnergyThreshold(Float_t t = 0.8) { fEnergyThreshold = t;} void SetFitWindow(Float_t f = 5) { fFitWindow = f; } void SetAdcSel(Float_t s = 0.1) { fAdcSel = s;} void SetNtuple(Bool_t b = kFALSE) { fNtuple = b; } void SetUseSlewing(Bool_t b = kFALSE) { fUseSlewing = b; } ClassDef(BrBbDeltaTdcCalModule,0) // DeltaTdc correction module }; #endif //____________________________________________________________________ // // $Log: BrBbDeltaTdcCalModule.h,v $ // Revision 1.3 2002/03/20 19:30:52 videbaek // Add the INL and INR counters to be dealt with for calibration and timing // In the 2002 pp run there were not really of BB kind since they only have // td information, but it is most convinientn to deal with them as BB calibration // data. // // Revision 1.2 2001/11/05 06:56:32 ouerdane // added the possibility to use the slewing correction in the delta tdc calculation // // Revision 1.1 2001/10/16 02:08:49 ouerdane // Added the delta tdc calibration. Needed for slewing correction // since we want to select within 2 sigma dt (remove outlier hits // that distort the slewing profile). //