AliRoot Core  v5-06-30 (35d6c57)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliMUONTrackReconstructorK Class Reference

Class for the MUON track reconstruction using kalman filter. More...

#include <AliMUONTrackReconstructorK.h>

Inheritance diagram for AliMUONTrackReconstructorK:

Public Member Functions

 AliMUONTrackReconstructorK (const AliMUONRecoParam *recoParam, AliMUONVClusterServer *clusterServer, const AliMUONGeometryTransformer *transformer)
 
virtual ~AliMUONTrackReconstructorK ()
 
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

 AliMUONTrackReconstructorK (const AliMUONTrackReconstructorK &rhs)
 Not implemented copy constructor. More...
 
AliMUONTrackReconstructorKoperator= (const AliMUONTrackReconstructorK &rhs)
 Not implemented copy assignment operator. More...
 
Bool_t RetraceTrack (AliMUONTrack &trackCandidate, Bool_t resetSeed)
 
Bool_t RetracePartialTrack (AliMUONTrack &trackCandidate, const AliMUONTrackParam *startingTrackParam)
 
Bool_t FollowTrackInChamber (AliMUONTrack &trackCandidate, AliMUONVClusterStore &clusterStore, Int_t nextChamber)
 
Bool_t FollowTrackInStation (AliMUONTrack &trackCandidate, AliMUONVClusterStore &clusterStore, Int_t nextStation)
 
Double_t RunKalmanFilter (AliMUONTrackParam &trackParamAtCluster)
 
void UpdateTrack (AliMUONTrack &track, AliMUONTrackParam &trackParamAtCluster, Double_t addChi2)
 
void UpdateTrack (AliMUONTrack &track, AliMUONTrackParam &trackParamAtCluster1, AliMUONTrackParam &trackParamAtCluster2, Double_t addChi2AtCluster1, Double_t addChi2AtCluster2)
 
Bool_t RecoverTrack (AliMUONTrack &track, AliMUONVClusterStore &clusterStore, Int_t nextStation)
 
Bool_t RunSmoother (AliMUONTrack &track)
 

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

Class for the MUON track reconstruction using kalman filter.

MUON track reconstructor using the kalman 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 19 of file AliMUONTrackReconstructorK.h.

Constructor & Destructor Documentation

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

Constructor

Definition at line 59 of file AliMUONTrackReconstructorK.cxx.

AliMUONTrackReconstructorK::~AliMUONTrackReconstructorK ( )
virtual

Destructor

Definition at line 67 of file AliMUONTrackReconstructorK.cxx.

AliMUONTrackReconstructorK::AliMUONTrackReconstructorK ( const AliMUONTrackReconstructorK rhs)
private

Not implemented copy constructor.

Member Function Documentation

Bool_t AliMUONTrackReconstructorK::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). Recompute track parameters and covariances at each clusters. Remove tracks getting abnormal (i.e. extrapolation failed...) after being complemented. Return kTRUE if one or more tracks have been complemented or removed.

Implements AliMUONVTrackReconstructor.

Definition at line 1338 of file AliMUONTrackReconstructorK.cxx.

Bool_t AliMUONTrackReconstructorK::FinalizeTrack ( AliMUONTrack track)
protectedvirtual

Finalize the given track.

Update track parameters and covariances at each attached cluster using smoother if required, if not already done return kFALSE if the track cannot be extrapolated uo to the last chamber

Implements AliMUONVTrackReconstructor.

Definition at line 1565 of file AliMUONTrackReconstructorK.cxx.

Referenced by RefitTrack().

Bool_t AliMUONTrackReconstructorK::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. return kTRUE if new cluster(s) have been found (otherwise return kFALSE)

Definition at line 507 of file AliMUONTrackReconstructorK.cxx.

Bool_t AliMUONTrackReconstructorK::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. return kTRUE if new cluster(s) have been found (otherwise return kFALSE)

Definition at line 668 of file AliMUONTrackReconstructorK.cxx.

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

Bool_t AliMUONTrackReconstructorK::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 428 of file AliMUONTrackReconstructorK.cxx.

void AliMUONTrackReconstructorK::ImproveTrack ( AliMUONTrack track)
protectedvirtual

