ROOT logo
AliRoot » PWG » MUON » AliAnalysisTaskLinkToMC

class AliAnalysisTaskLinkToMC: public AliAnalysisTaskSE

Function Members (Methods)

public:
AliAnalysisTaskLinkToMC()
AliAnalysisTaskLinkToMC(const char* name)
~AliAnalysisTaskLinkToMC()
virtual voidTTask::Abort()MENU
voidTObject::AbstractMethod(const char* method) const
virtual voidTTask::Add(TTask* task)
virtual voidAliAnalysisTaskSE::AddAODBranch(const char* cname, void* addobj, const char* fname = "")
virtual AliAODEvent*AliAnalysisTaskSE::AODEvent() const
virtual voidTObject::AppendPad(Option_t* option = "")
Bool_tAliAnalysisTask::AreSlotsConnected()
virtual voidTTask::Browse(TBrowser* b)
Bool_tChamberMustMatch(Int_t chamber) const
voidChamberMustMatch(Int_t chamber, Bool_t value)
Bool_tAliAnalysisTask::CheckCircularDeps()
voidAliAnalysisTask::CheckNotify(Bool_t init = kFALSE)
virtual Bool_tAliAnalysisTask::CheckOwnership() const
virtual Bool_tAliAnalysisTask::CheckPostData() const
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTTask::CleanTasks()
virtual voidTTask::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
Bool_tAliAnalysisTask::ConnectInput(Int_t islot, AliAnalysisDataContainer* cont)
virtual voidAliAnalysisTaskSE::ConnectInputData(Option_t* option = "")
Bool_tAliAnalysisTask::ConnectOutput(Int_t islot, AliAnalysisDataContainer* cont)
virtual voidTTask::Continue()MENU
virtual voidTNamed::Copy(TObject& named) const
virtual voidAliAnalysisTaskSE::CreateOutputObjects()
virtual const char*AliAnalysisTaskSE::CurrentFileName()
virtual Int_tAliAnalysisTaskSE::DebugLevel() 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
virtual voidTObject::Dump() constMENU
virtual Long64_tAliAnalysisTaskSE::Entry() const
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual AliESDfriend*AliAnalysisTaskSE::ESDfriend() const
virtual const AliEventTag*AliAnalysisTaskSE::EventTag() const
virtual voidAliAnalysisTaskSE::Exec(Option_t* option)
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 voidTTask::ExecuteTask(Option_t* option = "0")MENU
virtual voidTTask::ExecuteTasks(Option_t* option)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual voidAliAnalysisTask::FinishTaskOutput()
Bool_tGenerateHistograms() const
voidGenerateHistograms(Bool_t value)
voidAliAnalysisTask::GetBranches(const char* type, TString& result) const
Int_tTTask::GetBreakin() const
Int_tTTask::GetBreakout() const
virtual UInt_tAliAnalysisTaskSE::GetCollisionCandidates() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
TObject*AliAnalysisTask::GetInputData(Int_t islot) const
AliAnalysisDataSlot*AliAnalysisTask::GetInputSlot(Int_t islot) const
TClass*AliAnalysisTask::GetInputType(Int_t islot) const
TList*TTask::GetListOfTasks() const
virtual const char*TNamed::GetName() const
Int_tAliAnalysisTask::GetNinputs() const
Int_tAliAnalysisTask::GetNoutputs() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
TObject*AliAnalysisTask::GetOutputData(Int_t islot) const
AliAnalysisDataSlot*AliAnalysisTask::GetOutputSlot(Int_t islot) const
TClass*AliAnalysisTask::GetOutputType(Int_t islot) const
TObject*AliAnalysisTask::GetPublishedData() const
virtual TList*AliAnalysisTaskSE::GetQAHistos() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
Double_tHardCutLimitX() const
voidHardCutLimitX(Double_t value)
Double_tHardCutLimitY() const
voidHardCutLimitY(Double_t value)
Double_tHardCutLimitZ() const
voidHardCutLimitZ(Double_t value)
Bool_tAliAnalysisTask::HasBranches() const
Bool_tAliAnalysisTask::HasExecuted() const
virtual ULong_tTNamed::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
virtual voidAliAnalysisTaskSE::Init()
virtual AliVEvent*AliAnalysisTaskSE::InputEvent() const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
Bool_tTTask::IsActive() const
Bool_tAliAnalysisTask::IsChecked() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tAliAnalysisTaskSE::IsEventInBinZero()
virtual Bool_tTTask::IsFolder() const
Bool_tAliAnalysisTask::IsInitialized() const
Bool_tTObject::IsOnHeap() const
Bool_tAliAnalysisTask::IsOutputReady(Int_t islot) const
Bool_tAliAnalysisTask::IsPostEventLoop() const
Bool_tAliAnalysisTask::IsReady() const
virtual Bool_tTNamed::IsSortable() const
virtual Bool_tAliAnalysisTaskSE::IsStandardAOD() const
Bool_tAliAnalysisTask::IsUsed() const
Bool_tAliAnalysisTask::IsZombie() const
voidAliAnalysisTaskSE::LoadBranches() const
virtual voidAliAnalysisTask::LocalInit()
virtual voidTTask::ls(Option_t* option = "*") constMENU
voidTObject::MayNotUse(const char* method) const
virtual AliMCEvent*AliAnalysisTaskSE::MCEvent() const
Int_tMinClusters() const
voidMinClusters(Int_t value)
Int_tMinClustersInSt12() const
voidMinClustersInSt12(Int_t value)
Int_tMinClustersInSt45() const
voidMinClustersInSt45(Int_t value)
virtual Bool_tAliAnalysisTaskSE::Notify()
virtual Bool_tAliAnalysisTask::NotifyBinChange()
virtual voidAliAnalysisTaskSE::NotifyRun()
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 TTree*AliAnalysisTaskSE::OutputTree() const
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
voidAliAnalysisTask::PrintContainers(Option_t* option = "all", Int_t indent = 0) const
virtual voidAliAnalysisTask::PrintTask(Option_t* option = "all", Int_t indent = 0) const
Bool_tAliAnalysisTask::ProducersTouched() const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual voidAliAnalysisTask::Reset()
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
virtual voidAliAnalysisTaskSE::SelectCollisionCandidates(UInt_t offlineTriggerMask = AliVEvent::kMB)
voidTTask::SetActive(Bool_t active = kTRUE)TOGGLE
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidAliAnalysisTask::SetBranches(const char* names)
voidTTask::SetBreakin(Int_t breakin = 1)TOGGLE
voidTTask::SetBreakout(Int_t breakout = 1)TOGGLE
voidAliAnalysisTask::SetChecked(Bool_t flag = kTRUE)
virtual voidAliAnalysisTaskSE::SetDebugLevel(Int_t level)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidAliAnalysisTask::SetPostEventLoop(Bool_t flag = kTRUE)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
voidAliAnalysisTask::SetUsed(Bool_t flag = kTRUE)
voidAliAnalysisTask::SetZombie(Bool_t flag = kTRUE)
virtual voidShowMembers(TMemberInspector&)
Double_tSigmaCut() const
voidSigmaCut(Double_t value)
virtual Int_tTNamed::Sizeof() const
Bool_tStationMustMatch(Int_t station) const
voidStationMustMatch(Int_t station, Bool_t value)
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
virtual voidTerminate(Option_t* option)
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidUserCreateOutputObjects()
virtual voidUserExec(Option_t* option)
virtual voidAliAnalysisTaskSE::UserExecMix(Option_t*)
virtual Bool_tAliAnalysisTaskSE::UserNotify()
Bool_tUseZCoordinate() const
voidUseZCoordinate(Bool_t value)
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
protected:
voidAliAnalysisTaskSE::ConnectMultiHandler()
voidAliAnalysisTask::DefineInput(Int_t islot, TClass* type)
voidAliAnalysisTask::DefineOutput(Int_t islot, TClass* type)
voidAliAnalysisTaskSE::DisconnectMultiHandler()
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidAliAnalysisTask::EnableBranch(Int_t islot, const char* bname) const
char*AliAnalysisTask::GetBranchAddress(Int_t islot, const char* branch) const
voidTObject::MakeZombie()
TFile*AliAnalysisTask::OpenFile(Int_t iout, Option_t* option = "RECREATE") const
Bool_tAliAnalysisTask::PostData(Int_t iout, TObject* data, Option_t* option = "")
Bool_tAliAnalysisTask::SetBranchAddress(Int_t islot, const char* branch, void* address) const
private:
AliAnalysisTaskLinkToMC(const AliAnalysisTaskLinkToMC& obj)
voidCalculateTrackCompatibility(AliESDMuonTrack* esdTrack, AliMCParticle* mcTrack, bool& tracksCompatible, Double_t& chi2, Int_t& noOfClusters)
voidCreateAODTracks(TMap& links)
voidFillHistsFromLinks(TMap& links)
voidFillHistsFromMC()
voidFindLinksToMC(TMap& links)
boolIsFindable(AliMCParticle* track) const
AliAnalysisTaskLinkToMC&operator=(const AliAnalysisTaskLinkToMC& obj)

