#include <TParticle.h>
#include <TString.h>
+#include "AliAODTrack.h"
#include "AliAODMCParticle.h"
+#include "AliESDtrack.h"
#include "AliLog.h"
#include "AliMCEvent.h"
#include "AliMCParticle.h"
//____________________________________________________________
Bool_t AliHFEsignalCuts::IsGammaElectron(const TObject * const o) const {
//
- // Check for MC if the electron is coming from Gamma
+ // Check for MC if the electron is coming from Gamma
//
if(!dynamic_cast<const AliVParticle *>(o)) return kFALSE;
Int_t esources = GetElecSource(dynamic_cast<const AliVParticle *>(o));
- if(esources == AliHFEmcQA::kGamma) // 4: conversion electrons
+ if(esources >= AliHFEmcQA::kGammaPi0 && esources <= AliHFEmcQA::kGammaRho0 ) // 4: conversion electrons
+ //if(esources == AliHFEmcQA::kGammaPi0 || esources == AliHFEmcQA::kGammaEta || esources == AliHFEmcQA::kGammaOmega || esources == AliHFEmcQA::kGammaPhi || esources == AliHFEmcQA::kGammaEtaPrime || esources == AliHFEmcQA::kGammaRho0 ) // 4: conversion electrons
return kTRUE;
else
return kFALSE;
}
+//____________________________________________________________
+Bool_t AliHFEsignalCuts::IsNonHFElectron(const TObject * const o) const {
+ //
+ // Check for MC if the electron is coming from NonHFE except for conversion
+ //
+ if(!dynamic_cast<const AliVParticle *>(o)) return kFALSE;
+ Int_t esources = GetElecSource(dynamic_cast<const AliVParticle *>(o));
+ if(esources == AliHFEmcQA:: kPi0 || esources == AliHFEmcQA::kEta || esources == AliHFEmcQA::kOmega || esources == AliHFEmcQA::kPhi || esources == AliHFEmcQA::kEtaPrime || esources == AliHFEmcQA::kRho0) // 4: conversion electrons
+ return kTRUE;
+ else
+ return kFALSE;
+}
+//____________________________________________________________
+
/*
//____________________________________________________________
Bool_t AliHFEsignalCuts::IsCharmElectron(const TObject * const o) const {
return 0;
}
- TString sourcetype = track->IsA()->GetName();
+ TClass *tracktype;
const AliVParticle *mctrack = NULL;
TParticle *mcpart = NULL;
- if(!sourcetype.CompareTo("AliESDtrack") || !sourcetype.CompareTo("AliAODTrack")){
+ if((tracktype = track->IsA()) == AliESDtrack::Class() || tracktype == AliAODTrack::Class()){
mctrack = fMC->GetTrack(TMath::Abs(track->GetLabel()));
} else mctrack = track;
if(!mctrack) return 0;
- TString mctype = mctrack->IsA()->GetName();
Int_t eSource = 0;
- if(!mctype.CompareTo("AliMCParticle")){
+ if(mctrack->IsA() == AliMCParticle::Class()){
const AliMCParticle *esdmc = dynamic_cast<const AliMCParticle *>(mctrack);
if(esdmc){
mcpart = esdmc->Particle();