]>
Commit | Line | Data |
---|---|---|
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 | |
7 | class TH1F;\r | |
8 | class TH2F;\r | |
9 | class TString;\r | |
10 | class AliESDEvent;\r | |
11 | class AliESDtrackCuts;\r | |
12 | \r | |
13 | #include "AliAnalysisTaskSE.h"\r | |
14 | \r | |
15 | const Int_t nCentralityBins = 20;\r | |
16 | \r | |
17 | class 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 |