Data Members

protected:
Bool_tTTask::fActivetrue if task is active
TStringAliAnalysisTask::fBranchNamesList of input branches that need to be loaded for this task
Int_tTTask::fBreakin=1 if a break point set at task extry
Int_tTTask::fBreakout=1 if a break point set at task exit
Int_tAliAnalysisTaskSE::fCurrentRunNumber! Current run number
Int_tAliAnalysisTaskSE::fDebugDebug flag
AliESDfriend*AliAnalysisTaskSE::fESDfriend! ESD friend
Int_tAliAnalysisTaskSE::fEntryCurrent entry in the chain
Bool_tTTask::fHasExecutedTrue if task has executed
TList*AliAnalysisTaskSE::fHistosQA! Output histos for QA
Bool_tAliAnalysisTask::fInitializedTrue if Init() was called
AliVEvent*AliAnalysisTaskSE::fInputEvent! VEvent Input
AliInputEventHandler*AliAnalysisTaskSE::fInputHandler! Input Handler
TObjArray*AliAnalysisTask::fInputsArray of input slots
AliMCEvent*AliAnalysisTaskSE::fMCEvent! MC
AliInputEventHandler*AliAnalysisTaskSE::fMCEventHandler! pointer to MCEventHandler
AliMultiInputEventHandler*AliAnalysisTaskSE::fMultiInputHandler! pointer to multihandler
TStringTNamed::fNameobject identifier
Int_tAliAnalysisTask::fNinputsNumber of inputs
Int_tAliAnalysisTask::fNoutputsNumber of outputs
UInt_tAliAnalysisTaskSE::fOfflineTriggerMaskTask processes collision candidates only
TStringTTask::fOptionOption specified in ExecuteTask
AliAODEvent*AliAnalysisTaskSE::fOutputAOD! AOD out
Bool_t*AliAnalysisTask::fOutputReady[fNoutputs] Flags for output readyness
TObjArray*AliAnalysisTask::fOutputsArray of output slots
TObject*AliAnalysisTask::fPublishedData! published data
Bool_tAliAnalysisTask::fReadyFlag if the task is ready
TList*TTask::fTasksList of Tasks
TStringTNamed::fTitleobject title
TTree*AliAnalysisTaskSE::fTreeAAOD output Tree
static TClonesArray*AliAnalysisTaskSE::fgAODCaloClusters! CaloClusters for replication
static TClonesArray*AliAnalysisTaskSE::fgAODDimuons! Dimuons replication
static AliAODCaloTrigger*AliAnalysisTaskSE::fgAODEMCALTrigger! Emcal Trigger for replication
static AliAODCaloCells*AliAnalysisTaskSE::fgAODEmcalCells! Emcal Cell replication
static TClonesArray*AliAnalysisTaskSE::fgAODFMDClusters! FMDClusters for replication
static AliVHeader*AliAnalysisTaskSE::fgAODHeader! Header for replication
static TClonesArray*AliAnalysisTaskSE::fgAODHmpidRings! HMPID replication
static TClonesArray*AliAnalysisTaskSE::fgAODJets! Jets for replication
static TClonesArray*AliAnalysisTaskSE::fgAODMCParticles! MC Particles for replicatio
static AliAODCaloTrigger*AliAnalysisTaskSE::fgAODPHOSTrigger! Phos Trigger for replication
static TClonesArray*AliAnalysisTaskSE::fgAODPMDClusters! PMDClusters for replication
static AliAODCaloCells*AliAnalysisTaskSE::fgAODPhosCells! Phos Cell replication
static AliAODTracklets*AliAnalysisTaskSE::fgAODTracklets! Tracklets for replication
static TClonesArray*AliAnalysisTaskSE::fgAODTracks! Tracks for replication
static TClonesArray*AliAnalysisTaskSE::fgAODV0s! V0s for replication
static AliAODVZERO*AliAnalysisTaskSE::fgAODVZERO! VZERO for replication
static TClonesArray*AliAnalysisTaskSE::fgAODVertices! Vertices for replication
static TTask*TTask::fgBeginTaskpointer to task initiator
static TTask*TTask::fgBreakPointpointer to current break point
static AliTOFHeader*AliAnalysisTaskSE::fgTOFHeader! TOFHeader for replication
private:
Bool_tfChamberMustMatch[14]! A flag for each chamber which must have a compatible hit matched.
TH2D*fFakeHist! Histogram of fake tracks (filled with reconstructed information).
TH2D*fFindableHist! Histogram of reconstructible tracks (filled with MC information).
TH2D*fFoundHist! Histogram of reconstructed tracks (filled with reconstructed information).
TH2D*fFoundHistMC! Histogram of reconstructed tracks (filled with MC information).
Double_tfHardCutLimitX! The absolute maximum difference between a cluster and reference track point in X direction in centimetres.
Double_tfHardCutLimitY! The absolute maximum difference between a cluster and reference track point in Y direction in centimetres.
Double_tfHardCutLimitZ! The absolute maximum difference between a cluster and reference track point in Z direction in centimetres.
TList*fHistos! List of all histograms produced by this analysis task.
Bool_tfMakeHists! Flag indicating if histogram filling and generation should be performed.
Int_tfMinClusters! Minimum number of clusters that must match between an ESD and MC track for it to be considered compatible.
Int_tfMinClustersInSt12! The minimum number of clusters that must match in stations 1 and 2.
Int_tfMinClustersInSt45! The minimum number of clusters that must match in stations 4 and 5.
Double_tfSigmaCut2! The cut on the chi2 X/Y direction component to make for each cluster fit.
Bool_tfStationMustMatch[7]! A flag for each station which must have at least one compatible hit matched.
Bool_tfUseZCoordinate! Flag indicating if the Z coordinate should be used for comparrison.
Double_tfVarX! The variance to use in the X direction if error value in the cluster was not set.
Double_tfVarY! The variance to use in the Y direction if error value in the cluster was not set.

