![]() |
AliRoot Core
3abf5b4 (3abf5b4)
|
Class for the MUON track reconstruction using kalman filter. More...
#include <AliMUONTrackReconstructorK.h>
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... | |
![]() | |
AliMUONVTrackReconstructor (const AliMUONVTrackReconstructor &rhs) | |
copy constructor More... | |
AliMUONVTrackReconstructor & | operator= (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... | |
AliMUONTrackReconstructorK & | operator= (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 | |
![]() | |
TClonesArray * | fRecTracksPtr |
pointer to array of reconstructed tracks More... | |
Int_t | fNRecTracks |
number of reconstructed tracks More... | |
AliMUONVClusterServer * | fClusterServer |
reference to our cluster server More... | |
const AliMUONRecoParam * | fkRecoParam |
reference to reco parameters More... | |
const AliMUONGeometryTransformer * | fkTransformer |
! geometry transformer (not owner) More... | |
Double_t * | fMaxMCSAngle2 |
maximum angle dispersion due to MCS More... | |
Class for the MUON track reconstruction using kalman filter.
MUON track reconstructor using the kalman method
This class contains as data:
It contains as methods, among others:
Definition at line 19 of file AliMUONTrackReconstructorK.h.
AliMUONTrackReconstructorK::AliMUONTrackReconstructorK | ( | const AliMUONRecoParam * | recoParam, |
AliMUONVClusterServer * | clusterServer, | ||
const AliMUONGeometryTransformer * | transformer | ||
) |
Constructor
Definition at line 59 of file AliMUONTrackReconstructorK.cxx.
|
virtual |
Destructor
Definition at line 67 of file AliMUONTrackReconstructorK.cxx.
|
private |
Not implemented copy constructor.
|
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.
|
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().
|
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.
|
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().
|
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.
|
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().
|
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.
|
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.
|
private |
Not implemented copy assignment operator.
|
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().
|
virtual |
Re-fit the given track.
re-fit the given track
Implements AliMUONVTrackReconstructor.
Definition at line 1606 of file AliMUONTrackReconstructorK.cxx.
|
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().
|
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().
|
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().
|
private |
Compute new track parameters and their covariances using smoother
Definition at line 1239 of file AliMUONTrackReconstructorK.cxx.
Referenced by FinalizeTrack(), and ImproveTrack().
|
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().
|
private |
Add 2 clusters to the track candidate (order is important) Update track and local chi2
Definition at line 1141 of file AliMUONTrackReconstructorK.cxx.