ROOT logo
#ifndef AliMuonForwardTrackFinder_H
#define AliMuonForwardTrackFinder_H

// ROOT includes
#include "TObject.h"
#include "TClonesArray.h"
#include "TH2D.h"
#include "TH1D.h"
#include "TFile.h"
#include "TGeoManager.h"
#include "TMatrixD.h"
#include "TParticle.h"
#include "TMath.h"
#include "TGraph.h"
#include "TEllipse.h"
#include "TCanvas.h"
#include "TString.h"
#include "TLatex.h"
#include "TMarker.h"
#include "TNtuple.h"
#include "TRandom.h"
#include "TIterator.h"

// STEER includes
#include "AliLog.h"
#include "AliRun.h"
#include "AliRunLoader.h"
#include "AliLoader.h"
#include "AliHeader.h"
#include "AliMC.h"
#include "AliStack.h"
#include "AliMagF.h"
#include "AliTracker.h"
#include "AliGRPObject.h"
#include "AliRunInfo.h"

// MUON includes
#include "AliMUONConstants.h"
#include "AliMUONTrack.h"
#include "AliMUONRecoCheck.h"
#include "AliMUONTrackParam.h"
#include "AliMUONTrackExtrap.h"
#include "AliMUONVTrackStore.h"
#include "AliMUONVCluster.h"

// MFT includes
#include "AliMuonForwardTrack.h"
#include "AliMFTCluster.h"
#include "AliMFT.h"
#include "AliMFTSegmentation.h"
#include "AliMFTConstants.h"

//====================================================================================================================================================
//
// Class for the creation of the "global muon tracks" built from the clusters in the 
// muon spectrometer and the clusters of the Muon Forward Tracker. QA histograms are also created
//
// Contact author: antonio.uras@cern.ch
//
//====================================================================================================================================================

class AliMuonForwardTrackFinder : public TObject {
  
public:

  enum matchingOption {kRealMatching, kIdealMatching};
  enum {kConverged, kDiverged};

  AliMuonForwardTrackFinder();
  
  virtual ~AliMuonForwardTrackFinder();
  
  enum {kAllClusters, kClustersGoodChi2, kClusterOfTrack, kClusterCorrectMC};

  void Init(Int_t nRun, Char_t *readDir, Char_t *outDir, Int_t nEventsToAnalyze = -1);
  Bool_t LoadNextEvent();
  Int_t LoadNextTrack();
  Int_t GetNDF(Int_t nClusters);
  void PDGNameConverter(const Char_t *nameIn, Char_t *nameOut);
  void DrawPlanes();
  void Terminate();
  void WriteHistos();

  void SetRun(Int_t nRun) { fRun = nRun; }
  void SetNEventsToAnalyze(Int_t nEventsToAnalyze) { fNEventsToAnalyze = nEventsToAnalyze; }
  void SetSigmaSpectrometerCut(Double_t sigmaSpectrometerCut) { fSigmaSpectrometerCut = sigmaSpectrometerCut; }
  void SetSigmaClusterCut(Double_t sigmaClusterCut) { fSigmaClusterCut = sigmaClusterCut; }
  void SetChi2GlobalCut(Double_t chi2GlobalCut) { fChi2GlobalCut = chi2GlobalCut; }
  void SetReadDir(Char_t *dirName) { fReadDir = dirName; }
  void SetOutDir(Char_t *dirName) { fOutDir = dirName; }
  void SetDraw(Bool_t drawOption);
  void SetRAbsorberCut(Double_t rAbsorberCut) { fRAbsorberCut = rAbsorberCut; }
  void SetLowPtCut(Double_t lowPtCut) { fLowPtCut = lowPtCut; }
  void SetNFinalCandidatesCut(Int_t nFinalCandidatesCut) { fNFinalCandidatesCut = nFinalCandidatesCut; }
  void SetVertexError(Double_t xErr, Double_t yErr, Double_t zErr) { fVertexErrorX=xErr; fVertexErrorY=yErr; fVertexErrorZ=zErr; }