Class Charts

Inheritance Chart:
TTask
AliAnalysisTask
AliAnalysisTaskSE
AliAnalysisTaskLinkToMC

Function documentation

void HardCutLimitX(Double_t value)
 Sets the absolute maximum distance in centimetres between the cluster
 and track reference that is allowed in the X direction.
void HardCutLimitY(Double_t value)
 Sets the absolute maximum distance in centimetres between the cluster
 and track reference that is allowed in the Y direction.
void HardCutLimitZ(Double_t value)
 Sets the absolute maximum distance in centimetres between the cluster
 and track reference that is allowed in the Z direction.
Double_t SigmaCut() const
 Returns the maximum sigma value to allow for each X and Y dimension
 between clusters and track references.
Bool_t ChamberMustMatch(Int_t chamber) const
 Returns the flag indicating if the ESD track cluster on the given
 chamber must match a corresponding track reference to be valid.
 \param chamber The chamber number must be in the range 1 to 14.
void ChamberMustMatch(Int_t chamber, Bool_t value)
 Set the flag indicating if the ESD track cluster on the given chamber
 must match a corresponding track reference to be valid.
 \param chamber The chamber number must be in the range 1 to 14.
 \param value  The new value to set to.
Bool_t StationMustMatch(Int_t station) const
 Returns the flag indicating if at least one ESD track cluster on the
 given station must match a corresponding track reference to be valid.
 \param station The station number must be in the range 1..7. Station
     1 to 5 are the tracking stations while 6 is MT1 and 7 is MT2.
