]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliVertexerTracks.h
Adding paranoiac protection to be 200% sure to get physical charges
[u/mrichter/AliRoot.git] / STEER / AliVertexerTracks.h
index dc4ca74b7ae2531227864f62910c8838a1163438..27a4fe9465ae9bad1c0570fdb7ac7d8fca1bbc04 100644 (file)
@@ -30,6 +30,7 @@
 
 class AliVEvent;
 class AliESDEvent;
+class AliStrLine;
 
 class AliVertexerTracks : public TObject {
   
@@ -38,7 +39,7 @@ class AliVertexerTracks : public TObject {
   AliVertexerTracks(Double_t fieldkG); 
   virtual ~AliVertexerTracks();
 
-  AliESDVertex* FindPrimaryVertex(const AliVEvent *vEvent);
+  AliESDVertex* FindPrimaryVertex(AliVEvent *vEvent);
   AliESDVertex* FindPrimaryVertex(TObjArray *trkArrayOrig,UShort_t *idOrig);
   AliESDVertex* VertexForSelectedTracks(TObjArray *trkArray,UShort_t *id,
                                        Bool_t optUseFitter=kTRUE,
@@ -48,7 +49,10 @@ class AliVertexerTracks : public TObject {
                                        Bool_t optPropagate=kTRUE);
   AliESDVertex* RemoveTracksFromVertex(AliESDVertex *inVtx,
                                       TObjArray *trkArray,UShort_t *id,
-                                      Float_t *diamondxy); 
+                                      Float_t *diamondxy) const; 
+  AliESDVertex* RemoveConstraintFromVertex(AliESDVertex *inVtx,
+                                          Float_t *diamondxyz,
+                                          Float_t *diamondcov) const;
   void  SetITSMode(Double_t dcacut=0.1,
                   Double_t dcacutIter0=0.1,
                   Double_t maxd0z0=0.5,
@@ -105,6 +109,7 @@ class AliVertexerTracks : public TObject {
   static void GetStrLinDerivMatrix(Double_t *p0,Double_t *p1,Double_t (*m)[3],Double_t *d);
   static void GetStrLinDerivMatrix(Double_t *p0,Double_t *p1,Double_t *sigmasq,Double_t (*m)[3],Double_t *d);
   static AliESDVertex TrackletVertexFinder(TClonesArray *lines, Int_t optUseWeights=0);
+  static AliESDVertex TrackletVertexFinder(AliStrLine **lines, const Int_t knacc, Int_t optUseWeights=0);
   void     SetFieldkG(Double_t field=-999.) { fFieldkG=field; return; }
   Double_t GetFieldkG() const { 
     if(fFieldkG<-99.) AliFatal("Field value not set");