//-----------------------------------------------------------------------
AliFlowEventCuts::AliFlowEventCuts():
- TNamed(),
+ AliFlowEventSimpleCuts(),
fQA(NULL),
fCutNumberOfTracks(kFALSE),
fNumberOfTracksMax(INT_MAX),
fCutSPDvertexerAnomaly(kFALSE),
fCutSPDTRKVtxZ(kFALSE),
fCutTPCmultiplicityOutliers(kFALSE),
- fCutCentralityPercentile(kFALSE),
fUseCentralityUnchecked(kFALSE),
fCentralityPercentileMethod(kTPConly),
- fCentralityPercentileMax(100.),
- fCentralityPercentileMin(0.),
fCutZDCtiming(kFALSE),
fTrigAna(),
fCutImpactParameter(kFALSE),
//-----------------------------------------------------------------------
AliFlowEventCuts::AliFlowEventCuts(const char* name, const char* title):
- TNamed(name, title),
+ AliFlowEventSimpleCuts(name, title),
fQA(NULL),
fCutNumberOfTracks(kFALSE),
fNumberOfTracksMax(INT_MAX),
fCutSPDvertexerAnomaly(kFALSE),
fCutSPDTRKVtxZ(kFALSE),
fCutTPCmultiplicityOutliers(kFALSE),
- fCutCentralityPercentile(kFALSE),
fUseCentralityUnchecked(kFALSE),
fCentralityPercentileMethod(kTPConly),
- fCentralityPercentileMax(100.),
- fCentralityPercentileMin(0.),
fCutZDCtiming(kFALSE),
fTrigAna(),
fCutImpactParameter(kFALSE),
////-----------------------------------------------------------------------
AliFlowEventCuts::AliFlowEventCuts(const AliFlowEventCuts& that):
- TNamed(that),
+ AliFlowEventSimpleCuts(that),
fQA(NULL),
fCutNumberOfTracks(that.fCutNumberOfTracks),
fNumberOfTracksMax(that.fNumberOfTracksMax),
fCutSPDvertexerAnomaly(that.fCutSPDvertexerAnomaly),
fCutSPDTRKVtxZ(that.fCutSPDTRKVtxZ),
fCutTPCmultiplicityOutliers(that.fCutTPCmultiplicityOutliers),
- fCutCentralityPercentile(that.fCutCentralityPercentile),
fUseCentralityUnchecked(that.fUseCentralityUnchecked),
fCentralityPercentileMethod(that.fCentralityPercentileMethod),
- fCentralityPercentileMax(that.fCentralityPercentileMax),
- fCentralityPercentileMin(that.fCentralityPercentileMin),
fCutZDCtiming(that.fCutZDCtiming),
fTrigAna(),
fCutImpactParameter(that.fCutImpactParameter),
return pass;
}
+//-----------------------------------------------------------------------
+Float_t AliFlowEventCuts::GetCentrality(AliVEvent* event, AliMCEvent* /*mcEvent*/)
+{
+ //get the centrality percentile of the event
+ AliESDEvent* esdEvent = dynamic_cast<AliESDEvent*>(event);
+ AliAODEvent* aodEvent = dynamic_cast<AliAODEvent*>(event);
+
+ Float_t centrality=-1.;
+
+ AliCentrality* centr = NULL;
+ if (esdEvent)
+ centr = esdEvent->GetCentrality();
+ if (aodEvent)
+ centr = aodEvent->GetHeader()->GetCentralityP();
+
+ if (!centr) return -1.;
+
+ if (fUseCentralityUnchecked)
+ centrality=centr->GetCentralityPercentileUnchecked(CentrMethName(fCentralityPercentileMethod));
+ else
+ centrality=centr->GetCentralityPercentile(CentrMethName(fCentralityPercentileMethod));
+
+ return centrality;
+}
+
//-----------------------------------------------------------------------
const char* AliFlowEventCuts::CentrMethName(refMultMethod method) const
{
return "CL1";
case kTPConly:
return "TRK";
- case kV0:
+ case kVZERO:
return "V0M";
default:
return "";
fRefMultCuts->SetParamType(AliFlowTrackCuts::kSPDtracklet);
fRefMultCuts->SetEtaRange(-0.8,0.8);
}
- else if (fRefMultMethod==kV0)
+ else if (fRefMultMethod==kVZERO)
{
if (!esdevent) return 0;
vzero=esdevent->GetVZEROData();