]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
The AliESDEvent::GetPrimaryVertex() returns now the best available reconstructed...
authorbelikov <belikov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 7 Nov 2008 15:27:28 +0000 (15:27 +0000)
committerbelikov <belikov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 7 Nov 2008 15:27:28 +0000 (15:27 +0000)
STEER/AliESDEvent.cxx
STEER/AliESDEvent.h
STEER/AliReconstruction.cxx

index 01e997846374c03386007b73180dbdbd393907d3..d8a90b79fa682c0e622125436bb73a03fac23a85 100644 (file)
@@ -76,7 +76,7 @@ ClassImp(AliESDEvent)
                                                       "AliESDTZERO",
                                                       "TPCVertex",
                                                       "SPDVertex",
-                                                      "PrimaryVertex",
+                                                      "TrkVertex",
                                                       "AliMultiplicity",
                                                       "PHOSTrigger",
                                                       "EMCALTrigger",
@@ -883,9 +883,9 @@ void  AliESDEvent::SetPrimaryVertexSPD(const AliESDVertex *vertex)
   }
 }
 
-void  AliESDEvent::SetPrimaryVertex(const AliESDVertex *vertex) 
+void  AliESDEvent::SetPrimaryVertexTracks(const AliESDVertex *vertex) 
 {
-  // Set the primary vertex
+  // Set the primary vertex reconstructed using he ESD tracks.
   // use already allocated space
   if(fPrimaryVertex){
     *fPrimaryVertex = *vertex;
@@ -893,6 +893,23 @@ void  AliESDEvent::SetPrimaryVertex(const AliESDVertex *vertex)
   }
 }
 
+const AliESDVertex * AliESDEvent::GetPrimaryVertex() const 
+{
+  //
+  // Get the "best" available reconstructed primary vertex.
+  //
+  if(fPrimaryVertex){
+    if (fPrimaryVertex->GetStatus()) return fPrimaryVertex;
+  }
+  if(fSPDVertex){
+    if (fSPDVertex->GetStatus()) return fSPDVertex;
+  }
+  if(fTPCVertex) return fTPCVertex;
+  
+  AliWarning("No primary vertex available. Returning the \"default\"...");
+  return fSPDVertex;
+}
+
 void AliESDEvent::SetMultiplicity(const AliMultiplicity *mul) 
 {
   // Set the SPD Multiplicity
@@ -1359,7 +1376,7 @@ void AliESDEvent::CopyFromOldESD()
 
     if(fESDOld->GetVertex())SetPrimaryVertexSPD(fESDOld->GetVertex());
 
-    if(fESDOld->GetPrimaryVertex())SetPrimaryVertex(fESDOld->GetPrimaryVertex());
+    if(fESDOld->GetPrimaryVertex())SetPrimaryVertexTracks(fESDOld->GetPrimaryVertex());
 
     if(fESDOld->GetMultiplicity())SetMultiplicity(fESDOld->GetMultiplicity());
 
index 7c197ad304dc245ef2b70f15afd3478d9bc210ee..e3663b46b0b0d19467eee83dd9ae1788e806c633 100644 (file)
@@ -195,8 +195,10 @@ public:
      return GetPrimaryVertexSPD();
   }
 
-  void SetPrimaryVertex(const AliESDVertex *vertex);
-  const AliESDVertex *GetPrimaryVertex() const {return fPrimaryVertex;}
+  void SetPrimaryVertexTracks(const AliESDVertex *vertex);
+  const AliESDVertex *GetPrimaryVertexTracks() const {return fPrimaryVertex;}
+
+  const AliESDVertex *GetPrimaryVertex() const;
 
   void SetMultiplicity(const AliMultiplicity *mul);
 
index 85aaa71b17cf397c195f5940dae0a1d583ee39d4..22d6ba81c39ab7bfc39e6183adf1e0010ef621fb 100644 (file)
@@ -1674,7 +1674,7 @@ Bool_t AliReconstruction::ProcessEvent(Int_t iEvent)
        AliESDVertex *pvtx=ftVertexer->FindPrimaryVertex(fesd);
        if (pvtx) {
           if (pvtx->GetStatus()) {
-             fesd->SetPrimaryVertex(pvtx);
+             fesd->SetPrimaryVertexTracks(pvtx);
              for (Int_t i=0; i<ntracks; i++) {
                 AliESDtrack *t = fesd->GetTrack(i);
                  t->RelateToVertex(pvtx, kBz, kVeryBig);