void StationMustMatch(Int_t station, Bool_t value)
 Sets the flag indicating if at least one ESD track cluster on the
 given station must match a corresponding track reference to be valid.
 \param station The station number must be in the range 1..7. Station
     1 to 5 are the tracking stations while 6 is MT1 and 7 is MT2.
 \param value  The new value to set to.
AliAnalysisTaskLinkToMC()
 Default constructor.
 Sets input slot 0 to TChain input for ESDs, output slot 0 to TTree
 for AODs and output slot 1 to TList for the list of output histograms.
 The output histograms generated are to cross check the quality of the
 correlation and their generation can be turned off with
 AliAnalysisTaskLinkToMC::GenerateHistograms(false).
AliAnalysisTaskLinkToMC(const char* name)
 Constructor with a task name.
 Sets input slot 0 to TChain input for ESDs, output slot 0 to TTree
 for AODs and output slot 1 to TList for the list of output histograms
 storing histograms generated to cross check the quility of the
 correlation.
 \param name  The name of the task.
void UserCreateOutputObjects()
 Creates the output histograms containing findable tracks, found tracks
 and fake tracks. The binning range for all histograms is 30 bins along
 the pT dimension (X direction) from 0 to 20 GeV/c and 30 bins in the
 rapidity dimension (Y direction) form -4 to -2.4 units.
