BRAT 2.4.5
Class index
Full class index
brahmlib
BRAHMS
ROOT page

BrMrsTrackingModule


class description - source file - inheritance tree

class BrMrsTrackingModule : public BrModule

    private:
void SetMagnetField() protected:
Float_t PartialPath(BrMrsTrack*) void TrackToBbVertex(BrDataTable*, BrBbVertex*) void TrackToVertex(BrDataTable*) public:
BrMrsTrackingModule BrMrsTrackingModule() BrMrsTrackingModule BrMrsTrackingModule(const Char_t*, const Char_t*) BrMrsTrackingModule BrMrsTrackingModule(BrMrsTrackingModule&) virtual void ~BrMrsTrackingModule() virtual void Begin() static TClass* Class() virtual void DefineHistograms() virtual void Event(BrEventNode*, BrEventNode*) virtual void Finish() BrModuleMatchTrack* GetCombineModule() virtual void Init() virtual TClass* IsA() const void SetUseDb(Bool_t usedDb = kTRUE) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members

    private:
BrModuleMatchTrack* fCombineModule Module combining front/back track. BrDetectorVolume* fFrontVolume Pointer to front volume BrDetectorVolume* fBackVolume Pointer to back detector volume BrDetectorVolume** fPanelVol Pointers to tof panel volumes BrDetectorParamsTof** fPanelPar Pointers to tof panel parameters BrDetectorParamsTof* fTofParams Pointers to TOFW parameters BrMagnetVolume* fMagnetVolume Pointer to magnet volume TObjArray* fTracksFrontBack Container of matched tracks TObjArray* fMrsTracks Container of MRS tracks Bool_t fUseDb Indicator for picking Magnetfield from Db TH1F* hTargetTx Target X image histograms in MRS system TH1F* hTargetTy Target Y image histograms in MRS system TH1F* hTargetTz Target Y image histograms in MRS system TH1F* hP Momentum distribution for accepted tracks TH1F* hTheta Theta distribution of matched tracks (radians) TH1F* hPhi Phi distribution TH1F* hPathLength Path length from beam-line to TOFW TH1F* hPartialPath Path length from TPM1 to TOFW TH1F* hSlatPos Position of projected tracks in slat no. TH1F* hTrkBbDist distance track projection to Bb vtx on BB plane TH2F* hTrkBbXY track projection on BB plane TH1F* hTrkBbZ diff BB Z0 - target Z (only small tubes considered) TH2F* hGhost tracks after ghostbusting vs tracks before TH1F* hStatus ghostbusting status

Class Description

 BrMrsTrackingModule

 Tracking module for the MRS. The module will setup the module that combines
 the local tracks found front and after the D5 magnet.

 Requires: BrDetectorTracks Table in inputnode of the
           two tracking TPS TPM1 and TPM2.

 Note that this new version always get the fields from the database
 Please use it being aware of this.

 This may be a real issue when running simulated data - but someone will discover this
 one day - be forwarned. (fv)

BrMrsTrackingModule()
// default constructor

BrMrsTrackingModule(const Char_t* Name, const Char_t* Title) : BrModule(Name, Title)
 Normal constructor.
 This Name & title is informational.


~BrMrsTrackingModule()
// default destructor

void Init()
 Clear datastructures
 request geometry information using the GeometryDbManager.


void DefineHistograms()
 define histograms for modules owned by this 'super module'


void SetMagnetField()
 ----------------------------------------------------
 get field information from database
 update info each time a field is needed (event loop)
 ----------------------------------------------------

void Begin()
 Set magnet field and pick up the platform angle
 this is done at begin time since one might scan sequences
 from diff. runs with diff. settings (maybe not a good thing to do)

void Event(BrEventNode* InputNode, BrEventNode* OutputNode)
  Normal Event member function for MRS tracking

  Requires: Two instances of BrDataTable named "DetectorTrack TPM1" and
            "DetectorTrack TPM2" in either InputNode or OutputNode.
            These tables have to be filled with instances of BrDetectorTrack
            from their respective TPCs.
  Result:   BrDataTable "MrsTracks" added to outputnode.
            The elements of this table are BrMrsTrack.

  The module has the following steps:
  a) Combine Front (TPM1) and Back (TPM2) tracks
  b) Track combined tracks back to nominal vertex
  c) Check goodness of tracks and perform cleanup
     of ghost tracks, i.e. cases where the same track
     are used several times. The tracks are not removed
     but are marked as 'ghosts'.
  d) Add tracks to OutputNode (good tracks and potential
     ghosts if requested).


void Finish()
 Finisn entry method
 Call combine module finish

void TrackToVertex(BrDataTable* tab)
 This routine will loop over all tracks found using their position
 in T1 as a starting point for backward tracking.
 The target Tx ,Ty and Tz are in the IP coordinate system ie at
 x = 0
 Calculate scattering angles from vertex and position
 in tpm1. This should be considered a first approximation for
 vertex , and particle theta, phi. It should be redone when
 checked against vertex positions determined by the vertex modules.
 It also calculate the partial tracklength from the vertex to TPM1
 position.
 The vertex assumed is that of each individual track not any global
 vertexing; this should be done later.
 Some diagnostics plots are also filled.
 The front back tracks are added to table at this point.

void TrackToBbVertex(BrDataTable* tab, BrBbVertex* bbVtx)
 protected
 create plane centered on Z0 and normal to TPM1 front plane
 in global coord.!!
 (fv) Why! The relevant resolution of the BbVertex is along the
 Z axis so differences should be measured along this axis. On the
 normal plane the resolution goes as sigma(z)/sin(mrsangle)


Float_t PartialPath(BrMrsTrack* track)
 Projects to tofw and
 calculate the length from the track position in TPM1
 to the time of flight detector.
 If the track does not point within any panel A slatNo of 0 isassigned
 and the position is undefined.



Inline Functions


        BrModuleMatchTrack* GetCombineModule()
                       void SetUseDb(Bool_t usedDb = kTRUE)
                    TClass* Class()
                    TClass* IsA() const
                       void ShowMembers(TMemberInspector& insp, char* parent)
                       void Streamer(TBuffer& b)
                       void StreamerNVirtual(TBuffer& b)
        BrMrsTrackingModule BrMrsTrackingModule(BrMrsTrackingModule&)

This page automatically generated by script docBrat by Christian Holm

Copyright ; 2002 BRAHMS Collaboration <brahmlib@rcf.rhic.bnl.gov>
Last Update on 2002/08/30 17:36:34 $ by videbaek $

Validate HTML
Validate CSS