]>
Commit | Line | Data |
---|---|---|
1 | #ifndef ALIV0VERTEXER_H | |
2 | #define ALIV0VERTEXER_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | //------------------------------------------------------------------ | |
7 | // V0 Vertexer Class | |
8 | // reads tracks writes out V0 vertices | |
9 | // Origin: Iouri Belikov, IReS, Strasbourg, Jouri.Belikov@cern.ch | |
10 | //------------------------------------------------------------------ | |
11 | ||
12 | #include "TObject.h" | |
13 | ||
14 | class TTree; | |
15 | class AliESDEvent; | |
16 | ||
17 | //_____________________________________________________________________________ | |
18 | class AliV0vertexer : public TObject { | |
19 | public: | |
20 | AliV0vertexer(); | |
21 | void SetCuts(const Double_t cuts[7]); | |
22 | static void SetDefaultCuts(const Double_t cuts[7]); | |
23 | ||
24 | Int_t Tracks2V0vertices(AliESDEvent *event); | |
25 | ||
26 | void GetCuts(Double_t cuts[7]) const; | |
27 | static void GetDefaultCuts(Double_t cuts[7]); | |
28 | ||
29 | private: | |
30 | static | |
31 | Double_t fgChi2max; // maximal allowed chi2 | |
32 | static | |
33 | Double_t fgDNmin; // min allowed impact parameter for the 1st daughter | |
34 | static | |
35 | Double_t fgDPmin; // min allowed impact parameter for the 2nd daughter | |
36 | static | |
37 | Double_t fgDCAmax; // maximal allowed DCA between the daughter tracks | |
38 | static | |
39 | Double_t fgCPAmin; // minimal allowed cosine of V0's pointing angle | |
40 | static | |
41 | Double_t fgRmin, fgRmax; // max & min radii of the fiducial volume | |
42 | ||
43 | Double_t fChi2max; // maximal allowed chi2 | |
44 | Double_t fDNmin; // min allowed impact parameter for the 1st daughter | |
45 | Double_t fDPmin; // min allowed impact parameter for the 2nd daughter | |
46 | Double_t fDCAmax; // maximal allowed DCA between the daughter tracks | |
47 | Double_t fCPAmin; // minimal allowed cosine of V0's pointing angle | |
48 | Double_t fRmin, fRmax; // max & min radii of the fiducial volume | |
49 | ||
50 | ClassDef(AliV0vertexer,3) // V0 verterxer | |
51 | }; | |
52 | ||
53 | inline AliV0vertexer::AliV0vertexer() : | |
54 | TObject(), | |
55 | fChi2max(fgChi2max), | |
56 | fDNmin(fgDNmin), | |
57 | fDPmin(fgDPmin), | |
58 | fDCAmax(fgDCAmax), | |
59 | fCPAmin(fgCPAmin), | |
60 | fRmin(fgRmin), | |
61 | fRmax(fgRmax) | |
62 | { | |
63 | } | |
64 | ||
65 | inline void AliV0vertexer::SetCuts(const Double_t cuts[7]) { | |
66 | fChi2max=cuts[0]; | |
67 | fDNmin=cuts[1]; fDPmin=cuts[2]; | |
68 | fDCAmax=cuts[3]; fCPAmin=cuts[4]; | |
69 | fRmin=cuts[5]; fRmax=cuts[6]; | |
70 | } | |
71 | ||
72 | inline void AliV0vertexer::SetDefaultCuts(const Double_t cuts[7]) { | |
73 | fgChi2max=cuts[0]; | |
74 | fgDNmin=cuts[1]; fgDPmin=cuts[2]; | |
75 | fgDCAmax=cuts[3]; fgCPAmin=cuts[4]; | |
76 | fgRmin=cuts[5]; fgRmax=cuts[6]; | |
77 | } | |
78 | ||
79 | inline void AliV0vertexer::GetCuts(Double_t cuts[7]) const { | |
80 | cuts[0]=fChi2max; | |
81 | cuts[1]=fDNmin; cuts[2]=fDPmin; | |
82 | cuts[3]=fDCAmax; cuts[4]=fCPAmin; | |
83 | cuts[5]=fRmin; cuts[6]=fRmax; | |
84 | } | |
85 | ||
86 | inline void AliV0vertexer::GetDefaultCuts(Double_t cuts[7]) { | |
87 | cuts[0]=fgChi2max; | |
88 | cuts[1]=fgDNmin; cuts[2]=fgDPmin; | |
89 | cuts[3]=fgDCAmax; cuts[4]=fgCPAmin; | |
90 | cuts[5]=fgRmin; cuts[6]=fgRmax; | |
91 | } | |
92 | ||
93 | #endif | |
94 | ||
95 |