#include "AliTracker.h"
#include "TObject.h"
-
+#include "AliESDTOFCluster.h"
+#include "AliESDTOFHit.h"
class TClonesArray;
class TObjArray;
AliTOFtrackPoint() :
fIndex(0),fDistance(0),fDistanceZ(0),
- fDistanceY(0),fPropRadius(0),fLength(0) { };
+ fDistanceY(0),fDistanceX(0),fPropRadius(0),fLength(0) { };
AliTOFtrackPoint(Int_t index,Float_t dist,Float_t distZ,
- Float_t distY,Float_t radius,Float_t length) :
+ Float_t distY,Float_t distX,Float_t radius,Float_t length) :
TObject(),
fIndex(index),fDistance(dist),fDistanceZ(distZ),
- fDistanceY(distY),fPropRadius(radius),fLength(length) { };
+ fDistanceY(distY),fDistanceX(distX),fPropRadius(radius),fLength(length) { };
AliTOFtrackPoint(const AliTOFtrackPoint & source) :
TObject(source),
fIndex(source.fIndex),
fDistance(source.fDistance),
fDistanceZ(source.fDistanceZ),
fDistanceY(source.fDistanceY),
+ fDistanceX(source.fDistanceX),
fPropRadius(source.fPropRadius),
fLength(source.fLength) { };
AliTOFtrackPoint & operator=(const AliTOFtrackPoint & source)
{ if (this == &source) return *this;
TObject::operator=(source);
- fDistance=source.fDistance;fDistanceZ=source.fDistanceZ;fDistanceY=source.fDistanceY;
+ fDistance=source.fDistance;fDistanceZ=source.fDistanceZ;fDistanceY=source.fDistanceY;fDistanceX=source.fDistanceX;
fPropRadius=source.fPropRadius;fLength=source.fLength;
return *this; };
Float_t Distance() const {return fDistance;} // distance
Float_t DistanceZ() const {return fDistanceZ;} // distance, Z component
Float_t DistanceY() const {return fDistanceY;} // distance, Y component
+ Float_t DistanceX() const {return fDistanceX;} // distance, X component
Float_t PropRadius() const {return fPropRadius;} // propagation radius at TOF
Float_t Length() const {return fLength;} // reconstructed track length at TOF
Float_t fDistance; // track-cluster distance
Float_t fDistanceZ; // Z component of track-cluster distance
Float_t fDistanceY; // Y component of track-cluster distance
+ Float_t fDistanceX; // X component of track-cluster distance
Float_t fPropRadius; // track propagation radius
Float_t fLength; // receonstructed track length
- //ClassDef(AliTOFtrackPoint, 1) // TOF matchable cluster
+ //ClassDef(AliTOFtrackPoint, 2) // TOF matchable cluster
};
{if (index==-1 || index >= fN) return NULL;
return (AliCluster *) fClusters[index];};
Bool_t GetTrackPoint(Int_t index, AliTrackPoint& p) const;
+ Int_t GetNumberOfMatchedTOFtracks() const {return fnmatch;}
void InitCheckHists();
void SaveCheckHists();
void FillClusterArray(TObjArray* arr) const;
+
+ protected:
+ AliESDTOFCluster* GetESDTOFCluster(int clID);
-private:
+ private:
enum {kMaxCluster=77777}; //maximal number of the TOF clusters
AliTOFtracker& operator=(const AliTOFtracker &source); // ass. op.
Int_t FindClusterIndex(Double_t z) const; // Returns cluster index
- void MatchTracks(Bool_t mLastStep); // Matching Algorithm
+ void MatchTracks(Int_t mLastStep); // Matching Algorithm
void CollectESD(); // Select starting Set for Matching
Float_t CorrectTimeWalk(Float_t dist,Float_t tof) const; // Time Walk correction
Int_t fnbadmatch; // Wrongly matched tracks
Int_t fnunmatch; // Unmatched tracks
Int_t fnmatch; // Total matched tracks
+
+ AliESDEvent* fESDEv; //! pointer on the esd event
TClonesArray* fTracks; //! pointer to the TClonesArray with TOF tracks
TObjArray* fSeeds; //! pointer to the TObjArray with ESD tracks
Float_t fExpTimeKa; // exp time, Kaons
Float_t fExpTimePr; // exp time, Protons
- ClassDef(AliTOFtracker, 6) // TOF tracker
+ Int_t fNTOFmatched; // number of matched TOF cluster
+ // AliESDTOFCluster *fClusterESD[20000]; // pointers to the TOF clusters for ESD
+ // AliESDTOFHit *fHit[20000]; // pointers to the TOF hits for ESD
+
+ ClassDef(AliTOFtracker, 9) // TOF tracker
};
#endif