* 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
//___________________________________________________________________
AliHFEpidBase::AliHFEpidBase(const AliHFEpidBase &c):
TNamed(),
- fMCEvent(0x0),
- fDebugLevel(0)
+ fESDpid(NULL),
+ fAODpid(NULL)
{
//
//Copy constructor
//___________________________________________________________________
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));
}
+