// -*- mode: c++ -*- // // $Id: BrBbTdcGainCalModule.h,v 1.3 2001/10/15 00:35:08 ouerdane Exp $ // $Author: ouerdane $ // $Date: 2001/10/15 00:35:08 $ // $Copyright: (C) 2001 BRAHMS Collaboration // #ifndef BRAT_BrBbTdcGainCalModule #define BRAT_BrBbTdcGainCalModule #ifndef BRAT_BrModule #include "BrBbCalModule.h" #endif #ifndef BRAT_BrEventNode #include "BrEventNode.h" #endif #ifndef ROOT_TList #include "TList.h" #endif #ifndef ROOT_TH1 #include "TH1.h" #endif #ifndef ROOT_TF1 #include "TF1.h" #endif class BrBbTdcGainCalModule : public BrBbCalModule { private: Float_t fMinGain; // reasonable lower limit Float_t fMaxGain; // reasonable upper limit Float_t fTimeStep; // time step of pulser TH1F** fTdc; TH1F** fTdcGain; TH1F* fSum; virtual void SaveAscii(); virtual void ReadAscii(); void FindMax(TH1F* h, TH1F* p); public: BrBbTdcGainCalModule(); BrBbTdcGainCalModule(const Char_t* name, const Char_t* title); virtual ~BrBbTdcGainCalModule () {} 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 SetTimeStep(Float_t step = 10) { fTimeStep = step;} void SetMinGain(Float_t min = 0.023) { fMinGain = min;} void SetMaxGain(Float_t max = 0.027) { fMaxGain = max;} ClassDef(BrBbTdcGainCalModule,0) // TDC gain calibration module }; #endif //____________________________________________________________________ // // $Log: BrBbTdcGainCalModule.h,v $ // Revision 1.3 2001/10/15 00:35:08 ouerdane // Updated all Beam-Beam counter calibration modules (like I did for the TOF // some weeks ago): // // Common changes: // added methods Set[Save,Commit,Load]Ascii(Bool_t) // removed methods Set[ReadFrom,LoadFrom,SaveTo]File // // BrBbGainCalModule: // cleaned up a lot the code, added diagnostic histograms showing calibrated // ADC after the 1st MIP peak was found. // Still at a stage where the 1st MIP peak is the only one to be checked. // Later on, will add algorithm to find other peaks. // // Added BrBbSlewingCalModule in Makefile.am, etc // The fit function introduced is dT = a + b/sqrt(dE) + c/dE (where dE = ADC/Gain0) // // Revision 1.2 2001/07/31 09:19:05 ouerdane // Forgot to insert a break statement in a while loop // // Revision 1.1 2001/07/23 11:40:19 ouerdane // Added calibration modules for Beam-Beam counters // BrBbCalModule: base class // BrBbPedCalModule: pedestals // BrBbTdcGaincalModule tdc gains // // Updated Makefile.am, LinkDef.h, Include.h //