]>
Commit | Line | Data |
---|---|---|
a9a2d814 | 1 | #ifndef ALICASCADEVERTEXER_H |
2 | #define ALICASCADEVERTEXER_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | //------------------------------------------------------------------ | |
7 | // Cascade Vertexer Class | |
18856a77 | 8 | // Reads V0s and tracks, writes out cascade vertices |
a9a2d814 | 9 | // Origin: Christian Kuhn, IReS, Strasbourg, christian.kuhn@ires.in2p3.fr |
10 | //------------------------------------------------------------------ | |
11 | ||
12 | #include "TObject.h" | |
13 | ||
af885e0f | 14 | class AliESDEvent; |
c7bafca9 | 15 | class AliESDv0; |
16 | class AliExternalTrackParam; | |
a9a2d814 | 17 | |
18 | //_____________________________________________________________________________ | |
19 | class AliCascadeVertexer : public TObject { | |
20 | public: | |
21 | AliCascadeVertexer(); | |
a9a2d814 | 22 | void SetCuts(const Double_t cuts[8]); |
5e4ff34d | 23 | static void SetDefaultCuts(const Double_t cuts[8]); |
a9a2d814 | 24 | |
af885e0f | 25 | Int_t V0sTracks2CascadeVertices(AliESDEvent *event); |
97135b34 | 26 | Double_t Det(Double_t a00, Double_t a01, Double_t a10, Double_t a11) const; |
27 | Double_t Det(Double_t a00,Double_t a01,Double_t a02, | |
28 | Double_t a10,Double_t a11,Double_t a12, | |
29 | Double_t a20,Double_t a21,Double_t a22) const; | |
30 | ||
c7bafca9 | 31 | Double_t PropagateToDCA(AliESDv0 *vtx,AliExternalTrackParam *trk,Double_t b); |
a9a2d814 | 32 | |
33 | void GetCuts(Double_t cuts[8]) const; | |
5e4ff34d | 34 | static void GetDefaultCuts(Double_t cuts[8]); |
a9a2d814 | 35 | |
36 | private: | |
5e4ff34d | 37 | static |
38 | Double_t fgChi2max; // maximal allowed chi2 | |
39 | static | |
40 | Double_t fgDV0min; // min. allowed V0 impact parameter | |
41 | static | |
42 | Double_t fgMassWin; // window around the Lambda mass | |
43 | static | |
44 | Double_t fgDBachMin; // min. allowed bachelor impact parameter | |
45 | static | |
46 | Double_t fgDCAmax; // maximal allowed DCA between the V0 and the track | |
47 | static | |
85f0f56e | 48 | Double_t fgCPAmin; // minimal allowed cosine of the cascade pointing angle |
5e4ff34d | 49 | static |
50 | Double_t fgRmin, fgRmax;// max & min radii of the fiducial volume | |
51 | ||
a9a2d814 | 52 | Double_t fChi2max; // maximal allowed chi2 |
53 | Double_t fDV0min; // min. allowed V0 impact parameter | |
54 | Double_t fMassWin; // window around the Lambda mass | |
55 | Double_t fDBachMin; // min. allowed bachelor impact parameter | |
56 | Double_t fDCAmax; // maximal allowed DCA between the V0 and the track | |
85f0f56e | 57 | Double_t fCPAmin; // minimal allowed cosine of the cascade pointing angle |
a9a2d814 | 58 | Double_t fRmin, fRmax;// max & min radii of the fiducial volume |
59 | ||
85f0f56e | 60 | ClassDef(AliCascadeVertexer,3) // cascade verterxer |
a9a2d814 | 61 | }; |
62 | ||
fe12e09c | 63 | inline AliCascadeVertexer::AliCascadeVertexer() : |
64 | TObject(), | |
5e4ff34d | 65 | fChi2max(fgChi2max), |
66 | fDV0min(fgDV0min), | |
67 | fMassWin(fgMassWin), | |
68 | fDBachMin(fgDBachMin), | |
69 | fDCAmax(fgDCAmax), | |
85f0f56e | 70 | fCPAmin(fgCPAmin), |
5e4ff34d | 71 | fRmin(fgRmin), |
72 | fRmax(fgRmax) | |
fe12e09c | 73 | { |
a9a2d814 | 74 | } |
75 | ||
76 | inline void AliCascadeVertexer::SetCuts(const Double_t cuts[8]) { | |
77 | fChi2max=cuts[0]; | |
78 | fDV0min=cuts[1]; fMassWin=cuts[2]; fDBachMin=cuts[3]; | |
85f0f56e | 79 | fDCAmax=cuts[4]; fCPAmin=cuts[5]; |
a9a2d814 | 80 | fRmin=cuts[6]; fRmax=cuts[7]; |
81 | } | |
82 | ||
5e4ff34d | 83 | inline void AliCascadeVertexer::SetDefaultCuts(const Double_t cuts[8]) { |
84 | fgChi2max=cuts[0]; | |
85 | fgDV0min=cuts[1]; fgMassWin=cuts[2]; fgDBachMin=cuts[3]; | |
85f0f56e | 86 | fgDCAmax=cuts[4]; fgCPAmin=cuts[5]; |
5e4ff34d | 87 | fgRmin=cuts[6]; fgRmax=cuts[7]; |
88 | } | |
89 | ||
a9a2d814 | 90 | inline void AliCascadeVertexer::GetCuts(Double_t cuts[8]) const { |
91 | cuts[0]=fChi2max; | |
92 | cuts[1]=fDV0min; cuts[2]=fMassWin; cuts[3]=fDBachMin; | |
85f0f56e | 93 | cuts[4]=fDCAmax; cuts[5]=fCPAmin; |
a9a2d814 | 94 | cuts[6]=fRmin; cuts[7]=fRmax; |
95 | } | |
96 | ||
5e4ff34d | 97 | inline void AliCascadeVertexer::GetDefaultCuts(Double_t cuts[8]) { |
98 | cuts[0]=fgChi2max; | |
99 | cuts[1]=fgDV0min; cuts[2]=fgMassWin; cuts[3]=fgDBachMin; | |
85f0f56e | 100 | cuts[4]=fgDCAmax; cuts[5]=fgCPAmin; |
5e4ff34d | 101 | cuts[6]=fgRmin; cuts[7]=fgRmax; |
102 | } | |
103 | ||
a9a2d814 | 104 | #endif |
105 |