ROOT logo
AliRoot » MFT » AliMuonForwardTrackFinder

class AliMuonForwardTrackFinder: public TObject


 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


Function Members (Methods)

public:
AliMuonForwardTrackFinder()
virtual~AliMuonForwardTrackFinder()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
voidAttachGoodClusterInPlane(Int_t planeId)
voidBookHistos()
voidBookPlanes()
virtual voidTObject::Browse(TBrowser* b)
voidCheckCurrentMuonTrackable()
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
voidDrawPlanes()
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
voidFillOutputTree()
voidFillPlanesWithTrackHistory()
Int_tFindClusterInPlane(Int_t planeId)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Double_tGetChi2GlobalCut()
Int_tGetCurrentEvent()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
Double_tGetLowPtCut()
virtual const char*TObject::GetName() const
Int_tGetNDF(Int_t nClusters)
Int_tGetNEvents()
Int_tGetNFinalCandidatesCut()
Int_tGetNPlanesMFT()
Int_tGetNRealTracksAnalyzed() const
Int_tGetNRealTracksAnalyzedOfEvent() const
Int_tGetNRealTracksWithRefMC() const
Int_tGetNRealTracksWithRefMC_andTrigger() const
Int_tGetNRealTracksWithRefMC_andTrigger_andGoodPt() const
Int_tGetNRealTracksWithRefMC_andTrigger_andGoodPt_andGoodTheta() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Double_tGetRAbsorberCut()
Int_tGetRun()
Double_tGetSigmaClusterCut()
Double_tGetSigmaSpectrometerCut()
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
voidInit(Int_t nRun, Char_t* readDir, Char_t* outDir, Int_t nEventsToAnalyze = -1)
Bool_tInitGRP()
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
Bool_tIsCorrectMatch(AliMFTCluster* cluster)
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tIsMother(const Char_t* nameMother)
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
Bool_tLoadNextEvent()
Int_tLoadNextTrack()
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
virtual voidTObject::Paint(Option_t* option = "")
voidPDGNameConverter(const Char_t* nameIn, Char_t* nameOut)
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
voidPrintParticleHistory()
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
voidResetPlanes()
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidSeparateFrontBackClusters()
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetBransonCorrection(Bool_t correction)
voidSetChi2GlobalCut(Double_t chi2GlobalCut)
voidSetDraw(Bool_t drawOption)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetLowPtCut(Double_t lowPtCut)
voidSetMandatoryPlane(Int_t iPlane)
voidSetMatchingMode(Int_t matchingMode)
voidSetMaxNTracksToBeAnalyzed(Int_t nTracks)
voidSetMinResearchRadiusAtPlane(Int_t plane, Double_t radius)
voidSetNEventsToAnalyze(Int_t nEventsToAnalyze)
voidSetNFinalCandidatesCut(Int_t nFinalCandidatesCut)
voidSetNMaxMissingMFTClusters(Int_t nMaxMissingMFTClusters)
voidSetNPlanesMFT(Int_t nPlanesMFT)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetOutDir(Char_t* dirName)
voidSetRAbsorberCut(Double_t rAbsorberCut)
voidSetReadDir(Char_t* dirName)
voidSetRun(Int_t nRun)
Bool_tSetRunNumber()
voidSetSigmaClusterCut(Double_t sigmaClusterCut)
voidSetSigmaSpectrometerCut(Double_t sigmaSpectrometerCut)
voidSetTitleHistos()
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetVertexError(Double_t xErr, Double_t yErr, Double_t zErr)
virtual voidShowMembers(TMemberInspector&)
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
voidTerminate()
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
Double_tTryOneCluster(const AliMUONTrackParam& trackParam, AliMFTCluster* cluster)
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
voidWriteHistos()
voidWriteOutputTree()
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

Data Members

