]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/FLOW/Tasks/AliAnalysisTaskFlowStrange.h
added K0 and lambda analysis for use in train
[u/mrichter/AliRoot.git] / PWG / FLOW / Tasks / AliAnalysisTaskFlowStrange.h
1 /////////////////////////////////////////////////////\r
2 // AliAnalysisTaskFlowStrange:\r
3 // Analysis task to select K0/Lambda candidates for flow analysis.\r
4 // Authors: Cristian Ivan (civan@cern.ch)\r
5 //          Carlos Perez (cperez@cern.ch)\r
6 //          Pawel Debski (pdebski@cern.ch)\r
7 //////////////////////////////////////////////////////\r
8 \r
9 /* Copyright(c) 1998-1999, ALICExperiment at CERN, All rights reserved. *\r
10 * See cxx source for full Copyright notice */\r
11 /* $Id: $ */\r
12 \r
13 #ifndef AliAnalysisTaskFlowStrange_H\r
14 #define AliAnalysisTaskFlowStrange_H\r
15 \r
16 #include "AliAnalysisTaskSE.h"\r
17 \r
18 class TList;\r
19 class TObjArray;\r
20 class AliESDtrackCuts;\r
21 class AliFlowEventCuts;\r
22 class AliPIDResponse;\r
23 class AliESDEvent;\r
24 class AliAODEvent;\r
25 class AliAODv0;\r
26 class AliESDv0;\r
27 \r
28 class AliAnalysisTaskFlowStrange : public AliAnalysisTaskSE {\r
29   public:\r
30     AliAnalysisTaskFlowStrange();\r
31     AliAnalysisTaskFlowStrange(const Char_t *name, AliFlowEventCuts *cutsEvent,\r
32                                AliFlowTrackCuts *cutsRFPTPC, AliFlowTrackCuts *cutsRFPVZE,\r
33                                AliESDtrackCuts *cutsDau);\r
34     virtual ~AliAnalysisTaskFlowStrange();\r
35     virtual void UserCreateOutputObjects();\r
36     virtual void UserExec(Option_t *);\r
37     virtual void Terminate(Option_t *);\r
38     void SetDebug() {fDebug = kTRUE;}\r
39     void SetCuts2010(int setOfCuts);\r
40     void SetK0L0(int specie) {fSpecie=specie;}\r
41     void SetCommonConstants(Int_t massBins, Double_t minMass, Double_t maxMass);\r
42 \r
43   private:\r
44     AliAnalysisTaskFlowStrange(const AliAnalysisTaskFlowStrange& analysisTask);\r
45     AliAnalysisTaskFlowStrange& operator=(const AliAnalysisTaskFlowStrange& analysisTask);\r
46     void AddQAEvents();\r
47     void AddQACandidates();\r
48 \r
49     void ReadFromESDv0(AliESDEvent *tESD);\r
50     void ReadFromAODv0(AliAODEvent *tAOD);\r
51     Int_t PassesESDCuts(AliESDv0 *myV0, AliESDEvent *tESD);\r
52     Int_t PassesAODCuts(AliAODv0 *myV0, AliAODEvent *tAOD);\r
53     void AddCandidates();\r
54     void MakeTrack( Double_t mass, Double_t pt, Double_t phi,\r
55                     Double_t eta, Int_t iid, Int_t jid );\r
56     AliPIDResponse *fPIDResponse;     //! PID response object\r
57     Bool_t fDebug; // true if we want to inspect the main steps of the task\r
58     Int_t fSpecie; // K0=>0 L0=>1\r
59     Double_t fV0Cuts[9]; // v0 cuts: dl dca ctp d0 d0d0 qt minEta maxEta PID\r
60     Int_t fMassBins;   // to configure FLOWCOMMON\r
61     Double_t fMinMass; // to configure FLOWCOMMON\r
62     Double_t fMaxMass; // to configure FLOWCOMMON\r
63     AliFlowEventCuts *fCutsEvent; // event cuts\r
64     AliFlowTrackCuts *fCutsRFPTPC; // RFP cuts\r
65     AliFlowTrackCuts *fCutsRFPVZE; // RFP cuts\r
66     AliFlowTrackCuts* fCutsPOI; // POI cuts\r
67     AliESDtrackCuts  *fCutsDau; // Track quality cuts for the daughters\r
68     AliFlowEvent  *fFlowEventTPC;  //flow event TPC\r
69     AliFlowEvent  *fFlowEventVZE;  //flow event VZE\r
70     TObjArray *fCandidates; // Array of selected candidates\r
71 \r
72     TList *fQAList; // stores the final list of output histograms\r
73 \r
74   ClassDef(AliAnalysisTaskFlowStrange, 1);\r
75 };\r
76 \r
77 #endif\r