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]); |
7878b3ae |
40 | void SetVertexerTracksTPCClusterization(Bool_t use, Double_t dzcut, Double_t nsigmazcut){ |
41 | if(use) fVertexerTracksTPCclusterize=1.; |
42 | else fVertexerTracksTPCclusterize=0.; |
43 | fVertexerTracksTPCclusterdz=dzcut; |
44 | fVertexerTracksTPCclusternsigmaz=nsigmazcut; |
45 | } |
46 | void SetVertexerTracksITSClusterization(Bool_t use, Double_t dzcut, Double_t nsigmazcut){ |
47 | if(use) fVertexerTracksITSclusterize=1.; |
48 | else fVertexerTracksITSclusterize=0.; |
49 | fVertexerTracksITSclusterdz=dzcut; |
50 | fVertexerTracksITSclusternsigmaz=nsigmazcut; |
51 | } |
52 | |
53 | |
f2a195c1 |
54 | Bool_t GetVertexerTracksConstraintITS() const { return fVertexerTracksConstraintITS; } |
55 | Bool_t GetVertexerTracksConstraintTPC() const { return fVertexerTracksConstraintTPC; } |
a00021a7 |
56 | Int_t GetVertexerTracksNCuts() const { return fVertexerTracksNCuts; } |
61a14552 |
57 | Int_t GetVertexerV0NCuts() const { return fVertexerV0NCuts; } |
58 | Int_t GetVertexerCascadeNCuts() const { return fVertexerCascadeNCuts; } |
8eaa1a42 |
59 | void GetVertexerTracksCuts(Int_t mode,Double_t *cuts,Int_t n) const; |
60 | void GetVertexerTracksCutsITS(Double_t *cuts,Int_t n) const |
61 | { GetVertexerTracksCuts(0,cuts,n); return; } |
62 | void GetVertexerTracksCutsTPC(Double_t *cuts,Int_t n) const |
63 | { GetVertexerTracksCuts(1,cuts,n); return; } |
61a14552 |
64 | void GetVertexerV0Cuts(Double_t *cuts) const; |
65 | void GetVertexerCascadeCuts(Double_t *cuts) const; |
a00021a7 |
66 | |
67 | AliGRPRecoParam(const AliGRPRecoParam&); |
68 | AliGRPRecoParam& operator=(const AliGRPRecoParam&); |
69 | |
70 | protected: |
71 | // |
72 | |
71f6cda4 |
73 | Double_t fMostProbablePt; // to be used for B=0 tracking |
f2a195c1 |
74 | Bool_t fVertexerTracksConstraintITS; // diamond constr for AliVertexerTracks |
75 | Bool_t fVertexerTracksConstraintTPC; // diamond constr for AliVertexerTracks |
61a14552 |
76 | Int_t fVertexerTracksNCuts; // number of cuts for AliVertexerTracks |
77 | |
a00021a7 |
78 | // cuts for AliVertexerTracks: ITS mode |
79 | Double_t fVertexerTracksITSdcacut; // general dca |
80 | Double_t fVertexerTracksITSdcacutIter0; // dca in iteration 0 |
81 | Double_t fVertexerTracksITSmaxd0z0; // max d0z0 |
82 | Double_t fVertexerTracksITSminCls; // min clusters |
83 | Double_t fVertexerTracksITSmintrks; // min tracks |
84 | Double_t fVertexerTracksITSnsigma; // n sigma for d0 cut |
85 | Double_t fVertexerTracksITSnindetfitter; // min det to try inversion |
86 | Double_t fVertexerTracksITSmaxtgl; // max tgl |
87 | Double_t fVertexerTracksITSfidR; // fiducial radius |
88 | Double_t fVertexerTracksITSfidZ; // fiducial z |
8c75f668 |
89 | Double_t fVertexerTracksITSalgo; // finder algo |
90 | Double_t fVertexerTracksITSalgoIter0; // finder algo iteration 0 |
3f2db92f |
91 | // |
92 | Double_t fVertexerTracksITSMVTukey2; // Tukey constant for multivertexer |
93 | Double_t fVertexerTracksITSMVSig2Ini; // initial sig2 for multivertexer |
94 | Double_t fVertexerTracksITSMVMaxSigma2; // max sig2 to accept for multivertexer |
95 | Double_t fVertexerTracksITSMVMinSig2Red; // min sig2 to to consider multivertexer stuck (then push) |
96 | Double_t fVertexerTracksITSMVMinDst; // min distance between 2 iterations to stop multi-vertex search |
97 | Double_t fVertexerTracksITSMVScanStep; // z-scan step for multivertexer |
98 | Double_t fVertexerTracksITSMVMaxWghNtr; // min wdist*ncontrib between to vertices to eliminate |
99 | Double_t fVertexerTracksITSMVFinalWBinary; // for the final fit used binary weights |
100 | Double_t fVertexerTracksITSMVBCSpacing; // assumer BC spacing |
7878b3ae |
101 | // |
102 | Double_t fVertexerTracksITSclusterize; // pre-clusterization of tracks |
103 | Double_t fVertexerTracksITSclusterdz; // cut in absolute dz |
104 | Double_t fVertexerTracksITSclusternsigmaz; // cut in standardized dz |
105 | |
a00021a7 |
106 | // cuts for AliVertexerTracks: TPC-only mode |
107 | Double_t fVertexerTracksTPCdcacut; // general dca |
108 | Double_t fVertexerTracksTPCdcacutIter0; // dca in iteration 0 |
109 | Double_t fVertexerTracksTPCmaxd0z0; // max d0z0 |
110 | Double_t fVertexerTracksTPCminCls; // min clusters |
111 | Double_t fVertexerTracksTPCmintrks; // min tracks |
112 | Double_t fVertexerTracksTPCnsigma; // n sigma for d0 cut |
113 | Double_t fVertexerTracksTPCnindetfitter; // min det to try inversion |
114 | Double_t fVertexerTracksTPCmaxtgl; // max tgl |
115 | Double_t fVertexerTracksTPCfidR; // fiducial radius |
116 | Double_t fVertexerTracksTPCfidZ; // fiducial z |
8c75f668 |
117 | Double_t fVertexerTracksTPCalgo; // finder algo |
118 | Double_t fVertexerTracksTPCalgoIter0; // finder algo iteration 0 |
3f2db92f |
119 | // |
120 | Double_t fVertexerTracksTPCMVTukey2; // Tukey constant for multivertexer |
121 | Double_t fVertexerTracksTPCMVSig2Ini; // initial sig2 for multivertexer |
122 | Double_t fVertexerTracksTPCMVMaxSigma2; // max sig2 to accept for multivertexer |
123 | Double_t fVertexerTracksTPCMVMinSig2Red; // min sig2 to to consider multivertexer stuck (then push) |
124 | Double_t fVertexerTracksTPCMVMinDst; // min distance between 2 iterations to stop multi-vertex search |
125 | Double_t fVertexerTracksTPCMVScanStep; // z-scan step for multivertexer |
126 | Double_t fVertexerTracksTPCMVMaxWghNtr; // min wdist*ncontrib between to vertices to eliminate |
127 | Double_t fVertexerTracksTPCMVFinalWBinary; // for the final fit used binary weights |
128 | Double_t fVertexerTracksTPCMVBCSpacing; // assumer BC spacing |
129 | // |
7878b3ae |
130 | Double_t fVertexerTracksTPCclusterize; // pre-clusterization of tracks |
131 | Double_t fVertexerTracksTPCclusterdz; // cut in absolute dz |
132 | Double_t fVertexerTracksTPCclusternsigmaz; // cut in standardized dz |
133 | // |
61a14552 |
134 | Int_t fVertexerV0NCuts; // number of cuts for AliV0vertexer |
135 | |
136 | // cuts for AliV0vertexer: |
137 | Double_t fVertexerV0Chi2max; //max chi2 |
138 | Double_t fVertexerV0DNmin; //min imp parameter for the 1st daughter |
139 | Double_t fVertexerV0DPmin; //min imp parameter for the 2nd daughter |
140 | Double_t fVertexerV0DCAmax; //max DCA between the daughter tracks |
141 | Double_t fVertexerV0CPAmin; //min cosine of V0's pointing angle |
142 | Double_t fVertexerV0Rmin; //min radius of the fiducial volume |
143 | Double_t fVertexerV0Rmax; //max radius of the fiducial volume |
144 | |
145 | Int_t fVertexerCascadeNCuts; // number of cuts for AliCascadeVertexer |
146 | |
147 | // cuts for AliCascadeVertexer: |
148 | Double_t fVertexerCascadeChi2max; //maximal allowed chi2 |
149 | Double_t fVertexerCascadeDV0min; //min V0 impact parameter |
150 | Double_t fVertexerCascadeMassWin; //"window" around the Lambda mass |
151 | Double_t fVertexerCascadeDBachMin; //min bachelor impact parameter |
152 | Double_t fVertexerCascadeDCAmax; //max DCA between the V0 and the track |
153 | Double_t fVertexerCascadeCPAmin; //min cosine of the cascade pointing angle |
154 | Double_t fVertexerCascadeRmin; //min radius of the fiducial volume |
155 | Double_t fVertexerCascadeRmax; //max radius of the fiducial volume |
156 | |
7878b3ae |
157 | ClassDef(AliGRPRecoParam,7) // global reco parameters |
a00021a7 |
158 | }; |
159 | |
160 | #endif |