#include <AliLog.h>
#include <AliExternalTrackParam.h>
#include <AliPIDResponse.h>
+#include <AliTRDPIDResponse.h>
#include <AliESDtrack.h> //!!!!! Remove once Eta correction is treated in the tender
#include "AliDielectronVarManager.h"
case kTRDeleEff:
selected = IsSelectedTRDeleEff(part,icut);
break;
+ case kTRDeleEff2D:
+ selected = IsSelectedTRDeleEff(part,icut,AliTRDPIDResponse::kLQ2D);
+ break;
case kTOF:
selected = IsSelectedTOF(part,icut);
break;
}
//______________________________________________
-Bool_t AliDielectronPID::IsSelectedTRDeleEff(AliVTrack * const part, Int_t icut)
+Bool_t AliDielectronPID::IsSelectedTRDeleEff(AliVTrack * const part, Int_t icut, AliTRDPIDResponse::ETRDPIDMethod PIDmethod)
{
//
// TRD part of the pid check using electron efficiency requirement
if (fRequirePIDbit[icut]==AliDielectronPID::kRequire&&!(part->GetStatus()&AliVTrack::kTRDpid)) return kFALSE;
if (fRequirePIDbit[icut]==AliDielectronPID::kIfAvailable&&!(part->GetStatus()&AliVTrack::kTRDpid)) return kTRUE;
- Bool_t selected=fPIDResponse->IdentifiedAsElectronTRD(part,fNsigmaLow[icut])^fExclude[icut];
+ Double_t centrality = -1.;
+ if(part->IsA() == AliESDtrack::Class())
+ centrality=(const_cast<AliESDEvent*>( (static_cast<const AliESDtrack*>(part))->GetESDEvent()) )->GetCentrality()->GetCentralityPercentile("V0M");
+ if(part->IsA() == AliAODTrack::Class())
+ centrality=(const_cast<AliAODEvent*>( (static_cast<const AliAODTrack*>(part))->GetAODEvent()) )->GetCentrality()->GetCentralityPercentile("V0M");
+
+ Bool_t selected=fPIDResponse->IdentifiedAsElectronTRD(part,fNsigmaLow[icut], centrality, PIDmethod)^fExclude[icut];
return selected;
}
#include <AliPID.h>
#include <AliAnalysisCuts.h>
+#include <AliTRDPIDResponse.h>
class TF1;
class TList;
class AliDielectronPID : public AliAnalysisCuts {
public:
- enum DetType {kITS, kTPC, kTRD, kTRDeleEff, kTOF, kEMCAL};
+ enum DetType {kITS, kTPC, kTRD, kTRDeleEff, kTRDeleEff2D, kTOF, kEMCAL};
enum PIDbitType {kIgnore=0, kRequire, kIfAvailable};
AliDielectronPID();
Bool_t IsSelectedITS(AliVTrack * const part, Int_t icut);
Bool_t IsSelectedTPC(AliVTrack * const part, Int_t icut);
Bool_t IsSelectedTRD(AliVTrack * const part, Int_t icut);
- Bool_t IsSelectedTRDeleEff(AliVTrack * const part, Int_t icut);
+ Bool_t IsSelectedTRDeleEff(AliVTrack * const part, Int_t icut, AliTRDPIDResponse::ETRDPIDMethod PIDmethod=AliTRDPIDResponse::kLQ1D);
Bool_t IsSelectedTOF(AliVTrack * const part, Int_t icut);
Bool_t IsSelectedEMCAL(AliVTrack * const part, Int_t icut);