Multi-vertexerTracks with clusterization + steering options in GRPRecoParam
[u/mrichter/AliRoot.git] / STEER / STEER / AliGRPRecoParam.h
index 6c2dd87325802d671017d44826130cc9ada6384d..b2a3e93732117fa4185666d04ff767cd06b5904a 100644 (file)
@@ -30,23 +30,37 @@ class AliGRPRecoParam : public AliDetectorRecoParam
 
   void  SetVertexerTracksConstraintITS(Bool_t constr=kTRUE) { fVertexerTracksConstraintITS=constr; return; }
   void  SetVertexerTracksConstraintTPC(Bool_t constr=kTRUE) { fVertexerTracksConstraintTPC=constr; return; }
-  void  SetVertexerTracksCuts(Int_t mode,Int_t ncuts,Double_t cuts[12]);
-  void  SetVertexerTracksCutsITS(Int_t ncuts,Double_t cuts[12])
+  void  SetVertexerTracksCuts(Int_t mode,Int_t ncuts,Double_t* cuts);
+  void  SetVertexerTracksCutsITS(Int_t ncuts,Double_t* cuts)
     { SetVertexerTracksCuts(0,ncuts,cuts); return; }
-  void  SetVertexerTracksCutsTPC(Int_t ncuts,Double_t cuts[12])
+  void  SetVertexerTracksCutsTPC(Int_t ncuts,Double_t* cuts)
     { SetVertexerTracksCuts(1,ncuts,cuts); return; }
   void  SetVertexerV0Cuts(Int_t ncuts,Double_t cuts[7]);
   void  SetVertexerCascadeCuts(Int_t ncuts,Double_t cuts[8]);
+  void  SetVertexerTracksTPCClusterization(Bool_t use, Double_t dzcut, Double_t nsigmazcut){
+    if(use) fVertexerTracksTPCclusterize=1.;
+    else fVertexerTracksTPCclusterize=0.;
+    fVertexerTracksTPCclusterdz=dzcut;
+    fVertexerTracksTPCclusternsigmaz=nsigmazcut;
+  }
+  void  SetVertexerTracksITSClusterization(Bool_t use, Double_t dzcut, Double_t nsigmazcut){
+    if(use) fVertexerTracksITSclusterize=1.;
+    else fVertexerTracksITSclusterize=0.;
+    fVertexerTracksITSclusterdz=dzcut;
+    fVertexerTracksITSclusternsigmaz=nsigmazcut;
+  }
+
+
   Bool_t GetVertexerTracksConstraintITS() const { return fVertexerTracksConstraintITS; }
   Bool_t GetVertexerTracksConstraintTPC() const { return fVertexerTracksConstraintTPC; }
   Int_t GetVertexerTracksNCuts() const { return fVertexerTracksNCuts; }
   Int_t GetVertexerV0NCuts() const { return fVertexerV0NCuts; }
   Int_t GetVertexerCascadeNCuts() const { return fVertexerCascadeNCuts; }
-  void  GetVertexerTracksCuts(Int_t mode,Double_t *cuts) const;
-  void  GetVertexerTracksCutsITS(Double_t *cuts) const
-    { GetVertexerTracksCuts(0,cuts); return; }
-  void  GetVertexerTracksCutsTPC(Double_t *cuts) const
-    { GetVertexerTracksCuts(1,cuts); return; }
+  void  GetVertexerTracksCuts(Int_t mode,Double_t *cuts,Int_t n) const;
+  void  GetVertexerTracksCutsITS(Double_t *cuts,Int_t n) const
+  { GetVertexerTracksCuts(0,cuts,n); return; }
+  void  GetVertexerTracksCutsTPC(Double_t *cuts,Int_t n) const
+  { GetVertexerTracksCuts(1,cuts,n); return; }
   void  GetVertexerV0Cuts(Double_t *cuts) const;
   void  GetVertexerCascadeCuts(Double_t *cuts) const;
 