  Int_t GetRun() { return fRun; }
  Int_t GetNEvents() { return fNEventsToAnalyze; }
  Double_t GetSigmaSpectrometerCut() { return fSigmaSpectrometerCut; }
  Double_t GetSigmaClusterCut() { return fSigmaClusterCut; }
  Double_t GetChi2GlobalCut() { return fChi2GlobalCut; }
  Double_t GetRAbsorberCut() { return fRAbsorberCut; }
  Double_t GetLowPtCut() { return fLowPtCut; }
  Int_t GetNPlanesMFT() { return fNPlanesMFT; }
  Int_t GetNFinalCandidatesCut() { return fNFinalCandidatesCut; }
  Int_t GetCurrentEvent() { return fEv; }

  Int_t GetNRealTracksAnalyzed() const { return fCountRealTracksAnalyzed; }
  Int_t GetNRealTracksAnalyzedOfEvent() const { return fCountRealTracksAnalyzedOfEvent; }
  Int_t GetNRealTracksWithRefMC() const { return fCountRealTracksWithRefMC; }
  Int_t GetNRealTracksWithRefMC_andTrigger() const { return fCountRealTracksWithRefMC_andTrigger; }
  Int_t GetNRealTracksWithRefMC_andTrigger_andGoodPt() const { return fCountRealTracksWithRefMC_andTrigger_andGoodPt; }
  Int_t GetNRealTracksWithRefMC_andTrigger_andGoodPt_andGoodTheta() const { return fCountRealTracksWithRefMC_andTrigger_andGoodPt_andGoodTheta; }

  void SetNPlanesMFT(Int_t nPlanesMFT) { fNPlanesMFT = nPlanesMFT; }
  void SeparateFrontBackClusters();
  void SetNMaxMissingMFTClusters(Int_t nMaxMissingMFTClusters) { fNMaxMissingMFTClusters = nMaxMissingMFTClusters; }
  void SetMandatoryPlane(Int_t iPlane) { if (0<=iPlane && iPlane<AliMFTConstants::fNMaxPlanes) fIsPlaneMandatory[iPlane] = kTRUE; }

  Int_t FindClusterInPlane(Int_t planeId);
  void AttachGoodClusterInPlane(Int_t planeId);
  void FillPlanesWithTrackHistory();
  Double_t TryOneCluster(const AliMUONTrackParam &trackParam, AliMFTCluster *cluster);
  void BookHistos();
  void SetTitleHistos();
  void BookPlanes();
  void ResetPlanes();
  void PrintParticleHistory();

  Bool_t IsCorrectMatch(AliMFTCluster *cluster);
  void CheckCurrentMuonTrackable();
  Bool_t IsMother(const Char_t *nameMother);

  void SetMatchingMode(Int_t matchingMode) { fMatchingMode = matchingMode; }
  void SetMinResearchRadiusAtPlane(Int_t plane, Double_t radius) { if (plane>=0 && plane<fNMaxPlanes) fMinResearchRadiusAtPlane[plane] = radius; }

  void FillOutputTree();
  void WriteOutputTree();

  Bool_t InitGRP();
  Bool_t SetRunNumber();

  void SetMaxNTracksToBeAnalyzed(Int_t nTracks) { fMaxNTracksToBeAnalyzed = nTracks; }
  void SetBransonCorrection(Bool_t correction) { fBransonCorrection = correction; }

private:

  AliMuonForwardTrackFinder(const AliMuonForwardTrackFinder& obj);
  AliMuonForwardTrackFinder& operator=(const AliMuonForwardTrackFinder& other);

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
  Double_t fVertexErrorY;            // uncertainty on the y position of the muon's origin
  Double_t fVertexErrorZ;            // uncertainty on the z position of the muon's origin
  Int_t fNFinalCandidatesCut;        // cut on the number of the final candidates for the muon track
  TString fReadDir;
  TString fOutDir;
  Bool_t fDrawOption;

