]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliV0vertexer.h
Geometry bug fixes and the like. Work still progressing.
[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
14class TFile;
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]; }
24 void SetEvent(Int_t ev) {fEventN=ev;}
7f6ddf58 25
26 Int_t Tracks2V0vertices(const TFile *in, TFile *out);
27 Double_t PropagateToDCA(AliITStrackV2 *nt, AliITStrackV2 *pt);
28
29 void GetCuts(Double_t cuts[7]) const;
5d390eda 30 void GetVertex(Double_t *vtx) { vtx[0]=fX; vtx[1]=fY; vtx[2]=fZ; }
7f6ddf58 31
32private:
5d390eda 33 Int_t fEventN; //event number
34
7f6ddf58 35 Double_t fChi2max; // maximal allowed chi2
36 Double_t fDNmin; // min. allowed negative daughter's impact parameter
37 Double_t fDPmin; // min. allowed positive daughter's impact parameter
38 Double_t fDCAmax; // maximal allowed DCA between the daughter tracks
39 Double_t fCPAmax; // maximal allowed cosine of V0's pointing angle
40 Double_t fRmin, fRmax; // max & min radii of the fiducial volume
41
5d390eda 42 Double_t fX; // X-coordinate of the primary vertex
43 Double_t fY; // Y-coordinate of the primary vertex
44 Double_t fZ; // Z-coordinate of the primary vertex
45
7f6ddf58 46 ClassDef(AliV0vertexer,1) // V0 verterxer
47};
48
49inline AliV0vertexer::AliV0vertexer() {
5d390eda 50 fEventN=0;
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
58inline AliV0vertexer::AliV0vertexer(const Double_t cuts[7]) {
5d390eda 59 fEventN=0;
7f6ddf58 60 fChi2max=cuts[0];
61 fDNmin=cuts[1]; fDPmin=cuts[2];
62 fDCAmax=cuts[3]; fCPAmax=cuts[4];
63 fRmin=cuts[5]; fRmax=cuts[6];
5d390eda 64 fX=fY=fZ=0.;
7f6ddf58 65}
66
67inline void AliV0vertexer::SetCuts(const Double_t cuts[7]) {
68 fChi2max=cuts[0];
69 fDNmin=cuts[1]; fDPmin=cuts[2];
70 fDCAmax=cuts[3]; fCPAmax=cuts[4];
71 fRmin=cuts[5]; fRmax=cuts[6];
72}
73
74inline void AliV0vertexer::GetCuts(Double_t cuts[7]) const {
75 cuts[0]=fChi2max;
76 cuts[1]=fDNmin; cuts[2]=fDPmin;
77 cuts[3]=fDCAmax; cuts[4]=fCPAmax;
78 cuts[5]=fRmin; cuts[6]=fRmax;
79}
80
81#endif
82
83