]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/EBYE/Fluctuations/AliEbyEFluctuationAnalysisTask.h
Updated working version of the ebye charge fluctuation code
[u/mrichter/AliRoot.git] / PWG2 / 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
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
22 \r
23 virtual void UserCreateOutputObjects();\r
24 virtual void UserExec(Option_t *option);\r
25 virtual void Terminate(Option_t *);\r
26 \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
30 fVxMax = vx;\r
31 fVyMax = vy;\r
32 fVzMax = vz;\r
33 }\r
34 \r
35 //Centrality\r
36 void SetCentralityEstimator(const char* centralityEstimator) {\r
37 fCentralityEstimator = centralityEstimator;}\r
38 void SetCentralityBins20() {fCentralityBins20 = kTRUE;}\r
39\r
40 void SetAnalysisType(const char* analysisType) {\r
41 fAnalysisType = analysisType;}\r
42 void SetAnalysisMode(const char* analysisMode) {\r
43 fAnalysisMode = analysisMode;}\r
44\r
45 private:\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
54\r
55 AliESDtrackCuts *fESDtrackCuts; //ESD track cuts\r
56\r
57 TString fAnalysisType;//"MC", "ESD", "AOD"\r
58 TString fAnalysisMode;//"TPC", "Global"\r
59\r
60 TString fCentralityEstimator;//"V0M","TRK","TKL","ZDC","FMD"\r
61 Bool_t fCentralityBins20;//centrality bins of 5% width\r
62\r
63 Double_t fVxMax;//vxmax\r
64 Double_t fVyMax;//vymax\r
65 Double_t fVzMax;//vzmax\r
66\r
67 AliEbyEFluctuationAnalysisTask(const AliEbyEFluctuationAnalysisTask&); // not implemented\r
68 AliEbyEFluctuationAnalysisTask& operator=(const AliEbyEFluctuationAnalysisTask&); // not implemented\r
69 \r
70 ClassDef(AliEbyEFluctuationAnalysisTask, 1); // example of analysis\r
71};\r
72\r
73#endif\r