]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/EBYE/Fluctuations/AliEbyEFluctuationAnalysisTaskTrain.h
end-of-line normalization
[u/mrichter/AliRoot.git] / PWGCF / EBYE / Fluctuations / AliEbyEFluctuationAnalysisTaskTrain.h
1 #ifndef AliEbyEFluctuationAnalysisTaskTrain_cxx
2 #define AliEbyEFluctuationAnalysisTaskTrain_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 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