]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG3/hfe/AliHFEpidBase.cxx
Cleanup the code. Fix memory leak. Now inherit from AliAnalysisTaskSE (Antoine, Phili...
[u/mrichter/AliRoot.git] / PWG3 / hfe / AliHFEpidBase.cxx
index 7b8aa8b6b732d34d31ad0071e724749a367fa2be..a1f495b158528c0aa8c296c58e311ca74d9dd065 100644 (file)
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/
-/************************************************************************
- *                                                                      *
- * Abstract PID base class for Detector PID classes                     *
- * Supplies detector PID classes with basic informations (i.e. Debug    *
- * Level)                                                               *
- *                                                                      *
- * Authors:                                                             *
- *   Markus Fasel <M.Fasel@gsi.de>                                      *
- *                                                                      *
- ************************************************************************/
-#include <TParticle.h>
 
-#include "AliESDtrack.h"
-#include "AliMCParticle.h"
-#include "AliMCEvent.h"
+/* $Id$ */
 
+//
+// Abstract PID base class for Detector PID classes 
+// Supplies detector PID classes with basic informations (i.e. Debug 
+// Level)
+//  
+// Authors: 
+//   Markus Fasel <M.Fasel@gsi.de> 
+// 
+
+#include "AliAODpidUtil.h"
+#include "AliESDpid.h"
 #include "AliHFEpidBase.h"
+#include "AliHFEtools.h"
 
 ClassImp(AliHFEpidBase)
 
+//___________________________________________________________________
+AliHFEpidBase::AliHFEpidBase():
+  TNamed(),
+  fESDpid(NULL),
+  fAODpid(NULL)
+{
+  //
+  // Default constructor
+  //
+}
+
 //___________________________________________________________________
 AliHFEpidBase::AliHFEpidBase(const Char_t *name):
   TNamed(name, ""),
-  fMCEvent(0x0),
-  fDebugLevel(0)
+  fESDpid(NULL),
+  fAODpid(NULL)
 {
   //
   // Default constructor
@@ -46,8 +56,8 @@ AliHFEpidBase::AliHFEpidBase(const Char_t *name):
 //___________________________________________________________________
 AliHFEpidBase::AliHFEpidBase(const AliHFEpidBase &c):
   TNamed(),
-  fMCEvent(0x0),
-  fDebugLevel(0)
+  fESDpid(NULL),
+  fAODpid(NULL)
 {
   //
   //Copy constructor
@@ -69,25 +79,36 @@ AliHFEpidBase &AliHFEpidBase::operator=(const AliHFEpidBase &ref){
 
 //___________________________________________________________________
 void AliHFEpidBase::Copy(TObject &ref) const {
+  //
+  // Copy function for assignment operator
+  //
   AliHFEpidBase &target = dynamic_cast<AliHFEpidBase &>(ref);
 
-  target.fMCEvent = fMCEvent;
-  target.fDebugLevel = fDebugLevel;
+  target.fESDpid = fESDpid;
+  target.fAODpid = fAODpid;
 
   TNamed::Copy(ref);
 }
 
 //___________________________________________________________________
-Int_t AliHFEpidBase::GetPdgCode(AliVParticle *track){
+AliHFEpidObject &AliHFEpidObject::operator=(const AliHFEpidObject &ref){
+  //
+  // Assignment operator
+  //
+  if(&ref != this){
+    fkRecTrack = ref.fkRecTrack;
+    fAnalysisType = ref.fAnalysisType;
+    fAbInitioPID = ref.fAbInitioPID;
+    fCentrality = ref.fCentrality;
+  }
+  return *this;
+}
+
+//___________________________________________________________________
+void AliHFEpidObject::SetMCTrack(const AliVParticle *mctrack){
   //
-  // returns the MC PDG code of the particle species
+  // Set the aprioriPID information coming from the MC truth
   //
-  if(!fMCEvent) return 0;
-  AliMCParticle *mctrack = 0x0;
-  if(TString(track->IsA()->GetName()).CompareTo("AliESDtrack") == 0)
-    mctrack = dynamic_cast<AliMCParticle *>(fMCEvent->GetTrack(TMath::Abs((dynamic_cast<AliESDtrack *>(track))->GetLabel())));
-  else if(TString(track->IsA()->GetName()).CompareTo("AliMCParticle") == 0)
-    mctrack = dynamic_cast<AliMCParticle *>(track);
-  if(!mctrack) return 0;
-  return mctrack->Particle()->GetPdgCode();
+  if(mctrack) fAbInitioPID = AliHFEtools::PDG2AliPID(AliHFEtools::GetPdg(mctrack));
 }
+