Fixes for bug #52499: Field polarities inconsistiency
[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
af885e0f 14class AliESDEvent;
c7bafca9 15class AliESDv0;
16class AliExternalTrackParam;
a9a2d814 17
18//_____________________________________________________________________________
19class AliCascadeVertexer : public TObject {
20public:
21 AliCascadeVertexer();
a9a2d814 22 void SetCuts(const Double_t cuts[8]);
5e4ff34d 23 static void SetDefaultCuts(const Double_t cuts[8]);
a9a2d814 24
af885e0f 25 Int_t V0sTracks2CascadeVertices(AliESDEvent *event);
97135b34 26 Double_t Det(Double_t a00, Double_t a01, Double_t a10, Double_t a11) const;
27 Double_t Det(Double_t a00,Double_t a01,Double_t a02,
28 Double_t a10,Double_t a11,Double_t a12,
29 Double_t a20,Double_t a21,Double_t a22) const;
30
c7bafca9 31 Double_t PropagateToDCA(AliESDv0 *vtx,AliExternalTrackParam *trk,Double_t b);
a9a2d814 32
33 void GetCuts(Double_t cuts[8]) const;
5e4ff34d 34 static void GetDefaultCuts(Double_t cuts[8]);
a9a2d814 35
36private:
5e4ff34d 37 static
38 Double_t fgChi2max; // maximal allowed chi2
39 static
40 Double_t fgDV0min; // min. allowed V0 impact parameter
41 static
42 Double_t fgMassWin; // window around the Lambda mass
43 static
44 Double_t fgDBachMin; // min. allowed bachelor impact parameter
45 static
46 Double_t fgDCAmax; // maximal allowed DCA between the V0 and the track
47 static
85f0f56e 48 Double_t fgCPAmin; // minimal allowed cosine of the cascade pointing angle
5e4ff34d 49 static
50 Double_t fgRmin, fgRmax;// max & min radii of the fiducial volume
51
a9a2d814 52 Double_t fChi2max; // maximal allowed chi2
53 Double_t fDV0min; // min. allowed V0 impact parameter
54 Double_t fMassWin; // window around the Lambda mass
55 Double_t fDBachMin; // min. allowed bachelor impact parameter
56 Double_t fDCAmax; // maximal allowed DCA between the V0 and the track
85f0f56e 57 Double_t fCPAmin; // minimal allowed cosine of the cascade pointing angle
a9a2d814 58 Double_t fRmin, fRmax;// max & min radii of the fiducial volume
59
85f0f56e 60 ClassDef(AliCascadeVertexer,3) // cascade verterxer
a9a2d814 61};
62
fe12e09c 63inline AliCascadeVertexer::AliCascadeVertexer() :
64 TObject(),
5e4ff34d 65 fChi2max(fgChi2max),
66 fDV0min(fgDV0min),
67 fMassWin(fgMassWin),
68 fDBachMin(fgDBachMin),
69 fDCAmax(fgDCAmax),
85f0f56e 70 fCPAmin(fgCPAmin),
5e4ff34d 71 fRmin(fgRmin),
72 fRmax(fgRmax)
fe12e09c 73{
a9a2d814 74}
75
76inline void AliCascadeVertexer::SetCuts(const Double_t cuts[8]) {
77 fChi2max=cuts[0];
78 fDV0min=cuts[1]; fMassWin=cuts[2]; fDBachMin=cuts[3];
85f0f56e 79 fDCAmax=cuts[4]; fCPAmin=cuts[5];
a9a2d814 80 fRmin=cuts[6]; fRmax=cuts[7];
81}
82
5e4ff34d 83inline void AliCascadeVertexer::SetDefaultCuts(const Double_t cuts[8]) {
84 fgChi2max=cuts[0];
85 fgDV0min=cuts[1]; fgMassWin=cuts[2]; fgDBachMin=cuts[3];
85f0f56e 86 fgDCAmax=cuts[4]; fgCPAmin=cuts[5];
5e4ff34d 87 fgRmin=cuts[6]; fgRmax=cuts[7];
88}
89
a9a2d814 90inline void AliCascadeVertexer::GetCuts(Double_t cuts[8]) const {
91 cuts[0]=fChi2max;
92 cuts[1]=fDV0min; cuts[2]=fMassWin; cuts[3]=fDBachMin;
85f0f56e 93 cuts[4]=fDCAmax; cuts[5]=fCPAmin;
a9a2d814 94 cuts[6]=fRmin; cuts[7]=fRmax;
95}
96
5e4ff34d 97inline void AliCascadeVertexer::GetDefaultCuts(Double_t cuts[8]) {
98 cuts[0]=fgChi2max;
99 cuts[1]=fgDV0min; cuts[2]=fgMassWin; cuts[3]=fgDBachMin;
85f0f56e 100 cuts[4]=fgDCAmax; cuts[5]=fgCPAmin;
5e4ff34d 101 cuts[6]=fgRmin; cuts[7]=fgRmax;
102}
103
a9a2d814 104#endif
105