AliRoot Core  a565103 (a565103)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliMUONTrackReconstructor Class Reference

Standard class for the MUON track reconstruction. More...

#include <AliMUONTrackReconstructor.h>

Inheritance diagram for AliMUONTrackReconstructor:

Public Member Functions

 AliMUONTrackReconstructor (const AliMUONRecoParam *recoParam, AliMUONVClusterServer *clusterServer, const AliMUONGeometryTransformer *transformer)
 
virtual ~AliMUONTrackReconstructor ()
 
virtual Bool_t RefitTrack (AliMUONTrack &track, Bool_t enableImprovement=kTRUE)
 Re-fit the given track. More...
 
- Public Member Functions inherited from AliMUONVTrackReconstructor
 AliMUONVTrackReconstructor (const AliMUONRecoParam *recoParam, AliMUONVClusterServer *clusterServer, const AliMUONGeometryTransformer *transformer)
 
virtual ~AliMUONVTrackReconstructor ()
 
void EventReconstruct (AliMUONVClusterStore &clusterStore, AliMUONVTrackStore &trackStore)
 
void EventReconstructTrigger (const AliMUONTriggerCircuit &triggerCircuit, const AliMUONVTriggerStore &triggerStore, AliMUONVTriggerTrackStore &triggerTrackStore)
 
void ValidateTracksWithTrigger (AliMUONVTrackStore &trackStore, const AliMUONVTriggerTrackStore &triggerTrackStore, const AliMUONVTriggerStore &triggerStore, const AliMUONTrackHitPattern &trackHitPattern)
 
const AliMUONRecoParamGetRecoParam () const
 Return reco parameters. More...
 
Bool_t TriggerToTrack (const AliMUONTriggerCircuit &circuit, const AliMUONLocalTrigger &locTrg, AliMUONTriggerTrack &triggerTrack, UChar_t globalTriggerPattern=0)
 

Protected Member Functions

virtual Bool_t MakeTrackCandidates (AliMUONVClusterStore &clusterStore)
 Make track candidates from clusters in stations(1..) 4 and 5. More...
 
virtual Bool_t MakeMoreTrackCandidates (AliMUONVClusterStore &clusterStore)
 Make extra track candidates from clusters in stations(1..) 4 and 5. More...
 
virtual Bool_t FollowTracks (AliMUONVClusterStore &clusterStore)
 Follow tracks in stations(1..) 3, 2 and 1. More...
 
virtual Bool_t ComplementTracks (const AliMUONVClusterStore &clusterStore)
 Complement the reconstructed tracks. More...
 
virtual void ImproveTrack (AliMUONTrack &track)
 Improve the given reconstructed track. More...
 
virtual Bool_t FinalizeTrack (AliMUONTrack &track)
 Finalize the given track. More...
 
- Protected Member Functions inherited from AliMUONVTrackReconstructor
 AliMUONVTrackReconstructor (const AliMUONVTrackReconstructor &rhs)
 copy constructor More...
 
AliMUONVTrackReconstructoroperator= (const AliMUONVTrackReconstructor &rhs)
 assignment operator More...
 
void ImproveTracks ()
 
void Finalize ()
 
void DiscardMonoCathodClusters ()
 
void ChangeMonoCathodClusterRes (AliMUONTrack &track)
 
Bool_t IsAcceptable (AliMUONTrackParam &trackParam)
 
TClonesArray * MakeSegmentsBetweenChambers (const AliMUONVClusterStore &clusterStore, Int_t ch1, Int_t ch2)
 
void RemoveUsedSegments (TClonesArray &segments)
 
void RemoveIdenticalTracks ()
 
void RemoveDoubleTracks ()
 
void RemoveBadTracks ()
 
void RemoveConnectedTracks (Int_t stMin, Int_t stMax, Bool_t all)
 
void TagConnectedTracks (Int_t stMin, Int_t stMax, Bool_t all)
 
void AskForNewClustersInStation (const AliMUONTrackParam &trackParam, AliMUONVClusterStore &clusterStore, Int_t station)
 
