Multi-vertexerTracks with clusterization + steering options in GRPRecoParam
[u/mrichter/AliRoot.git] / STEER / STEER / AliGRPRecoParam.h
CommitLineData
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
18class 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