@@ -74,6 +88,20 @@ class AliGRPRecoParam : public AliDetectorRecoParam
   Double_t fVertexerTracksITSfidZ; // fiducial z
   Double_t fVertexerTracksITSalgo; // finder algo
   Double_t fVertexerTracksITSalgoIter0; // finder algo iteration 0
+  //
+  Double_t fVertexerTracksITSMVTukey2;          // Tukey constant for multivertexer
+  Double_t fVertexerTracksITSMVSig2Ini;         // initial sig2 for multivertexer
+  Double_t fVertexerTracksITSMVMaxSigma2;       // max sig2 to accept for multivertexer
+  Double_t fVertexerTracksITSMVMinSig2Red;      // min sig2 to to consider multivertexer stuck (then push)
+  Double_t fVertexerTracksITSMVMinDst;          // min distance between 2 iterations to stop multi-vertex search
+  Double_t fVertexerTracksITSMVScanStep;        // z-scan step for multivertexer
+  Double_t fVertexerTracksITSMVMaxWghNtr;       // min wdist*ncontrib between to vertices to eliminate
+  Double_t fVertexerTracksITSMVFinalWBinary;    // for the final fit used binary weights
+  Double_t fVertexerTracksITSMVBCSpacing;       // assumer BC spacing
+  //
+  Double_t fVertexerTracksITSclusterize; // pre-clusterization of tracks
+  Double_t fVertexerTracksITSclusterdz;  // cut in absolute dz
+  Double_t fVertexerTracksITSclusternsigmaz;  // cut in standardized dz
 
   // cuts for AliVertexerTracks: TPC-only mode
   Double_t fVertexerTracksTPCdcacut; // general dca
@@ -88,7 +116,21 @@ class AliGRPRecoParam : public AliDetectorRecoParam
   Double_t fVertexerTracksTPCfidZ; // fiducial z
   Double_t fVertexerTracksTPCalgo; // finder algo
   Double_t fVertexerTracksTPCalgoIter0; // finder algo iteration 0
-
+  //
+  Double_t fVertexerTracksTPCMVTukey2;          // Tukey constant for multivertexer
+  Double_t fVertexerTracksTPCMVSig2Ini;         // initial sig2 for multivertexer
+  Double_t fVertexerTracksTPCMVMaxSigma2;       // max sig2 to accept for multivertexer
+  Double_t fVertexerTracksTPCMVMinSig2Red;      // min sig2 to to consider multivertexer stuck (then push)
+  Double_t fVertexerTracksTPCMVMinDst;          // min distance between 2 iterations to stop multi-vertex search
+  Double_t fVertexerTracksTPCMVScanStep;        // z-scan step for multivertexer
+  Double_t fVertexerTracksTPCMVMaxWghNtr;       // min wdist*ncontrib between to vertices to eliminate
+  Double_t fVertexerTracksTPCMVFinalWBinary;    // for the final fit used binary weights
+  Double_t fVertexerTracksTPCMVBCSpacing;       // assumer BC spacing
+  //
+  Double_t fVertexerTracksTPCclusterize; // pre-clusterization of tracks
+  Double_t fVertexerTracksTPCclusterdz;  // cut in absolute dz
+  Double_t fVertexerTracksTPCclusternsigmaz;  // cut in standardized dz
+  //
   Int_t    fVertexerV0NCuts;      // number of cuts for AliV0vertexer
 
   // cuts for AliV0vertexer:
@@ -112,7 +154,7 @@ class AliGRPRecoParam : public AliDetectorRecoParam
   Double_t fVertexerCascadeRmin;     //min radius of the fiducial volume
   Double_t fVertexerCascadeRmax;     //max radius of the fiducial volume
 
-  ClassDef(AliGRPRecoParam,5) // global reco parameters
+  ClassDef(AliGRPRecoParam,7) // global reco parameters
 };
 
 #endif