BRAT 2.4.5
Class index
Full class index
brahmlib
BRAHMS
ROOT page

BrFfsTofMatchingModule


class description - source file - inheritance tree

class BrFfsTofMatchingModule : public BrModule

    private:
void CheckEfficiency(BrDataTable* trks, BrDataTable* hits) void CheckTofCal() void InitGeo() void InitParams() Bool_t IsValid(Double_t x) Int_t MatchTof(BrFfsTofMatchingModule::ETofId, BrDataTable*, BrDataTable*, Int_t*, BrTofDig**, Int_t* id = 0) Int_t SelectHits(BrFfsTofMatchingModule::ETofId, BrDataTable*, BrTofDig**) Bool_t SetMagnetFields() BrVector3D SwimToH2(BrDetectorTrack* trk, Double_t p) public:
BrFfsTofMatchingModule BrFfsTofMatchingModule() BrFfsTofMatchingModule BrFfsTofMatchingModule(const Char_t* name, const Char_t* title) BrFfsTofMatchingModule BrFfsTofMatchingModule(BrFfsTofMatchingModule&) virtual void ~BrFfsTofMatchingModule() virtual void Begin() static TClass* Class() virtual void DefineHistograms() virtual void Event(BrEventNode* inNode, BrEventNode* outNode) virtual void Init() virtual TClass* IsA() const virtual void Print(Option_t* option = "B") const void SetD3PScale(Double_t s = 0.95) void SetD4PScale(Double_t s = 0.9) void SetDefaultParameters() void SetMaxAdc(Double_t max = 100000) void SetMaxH1DX(Float_t dx = 0.5) void SetMaxH2DX(Float_t dx = 0.5) void SetNoPedWidth(Int_t n = 50) void SetNtuple(Bool_t b = kFALSE) void SetT2H1XOffset(Float_t x = 0) void SetT2H2XOffset(Float_t x = 0) void SetTdcRange(Double_t min = 10, Double_t max = 4000) void SetUseH2(Bool_t b = kFALSE) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members

    private:
Float_t fMaxDX[2] Float_t fXOffset[2] BrTofCalibration* fCalib[2] calibration parameter elements BrDetectorVolume* fT2Vol tracking chamber volumes BrDetectorVolume* fTofVol[2] tof volumes BrDetectorParamsTof* fTofPar[2] detector parameters BrMagnetVolume* fD3Vol magnet volumes BrMagnetVolume* fD4Vol magnet volumes Double_t fNoPedWidth for matching between hit and tracks only Double_t fMaxAdc for hit selection Double_t fMaxTdc idem Double_t fMinTdc idem Double_t fD3PScale scale factor for FFS momentum in D3 Double_t fD4PScale scale factor for FFS momentum in D4 Bool_t fNtuple Bool_t* fValidSlat[2] Bool_t fUseH2 if ffs and bfs are aligned TNtuple* fNtMatch[2] TH1F* fDxAll[2] TH1F* fDxMatch[2] TH2F* f2dXAll[2] TH2F* f2dXMatch[2] TH1F* fMatchStat[2] TH1F** fTopEff TH1F** fBotEff TH1F* fTrkEff TH1F* fSlatCheck TDirectory* fHistDir[2] public:
static const BrFfsTofMatchingModule::ETofId kH1 static const BrFfsTofMatchingModule::ETofId kH2

Class Description

 Class BrFfsTofMatchingModule

 Module scanning the global track table and picking up those
 matching valid tof hits.
 Selected tracks saved into a table of BrTofTrackMatch named
 "FFS Matching"

 Algorithm (Event method):
 -------------------------

 1- pick up tables of H1 hits and FFS tracks
    if one of them missing, return

 2- Call method MatchTof(...)
    a- Select tof hits by checking the TDCs and ADCs of both tubes

    b- loop over tracks and sub-loop over hits
          i - evaluate the dX between track projection and hit position
         ii - minimize this distance and store the "winner" hit
              slat number in an array that has the dimension of
              the track table. It might be that the minimal dX is
              beyond the matching criterium, then, the hit id is -1

    c- check "multiple hits" when more than 1 track share the same
       hit. In that case, ignore these tracks (it doesn't remove
       completely multiple hits since there might be one track
       only pointing to such hits - the other tracks having not
       been reconstructed)

    d- loop over remaining matchings and store result into table
       of BrTofTrackMatch object (cf class implementation file)

 3- If FFS and BFS are aligned and if there are some matchings in
    H1 (a bit strict but ...), try the same game with H2 hits by
    swimming tracks through D3 and D4 and projecting on H2

____________________________________________________________________

 $Id: BrFfsTofMatchingModule.cxx,v 1.7 2002/04/16 11:48:17 ekman Exp $
 $Author: ekman $
 $Date: 2002/04/16 11:48:17 $
 $Copyright: (C) 2001 BRAHMS Collaboration <brahmlib@rhic.bnl.gov>


BrFfsTofMatchingModule() : BrModule()
 Default constructor. DO NOT USE

BrFfsTofMatchingModule(const Char_t* name, const Char_t* title) : BrModule(name, title)

void SetDefaultParameters()
 Set default parameters

void DefineHistograms()
 Define histograms. They are:
 <fill in here>

void Init()
 Job-level initialisation

void InitParams()

void InitGeo()
 private

void CheckTofCal()

void Begin()
 Run-level initialisation

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

void CheckEfficiency(BrDataTable* trks, BrDataTable* hits)
 private

Int_t MatchTof(ETofId id, BrDataTable* hitTab, BrDataTable* trkTab, Int_t* matchId, BrTofDig** hits, Int_t* h1Id)

Bool_t SetMagnetFields()
 private

Int_t SelectHits(ETofId id, BrDataTable* hits, BrTofDig** sel)

BrVector3D SwimToH2(BrDetectorTrack* trk, Double_t p)
 private

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


                        Bool_t IsValid(Double_t x)
                          void SetTdcRange(Double_t min = 10, Double_t max = 4000)
                          void SetUseH2(Bool_t b = kFALSE)
                          void SetNoPedWidth(Int_t n = 50)
                          void SetNtuple(Bool_t b = kFALSE)
                          void SetMaxAdc(Double_t max = 100000)
                          void SetD3PScale(Double_t s = 0.95)
                          void SetD4PScale(Double_t s = 0.9)
                          void SetMaxH1DX(Float_t dx = 0.5)
                          void SetMaxH2DX(Float_t dx = 0.5)
                          void SetT2H1XOffset(Float_t x = 0)
                          void SetT2H2XOffset(Float_t x = 0)
                       TClass* Class()
                       TClass* IsA() const
                          void ShowMembers(TMemberInspector& insp, char* parent)
                          void Streamer(TBuffer& b)
                          void StreamerNVirtual(TBuffer& b)
        BrFfsTofMatchingModule BrFfsTofMatchingModule(BrFfsTofMatchingModule&)
                          void ~BrFfsTofMatchingModule()

This page automatically generated by script docBrat by Christian Holm

Copyright ; 2002 BRAHMS Collaboration <brahmlib@rcf.rhic.bnl.gov>
Last Update on 2002/04/16 11:48:17 $ by ekman $

Validate HTML
Validate CSS