// -*- mode: c++ -*- // // $Id: BrBbVertexCalModule.h,v 1.1 2001/11/02 10:58:47 ouerdane Exp $ #ifndef BRAT_BrBbVertexCalModule #define BRAT_BrBbVertexCalModule #ifndef BRAT_BrVertexCalModule #include "BrVertexCalModule.h" #endif #ifndef BRAT_BrBbVertexModule #include "BrBbVertexModule.h" #endif #ifndef BRAT_BrBbCalHitsModule #include "BrBbCalHitsModule.h" #endif #ifndef BRAT_BrEventNode #include "BrEventNode.h" #endif #ifndef BRAT_BrVertexCalibration #include "BrVertexCalibration.h" #endif #ifndef ROOT_TString #include "TString.h" #endif #ifndef BRAT_BrDetectorVolume #include "BrBrDetectorVolume.h" #endif #ifndef BRAT_BrDataTable #include "BrDataTable.h" #endif #ifndef BRAT_BrBbVertex #include "BrBbVertex.h" #endif class BrBbVertexCalModule : public BrVertexCalModule { private: virtual void SaveAscii(); virtual void ReadAscii(); public: BrBbVertexCalModule(); BrBbVertexCalModule(const Char_t* name, const Char_t* title); virtual ~BrBbVertexCalModule(); BrBbVertexModule* GetVertexModule() { return fVertexModule; } BrBbCalHitsModule* GetCalHitsModule() { return fHitModule; } void SetDefaultParameters(); void SetBigFitWindow(Float_t w = 5) { fFitWindow[0] = w; } void SetSmallFitWindow(Float_t w = 1.4) { fFitWindow[1] = w; } void SetFastFitWindow(Float_t w = 5) { fFitWindow[2] = w; } 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* private: BrDetectorVolume* fTpm1Volume; BrBbVertexModule* fVertexModule; BrBbCalHitsModule* fHitModule; Float_t fFitWindow[3]; TH1F** fBbVsTpc; // 1d histos: 0 big, 1 small, 2 fastest tubes TH2F** fBbVsTpc2d; // same in 2d TH1F* fVtxOffset; // offset summary TH1F* fVtxSigma; // sigma summary void Process(BrBbVertex*, BrDataTable*); public: ClassDef(BrBbVertexCalModule, 0) // Beam-Beam counters pedestal module }; #endif //____________________________________________________________________ // // $Log: BrBbVertexCalModule.h,v $ // Revision 1.1 2001/11/02 10:58:47 ouerdane // Added new classes for automatic vertex offset finding. // The result is stored in BrVertexCalibration which corresponds // to a new entry in the SQL database called VERTEX (type BEAM) // (cf. data/calib/BrVertexCalibration for more details) // // The modules are: BrVertexCalModule (base class) // BrBbVertexCalModule for beam-beam counters // will come next: BrTpcVertexCalModule // BrZdcVertexCalModule // // The bb module uses internally the new cal hit and vertex modules with all offsets // set to 0. (of course). It only needs TPM1 tracks and a valid BB calibration // made with the wonderful BB calibration modules and stored into the SQL db :) // // Usage: once you've made a calibration and stored to the rcas0005 DB, use // the script scripts/calib/bb/BbVtxOffset.C to evaluate the BB vertices offsets // with TPM1. // The result will be stored into an ascii file that you can commit afterwards // (check first your histos !) // // The vertex module then will read these offsets so that you won't need to think about it! // //