Line data Source code
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 32 : 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 188 : ClassDef(AliV0vertexer,3) // V0 verterxer
51 : };
52 :
53 : inline AliV0vertexer::AliV0vertexer() :
54 8 : TObject(),
55 8 : fChi2max(fgChi2max),
56 8 : fDNmin(fgDNmin),
57 8 : fDPmin(fgDPmin),
58 8 : fDCAmax(fgDCAmax),
59 8 : fCPAmin(fgCPAmin),
60 8 : fRmin(fgRmin),
61 8 : fRmax(fgRmax)
62 40 : {
63 16 : }
64 :
65 : inline void AliV0vertexer::SetCuts(const Double_t cuts[7]) {
66 16 : fChi2max=cuts[0];
67 8 : fDNmin=cuts[1]; fDPmin=cuts[2];
68 8 : fDCAmax=cuts[3]; fCPAmin=cuts[4];
69 8 : fRmin=cuts[5]; fRmax=cuts[6];
70 8 : }
71 :
72 : inline void AliV0vertexer::SetDefaultCuts(const Double_t cuts[7]) {
73 0 : fgChi2max=cuts[0];
74 0 : fgDNmin=cuts[1]; fgDPmin=cuts[2];
75 0 : fgDCAmax=cuts[3]; fgCPAmin=cuts[4];
76 0 : fgRmin=cuts[5]; fgRmax=cuts[6];
77 0 : }
78 :
79 : inline void AliV0vertexer::GetCuts(Double_t cuts[7]) const {
80 0 : cuts[0]=fChi2max;
81 0 : cuts[1]=fDNmin; cuts[2]=fDPmin;
82 0 : cuts[3]=fDCAmax; cuts[4]=fCPAmin;
83 0 : cuts[5]=fRmin; cuts[6]=fRmax;
84 0 : }
85 :
86 : inline void AliV0vertexer::GetDefaultCuts(Double_t cuts[7]) {
87 0 : cuts[0]=fgChi2max;
88 0 : cuts[1]=fgDNmin; cuts[2]=fgDPmin;
89 0 : cuts[3]=fgDCAmax; cuts[4]=fgCPAmin;
90 0 : cuts[5]=fgRmin; cuts[6]=fgRmax;
91 0 : }
92 :
93 : #endif
94 :
95 :
|