void UserExec(Option_t* option)
 This is the top level method that performs the work of the task.
 It will fill the histograms for quality checking with the Monte
 Carlo (MC) information if they are to be generated.
 The input event is then processed which must be of type AliESDEvent.
 For all the ESD muon tracks we try to find the corresponding MC
 track and build a TMap for the mapping.
 If the AOD output event is available then it is filled with AOD
 tracks which copy the information form the ESD track and the AOD
 track label is filled with the corresponding MC track label.
 If a corresponding MC track could not be found then the AOD track
 label is filled with -1.
 Finally the checking histograms are further filled with the ESD
 information based on the ESD to MC track map.
void Terminate(Option_t* option)
 The terminate method will draw the histograms filled by this task if
 they were filled by setting appropriate flag with the
 GenerateHistograms(true) method, which is the default.
bool IsFindable(AliMCParticle* track) const
 This method is used to identify if a Monte Carlo (MC) track is in principle
 findable in the muon spectrometer.
 This means the MC track must be a muon particle and leave at least one track
 reference point on either chamber in each tracking station.
 \param track  The MC track to check.
 \returns  true if the track is findable by the muon spectrometer
    and false otherwise.
 \note  The definition of track find-ability does not affect the correlation
    between ESD and MC tracks nor the generation of the AOD output tracks,
    only the histogram of findable tracks is effected if it is generated at all.
void FillHistsFromMC()
 Fills the histogram containing findable tracks from the MC event information.
 Only MC tracks for which the IsFindable method returns true are added
 to the histogram.
void FillHistsFromLinks(TMap& links)
 Fills the histograms containing found tracks and fake tracks.
 Found tracks are all those that have a ESD muon track in the ESD event
 and for which a corresponding MC track could be found.
 Fake tracks are ESD muon tracks for which no corresponding MC track
 could be matched so it is considered a fake track.
 \param links  This contains the mapping between ESD muon tracks and
    MC tracks. ESD tracks for which no MC track could be matched should
    have the "value" of the key/value pair in the mapping set to NULL.
void CreateAODTracks(TMap& links)
 This code is copied from AliAnalysisTaskESDMuonFilter::ConvertESDtoAOD with
 modifications to fill the MC track label using the ESD to MC track mapping.
 \param links  This is the mapping between ESD tracks and MC tracks.
