end-of-line normalization
[u/mrichter/AliRoot.git] / PWGCF / EBYE / Fluctuations / AliEbyEFluctuationAnalysisTaskTrain.h
CommitLineData
7fac8669 1#ifndef AliEbyEFluctuationAnalysisTaskTrain_cxx
2#define AliEbyEFluctuationAnalysisTaskTrain_cxx
3
4// Event by event charge fluctuation analysis
5// Authors: Satyajit Jena and Panos Cristakoglou
6
7class TH1F;
8class TH2F;
9class TString;
10class AliESDEvent;
11//class AliESDtrackCuts;
12
13#include "AliAnalysisTaskSE.h"
14
15//const Int_t nCentralityBins = 20;
16
17class AliEbyEFluctuationAnalysisTaskTrain : public AliAnalysisTaskSE {
18 public:
19 AliEbyEFluctuationAnalysisTaskTrain() : AliAnalysisTaskSE(), fESD(0), fOutputList(0), fHistEventStats(0), fHistCentrality(0), fHistNMult(0), fHistNPlusNMinus(0), fHistNMultMC(0), fHistNPlusNMinusMC(0), fAnalysisType(0), fAnalysisMode(0), fCentralityEstimator("V0M"), fCentralityPercentileMin(0.0), fCentralityPercentileMax(5.0), fVxMax(3.0),fVyMax(3.0), fVzMax(10.), fMinNumberOfTPCClusters(80), fMaxChi2PerTPCCluster(4.0), fMaxDCAxy(3.0), fMaxDCAz(3.0) {}
20 AliEbyEFluctuationAnalysisTaskTrain(const char *name);
21 virtual ~AliEbyEFluctuationAnalysisTaskTrain() {}
22
23 virtual void UserCreateOutputObjects();
24 virtual void UserExec(Option_t *option);
25 virtual void Terminate(Option_t *);
26
27 //void SetAnalysisCutObject(AliESDtrackCuts *const trackCuts) {
28 //fESDtrackCuts = trackCuts;}
29 void SetVertexDiamond(Double_t vx, Double_t vy, Double_t vz) {
30 fVxMax = vx;
31 fVyMax = vy;
32 fVzMax = vz;
33 }
34
35 //Centrality
36 void SetCentralityEstimator(const char* centralityEstimator) {
37 fCentralityEstimator = centralityEstimator;}
38 //void SetCentralityBins20() {fCentralityBins20 = kTRUE;}
39 void SetCentralityPercentileRange(Float_t min, Float_t max) {
40 fCentralityPercentileMin=min;
41 fCentralityPercentileMax=max;
42 }
43
44 void SetAnalysisType(const char* analysisType) {
45 fAnalysisType = analysisType;}
46 void SetAnalysisMode(const char* analysisMode) {
47 fAnalysisMode = analysisMode;}
48
49 //Track cuts
50 void SetMinNumberOfTPCClusters(Double_t min) {
51 fMinNumberOfTPCClusters = min;}
52 void SetMaxChi2PerTPCCluster(Double_t max) {
53 fMaxChi2PerTPCCluster = max;}
54 void SetMaxDCAxy(Double_t max) {
55 fMaxDCAxy = max;}
56 void SetMaxDCAz(Double_t max) {
57 fMaxDCAz = max;}
58
59 private:
60 AliESDEvent *fESD; //! ESD object
61 TList *fOutputList; //! Output list
62 TH1F *fHistEventStats; //!event stats
63 TH1F *fHistCentrality; //!centrality
64 TH1F *fHistNMult; //! nmult
65 TH2F *fHistNPlusNMinus;//!nplus vs nminus correlation
66 TH1F *fHistNMultMC; //!nmult MC
67 TH2F *fHistNPlusNMinusMC;//!nplus vs nminus correlation
68
69 //AliESDtrackCuts *fESDtrackCuts; //ESD track cuts
70
71 TString fAnalysisType;//"MC", "ESD", "AOD"
72 TString fAnalysisMode;//"TPC", "Global"
73
74 TString fCentralityEstimator;//"V0M","TRK","TKL","ZDC","FMD"
75 //Bool_t fCentralityBins20;//centrality bins of 5% width
76 Float_t fCentralityPercentileMin, fCentralityPercentileMax; //min-max centrality percentile
77
78 Double_t fVxMax;//vxmax
79 Double_t fVyMax;//vymax
80 Double_t fVzMax;//vzmax
81
82 Double_t fMinNumberOfTPCClusters; //
83 Double_t fMaxChi2PerTPCCluster; //
84 Double_t fMaxDCAxy, fMaxDCAz;//
85
86 AliEbyEFluctuationAnalysisTaskTrain(const AliEbyEFluctuationAnalysisTaskTrain&); // not implemented
87 AliEbyEFluctuationAnalysisTaskTrain& operator=(const AliEbyEFluctuationAnalysisTaskTrain&); // not implemented
88
89 ClassDef(AliEbyEFluctuationAnalysisTaskTrain, 1); // example of analysis
90};
91
92#endif