]>
Commit | Line | Data |
---|---|---|
7f6ddf58 | 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 | |
18856a77 | 8 | // reads tracks writes out V0 vertices |
7f6ddf58 | 9 | // Origin: Iouri Belikov, IReS, Strasbourg, Jouri.Belikov@cern.ch |
10 | //------------------------------------------------------------------ | |
11 | ||
12 | #include "TObject.h" | |
13 | ||
566abf75 | 14 | class TTree; |
7f6ddf58 | 15 | class AliITStrackV2; |
e23730c7 | 16 | class AliESD; |
7f6ddf58 | 17 | |
18 | //_____________________________________________________________________________ | |
19 | class AliV0vertexer : public TObject { | |
20 | public: | |
21 | AliV0vertexer(); | |
22 | AliV0vertexer(const Double_t cuts[7]); | |
23 | void SetCuts(const Double_t cuts[7]); | |
5d390eda | 24 | void SetVertex(Double_t *vtx) { fX=vtx[0]; fY=vtx[1]; fZ=vtx[2]; } |
7f6ddf58 | 25 | |
e23730c7 | 26 | Int_t Tracks2V0vertices(AliESD *event); |
27 | ||
566abf75 | 28 | Int_t Tracks2V0vertices(TTree *in, TTree *out); |
18856a77 | 29 | Double_t PropagateToDCA(AliITStrackV2 *nt, AliITStrackV2 *pt) const; |
7f6ddf58 | 30 | |
31 | void GetCuts(Double_t cuts[7]) const; | |
18856a77 | 32 | void GetVertex(Double_t *vtx) const { vtx[0]=fX; vtx[1]=fY; vtx[2]=fZ; } |
7f6ddf58 | 33 | |
34 | private: | |
5d390eda | 35 | |
7f6ddf58 | 36 | Double_t fChi2max; // maximal allowed chi2 |
37 | Double_t fDNmin; // min. allowed negative daughter's impact parameter | |
38 | Double_t fDPmin; // min. allowed positive daughter's impact parameter | |
39 | Double_t fDCAmax; // maximal allowed DCA between the daughter tracks | |
40 | Double_t fCPAmax; // maximal allowed cosine of V0's pointing angle | |
41 | Double_t fRmin, fRmax; // max & min radii of the fiducial volume | |
42 | ||
5d390eda | 43 | Double_t fX; // X-coordinate of the primary vertex |
44 | Double_t fY; // Y-coordinate of the primary vertex | |
45 | Double_t fZ; // Z-coordinate of the primary vertex | |
46 | ||
7f6ddf58 | 47 | ClassDef(AliV0vertexer,1) // V0 verterxer |
48 | }; | |
49 | ||
50 | inline AliV0vertexer::AliV0vertexer() { | |
5d390eda | 51 | fChi2max=33.; |
52 | fDNmin=0.015; fDPmin=0.015; | |
53 | fDCAmax=0.01; fCPAmax=0.025; | |
54 | fRmin=0.5; fRmax=2.5; | |
55 | fX=fY=fZ=0.; | |
7f6ddf58 | 56 | } |
57 | ||
58 | inline AliV0vertexer::AliV0vertexer(const Double_t cuts[7]) { | |
59 | fChi2max=cuts[0]; | |
60 | fDNmin=cuts[1]; fDPmin=cuts[2]; | |
61 | fDCAmax=cuts[3]; fCPAmax=cuts[4]; | |
62 | fRmin=cuts[5]; fRmax=cuts[6]; | |
5d390eda | 63 | fX=fY=fZ=0.; |
7f6ddf58 | 64 | } |
65 | ||
66 | inline void AliV0vertexer::SetCuts(const Double_t cuts[7]) { | |
67 | fChi2max=cuts[0]; | |
68 | fDNmin=cuts[1]; fDPmin=cuts[2]; | |
69 | fDCAmax=cuts[3]; fCPAmax=cuts[4]; | |
70 | fRmin=cuts[5]; fRmax=cuts[6]; | |
71 | } | |
72 | ||
73 | inline void AliV0vertexer::GetCuts(Double_t cuts[7]) const { | |
74 | cuts[0]=fChi2max; | |
75 | cuts[1]=fDNmin; cuts[2]=fDPmin; | |
76 | cuts[3]=fDCAmax; cuts[4]=fCPAmax; | |
77 | cuts[5]=fRmin; cuts[6]=fRmax; | |
78 | } | |
79 | ||
80 | #endif | |
81 | ||
82 |