public:
enum matchingOption { kRealMatching
kIdealMatching
};
enum { kConverged
kDiverged
kAllClusters
kClustersGoodChi2
kClusterOfTrack
kClusterCorrectMC
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Bool_tfBransonCorrectionif TRUE, Branson Correction is applied when extrapolating the MUON tracks to the vertex region
TClonesArray*fCandidateTracks! array of track we are going to build (starting from fMuonTrackReco)
TCanvas*fCanvas!
Double_tfChi2GlobalCutcut on the final chi2 of the global muon track
TEllipse*fCircleExt[20]
TEllipse*fCircleInt[20]!
Int_tfCountRealTracksAnalyzed
Int_tfCountRealTracksAnalyzedOfEvent
Int_tfCountRealTracksAnalyzedWithFinalCandidates
Int_tfCountRealTracksWithRefMC
Int_tfCountRealTracksWithRefMC_andTrigger
Int_tfCountRealTracksWithRefMC_andTrigger_andGoodPt
Int_tfCountRealTracksWithRefMC_andTrigger_andGoodPt_andGoodTheta
AliMuonForwardTrack*fCurrentTrack! muon extrapolated track being tested
Double_tfDistanceFromBestClusterAndTrackAtLastPlane
Double_tfDistanceFromGoodClusterAndTrackAtLastPlane
Bool_tfDrawOption
Int_tfEvcurrent event being analyzed
TFile*fFileCluster!
TFile*fFileESD!
TFile*fFile_gAlice!
AliMuonForwardTrack*fFinalBestCandidate! best final candidate (if any)
AliGRPObject*fGRPData! Data from the GRP/GRP/Data CDB folder
Bool_tfGlobalTrackingDivergedto keep memory of a possible divergence in the global tracking finding
TGraph*fGrMFTPlane[4][20]!
TH1D*fHistChi2Cluster_BadCluster[20]
TH1D*fHistChi2Cluster_GoodCluster[20]
TH1D*fHistDistanceGoodClusterFromTrackAtLastPlane
TH1D*fHistDistanceGoodClusterFromTrackMinusDistanceBestClusterFromTrackAtLastPlane
TH1D*fHistGlobalChi2AtPlaneFor_BAD_CandidatesOfTrackableMuons[20]
TH1D*fHistGlobalChi2AtPlaneFor_GOOD_CandidatesOfTrackableMuons[20]
TH1D*fHistNGoodClustersForFinalTracks
TH1D*fHistNTracksAfterExtrapolation[20]
TH1D*fHistRadiusEndOfAbsorber
TH1D*fHistResearchRadius[20]
Bool_tfIsClusterCompatible[10]here the clusters in the Muon Spectrometer are concerned
Bool_tfIsCurrentMuonTrackable
Bool_tfIsGoodClusterInPlane[20]
Bool_tfIsPlaneMandatory[20]specifies which MFT planes cannot be missed in the global fit procedure
Int_tfLabelMCMC label of the muon track reconstructed in the spectrometer
Double_tfLowPtCutin GeV/c, the lower limit for the pt of a track in the muon spectrometer
AliMFT*fMFT!
TClonesArray*fMFTClusterArray[20]! array of clusters for the planes of the MFT
TClonesArray*fMFTClusterArrayBack[20]! array of back clusters for the planes of the MFT
TClonesArray*fMFTClusterArrayFront[20]! array of front clusters for the planes of the MFT
TTree*fMFTClusterTree!
AliLoader*fMFTLoader!
Int_tfMatchingMode
static const Int_tfMaxNCandidates
Int_tfMaxNTracksToBeAnalyzed
Double_tfMinResearchRadiusAtPlane[20]
TMarker*fMrkAllClust
TMarker*fMrkClustGoodChi2
TMarker*fMrkClustMC
TMarker*fMrkClustOfTrack!
TClonesArray*fMuonForwardTracks! array of AliMuonForwardTrack
AliMUONRecoCheck*fMuonRecoCheck!
AliMUONTrack*fMuonTrackReco! muon track being analyzed
Int_tfNEventsToAnalyzeevents to analyze
Int_tfNFinalCandidatesCutcut on the number of the final candidates for the muon track
Int_tfNMaxMissingMFTClustersmax. number of MFT clusters which can be missed in the global fit procedure
static const Int_tfNMaxPlanesmax number of MFT planes
Int_tfNPlanesMFTnumber of planes of the Vertex Telescope (Muon Internal Tracker) -> This should be taken from the new version of AliVZERO2
Int_tfNPlanesMFTAnalyzed
TIterator*fNextTrack! Iterator for reading the MUON tracks
TNtuple*fNtuFinalBestCandidates
TNtuple*fNtuFinalCandidates
TStringfOutDir
TTree*fOutputEventTree!
TFile*fOutputQAFile
TFile*fOutputTreeFile
Double_tfRAbsorberCutin cm, corresponds to the radial position of a 3 degrees track at the end of the absorber (-503 cm)
Double_tfRPlaneMax[20]max radius of the MFT planes (the support)
Double_tfRPlaneMin[20]min radius of the MFT planes (the support)
static const Double_tfRadLengthSi
TStringfReadDir
Int_tfRun
AliRunInfo*fRunInfo!
AliRunLoader*fRunLoader!
Double_tfScaleSigmaClusterCutto tune the cut on the compatible clusters in case of too many candidates
AliMFTSegmentation*fSegmentation!
Double_tfSigmaClusterCutto select the clusters in the MFT planes which are compatible with the extrapolated muon track
Double_tfSigmaSpectrometerCutfor the selection of the tracks in the muon spectrometer
AliStack*fStack!
AliMUONVTrackStore*fTrackRefStore! list of reconstructible MUON tracks
AliMUONVTrackStore*fTrackStore! list of reconstructed MUON tracks
TLatex*fTxtAllClust
TLatex*fTxtClustGoodChi2
TLatex*fTxtClustMC
TLatex*fTxtClustOfTrack!
TLatex*fTxtDummy!
TLatex*fTxtFinalCandidates
TLatex*fTxtMuonHistory
TLatex*fTxtTrackChi2[20]!
TLatex*fTxtTrackFinalChi2
TLatex*fTxtTrackGoodClusters
TLatex*fTxtTrackMomentum
Double_tfVertexErrorXuncertainty on the x position of the muon's origin
Double_tfVertexErrorYuncertainty on the y position of the muon's origin
Double_tfVertexErrorZuncertainty on the z position of the muon's origin
Double_tfZPlane[20]z-position of the MFT planes (center of the support)

Class Charts

Inheritance Chart:
TObject
AliMuonForwardTrackFinder

Function documentation

AliMuonForwardTrackFinder()
~AliMuonForwardTrackFinder()
void Init(Int_t nRun, Char_t* readDir, Char_t* outDir, Int_t nEventsToAnalyze = -1)
Bool_t LoadNextEvent()
Int_t LoadNextTrack()
Int_t FindClusterInPlane(Int_t planeId)
void AttachGoodClusterInPlane(Int_t planeId)
void CheckCurrentMuonTrackable()
void FillPlanesWithTrackHistory()
Bool_t IsCorrectMatch(AliMFTCluster* cluster)
Double_t TryOneCluster(const AliMUONTrackParam& trackParam, AliMFTCluster* cluster)
void SeparateFrontBackClusters()
Int_t GetNDF(Int_t nClusters)
void BookHistos()
void SetTitleHistos()
void BookPlanes()
void ResetPlanes()
void PrintParticleHistory()
Bool_t IsMother(const Char_t* nameMother)
void DrawPlanes()
void Terminate()
void FillOutputTree()
void WriteOutputTree()
void WriteHistos()
void PDGNameConverter(const Char_t* nameIn, Char_t* nameOut)
void SetDraw(Bool_t drawOption)
Bool_t InitGRP()
Bool_t SetRunNumber()
AliMuonForwardTrackFinder()
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 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)
Int_t GetRun()
{ return fRun; }
Int_t GetNEvents()
{ return fNEventsToAnalyze; }
Double_t GetSigmaSpectrometerCut()
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()
Int_t GetCurrentEvent()
{ return fEv; }
Int_t GetNRealTracksAnalyzed() const
Int_t GetNRealTracksAnalyzedOfEvent() const
Int_t GetNRealTracksWithRefMC() const
Int_t GetNRealTracksWithRefMC_andTrigger() const
Int_t GetNRealTracksWithRefMC_andTrigger_andGoodPt() const
Int_t GetNRealTracksWithRefMC_andTrigger_andGoodPt_andGoodTheta() const
void SetNPlanesMFT(Int_t nPlanesMFT)
{ fNPlanesMFT = nPlanesMFT; }
void SetNMaxMissingMFTClusters(Int_t nMaxMissingMFTClusters)
{ fNMaxMissingMFTClusters = nMaxMissingMFTClusters; }
void SetMandatoryPlane(Int_t iPlane)
{ if (0<=iPlane && iPlane<AliMFTConstants::fNMaxPlanes) fIsPlaneMandatory[iPlane] = kTRUE; }
void SetMatchingMode(Int_t matchingMode)
{ fMatchingMode = matchingMode; }
void SetMinResearchRadiusAtPlane(Int_t plane, Double_t radius)
{ if (plane>=0 && plane<fNMaxPlanes) fMinResearchRadiusAtPlane[plane] = radius; }
void SetMaxNTracksToBeAnalyzed(Int_t nTracks)
void SetBransonCorrection(Bool_t correction)
{ fBransonCorrection = correction; }
AliMuonForwardTrackFinder& operator=(const AliMuonForwardTrackFinder& other)