|
BrBfsTrackingModule
class description - source file - inheritance tree
private:
void CheckD3Tracks(TClonesArray*, BrBfsTrackingModule::EFrontMode)
void CheckD4Tracks()
void CombineMatched(BrDataTable*, TClonesArray*, BrBfsTrackingModule::EFrontMode, Bool_t*)
void ExtendD3MatchedTracks(BrDataTable*, TClonesArray*, BrBfsTrackingModule::EFrontMode, Bool_t*)
void ExtendD4MatchedTracks(BrDataTable*)
BrLine3D FrontDettoH1(BrDetectorTrack* track, Double_t P)
void RemoveDuplicates(TClonesArray*, TClonesArray*, Bool_t*)
void SetMagnetFields()
BrLine3D T5toH2(BrDetectorTrack* track)
void TrackToVertex(BrBfsTrack* trk, BrBbVertex* vtx)
Float_t VirtualLength(BrMatchedTrack*, BrDetectorVolume*, BrMagnetVolume*, BrDetectorVolume*)
public:
BrBfsTrackingModule BrBfsTrackingModule()
BrBfsTrackingModule BrBfsTrackingModule(const Char_t* name, const Char_t* title)
BrBfsTrackingModule BrBfsTrackingModule(BrBfsTrackingModule&)
virtual void ~BrBfsTrackingModule()
virtual void Begin()
static TClass* Class()
void Clear()
virtual void DefineHistograms()
virtual void Event(BrEventNode*, BrEventNode*)
virtual void Finish()
BrModuleMatchTrack* GetCombineT2T4()
BrModuleMatchTrack* GetCombineT3T4()
BrModuleMatchTrack* GetCombineT4T5()
virtual void Init()
virtual TClass* IsA() const
virtual void Print(Option_t* option) const
void SetCleanUp(BrBfsTrackingModule::ECleanUp b, Bool_t on)
void SetD3FieldScaleFactor(Float_t D3fsf = 1.)
void SetD4FieldScaleFactor(Float_t D4fsf = 1.)
void SetExtendD3Match(Bool_t v = kTRUE)
void SetExtendD4Match(Bool_t v = kTRUE)
void SetFrontMode(BrBfsTrackingModule::EFrontMode b, Bool_t on)
void SetFrontMode(Int_t m)
void SetKeepMatched(Bool_t b)
void SetUseDb(Bool_t usedDb = kTRUE)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
private:
Bool_t fUseDb Indicator for picking Magnetfield from Db
Int_t fFrontMode
Int_t fCleanUp Remove one combined (T2_T4 or T3_T4) if they share T4
Bool_t fVirtualBack
Bool_t fVirtualFront
Bool_t fKeepMatched
Float_t fD3FieldScaleFactor
Float_t fD4FieldScaleFactor
BrModuleMatchTrack* fCombineT2T4 Module combining T2/T4 track.
BrModuleMatchTrack* fCombineT3T4 Module combining T3/T4 track.
BrModuleMatchTrack* fCombineT4T5 Module combining T4/T5 track.
BrDetectorVolume* fT2Volume Pointer to T2 volume
BrDetectorVolume* fT3Volume Pointer to T3 volume
BrDetectorVolume* fT4Volume Pointer to T4 volume
BrDetectorVolume* fT5Volume Pointer to T5 volume
BrDetectorVolume* fH1Volume Pointer to H1 detector volume
BrDetectorVolume* fH2Volume Pointer to H2 detector volume
BrDetectorParamsTof* fH1Params Pointer to H1 detector parameters
BrDetectorParamsTof* fH2Params Pointer to H2 detector parameters
BrMagnetVolume* fD3Volume Pointer to magnet D3 volume
BrMagnetVolume* fD4Volume Pointer to magnet D4 volume
TClonesArray* fT2T4Tracks Container of T2-T4 matched tracks
TClonesArray* fT3T4Tracks Container of T3-T4 matched tracks
TClonesArray* fT4T5Tracks Container of T4-T5 matched tracks
Bool_t fArmsAligned if FFS and BFS are aligned, use H1 for checking
TH2F* fT3H1Proj T3 tracks projected to H1 if arms aligned
TH2F* fT2H1Proj T2 tracks projected to H1 if arms aligned
TH1F* fT3H1Slat H1 slats pointed by T3 tracks if arms aligned
TH1F* fT2H1Slat H1 slats pointed by T2 tracks if arms aligned
TH2F* fT4H1Proj T4 tracks projected to H1 if arms aligned
TH1F* fT4H1Slat H1 slats pointed by T4 tracks if arms aligned
TH2F* fT4H2Proj same for T4 and H2
TH1F* fT4H2Slat same for T4 and H2
TH2F* fT5H2Proj same for T5 and H2
TH1F* fT5H2Slat same for T5 and H2
TH1F* fD3Mom momentum obtained with D3
TH1F* fD4Mom momentum obtained with D4
TH1F* fD3D4Mom momentum obtained with D3 and D4
TH1F* fMomDiff 1D momentum correlation
TH2F* fMomCorr 2D momentum correlation
TH2F* fMomDevVsMom
TH1F* fPathLength track path length
TH1F* fPartialLength path lenth from front chamber to H2
TH1F* fTrkVX
TH1F* fTrkVY
TH2F* fTrkVXY
TH1F* fTheta
TH1F* fPhi
TH1F* fD4Tracks
TH1F* fD4Virtual
TH2F* fBfsTracksL
TH1F* fD3Tracks
TH1F* fD3Virtual
public:
static const BrBfsTrackingModule::EFrontMode kT2
static const BrBfsTrackingModule::EFrontMode kT3
static const BrBfsTrackingModule::ECleanUp kCUT2
static const BrBfsTrackingModule::ECleanUp kCUT3
BrBfsTrackingModule()
// default constructor DO NOT USE
BrBfsTrackingModule(const Char_t* name, const Char_t* title)
: BrModule(name, title)
------------------------------------
Normal constructor.
This Name & title is informational.
------------------------------------
----- track matching modules
~BrBfsTrackingModule()
// default destructor
void Init()
-----------------------------------------
Initialze the matching module and setup
local information for volumes
-----------------------------------------
void SetMagnetFields()
private method
void Clear()
--------------------
Clear datastructures
--------------------
void DefineHistograms()
-----------------------------------------------------------
define histograms for modules owned by this 'super module'
-----------------------------------------------------------
void Begin()
Set magnetic fields before each sequence
void Event(BrEventNode* inNode, BrEventNode* outNode)
-------------------------------------------------------------
BFS tracking Event:
Combines T3(T2) and T4, T4 and T5
Match combined tracks via T4
Fill table of BfsTracks and put them to output node
-------------------------------------------------------------
void RemoveDuplicates(TClonesArray* ar1,
TClonesArray* ar2,
Bool_t* keep)
private
void CheckD3Tracks(TClonesArray* ar,
EFrontMode tid)
void CheckD4Tracks()
private method
void TrackToVertex(BrBfsTrack* trk, BrBbVertex* vtx)
evaluate path length from H2 to primary vertex and other useful things
like projections on TOF planes, pointed slats, etc.
void Finish()
call finish from combine modules
void CombineMatched(BrDataTable* bfsTab,
TClonesArray* ar,
EFrontMode tid,
Bool_t* keep)
private method
void ExtendD3MatchedTracks(BrDataTable* bfsTab,
TClonesArray* ar,
EFrontMode tid,
Bool_t* keep)
private method
void ExtendD4MatchedTracks(BrDataTable* bfsTab)
private method
Float_t VirtualLength(BrMatchedTrack* mtrk,
BrDetectorVolume* frontVol,
BrMagnetVolume* magVol,
BrDetectorVolume* backVol)
private method
void Print(Option_t* option) const
Inline Functions
BrModuleMatchTrack* GetCombineT2T4()
BrModuleMatchTrack* GetCombineT3T4()
BrModuleMatchTrack* GetCombineT4T5()
void SetD3FieldScaleFactor(Float_t D3fsf = 1.)
void SetD4FieldScaleFactor(Float_t D4fsf = 1.)
void SetUseDb(Bool_t usedDb = kTRUE)
void SetExtendD3Match(Bool_t v = kTRUE)
void SetExtendD4Match(Bool_t v = kTRUE)
void SetFrontMode(BrBfsTrackingModule::EFrontMode b, Bool_t on)
void SetFrontMode(Int_t m)
void SetCleanUp(BrBfsTrackingModule::ECleanUp b, Bool_t on)
void SetKeepMatched(Bool_t b)
BrLine3D FrontDettoH1(BrDetectorTrack* track, Double_t P)
BrLine3D T5toH2(BrDetectorTrack* track)
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
BrBfsTrackingModule BrBfsTrackingModule(BrBfsTrackingModule&)
|