]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG0/multPbPb/AliAnalysisMultPbCentralitySelector.cxx
undid removing directories where par files are extracted
[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
16// FIXME: bookkeep here all parameters of centrality estimate (files, estimator, selected bin...)
17
a23f7c97 18ClassImp(AliAnalysisMultPbCentralitySelector)
19
e0376287 20Bool_t AliAnalysisMultPbCentralitySelector::IsCentralityBinSelected(AliESDEvent* aEsd, AliESDtrackCuts * trackCuts) {
21
22 // Centrality selection
23 // On MC cuts on the number of good tracks,
24 // On data cuts using AliESDCentrality and the cut requested in ntracks
2bbfd8c6 25
26 // cout << "Tracks " << trackCuts->CountAcceptedTracks(aEsd) << endl;
27
28
29 if(fIsMC || fUseMultRange) {
e0376287 30 if(!trackCuts){
31 AliFatal("Track cuts object is invalid");
32 }
2bbfd8c6 33 // cout << "Hey!" << endl;
34
35 if (fCentrBin == -1) return kTRUE;
e0376287 36 if (trackCuts->CountAcceptedTracks(aEsd) < fMultMin) return kFALSE;
37 if (trackCuts->CountAcceptedTracks(aEsd) > fMultMax) return kFALSE;
38 }
39
40 AliESDCentrality *centrality = aEsd->GetCentrality();
2bbfd8c6 41 if(!centrality && !fUseMultRange) {
e0376287 42 AliFatal("Centrality object not available");
43 }
44 else {
45 Int_t centrBin = centrality->GetCentralityClass5(fCentrEstimator.Data()) ;
2bbfd8c6 46 if (centrBin != fCentrBin && fCentrBin != -1 && !fUseMultRange) return kFALSE;
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}