]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/AliCascadeVertexer.h
Bug fix (Gustavo)
[u/mrichter/AliRoot.git] / STEER / AliCascadeVertexer.h
CommitLineData
a9a2d814 1#ifndef ALICASCADEVERTEXER_H
2#define ALICASCADEVERTEXER_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6//------------------------------------------------------------------
7// Cascade Vertexer Class
18856a77 8// Reads V0s and tracks, writes out cascade vertices
a9a2d814 9// Origin: Christian Kuhn, IReS, Strasbourg, christian.kuhn@ires.in2p3.fr
10//------------------------------------------------------------------
11
12#include "TObject.h"
13
e23730c7 14class AliESD;
566abf75 15class TTree;
c7bafca9 16class AliESDv0;
17class AliExternalTrackParam;
a9a2d814 18
19//_____________________________________________________________________________
20class AliCascadeVertexer : public TObject {
21public:
22 AliCascadeVertexer();
23 AliCascadeVertexer(const Double_t cuts[8]);
24 void SetCuts(const Double_t cuts[8]);
e1cac29c 25 void SetVertex(Double_t *vtx) { fX=vtx[0]; fY=vtx[1]; fZ=vtx[2]; }
a9a2d814 26
e23730c7 27 Int_t V0sTracks2CascadeVertices(AliESD *event);
c7bafca9 28 Double_t PropagateToDCA(AliESDv0 *vtx,AliExternalTrackParam *trk,Double_t b);
a9a2d814 29
30 void GetCuts(Double_t cuts[8]) const;
e1cac29c 31 void GetVertex(Double_t *vtx) const { vtx[0]=fX; vtx[1]=fY; vtx[2]=fZ; }
a9a2d814 32
33private:
34 Double_t fChi2max; // maximal allowed chi2
35 Double_t fDV0min; // min. allowed V0 impact parameter
36 Double_t fMassWin; // window around the Lambda mass
37 Double_t fDBachMin; // min. allowed bachelor impact parameter
38 Double_t fDCAmax; // maximal allowed DCA between the V0 and the track
39 Double_t fCPAmax; // maximal allowed cosine of the cascade pointing angle
40 Double_t fRmin, fRmax;// max & min radii of the fiducial volume
41
e1cac29c 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
a9a2d814 46 ClassDef(AliCascadeVertexer,1) // cascade verterxer
47};
48
fe12e09c 49inline AliCascadeVertexer::AliCascadeVertexer() :
50 TObject(),
51 fChi2max(33.),
52 fDV0min(0.015),
53 fMassWin(0.05),
54 fDBachMin(0.015),
55 fDCAmax(0.01),
56 fCPAmax(0.025),
57 fRmin(0.5),
58 fRmax(2.5),
59 fX(0),
60 fY(0),
61 fZ(0)
62{
a9a2d814 63}
64
fe12e09c 65inline AliCascadeVertexer::AliCascadeVertexer(const Double_t cuts[8]) :
66 TObject(),
67 fChi2max(cuts[0]),
68 fDV0min(cuts[1]),
69 fMassWin(cuts[2]),
70 fDBachMin(cuts[3]),
71 fDCAmax(cuts[4]),
72 fCPAmax(cuts[5]),
73 fRmin(cuts[6]),
74 fRmax(cuts[7]),
75 fX(0),
76 fY(0),
77 fZ(0)
78{
a9a2d814 79}
80
81inline void AliCascadeVertexer::SetCuts(const Double_t cuts[8]) {
82 fChi2max=cuts[0];
83 fDV0min=cuts[1]; fMassWin=cuts[2]; fDBachMin=cuts[3];
84 fDCAmax=cuts[4]; fCPAmax=cuts[5];
85 fRmin=cuts[6]; fRmax=cuts[7];
86}
87
88inline void AliCascadeVertexer::GetCuts(Double_t cuts[8]) const {
89 cuts[0]=fChi2max;
90 cuts[1]=fDV0min; cuts[2]=fMassWin; cuts[3]=fDBachMin;
91 cuts[4]=fDCAmax; cuts[5]=fCPAmax;
92 cuts[6]=fRmin; cuts[7]=fRmax;
93}
94
95#endif
96