  Double_t fDistanceFromGoodClusterAndTrackAtLastPlane;
  Double_t fDistanceFromBestClusterAndTrackAtLastPlane;

  TClonesArray *fMFTClusterArray[fNMaxPlanes];         //! array of clusters for the planes of the MFT
  TClonesArray *fMFTClusterArrayFront[fNMaxPlanes];    //! array of front clusters for the planes of the MFT
  TClonesArray *fMFTClusterArrayBack[fNMaxPlanes];     //! array of back clusters for the planes of the MFT

  Double_t fRAbsorberCut;  // in cm, corresponds to the radial position of a 3 degrees track at the end of the absorber (-503 cm)
  Double_t fLowPtCut;      // in GeV/c, the lower limit for the pt of a track in the muon spectrometer
  Int_t fNPlanesMFT;              // number of planes of the Vertex Telescope (Muon Internal Tracker) -> This should be taken from the new version of  AliVZERO2
  Int_t fNPlanesMFTAnalyzed;
  Int_t fNMaxMissingMFTClusters;  // max. number of MFT clusters which can be missed in the global fit procedure
  Bool_t fIsPlaneMandatory[fNMaxPlanes];      // specifies which MFT planes cannot be missed in the global fit procedure

  Int_t fEv;               // current event being analyzed
  Int_t fLabelMC;          // MC label of the muon track reconstructed in the spectrometer

  Bool_t fIsClusterCompatible[10];       // here the clusters in the Muon Spectrometer are concerned

  Double_t fZPlane[fNMaxPlanes];        // z-position of the MFT planes (center of the support)
  Double_t fRPlaneMax[fNMaxPlanes];     // max radius of the MFT planes (the support)
  Double_t fRPlaneMin[fNMaxPlanes];     // min radius of the MFT planes (the support)

  TH1D *fHistRadiusEndOfAbsorber, *fHistNTracksAfterExtrapolation[fNMaxPlanes];		        //
  TH1D *fHistNGoodClustersForFinalTracks, *fHistResearchRadius[fNMaxPlanes];			//
  TH1D *fHistDistanceGoodClusterFromTrackMinusDistanceBestClusterFromTrackAtLastPlane;		//
  TH1D *fHistDistanceGoodClusterFromTrackAtLastPlane;						//
  TH1D *fHistChi2Cluster_GoodCluster[fNMaxPlanes], *fHistChi2Cluster_BadCluster[fNMaxPlanes];   //
  TH1D *fHistGlobalChi2AtPlaneFor_GOOD_CandidatesOfTrackableMuons[fNMaxPlanes];		        //
  TH1D *fHistGlobalChi2AtPlaneFor_BAD_CandidatesOfTrackableMuons[fNMaxPlanes];                  //

  TNtuple *fNtuFinalCandidates;
  TNtuple *fNtuFinalBestCandidates;

  TGraph *fGrMFTPlane[4][20];             //!
  TEllipse *fCircleExt[fNMaxPlanes], *fCircleInt[fNMaxPlanes];  //!
  TCanvas *fCanvas;                       //!

  TLatex  *fTxtMuonHistory, *fTxtTrackGoodClusters, *fTxtTrackChi2[fNMaxPlanes];      //!
  TLatex  *fTxtTrackFinalChi2, *fTxtTrackMomentum, *fTxtFinalCandidates, *fTxtDummy;  //!
  TLatex  *fTxtAllClust, *fTxtClustGoodChi2, *fTxtClustMC, *fTxtClustOfTrack; 	      //!
  TMarker *fMrkAllClust, *fMrkClustGoodChi2, *fMrkClustMC, *fMrkClustOfTrack;         //!
 
