]>
Commit | Line | Data |
---|---|---|
e23730c7 | 1 | #ifndef ALIESDCASCADE_H |
2 | #define ALIESDCASCADE_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
4f679a16 | 7 | /* $Id$ */ |
8 | ||
e23730c7 | 9 | //------------------------------------------------------------------------- |
10 | // ESD Cascade Vertex Class | |
4f679a16 | 11 | // Implementation of the cascade vertex class |
e23730c7 | 12 | // Origin: Christian Kuhn, IReS, Strasbourg, christian.kuhn@ires.in2p3.fr |
13 | //------------------------------------------------------------------------- | |
14 | ||
15 | #include <TObject.h> | |
16 | #include <TPDGCode.h> | |
c028b974 | 17 | #include "AliESDv0.h" |
e23730c7 | 18 | |
c7bafca9 | 19 | class AliExternalTrackParam; |
e23730c7 | 20 | |
21 | #define kXiMinus 3312 | |
22 | #define kXiPlusBar -3312 | |
23 | #define kOmegaMinus 3334 | |
24 | #define kOmegaPlusBar -3334 | |
25 | ||
c028b974 | 26 | class AliESDcascade : public AliESDv0 { |
27 | ||
e23730c7 | 28 | public: |
29 | AliESDcascade(); | |
c028b974 | 30 | AliESDcascade(const AliESDcascade&); |
31 | AliESDcascade(const AliESDv0 &v0, | |
c7bafca9 | 32 | const AliExternalTrackParam &t, Int_t i); |
c028b974 | 33 | ~AliESDcascade(); |
34 | ||
e23730c7 | 35 | Double_t ChangeMassHypothesis(Double_t &v0q, Int_t code=kXiMinus); |
36 | ||
c028b974 | 37 | Int_t GetPdgCode() const {return fPdgCode;} |
e23730c7 | 38 | Double_t GetEffMass() const {return fEffMass;} |
c028b974 | 39 | Double_t GetChi2Xi() const {return fChi2Xi;} |
40 | void GetPxPyPz(Double_t &px, Double_t &py, Double_t &pz) const; | |
41 | void GetXYZcascade(Double_t &x, Double_t &y, Double_t &z) const; | |
42 | Double_t GetDcascade(Double_t x0=0.,Double_t y0=0.,Double_t z0=0.) const; | |
e23730c7 | 43 | |
c028b974 | 44 | void GetBPxPyPz(Double_t &px, Double_t &py, Double_t &pz) const { |
e23730c7 | 45 | px=fBachMom[0]; py=fBachMom[1]; pz=fBachMom[2]; |
46 | } | |
c028b974 | 47 | |
48 | Int_t GetBindex() const {return fBachIdx;} | |
49 | void SetDcaXiDaughters(Double_t rDcaXiDaughters=0.); | |
50 | Double_t GetDcaXiDaughters() const {return fDcaXiDaughters;} | |
51 | Double_t GetCascadeCosineOfPointingAngle(Double_t&, Double_t&, Double_t&) const; | |
e23730c7 | 52 | |
074f017b | 53 | void GetPosCovXi(Double_t cov[6]) const; |
54 | ||
e23730c7 | 55 | protected: |
c028b974 | 56 | Int_t fPdgCode; // reconstructed cascade type (PDG code) |
e23730c7 | 57 | Double_t fEffMass; // reconstructed cascade effective mass |
c028b974 | 58 | Double_t fChi2Xi; // chi2 value |
59 | Double_t fDcaXiDaughters; // dca between Xi's daughters | |
60 | Double_t fPosXi[3]; // cascade vertex position (global) | |
61 | Double_t fPosCovXi[6]; // covariance matrix of the vertex position | |
e23730c7 | 62 | |
c028b974 | 63 | Int_t fBachIdx; // label of the bachelor track |
e23730c7 | 64 | Double_t fBachMom[3]; // bachelor momentum (global) |
65 | Double_t fBachMomCov[6]; // covariance matrix of the bachelor momentum. | |
66 | ||
d6a49f20 | 67 | private: |
68 | AliESDcascade& operator=(const AliESDcascade&); | |
69 | ||
c028b974 | 70 | ClassDef(AliESDcascade,2) // reconstructed cascade vertex |
e23730c7 | 71 | }; |
72 | ||
c028b974 | 73 | inline |
74 | void AliESDcascade::SetDcaXiDaughters(Double_t rDcaXiDaughters){ | |
75 | fDcaXiDaughters=rDcaXiDaughters; | |
76 | } | |
e23730c7 | 77 | |
c028b974 | 78 | #endif |