]>
Commit | Line | Data |
---|---|---|
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 | |
8 | // Reads V0s and tracks, writes out cascade vertices | |
9 | // Origin: Christian Kuhn, IReS, Strasbourg, christian.kuhn@ires.in2p3.fr | |
10 | //------------------------------------------------------------------ | |
11 | ||
12 | #include "TObject.h" | |
13 | ||
14 | class AliESDEvent; | |
15 | class AliESDv0; | |
16 | class AliExternalTrackParam; | |
17 | ||
18 | //_____________________________________________________________________________ | |
19 | class AliCascadeVertexer : public TObject { | |
20 | public: | |
21 | AliCascadeVertexer(); | |
22 | void SetCuts(const Double_t cuts[8]); | |
23 | static void SetDefaultCuts(const Double_t cuts[8]); | |
24 | ||
25 | Int_t V0sTracks2CascadeVertices(AliESDEvent *event); | |
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 | ||
31 | Double_t PropagateToDCA(AliESDv0 *vtx,AliExternalTrackParam *trk,Double_t b); | |
32 | ||
33 | void GetCuts(Double_t cuts[8]) const; | |
34 | static void GetDefaultCuts(Double_t cuts[8]); | |
35 | ||
36 | private: | |
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 | |
48 | Double_t fgCPAmin; // minimal allowed cosine of the cascade pointing angle | |
49 | static | |
50 | Double_t fgRmin, fgRmax;// max & min radii of the fiducial volume | |
51 | ||
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 | |
57 | Double_t fCPAmin; // minimal allowed cosine of the cascade pointing angle | |
58 | Double_t fRmin, fRmax;// max & min radii of the fiducial volume | |
59 | ||
60 | ClassDef(AliCascadeVertexer,3) // cascade verterxer | |
61 | }; | |
62 | ||
63 | inline AliCascadeVertexer::AliCascadeVertexer() : | |
64 | TObject(), | |
65 | fChi2max(fgChi2max), | |
66 | fDV0min(fgDV0min), | |
67 | fMassWin(fgMassWin), | |
68 | fDBachMin(fgDBachMin), | |
69 | fDCAmax(fgDCAmax), | |
70 | fCPAmin(fgCPAmin), | |
71 | fRmin(fgRmin), | |
72 | fRmax(fgRmax) | |
73 | { | |
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]; | |
79 | fDCAmax=cuts[4]; fCPAmin=cuts[5]; | |
80 | fRmin=cuts[6]; fRmax=cuts[7]; | |
81 | } | |
82 | ||
83 | inline void AliCascadeVertexer::SetDefaultCuts(const Double_t cuts[8]) { | |
84 | fgChi2max=cuts[0]; | |
85 | fgDV0min=cuts[1]; fgMassWin=cuts[2]; fgDBachMin=cuts[3]; | |
86 | fgDCAmax=cuts[4]; fgCPAmin=cuts[5]; | |
87 | fgRmin=cuts[6]; fgRmax=cuts[7]; | |
88 | } | |
89 | ||
90 | inline void AliCascadeVertexer::GetCuts(Double_t cuts[8]) const { | |
91 | cuts[0]=fChi2max; | |
92 | cuts[1]=fDV0min; cuts[2]=fMassWin; cuts[3]=fDBachMin; | |
93 | cuts[4]=fDCAmax; cuts[5]=fCPAmin; | |
94 | cuts[6]=fRmin; cuts[7]=fRmax; | |
95 | } | |
96 | ||
97 | inline void AliCascadeVertexer::GetDefaultCuts(Double_t cuts[8]) { | |
98 | cuts[0]=fgChi2max; | |
99 | cuts[1]=fgDV0min; cuts[2]=fgMassWin; cuts[3]=fgDBachMin; | |
100 | cuts[4]=fgDCAmax; cuts[5]=fgCPAmin; | |
101 | cuts[6]=fgRmin; cuts[7]=fgRmax; | |
102 | } | |
103 | ||
104 | #endif | |
105 |