  Int_t fCountRealTracksAnalyzed;
  Int_t fMaxNTracksToBeAnalyzed;
  Int_t fCountRealTracksWithRefMC; 
  Int_t fCountRealTracksWithRefMC_andTrigger;
  Int_t fCountRealTracksWithRefMC_andTrigger_andGoodPt;
  Int_t fCountRealTracksWithRefMC_andTrigger_andGoodPt_andGoodTheta;
  Int_t fCountRealTracksAnalyzedOfEvent;
  Int_t fCountRealTracksAnalyzedWithFinalCandidates;

  TFile *fFileCluster;   //!
  TFile *fFileESD;       //!
  TFile *fFile_gAlice;   //!

  AliRunLoader *fRunLoader;           //!
  AliLoader *fMFTLoader;              //!
  AliMUONRecoCheck *fMuonRecoCheck;   //!

  TTree *fMFTClusterTree;  //!

  AliMUONTrack *fMuonTrackReco;                 //! muon track being analyzed
  AliMuonForwardTrack *fCurrentTrack;           //! muon extrapolated track being tested
  AliMuonForwardTrack *fFinalBestCandidate;     //! best final candidate (if any)
  Bool_t fIsCurrentMuonTrackable;
  Bool_t fIsGoodClusterInPlane[fNMaxPlanes];

  TClonesArray *fCandidateTracks;   //! array of track we are going to build (starting from fMuonTrackReco)

  AliMUONVTrackStore *fTrackStore;      //! list of reconstructed MUON tracks 
  AliMUONVTrackStore *fTrackRefStore;   //! list of reconstructible MUON tracks
  
  TIterator *fNextTrack;   //! Iterator for reading the MUON tracks
  
  AliStack *fStack;  //!

  AliMFT *fMFT;                        //!
  AliMFTSegmentation *fSegmentation;   //!

  TFile *fOutputTreeFile, *fOutputQAFile;   //
  TTree *fOutputEventTree;                  //!

  TClonesArray *fMuonForwardTracks;       //! array of AliMuonForwardTrack

  Int_t fMatchingMode;
  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