void AskForNewClustersInChamber (const AliMUONTrackParam &trackParam, AliMUONVClusterStore &clusterStore, Int_t chamber)
 
Double_t TryOneCluster (const AliMUONTrackParam &trackParam, AliMUONVCluster *cluster, AliMUONTrackParam &trackParamAtCluster, Bool_t updatePropagator=kFALSE)
 
Bool_t TryOneClusterFast (const AliMUONTrackParam &trackParam, const AliMUONVCluster *cluster)
 
Double_t TryTwoClustersFast (const AliMUONTrackParam &trackParamAtCluster1, AliMUONVCluster *cluster2, AliMUONTrackParam &trackParamAtCluster2)
 
Bool_t FollowLinearTrackInChamber (AliMUONTrack &trackCandidate, const AliMUONVClusterStore &clusterStore, Int_t nextChamber)
 
Bool_t FollowLinearTrackInStation (AliMUONTrack &trackCandidate, const AliMUONVClusterStore &clusterStore, Int_t nextStation)
 

Private Member Functions

 AliMUONTrackReconstructor (const AliMUONTrackReconstructor &rhs)
 Not implemented copy constructor. More...
 
AliMUONTrackReconstructoroperator= (const AliMUONTrackReconstructor &rhs)
 Not implemented copy assignment operator. More...
 
Bool_t FollowTrackInChamber (AliMUONTrack &trackCandidate, AliMUONVClusterStore &clusterStore, Int_t nextChamber)
 
Bool_t FollowTrackInStation (AliMUONTrack &trackCandidate, AliMUONVClusterStore &clusterStore, Int_t nextStation)
 
Double_t TryTwoClusters (const AliMUONTrackParam &trackParamAtCluster, AliMUONVCluster *cluster2, AliMUONTrackParam &trackParamAtCluster2)
 
void UpdateTrack (AliMUONTrack &track, AliMUONTrackParam &trackParamAtCluster)
 
void UpdateTrack (AliMUONTrack &track, AliMUONTrackParam &trackParamAtCluster1, AliMUONTrackParam &trackParamAtCluster2)
 
Bool_t RecoverTrack (AliMUONTrack &track, AliMUONVClusterStore &clusterStore, Int_t nextStation)
 
void SetVertexErrXY2ForFit (AliMUONTrack &trackCandidate)
 
void Fit (AliMUONTrack &track, Bool_t includeMCS, Bool_t fitWithVertex, Bool_t calcCov)
 

Additional Inherited Members

- Protected Attributes inherited from AliMUONVTrackReconstructor
TClonesArray * fRecTracksPtr
 pointer to array of reconstructed tracks More...
 
Int_t fNRecTracks
 number of reconstructed tracks More...
 
AliMUONVClusterServerfClusterServer
 reference to our cluster server More...
 
const AliMUONRecoParamfkRecoParam
 reference to reco parameters More...
 
const AliMUONGeometryTransformerfkTransformer
 ! geometry transformer (not owner) More...
 
Double_t * fMaxMCSAngle2
 maximum angle dispersion due to MCS More...
 

Detailed Description

Standard class for the MUON track reconstruction.

MUON track reconstructor using the original method

This class contains as data:

  • the parameters for the track reconstruction

It contains as methods, among others:

  • MakeTracks to build the tracks

Definition at line 20 of file AliMUONTrackReconstructor.h.

Constructor & Destructor Documentation

AliMUONTrackReconstructor::AliMUONTrackReconstructor ( const AliMUONRecoParam recoParam,
AliMUONVClusterServer clusterServer,
const AliMUONGeometryTransformer transformer 
)

Constructor

Definition at line 61 of file AliMUONTrackReconstructor.cxx.

AliMUONTrackReconstructor::~AliMUONTrackReconstructor ( )
virtual

Destructor

Definition at line 69 of file AliMUONTrackReconstructor.cxx.

AliMUONTrackReconstructor::AliMUONTrackReconstructor ( const AliMUONTrackReconstructor rhs)
private

