ROOT logo
AliRoot » HMPID » AliHMPIDTracker

class AliHMPIDTracker: public AliTracker

Function Members (Methods)

public:
AliHMPIDTracker()
virtual~AliHMPIDTracker()
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*)
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
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 voidFillClusterArray(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()
static TObjArray**AliTracker::GetResidualsArray()
Double_tAliTrackerBase::GetSigmaX() const
Double_tAliTrackerBase::GetSigmaY() const
Double_tAliTrackerBase::GetSigmaZ() const
virtual const char*TObject::GetTitle() const
virtual Bool_tGetTrackPoint(Int_t idx, AliTrackPoint& pt) 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
static Int_tIntTrkCha(AliESDtrack* pTrk, Float_t& xPc, Float_t& yPc, Float_t& xRa, Float_t& yRa, Float_t& theta, Float_t& phi)
static Int_tIntTrkCha(Int_t ch, AliHMPIDtrack* pTrk, Float_t& xPc, Float_t& yPc, Float_t& xRa, Float_t& yRa, Float_t& theta, Float_t& phi)
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* pCluTr)
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* pEsd)
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)
Int_tRecon(AliESDEvent* pEsd, TObjArray* pClus, TObjArray* pNmean = 0, TObjArray* pQthre = 0)
Int_tReconFromKin(AliESDEvent* pEsd, TObjArray* pClus, TObjArray* pNmean = 0, TObjArray* pQthre = 0)
Int_tReconHiddenTrk(AliESDEvent* pEsd, TObjArray* pClus, TObjArray* pNmean = 0, TObjArray* pQthre = 0)
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

protected:
TObjArray*fClu! each chamber holds it's one list of clusters
TTreeSRedirector*fDebugStreamer!debug streamer

Class Charts

Inheritance Chart:
TObject
AliTrackerBase
AliTracker
AliHMPIDTracker

Function documentation

AliHMPIDTracker()
 ctor. Create TObjArray of TClonesArray of AliHMPIDCluster


~AliHMPIDTracker()
 destructor

Bool_t GetTrackPoint(Int_t idx, AliTrackPoint& pt) const
 Interface callback methode invoked from AliReconstruction::WriteAlignmentData() to get position of MIP cluster in MARS associated to a current track.
 MIP cluster is reffered by index which is stored in AliESDtrack  ???????
 Arguments: idx- cluster index which is stored by HMPID in AliESDtrack
            point- reference to the object where to store the point
   Returns: status of operation  if FALSE then AliReconstruction::WriteAlignmentData() do not store this point to array of points for current track.
Int_t IntTrkCha(AliESDtrack* pTrk, Float_t& xPc, Float_t& yPc, Float_t& xRa, Float_t& yRa, Float_t& theta, Float_t& phi)
 Static method to find intersection in between given track and HMPID chambers
 Arguments: pTrk- ESD track; xPc,yPc- track intersection with PC in LORS [cm]
   Returns: intersected chamber ID or -1
Int_t IntTrkCha(Int_t ch, AliHMPIDtrack* pTrk, Float_t& xPc, Float_t& yPc, Float_t& xRa, Float_t& yRa, Float_t& theta, Float_t& phi)
 Static method to find intersection in between given track and HMPID chambers
 Arguments: pTrk- HMPID track; xPc,yPc- track intersection with PC in LORS [cm]
   Returns: intersected chamber ID or -1
Int_t LoadClusters(TTree* pCluTr)
 Interface callback methode invoked from AliReconstruction::RunTracking() to load HMPID clusters before PropagateBack() gets control. Done once per event.
 Arguments: pCluTree- pointer to clusters tree got by AliHMPIDLoader::LoadRecPoints("read") then AliHMPIDLoader::TreeR()
   Returns: error code (currently ignored in AliReconstruction::RunTraking())
Int_t PropagateBack(AliESDEvent* pEsd)
 Interface pure virtual in AliTracker. Invoked from AliReconstruction::RunTracking() after invocation of AliTracker::LoadClusters() once per event
 Agruments: pEsd - pointer to ESD
   Returns: error code
Int_t Recon(AliESDEvent* pEsd, TObjArray* pClus, TObjArray* pNmean = 0, TObjArray* pQthre = 0)
 Static method to reconstruct the Cherenkov angle for all valid tracks of a given event.
 Arguments: pEsd- pointer ESD; pClu- pointer to clusters for all chambers; pNmean - pointer to all function Nmean=f(time)
 Returns: error code, 0 if no errors

 Algortihm: Loop over tracks

 1. Find the closest MIP cluster using fast tracks extrapolation method
 2. Propagate track to the MIP cluster using the STEER method
 3. Update the track information with MIP cluster (Improved angular and position resolution - to be used for Cherenkov angle calculation)
 4. Propagate back the constrained track to the radiator radius ( not exact yet)
 5. Propagation in the last 10 cm with the fast method
 6. Set ESDtrack information
 7. Calculate the Cherenkov angle
Int_t ReconFromKin(AliESDEvent* pEsd, TObjArray* pClus, TObjArray* pNmean = 0, TObjArray* pQthre = 0)
 Static method to reconstruct Theta Ckov for all valid tracks of a given event.
 Arguments: pEsd- pointer ESD; pClu- pointer to clusters for all chambers; pNmean - pointer to all function Nmean=f(time)
   Returns: error code, 0 if no errors
Int_t ReconHiddenTrk(AliESDEvent* pEsd, TObjArray* pClus, TObjArray* pNmean = 0, TObjArray* pQthre = 0)
 Static method to reconstruct Theta Ckov for all valid tracks of a given event.
 Arguments: pEsd- pointer ESD; pClu- pointer to clusters for all chambers; pNmean - pointer to all function Nmean=f(time), pQthre - pointer to all function Qthre=f(time)
   Returns: error code, 0 if no errors
void FillClusterArray(TObjArray* array) const
AliHMPIDTracker()
AliCluster * GetCluster(Int_t ) const
framework part
{return 0;}
Int_t Clusters2Tracks(AliESDEvent* )
{return 0;}
Int_t RefitInward(AliESDEvent* )
{return 0;}
void UnloadClusters()
{ }
AliHMPIDTracker & operator=(const AliHMPIDTracker& r)