// //
///////////////////////////////////////////////////////////////////////////////
-//#ifndef ALIKALMANTRACK_H
+#ifndef ALIKALMANTRACK_H
#include "AliKalmanTrack.h"
-//#endif
+#endif
-//#ifndef ALITRDSEEDV1_H
+#ifndef ALITRDSEEDV1_H
#include "AliTRDseedV1.h"
-//#endif
+#endif
-class AliTRDcluster;
+template <typename Value> class TVectorT;
+typedef class TVectorT<Double_t> TVectorD;
class AliESDtrack;
+class AliTRDcluster;
class AliTRDReconstructor;
class AliTRDtrackV1 : public AliKalmanTrack
{
- friend class AliHLTTRDTrack;
+ friend class AliHLTTRDTrack; // allow HLT special access
public:
enum ETRDtrackSize {
kNdet = AliTRDgeometry::kNdet
AliTRDtrackV1(const AliESDtrack &ref);
AliTRDtrackV1(const AliTRDtrackV1 &ref);
virtual ~AliTRDtrackV1();
- AliTRDtrackV1 &operator=(const AliTRDtrackV1 &ref) { *(new(this) AliTRDtrackV1(ref)); return *this; }
-
+ AliTRDtrackV1 &operator=(const AliTRDtrackV1 &ref);
+ virtual void Copy(TObject &ref) const;
+
Bool_t CookPID();
- Bool_t CookLabel(Float_t wrong);
+ Double_t CookTruncatedMean(const Bool_t kinvq, const Double_t mag, const Int_t charge, const Int_t kcalib, TVectorD *Qs=NULL, TVectorD *Xs=NULL, Int_t timeBin0=-1, Int_t timeBin1=1000, Int_t tstep=1) const;
+
+ Int_t CookLabel(Float_t wrong, Int_t *labs=NULL, Float_t *freq=NULL);
AliTRDtrackV1* GetBackupTrack() const {return fBackupTrack;}
Double_t GetBudget(Int_t i) const { return fBudget[i];}
AliTRDcluster* GetCluster(Int_t id);
void SetKink(Bool_t k) { SetBit(kKink, k);}
void SetPrimary(Bool_t k) { SetBit(kPrimary, k);}
void SetNumberOfClusters();
- UChar_t SetNumberOfTrackletsPID(Bool_t recalc);
void SetOwner();
void SetPID(Short_t is, Double_t inPID){if (is >=0 && is < AliPID::kSPECIES) fPID[is]=inPID;};
void SetPIDquality(UChar_t /*inPIDquality*/) const {/*fPIDquality = inPIDquality*/;};
Double32_t fPID[AliPID::kSPECIES]; // PID probabilities
Double32_t fBudget[3]; // Integrated material budget
Double32_t fDE; // Integrated delta energy
+ Double32_t fTruncatedMean; // Truncated mean
+
const AliTRDReconstructor *fkReconstructor;//! reconstructor link
AliTRDtrackV1 *fBackupTrack; //! Backup track
AliTRDseedV1 *fTracklet[kNplane]; // Tracklets array defining the track