![]() |
AliRoot Core
3abf5b4 (3abf5b4)
|
Virtual class for the MUON track reconstruction. More...
#include <AliMUONVTrackReconstructor.h>
Public Member Functions | |
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 AliMUONRecoParam * | GetRecoParam () const |
Return reco parameters. More... | |
virtual Bool_t | RefitTrack (AliMUONTrack &track, Bool_t enableImprovement=kTRUE)=0 |
Re-fit the given track. More... | |
Bool_t | TriggerToTrack (const AliMUONTriggerCircuit &circuit, const AliMUONLocalTrigger &locTrg, AliMUONTriggerTrack &triggerTrack, UChar_t globalTriggerPattern=0) |
Protected Member Functions | |
AliMUONVTrackReconstructor (const AliMUONVTrackReconstructor &rhs) | |
copy constructor More... | |
AliMUONVTrackReconstructor & | operator= (const AliMUONVTrackReconstructor &rhs) |
assignment operator More... | |
virtual Bool_t | MakeTrackCandidates (AliMUONVClusterStore &clusterStore)=0 |
Make track candidates from clusters in stations(1..) 4 and 5. More... | |
virtual Bool_t | MakeMoreTrackCandidates (AliMUONVClusterStore &clusterStore)=0 |
Make extra track candidates from clusters in stations(1..) 4 and 5. More... | |
virtual Bool_t | FollowTracks (AliMUONVClusterStore &clusterStore)=0 |
Follow tracks in stations(1..) 3, 2 and 1. More... | |
virtual Bool_t | ComplementTracks (const AliMUONVClusterStore &clusterStore)=0 |
Complement the reconstructed tracks. More... | |
void | ImproveTracks () |
virtual void | ImproveTrack (AliMUONTrack &track)=0 |
Improve the given reconstructed track. More... | |
void | Finalize () |
virtual Bool_t | FinalizeTrack (AliMUONTrack &track)=0 |
Finalize the given track. More... | |
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) |
Protected Attributes | |
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... | |
Private Member Functions | |
void | ResetTracks () |
Virtual class for the MUON track reconstruction.
Virtual MUON track reconstructor in ALICE (class renamed from AliMUONEventReconstructor)
This class contains as data a pointer to the array of reconstructed tracks
It contains as methods, among others:
Several options and adjustable parameters are available for both KALMAN and ORIGINAL tracking algorithms. They can be changed through the AliMUONRecoParam object set in the reconstruction macro or read from the CDB (see methods in AliMUONRecoParam.h file for details)
Main parameters and options are:
fgkSigmaToCutForImprovement : quality cut used when we try to improve the quality of the tracks.
Definition at line 33 of file AliMUONVTrackReconstructor.h.
AliMUONVTrackReconstructor::AliMUONVTrackReconstructor | ( | const AliMUONRecoParam * | recoParam, |
AliMUONVClusterServer * | clusterServer, | ||
const AliMUONGeometryTransformer * | transformer | ||
) |
Constructor for class AliMUONVTrackReconstructor WARNING: if clusterServer=0x0, no clusterization will be possible at this level
Definition at line 108 of file AliMUONVTrackReconstructor.cxx.
|
virtual |
Destructor for class AliMUONVTrackReconstructor
Definition at line 139 of file AliMUONVTrackReconstructor.cxx.
|
protected |
copy constructor
|
protected |
Ask the clustering to reconstruct new clusters around the track candidate position
Definition at line 659 of file AliMUONVTrackReconstructor.cxx.
Referenced by AskForNewClustersInStation(), AliMUONTrackReconstructor::FollowTrackInChamber(), and AliMUONTrackReconstructorK::FollowTrackInChamber().
|
protected |
Ask the clustering to reconstruct new clusters around the track candidate position in the 2 chambers of the given station
Definition at line 697 of file AliMUONVTrackReconstructor.cxx.
Referenced by AliMUONTrackReconstructor::FollowTrackInStation(), and AliMUONTrackReconstructorK::FollowTrackInStation().
|
protected |
Assign a different resolution to the mono-cathod clusters in the direction of the missing plane and refit the track
Definition at line 1334 of file AliMUONVTrackReconstructor.cxx.
Referenced by DiscardMonoCathodClusters().
|
protectedpure virtual |
Complement the reconstructed tracks.
Implemented in AliMUONTrackReconstructor, and AliMUONTrackReconstructorK.
Referenced by EventReconstruct().
|
protected |
Assign a different resolution to the mono-cathod clusters in the direction of the missing plane and refit the track Remove the track in case of failure
Definition at line 1300 of file AliMUONVTrackReconstructor.cxx.
Referenced by EventReconstruct().
void AliMUONVTrackReconstructor::EventReconstruct | ( | AliMUONVClusterStore & | clusterStore, |
AliMUONVTrackStore & | trackStore | ||
) |
To reconstruct one event
Definition at line 156 of file AliMUONVTrackReconstructor.cxx.
Referenced by AliMUONTracker::Clusters2Tracks().
void AliMUONVTrackReconstructor::EventReconstructTrigger | ( | const AliMUONTriggerCircuit & | triggerCircuit, |
const AliMUONVTriggerStore & | triggerStore, | ||
AliMUONVTriggerTrackStore & | triggerTrackStore | ||
) |
Fill trigger track store from local trigger
Definition at line 1418 of file AliMUONVTrackReconstructor.cxx.
Referenced by AliMUONTracker::Clusters2Tracks(), and AliMUONRecoCheck::MakeTriggeredTracks().
|
protected |
Recompute track parameters and covariances at each attached cluster Set the label pointing to the corresponding MC track Remove the track if finalization failed
Definition at line 1269 of file AliMUONVTrackReconstructor.cxx.
Referenced by EventReconstruct().
|
protectedpure virtual |
Finalize the given track.
Implemented in AliMUONTrackReconstructor, and AliMUONTrackReconstructorK.
Referenced by Finalize().
|
protected |
Follow trackCandidate in chamber(0..) nextChamber assuming linear propagation, 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 808 of file AliMUONVTrackReconstructor.cxx.
Referenced by AliMUONTrackReconstructorK::MakeMoreTrackCandidates(), and AliMUONTrackReconstructor::MakeMoreTrackCandidates().
|
protected |
Follow trackCandidate in station(0..) nextStation assuming linear propagation, 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 931 of file AliMUONVTrackReconstructor.cxx.
Referenced by AliMUONTrackReconstructorK::MakeTrackCandidates(), and AliMUONTrackReconstructor::MakeTrackCandidates().
|
protectedpure virtual |
Follow tracks in stations(1..) 3, 2 and 1.
Implemented in AliMUONTrackReconstructor, and AliMUONTrackReconstructorK.
Referenced by EventReconstruct().
|
inline |
Return reco parameters.
Definition at line 54 of file AliMUONVTrackReconstructor.h.
Referenced by AskForNewClustersInChamber(), ChangeMonoCathodClusterRes(), AliMUONTrackReconstructorK::ComplementTracks(), AliMUONTrackReconstructor::ComplementTracks(), DiscardMonoCathodClusters(), EventReconstruct(), AliMUONTrackReconstructorK::FinalizeTrack(), AliMUONTrackReconstructor::Fit(), FollowLinearTrackInChamber(), FollowLinearTrackInStation(), AliMUONTrackReconstructor::FollowTrackInChamber(), AliMUONTrackReconstructorK::FollowTrackInChamber(), AliMUONTrackReconstructor::FollowTrackInStation(), AliMUONTrackReconstructorK::FollowTrackInStation(), AliMUONTrackReconstructorK::FollowTracks(), AliMUONTrackReconstructor::FollowTracks(), AliMUONTrackReconstructorK::ImproveTrack(), AliMUONTrackReconstructor::ImproveTrack(), IsAcceptable(), AliMUONTrackReconstructorK::MakeMoreTrackCandidates(), AliMUONTrackReconstructor::MakeMoreTrackCandidates(), MakeSegmentsBetweenChambers(), AliMUONTrackReconstructorK::MakeTrackCandidates(), AliMUONTrackReconstructor::MakeTrackCandidates(), AliMUONTrackReconstructor::RecoverTrack(), AliMUONTrackReconstructorK::RecoverTrack(), AliMUONTrackReconstructorK::RefitTrack(), AliMUONTrackReconstructor::RefitTrack(), AliMUONTrackReconstructorK::RetracePartialTrack(), AliMUONTrackReconstructorK::RetraceTrack(), AliMUONTrackReconstructor::SetVertexErrXY2ForFit(), TryOneClusterFast(), AliMUONTrackReconstructor::UpdateTrack(), and AliMUONTrackReconstructorK::UpdateTrack().
|
protectedpure virtual |
Improve the given reconstructed track.
Implemented in AliMUONTrackReconstructor, and AliMUONTrackReconstructorK.
Referenced by ImproveTracks().
|
protected |
Improve tracks by removing clusters with local chi2 highter than the defined cut Recompute track parameters and covariances at the remaining clusters
Definition at line 1238 of file AliMUONVTrackReconstructor.cxx.
Referenced by DiscardMonoCathodClusters(), EventReconstruct(), AliMUONTrackReconstructorK::RefitTrack(), and AliMUONTrackReconstructor::RefitTrack().
|
protected |
Return kTRUE if the track is within given limits on momentum/angle/origin
Definition at line 213 of file AliMUONVTrackReconstructor.cxx.
Referenced by AliMUONTrackReconstructorK::FollowTrackInChamber(), AliMUONTrackReconstructorK::FollowTrackInStation(), AliMUONTrackReconstructor::FollowTracks(), AliMUONTrackReconstructorK::MakeMoreTrackCandidates(), AliMUONTrackReconstructorK::MakeTrackCandidates(), AliMUONTrackReconstructor::RecoverTrack(), and AliMUONTrackReconstructorK::RecoverTrack().
|
protectedpure virtual |
Make extra track candidates from clusters in stations(1..) 4 and 5.
Implemented in AliMUONTrackReconstructor, and AliMUONTrackReconstructorK.
Referenced by EventReconstruct().
|
protected |
To make the list of segments from the list of clusters in the 2 given chambers. Return a TClonesArray of new segments (segments made in a previous call of this function are removed).
Definition at line 293 of file AliMUONVTrackReconstructor.cxx.
Referenced by AliMUONTrackReconstructorK::MakeMoreTrackCandidates(), AliMUONTrackReconstructor::MakeMoreTrackCandidates(), AliMUONTrackReconstructorK::MakeTrackCandidates(), and AliMUONTrackReconstructor::MakeTrackCandidates().
|
protectedpure virtual |
Make track candidates from clusters in stations(1..) 4 and 5.
Implemented in AliMUONTrackReconstructor, and AliMUONTrackReconstructorK.
Referenced by EventReconstruct().
|
protected |
assignment operator
|
pure virtual |
Re-fit the given track.
Implemented in AliMUONTrackReconstructor, and AliMUONTrackReconstructorK.
Referenced by DiscardMonoCathodClusters(), AliMUONESDInterface::ESDToMUON(), AliMUONRefitter::ReconstructFromClusters(), AliMUONRefitter::RetrackFromClusters(), and AliMUONRefitter::RetrackFromDigits().
|
protected |
Remove tracks for which a problem occured somewhere during the tracking
Definition at line 553 of file AliMUONVTrackReconstructor.cxx.
Referenced by EventReconstruct().
|
protected |
Find and remove tracks sharing 1 cluster or more in station(s) [stMin, stMax]. For each couple of connected tracks, one removes the one with the smallest number of clusters or with the highest chi2 value in case of equality. If all=kTRUE: both tracks are removed.
Definition at line 582 of file AliMUONVTrackReconstructor.cxx.
Referenced by EventReconstruct().
|
protected |
To remove double tracks: Tracks are considered identical if more than half of the clusters of the track which has the smaller number of clusters are in common with the other track. Among two identical tracks, one keeps the track with the larger number of clusters or, if these numbers are equal, the track with the minimum chi2.
Definition at line 509 of file AliMUONVTrackReconstructor.cxx.
Referenced by AliMUONTrackReconstructorK::FollowTracks(), AliMUONTrackReconstructor::FollowTracks(), AliMUONTrackReconstructorK::MakeMoreTrackCandidates(), AliMUONTrackReconstructor::MakeMoreTrackCandidates(), AliMUONTrackReconstructorK::MakeTrackCandidates(), and AliMUONTrackReconstructor::MakeTrackCandidates().
|
protected |
To remove identical tracks: Tracks are considered identical if they have all their clusters in common. One keeps the track with the larger number of clusters if need be
Definition at line 467 of file AliMUONVTrackReconstructor.cxx.
Referenced by EventReconstruct(), AliMUONTrackReconstructorK::MakeTrackCandidates(), and AliMUONTrackReconstructor::MakeTrackCandidates().
|
protected |
To remove pairs of clusters already attached to a track
Definition at line 407 of file AliMUONVTrackReconstructor.cxx.
Referenced by AliMUONTrackReconstructorK::MakeMoreTrackCandidates(), and AliMUONTrackReconstructor::MakeMoreTrackCandidates().
|
private |
To reset the TClonesArray of reconstructed tracks
Definition at line 147 of file AliMUONVTrackReconstructor.cxx.
Referenced by EventReconstruct().
|
protected |
Find and tag tracks sharing 1 cluster or more in station(s) [stMin, stMax]. For each couple of connected tracks, one tags the one with the smallest number of clusters or with the highest chi2 value in case of equality. If all=kTRUE: both tracks are tagged.
Definition at line 606 of file AliMUONVTrackReconstructor.cxx.
Referenced by EventReconstruct(), and RemoveConnectedTracks().
Bool_t AliMUONVTrackReconstructor::TriggerToTrack | ( | const AliMUONTriggerCircuit & | circuit, |
const AliMUONLocalTrigger & | locTrg, | ||
AliMUONTriggerTrack & | triggerTrack, | ||
UChar_t | globalTriggerPattern = 0 |
||
) |
To make the trigger tracks from Local Trigger
Definition at line 1453 of file AliMUONVTrackReconstructor.cxx.
Referenced by EventReconstructTrigger(), and AliMUONRecoCheck::TriggerToTrack().
|
protected |
Test the compatibility between the track and the cluster (using trackParam's covariance matrix): return the corresponding Chi2 return trackParamAtCluster
Definition at line 707 of file AliMUONVTrackReconstructor.cxx.
Referenced by AliMUONTrackReconstructorK::ComplementTracks(), AliMUONTrackReconstructor::ComplementTracks(), FollowLinearTrackInChamber(), FollowLinearTrackInStation(), AliMUONTrackReconstructor::FollowTrackInChamber(), AliMUONTrackReconstructorK::FollowTrackInChamber(), AliMUONTrackReconstructor::FollowTrackInStation(), and AliMUONTrackReconstructorK::FollowTrackInStation().
|
protected |
Test the compatibility between the track and the cluster given the track and cluster resolutions + the maximum-distance-to-track value and assuming linear propagation of the track: return kTRUE if they are compatibles
Definition at line 739 of file AliMUONVTrackReconstructor.cxx.
Referenced by AliMUONTrackReconstructorK::ComplementTracks(), AliMUONTrackReconstructor::ComplementTracks(), FollowLinearTrackInChamber(), FollowLinearTrackInStation(), AliMUONTrackReconstructor::FollowTrackInChamber(), AliMUONTrackReconstructorK::FollowTrackInChamber(), AliMUONTrackReconstructor::FollowTrackInStation(), and AliMUONTrackReconstructorK::FollowTrackInStation().
|
protected |
Test the compatibility between the track and the 2 clusters together (using trackParam's covariance matrix) assuming linear propagation between the two clusters: return the corresponding Chi2 accounting for covariances between the 2 clusters return trackParamAtCluster2
Definition at line 765 of file AliMUONVTrackReconstructor.cxx.
Referenced by FollowLinearTrackInStation().
void AliMUONVTrackReconstructor::ValidateTracksWithTrigger | ( | AliMUONVTrackStore & | trackStore, |
const AliMUONVTriggerTrackStore & | triggerTrackStore, | ||
const AliMUONVTriggerStore & | triggerStore, | ||
const AliMUONTrackHitPattern & | trackHitPattern | ||
) |
Try to match track from tracking system with trigger track
Definition at line 1405 of file AliMUONVTrackReconstructor.cxx.
Referenced by AliMUONTracker::Clusters2Tracks().
|
protected |
reference to our cluster server
Definition at line 71 of file AliMUONVTrackReconstructor.h.
Referenced by AskForNewClustersInChamber(), AliMUONTrackReconstructorK::MakeTrackCandidates(), and AliMUONTrackReconstructor::MakeTrackCandidates().
|
protected |
reference to reco parameters
Definition at line 73 of file AliMUONVTrackReconstructor.h.
Referenced by GetRecoParam().
|
protected |
! geometry transformer (not owner)
Definition at line 74 of file AliMUONVTrackReconstructor.h.
Referenced by ChangeMonoCathodClusterRes(), and DiscardMonoCathodClusters().
|
protected |
maximum angle dispersion due to MCS
Definition at line 76 of file AliMUONVTrackReconstructor.h.
Referenced by IsAcceptable(), MakeSegmentsBetweenChambers(), and ~AliMUONVTrackReconstructor().
|
protected |
number of reconstructed tracks
Definition at line 69 of file AliMUONVTrackReconstructor.h.
Referenced by AliMUONTrackReconstructorK::ComplementTracks(), DiscardMonoCathodClusters(), EventReconstruct(), Finalize(), FollowLinearTrackInChamber(), FollowLinearTrackInStation(), AliMUONTrackReconstructor::FollowTrackInChamber(), AliMUONTrackReconstructorK::FollowTrackInChamber(), AliMUONTrackReconstructor::FollowTrackInStation(), AliMUONTrackReconstructorK::FollowTrackInStation(), AliMUONTrackReconstructorK::FollowTracks(), AliMUONTrackReconstructor::FollowTracks(), ImproveTracks(), AliMUONTrackReconstructorK::MakeMoreTrackCandidates(), AliMUONTrackReconstructor::MakeMoreTrackCandidates(), AliMUONTrackReconstructorK::MakeTrackCandidates(), AliMUONTrackReconstructor::MakeTrackCandidates(), RemoveBadTracks(), RemoveConnectedTracks(), RemoveDoubleTracks(), RemoveIdenticalTracks(), and ResetTracks().
|
protected |
pointer to array of reconstructed tracks
Definition at line 68 of file AliMUONVTrackReconstructor.h.
Referenced by AliMUONTrackReconstructorK::ComplementTracks(), AliMUONTrackReconstructor::ComplementTracks(), DiscardMonoCathodClusters(), EventReconstruct(), Finalize(), FollowLinearTrackInChamber(), FollowLinearTrackInStation(), AliMUONTrackReconstructor::FollowTrackInChamber(), AliMUONTrackReconstructorK::FollowTrackInChamber(), AliMUONTrackReconstructor::FollowTrackInStation(), AliMUONTrackReconstructorK::FollowTrackInStation(), AliMUONTrackReconstructorK::FollowTracks(), AliMUONTrackReconstructor::FollowTracks(), AliMUONTrackReconstructorK::ImproveTrack(), AliMUONTrackReconstructor::ImproveTrack(), ImproveTracks(), AliMUONTrackReconstructorK::MakeMoreTrackCandidates(), AliMUONTrackReconstructor::MakeMoreTrackCandidates(), AliMUONTrackReconstructorK::MakeTrackCandidates(), AliMUONTrackReconstructor::MakeTrackCandidates(), RemoveBadTracks(), RemoveConnectedTracks(), RemoveDoubleTracks(), RemoveIdenticalTracks(), RemoveUsedSegments(), ResetTracks(), TagConnectedTracks(), and ~AliMUONVTrackReconstructor().