Not implemented copy constructor.

Member Function Documentation

Bool_t AliMUONTrackReconstructor::ComplementTracks ( const AliMUONVClusterStore clusterStore)
protectedvirtual

Complement the reconstructed tracks.

Complete tracks by adding missing clusters (if there is an overlap between two detection elements, the track may have two clusters in the same chamber). Re-fit track parameters and covariances. Return kTRUE if one or more tracks have been complemented.

Implements AliMUONVTrackReconstructor.

Definition at line 1311 of file AliMUONTrackReconstructor.cxx.

Referenced by FollowTracks().

Bool_t AliMUONTrackReconstructor::FinalizeTrack ( AliMUONTrack track)
protectedvirtual

Finalize the given track.

Recompute track parameters and covariances at each attached cluster from those at the first one, if not already done

Implements AliMUONVTrackReconstructor.

Definition at line 1477 of file AliMUONTrackReconstructor.cxx.

Referenced by RefitTrack().

void AliMUONTrackReconstructor::Fit ( AliMUONTrack track,
Bool_t  includeMCS,
Bool_t  fitWithVertex,
Bool_t  calcCov 
)
private

Fit the track w/wo multiple Coulomb scattering according to "includeMCS". w/wo constraining the vertex according to "fitWithVertex". calculating or not the covariance matrix according to "calcCov".

Definition at line 1168 of file AliMUONTrackReconstructor.cxx.

Referenced by ComplementTracks(), FollowTracks(), ImproveTrack(), RecoverTrack(), and RefitTrack().

Bool_t AliMUONTrackReconstructor::FollowTrackInChamber ( AliMUONTrack trackCandidate,
AliMUONVClusterStore clusterStore,
Int_t  nextChamber 
)
private

Follow trackCandidate in chamber(0..) nextChamber and search for compatible cluster(s) Keep all possibilities or only the best one(s) according to the flag fgkTrackAllTracks: kTRUE: duplicate "trackCandidate" if there are several possibilities and add the new tracks at the end of fRecTracksPtr to avoid conficts with other track candidates at this current stage of the tracking procedure. Remove the obsolete "trackCandidate" at the end. kFALSE: add only the best cluster(s) to the "trackCandidate". Try to add a couple of clusters in priority.

Definition at line 455 of file AliMUONTrackReconstructor.cxx.

Bool_t AliMUONTrackReconstructor::FollowTrackInStation ( AliMUONTrack trackCandidate,
AliMUONVClusterStore clusterStore,
Int_t  nextStation 
)
private

Follow trackCandidate in station(0..) nextStation and search for compatible cluster(s) Keep all possibilities or only the best one(s) according to the flag fgkTrackAllTracks: kTRUE: duplicate "trackCandidate" if there are several possibilities and add the new tracks at the end of fRecTracksPtr to avoid conficts with other track candidates at this current stage of the tracking procedure. Remove the obsolete "trackCandidate" at the end. kFALSE: add only the best cluster(s) to the "trackCandidate". Try to add a couple of clusters in priority.

Definition at line 593 of file AliMUONTrackReconstructor.cxx.

Referenced by FollowTracks(), MakeTrackCandidates(), and RecoverTrack().

Bool_t AliMUONTrackReconstructor::FollowTracks ( AliMUONVClusterStore clusterStore)
protectedvirtual

Follow tracks in stations(1..) 3, 2 and 1.

Follow tracks in stations(1..) 3, 2 and 1

Implements AliMUONVTrackReconstructor.

Definition at line 232 of file AliMUONTrackReconstructor.cxx.

void AliMUONTrackReconstructor::ImproveTrack ( AliMUONTrack track)
protectedvirtual

Improve the given reconstructed track.

Improve the given track by removing clusters with local chi2 highter than the defined cut Recompute track parameters and covariances at the remaining clusters

Implements AliMUONVTrackReconstructor.

Definition at line 1403 of file AliMUONTrackReconstructor.cxx.

Referenced by RefitTrack().

