/************************************************************************** * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * * * * Author: The ALICE Off-line Project. * * Contributors are mentioned in the code where appropriate. * * * * Permission to use, copy, modify and distribute this software and its * * documentation strictly for non-commercial purposes is hereby granted * * without fee, provided that the above copyright notice appears in all * * copies and that both the copyright notice and this permission notice * * appear in the supporting documentation. The authors make no claims * * about the suitability of this software for any purpose. It is * * provided "as is" without express or implied warranty. * **************************************************************************/ #include "AliMUONTracker.h" #include "AliMUONTrackReconstructorK.h" #include "AliMUONTrackReconstructor.h" #include "AliMUONData.h" #include "AliLog.h" //_____________________________________________________________________________ AliMUONTracker::AliMUONTracker() : AliTracker(), fTriggerCircuit(0x0), fMUONData(0x0), fTrackReco(0x0) { /// constructor } //_____________________________________________________________________________ AliMUONTracker::~AliMUONTracker() { /// dtr delete fTrackReco; } //_____________________________________________________________________________ void AliMUONTracker::SetOption(Option_t* option) { /// set reconstructor class if (!fMUONData) AliError("MUONData not defined"); if (!fTriggerCircuit) AliError("TriggerCircuit not defined"); if (strstr(option,"Original")) fTrackReco = new AliMUONTrackReconstructor(fMUONData); else if (strstr(option,"Combi")) fTrackReco = new AliMUONTrackReconstructorK(fMUONData,"Combi"); else fTrackReco = new AliMUONTrackReconstructorK(fMUONData,"Kalman"); fTrackReco->SetTriggerCircuit(fTriggerCircuit); } //_____________________________________________________________________________ Int_t AliMUONTracker::Clusters2Tracks(AliESD* /*esd*/) { /// clusters2Tracks method /// in general tracking framework // open TClonesArray for reading fMUONData->SetTreeAddress("TC,RC"); // open for writing // trigger branch fMUONData->MakeBranch("RL"); //trigger track fMUONData->SetTreeAddress("RL"); fTrackReco->EventReconstructTrigger(); fMUONData->Fill("RL"); // tracking branch fMUONData->MakeBranch("RT"); //track fMUONData->SetTreeAddress("RT"); fTrackReco->EventReconstruct(); fMUONData->Fill("RT"); fMUONData->ResetRecTracks(); fMUONData->ResetRecTriggerTracks(); return kTRUE; }