]>
Commit | Line | Data |
---|---|---|
a00021a7 | 1 | #ifndef ALIGRPRECOPARAM_H |
2 | #define ALIGRPRECOPARAM_H | |
3 | /* Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | ||
7 | /////////////////////////////////////////////////////////////////////////////// | |
8 | // // | |
9 | // Class with global reconstruction parameters // | |
10 | // (initially, parameters for AliVertexerTracks) // | |
11 | // Origin: andrea.dainese@lnl.infn.it // | |
12 | // // | |
13 | /////////////////////////////////////////////////////////////////////////////// | |
14 | ||
15 | ||
16 | #include "AliDetectorRecoParam.h" | |
17 | ||
18 | class AliGRPRecoParam : public AliDetectorRecoParam | |
19 | { | |
20 | public: | |
21 | AliGRPRecoParam(); | |
22 | virtual ~AliGRPRecoParam(); | |
23 | ||
24 | static AliGRPRecoParam *GetLowFluxParam();// make reco parameters for low flux env. | |
25 | static AliGRPRecoParam *GetHighFluxParam();// make reco parameters for high flux env. | |
f2a195c1 | 26 | static AliGRPRecoParam *GetCosmicTestParam();// make reco parameters for cosmics env. |
a00021a7 | 27 | |
71f6cda4 | 28 | void SetMostProbablePt(Double_t pt=0.350) { fMostProbablePt=pt; return; } |
29 | Double_t GetMostProbablePt() const { return fMostProbablePt; } | |
30 | ||
f2a195c1 | 31 | void SetVertexerTracksConstraintITS(Bool_t constr=kTRUE) { fVertexerTracksConstraintITS=constr; return; } |
32 | void SetVertexerTracksConstraintTPC(Bool_t constr=kTRUE) { fVertexerTracksConstraintTPC=constr; return; } | |
7878b3ae | 33 | void SetVertexerTracksCuts(Int_t mode,Int_t ncuts,Double_t* cuts); |
34 | void SetVertexerTracksCutsITS(Int_t ncuts,Double_t* cuts) | |
a00021a7 | 35 | { SetVertexerTracksCuts(0,ncuts,cuts); return; } |
7878b3ae | 36 | void SetVertexerTracksCutsTPC(Int_t ncuts,Double_t* cuts) |
a00021a7 | 37 | { SetVertexerTracksCuts(1,ncuts,cuts); return; } |
61a14552 | 38 | void SetVertexerV0Cuts(Int_t ncuts,Double_t cuts[7]); |
39 | void SetVertexerCascadeCuts(Int_t ncuts,Double_t cuts[8]); | |
339fbe23 | 40 | void SetVertexerTracksTPCClusterization(Bool_t use, Double_t dzcut, Double_t nsigmazcut); |
41 | void SetVertexerTracksITSClusterization(Bool_t use, Double_t dzcut, Double_t nsigmazcut); | |
f2a195c1 | 42 | Bool_t GetVertexerTracksConstraintITS() const { return fVertexerTracksConstraintITS; } |
43 | Bool_t GetVertexerTracksConstraintTPC() const { return fVertexerTracksConstraintTPC; } | |
a00021a7 | 44 | Int_t GetVertexerTracksNCuts() const { return fVertexerTracksNCuts; } |
61a14552 | 45 | Int_t GetVertexerV0NCuts() const { return fVertexerV0NCuts; } |
46 | Int_t GetVertexerCascadeNCuts() const { return fVertexerCascadeNCuts; } | |
8eaa1a42 | 47 | void GetVertexerTracksCuts(Int_t mode,Double_t *cuts,Int_t n) const; |
48 | void GetVertexerTracksCutsITS(Double_t *cuts,Int_t n) const | |
49 | { GetVertexerTracksCuts(0,cuts,n); return; } | |
50 | void GetVertexerTracksCutsTPC(Double_t *cuts,Int_t n) const | |
51 | { GetVertexerTracksCuts(1,cuts,n); return; } | |
61a14552 | 52 | void GetVertexerV0Cuts(Double_t *cuts) const; |
53 | void GetVertexerCascadeCuts(Double_t *cuts) const; | |
a00021a7 | 54 | |
55 | AliGRPRecoParam(const AliGRPRecoParam&); | |
56 | AliGRPRecoParam& operator=(const AliGRPRecoParam&); | |
57 | ||
58 | protected: | |
59 | // | |
60 | ||
71f6cda4 | 61 | Double_t fMostProbablePt; // to be used for B=0 tracking |
f2a195c1 | 62 | Bool_t fVertexerTracksConstraintITS; // diamond constr for AliVertexerTracks |
63 | Bool_t fVertexerTracksConstraintTPC; // diamond constr for AliVertexerTracks | |
61a14552 | 64 | Int_t fVertexerTracksNCuts; // number of cuts for AliVertexerTracks |
65 | ||
a00021a7 | 66 | // cuts for AliVertexerTracks: ITS mode |
67 | Double_t fVertexerTracksITSdcacut; // general dca | |
68 | Double_t fVertexerTracksITSdcacutIter0; // dca in iteration 0 | |
69 | Double_t fVertexerTracksITSmaxd0z0; // max d0z0 | |
70 | Double_t fVertexerTracksITSminCls; // min clusters | |
71 | Double_t fVertexerTracksITSmintrks; // min tracks | |
72 | Double_t fVertexerTracksITSnsigma; // n sigma for d0 cut | |
73 | Double_t fVertexerTracksITSnindetfitter; // min det to try inversion | |
74 | Double_t fVertexerTracksITSmaxtgl; // max tgl | |
75 | Double_t fVertexerTracksITSfidR; // fiducial radius | |
76 | Double_t fVertexerTracksITSfidZ; // fiducial z | |
8c75f668 | 77 | Double_t fVertexerTracksITSalgo; // finder algo |
78 | Double_t fVertexerTracksITSalgoIter0; // finder algo iteration 0 | |
3f2db92f | 79 | // |
80 | Double_t fVertexerTracksITSMVTukey2; // Tukey constant for multivertexer | |
81 | Double_t fVertexerTracksITSMVSig2Ini; // initial sig2 for multivertexer | |
82 | Double_t fVertexerTracksITSMVMaxSigma2; // max sig2 to accept for multivertexer | |
83 | Double_t fVertexerTracksITSMVMinSig2Red; // min sig2 to to consider multivertexer stuck (then push) | |
84 | Double_t fVertexerTracksITSMVMinDst; // min distance between 2 iterations to stop multi-vertex search | |
85 | Double_t fVertexerTracksITSMVScanStep; // z-scan step for multivertexer | |
86 | Double_t fVertexerTracksITSMVMaxWghNtr; // min wdist*ncontrib between to vertices to eliminate | |
87 | Double_t fVertexerTracksITSMVFinalWBinary; // for the final fit used binary weights | |
88 | Double_t fVertexerTracksITSMVBCSpacing; // assumer BC spacing | |
7878b3ae | 89 | // |
90 | Double_t fVertexerTracksITSclusterize; // pre-clusterization of tracks | |
91 | Double_t fVertexerTracksITSclusterdz; // cut in absolute dz | |
92 | Double_t fVertexerTracksITSclusternsigmaz; // cut in standardized dz | |
93 | ||
a00021a7 | 94 | // cuts for AliVertexerTracks: TPC-only mode |
95 | Double_t fVertexerTracksTPCdcacut; // general dca | |
96 | Double_t fVertexerTracksTPCdcacutIter0; // dca in iteration 0 | |
97 | Double_t fVertexerTracksTPCmaxd0z0; // max d0z0 | |
98 | Double_t fVertexerTracksTPCminCls; // min clusters | |
99 | Double_t fVertexerTracksTPCmintrks; // min tracks | |
100 | Double_t fVertexerTracksTPCnsigma; // n sigma for d0 cut | |
101 | Double_t fVertexerTracksTPCnindetfitter; // min det to try inversion | |
102 | Double_t fVertexerTracksTPCmaxtgl; // max tgl | |
103 | Double_t fVertexerTracksTPCfidR; // fiducial radius | |
104 | Double_t fVertexerTracksTPCfidZ; // fiducial z | |
8c75f668 | 105 | Double_t fVertexerTracksTPCalgo; // finder algo |
106 | Double_t fVertexerTracksTPCalgoIter0; // finder algo iteration 0 | |
3f2db92f | 107 | // |
108 | Double_t fVertexerTracksTPCMVTukey2; // Tukey constant for multivertexer | |
109 | Double_t fVertexerTracksTPCMVSig2Ini; // initial sig2 for multivertexer | |
110 | Double_t fVertexerTracksTPCMVMaxSigma2; // max sig2 to accept for multivertexer | |
111 | Double_t fVertexerTracksTPCMVMinSig2Red; // min sig2 to to consider multivertexer stuck (then push) | |
112 | Double_t fVertexerTracksTPCMVMinDst; // min distance between 2 iterations to stop multi-vertex search | |
113 | Double_t fVertexerTracksTPCMVScanStep; // z-scan step for multivertexer | |
114 | Double_t fVertexerTracksTPCMVMaxWghNtr; // min wdist*ncontrib between to vertices to eliminate | |
115 | Double_t fVertexerTracksTPCMVFinalWBinary; // for the final fit used binary weights | |
116 | Double_t fVertexerTracksTPCMVBCSpacing; // assumer BC spacing | |
117 | // | |
7878b3ae | 118 | Double_t fVertexerTracksTPCclusterize; // pre-clusterization of tracks |
119 | Double_t fVertexerTracksTPCclusterdz; // cut in absolute dz | |
120 | Double_t fVertexerTracksTPCclusternsigmaz; // cut in standardized dz | |
121 | // | |
61a14552 | 122 | Int_t fVertexerV0NCuts; // number of cuts for AliV0vertexer |
123 | ||
124 | // cuts for AliV0vertexer: | |
125 | Double_t fVertexerV0Chi2max; //max chi2 | |
126 | Double_t fVertexerV0DNmin; //min imp parameter for the 1st daughter | |
127 | Double_t fVertexerV0DPmin; //min imp parameter for the 2nd daughter | |
128 | Double_t fVertexerV0DCAmax; //max DCA between the daughter tracks | |
129 | Double_t fVertexerV0CPAmin; //min cosine of V0's pointing angle | |
130 | Double_t fVertexerV0Rmin; //min radius of the fiducial volume | |
131 | Double_t fVertexerV0Rmax; //max radius of the fiducial volume | |
132 | ||
133 | Int_t fVertexerCascadeNCuts; // number of cuts for AliCascadeVertexer | |
134 | ||
135 | // cuts for AliCascadeVertexer: | |
136 | Double_t fVertexerCascadeChi2max; //maximal allowed chi2 | |
137 | Double_t fVertexerCascadeDV0min; //min V0 impact parameter | |
138 | Double_t fVertexerCascadeMassWin; //"window" around the Lambda mass | |
139 | Double_t fVertexerCascadeDBachMin; //min bachelor impact parameter | |
140 | Double_t fVertexerCascadeDCAmax; //max DCA between the V0 and the track | |
141 | Double_t fVertexerCascadeCPAmin; //min cosine of the cascade pointing angle | |
142 | Double_t fVertexerCascadeRmin; //min radius of the fiducial volume | |
143 | Double_t fVertexerCascadeRmax; //max radius of the fiducial volume | |
144 | ||
7878b3ae | 145 | ClassDef(AliGRPRecoParam,7) // global reco parameters |
a00021a7 | 146 | }; |
147 | ||
339fbe23 | 148 | inline void AliGRPRecoParam::SetVertexerTracksTPCClusterization(Bool_t use, Double_t dzcut, Double_t nsigmazcut) |
149 | { | |
150 | // set TPC tracks clustering settings | |
151 | if(use) fVertexerTracksTPCclusterize=1.; | |
152 | else fVertexerTracksTPCclusterize=0.; | |
153 | fVertexerTracksTPCclusterdz=dzcut; | |
154 | fVertexerTracksTPCclusternsigmaz=nsigmazcut; | |
155 | } | |
156 | ||
157 | inline void AliGRPRecoParam::SetVertexerTracksITSClusterization(Bool_t use, Double_t dzcut, Double_t nsigmazcut) | |
158 | { | |
159 | // set ITS tracks clustering settings | |
160 | if(use) fVertexerTracksITSclusterize=1.; | |
161 | else fVertexerTracksITSclusterize=0.; | |
162 | fVertexerTracksITSclusterdz=dzcut; | |
163 | fVertexerTracksITSclusternsigmaz=nsigmazcut; | |
164 | } | |
165 | ||
166 | ||
a00021a7 | 167 | #endif |