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