BRAT 2.4.5
Class index
Full class index
brahmlib
BRAHMS
ROOT page

BrTofSlewingCalModule


class description - source file - inheritance tree

class BrTofSlewingCalModule : public BrTofCalModule

    private:
static void fcn2(Int_t& npar, Double_t* gin, Double_t& f, Double_t* par, Int_t iflag) virtual void fcnout(Double_t* par, Double_t& mean, Double_t& meanwt, Double_t& chisq, Double_t& chisqpdf) virtual void FillCorrectedHistograms(Int_t slat, Double_t* par) virtual void FitCurrentSlat(Int_t slat, Double_t* dfit, Double_t* dfitError) Double_t func2(Int_t i, Double_t* par) virtual void ReadAscii() virtual void SaveAscii() public:
BrTofSlewingCalModule BrTofSlewingCalModule() BrTofSlewingCalModule BrTofSlewingCalModule(const Char_t* name, const Char_t* title) BrTofSlewingCalModule BrTofSlewingCalModule(BrTofSlewingCalModule&) virtual void ~BrTofSlewingCalModule() virtual void Begin() Double_t ChiSquare(Double_t* par) static TClass* Class() virtual void DefineHistograms() virtual void Event(BrEventNode* inNode, BrEventNode* outNode) virtual void Finish() virtual void Init() static BrTofSlewingCalModule* Instance() virtual TClass* IsA() const virtual void Print(Option_t* option = "B") const void SetC1Threshold(Float_t t = 1.) void SetDefaultParameters() void SetMaxEnergy(Float_t e = 2.) void SetMaxTofDE(Float_t e = 2.) void SetMomentumCut(Float_t f = 2.0) void SetRichMassCut(Float_t cut = 0.05) void SetRichPionMass(Float_t pi = 0.1395679) void SetTimeCut(Float_t f = 0.6) void SetTimeResolution(Float_t val = 0.08) void SetTrkCuts(Float_t dx = 100000, Float_t dy = 100000, Float_t dz = 100000) void SetTrkOffsets(Float_t x = 0, Float_t y = 0, Float_t z = 0) void SetUseBbVertex(Bool_t b = kTRUE) void SetUseChkv(Bool_t b = kTRUE) void SetUseMinuit(Bool_t b = kFALSE) void SetUseTd1Time(Bool_t b = kFALSE) void SetUseTMrsTime(Bool_t b = kFALSE) void SetVaryDt(Bool_t b = kFALSE) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members

    private:
static BrTofSlewingCalModule* fgInstance Float_t fMaxTofDE energy loss in hodoscope Float_t fMaxWidth cut outliers in time Float_t fC1Threshold for Pion selection Float_t fRichPionMass Rich mean pion mass Float_t fRichMassCut cut on pion mass peak (in GeV/c^2) Double_t fTimeResolution Estimated timeresoultion Double_t fNominalLength Float_t fMomentumCut upper momentum cur for slewing calc. Bool_t fVaryDt control of parameters in Minuit Double_t fTimeCut Cut of est vs cal time before using in fitting Float_t fTrkOffset[3] Similar cuts to timing offset calculations. Float_t fTrkCut[3] Bool_t fFitMode TObjArray* fSlewHitsTable TObjArray* fCurrentHitTable Int_t fCurrentSlat TProfile** fTSlew TProfile** fBSlew TH2F** fBOff TH2F** fTOff TH2F** fBOffCorr TH2F** fTOffCorr TH2F* fTDiffCorr TH1F* fTSlew1 TH1F* fBSlew1 TH1F* fTSlew2 TH1F* fBSlew2 TH2F* fTDiff Bool_t fUseBbVertex Normal HI running requirement Bool_t fUseTd1Time Calibration for pp running Bool_t fUseTMrsTime Calibration for pp running Bool_t fUseChkv require Cherenkov Cuts Bool_t fUseMinuit Flag for new method to get slewing constants TVirtualFitter* fMinuit