 AliMuonForwardTrackFinder.h:1
 AliMuonForwardTrackFinder.h:2
 AliMuonForwardTrackFinder.h:3
 AliMuonForwardTrackFinder.h:4
 AliMuonForwardTrackFinder.h:5
 AliMuonForwardTrackFinder.h:6
 AliMuonForwardTrackFinder.h:7
 AliMuonForwardTrackFinder.h:8
 AliMuonForwardTrackFinder.h:9
 AliMuonForwardTrackFinder.h:10
 AliMuonForwardTrackFinder.h:11
 AliMuonForwardTrackFinder.h:12
 AliMuonForwardTrackFinder.h:13
 AliMuonForwardTrackFinder.h:14
 AliMuonForwardTrackFinder.h:15
 AliMuonForwardTrackFinder.h:16
 AliMuonForwardTrackFinder.h:17
 AliMuonForwardTrackFinder.h:18
 AliMuonForwardTrackFinder.h:19
 AliMuonForwardTrackFinder.h:20
 AliMuonForwardTrackFinder.h:21
 AliMuonForwardTrackFinder.h:22
 AliMuonForwardTrackFinder.h:23
 AliMuonForwardTrackFinder.h:24
 AliMuonForwardTrackFinder.h:25
 AliMuonForwardTrackFinder.h:26
 AliMuonForwardTrackFinder.h:27
 AliMuonForwardTrackFinder.h:28
 AliMuonForwardTrackFinder.h:29
 AliMuonForwardTrackFinder.h:30
 AliMuonForwardTrackFinder.h:31
 AliMuonForwardTrackFinder.h:32
 AliMuonForwardTrackFinder.h:33
 AliMuonForwardTrackFinder.h:34
 AliMuonForwardTrackFinder.h:35
 AliMuonForwardTrackFinder.h:36
 AliMuonForwardTrackFinder.h:37
 AliMuonForwardTrackFinder.h:38
 AliMuonForwardTrackFinder.h:39
 AliMuonForwardTrackFinder.h:40
 AliMuonForwardTrackFinder.h:41
 AliMuonForwardTrackFinder.h:42
 AliMuonForwardTrackFinder.h:43
 AliMuonForwardTrackFinder.h:44
 AliMuonForwardTrackFinder.h:45
 AliMuonForwardTrackFinder.h:46
 AliMuonForwardTrackFinder.h:47
 AliMuonForwardTrackFinder.h:48
 AliMuonForwardTrackFinder.h:49
 AliMuonForwardTrackFinder.h:50
 AliMuonForwardTrackFinder.h:51
 AliMuonForwardTrackFinder.h:52
 AliMuonForwardTrackFinder.h:53
 AliMuonForwardTrackFinder.h:54
 AliMuonForwardTrackFinder.h:55
 AliMuonForwardTrackFinder.h:56
 AliMuonForwardTrackFinder.h:57
 AliMuonForwardTrackFinder.h:58
 AliMuonForwardTrackFinder.h:59
 AliMuonForwardTrackFinder.h:60
 AliMuonForwardTrackFinder.h:61
 AliMuonForwardTrackFinder.h:62
 AliMuonForwardTrackFinder.h:63
 AliMuonForwardTrackFinder.h:64
 AliMuonForwardTrackFinder.h:65
 AliMuonForwardTrackFinder.h:66
 AliMuonForwardTrackFinder.h:67
 AliMuonForwardTrackFinder.h:68
 AliMuonForwardTrackFinder.h:69
 AliMuonForwardTrackFinder.h:70
 AliMuonForwardTrackFinder.h:71
 AliMuonForwardTrackFinder.h:72
 AliMuonForwardTrackFinder.h:73
 AliMuonForwardTrackFinder.h:74
 AliMuonForwardTrackFinder.h:75
 AliMuonForwardTrackFinder.h:76
 AliMuonForwardTrackFinder.h:77
 AliMuonForwardTrackFinder.h:78
 AliMuonForwardTrackFinder.h:79
 AliMuonForwardTrackFinder.h:80
 AliMuonForwardTrackFinder.h:81
 AliMuonForwardTrackFinder.h:82
 AliMuonForwardTrackFinder.h:83
 AliMuonForwardTrackFinder.h:84
 AliMuonForwardTrackFinder.h:85
 AliMuonForwardTrackFinder.h:86
 AliMuonForwardTrackFinder.h:87
 AliMuonForwardTrackFinder.h:88
 AliMuonForwardTrackFinder.h:89
 AliMuonForwardTrackFinder.h:90
 AliMuonForwardTrackFinder.h:91
 AliMuonForwardTrackFinder.h:92
 AliMuonForwardTrackFinder.h:93
 AliMuonForwardTrackFinder.h:94
 AliMuonForwardTrackFinder.h:95
 AliMuonForwardTrackFinder.h:96
 AliMuonForwardTrackFinder.h:97
 AliMuonForwardTrackFinder.h:98
 AliMuonForwardTrackFinder.h:99
 AliMuonForwardTrackFinder.h:100
 AliMuonForwardTrackFinder.h:101
 AliMuonForwardTrackFinder.h:102
 AliMuonForwardTrackFinder.h:103
 AliMuonForwardTrackFinder.h:104
 AliMuonForwardTrackFinder.h:105
 AliMuonForwardTrackFinder.h:106
 AliMuonForwardTrackFinder.h:107
 AliMuonForwardTrackFinder.h:108
 AliMuonForwardTrackFinder.h:109
 AliMuonForwardTrackFinder.h:110
 AliMuonForwardTrackFinder.h:111
 AliMuonForwardTrackFinder.h:112
 AliMuonForwardTrackFinder.h:113
 AliMuonForwardTrackFinder.h:114
 AliMuonForwardTrackFinder.h:115
 AliMuonForwardTrackFinder.h:116
 AliMuonForwardTrackFinder.h:117
 AliMuonForwardTrackFinder.h:118
 AliMuonForwardTrackFinder.h:119
 AliMuonForwardTrackFinder.h:120
 AliMuonForwardTrackFinder.h:121
 AliMuonForwardTrackFinder.h:122
 AliMuonForwardTrackFinder.h:123
 AliMuonForwardTrackFinder.h:124
 AliMuonForwardTrackFinder.h:125
 AliMuonForwardTrackFinder.h:126
 AliMuonForwardTrackFinder.h:127
 AliMuonForwardTrackFinder.h:128
 AliMuonForwardTrackFinder.h:129
 AliMuonForwardTrackFinder.h:130
 AliMuonForwardTrackFinder.h:131
 AliMuonForwardTrackFinder.h:132
 AliMuonForwardTrackFinder.h:133
 AliMuonForwardTrackFinder.h:134
 AliMuonForwardTrackFinder.h:135
 AliMuonForwardTrackFinder.h:136
 AliMuonForwardTrackFinder.h:137
 AliMuonForwardTrackFinder.h:138
 AliMuonForwardTrackFinder.h:139
 AliMuonForwardTrackFinder.h:140
 AliMuonForwardTrackFinder.h:141
 AliMuonForwardTrackFinder.h:142
 AliMuonForwardTrackFinder.h:143
 AliMuonForwardTrackFinder.h:144
 AliMuonForwardTrackFinder.h:145
 AliMuonForwardTrackFinder.h:146
 AliMuonForwardTrackFinder.h:147
 AliMuonForwardTrackFinder.h:148
 AliMuonForwardTrackFinder.h:149
 AliMuonForwardTrackFinder.h:150
 AliMuonForwardTrackFinder.h:151
 AliMuonForwardTrackFinder.h:152
 AliMuonForwardTrackFinder.h:153
 AliMuonForwardTrackFinder.h:154
 AliMuonForwardTrackFinder.h:155
 AliMuonForwardTrackFinder.h:156
 AliMuonForwardTrackFinder.h:157
 AliMuonForwardTrackFinder.h:158
 AliMuonForwardTrackFinder.h:159
 AliMuonForwardTrackFinder.h:160
 AliMuonForwardTrackFinder.h:161
 AliMuonForwardTrackFinder.h:162
 AliMuonForwardTrackFinder.h:163
 AliMuonForwardTrackFinder.h:164
 AliMuonForwardTrackFinder.h:165
 AliMuonForwardTrackFinder.h:166
 AliMuonForwardTrackFinder.h:167
 AliMuonForwardTrackFinder.h:168
 AliMuonForwardTrackFinder.h:169
 AliMuonForwardTrackFinder.h:170
 AliMuonForwardTrackFinder.h:171
 AliMuonForwardTrackFinder.h:172
 AliMuonForwardTrackFinder.h:173
 AliMuonForwardTrackFinder.h:174
 AliMuonForwardTrackFinder.h:175
 AliMuonForwardTrackFinder.h:176
 AliMuonForwardTrackFinder.h:177
 AliMuonForwardTrackFinder.h:178
 AliMuonForwardTrackFinder.h:179
 AliMuonForwardTrackFinder.h:180
 AliMuonForwardTrackFinder.h:181
 AliMuonForwardTrackFinder.h:182
 AliMuonForwardTrackFinder.h:183
 AliMuonForwardTrackFinder.h:184
 AliMuonForwardTrackFinder.h:185
 AliMuonForwardTrackFinder.h:186
 AliMuonForwardTrackFinder.h:187
 AliMuonForwardTrackFinder.h:188
 AliMuonForwardTrackFinder.h:189
 AliMuonForwardTrackFinder.h:190
 AliMuonForwardTrackFinder.h:191
 AliMuonForwardTrackFinder.h:192
 AliMuonForwardTrackFinder.h:193
 AliMuonForwardTrackFinder.h:194
 AliMuonForwardTrackFinder.h:195
 AliMuonForwardTrackFinder.h:196
 AliMuonForwardTrackFinder.h:197
 AliMuonForwardTrackFinder.h:198
 AliMuonForwardTrackFinder.h:199
 AliMuonForwardTrackFinder.h:200
 AliMuonForwardTrackFinder.h:201
 AliMuonForwardTrackFinder.h:202
 AliMuonForwardTrackFinder.h:203
 AliMuonForwardTrackFinder.h:204
 AliMuonForwardTrackFinder.h:205
 AliMuonForwardTrackFinder.h:206
 AliMuonForwardTrackFinder.h:207
 AliMuonForwardTrackFinder.h:208
 AliMuonForwardTrackFinder.h:209
 AliMuonForwardTrackFinder.h:210
 AliMuonForwardTrackFinder.h:211
 AliMuonForwardTrackFinder.h:212
 AliMuonForwardTrackFinder.h:213
 AliMuonForwardTrackFinder.h:214
 AliMuonForwardTrackFinder.h:215
 AliMuonForwardTrackFinder.h:216
 AliMuonForwardTrackFinder.h:217
 AliMuonForwardTrackFinder.h:218
 AliMuonForwardTrackFinder.h:219
 AliMuonForwardTrackFinder.h:220
 AliMuonForwardTrackFinder.h:221
 AliMuonForwardTrackFinder.h:222
 AliMuonForwardTrackFinder.h:223
 AliMuonForwardTrackFinder.h:224
 AliMuonForwardTrackFinder.h:225
 AliMuonForwardTrackFinder.h:226
 AliMuonForwardTrackFinder.h:227
 AliMuonForwardTrackFinder.h:228
 AliMuonForwardTrackFinder.h:229
 AliMuonForwardTrackFinder.h:230
 AliMuonForwardTrackFinder.h:231
 AliMuonForwardTrackFinder.h:232
 AliMuonForwardTrackFinder.h:233
 AliMuonForwardTrackFinder.h:234
 AliMuonForwardTrackFinder.h:235
 AliMuonForwardTrackFinder.h:236
 AliMuonForwardTrackFinder.h:237
 AliMuonForwardTrackFinder.h:238
 AliMuonForwardTrackFinder.h:239
 AliMuonForwardTrackFinder.h:240
 AliMuonForwardTrackFinder.h:241
 AliMuonForwardTrackFinder.h:242
 AliMuonForwardTrackFinder.h:243
 AliMuonForwardTrackFinder.h:244
 AliMuonForwardTrackFinder.h:245
 AliMuonForwardTrackFinder.h:246
 AliMuonForwardTrackFinder.h:247
 AliMuonForwardTrackFinder.h:248
 AliMuonForwardTrackFinder.h:249
 AliMuonForwardTrackFinder.h:250
 AliMuonForwardTrackFinder.h:251
 AliMuonForwardTrackFinder.h:252
 AliMuonForwardTrackFinder.h:253
 AliMuonForwardTrackFinder.h:254
 AliMuonForwardTrackFinder.h:255
 AliMuonForwardTrackFinder.h:256
 AliMuonForwardTrackFinder.h:257
 AliMuonForwardTrackFinder.h:258
 AliMuonForwardTrackFinder.h:259
 AliMuonForwardTrackFinder.h:260
 AliMuonForwardTrackFinder.h:261
 AliMuonForwardTrackFinder.h:262
 AliMuonForwardTrackFinder.h:263
 AliMuonForwardTrackFinder.h:264
 AliMuonForwardTrackFinder.h:265
 AliMuonForwardTrackFinder.h:266
 AliMuonForwardTrackFinder.h:267
 AliMuonForwardTrackFinder.h:268
 AliMuonForwardTrackFinder.h:269
 AliMuonForwardTrackFinder.h:270
 AliMuonForwardTrackFinder.h:271
 AliMuonForwardTrackFinder.h:272
 AliMuonForwardTrackFinder.h:273