1 #ifndef AliEbyEFluctuationAnalysisTask_cxx
\r
2 #define AliEbyEFluctuationAnalysisTask_cxx
\r
4 // Event by event charge fluctuation analysis
\r
5 // Authors: Satyajit Jena and Panos Cristakoglou
\r
11 class AliESDtrackCuts;
\r
13 #include "AliAnalysisTaskSE.h"
\r
15 const Int_t nCentralityBins = 20;
\r
17 class AliEbyEFluctuationAnalysisTask : public AliAnalysisTaskSE {
\r
19 AliEbyEFluctuationAnalysisTask() : AliAnalysisTaskSE(), fESD(0), fOutputList(0), fHistEventStats(0), fHistCentrality(0), fHistNMultMC(0), fHistNPlusNMinusMC(0), fESDtrackCuts(0), fAnalysisType(0), fAnalysisMode(0), fCentralityEstimator("V0M"), fCentralityBins20(kFALSE), fVxMax(3.0),fVyMax(3.0), fVzMax(10.) {}
\r
20 AliEbyEFluctuationAnalysisTask(const char *name);
\r
21 virtual ~AliEbyEFluctuationAnalysisTask() {}
\r
23 virtual void UserCreateOutputObjects();
\r
24 virtual void UserExec(Option_t *option);
\r
25 virtual void Terminate(Option_t *);
\r
27 void SetAnalysisCutObject(AliESDtrackCuts *const trackCuts) {
\r
28 fESDtrackCuts = trackCuts;}
\r
29 void SetVertexDiamond(Double_t vx, Double_t vy, Double_t vz) {
\r
36 void SetCentralityEstimator(const char* centralityEstimator) {
\r
37 fCentralityEstimator = centralityEstimator;}
\r
38 void SetCentralityBins20() {fCentralityBins20 = kTRUE;}
\r
40 void SetAnalysisType(const char* analysisType) {
\r
41 fAnalysisType = analysisType;}
\r
42 void SetAnalysisMode(const char* analysisMode) {
\r
43 fAnalysisMode = analysisMode;}
\r
46 AliESDEvent *fESD; //! ESD object
\r
47 TList *fOutputList; //! Output list
\r
48 TH1F *fHistEventStats; //!event stats
\r
49 TH1F *fHistCentrality; //!centrality
\r
50 TH1F *fHistNMult[nCentralityBins]; //! nmult
\r
51 TH2F *fHistNPlusNMinus[nCentralityBins];//!nplus vs nminus correlation
\r
52 TH1F *fHistNMultMC; //!nmult MC
\r
53 TH2F *fHistNPlusNMinusMC;//!nplus vs nminus correlation
\r
55 AliESDtrackCuts *fESDtrackCuts; //ESD track cuts
\r
57 TString fAnalysisType;//"MC", "ESD", "AOD"
\r
58 TString fAnalysisMode;//"TPC", "Global"
\r
60 TString fCentralityEstimator;//"V0M","TRK","TKL","ZDC","FMD"
\r
61 Bool_t fCentralityBins20;//centrality bins of 5% width
\r
63 Double_t fVxMax;//vxmax
\r
64 Double_t fVyMax;//vymax
\r
65 Double_t fVzMax;//vzmax
\r
67 AliEbyEFluctuationAnalysisTask(const AliEbyEFluctuationAnalysisTask&); // not implemented
\r
68 AliEbyEFluctuationAnalysisTask& operator=(const AliEbyEFluctuationAnalysisTask&); // not implemented
\r
70 ClassDef(AliEbyEFluctuationAnalysisTask, 1); // example of analysis
\r