]>
Commit | Line | Data |
---|---|---|
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 | 13 | using namespace std; |
52d405b5 | 14 | |
15 | ||
16 | // FIXME: bookkeep here all parameters of centrality estimate (files, estimator, selected bin...) | |
17 | ||
a23f7c97 | 18 | ClassImp(AliAnalysisMultPbCentralitySelector) |
19 | ||
e0376287 | 20 | Bool_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 | ||
56 | void 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 | } |