1 #ifndef AliLightCascadeVertexer_H
2 #define AliLightCascadeVertexer_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
6 //------------------------------------------------------------------
7 // Cascade Vertexer Class
8 // Reads V0s and tracks, writes out cascade vertices
9 // Origin: Christian Kuhn, IReS, Strasbourg, christian.kuhn@ires.in2p3.fr
10 //------------------------------------------------------------------
16 class AliExternalTrackParam;
18 //_____________________________________________________________________________
19 class AliLightCascadeVertexer : public TObject {
21 AliLightCascadeVertexer();
22 void SetCuts(const Double_t cuts[8]);
23 static void SetDefaultCuts(const Double_t cuts[8]);
25 Int_t V0sTracks2CascadeVertices(AliESDEvent *event);
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;
31 Double_t PropagateToDCA(AliESDv0 *vtx,AliExternalTrackParam *trk,Double_t b);
33 void GetCuts(Double_t cuts[8]) const;
34 static void GetDefaultCuts(Double_t cuts[8]);
36 static void SetDefaultMaxEta(Double_t lMaxEta);
37 static void SetDefaultMinClusters(Double_t lMaxEta);
38 void SetMaxEta(Double_t lMaxEta);
39 void SetMinClusters(Double_t lMaxEta);
43 Double_t fgChi2max; // maximal allowed chi2
45 Double_t fgDV0min; // min. allowed V0 impact parameter
47 Double_t fgMassWin; // window around the Lambda mass
49 Double_t fgDBachMin; // min. allowed bachelor impact parameter
51 Double_t fgDCAmax; // maximal allowed DCA between the V0 and the track
53 Double_t fgCPAmin; // minimal allowed cosine of the cascade pointing angle
55 Double_t fgRmin, fgRmax;// max & min radii of the fiducial volume
56 static Double_t fgMaxEta; // maximum eta value for track pre-selection
57 static Double_t fgMinClusters; // minimum single-track clusters value (>=)
59 Double_t fChi2max; // maximal allowed chi2
60 Double_t fDV0min; // min. allowed V0 impact parameter
61 Double_t fMassWin; // window around the Lambda mass
62 Double_t fDBachMin; // min. allowed bachelor impact parameter
63 Double_t fDCAmax; // maximal allowed DCA between the V0 and the track
64 Double_t fCPAmin; // minimal allowed cosine of the cascade pointing angle
65 Double_t fRmin, fRmax;// max & min radii of the fiducial volume
66 Double_t fMaxEta; // maximum eta value for track pre-selection
67 Double_t fMinClusters; // minimum single-track clusters value (>=)
69 ClassDef(AliLightCascadeVertexer,3) // cascade verterxer
72 inline AliLightCascadeVertexer::AliLightCascadeVertexer() :
77 fDBachMin(fgDBachMin),
83 fMinClusters(fgMinClusters)
87 inline void AliLightCascadeVertexer::SetCuts(const Double_t cuts[8]) {
89 fDV0min=cuts[1]; fMassWin=cuts[2]; fDBachMin=cuts[3];
90 fDCAmax=cuts[4]; fCPAmin=cuts[5];
91 fRmin=cuts[6]; fRmax=cuts[7];
94 inline void AliLightCascadeVertexer::SetDefaultCuts(const Double_t cuts[8]) {
96 fgDV0min=cuts[1]; fgMassWin=cuts[2]; fgDBachMin=cuts[3];
97 fgDCAmax=cuts[4]; fgCPAmin=cuts[5];
98 fgRmin=cuts[6]; fgRmax=cuts[7];
101 inline void AliLightCascadeVertexer::GetCuts(Double_t cuts[8]) const {
103 cuts[1]=fDV0min; cuts[2]=fMassWin; cuts[3]=fDBachMin;
104 cuts[4]=fDCAmax; cuts[5]=fCPAmin;
105 cuts[6]=fRmin; cuts[7]=fRmax;
108 inline void AliLightCascadeVertexer::GetDefaultCuts(Double_t cuts[8]) {
110 cuts[1]=fgDV0min; cuts[2]=fgMassWin; cuts[3]=fgDBachMin;
111 cuts[4]=fgDCAmax; cuts[5]=fgCPAmin;
112 cuts[6]=fgRmin; cuts[7]=fgRmax;
115 inline void AliLightCascadeVertexer::SetDefaultMaxEta(Double_t lMaxEta) {
118 inline void AliLightCascadeVertexer::SetDefaultMinClusters(Double_t lMinClusters) {
119 fgMinClusters = lMinClusters;
121 inline void AliLightCascadeVertexer::SetMaxEta(Double_t lMaxEta) {
124 inline void AliLightCascadeVertexer::SetMinClusters(Double_t lMinClusters) {
125 fMinClusters = lMinClusters;