#include "AliAnalysisCentralitySelector.h"
#include "AliESDtrackCuts.h"
#include "AliCentrality.h"
#include "AliESDEvent.h"
#include "AliLog.h"
#include "AliESDVZERO.h"
#include <iostream>
#include "AliMultiplicity.h"
using namespace std;
ClassImp(AliAnalysisCentralitySelector)
Bool_t AliAnalysisCentralitySelector::IsCentralityBinSelected(AliESDEvent* aEsd, AliESDtrackCuts * trackCuts) {
if (fUseMultRange && fUseV0CutRange && fUseSPDOuterRange) {
AliFatal(Form("Cannot use multiple estimators at once: fUseMultRange [%d], fUseV0CutRange[%d], fUseSPDOuterRange[%d]!!",
fUseMultRange , fUseV0CutRange , fUseSPDOuterRange));
}
if (fUseV0CutRange) {
Float_t multV0=0;
AliESDVZERO* esdV0 = aEsd->GetVZEROData();
Float_t multV0A=esdV0->GetMTotV0A();
Float_t multV0C=esdV0->GetMTotV0C();
multV0 = multV0A+multV0C;
if (multV0 < fMultMin) return kFALSE;
if (multV0 > fMultMax) return kFALSE;
}
else if (fUseSPDOuterRange) {
const AliMultiplicity * mult = aEsd->GetMultiplicity();
Float_t outerLayerSPD = mult->GetNumberOfITSClusters(1);
if (outerLayerSPD < fMultMin) return kFALSE;
if (outerLayerSPD > fMultMax) return kFALSE;
}
else if(fUseMultRange) {
if(!trackCuts){
AliFatal("Track cuts object is invalid");
}
Float_t ntracks = trackCuts->CountAcceptedTracks(aEsd);
if (fCentrBin == -1 && !fUseMultRange) return kTRUE;
if (ntracks < fMultMin) return kFALSE;
if (ntracks > fMultMax) return kFALSE;
}
else if(fUsePercentile) {
AliCentrality *centrality = (AliCentrality*) aEsd->GetCentrality();
return centrality->IsEventInCentralityClass(fMultMin, fMultMax, fCentrEstimator.Data()) ;
}
else {
AliCentrality *centrality = (AliCentrality*) aEsd->GetCentrality();
if(!centrality && !fUseMultRange) {
AliFatal("Centrality object not available");
}
else {
Int_t centrBin = centrality->GetCentralityClass5(fCentrEstimator.Data()) ;
if (centrBin != fCentrBin && fCentrBin != -1 && !fUseMultRange) return kFALSE;
}
}
return kTRUE;
}
void AliAnalysisCentralitySelector::Print(Option_t* option ) const {
Printf("AliAnalysisCentralitySelector [%s]", option);
Printf(" - Centrality estimator [%s]",fCentrEstimator.Data());
Printf(" - Centrality bin [%d]",fCentrBin);
if ( fUseMultRange ) {
Printf ("Using multiplicity range [%1.1f - %1.1f]",fMultMin,fMultMax);
}
if ( fUseV0CutRange ) {
Printf ("Using V0 range [%1.1f - %1.1f]",fMultMin,fMultMax);
}
if ( fIsMC ) {
Printf("Running on Monte Carlo, actual cut was on tracks multiplicity [%1.1f - %1.1f]",fMultMin,fMultMax);
}
}
AliAnalysisCentralitySelector.cxx:1 AliAnalysisCentralitySelector.cxx:2 AliAnalysisCentralitySelector.cxx:3 AliAnalysisCentralitySelector.cxx:4 AliAnalysisCentralitySelector.cxx:5 AliAnalysisCentralitySelector.cxx:6 AliAnalysisCentralitySelector.cxx:7 AliAnalysisCentralitySelector.cxx:8 AliAnalysisCentralitySelector.cxx:9 AliAnalysisCentralitySelector.cxx:10 AliAnalysisCentralitySelector.cxx:11 AliAnalysisCentralitySelector.cxx:12 AliAnalysisCentralitySelector.cxx:13 AliAnalysisCentralitySelector.cxx:14 AliAnalysisCentralitySelector.cxx:15 AliAnalysisCentralitySelector.cxx:16 AliAnalysisCentralitySelector.cxx:17 AliAnalysisCentralitySelector.cxx:18 AliAnalysisCentralitySelector.cxx:19 AliAnalysisCentralitySelector.cxx:20 AliAnalysisCentralitySelector.cxx:21 AliAnalysisCentralitySelector.cxx:22 AliAnalysisCentralitySelector.cxx:23 AliAnalysisCentralitySelector.cxx:24 AliAnalysisCentralitySelector.cxx:25 AliAnalysisCentralitySelector.cxx:26 AliAnalysisCentralitySelector.cxx:27 AliAnalysisCentralitySelector.cxx:28 AliAnalysisCentralitySelector.cxx:29 AliAnalysisCentralitySelector.cxx:30 AliAnalysisCentralitySelector.cxx:31 AliAnalysisCentralitySelector.cxx:32 AliAnalysisCentralitySelector.cxx:33 AliAnalysisCentralitySelector.cxx:34 AliAnalysisCentralitySelector.cxx:35 AliAnalysisCentralitySelector.cxx:36 AliAnalysisCentralitySelector.cxx:37 AliAnalysisCentralitySelector.cxx:38 AliAnalysisCentralitySelector.cxx:39 AliAnalysisCentralitySelector.cxx:40 AliAnalysisCentralitySelector.cxx:41 AliAnalysisCentralitySelector.cxx:42 AliAnalysisCentralitySelector.cxx:43 AliAnalysisCentralitySelector.cxx:44 AliAnalysisCentralitySelector.cxx:45 AliAnalysisCentralitySelector.cxx:46 AliAnalysisCentralitySelector.cxx:47 AliAnalysisCentralitySelector.cxx:48 AliAnalysisCentralitySelector.cxx:49 AliAnalysisCentralitySelector.cxx:50 AliAnalysisCentralitySelector.cxx:51 AliAnalysisCentralitySelector.cxx:52 AliAnalysisCentralitySelector.cxx:53 AliAnalysisCentralitySelector.cxx:54 AliAnalysisCentralitySelector.cxx:55 AliAnalysisCentralitySelector.cxx:56 AliAnalysisCentralitySelector.cxx:57 AliAnalysisCentralitySelector.cxx:58 AliAnalysisCentralitySelector.cxx:59 AliAnalysisCentralitySelector.cxx:60 AliAnalysisCentralitySelector.cxx:61 AliAnalysisCentralitySelector.cxx:62 AliAnalysisCentralitySelector.cxx:63 AliAnalysisCentralitySelector.cxx:64 AliAnalysisCentralitySelector.cxx:65 AliAnalysisCentralitySelector.cxx:66 AliAnalysisCentralitySelector.cxx:67 AliAnalysisCentralitySelector.cxx:68 AliAnalysisCentralitySelector.cxx:69 AliAnalysisCentralitySelector.cxx:70 AliAnalysisCentralitySelector.cxx:71 AliAnalysisCentralitySelector.cxx:72 AliAnalysisCentralitySelector.cxx:73 AliAnalysisCentralitySelector.cxx:74 AliAnalysisCentralitySelector.cxx:75 AliAnalysisCentralitySelector.cxx:76 AliAnalysisCentralitySelector.cxx:77 AliAnalysisCentralitySelector.cxx:78 AliAnalysisCentralitySelector.cxx:79 AliAnalysisCentralitySelector.cxx:80 AliAnalysisCentralitySelector.cxx:81 AliAnalysisCentralitySelector.cxx:82 AliAnalysisCentralitySelector.cxx:83 AliAnalysisCentralitySelector.cxx:84 AliAnalysisCentralitySelector.cxx:85 AliAnalysisCentralitySelector.cxx:86 AliAnalysisCentralitySelector.cxx:87 AliAnalysisCentralitySelector.cxx:88 AliAnalysisCentralitySelector.cxx:89 AliAnalysisCentralitySelector.cxx:90 AliAnalysisCentralitySelector.cxx:91 AliAnalysisCentralitySelector.cxx:92 AliAnalysisCentralitySelector.cxx:93 AliAnalysisCentralitySelector.cxx:94 AliAnalysisCentralitySelector.cxx:95 AliAnalysisCentralitySelector.cxx:96 AliAnalysisCentralitySelector.cxx:97 AliAnalysisCentralitySelector.cxx:98 AliAnalysisCentralitySelector.cxx:99 AliAnalysisCentralitySelector.cxx:100 AliAnalysisCentralitySelector.cxx:101 AliAnalysisCentralitySelector.cxx:102 AliAnalysisCentralitySelector.cxx:103 AliAnalysisCentralitySelector.cxx:104 AliAnalysisCentralitySelector.cxx:105 AliAnalysisCentralitySelector.cxx:106 AliAnalysisCentralitySelector.cxx:107 AliAnalysisCentralitySelector.cxx:108 AliAnalysisCentralitySelector.cxx:109