AliRoot Core  ee782a0 (ee782a0)
AliV0vertexer.h
Go to the documentation of this file.
1 #ifndef ALIV0VERTEXER_H
2 #define ALIV0VERTEXER_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice */
5 
6 //------------------------------------------------------------------
7 // V0 Vertexer Class
8 // reads tracks writes out V0 vertices
9 // Origin: Iouri Belikov, IReS, Strasbourg, Jouri.Belikov@cern.ch
10 //------------------------------------------------------------------
11 
12 #include "TObject.h"
13 #include "TObjArray.h"
14 
15 class AliV0HypSel;
16 class TTree;
17 class AliESDEvent;
18 
19 //_____________________________________________________________________________
20 class AliV0vertexer : public TObject {
21 public:
22  AliV0vertexer();
23  void SetCuts(const Double_t *cuts);
24  static void SetDefaultCuts(const Double_t *cuts);
25 
26  Int_t Tracks2V0vertices(AliESDEvent *event);
27 
28  void GetCuts(Double_t *cuts) const;
29  static void GetDefaultCuts(Double_t *cuts);
30 
31  void SetV0HypSel(const TObjArray* selArr);
32  const TObjArray* GetV0HypSelArray() const {return fV0HypSelArray;}
33 
34 private:
35  static
36  Double_t fgEtaMax; // maximal allowed Eta
37  static
38  Double_t fgChi2max; // maximal allowed chi2
39  static
40  Double_t fgDNmin; // min allowed impact parameter for the 1st daughter
41  static
42  Double_t fgDPmin; // min allowed impact parameter for the 2nd daughter
43  static
44  Double_t fgDCAmax; // maximal allowed DCA between the daughter tracks
45  static
46  Double_t fgCPAmin; // minimal allowed cosine of V0's pointing angle
47  static
48  Double_t fgRmin, fgRmax; // max & min radii of the fiducial volume
49 
50  Double_t fEtaMax; // max eta
51  Double_t fChi2max; // maximal allowed chi2
52  Double_t fDNmin; // min allowed impact parameter for the 1st daughter
53  Double_t fDPmin; // min allowed impact parameter for the 2nd daughter
54  Double_t fDCAmax; // maximal allowed DCA between the daughter tracks
55  Double_t fCPAmin; // minimal allowed cosine of V0's pointing angle
56  Double_t fRmin, fRmax; // max & min radii of the fiducial volume
57 
58  const TObjArray* fV0HypSelArray; // array of V0 hypothesis to select
59 
60  ClassDef(AliV0vertexer,5) // V0 verterxer
61 };
62 
64  TObject(),
65  fEtaMax(fgEtaMax),
67  fDNmin(fgDNmin),
68  fDPmin(fgDPmin),
70  fCPAmin(fgCPAmin),
71  fRmin(fgRmin),
72  fRmax(fgRmax),
74 {
75 }
76 
77 inline void AliV0vertexer::SetCuts(const Double_t *cuts) {
78  fChi2max=cuts[0];
79  fDNmin=cuts[1]; fDPmin=cuts[2];
80  fDCAmax=cuts[3]; fCPAmin=cuts[4];
81  fRmin=cuts[5]; fRmax=cuts[6];
82  fEtaMax = cuts[7];
83 }
84 
85 inline void AliV0vertexer::SetDefaultCuts(const Double_t *cuts) {
86  fgChi2max=cuts[0];
87  fgDNmin=cuts[1]; fgDPmin=cuts[2];
88  fgDCAmax=cuts[3]; fgCPAmin=cuts[4];
89  fgRmin=cuts[5]; fgRmax=cuts[6];
90  fgEtaMax = cuts[7];
91 }
92 
93 inline void AliV0vertexer::GetCuts(Double_t *cuts) const {
94  cuts[0]=fChi2max;
95  cuts[1]=fDNmin; cuts[2]=fDPmin;
96  cuts[3]=fDCAmax; cuts[4]=fCPAmin;
97  cuts[5]=fRmin; cuts[6]=fRmax;
98  cuts[7] = fEtaMax;
99 }
100 
101 inline void AliV0vertexer::GetDefaultCuts(Double_t *cuts) {
102  cuts[0]=fgChi2max;
103  cuts[1]=fgDNmin; cuts[2]=fgDPmin;
104  cuts[3]=fgDCAmax; cuts[4]=fgCPAmin;
105  cuts[5]=fgRmin; cuts[6]=fgRmax;
106  cuts[7] = fgEtaMax;
107 }
108 
109 #endif
110 
111 
static Double_t fgDPmin
Definition: AliV0vertexer.h:42
Double_t fRmax
Definition: AliV0vertexer.h:56
const TObjArray * fV0HypSelArray
Definition: AliV0vertexer.h:58
static void GetDefaultCuts(Double_t *cuts)
#define TObjArray
static Double_t fgChi2max
Definition: AliV0vertexer.h:38
static Double_t fgDCAmax
Definition: AliV0vertexer.h:44
Double_t fRmin
Definition: AliV0vertexer.h:56
Double_t fDNmin
Definition: AliV0vertexer.h:52
void SetV0HypSel(const TObjArray *selArr)
Double_t fCPAmin
Definition: AliV0vertexer.h:55
static Double_t fgEtaMax
Definition: AliV0vertexer.h:36
void SetCuts(const Double_t *cuts)
Definition: AliV0vertexer.h:77
Double_t fChi2max
Definition: AliV0vertexer.h:51
const TObjArray * GetV0HypSelArray() const
Definition: AliV0vertexer.h:32
static void SetDefaultCuts(const Double_t *cuts)
Definition: AliV0vertexer.h:85
void GetCuts(Double_t *cuts) const
Definition: AliV0vertexer.h:93
Int_t Tracks2V0vertices(AliESDEvent *event)
static Double_t fgDNmin
Definition: AliV0vertexer.h:40
static Double_t fgRmax
Definition: AliV0vertexer.h:48
static Double_t fgRmin
Definition: AliV0vertexer.h:48
static Double_t fgCPAmin
Definition: AliV0vertexer.h:46
Double_t fDCAmax
Definition: AliV0vertexer.h:54
Double_t fEtaMax
Definition: AliV0vertexer.h:50
Double_t fDPmin
Definition: AliV0vertexer.h:53