class AliRieman;
-class AliTRDstackLayer;
+class AliTRDtrackingChamber;
class AliTRDcluster;
-class AliTRDrecoParam;
-class AliTRDtrack;
-
+class AliTRDtrackV1;
class AliTRDseedV1 : public AliTRDseed
{
knSlices = 10
};
- AliTRDseedV1(Int_t layer = -1, AliTRDrecoParam *p=0x0);
+ AliTRDseedV1(Int_t plane = -1);
~AliTRDseedV1();
AliTRDseedV1(const AliTRDseedV1 &ref);
AliTRDseedV1& operator=(const AliTRDseedV1 &ref);
- Bool_t AttachClustersIter(AliTRDstackLayer *layer, Float_t quality, Bool_t kZcorr = kFALSE
+ Bool_t AttachClustersIter(AliTRDtrackingChamber *chamber, Float_t quality, Bool_t kZcorr = kFALSE
, AliTRDcluster *c=0x0);
- Bool_t AttachClusters(AliTRDstackLayer *layer, Bool_t kZcorr = kFALSE);
+ Bool_t AttachClusters(AliTRDtrackingChamber *chamber, Bool_t kZcorr = kFALSE);
void CookdEdx(Int_t nslices);
- static Float_t FitRiemanTilt(AliTRDseedV1 * cseed, Bool_t terror);
+ void Draw(Option_t* o = "");
Bool_t Fit();
- void Init(AliTRDtrack *track);
+ Bool_t Init(AliTRDtrackV1 *track);
inline void Init(const AliRieman *fit);
+ Bool_t IsOwner() const { return TestBit(1);}
+ Bool_t IsRowCross() const { return TestBit(2);}
+
+ inline Float_t GetChi2Z(const Float_t z = 999.) const;
+ inline Float_t GetChi2Y(const Float_t y = 999.) const;
+ void GetCovAt(Double_t x, Double_t *cov) const;
+ Double_t* GetCrossXYZ() { return &fCross[0];}
+ Double_t GetCrossSz2() const { return fCross[3];}
+ Float_t* GetdEdx() {return &fdEdx[0];}
+ Float_t GetdQdl(Int_t ic) const;
+ Double_t GetMomentum() const {return fMom;}
+ Int_t GetN() const {return fN2;}
+ Float_t GetQuality(Bool_t kZcorr) const;
+ Int_t GetPlane() const { return fPlane; }
+ Double_t* GetProbability();
+ Double_t GetSnp() const { return fSnp;}
+ Double_t GetTgl() const { return fTgl;}
+ Double_t GetYat(Double_t x) const { return fYfitR[0] + fYfitR[1] * (x - fX0);}
+ Double_t GetZat(Double_t x) const { return fZfitR[0] + fZfitR[1] * (x - fX0);}
+
+ void Print(Option_t *o = "") const;
- inline Float_t GetChi2Z(const Float_t z = 0.) const;
- inline Float_t GetChi2Y(const Float_t y = 0.) const;
- void GetCovAt(Double_t x, Double_t *cov) const;
- Float_t* GetdEdx() {return &fdEdx[0];}
- Float_t GetdQdl(Int_t ic) const;
- Double_t GetMomentum() const {return fMom;}
- Int_t GetN() const {return fN2;}
- Float_t GetQuality(Bool_t kZcorr) const;
- Int_t GetPlane() const { return fPlane; }
- Double_t* GetProbability();
- Double_t GetSnp() const {return fSnp;}
- Double_t GetTgl() const {return fTgl;}
- Double_t GetYat(Double_t x) const {return fYfitR[0] + fYfitR[1] * (x - fX0);}
- Double_t GetZat(Double_t x) const {return fZfitR[0] + fZfitR[1] * (x - fX0);}
-
- Bool_t IsOwner() const {return fOwner;}
- void Print(Option_t * /*o*/) const { }
- void Print();
-
- void SetMomentum(Double_t mom) {fMom = mom;}
- void SetOwner(Bool_t own = kTRUE);
- void SetPlane(Int_t p) { fPlane = p; }
- void SetRecoParam(AliTRDrecoParam *p) { fRecoParam = p; }
- void SetSnp(Double_t snp) {fSnp = snp;}
- void SetTgl(Double_t tgl) {fTgl = tgl;}
+ void SetMomentum(Double_t mom) {fMom = mom;}
+ void SetOwner(Bool_t own = kTRUE);
+ void SetPlane(Int_t p) { fPlane = p; }
+ void SetSnp(Double_t snp) {fSnp = snp;}
+ void SetTgl(Double_t tgl) {fTgl = tgl;}
protected:
private:
Int_t fPlane; // TRD plane
- Bool_t fOwner; // Toggle ownership of clusters
Float_t fMom; // Momentum estimate for tracklet [GeV/c]
Float_t fSnp; // sin of track with respect to x direction in XY plane
Float_t fTgl; // tg of track with respect to x direction in XZ plane
Float_t fdX; // length of time bin
Float_t fdEdx[knSlices]; // dE/dx measurements for tracklet
+ Double_t fCross[4]; // spatial parameters of the pad row crossing
Double_t fProb[AliPID::kSPECIES]; // PID probabilities
- AliTRDrecoParam *fRecoParam; //! Local copy of the reco params
ClassDef(AliTRDseedV1, 1) // New TRD seed
//____________________________________________________________
inline Float_t AliTRDseedV1::GetChi2Z(const Float_t z) const
{
- Float_t z1 = (z == 0.) ? fMeanz : z;
+ Float_t z1 = (z == 999.) ? fMeanz : z;
Float_t chi = fZref[0] - z1;
return chi*chi;
}
//____________________________________________________________
inline Float_t AliTRDseedV1::GetChi2Y(const Float_t y) const
{
- Float_t y1 = (y == 0.) ? fYfitR[0] : y;
+ Float_t y1 = (y == 999.) ? fYfitR[0] : y;
Float_t chi = fYref[0] - y1;
return chi*chi;
}
#endif
+