]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MFT/AliMuonForwardTrackFinder.h
Fix for ESD analysis
[u/mrichter/AliRoot.git] / MFT / AliMuonForwardTrackFinder.h
index f7e7961418137ed4225e98be815d31270a31dda6..b69dfa77d2124e356734db5d575a622297361921 100644 (file)
@@ -116,7 +116,7 @@ public:
   void SetNMaxMissingMFTClusters(Int_t nMaxMissingMFTClusters) { fNMaxMissingMFTClusters = nMaxMissingMFTClusters; }
   void SetMandatoryPlane(Int_t iPlane) { if (0<=iPlane && iPlane<AliMFTConstants::fNMaxPlanes) fIsPlaneMandatory[iPlane] = kTRUE; }
 
-  void FindClusterInPlane(Int_t planeId);
+  Int_t FindClusterInPlane(Int_t planeId);
   void AttachGoodClusterInPlane(Int_t planeId);
   void FillPlanesWithTrackHistory();
   Double_t TryOneCluster(const AliMUONTrackParam &trackParam, AliMFTCluster *cluster);
@@ -131,7 +131,7 @@ public:
   Bool_t IsMother(const Char_t *nameMother);
 
   void SetMatchingMode(Int_t matchingMode) { fMatchingMode = matchingMode; }
-  void SetMinResearchRadiusAtLastPlane(Double_t minResearchRadius) { fMinResearchRadiusAtLastPlane = minResearchRadius; }
+  void SetMinResearchRadiusAtPlane(Int_t plane, Double_t radius) { if (plane>=0 && plane<fNMaxPlanes) fMinResearchRadiusAtPlane[plane] = radius; }
 
   void FillOutputTree();
   void WriteOutputTree();
@@ -140,6 +140,7 @@ public:
   Bool_t SetRunNumber();
 
   void SetMaxNTracksToBeAnalyzed(Int_t nTracks) { fMaxNTracksToBeAnalyzed = nTracks; }
+  void SetBransonCorrection(Bool_t correction) { fBransonCorrection = correction; }
 
 private:
 
@@ -150,10 +151,13 @@ protected:
 
   static const Int_t fNMaxPlanes = AliMFTConstants::fNMaxPlanes;        // max number of MFT planes
   static const Double_t fRadLengthSi;
+  static const Int_t fMaxNCandidates = 1000;
 
   Int_t fRun; 
   Int_t fNEventsToAnalyze;           // events to analyze
   Double_t fSigmaClusterCut;         // to select the clusters in the MFT planes which are compatible with the extrapolated muon track
+  Double_t fScaleSigmaClusterCut;    // to tune the cut on the compatible clusters in case of too many candidates
+  Bool_t fGlobalTrackingDiverged;    // to keep memory of a possible divergence in the global tracking finding
   Double_t fChi2GlobalCut;           // cut on the final chi2 of the global muon track
   Double_t fSigmaSpectrometerCut;    // for the selection of the tracks in the muon spectrometer
   Double_t fVertexErrorX;            // uncertainty on the x position of the muon's origin
@@ -250,16 +254,18 @@ protected:
   TClonesArray *fMuonForwardTracks;       //! array of AliMuonForwardTrack
 
   Int_t fMatchingMode;
-  Double_t fMinResearchRadiusAtLastPlane;
+  Double_t fMinResearchRadiusAtPlane[fNMaxPlanes];
 
   AliGRPObject *fGRPData;              //! Data from the GRP/GRP/Data CDB folder
   AliRunInfo *fRunInfo;                //!
+  
+  Bool_t fBransonCorrection;    // if TRUE, Branson Correction is applied when extrapolating the MUON tracks to the vertex region
 
   ClassDef(AliMuonForwardTrackFinder, 1); 
 
 };
 
-//======================================================================================================
+//====================================================================================================================================================
  
 #endif