ROOT logo
AliRoot » MUON » AliMUONTracker

class AliMUONTracker: public AliTracker

 \class AliMUONTracker

 Steering class for use in global tracking framework;
 reconstruct tracks from recpoints

 Actual tracking is performed by some AliMUONVTrackReconstructor children
 Tracking modes (ORIGINAL, KALMAN) and associated options and parameters can be changed
 through the AliMUONRecoParam object set in the reconstruction macro or read from the CDB
 (see methods in AliMUONRecoParam.h file for details)

 \author Christian Finck and Laurent Aphecetche, SUBATECH Nantes

Function Members (Methods)

public:
AliMUONTracker(const AliMUONRecoParam* recoParam, AliMUONVClusterServer* clusterServer, AliMUONVDigitStore& digitStore, const AliMUONGeometryTransformer* transformer = 0, const AliMUONTriggerCircuit* triggerCircuit = 0, const AliMUONTriggerUtilities* triggerUtilities = 0)
virtual~AliMUONTracker()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tClusters2Tracks(AliESDEvent* esd)
virtual Int_tAliTracker::Clusters2TracksHLT(AliESDEvent* event, const AliESDEvent*)
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidAliTracker::CookLabel(AliKalmanTrack* t, Float_t wrong) const
virtual voidTObject::Copy(TObject& object) const
static AliMUONVTrackReconstructor*CreateTrackReconstructor(const AliMUONRecoParam* recoParam, AliMUONVClusterServer* clusterServer, const AliMUONGeometryTransformer* transformer)
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 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
virtual voidAliTracker::FillClusterArray(TObjArray* array) const
static voidAliTracker::FillResiduals(const AliExternalTrackParam* t, const AliCluster* c, Bool_t updated = kTRUE)
static voidAliTracker::FillResiduals(const AliExternalTrackParam* t, Double_t* p, Double_t* cov, UShort_t id, Bool_t updated = kTRUE)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
static Double_tAliTrackerBase::FitTrack(AliExternalTrackParam* trackParam, AliTrackPointArray* pointArray, Double_t mass, Double_t maxStep)
static voidAliTrackerBase::GetBxByBz(const Double_t* r, Double_t* b)
static Double_tAliTrackerBase::GetBz()
static Double_tAliTrackerBase::GetBz(const Double_t* r)
virtual AliCluster*GetCluster(Int_t) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
const AliEventInfo*AliTracker::GetEventInfo() const
virtual const char*TObject::GetIconName() const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual AliPlaneEff*AliTracker::GetPlaneEff()
const AliMUONRecoParam*GetRecoParam() const
static TObjArray**AliTracker::GetResidualsArray()
Double_tAliTrackerBase::GetSigmaX() const
Double_tAliTrackerBase::GetSigmaY() const
Double_tAliTrackerBase::GetSigmaZ() const
virtual const char*TObject::GetTitle() const
virtual Bool_tAliTracker::GetTrackPoint(Int_t, AliTrackPoint&) const
virtual Bool_tAliTracker::GetTrackPointTrackingError(Int_t, AliTrackPoint&, const AliESDtrack*)
static Double_tAliTrackerBase::GetTrackPredictedChi2(AliExternalTrackParam* track, Double_t mass, Double_t step, const AliExternalTrackParam* backup)
virtual UInt_tTObject::GetUniqueID() const
Double_tAliTrackerBase::GetX() const
Double_tAliTrackerBase::GetY() const
Double_tAliTrackerBase::GetZ() 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
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual Int_tLoadClusters(TTree* clustersTree)
virtual voidTObject::ls(Option_t* option = "") const
static Double_tAliTrackerBase::MakeC(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Double_t x3, Double_t y3)
static AliExternalTrackParam*AliTrackerBase::MakeSeed(AliTrackPoint& point0, AliTrackPoint& point1, AliTrackPoint& point2)
static Double_tAliTrackerBase::MakeSnp(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Double_t x3, Double_t y3)
static Double_tAliTrackerBase::MakeTgl(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Double_t z1, Double_t z2)
static Double_tAliTrackerBase::MakeTgl(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Double_t z1, Double_t z2, Double_t c)
voidTObject::MayNotUse(const char* method) const
static Double_tAliTrackerBase::MeanMaterialBudget(const Double_t* start, const Double_t* end, Double_t* mparam)
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 = "")
virtual voidTObject::Pop()
virtual Int_tAliTracker::PostProcess(AliESDEvent*)
virtual voidTObject::Print(Option_t* option = "") const
virtual Int_tPropagateBack(AliESDEvent*)
static Bool_tAliTrackerBase::PropagateTrackTo(AliExternalTrackParam* track, Double_t x, Double_t m, Double_t maxStep, Bool_t rotateTo = kTRUE, Double_t maxSnp = 0.8, Int_t sign = 0, Bool_t addTimeStep = kFALSE, Bool_t correctMaterialBudget = kTRUE)
static Int_tAliTrackerBase::PropagateTrackTo2(AliExternalTrackParam* track, Double_t x, Double_t m, Double_t maxStep, Bool_t rotateTo = kTRUE, Double_t maxSnp = 0.8, Int_t sign = 0, Bool_t addTimeStep = kFALSE, Bool_t correctMaterialBudget = kTRUE)
static Bool_tAliTrackerBase::PropagateTrackToBxByBz(AliExternalTrackParam* track, Double_t x, Double_t m, Double_t maxStep, Bool_t rotateTo = kTRUE, Double_t maxSnp = 0.8, Int_t sign = 0, Bool_t addTimeStep = kFALSE)
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual Int_tRefitInward(AliESDEvent*)
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 = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidAliTracker::SetEventInfo(AliEventInfo* evInfo)
static voidAliTracker::SetFillResiduals(AliRecoParam::EventSpecie_t es, Bool_t flag = kTRUE)
static voidTObject::SetObjectStat(Bool_t stat)
static voidAliTracker::SetResidualsArray(TObjArray** arr)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidAliTrackerBase::SetVertex(const Double_t* xyz, const Double_t* ers = 0)
virtual voidShowMembers(TMemberInspector&)
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
static Bool_tAliTrackerBase::UniformField()
virtual voidUnloadClusters()
static voidAliTrackerBase::UpdateTrack(AliExternalTrackParam&, const AliExternalTrackParam&)
virtual voidAliTracker::UseClusters(const AliKalmanTrack* t, Int_t from = 0) const
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
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

