ROOT logo
#ifndef ALICASCADEVERTEXER_H
#define ALICASCADEVERTEXER_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

//------------------------------------------------------------------
//                    Cascade Vertexer Class
//          Reads V0s and tracks, writes out cascade vertices
//    Origin: Christian Kuhn, IReS, Strasbourg, christian.kuhn@ires.in2p3.fr
//------------------------------------------------------------------

#include "TObject.h"

class AliESDEvent;
class AliESDv0;
class AliExternalTrackParam;

//_____________________________________________________________________________
class AliCascadeVertexer : public TObject {
public:
  AliCascadeVertexer();
  void SetCuts(const Double_t cuts[8]);
  static void SetDefaultCuts(const Double_t cuts[8]);

  Int_t V0sTracks2CascadeVertices(AliESDEvent *event);
  Double_t Det(Double_t a00, Double_t a01, Double_t a10, Double_t a11) const;
  Double_t Det(Double_t a00,Double_t a01,Double_t a02,
	       Double_t a10,Double_t a11,Double_t a12,
	       Double_t a20,Double_t a21,Double_t a22) const;

  Double_t PropagateToDCA(AliESDv0 *vtx,AliExternalTrackParam *trk,Double_t b);

  void GetCuts(Double_t cuts[8]) const;
  static void GetDefaultCuts(Double_t cuts[8]);

private:
  static
  Double_t fgChi2max;   // maximal allowed chi2 
  static
  Double_t fgDV0min;    // min. allowed V0 impact parameter
  static
  Double_t fgMassWin;   // window around the Lambda mass
  static
  Double_t fgDBachMin;  // min. allowed bachelor impact parameter
  static
  Double_t fgDCAmax;    // maximal allowed DCA between the V0 and the track 
  static
  Double_t fgCPAmin;    // minimal allowed cosine of the cascade pointing angle
  static
  Double_t fgRmin, fgRmax;// max & min radii of the fiducial volume
  
  Double_t fChi2max;    // maximal allowed chi2 
  Double_t fDV0min;     // min. allowed V0 impact parameter
  Double_t fMassWin;    // window around the Lambda mass
  Double_t fDBachMin;   // min. allowed bachelor impact parameter
  Double_t fDCAmax;     // maximal allowed DCA between the V0 and the track 
  Double_t fCPAmin;     // minimal allowed cosine of the cascade pointing angle
  Double_t fRmin, fRmax;// max & min radii of the fiducial volume
  
  ClassDef(AliCascadeVertexer,3)  // cascade verterxer 
};

inline AliCascadeVertexer::AliCascadeVertexer() :
  TObject(),
  fChi2max(fgChi2max), 
  fDV0min(fgDV0min),
  fMassWin(fgMassWin),
  fDBachMin(fgDBachMin),
  fDCAmax(fgDCAmax),
  fCPAmin(fgCPAmin), 
  fRmin(fgRmin),
  fRmax(fgRmax)
{
}

inline void AliCascadeVertexer::SetCuts(const Double_t cuts[8]) {
  fChi2max=cuts[0]; 
  fDV0min=cuts[1];   fMassWin=cuts[2]; fDBachMin=cuts[3];
  fDCAmax=cuts[4];   fCPAmin=cuts[5];
  fRmin=cuts[6];     fRmax=cuts[7]; 
}

inline void AliCascadeVertexer::SetDefaultCuts(const Double_t cuts[8]) {
  fgChi2max=cuts[0]; 
  fgDV0min=cuts[1];   fgMassWin=cuts[2]; fgDBachMin=cuts[3];
  fgDCAmax=cuts[4];   fgCPAmin=cuts[5];
  fgRmin=cuts[6];     fgRmax=cuts[7]; 
}

inline void AliCascadeVertexer::GetCuts(Double_t cuts[8]) const {
  cuts[0]=fChi2max; 
  cuts[1]=fDV0min;   cuts[2]=fMassWin;  cuts[3]=fDBachMin;
  cuts[4]=fDCAmax;   cuts[5]=fCPAmin;
  cuts[6]=fRmin;     cuts[7]=fRmax; 
}

inline void AliCascadeVertexer::GetDefaultCuts(Double_t cuts[8]) {
  cuts[0]=fgChi2max; 
  cuts[1]=fgDV0min;   cuts[2]=fgMassWin;  cuts[3]=fgDBachMin;
  cuts[4]=fgDCAmax;   cuts[5]=fgCPAmin;
  cuts[6]=fgRmin;     cuts[7]=fgRmax; 
}

