]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ANALYSIS/AliAODv0.cxx
small fix to run in PROOF
[u/mrichter/AliRoot.git] / ANALYSIS / AliAODv0.cxx
index c10f5e552ec1add928cb63b2c62041e79af0b116..6cd628853b2c87b9b28840f4986268acd46eb274 100644 (file)
 
 //-------------------------------------------------------------------------
 //     Implementation of the Analysis Oriented Data (AOD) V0 vertex class
-//
 //     Origin: B.Hippolyte, IReS, hippolyt@in2p3.fr 
 //             G.Van Buren, BNL,  gene@bnl.gov      (original STAR MuDsts)
-//
 //     Purpose: Having observables for physics available for V0s
 //-------------------------------------------------------------------------
-#include <Riostream.h>
+
 #include <TMath.h>
 
 #include "AliESD.h"
@@ -51,28 +49,79 @@ AliAODv0::AliAODv0() : TObject() {
   fKeyNeg  = 999;
 
   fChi2    = 999;
-  fEvent   = 0;
 }
 
 AliAODv0::AliAODv0(AliESDv0* rV0Vertex ,AliESD* rEvent){
   this->Fill(rV0Vertex,rEvent);
 }
 
-// AliAODv0::~AliAODv0(){
-// }
 
-void AliAODv0::Fill(AliESDv0* rV0Vertex ,AliESD* rEvent){// Filling method
-  fEvent=rEvent;
+AliAODv0::AliAODv0(const AliAODv0& rAliAODv0) : TObject(rAliAODv0) {
+  //--------------------------------------------------------------------
+  // Copy constructor
+  //--------------------------------------------------------------------
+  fDecayVertexV0X     = rAliAODv0.fDecayVertexV0X;
+  fDecayVertexV0Y     = rAliAODv0.fDecayVertexV0Y;
+  fDecayVertexV0Z     = rAliAODv0.fDecayVertexV0Z;
+  fDcaV0Daughters     = rAliAODv0.fDcaV0Daughters;
+  fDcaV0ToPrimVertex  = rAliAODv0.fDcaV0ToPrimVertex ;
+  fDcaPosToPrimVertex = rAliAODv0.fDcaPosToPrimVertex;
+  fDcaNegToPrimVertex = rAliAODv0.fDcaNegToPrimVertex;
+  fMomPosX = rAliAODv0.fMomPosX;
+  fMomPosY = rAliAODv0.fMomPosY;
+  fMomPosZ = rAliAODv0.fMomPosZ;
+  fMomNegX = rAliAODv0.fMomNegX;
+  fMomNegY = rAliAODv0.fMomNegY;
+  fMomNegZ = rAliAODv0.fMomNegZ;
+
+  fKeyNeg  = rAliAODv0.fKeyNeg;
+  fKeyPos =  rAliAODv0.fKeyPos;
+
+  fChi2    = rAliAODv0.fChi2;
+}
+
+AliAODv0& AliAODv0::operator=(const AliAODv0& rAliAODv0){
+  //--------------------------------------------------------------------
+  // Assignment overload
+  //--------------------------------------------------------------------
+  this->fDecayVertexV0X     = rAliAODv0.fDecayVertexV0X;
+  this->fDecayVertexV0Y     = rAliAODv0.fDecayVertexV0Y;
+  this->fDecayVertexV0Z     = rAliAODv0.fDecayVertexV0Z;
+  this->fDcaV0Daughters     = rAliAODv0.fDcaV0Daughters;
+  this->fDcaV0ToPrimVertex  = rAliAODv0.fDcaV0ToPrimVertex ;
+  this->fDcaPosToPrimVertex = rAliAODv0.fDcaPosToPrimVertex;
+  this->fDcaNegToPrimVertex = rAliAODv0.fDcaNegToPrimVertex;
+  this->fMomPosX = rAliAODv0.fMomPosX;
+  this->fMomPosY = rAliAODv0.fMomPosY;
+  this->fMomPosZ = rAliAODv0.fMomPosZ;
+  this->fMomNegX = rAliAODv0.fMomNegX;
+  this->fMomNegY = rAliAODv0.fMomNegY;
+  this->fMomNegZ = rAliAODv0.fMomNegZ;
+
+  this->fKeyPos  = rAliAODv0.fKeyPos;
+  this->fKeyNeg  = rAliAODv0.fKeyNeg;
+
+  this->fChi2    = rAliAODv0.fChi2;
+  return *this;
+}
+
+AliAODv0::~AliAODv0(){
+  //--------------------------------------------------------------------
+  // Empty destructor
+  //--------------------------------------------------------------------
+}
+
+
+void AliAODv0::Fill(AliESDv0* rV0Vertex ,AliESD* rEvent){
+  // Fills the data memebers of the AOD
   Double_t tDecayVertexV0[3]; rV0Vertex->GetXYZ(tDecayVertexV0[0],tDecayVertexV0[1],tDecayVertexV0[2]); 
   fDecayVertexV0X = tDecayVertexV0[0];
   fDecayVertexV0Y = tDecayVertexV0[1];
   fDecayVertexV0Z = tDecayVertexV0[2];
 
-  fDcaV0Daughters = rV0Vertex->GetDcaDaughters();
-
+  fDcaV0Daughters = rV0Vertex->GetDcaV0Daughters();
   fDcaV0ToPrimVertex = rV0Vertex->GetD();
 
-
   Double_t tMomPos[3]; rV0Vertex->GetPPxPyPz(tMomPos[0],tMomPos[1],tMomPos[2]); 
   fMomPosX = tMomPos[0];
   fMomPosY = tMomPos[1];
@@ -83,11 +132,11 @@ void AliAODv0::Fill(AliESDv0* rV0Vertex ,AliESD* rEvent){// Filling method
   fMomNegY = tMomNeg[1];
   fMomNegZ = tMomNeg[2];
 
-  fKeyPos = TMath::Abs(rV0Vertex->GetPindex());// need to ask why Abs
-  fKeyNeg = TMath::Abs(rV0Vertex->GetNindex());
+  fKeyPos = (UInt_t)TMath::Abs(rV0Vertex->GetPindex());// need to ask why Abs
+  fKeyNeg = (UInt_t)TMath::Abs(rV0Vertex->GetNindex());
 
-  AliESDtrack *pTrack=fEvent->GetTrack(fKeyPos);
-  AliESDtrack *nTrack=fEvent->GetTrack(fKeyNeg);
+  AliESDtrack *pTrack=rEvent->GetTrack(fKeyPos);
+  AliESDtrack *nTrack=rEvent->GetTrack(fKeyNeg);
 
   Float_t tDcaPosToPrimVertex[2];
   if(pTrack) pTrack->GetImpactParameters(tDcaPosToPrimVertex[0],tDcaPosToPrimVertex[1]);
@@ -99,10 +148,11 @@ void AliAODv0::Fill(AliESDv0* rV0Vertex ,AliESD* rEvent){// Filling method
   if(nTrack) nTrack->GetImpactParameters(tDcaNegToPrimVertex[0],tDcaNegToPrimVertex[1]);
   else { tDcaNegToPrimVertex[0]=999.;  tDcaNegToPrimVertex[1]=999.;}
 
-  fDcaNegToPrimVertex = TMath::Sqrt(tDcaNegToPrimVertex[0]*tDcaNegToPrimVertex[0]+tDcaNegToPrimVertex[1]*tDcaPosToPrimVertex[1]);
+  fDcaNegToPrimVertex = TMath::Sqrt(tDcaNegToPrimVertex[0]*tDcaNegToPrimVertex[0]+tDcaNegToPrimVertex[1]*tDcaNegToPrimVertex[1]);
 }
 
-void AliAODv0::ResetV0(){// Reset method
+void AliAODv0::ResetV0(){
+  // Sets the default values of the AOD data members
   fDecayVertexV0X     = 999;
   fDecayVertexV0Y     = 999;
   fDecayVertexV0Z     = 999;