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