#endif

 AliCascadeVertexer.h:1
 AliCascadeVertexer.h:2
 AliCascadeVertexer.h:3
 AliCascadeVertexer.h:4
 AliCascadeVertexer.h:5
 AliCascadeVertexer.h:6
 AliCascadeVertexer.h:7
 AliCascadeVertexer.h:8
 AliCascadeVertexer.h:9
 AliCascadeVertexer.h:10
 AliCascadeVertexer.h:11
 AliCascadeVertexer.h:12
 AliCascadeVertexer.h:13
 AliCascadeVertexer.h:14
 AliCascadeVertexer.h:15
 AliCascadeVertexer.h:16
 AliCascadeVertexer.h:17
 AliCascadeVertexer.h:18
 AliCascadeVertexer.h:19
 AliCascadeVertexer.h:20
 AliCascadeVertexer.h:21
 AliCascadeVertexer.h:22
 AliCascadeVertexer.h:23
 AliCascadeVertexer.h:24
 AliCascadeVertexer.h:25
 AliCascadeVertexer.h:26
 AliCascadeVertexer.h:27
 AliCascadeVertexer.h:28
 AliCascadeVertexer.h:29
 AliCascadeVertexer.h:30
 AliCascadeVertexer.h:31
 AliCascadeVertexer.h:32
 AliCascadeVertexer.h:33
 AliCascadeVertexer.h:34
 AliCascadeVertexer.h:35
 AliCascadeVertexer.h:36
 AliCascadeVertexer.h:37
 AliCascadeVertexer.h:38
 AliCascadeVertexer.h:39
 AliCascadeVertexer.h:40
 AliCascadeVertexer.h:41
 AliCascadeVertexer.h:42
 AliCascadeVertexer.h:43
 AliCascadeVertexer.h:44
 AliCascadeVertexer.h:45
 AliCascadeVertexer.h:46
 AliCascadeVertexer.h:47
 AliCascadeVertexer.h:48
 AliCascadeVertexer.h:49
 AliCascadeVertexer.h:50
 AliCascadeVertexer.h:51
 AliCascadeVertexer.h:52
 AliCascadeVertexer.h:53
 AliCascadeVertexer.h:54
 AliCascadeVertexer.h:55
 AliCascadeVertexer.h:56
 AliCascadeVertexer.h:57
 AliCascadeVertexer.h:58
 AliCascadeVertexer.h:59
 AliCascadeVertexer.h:60
 AliCascadeVertexer.h:61
 AliCascadeVertexer.h:62
 AliCascadeVertexer.h:63
 AliCascadeVertexer.h:64
 AliCascadeVertexer.h:65
 AliCascadeVertexer.h:66
 AliCascadeVertexer.h:67
 AliCascadeVertexer.h:68
 AliCascadeVertexer.h:69
 AliCascadeVertexer.h:70
 AliCascadeVertexer.h:71
 AliCascadeVertexer.h:72
 AliCascadeVertexer.h:73
 AliCascadeVertexer.h:74
 AliCascadeVertexer.h:75
 AliCascadeVertexer.h:76
 AliCascadeVertexer.h:77
 AliCascadeVertexer.h:78
 AliCascadeVertexer.h:79
 AliCascadeVertexer.h:80
 AliCascadeVertexer.h:81
 AliCascadeVertexer.h:82
 AliCascadeVertexer.h:83
 AliCascadeVertexer.h:84
 AliCascadeVertexer.h:85
 AliCascadeVertexer.h:86
 AliCascadeVertexer.h:87
 AliCascadeVertexer.h:88
 AliCascadeVertexer.h:89
 AliCascadeVertexer.h:90
 AliCascadeVertexer.h:91
 AliCascadeVertexer.h:92
 AliCascadeVertexer.h:93
 AliCascadeVertexer.h:94
 AliCascadeVertexer.h:95
 AliCascadeVertexer.h:96
 AliCascadeVertexer.h:97
 AliCascadeVertexer.h:98
 AliCascadeVertexer.h:99
 AliCascadeVertexer.h:100
 AliCascadeVertexer.h:101
 AliCascadeVertexer.h:102
 AliCascadeVertexer.h:103
 AliCascadeVertexer.h:104
 AliCascadeVertexer.h:105