]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/EBYE/AliAnalysisTaskBF.h
Adding a flag for the shuffling + kinematic cuts for the MC analysis
[u/mrichter/AliRoot.git] / PWG2 / EBYE / AliAnalysisTaskBF.h
CommitLineData
5c33329d 1#ifndef ALIANALYSISTASKBF_CXX\r
2#define ALIANALYSISTASKBF_CXX\r
3\r
4// Analysis task for the BF code\r
5// Authors: Panos Cristakoglou@cern.ch\r
6\r
2cd42194 7class TList;\r
8class TH1F;\r
3feee083 9class TH2F;\r
2cd42194 10\r
5c33329d 11class AliBalance;\r
5115b492 12class AliESDtrackCuts;\r
5c33329d 13\r
2cd42194 14#include "AliAnalysisTaskSE.h"\r
3feee083 15#include "AliBalance.h"\r
16\r
5c33329d 17\r
2cd42194 18class AliAnalysisTaskBF : public AliAnalysisTaskSE {\r
5c33329d 19 public:\r
20 AliAnalysisTaskBF(const char *name = "AliAnalysisTaskBF");\r
6432ac6a 21 virtual ~AliAnalysisTaskBF(); \r
5c33329d 22 \r
3feee083 23 \r
2cd42194 24 virtual void UserCreateOutputObjects();\r
25 virtual void UserExec(Option_t *option);\r
3feee083 26 virtual void FinishTaskOutput();\r
5c33329d 27 virtual void Terminate(Option_t *);\r
9d1f0df5 28\r
10a747d2 29 void SetAnalysisObject(AliBalance *const analysis) {\r
1900bf4e 30 fBalance = analysis;\r
10a747d2 31 }\r
32 void SetShufflingObject(AliBalance *const analysisShuffled) {\r
33 fRunShuffling = kTRUE;\r
1900bf4e 34 fShuffledBalance = analysisShuffled;\r
35 }\r
5115b492 36 void SetAnalysisCutObject(AliESDtrackCuts *const trackCuts) {\r
37 fESDtrackCuts = trackCuts;}\r
48821416 38 void SetVertexDiamond(Double_t vx, Double_t vy, Double_t vz) {\r
7f94638c 39 fVxMax = vx;\r
40 fVyMax = vy;\r
41 fVzMax = vz;\r
42 }\r
6432ac6a 43 void SetAODtrackCutBit(Int_t bit){\r
44 nAODtrackCutBit = bit;\r
45 }\r
3feee083 46 void SetKinematicsCutsAOD(Double_t ptmin, Double_t ptmax, Double_t etamin, Double_t etamax){\r
47 fPtMin = ptmin;\r
48 fPtMax = ptmax;\r
49 fEtaMin = etamin;\r
50 fEtaMax = etamax;\r
51\r
52 }\r
1900bf4e 53 void SetExtraDCACutsAOD(Double_t DCAxy, Double_t DCAz){\r
54 fDCAxyCut = DCAxy;\r
55 fDCAzCut = DCAz;\r
56 }\r
10a747d2 57 void SetKinematicsCutsMC(Double_t ptmin, Double_t ptmax,\r
58 Double_t etamin, Double_t etamax){\r
59 fPtMin = ptmin; fPtMax = ptmax;\r
60 fEtaMin = etamin; fEtaMax = etamax;\r
61 }\r
62\r
3feee083 63 //Centrality\r
64 void SetCentralityEstimator(const char* centralityEstimator) {fCentralityEstimator = centralityEstimator;}\r
65 const char* GetCentralityEstimator(void) {return fCentralityEstimator;}\r
66 void SetCentralityPercentileRange(Double_t min, Double_t max) { \r
67 fCentralityPercentileMin=min;\r
68 fCentralityPercentileMax=max;\r
69 }\r
7f94638c 70\r
09bb7bf4 71 void UseOfflineTrigger() {fUseOfflineTrigger = kTRUE;}\r
72\r
5c33329d 73 private:\r
5c33329d 74 AliBalance *fBalance; //BF object\r
10a747d2 75 Bool_t fRunShuffling;//run shuffling or not\r
1900bf4e 76 AliBalance *fShuffledBalance; //BF object (shuffled)\r
2cd42194 77 TList *fList; //fList object\r
3feee083 78 TList *fListBF; //fList object\r
6432ac6a 79 TList *fListBFS; //fList object\r
3feee083 80\r
2cd42194 81 TH1F *fHistEventStats; //event stats\r
3feee083 82 TH1F *fHistTrackStats; //Track filter bit stats\r
09bb7bf4 83 TH1F *fHistVx; //x coordinate of the primary vertex\r
84 TH1F *fHistVy; //y coordinate of the primary vertex\r
85 TH1F *fHistVz; //z coordinate of the primary vertex\r
2cd42194 86\r
3feee083 87 TH2F *fHistClus;\r
88 TH2F *fHistDCA;\r
89 TH1F *fHistChi2;\r
90 TH1F *fHistPt;\r
91 TH1F *fHistEta;\r
92 TH1F *fHistPhi;\r
93 TH2F *fHistV0M;\r
94\r
5115b492 95 AliESDtrackCuts *fESDtrackCuts; //ESD track cuts\r
96\r
3feee083 97 TString fCentralityEstimator; //"V0M","TRK","TKL","ZDC","FMD"\r
98 Double_t fCentralityPercentileMin;\r
99 Double_t fCentralityPercentileMax;\r
100\r
09bb7bf4 101 Bool_t fUseOfflineTrigger;//Usage of the offline trigger selection\r
102\r
7f94638c 103 Double_t fVxMax;//vxmax\r
09bb7bf4 104 Double_t fVyMax;//vymax\r
105 Double_t fVzMax;//vzmax\r
7f94638c 106\r
6432ac6a 107 Int_t nAODtrackCutBit;//track cut bit from track selection (only used for AODs)\r
108\r
3feee083 109 Double_t fPtMin;//only used for AODs\r
110 Double_t fPtMax;//only used for AODs\r
111 Double_t fEtaMin;//only used for AODs\r
112 Double_t fEtaMax;//only used for AODs\r
113\r
1900bf4e 114 Double_t fDCAxyCut;//only used for AODs\r
115 Double_t fDCAzCut;//only used for AODs\r
116\r
5c33329d 117 AliAnalysisTaskBF(const AliAnalysisTaskBF&); // not implemented\r
118 AliAnalysisTaskBF& operator=(const AliAnalysisTaskBF&); // not implemented\r
119 \r
3feee083 120 ClassDef(AliAnalysisTaskBF, 5); // example of analysis\r
5c33329d 121};\r
122\r
123#endif\r