Improve the given reconstructed track.

Improve the given track by removing removable clusters with local chi2 highter than the defined cut Removable clusters are identified by the method AliMUONTrack::TagRemovableClusters() Recompute track parameters and covariances at the remaining clusters and if something goes wrong (i.e. extrapolation failed...) set track chi2 to max value

Implements AliMUONVTrackReconstructor.

Definition at line 1448 of file AliMUONTrackReconstructorK.cxx.

Referenced by RefitTrack().

Bool_t AliMUONTrackReconstructorK::MakeMoreTrackCandidates ( AliMUONVClusterStore clusterStore)
protectedvirtual

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

To make extra track candidates assuming linear propagation: 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 stations 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 175 of file AliMUONTrackReconstructorK.cxx.

Bool_t AliMUONTrackReconstructorK::MakeTrackCandidates ( AliMUONVClusterStore clusterStore)
protectedvirtual

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

To make track candidates (assuming linear propagation if AliMUONRecoParam::MakeTrackCandidatesFast() return 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 if both stations are requested (two otherwise). Keep only best candidates or all of them according to the flag AliMUONRecoParam::TrackAllTracks().

Implements AliMUONVTrackReconstructor.

Definition at line 73 of file AliMUONTrackReconstructorK.cxx.

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

Not implemented copy assignment operator.

Bool_t AliMUONTrackReconstructorK::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 1187 of file AliMUONTrackReconstructorK.cxx.

Referenced by FollowTracks().

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

Re-fit the given track.

re-fit the given track

Implements AliMUONVTrackReconstructor.

Definition at line 1606 of file AliMUONTrackReconstructorK.cxx.

Bool_t AliMUONTrackReconstructorK::RetracePartialTrack ( AliMUONTrack trackCandidate,
const AliMUONTrackParam startingTrackParam 
)
private

Re-run the kalman filter from the cluster attached to startingTrackParam to the most uptream cluster Return kFALSE in case of failure (i.e. extrapolation problem)

Definition at line 347 of file AliMUONTrackReconstructorK.cxx.

Referenced by ImproveTrack(), RecoverTrack(), and RetraceTrack().

Bool_t AliMUONTrackReconstructorK::RetraceTrack ( AliMUONTrack trackCandidate,
Bool_t  resetSeed 
)
private

Re-run the kalman filter from the most downstream cluster to the most uptream one Return kFALSE in case of failure (i.e. extrapolation problem)

Definition at line 269 of file AliMUONTrackReconstructorK.cxx.

Referenced by ComplementTracks(), ImproveTrack(), MakeMoreTrackCandidates(), MakeTrackCandidates(), and RefitTrack().

Double_t AliMUONTrackReconstructorK::RunKalmanFilter ( AliMUONTrackParam trackParamAtCluster)
private

Compute new track parameters and their covariances including new cluster using kalman filter return the additional track chi2

Definition at line 1051 of file AliMUONTrackReconstructorK.cxx.

Referenced by ComplementTracks(), FollowTrackInChamber(), FollowTrackInStation(), and RetracePartialTrack().

Bool_t AliMUONTrackReconstructorK::RunSmoother ( AliMUONTrack track)
private

Compute new track parameters and their covariances using smoother

Definition at line 1239 of file AliMUONTrackReconstructorK.cxx.

Referenced by FinalizeTrack(), and ImproveTrack().

void AliMUONTrackReconstructorK::UpdateTrack ( AliMUONTrack track,
AliMUONTrackParam trackParamAtCluster,
Double_t  addChi2 
)
private

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

Definition at line 1118 of file AliMUONTrackReconstructorK.cxx.

Referenced by FollowTrackInChamber(), and FollowTrackInStation().

void AliMUONTrackReconstructorK::UpdateTrack ( AliMUONTrack track,
AliMUONTrackParam trackParamAtCluster1,
AliMUONTrackParam trackParamAtCluster2,
Double_t  addChi2AtCluster1,
Double_t  addChi2AtCluster2 
)
private

Add 2 clusters to the track candidate (order is important) Update track and local chi2

Definition at line 1141 of file AliMUONTrackReconstructorK.cxx.


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