]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/EBYE/Fluctuations/AliEbyEFluctuationAnalysisTask.h
new analysis task: multiplicity fluctuations (Maitreyee Mukherjee <maitreyee.mukherje...
[u/mrichter/AliRoot.git] / PWGCF / EBYE / Fluctuations / AliEbyEFluctuationAnalysisTask.h
CommitLineData
d9649a65 1#ifndef AliEbyEFluctuationAnalysisTask_cxx\r
2#define AliEbyEFluctuationAnalysisTask_cxx\r
3\r
4// Event by event charge fluctuation analysis\r
5// Authors: Satyajit Jena and Panos Cristakoglou\r
6\r
7class TH1F;\r
8class TH2F;\r
9class TString;\r
10class AliESDEvent;\r
11class AliESDtrackCuts;\r
12\r
13#include "AliAnalysisTaskSE.h"\r
14\r
15const Int_t nCentralityBins = 20;\r
16\r
17class AliEbyEFluctuationAnalysisTask : public AliAnalysisTaskSE {\r
18 public:\r
74b04dd4 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 for(Int_t iBin = 0; iBin < nCentralityBins; iBin++) {\r
21 fHistNMult[iBin] = NULL;\r
22 fHistNPlusNMinus[iBin] = NULL;\r
23 }\r
24 }\r
d9649a65 25 AliEbyEFluctuationAnalysisTask(const char *name);\r
26 virtual ~AliEbyEFluctuationAnalysisTask() {}\r
27 \r
28 virtual void UserCreateOutputObjects();\r
29 virtual void UserExec(Option_t *option);\r
30 virtual void Terminate(Option_t *);\r
31 \r
32 void SetAnalysisCutObject(AliESDtrackCuts *const trackCuts) {\r
33 fESDtrackCuts = trackCuts;}\r
34 void SetVertexDiamond(Double_t vx, Double_t vy, Double_t vz) {\r
35 fVxMax = vx;\r
36 fVyMax = vy;\r
37 fVzMax = vz;\r
38 }\r
39 \r
40 //Centrality\r
41 void SetCentralityEstimator(const char* centralityEstimator) {\r
42 fCentralityEstimator = centralityEstimator;}\r
43 void SetCentralityBins20() {fCentralityBins20 = kTRUE;}\r
44\r
45 void SetAnalysisType(const char* analysisType) {\r
46 fAnalysisType = analysisType;}\r
47 void SetAnalysisMode(const char* analysisMode) {\r
48 fAnalysisMode = analysisMode;}\r
49\r
50 private:\r
51 AliESDEvent *fESD; //! ESD object\r
52 TList *fOutputList; //! Output list\r
53 TH1F *fHistEventStats; //!event stats\r
54 TH1F *fHistCentrality; //!centrality\r
55 TH1F *fHistNMult[nCentralityBins]; //! nmult\r
56 TH2F *fHistNPlusNMinus[nCentralityBins];//!nplus vs nminus correlation\r
57 TH1F *fHistNMultMC; //!nmult MC\r
58 TH2F *fHistNPlusNMinusMC;//!nplus vs nminus correlation\r
59\r
60 AliESDtrackCuts *fESDtrackCuts; //ESD track cuts\r
61\r
62 TString fAnalysisType;//"MC", "ESD", "AOD"\r
63 TString fAnalysisMode;//"TPC", "Global"\r
64\r
65 TString fCentralityEstimator;//"V0M","TRK","TKL","ZDC","FMD"\r
66 Bool_t fCentralityBins20;//centrality bins of 5% width\r
67\r
68 Double_t fVxMax;//vxmax\r
69 Double_t fVyMax;//vymax\r
70 Double_t fVzMax;//vzmax\r
71\r
72 AliEbyEFluctuationAnalysisTask(const AliEbyEFluctuationAnalysisTask&); // not implemented\r
73 AliEbyEFluctuationAnalysisTask& operator=(const AliEbyEFluctuationAnalysisTask&); // not implemented\r
74 \r
75 ClassDef(AliEbyEFluctuationAnalysisTask, 1); // example of analysis\r
76};\r
77\r
78#endif\r