Possibility to calculate the DCA between two ESD track. The V0 and cascade vertexes...
[u/mrichter/AliRoot.git] / STEER / AliV0vertexer.h
CommitLineData
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 14class TTree;
e23730c7 15class AliESD;
7f6ddf58 16
17//_____________________________________________________________________________
18class AliV0vertexer : public TObject {
19public:
20 AliV0vertexer();
21 AliV0vertexer(const Double_t cuts[7]);
22 void SetCuts(const Double_t cuts[7]);
5d390eda 23 void SetVertex(Double_t *vtx) { fX=vtx[0]; fY=vtx[1]; fZ=vtx[2]; }
7f6ddf58 24
e23730c7 25 Int_t Tracks2V0vertices(AliESD *event);
26
7f6ddf58 27 void GetCuts(Double_t cuts[7]) const;
18856a77 28 void GetVertex(Double_t *vtx) const { vtx[0]=fX; vtx[1]=fY; vtx[2]=fZ; }
7f6ddf58 29
30private:
5d390eda 31
7f6ddf58 32 Double_t fChi2max; // maximal allowed chi2
33 Double_t fDNmin; // min. allowed negative daughter's impact parameter
34 Double_t fDPmin; // min. allowed positive daughter's impact parameter
35 Double_t fDCAmax; // maximal allowed DCA between the daughter tracks
36 Double_t fCPAmax; // maximal allowed cosine of V0's pointing angle
37 Double_t fRmin, fRmax; // max & min radii of the fiducial volume
38
5d390eda 39 Double_t fX; // X-coordinate of the primary vertex
40 Double_t fY; // Y-coordinate of the primary vertex
41 Double_t fZ; // Z-coordinate of the primary vertex
42
7f6ddf58 43 ClassDef(AliV0vertexer,1) // V0 verterxer
44};
45
46inline AliV0vertexer::AliV0vertexer() {
5d390eda 47 fChi2max=33.;
48 fDNmin=0.015; fDPmin=0.015;
49 fDCAmax=0.01; fCPAmax=0.025;
50 fRmin=0.5; fRmax=2.5;
51 fX=fY=fZ=0.;
7f6ddf58 52}
53
54inline AliV0vertexer::AliV0vertexer(const Double_t cuts[7]) {
55 fChi2max=cuts[0];
56 fDNmin=cuts[1]; fDPmin=cuts[2];
57 fDCAmax=cuts[3]; fCPAmax=cuts[4];
58 fRmin=cuts[5]; fRmax=cuts[6];
5d390eda 59 fX=fY=fZ=0.;
7f6ddf58 60}
61
62inline void AliV0vertexer::SetCuts(const Double_t cuts[7]) {
63 fChi2max=cuts[0];
64 fDNmin=cuts[1]; fDPmin=cuts[2];
65 fDCAmax=cuts[3]; fCPAmax=cuts[4];
66 fRmin=cuts[5]; fRmax=cuts[6];
67}
68
69inline void AliV0vertexer::GetCuts(Double_t cuts[7]) const {
70 cuts[0]=fChi2max;
71 cuts[1]=fDNmin; cuts[2]=fDPmin;
72 cuts[3]=fDCAmax; cuts[4]=fCPAmax;
73 cuts[5]=fRmin; cuts[6]=fRmax;
74}
75
76#endif
77
78