#include <Riostream.h>
#include "AliLog.h"
#include "AliPID.h"
#include "AliPIDResponse.h"
#include "AliESDpid.h"
#include "AliAODpidUtil.h"
#include "AliRsnCutPhiRAA.h"
#include "AliESDtrackCuts.h"
ClassImp(AliRsnCutPhiRAA)
AliRsnCutPhiRAA::AliRsnCutPhiRAA
(const char *name) :
AliRsnCut(name, AliRsnTarget::kDaughter),
fMode(k2011_1),
fCutQuality(Form("%s_quality", name)),
cut1(AliESDtrackCuts::GetStandardITSTPCTrackCuts2011(kTRUE, 1)),
cut2(AliESDtrackCuts::GetStandardITSTPCTrackCuts2011(kTRUE, 0)),
cut3(AliESDtrackCuts::GetStandardITSTPCTrackCuts2010())
{
cut1->SetEtaRange(-0.8, 0.8);
cut1->SetPtRange(0.30,1e10);
cut2->SetEtaRange(-0.8, 0.8);
cut2->SetPtRange(0.30,1e10);
cut3->SetEtaRange(-0.8, 0.8);
cut3->SetPtRange(0.30,1e10);
}
AliRsnCutPhiRAA::AliRsnCutPhiRAA(const AliRsnCutPhiRAA ©) :
AliRsnCut(copy),
fMode(copy.fMode),
fCutQuality(copy.fCutQuality),
cut1(copy.cut1),
cut2(copy.cut2),
cut3(copy.cut3)
{
}
AliRsnCutPhiRAA &AliRsnCutPhiRAA::operator=(const AliRsnCutPhiRAA ©)
{
AliRsnCut::operator=(copy);
if (this == ©)
return *this;
fMode = copy.fMode;
fCutQuality = copy.fCutQuality;
return *this;
}
Bool_t AliRsnCutPhiRAA::IsSelected(TObject *obj)
{
if (!TargetOK(obj)) return kFALSE;
AliVTrack *track = fDaughter->Ref2Vtrack();
if (!track) {
if (!fDaughter->GetRef()) AliWarning("NULL ref");
return kFALSE;
}
Bool_t accept = kFALSE;
switch (fMode) {
case k2010:
fCutQuality.SetESDtrackCuts(cut3);
if (fCutQuality.IsSelected(obj)) accept = kTRUE;
::Info("AnalysisSetup", "ESD cut 2010!!! ");
break;
case k2011_0:
fCutQuality.SetESDtrackCuts(cut2);
if (fCutQuality.IsSelected(obj)) accept = kTRUE;
break;
case k2011_1:
fCutQuality.SetESDtrackCuts(cut1);
if (fCutQuality.IsSelected(obj)) accept = kTRUE;
::Info("AnalysisSetup", "ESD cut 2011 ");
break;
case k2011_1_05:
cut1->SetPtRange(0.50,1e10);
fCutQuality.SetESDtrackCuts(cut1);
if (fCutQuality.IsSelected(obj)) accept = kTRUE;
::Info("AnalysisSetup", "ESD cut 2011 pT > 0.5 GeV/c");
break;
case k2011_1_075:
cut1->SetPtRange(0.75,1e10);
fCutQuality.SetESDtrackCuts(cut1);
if (fCutQuality.IsSelected(obj)) accept = kTRUE;
::Info("AnalysisSetup", "ESD cut 2011 pT > 0.75 GeV/c ");
break;
default:
AliDebugClass(1, Form("[%s] Wrong mode", GetName()));
accept = kFALSE;
}
AliDebugClass(1, Form("[%s] Track %s", GetName(), (accept ? "accepted" : "rejected")));
return accept;
}