]>
Commit | Line | Data |
---|---|---|
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 | ||
7 | /* $Id$ */ | |
8 | ||
9 | //------------------------------------------------------------------------- | |
10 | // ESD Cascade Vertex Class | |
11 | // Implementation of the cascade vertex class | |
12 | // Origin: Christian Kuhn, IReS, Strasbourg, christian.kuhn@ires.in2p3.fr | |
13 | //------------------------------------------------------------------------- | |
14 | ||
15 | #include <TObject.h> | |
16 | #include <TPDGCode.h> | |
17 | #include "AliESDv0.h" | |
18 | ||
19 | class AliExternalTrackParam; | |
20 | ||
21 | ||
22 | class AliESDcascade : public AliESDv0 { | |
23 | ||
24 | enum { kOmegaPlusBar = -3334, | |
25 | kXiPlusBar = -3312, | |
26 | kXiMinus = 3312, | |
27 | kOmegaMinus = 3334}; | |
28 | ||
29 | public: | |
30 | AliESDcascade(); | |
31 | AliESDcascade(const AliESDcascade&); | |
32 | AliESDcascade(const AliESDv0 &v0, | |
33 | const AliExternalTrackParam &t, Int_t i); | |
34 | ~AliESDcascade(); | |
35 | AliESDcascade& operator=(const AliESDcascade&); | |
36 | virtual void Copy(TObject &obj) const; | |
37 | ||
38 | Double_t ChangeMassHypothesis(Double_t &v0q, Int_t code=kXiMinus); | |
39 | ||
40 | Int_t GetPdgCodeXi() const {return fPdgCodeXi;} | |
41 | Double_t GetEffMassXi() const {return fEffMassXi;} | |
42 | Double_t GetChi2Xi() const {return fChi2Xi;} | |
43 | void GetPxPyPz(Double_t &px, Double_t &py, Double_t &pz) const; | |
44 | void GetXYZcascade(Double_t &x, Double_t &y, Double_t &z) const; | |
45 | Double_t GetDcascade(Double_t x0=0.,Double_t y0=0.,Double_t z0=0.) const; | |
46 | ||
47 | void GetBPxPyPz(Double_t &px, Double_t &py, Double_t &pz) const { | |
48 | px=fBachMom[0]; py=fBachMom[1]; pz=fBachMom[2]; | |
49 | } | |
50 | ||
51 | Int_t GetBindex() const {return fBachIdx;} | |
52 | void SetIndex(Int_t i) {fBachIdx=i;} //for the consistensy with V0 | |
53 | Int_t GetIndex() const {return GetBindex();} //for the consistensy with V0 | |
54 | void SetDcaXiDaughters(Double_t rDcaXiDaughters=0.); | |
55 | Double_t GetDcaXiDaughters() const {return fDcaXiDaughters;} | |
56 | Double_t GetCascadeCosineOfPointingAngle(Double_t&, Double_t&, Double_t&) const; | |
57 | ||
58 | void GetPosCovXi(Double_t cov[6]) const; | |
59 | ||
60 | protected: | |
61 | ||
62 | Double32_t fEffMassXi; // reconstructed cascade effective mass | |
63 | Double32_t fChi2Xi; // chi2 value | |
64 | Double32_t fDcaXiDaughters; // dca between Xi's daughters | |
65 | Double32_t fPosXi[3]; // cascade vertex position (global) | |
66 | Double32_t fPosCovXi[6]; // covariance matrix of the vertex position | |
67 | Double32_t fBachMom[3]; // bachelor momentum (global) | |
68 | Double32_t fBachMomCov[6]; // covariance matrix of the bachelor momentum. | |
69 | Int_t fPdgCodeXi; // reconstructed cascade type (PDG code) | |
70 | Int_t fBachIdx; // label of the bachelor track | |
71 | ||
72 | ||
73 | private: | |
74 | ||
75 | ||
76 | ClassDef(AliESDcascade,5) // reconstructed cascade vertex | |
77 | }; | |
78 | ||
79 | inline | |
80 | void AliESDcascade::SetDcaXiDaughters(Double_t rDcaXiDaughters){ | |
81 | fDcaXiDaughters=rDcaXiDaughters; | |
82 | } | |
83 | ||
84 | #endif |