]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
added esdvertex getters to flat esd
authorsgorbuno <Sergey.Gorbunov@cern.ch>
Mon, 25 Aug 2014 11:46:20 +0000 (13:46 +0200)
committersgorbuno <Sergey.Gorbunov@cern.ch>
Mon, 25 Aug 2014 11:46:20 +0000 (13:46 +0200)
HLT/global/AliFlatESDEvent.h
HLT/global/AliFlatESDVertex.h

index 8c65bf4fe29032acd5da5d3d3c7b0084ef51d50b..b71c56322f86a946a578fd161d5197b48d750a94 100644 (file)
@@ -14,6 +14,7 @@
 #include "AliVVevent.h"
 #include "AliFlatESDTrack.h"
 #include "AliFlatESDVertex.h"
+#include "AliESDVertex.h"
 
 class AliFlatESDV0;
 class AliFlatESDTrigger;
@@ -57,6 +58,10 @@ class AliFlatESDEvent :public AliVVevent {
   const AliVVtrack* GetVVTrack(Int_t i) const { return GetFlatTrack(i); }
   AliESDkink* GetKink(Int_t /*i*/) const { return NULL;}
 
+  Int_t GetPrimaryVertexSPD( AliESDVertex &v ) const ;
+  Int_t GetPrimaryVertexTracks( AliESDVertex &v ) const ;
+
+
   // --------------------------------------------------------------------------------
   // Own methods 
 
@@ -89,8 +94,8 @@ class AliFlatESDEvent :public AliVVevent {
   // --------------------------------------------------------------------------------
   // -- Getter methods
 
-  const AliFlatESDVertex* GetPrimaryVertexSPD() const ;
-  const AliFlatESDVertex* GetPrimaryVertexTracks() const ;
+  const AliFlatESDVertex* GetFlatPrimaryVertexSPD() const ;
+  const AliFlatESDVertex* GetFlatPrimaryVertexTracks() const ;
 
   Int_t GetNumberOfTriggerClasses() const { return fNTriggerClasses; }
    
@@ -206,14 +211,30 @@ inline void AliFlatESDEvent::SetTriggersEnd( Int_t nTriggerClasses, size_t trigg
   fContentSize += triggersSize;
 }
 
-inline const AliFlatESDVertex* AliFlatESDEvent::GetPrimaryVertexSPD() const 
+inline const AliFlatESDVertex* AliFlatESDEvent::GetFlatPrimaryVertexSPD() const 
 {
   return (fPrimaryVertexMask & 0x1) ? reinterpret_cast<const AliFlatESDVertex*>(fContent + fPrimaryVertexSPDPointer) : NULL;
 } 
 
-inline const AliFlatESDVertex* AliFlatESDEvent::GetPrimaryVertexTracks() const 
+inline const AliFlatESDVertex* AliFlatESDEvent::GetFlatPrimaryVertexTracks() const 
 { 
   return (fPrimaryVertexMask & 0x2) ? (reinterpret_cast<const AliFlatESDVertex*>(fContent + fPrimaryVertexTracksPointer)  ) : NULL;
 } 
 
+inline Int_t AliFlatESDEvent::GetPrimaryVertexSPD( AliESDVertex &v ) const 
+{
+  const AliFlatESDVertex* flatVertex = GetFlatPrimaryVertexSPD();
+  if( !flatVertex ) return -1;
+  flatVertex->GetESDVertex( v );
+  return 0;
+}
+
+inline Int_t AliFlatESDEvent::GetPrimaryVertexTracks( AliESDVertex &v ) const 
+{
+  const AliFlatESDVertex* flatVertex = GetFlatPrimaryVertexTracks();
+  if( !flatVertex ) return -1;
+  flatVertex->GetESDVertex( v );
+  return 0;
+}
+
 #endif
index e7c6d4749c12c16ff4cf14a31e12e0acc5a1dd52..d627f9142687468de0f8410f24cf55cb1f96d439 100644 (file)
@@ -38,6 +38,7 @@ struct AliFlatESDVertex
 
 
   void Set(const AliESDVertex &v );
+  void GetESDVertex( AliESDVertex &v ) const;
 
   Double32_t GetX() const { return fPosition[0]; }
   Double32_t GetY() const { return fPosition[1]; }
@@ -129,6 +130,18 @@ inline void AliFlatESDVertex::Set(const AliESDVertex &v )
   fChi2 = v.GetChi2();
 }
 
+inline void AliFlatESDVertex::GetESDVertex( AliESDVertex &v ) const
+{
+  v.Reset();
+  Double_t p[3] = { fPosition[0], fPosition[1], fPosition[2] }; 
+  v.SetXYZ( p );
+  Double_t c[6]; 
+  for( int i=0; i<6; i++) c[i] = fCov[i];
+  v.SetCovarianceMatrix( c );
+  v.SetNContributors( fNContributors );
+  v.SetChi2( fChi2 );
+}
+
 typedef struct AliFlatESDVertex AliFlatESDVertex;
 
 #endif