void FindLinksToMC(TMap& links)
 Finds all MC tracks that correspond to their ESD tracks and creates a
 mapping between the ESD tracks and MC tracks which is filled into the
 'links' TMap object.
 \param links  This will be filled with the ESD and MC track pairs which
    have been matched. Thus, for each ESD track which is set as the TMap key,
    the corresponding MC track is identified by the TMap value. If no
    MC track could be matched then the MC track value is set to NULL.
void CalculateTrackCompatibility(AliESDMuonTrack* esdTrack, AliMCParticle* mcTrack, bool& tracksCompatible, Double_t& chi2, Int_t& noOfClusters)
 Calculates the compatibility between a ESD and MC track pair.
 For each cluster of the ESD track, two track references are found
 which are spatially closest to it. If the distance between the cluster
 and track reference is larger than the HardCutLimit*() parameters then
 the track reference is not used. The average coordinate is calculated
 from the two track references found and the chi-square between the cluster
 and average coordinate is calculated. If only one track reference is
 found then it is used for the calculation without taking an average.
 If no track references are found then the cluster is not matched and
 we continue to the next cluster.
 If the chi-squared value for the cluster / track reference pair is
 larger than that allowed by the SigmaCut() parameter then the cluster
 is also considered not to be matched.
 The tracks are compatible if the ESD track has a minimum number of
 clusters matched with MC track references from the MC track.
 [in] \param esdTrack  The ESD track we are trying to match.
 [in] \param mcTrack  The MC track we are trying to match the ESD track to.
 [out] \param tracksCompatible  Filled with true if the given esdTrack
     and mcTrack are compatible.
 [out] \param chi2  Filled with the total chi-squared calculated for all
     matched clusters.
 [out] \param noOfClusters  Filled with the number of clusters that were
     matched to at least one track reference.
AliAnalysisTaskLinkToMC()
Double_t HardCutLimitX() const
 Returns the absolute maximum distance in centimetres between the
 cluster and track reference that is allowed in the X direction.
{ return fHardCutLimitX; }
Double_t HardCutLimitY() const
 Returns the absolute maximum distance in centimetres between the
 cluster and track reference that is allowed in the Y direction.
{ return fHardCutLimitY; }
Double_t HardCutLimitZ() const
 Returns the absolute maximum distance in centimetres between the
 cluster and track reference that is allowed in the Z direction.
{ return fHardCutLimitZ; }
Double_t SigmaCut() const
Int_t MinClusters() const
 Returns the minimum number of clusters that must match between the
 ESD track clusters and track references.
{ return fMinClusters; }
void MinClusters(Int_t value)
 Sets the minimum number of clusters that must match between the ESD
 track clusters and track references.
{ fMinClusters = value; }
Int_t MinClustersInSt12() const
 Returns the minimum number of clusters that must match between the
 ESD track clusters and track references in stations 1 and 2.
{ return fMinClustersInSt12; }
void MinClustersInSt12(Int_t value)
 Sets the minimum number of clusters that must match between the ESD
 track clusters and track references in stations 1 and 2.
{ fMinClustersInSt12 = value; }
Int_t MinClustersInSt45() const
 Returns the minimum number of clusters that must match between the
 ESD track clusters and track references in stations 4 and 5.
{ return fMinClustersInSt45; }
void MinClustersInSt45(Int_t value)
 Sets the minimum number of clusters that must match between the ESD
 track clusters and track references in stations 4 and 5.
{ fMinClustersInSt45 = value; }
Bool_t GenerateHistograms() const
 Returns the flag indicating if histograms should be generated for
 checking the quality of track matching.
{ return fMakeHists; }
void GenerateHistograms(Bool_t value)
 Set the flag indicating if histograms should be generated for checking
 the quality of track matching.
{ fMakeHists = value; }
Bool_t UseZCoordinate() const
 Returns the flag indicating if the Z coordinate is to be used for
 track matching or not.
{ return fUseZCoordinate; }
void UseZCoordinate(Bool_t value)
 Set the flag indicating if the Z coordinate should be used for track
 matching.
{ fUseZCoordinate = value; }