AliRoot Core  edcc906 (edcc906)
AliMFTTracker.h
Go to the documentation of this file.
1 #ifndef AliMFTTracker_H
2 #define AliMFTTracker_H
3 
4 /* Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice */
6 
17 
18 
19 #include "AliTracker.h"
20 #include "AliMFTConstants.h"
21 
22 class AliMFT;
23 class AliMFTTrack;
24 class AliMFTTrackFinder;
25 class AliMFTCluster;
26 class AliMFTSegmentation;
28 class AliMUONTrackParam;
29 class AliMUONTrack;
30 class AliMUONVCluster;
31 
32 //==============================================================================================
33 
34 class AliMFTTracker : public AliTracker {
35 
36 public:
37 
39 
40  AliMFTTracker();
41  virtual ~AliMFTTracker();
42 
43  Int_t LoadClusters(TTree *cf);
44  void UnloadClusters();
45  Int_t Clusters2Tracks(AliESDEvent *event);
46 
47  void SetNPlanesMFT(Int_t nPlanesMFT) { fNPlanesMFT = nPlanesMFT; }
49 
50  void SetMinResearchRadiusAtPlane(Int_t plane, Double_t radius) { if (plane>=0 && plane<fNMaxPlanes) fMinResearchRadiusAtPlane[plane] = radius; }
51 
52  void GetVertexFromMC();
53 
55  virtual Int_t PropagateBack(AliESDEvent* /*event*/) {return 0;}
57  virtual Int_t RefitInward(AliESDEvent* /*event*/) {return 0;}
59  virtual AliCluster *GetCluster(Int_t /*index*/) const {return 0;}
60 
63 
64  void LoadTracks();
65  Bool_t LinearFit(AliMFTTrack * track);
66  Double_t RunKalmanFilter(AliMUONTrackParam &trackParam, AliMUONVCluster &cluster);
67 
68 protected:
69 
70  static const Int_t fNMaxPlanes = AliMFTConstants::fNMaxPlanes; // max number of MFT planes
71  static const Double_t fRadLengthSi;
72  static const Int_t fMaxNCandidates = 1000;
73 
75 
80 
81  Double_t fSigmaClusterCut; // to select the clusters in the MFT planes which are compatible with the extrapolated muon track
82  Double_t fScaleSigmaClusterCut; // to tune the cut on the compatible clusters in case of too many candidates
83 
84  Int_t fNMaxMissingMFTClusters; // max. number of MFT clusters which can be missed in the global fit procedure
85  Bool_t fIsPlaneMandatory[fNMaxPlanes]; // specifies which MFT planes cannot be missed in the global fit procedure
86 
87  Bool_t fGlobalTrackingDiverged; // to keep memory of a possible divergence in the global tracking finding
88 
89  TClonesArray *fMFTClusterArray[fNMaxPlanes];
92 
93  TClonesArray *fCandidateTracks;
94  TClonesArray *fMFTTracks;
95 
97 
100 
101  // uncertainty on the x position of the primary vertex (seed for the extrapolation of the MUON tracks)
102  Double_t fXExtrapVertex;
103  Double_t fYExtrapVertex;
104  Double_t fZExtrapVertex;
107 
108  // generator event vertex from Monte-Carlo
109  Double_t fXVertexMC;
110  Double_t fYVertexMC;
111  Double_t fZVertexMC;
112 
113  Bool_t fBransonCorrection; // if TRUE, Branson Correction is applied when extrapolating the MUON tracks to the vertex region
114 
116 
117 
118 private:
119 
120  AliMFTTracker(const AliMFTTracker &tracker);
121  AliMFTTracker & operator=(const AliMFTTracker &tracker);
122 
124  ClassDef(AliMFTTracker,1); //MFT tracker for standalone tracks
126 
127 };
128 
129 //====================================================================================================================================================
130 
131 #endif
132 
Double_t fXExtrapVertex
best final candidate (if any)
TClonesArray * fMFTClusterArrayFront[fNMaxPlanes]
array of clusters for the planes of the MFT
Definition: AliMFTTracker.h:90
Double_t fYExtrapVertexError
Int_t fNPlanesMFTAnalyzed
Definition: AliMFTTracker.h:79
AliMFT * fMFT
pointer to the ESD event
Definition: AliMFTTracker.h:76
Double_t fZExtrapVertex
TClonesArray * fCandidateTracks
array of back clusters for the planes of the MFT
Definition: AliMFTTracker.h:93
Double_t fSigmaClusterCut
Definition: AliMFTTracker.h:81
AliMUONTrack * fMUONTrack
array of candidate MFT standalone tracks
Definition: AliMFTTracker.h:96
static const Double_t fRadLengthSi
Definition: AliMFTTracker.h:71
static const Int_t fMaxNCandidates
Definition: AliMFTTracker.h:72
Bool_t fGlobalTrackingDiverged
Definition: AliMFTTracker.h:87
AliMFTTracker & operator=(const AliMFTTracker &tracker)
Definition: AliMFT.h:42
AliMFTSegmentation * fSegmentation
Definition: AliMFTTracker.h:77
Double_t fXVertexMC
static const Int_t fNMaxPlanes
Int_t LoadClusters(TTree *cf)
Track parameters in ALICE dimuon spectrometer.
AliTPCfastTrack * track
Double_t RunKalmanFilter(AliMUONTrackParam &trackParam, AliMUONVCluster &cluster)
void SeparateFrontBackClusters()
virtual Int_t RefitInward(AliESDEvent *)
Dummy implementation.
Definition: AliMFTTracker.h:57
TClonesArray * fMFTClusterArrayBack[fNMaxPlanes]
array of front clusters for the planes of the MFT
Definition: AliMFTTracker.h:91
virtual ~AliMFTTracker()
static const Int_t fNMaxPlanes
Definition: AliMFTTracker.h:70
AliESDEvent * fESD
Definition: AliMFTTracker.h:74
void AddClustersFromPileUpEvents()
Description of an ALICE Standalone MFT track.
Definition: AliMFTTrack.h:24
AliMuonForwardTrack * fCurrentTrack
muon track being analyzed
Definition: AliMFTTracker.h:98
abstract base class for clusters
TClonesArray * fMFTTracks
array of candidate global tracks
Definition: AliMFTTracker.h:94
virtual Int_t PropagateBack(AliESDEvent *)
Dummy implementation.
Definition: AliMFTTracker.h:55
void SetMinResearchRadiusAtPlane(Int_t plane, Double_t radius)
Definition: AliMFTTracker.h:50
virtual AliCluster * GetCluster(Int_t) const
Dummy implementation.
Definition: AliMFTTracker.h:59
Double_t fYExtrapVertex
Bool_t fBransonCorrection
Double_t fMinResearchRadiusAtPlane[fNMaxPlanes]
Bool_t LinearFit(AliMFTTrack *track)
Double_t fZVertexMC
void SetNPlanesMFT(Int_t nPlanesMFT)
Definition: AliMFTTracker.h:47
void AddClustersFromUnderlyingEvent()
TClonesArray * fMFTClusterArray[fNMaxPlanes]
Definition: AliMFTTracker.h:89
Int_t fNMaxMissingMFTClusters
Definition: AliMFTTracker.h:84
Double_t fScaleSigmaClusterCut
Definition: AliMFTTracker.h:82
Class for the virtual segmentation of the ALICE Muon Forward Tracker.
AliMuonForwardTrack * fFinalBestCandidate
muon extrapolated track being tested
Definition: AliMFTTracker.h:99
Double_t fXExtrapVertexError
Reconstructed track in ALICE dimuon spectrometer.
Definition: AliMUONTrack.h:24
Double_t fYVertexMC
AliMFTTrackFinder * fTrackFinder
Definition: AliMFTTracker.h:78
Int_t Clusters2Tracks(AliESDEvent *event)
Bool_t fIsPlaneMandatory[fNMaxPlanes]
Definition: AliMFTTracker.h:85
Class for the creation of the "standalone MFT tracks".
Definition: AliMFTTracker.h:34
void GetVertexFromMC()
ALICE muon forward track, combining the information of the Muon Spectrometer and the Muon Forward Tra...