]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliESDcascade.h
Bug fix
[u/mrichter/AliRoot.git] / STEER / AliESDcascade.h
index 6b2676b981692b83010c846e11e0b4804b121b6f..95cc5feadb05fbe2e10ad0c2004cd9d3bb9eb76e 100644 (file)
 
 #include <TObject.h>
 #include <TPDGCode.h>
+#include "AliESDv0.h"
 
-class AliESDtrack;
-class AliESDv0;
+class AliExternalTrackParam;
 
 #define kXiMinus       3312
 #define kXiPlusBar    -3312
 #define kOmegaMinus    3334
 #define kOmegaPlusBar -3334
 
-class AliESDcascade : public TObject {
+class AliESDcascade : public AliESDv0 {
+
 public:
   AliESDcascade();
+  AliESDcascade(const AliESDcascade&);
+  AliESDcascade(const AliESDv0 &v0,
+                const AliExternalTrackParam &t, Int_t i);
+  ~AliESDcascade();
 
   Double_t ChangeMassHypothesis(Double_t &v0q, Int_t code=kXiMinus); 
 
-  Int_t GetPdgCode() const {return fPdgCode;}
+  Int_t    GetPdgCode() const {return fPdgCode;}
   Double_t GetEffMass() const {return fEffMass;}
-  Double_t GetChi2() const {return fChi2;}
-  void GetPxPyPz(Double_t &px, Double_t &py, Double_t &pz) const;
-  void GetXYZ(Double_t &x, Double_t &y, Double_t &z) const;
-  Double_t GetD(Double_t x0=0.,Double_t y0=0.,Double_t z0=0.) const;
+  Double_t GetChi2Xi()  const {return fChi2Xi;}
+  void     GetPxPyPz(Double_t &px, Double_t &py, Double_t &pz) const;
+  void     GetXYZcascade(Double_t &x, Double_t &y, Double_t &z) const;
+  Double_t GetDcascade(Double_t x0=0.,Double_t y0=0.,Double_t z0=0.) const;
 
-  void GetNPxPyPz(Double_t &px, Double_t &py, Double_t &pz) const {
-     px=fV0mom[0][0]; py=fV0mom[0][1]; pz=fV0mom[0][2];
-  }
-  Int_t GetNindex() const {return fV0idx[0];}
-  void GetPPxPyPz(Double_t &px, Double_t &py, Double_t &pz) const {
-     px=fV0mom[1][0]; py=fV0mom[1][1]; pz=fV0mom[1][2];
-  }
-  Int_t GetPindex() const {return fV0idx[1];}
-  void GetBPxPyPz(Double_t &px, Double_t &py, Double_t &pz) const {
+  void     GetBPxPyPz(Double_t &px, Double_t &py, Double_t &pz) const {
      px=fBachMom[0]; py=fBachMom[1]; pz=fBachMom[2];
   }
-  Int_t GetBindex() const {return fBachIdx;}
+
+  Int_t    GetBindex() const {return fBachIdx;}
+  void     SetDcaXiDaughters(Double_t rDcaXiDaughters=0.);
+  Double_t GetDcaXiDaughters() const {return fDcaXiDaughters;}
+  Double_t GetCascadeCosineOfPointingAngle(Double_t&, Double_t&, Double_t&) const;
+
+  void GetPosCovXi(Double_t cov[6]) const;
 
 protected: 
-  Int_t fPdgCode;           // reconstructed cascade type (PDG code)
+  Int_t    fPdgCode;        // reconstructed cascade type (PDG code)
   Double_t fEffMass;        // reconstructed cascade effective mass
-  Double_t fChi2;           // chi2 value
-  Double_t fPos[3];         // cascade vertex position (global)
-  Double_t fPosCov[6];      // covariance matrix of the vertex position
+  Double_t fChi2Xi;         // chi2 value
+  Double_t fDcaXiDaughters; // dca between Xi's daughters
+  Double_t fPosXi[3];       // cascade vertex position (global)
+  Double_t fPosCovXi[6];    // covariance matrix of the vertex position
 
-  Int_t fV0idx[2];          // indeices of the V0 daughter tracks
-  Double_t fV0mom[2][3];    // V0 daughters' momenta (global)
-  Double_t fV0momCov[6];    // covariance matrix of the V0 momentum.
-
-  Int_t fBachIdx;           // label of the bachelor track
+  Int_t    fBachIdx;        // label of the bachelor track
   Double_t fBachMom[3];     // bachelor momentum (global)
   Double_t fBachMomCov[6];  // covariance matrix of the bachelor momentum.
 
-  ClassDef(AliESDcascade,1) // reconstructed cascade vertex
-};
+private:
+  AliESDcascade& operator=(const AliESDcascade&);
 
-#endif
+  ClassDef(AliESDcascade,2) // reconstructed cascade vertex
+};
 
+inline
+void AliESDcascade::SetDcaXiDaughters(Double_t rDcaXiDaughters){
+  fDcaXiDaughters=rDcaXiDaughters;
+}
 
+#endif