]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/STRANGENESS/Cascades/lightvertexers/AliLightV0vertexer.h
Lightweight cascade checks -> code implementation 2
[u/mrichter/AliRoot.git] / PWGLF / STRANGENESS / Cascades / lightvertexers / AliLightV0vertexer.h
1 #ifndef AliLightV0vertexer_H
2 #define AliLightV0vertexer_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
14 class TTree;
15 class AliESDEvent;
16
17 //_____________________________________________________________________________
18 class AliLightV0vertexer : public TObject {
19 public:
20     AliLightV0vertexer();
21     void SetCuts(const Double_t cuts[7]);
22     static void SetDefaultCuts(const Double_t cuts[7]);
23     
24     Int_t Tracks2V0vertices(AliESDEvent *event);
25     
26     void GetCuts(Double_t cuts[7]) const;
27     static void GetDefaultCuts(Double_t cuts[7]);
28     
29     static void SetDefaultMaxEta(Double_t lMaxEta);
30     static void SetDefaultMinClusters(Double_t lMaxEta);
31     void SetMaxEta(Double_t lMaxEta);
32     void SetMinClusters(Double_t lMaxEta);
33
34     
35 private:
36     static
37     Double_t fgChi2max;      // maximal allowed chi2
38     static
39     Double_t fgDNmin;        // min allowed impact parameter for the 1st daughter
40     static
41     Double_t fgDPmin;        // min allowed impact parameter for the 2nd daughter
42     static
43     Double_t fgDCAmax;       // maximal allowed DCA between the daughter tracks
44     static
45     Double_t fgCPAmin;       // minimal allowed cosine of V0's pointing angle
46     static
47     Double_t fgRmin, fgRmax; // max & min radii of the fiducial volume
48     
49     static Double_t fgMaxEta;       // maximum eta value for track pre-selection
50     static Double_t fgMinClusters;  // minimum single-track clusters value (>=)
51     
52     Double_t fChi2max;      // maximal allowed chi2
53     Double_t fDNmin;        // min allowed impact parameter for the 1st daughter
54     Double_t fDPmin;        // min allowed impact parameter for the 2nd daughter
55     Double_t fDCAmax;       // maximal allowed DCA between the daughter tracks
56     Double_t fCPAmin;       // minimal allowed cosine of V0's pointing angle
57     Double_t fRmin, fRmax;  // max & min radii of the fiducial volume
58     
59     Double_t fMaxEta;       // maximum eta value for track pre-selection
60     Double_t fMinClusters;  // minimum single-track clusters value (>=)
61     
62     ClassDef(AliLightV0vertexer,3)  // V0 verterxer
63 };
64
65 inline AliLightV0vertexer::AliLightV0vertexer() :
66 TObject(),
67 fChi2max(fgChi2max),
68 fDNmin(fgDNmin),
69 fDPmin(fgDPmin),
70 fDCAmax(fgDCAmax),
71 fCPAmin(fgCPAmin),
72 fRmin(fgRmin),
73 fRmax(fgRmax),
74 fMaxEta(fgMaxEta),
75 fMinClusters(fgMinClusters)
76 {
77 }
78
79 inline void AliLightV0vertexer::SetCuts(const Double_t cuts[7]) {
80     fChi2max=cuts[0];
81     fDNmin=cuts[1];   fDPmin=cuts[2];
82     fDCAmax=cuts[3];  fCPAmin=cuts[4];
83     fRmin=cuts[5];    fRmax=cuts[6];
84 }
85
86 inline void AliLightV0vertexer::SetDefaultCuts(const Double_t cuts[7]) {
87     fgChi2max=cuts[0];
88     fgDNmin=cuts[1];   fgDPmin=cuts[2];
89     fgDCAmax=cuts[3];  fgCPAmin=cuts[4];
90     fgRmin=cuts[5];    fgRmax=cuts[6];
91 }
92
93 inline void AliLightV0vertexer::GetCuts(Double_t cuts[7]) 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 }
99
100 inline void AliLightV0vertexer::GetDefaultCuts(Double_t cuts[7]) {
101     cuts[0]=fgChi2max;
102     cuts[1]=fgDNmin;   cuts[2]=fgDPmin;
103     cuts[3]=fgDCAmax;  cuts[4]=fgCPAmin;
104     cuts[5]=fgRmin;    cuts[6]=fgRmax; 
105 }
106
107 inline void AliLightV0vertexer::SetDefaultMaxEta(Double_t lMaxEta) {
108     fgMaxEta = lMaxEta;
109 }
110 inline void AliLightV0vertexer::SetDefaultMinClusters(Double_t lMinClusters) {
111     fgMinClusters = lMinClusters;
112 }
113 inline void AliLightV0vertexer::SetMaxEta(Double_t lMaxEta) {
114     fMaxEta = lMaxEta;
115 }
116 inline void AliLightV0vertexer::SetMinClusters(Double_t lMinClusters) {
117     fMinClusters = lMinClusters;
118 }
119
120 #endif
121
122