1 #ifndef AliEbyEFluctuationAnalysisTaskTrain_cxx
2 #define AliEbyEFluctuationAnalysisTaskTrain_cxx
4 // Event by event charge fluctuation analysis
5 // Authors: Satyajit Jena and Panos Cristakoglou
11 //class AliESDtrackCuts;
13 #include "AliAnalysisTaskSE.h"
15 //const Int_t nCentralityBins = 20;
17 class AliEbyEFluctuationAnalysisTaskTrain : public AliAnalysisTaskSE {
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() {}
23 virtual void UserCreateOutputObjects();
24 virtual void UserExec(Option_t *option);
25 virtual void Terminate(Option_t *);
27 //void SetAnalysisCutObject(AliESDtrackCuts *const trackCuts) {
28 //fESDtrackCuts = trackCuts;}
29 void SetVertexDiamond(Double_t vx, Double_t vy, Double_t vz) {
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;
44 void SetAnalysisType(const char* analysisType) {
45 fAnalysisType = analysisType;}
46 void SetAnalysisMode(const char* analysisMode) {
47 fAnalysisMode = analysisMode;}
50 void SetMinNumberOfTPCClusters(Double_t min) {
51 fMinNumberOfTPCClusters = min;}
52 void SetMaxChi2PerTPCCluster(Double_t max) {
53 fMaxChi2PerTPCCluster = max;}
54 void SetMaxDCAxy(Double_t max) {
56 void SetMaxDCAz(Double_t max) {
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
69 //AliESDtrackCuts *fESDtrackCuts; //ESD track cuts
71 TString fAnalysisType;//"MC", "ESD", "AOD"
72 TString fAnalysisMode;//"TPC", "Global"
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
78 Double_t fVxMax;//vxmax
79 Double_t fVyMax;//vymax
80 Double_t fVzMax;//vzmax
82 Double_t fMinNumberOfTPCClusters; //
83 Double_t fMaxChi2PerTPCCluster; //
84 Double_t fMaxDCAxy, fMaxDCAz;//
86 AliEbyEFluctuationAnalysisTaskTrain(const AliEbyEFluctuationAnalysisTaskTrain&); // not implemented
87 AliEbyEFluctuationAnalysisTaskTrain& operator=(const AliEbyEFluctuationAnalysisTaskTrain&); // not implemented
89 ClassDef(AliEbyEFluctuationAnalysisTaskTrain, 1); // example of analysis