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