#ifndef ALIANALYSISTASKPIDFLUCTUATION_H
#define ALIANALYSISTASKPIDFLUCTUATION_H
class TList;
class TH1F;
class TH2F;
class TH3F;
class AliVEvent;
class AliVTrack;
class AliESDtrackCuts;
class AliPIDResponse;
#include "AliAnalysisTaskSE.h"
#include "AliPID.h"
#include "THnSparse.h"
class AliAnalysisTaskPIDFluctuation :
public AliAnalysisTaskSE
{
public:
AliAnalysisTaskPIDFluctuation(const Char_t *name = "PIDFluctuation");
virtual ~AliAnalysisTaskPIDFluctuation();
void UserCreateOutputObjects();
void UserExec(Option_t *option);
void SetPIDMethod(Int_t value) {fPIDMethod = value;};
void SetESDtrackCuts(AliESDtrackCuts *value) {fESDtrackCuts = value;};
void SetAODfilterBit(Int_t value) {fAODfilterBit = value;};
void SetEtaRange(Float_t etaMin, Float_t etaMax) {fEtaMin = etaMin; fEtaMax = etaMax;};
void SetPtRange(Float_t ptMin, Float_t ptMax) {fPtMin = ptMin; fPtMax = ptMax;};
static const Int_t kNCentralityBins = 10;
enum EEventCounter_t {
kAllEvents,
kPhysicsSelection,
kPrimaryVertex,
kPrimaryVertexSPD,
kVertexAccepted,
kGoodCentrality,
kAcceptedEvents,
kNEventCounters
};
enum ESparseData_t {
kCent_V0M,
kCent_TRK,
kNch,
kNch_plus,
kNch_minus,
kNpi,
kNpi_plus,
kNpi_minus,
kNka,
kNka_plus,
kNka_minus,
kNpr,
kNpr_plus,
kNpr_minus,
kNSparseData
};
enum EPIDMethod_t {
kTPCTOF,
kTPConly,
kTOFonly,
kNPIDMethods
};
static void MeasureNuDyn(const Char_t *filename, Int_t i1, Int_t i2, Int_t centralityEstimator = kCent_V0M);
private:
AliAnalysisTaskPIDFluctuation(const AliAnalysisTaskPIDFluctuation &);
AliAnalysisTaskPIDFluctuation &operator=(const AliAnalysisTaskPIDFluctuation &);
Bool_t AcceptEvent(AliVEvent *event) const;
Bool_t AcceptTrack(AliVTrack *track) const;
Bool_t HasTPCPID(AliVTrack *track) const;
Bool_t HasTOFPID(AliVTrack *track) const;
Double_t MakeTPCPID(AliVTrack *track, Double_t *nSigma) const;
Double_t MakeTOFPID(AliVTrack *track, Double_t *nSigma) const;
void MakePID(AliVTrack *track, Bool_t *pidFlag, Float_t centrality) const;
Bool_t InitPID(AliVEvent *event);
Int_t fPIDMethod;
AliESDtrackCuts *fESDtrackCuts;
Int_t fAODfilterBit;
Float_t fEtaMin;
Float_t fEtaMax;
Float_t fPtMin;
Float_t fPtMax;
AliPIDResponse *fPID;
TList *fHistoList;
TH1F *fHistoEventCounter;
TH2F *fHistoAcceptedTracks;
TH2F *fHistoTOFMatchedTracks;
TH3F *fHistoTPCdEdx;
TH3F *fHistoTPCdEdx_inclusive;
TH3F *fHistoTOFbeta;
TH3F *fHistoTPCdEdx_selected[AliPID::kSPECIES];
TH3F *fHistoTOFbeta_selected[AliPID::kSPECIES];
TH3F *fHistoNSigmaTPC[AliPID::kSPECIES];
TH3F *fHistoNSigmaTOF[AliPID::kSPECIES];
THnSparseI *fHistoCorrelation;
static const Char_t *fgkEventCounterName[kNEventCounters];
static const Char_t *fgkEventCounterTitle[kNEventCounters];
static const Char_t *fgkSparseDataName[kNSparseData];
static const Char_t *fgkSparseDataTitle[kNSparseData];
ClassDef(AliAnalysisTaskPIDFluctuation, 1);
};
#endif /* ALIANALYSISTASKPIDFLUCTUATION_H */
AliAnalysisTaskPIDFluctuation.h:1 AliAnalysisTaskPIDFluctuation.h:2 AliAnalysisTaskPIDFluctuation.h:3 AliAnalysisTaskPIDFluctuation.h:4 AliAnalysisTaskPIDFluctuation.h:5 AliAnalysisTaskPIDFluctuation.h:6 AliAnalysisTaskPIDFluctuation.h:7 AliAnalysisTaskPIDFluctuation.h:8 AliAnalysisTaskPIDFluctuation.h:9 AliAnalysisTaskPIDFluctuation.h:10 AliAnalysisTaskPIDFluctuation.h:11 AliAnalysisTaskPIDFluctuation.h:12 AliAnalysisTaskPIDFluctuation.h:13 AliAnalysisTaskPIDFluctuation.h:14 AliAnalysisTaskPIDFluctuation.h:15 AliAnalysisTaskPIDFluctuation.h:16 AliAnalysisTaskPIDFluctuation.h:17 AliAnalysisTaskPIDFluctuation.h:18 AliAnalysisTaskPIDFluctuation.h:19 AliAnalysisTaskPIDFluctuation.h:20 AliAnalysisTaskPIDFluctuation.h:21 AliAnalysisTaskPIDFluctuation.h:22 AliAnalysisTaskPIDFluctuation.h:23 AliAnalysisTaskPIDFluctuation.h:24 AliAnalysisTaskPIDFluctuation.h:25 AliAnalysisTaskPIDFluctuation.h:26 AliAnalysisTaskPIDFluctuation.h:27 AliAnalysisTaskPIDFluctuation.h:28 AliAnalysisTaskPIDFluctuation.h:29 AliAnalysisTaskPIDFluctuation.h:30 AliAnalysisTaskPIDFluctuation.h:31 AliAnalysisTaskPIDFluctuation.h:32 AliAnalysisTaskPIDFluctuation.h:33 AliAnalysisTaskPIDFluctuation.h:34 AliAnalysisTaskPIDFluctuation.h:35 AliAnalysisTaskPIDFluctuation.h:36 AliAnalysisTaskPIDFluctuation.h:37 AliAnalysisTaskPIDFluctuation.h:38 AliAnalysisTaskPIDFluctuation.h:39 AliAnalysisTaskPIDFluctuation.h:40 AliAnalysisTaskPIDFluctuation.h:41 AliAnalysisTaskPIDFluctuation.h:42 AliAnalysisTaskPIDFluctuation.h:43 AliAnalysisTaskPIDFluctuation.h:44 AliAnalysisTaskPIDFluctuation.h:45 AliAnalysisTaskPIDFluctuation.h:46 AliAnalysisTaskPIDFluctuation.h:47 AliAnalysisTaskPIDFluctuation.h:48 AliAnalysisTaskPIDFluctuation.h:49 AliAnalysisTaskPIDFluctuation.h:50 AliAnalysisTaskPIDFluctuation.h:51 AliAnalysisTaskPIDFluctuation.h:52 AliAnalysisTaskPIDFluctuation.h:53 AliAnalysisTaskPIDFluctuation.h:54 AliAnalysisTaskPIDFluctuation.h:55 AliAnalysisTaskPIDFluctuation.h:56 AliAnalysisTaskPIDFluctuation.h:57 AliAnalysisTaskPIDFluctuation.h:58 AliAnalysisTaskPIDFluctuation.h:59 AliAnalysisTaskPIDFluctuation.h:60 AliAnalysisTaskPIDFluctuation.h:61 AliAnalysisTaskPIDFluctuation.h:62 AliAnalysisTaskPIDFluctuation.h:63 AliAnalysisTaskPIDFluctuation.h:64 AliAnalysisTaskPIDFluctuation.h:65 AliAnalysisTaskPIDFluctuation.h:66 AliAnalysisTaskPIDFluctuation.h:67 AliAnalysisTaskPIDFluctuation.h:68 AliAnalysisTaskPIDFluctuation.h:69 AliAnalysisTaskPIDFluctuation.h:70 AliAnalysisTaskPIDFluctuation.h:71 AliAnalysisTaskPIDFluctuation.h:72 AliAnalysisTaskPIDFluctuation.h:73 AliAnalysisTaskPIDFluctuation.h:74 AliAnalysisTaskPIDFluctuation.h:75 AliAnalysisTaskPIDFluctuation.h:76 AliAnalysisTaskPIDFluctuation.h:77 AliAnalysisTaskPIDFluctuation.h:78 AliAnalysisTaskPIDFluctuation.h:79 AliAnalysisTaskPIDFluctuation.h:80 AliAnalysisTaskPIDFluctuation.h:81 AliAnalysisTaskPIDFluctuation.h:82 AliAnalysisTaskPIDFluctuation.h:83 AliAnalysisTaskPIDFluctuation.h:84 AliAnalysisTaskPIDFluctuation.h:85 AliAnalysisTaskPIDFluctuation.h:86 AliAnalysisTaskPIDFluctuation.h:87 AliAnalysisTaskPIDFluctuation.h:88 AliAnalysisTaskPIDFluctuation.h:89 AliAnalysisTaskPIDFluctuation.h:90 AliAnalysisTaskPIDFluctuation.h:91 AliAnalysisTaskPIDFluctuation.h:92 AliAnalysisTaskPIDFluctuation.h:93 AliAnalysisTaskPIDFluctuation.h:94 AliAnalysisTaskPIDFluctuation.h:95 AliAnalysisTaskPIDFluctuation.h:96 AliAnalysisTaskPIDFluctuation.h:97 AliAnalysisTaskPIDFluctuation.h:98 AliAnalysisTaskPIDFluctuation.h:99 AliAnalysisTaskPIDFluctuation.h:100 AliAnalysisTaskPIDFluctuation.h:101 AliAnalysisTaskPIDFluctuation.h:102 AliAnalysisTaskPIDFluctuation.h:103 AliAnalysisTaskPIDFluctuation.h:104 AliAnalysisTaskPIDFluctuation.h:105 AliAnalysisTaskPIDFluctuation.h:106 AliAnalysisTaskPIDFluctuation.h:107 AliAnalysisTaskPIDFluctuation.h:108 AliAnalysisTaskPIDFluctuation.h:109 AliAnalysisTaskPIDFluctuation.h:110 AliAnalysisTaskPIDFluctuation.h:111 AliAnalysisTaskPIDFluctuation.h:112 AliAnalysisTaskPIDFluctuation.h:113 AliAnalysisTaskPIDFluctuation.h:114 AliAnalysisTaskPIDFluctuation.h:115 AliAnalysisTaskPIDFluctuation.h:116 AliAnalysisTaskPIDFluctuation.h:117 AliAnalysisTaskPIDFluctuation.h:118 AliAnalysisTaskPIDFluctuation.h:119 AliAnalysisTaskPIDFluctuation.h:120 AliAnalysisTaskPIDFluctuation.h:121 AliAnalysisTaskPIDFluctuation.h:122 AliAnalysisTaskPIDFluctuation.h:123 AliAnalysisTaskPIDFluctuation.h:124 AliAnalysisTaskPIDFluctuation.h:125 AliAnalysisTaskPIDFluctuation.h:126 AliAnalysisTaskPIDFluctuation.h:127 AliAnalysisTaskPIDFluctuation.h:128 AliAnalysisTaskPIDFluctuation.h:129 AliAnalysisTaskPIDFluctuation.h:130 AliAnalysisTaskPIDFluctuation.h:131 AliAnalysisTaskPIDFluctuation.h:132 AliAnalysisTaskPIDFluctuation.h:133 AliAnalysisTaskPIDFluctuation.h:134 AliAnalysisTaskPIDFluctuation.h:135 AliAnalysisTaskPIDFluctuation.h:136 AliAnalysisTaskPIDFluctuation.h:137 AliAnalysisTaskPIDFluctuation.h:138