Class Description

 BrTofSlewingCalModule: module for Tof slewing correction

 - Select tofhits and tracks that are are useful for determining
   slewing. This may involve some of the following cuts

   a) Select hits matcing tracks (X and Y)
   b) Cut in energy (from 0.9 to 2 MIP energy)
   c) Make sure we select only pions (given by C1 or Rich information)

 - Make the selection of C1, RICH an option (see below)
 - Added option to use the timing relative to the TD1 start counter for
   pp running. Due to the way the slew1 (timing offset ) is defined the
   difference between AA running and pp running is ~6 nsec being the flight
   time between the nominal IP and the TD1 counters.
 - Module as well as meaning of constants complete re-written following
   the methods developed for TOFW by JH and Dana. See brief description in Event()




BrTofSlewingCalModule() : BrTofCalModule()
 Default constructor. DO NOT USE

BrTofSlewingCalModule(const Char_t* name, const Char_t* title) : BrTofCalModule(name, title)
 Named Constructor

~BrTofSlewingCalModule ()

void SetDefaultParameters()
 Set default params for slewing correction

void DefineHistograms()
 Define histograms. They are:
 <fill in here>
 The slewing histograms are for the 'old' methods done in ADC(cal) vs time
 and for the (new) minuit fitting done with the ADC(raw) vs time.


void Init()
 Job-level initialisation

void Begin()
 Run-level initialisation

void Event(BrEventNode* inNode, BrEventNode* outNode)
 Per event method

void Finish()
-----------------------------------------------------------
 project 2d histos to profiles
 fit with  a + b / dE (older analyses showed that
 this function gave the smallest errors on the parameters)
-----------------------------------------------------------

void FillCorrectedHistograms(Int_t slat, Double_t* par)
 Take Hit data and apply correction to data and store
 in histograms. Note the


void FitCurrentSlat(Int_t slat, Double_t* dfit, Double_t* dfitError)


void fcn2(Int_t &npar, Double_t *gin, Double_t &f, Double_t *par, Int_t iflag)

Double_t ChiSquare(Double_t *par)
 This function calculates the chisquare for all fit points
 Most of these parameters are needed for Minuit- they are not for specific
 use by the program.


void fcnout(Double_t *par, Double_t &mean, Double_t &meanwt, Double_t &chisq, Double_t &chisqpdf)
 Calculate final mean time, acerave tweight to get the
 Assumes the the currenthitable already point to the correct slat.
 Should be ok this fct is called from FitCurrentSlat.


Double_t func2(Int_t i, Double_t *par)
 Evaluate beta(calc)/beta(measured) - <beta(calc)/beta(measured)>
 for datapoint i.


void SaveAscii()

void ReadAscii()

void Print(Option_t* option) const
 Print module information
 See BrModule::Print for options.
 In addition this module defines the Option:
 <fill in here>



Inline Functions


        BrTofSlewingCalModule* Instance()
                          void SetMaxTofDE(Float_t e = 2.)
                          void SetMaxEnergy(Float_t e = 2.)
                          void SetC1Threshold(Float_t t = 1.)
                          void SetRichPionMass(Float_t pi = 0.1395679)
                          void SetRichMassCut(Float_t cut = 0.05)
                          void SetUseBbVertex(Bool_t b = kTRUE)
                          void SetUseTd1Time(Bool_t b = kFALSE)
                          void SetUseTMrsTime(Bool_t b = kFALSE)
                          void SetUseChkv(Bool_t b = kTRUE)
                          void SetUseMinuit(Bool_t b = kFALSE)
                          void SetVaryDt(Bool_t b = kFALSE)
                          void SetTimeResolution(Float_t val = 0.08)
                          void SetMomentumCut(Float_t f = 2.0)
                          void SetTimeCut(Float_t f = 0.6)
                          void SetTrkCuts(Float_t dx = 100000, Float_t dy = 100000, Float_t dz = 100000)
                          void SetTrkOffsets(Float_t x = 0, Float_t y = 0, Float_t z = 0)
                       TClass* Class()
                       TClass* IsA() const
                          void ShowMembers(TMemberInspector& insp, char* parent)
                          void Streamer(TBuffer& b)
                          void StreamerNVirtual(TBuffer& b)
         BrTofSlewingCalModule BrTofSlewingCalModule(BrTofSlewingCalModule&)

This page automatically generated by script docBrat by Christian Holm

Copyright ; 2002 BRAHMS Collaboration <brahmlib@rcf.rhic.bnl.gov>
Last Update on 2002/08/06 19:04:30 $ by hagel $

Validate HTML
Validate CSS