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 */
7 ///////////////////////////////////////////////////////////////////////////////
9 // Class with global reconstruction parameters //
10 // (initially, parameters for AliVertexerTracks) //
11 // Origin: andrea.dainese@lnl.infn.it //
13 ///////////////////////////////////////////////////////////////////////////////
16 #include "AliDetectorRecoParam.h"
18 class AliGRPRecoParam : public AliDetectorRecoParam
22 virtual ~AliGRPRecoParam();
24 static AliGRPRecoParam *GetLowFluxParam();// make reco parameters for low flux env.
25 static AliGRPRecoParam *GetHighFluxParam();// make reco parameters for high flux env.
26 static AliGRPRecoParam *GetCosmicTestParam();// make reco parameters for cosmics env.
28 void SetMostProbablePt(Double_t pt=0.350) { fMostProbablePt=pt; return; }
29 Double_t GetMostProbablePt() const { return fMostProbablePt; }
31 void SetVertexerTracksConstraintITS(Bool_t constr=kTRUE) { fVertexerTracksConstraintITS=constr; return; }
32 void SetVertexerTracksConstraintTPC(Bool_t constr=kTRUE) { fVertexerTracksConstraintTPC=constr; return; }
33 void SetVertexerTracksCuts(Int_t mode,Int_t ncuts,Double_t* cuts);
34 void SetVertexerTracksCutsITS(Int_t ncuts,Double_t* cuts)
35 { SetVertexerTracksCuts(0,ncuts,cuts); return; }
36 void SetVertexerTracksCutsTPC(Int_t ncuts,Double_t* cuts)
37 { SetVertexerTracksCuts(1,ncuts,cuts); return; }
38 void SetVertexerV0Cuts(Int_t ncuts,Double_t cuts[7]);
39 void SetVertexerCascadeCuts(Int_t ncuts,Double_t cuts[8]);
40 void SetVertexerTracksTPCClusterization(Bool_t use, Double_t dzcut, Double_t nsigmazcut);
41 void SetVertexerTracksITSClusterization(Bool_t use, Double_t dzcut, Double_t nsigmazcut);
42 Bool_t GetVertexerTracksConstraintITS() const { return fVertexerTracksConstraintITS; }
43 Bool_t GetVertexerTracksConstraintTPC() const { return fVertexerTracksConstraintTPC; }
44 Int_t GetVertexerTracksNCuts() const { return fVertexerTracksNCuts; }
45 Int_t GetVertexerV0NCuts() const { return fVertexerV0NCuts; }
46 Int_t GetVertexerCascadeNCuts() const { return fVertexerCascadeNCuts; }
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; }
52 void GetVertexerV0Cuts(Double_t *cuts) const;
53 void GetVertexerCascadeCuts(Double_t *cuts) const;
55 AliGRPRecoParam(const AliGRPRecoParam&);
56 AliGRPRecoParam& operator=(const AliGRPRecoParam&);
61 Double_t fMostProbablePt; // to be used for B=0 tracking
62 Bool_t fVertexerTracksConstraintITS; // diamond constr for AliVertexerTracks
63 Bool_t fVertexerTracksConstraintTPC; // diamond constr for AliVertexerTracks
64 Int_t fVertexerTracksNCuts; // number of cuts for AliVertexerTracks
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
77 Double_t fVertexerTracksITSalgo; // finder algo
78 Double_t fVertexerTracksITSalgoIter0; // finder algo iteration 0
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
90 Double_t fVertexerTracksITSclusterize; // pre-clusterization of tracks
91 Double_t fVertexerTracksITSclusterdz; // cut in absolute dz
92 Double_t fVertexerTracksITSclusternsigmaz; // cut in standardized dz
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
105 Double_t fVertexerTracksTPCalgo; // finder algo
106 Double_t fVertexerTracksTPCalgoIter0; // finder algo iteration 0
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
118 Double_t fVertexerTracksTPCclusterize; // pre-clusterization of tracks
119 Double_t fVertexerTracksTPCclusterdz; // cut in absolute dz
120 Double_t fVertexerTracksTPCclusternsigmaz; // cut in standardized dz
122 Int_t fVertexerV0NCuts; // number of cuts for AliV0vertexer
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
133 Int_t fVertexerCascadeNCuts; // number of cuts for AliCascadeVertexer
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
145 ClassDef(AliGRPRecoParam,7) // global reco parameters
148 inline void AliGRPRecoParam::SetVertexerTracksTPCClusterization(Bool_t use, Double_t dzcut, Double_t nsigmazcut)
150 // set TPC tracks clustering settings
151 if(use) fVertexerTracksTPCclusterize=1.;
152 else fVertexerTracksTPCclusterize=0.;
153 fVertexerTracksTPCclusterdz=dzcut;
154 fVertexerTracksTPCclusternsigmaz=nsigmazcut;
157 inline void AliGRPRecoParam::SetVertexerTracksITSClusterization(Bool_t use, Double_t dzcut, Double_t nsigmazcut)
159 // set ITS tracks clustering settings
160 if(use) fVertexerTracksITSclusterize=1.;
161 else fVertexerTracksITSclusterize=0.;
162 fVertexerTracksITSclusterdz=dzcut;
163 fVertexerTracksITSclusternsigmaz=nsigmazcut;