Bool_t AliMUONTrackReconstructor::MakeMoreTrackCandidates ( AliMUONVClusterStore clusterStore)
protectedvirtual

Make extra track candidates from clusters in stations(1..) 4 and 5.

To make extra track candidates (assuming linear propagation if the flag fgkMakeTrackCandidatesFast is set to kTRUE): clustering is supposed to be already done Start with segments made of 1 cluster in each of the stations 4 and 5 then follow track in remaining chambers. Good candidates are made of at least three clusters if both station are requested (two otherwise). Keep only best candidates or all of them according to the flag fgkTrackAllTracks.

Remove segments already attached to a track

Implements AliMUONVTrackReconstructor.

Definition at line 156 of file AliMUONTrackReconstructor.cxx.

Bool_t AliMUONTrackReconstructor::MakeTrackCandidates ( AliMUONVClusterStore clusterStore)
protectedvirtual

Make track candidates from clusters in stations(1..) 4 and 5.

To make track candidates (assuming linear propagation if the flag fgkMakeTrackCandidatesFast is set to kTRUE): Start with segments station(1..) 4 or 5 then follow track in station 5 or 4. Good candidates are made of at least three clusters. Keep only best candidates or all of them according to the flag fgkTrackAllTracks.

Implements AliMUONVTrackReconstructor.

Definition at line 75 of file AliMUONTrackReconstructor.cxx.

AliMUONTrackReconstructor& AliMUONTrackReconstructor::operator= ( const AliMUONTrackReconstructor rhs)
private

Not implemented copy assignment operator.

Bool_t AliMUONTrackReconstructor::RecoverTrack ( AliMUONTrack track,
AliMUONVClusterStore clusterStore,
Int_t  nextStation 
)
private

Try to recover the track candidate in the next station by removing the worst of the two clusters attached in the current station Return kTRUE if recovering succeeds

Definition at line 1079 of file AliMUONTrackReconstructor.cxx.

Referenced by FollowTracks().

Bool_t AliMUONTrackReconstructor::RefitTrack ( AliMUONTrack track,
Bool_t  enableImprovement = kTRUE 
)
virtual

Re-fit the given track.

re-fit the given track

Implements AliMUONVTrackReconstructor.

Definition at line 1490 of file AliMUONTrackReconstructor.cxx.

void AliMUONTrackReconstructor::SetVertexErrXY2ForFit ( AliMUONTrack trackCandidate)
private

Compute the vertex resolution square from natural vertex dispersion and multiple scattering effets according to trackCandidate path in absorber It is necessary to account for multiple scattering effects here instead of during the fit of the "trackCandidate" to do not influence the result by changing track resolution at vertex

Definition at line 1137 of file AliMUONTrackReconstructor.cxx.

Referenced by Fit().

Double_t AliMUONTrackReconstructor::TryTwoClusters ( const AliMUONTrackParam trackParamAtCluster,
AliMUONVCluster cluster2,
AliMUONTrackParam trackParamAtCluster2 
)
private

Test the compatibility between the track and the 2 clusters together (using trackParam's covariance matrix): return the corresponding Chi2 accounting for covariances between the 2 clusters return trackParamAtCluster1 & 2

Definition at line 914 of file AliMUONTrackReconstructor.cxx.

Referenced by FollowTrackInStation().

void AliMUONTrackReconstructor::UpdateTrack ( AliMUONTrack track,
AliMUONTrackParam trackParamAtCluster 
)
private

Add 1 cluster to the track candidate Update chi2 of the track

Definition at line 1015 of file AliMUONTrackReconstructor.cxx.

Referenced by FollowTrackInChamber(), and FollowTrackInStation().

void AliMUONTrackReconstructor::UpdateTrack ( AliMUONTrack track,
AliMUONTrackParam trackParamAtCluster1,
AliMUONTrackParam trackParamAtCluster2 
)
private

Add 2 clusters to the track candidate Update track and local chi2

Definition at line 1042 of file AliMUONTrackReconstructor.cxx.


The documentation for this class was generated from the following files: