]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/FLOW/Tasks/AliAnalysisTaskFlowCascade.h
Zhong-Bao Yin: Updated Cascade Flow task
[u/mrichter/AliRoot.git] / PWG / FLOW / Tasks / AliAnalysisTaskFlowCascade.h
1 /////////////////////////////////////////////////////\r
2 // AliAnalysisTaskFlowCascade:\r
3 // Analysis task to select Xi and Omega candidates for flow analysis.\r
4 // Author: \r
5 //////////////////////////////////////////////////////\r
6 \r
7 /* Copyright(c) 1998-1999, ALICExperiment at CERN, All rights reserved. *\r
8 * See cxx source for full Copyright notice */\r
9 /* $Id: $ */\r
10 \r
11 #ifndef AliAnalysisTaskFlowCascade_H\r
12 #define AliAnalysisTaskFlowCascade_H\r
13 \r
14 #include "AliAnalysisTaskSE.h"\r
15 \r
16 class AliESDtrackCuts;\r
17 class AliFlowEventCuts;\r
18 class TList;\r
19 class TH1D;\r
20 class TH2D;\r
21 class TH3D;\r
22 class AliFlowCandidateTrack;\r
23 class TVector3;\r
24 class AliPIDResponse;\r
25 class AliFlowEvent;\r
26 class AliAnalysisTaskFlowCascade : public AliAnalysisTaskSE {\r
27   private:\r
28   AliAnalysisTaskFlowCascade(const AliAnalysisTaskFlowCascade& analysisTask);\r
29   AliAnalysisTaskFlowCascade& \r
30     operator=(const AliAnalysisTaskFlowCascade& analysisTask);\r
31 \r
32   //Progate to the primary vertex\r
33   void Propagate(Double_t vv[3], Double_t x[3], Double_t p[3], Double_t bz, \r
34                  Short_t sign);\r
35 \r
36   void AddQAEvents();\r
37   void AddQACandidates();\r
38   void ReadFromESDv0(AliESDEvent *fESD);\r
39   void ReadFromAODv0(AliAODEvent *fAOD);\r
40 \r
41   void AddCandidates();\r
42 \r
43   void MakeTrack( double mass, double pt, \r
44                   double phi, double eta, \r
45                   int iid, int jid, int kid );\r
46   \r
47   //  double fMinCent, fMaxCent;   //\r
48   Int_t fSpecie; //0 for Xi and 1 for Omega\r
49   Double_t fCascadeCuts[8]; // cuts for cascade selection\r
50   Int_t fMassBins;   // to configure FLOWCOMMON                               \r
51   Double_t fMinMass; // to configure FLOWCOMMON                               \r
52   Double_t fMaxMass; // to configure FLOWCOMMON\r
53   \r
54   AliFlowEventCuts *fCutsEvent; // event cuts \r
55   AliFlowTrackCuts *fCutsRPTPC;    // cuts for RPs\r
56   AliFlowTrackCuts *fCutsRPVZE;    // cuts for RPs\r
57   AliFlowTrackCuts *fCutsPOI; // null cuts for POI\r
58   AliFlowTrackCuts *fCutsDau; // cuts for daughters\r
59   AliPIDResponse *fPIDResponse;\r
60   AliFlowEvent  *fFlowEventTPC;  //flow event TPC                             \r
61   AliFlowEvent  *fFlowEventVZE;  //flow event VZE \r
62   TObjArray *fCandidates; // Array of selected candidates\r
63   TList *fQAList;               //! list for QA histos\r
64 \r
65  public:\r
66   AliAnalysisTaskFlowCascade();\r
67   AliAnalysisTaskFlowCascade(const char *name, \r
68                              AliFlowEventCuts *cutsEvent, \r
69                              AliFlowTrackCuts *cutsRPTPC,\r
70                              AliFlowTrackCuts *cutsRPVZE,\r
71                              /* AliESDtrackCuts */AliFlowTrackCuts *cutsDau);\r
72   //void SetDebug() {fDebug = true;}\r
73   void SetSpecie(int specie){fSpecie = specie;}\r
74   void SetCommonConstants(Int_t massBins, Double_t minMass, Double_t maxMass);\r
75   void SetCuts2010(int setOfCuts);\r
76   virtual ~AliAnalysisTaskFlowCascade();\r
77   virtual void UserCreateOutputObjects();\r
78   virtual void UserExec(Option_t *);\r
79   virtual void Terminate(Option_t *);\r
80   virtual void NotifyRun();\r
81   \r
82   ClassDef(AliAnalysisTaskFlowCascade, 2);\r
83 };\r
84 \r
85 #endif\r