AliRoot Core  edcc906 (edcc906)
AliCascadeVertexer.h
Go to the documentation of this file.
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
8 // Reads V0s and tracks, writes out cascade vertices
9 // Origin: Christian Kuhn, IReS, Strasbourg, christian.kuhn@ires.in2p3.fr
10 //------------------------------------------------------------------
11 
12 #include "TObject.h"
13 #include "TMath.h"
14 
15 class AliESDEvent;
16 class AliESDv0;
18 
19 //_____________________________________________________________________________
20 class AliCascadeVertexer : public TObject {
21 public:
23  void SetCuts(const Double_t cuts[8]);
24  static void SetDefaultCuts(const Double_t cuts[8]);
25 
27  Double_t Det(Double_t a00, Double_t a01, Double_t a10, Double_t a11) const;
28  Double_t Det(Double_t a00,Double_t a01,Double_t a02,
29  Double_t a10,Double_t a11,Double_t a12,
30  Double_t a20,Double_t a21,Double_t a22) const;
31 
32  Double_t PropagateToDCA(AliESDv0 *vtx,AliExternalTrackParam *trk,Double_t b);
33 
34  void GetCuts(Double_t cuts[8]) const;
35  static void GetDefaultCuts(Double_t cuts[8]);
36 
37 private:
38  static
39  Double_t fgChi2max; // maximal allowed chi2
40  static
41  Double_t fgDV0min; // min. allowed V0 impact parameter
42  static
43  Double_t fgMassWin; // window around the Lambda mass
44  static
45  Double_t fgDBachMin; // min. allowed bachelor impact parameter
46  static
47  Double_t fgDCAmax; // maximal allowed DCA between the V0 and the track
48  static
49  Double_t fgCPAmin; // minimal allowed cosine of the cascade pointing angle
50  static
51  Double_t fgRmin, fgRmax;// max & min radii of the fiducial volume
52 
53  Double_t fChi2max; // maximal allowed chi2
54  Double_t fDV0min; // min. allowed V0 impact parameter
55  Double_t fMassWin; // window around the Lambda mass
56  Double_t fDBachMin; // min. allowed bachelor impact parameter
57  Double_t fDCAmax; // maximal allowed DCA between the V0 and the track
58  Double_t fCPAmin; // minimal allowed cosine of the cascade pointing angle
59  Double_t fRmin2, fRmax2;// max & min radii^2 of the fiducial volume
60  Double_t fRmaxMargin2;// (rmax+margin)^2 for fast checks
61 
62  ClassDef(AliCascadeVertexer,4) // cascade verterxer
63 };
64 
66 :TObject(),
72  fCPAmin(fgCPAmin),
75  fRmaxMargin2((fgRmax+5)*(fgRmax+5))
76 {
77 }
78 
79 inline void AliCascadeVertexer::SetCuts(const Double_t cuts[8]) {
80  fChi2max=cuts[0];
81  fDV0min=cuts[1]; fMassWin=cuts[2]; fDBachMin=cuts[3];
82  fDCAmax=cuts[4]; fCPAmin=cuts[5];
83  fRmin2=cuts[6]*cuts[6];
84  fRmax2=cuts[7]*cuts[7];
85  fRmaxMargin2 = (cuts[7]+5)*(cuts[7]+5);
86 }
87 
88 inline void AliCascadeVertexer::SetDefaultCuts(const Double_t cuts[8]) {
89  fgChi2max=cuts[0];
90  fgDV0min=cuts[1]; fgMassWin=cuts[2]; fgDBachMin=cuts[3];
91  fgDCAmax=cuts[4]; fgCPAmin=cuts[5];
92  fgRmin=cuts[6]; fgRmax=cuts[7];
93 }
94 
95 inline void AliCascadeVertexer::GetCuts(Double_t cuts[8]) const {
96  cuts[0]=fChi2max;
97  cuts[1]=fDV0min; cuts[2]=fMassWin; cuts[3]=fDBachMin;
98  cuts[4]=fDCAmax; cuts[5]=fCPAmin;
99  cuts[6]=TMath::Sqrt(fRmin2); cuts[7]=TMath::Sqrt(fRmax2);
100 }
101 
102 inline void AliCascadeVertexer::GetDefaultCuts(Double_t cuts[8]) {
103  cuts[0]=fgChi2max;
104  cuts[1]=fgDV0min; cuts[2]=fgMassWin; cuts[3]=fgDBachMin;
105  cuts[4]=fgDCAmax; cuts[5]=fgCPAmin;
106  cuts[6]=fgRmin; cuts[7]=fgRmax;
107 }
108 
109 #endif
110 
TBrowser b
Definition: RunAnaESD.C:12
static Double_t fgDCAmax
Double_t PropagateToDCA(AliESDv0 *vtx, AliExternalTrackParam *trk, Double_t b)
Int_t V0sTracks2CascadeVertices(AliESDEvent *event)
static Double_t fgChi2max
Double_t Det(Double_t a00, Double_t a01, Double_t a10, Double_t a11) const
static Double_t fgDBachMin
static Double_t fgRmin
static Double_t fgDV0min
static Double_t fgMassWin
static Double_t fgCPAmin
void SetCuts(const Double_t cuts[8])
void GetCuts(Double_t cuts[8]) const
static void SetDefaultCuts(const Double_t cuts[8])
static Double_t fgRmax
static void GetDefaultCuts(Double_t cuts[8])