Data Members

private:
AliMUONVClusterServer*fClusterServer!< to get clusters
AliMUONVClusterStore*fClusterStore!< cluster container
AliMUONVClusterStore*fInputClusterStore!< cluster container
AliMUONVTrackStore*fInternalTrackStore!< internal track store
Bool_tfIsOwnerOfClusterServer!< whether we are owner of the cluster server
AliMUONTrackHitPattern*fTrackHitPatternMaker!< trigger hit pattern maker
AliMUONVTrackReconstructor*fTrackReco!< track reconstructor
AliMUONVTriggerStore*fTriggerStore!< trigger information
AliMUONVTriggerTrackStore*fTriggerTrackStore!< trigger track store
const AliMUONVDigitStore&fkDigitStore!< digit info to fill in ESD
const AliMUONRecoParam*fkRecoParam!< pointer to reco param
const AliMUONGeometryTransformer*fkTransformer!< geometry transformer (not owner)
const AliMUONTriggerCircuit*fkTriggerCircuit!< trigger circuit (not owner)

Class Charts

Inheritance Chart:
TObject
AliTrackerBase
AliTracker
AliMUONTracker

Function documentation

AliMUONTracker(const AliMUONRecoParam* recoParam, AliMUONVClusterServer* clusterServer, AliMUONVDigitStore& digitStore, const AliMUONGeometryTransformer* transformer = 0, const AliMUONTriggerCircuit* triggerCircuit = 0, const AliMUONTriggerUtilities* triggerUtilities = 0)
 constructor
~AliMUONTracker()
 dtor
ClusterStore() const
 Return (and create if necessary) the cluster container
TriggerTrackStore() const
 Return (and create if necessary) the trigger track container
Int_t LoadClusters(TTree* clustersTree)
 Load triggerStore from clustersTree
Int_t Clusters2Tracks(AliESDEvent* esd)
 Performs the tracking and store the resulting tracks in the ESD

 note that we're dealing with two cluster stores here : fInputClusterStore
 and ClusterStore().
 The first one is read from the TreeR and may be used by the cluster server
 (that's the case for the legacy cluster server) to fill the other one.
 The second one is more dynamic and might be created on the fly by the cluster
 server (used by the combined tracking, in which case the first one is not used
 at all).
void FillESD(const AliMUONVTrackStore& trackStore, AliESDEvent* esd) const
 Fill the ESD from the trackStore
AliMUONVTrackReconstructor* CreateTrackReconstructor(const AliMUONRecoParam* recoParam, AliMUONVClusterServer* clusterServer, const AliMUONGeometryTransformer* transformer)
 Create track reconstructor, depending on tracking mode set in RecoParam
void UnloadClusters()
 Clear internal clusterStore
SetupClusterServer(AliMUONVClusterServer& clusterServer)
 Setup the cluster server
AliMUONTracker(const AliMUONRecoParam* recoParam, AliMUONVClusterServer* clusterServer, AliMUONVDigitStore& digitStore, const AliMUONGeometryTransformer* transformer = 0, const AliMUONTriggerCircuit* triggerCircuit = 0, const AliMUONTriggerUtilities* triggerUtilities = 0)
const AliMUONRecoParam* GetRecoParam() const
 Return reco parameters
{ return fkRecoParam; }
Int_t PropagateBack(AliESDEvent* )
 Dummy implementation
{return 0;}
Int_t RefitInward(AliESDEvent* )
 Dummy implementation
{return 0;}
AliCluster * GetCluster(Int_t ) const
 Dummy implementation
{return 0;}
AliMUONTracker& operator=(const AliMUONTracker& rhs)
 Not implemented