]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG0/multPbPb/AliAnalysisMultPbCentralitySelector.cxx
Nw implementation of the HMPID friends, no need for TClonesArray of clusters
[u/mrichter/AliRoot.git] / PWG0 / multPbPb / AliAnalysisMultPbCentralitySelector.cxx
CommitLineData
52d405b5 1// AliAnalysisMultPbCentralitySelector
2// Interface class to centrality estimators for the PbPb
3// track-multiplicity analysis
4// Michele Floris, CERN
5
a23f7c97 6#include "AliAnalysisMultPbCentralitySelector.h"
e0376287 7#include "AliESDtrackCuts.h"
8#include "AliESDCentrality.h"
9#include "AliESDEvent.h"
10#include "AliLog.h"
2bbfd8c6 11#include <iostream>
a23f7c97 12
2bbfd8c6 13using namespace std;
52d405b5 14
15
52d405b5 16
a23f7c97 17ClassImp(AliAnalysisMultPbCentralitySelector)
18
e0376287 19Bool_t AliAnalysisMultPbCentralitySelector::IsCentralityBinSelected(AliESDEvent* aEsd, AliESDtrackCuts * trackCuts) {
20
21 // Centrality selection
22 // On MC cuts on the number of good tracks,
23 // On data cuts using AliESDCentrality and the cut requested in ntracks
2bbfd8c6 24
25 // cout << "Tracks " << trackCuts->CountAcceptedTracks(aEsd) << endl;
26
27
28 if(fIsMC || fUseMultRange) {
e0376287 29 if(!trackCuts){
30 AliFatal("Track cuts object is invalid");
31 }
eef42d18 32 // cout << "Hey! " << fCentrBin << " " << fMultMin <<" - " << fMultMax << endl;
2bbfd8c6 33
34 if (fCentrBin == -1) return kTRUE;
e0376287 35 if (trackCuts->CountAcceptedTracks(aEsd) < fMultMin) return kFALSE;
36 if (trackCuts->CountAcceptedTracks(aEsd) > fMultMax) return kFALSE;
eef42d18 37 } else {
e0376287 38
eef42d18 39 AliESDCentrality *centrality = aEsd->GetCentrality();
40 if(!centrality && !fUseMultRange) {
41 AliFatal("Centrality object not available");
42 }
43 else {
44 Int_t centrBin = centrality->GetCentralityClass5(fCentrEstimator.Data()) ;
45 if (centrBin != fCentrBin && fCentrBin != -1 && !fUseMultRange) return kFALSE;
46 }
e0376287 47 }
48
2bbfd8c6 49 // cout << "Selected" << endl;
50
51
e0376287 52 return kTRUE;
53
54}
55
56void AliAnalysisMultPbCentralitySelector::Print(Option_t* option ) const {
57 // Print some information
58
2bbfd8c6 59 Printf("AliAnalysisMultPbCentralitySelector [%s]", option);
e0376287 60 Printf(" - Centrality estimator [%s]",fCentrEstimator.Data());
2bbfd8c6 61 Printf(" - Centrality bin [%d]",fCentrBin);
62 Printf(" - File1 used for centrality estimate: [%s]", fFile1.Data());
63 Printf(" - File2 used for centrality estimate: [%s]", fFile2.Data());
64 if ( fUseMultRange ) {
65 Printf ("Using multiplicity range [%d - %d]",fMultMin,fMultMax);
66 }
e0376287 67 if ( fIsMC ) {
68 Printf("Running on Monte Carlo, actual cut was on tracks multiplicity [%d - %d]",fMultMin,fMultMax);
69 }
70
71}