Update from Carlos Perez: Strange flow updates
[u/mrichter/AliRoot.git] / PWG / FLOW / Tasks / AliAnalysisTaskFlowStrange.h
893d83c8 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
9/* Copyright(c) 1998-1999, ALICExperiment at CERN, All rights reserved. *\r
10* See cxx source for full Copyright notice */\r
11/* $Id: $ */\r
13#ifndef AliAnalysisTaskFlowStrange_H\r
14#define AliAnalysisTaskFlowStrange_H\r
16#include "AliAnalysisTaskSE.h"\r
18class TList;\r
19class TObjArray;\r
20class AliESDtrackCuts;\r
21class AliFlowEventCuts;\r
22class AliPIDResponse;\r
23class AliESDEvent;\r
24class AliAODEvent;\r
25class AliAODv0;\r
26class AliESDv0;\r
06fa848f 27class AliFlowBayesianPID;\r
893d83c8 28\r
29class AliAnalysisTaskFlowStrange : public AliAnalysisTaskSE {\r
30 public:\r
31 AliAnalysisTaskFlowStrange();\r
32 AliAnalysisTaskFlowStrange(const Char_t *name, AliFlowEventCuts *cutsEvent,\r
33 AliFlowTrackCuts *cutsRFPTPC, AliFlowTrackCuts *cutsRFPVZE,\r
34 AliESDtrackCuts *cutsDau);\r
35 virtual ~AliAnalysisTaskFlowStrange();\r
36 virtual void UserCreateOutputObjects();\r
06fa848f 37 virtual void Exec(Option_t*);\r
893d83c8 38 virtual void UserExec(Option_t *);\r
39 virtual void Terminate(Option_t *);\r
06fa848f 40 void MyUserExec(Option_t *);\r
893d83c8 41 void SetDebug() {fDebug = kTRUE;}\r
8d3e02c8 42 void SetQA(Bool_t qa) {fDoQA = qa;}\r
06fa848f 43 void SetCuts(Double_t cuts[11]);\r
44 void SetK0L0(Int_t specie) {fSpecie=specie;}\r
893d83c8 45 void SetCommonConstants(Int_t massBins, Double_t minMass, Double_t maxMass);\r
06fa848f 46 void SetMCmatch(Int_t match) {fMCmatch=match;}\r
8d3e02c8 47 void SetUseEventSelection(Bool_t value) {fUseEventSelection=value;}\r
893d83c8 48\r
49 private:\r
50 AliAnalysisTaskFlowStrange(const AliAnalysisTaskFlowStrange& analysisTask);\r
51 AliAnalysisTaskFlowStrange& operator=(const AliAnalysisTaskFlowStrange& analysisTask);\r
52 void AddQAEvents();\r
53 void AddQACandidates();\r
893d83c8 55 void ReadFromAODv0(AliAODEvent *tAOD);\r
893d83c8 56 Int_t PassesAODCuts(AliAODv0 *myV0, AliAODEvent *tAOD);\r
06fa848f 57 void ChargedParticleAnalysis(AliAODEvent *tAOD);\r
893d83c8 58 void AddCandidates();\r
59 void MakeTrack( Double_t mass, Double_t pt, Double_t phi,\r
60 Double_t eta, Int_t iid, Int_t jid );\r
61 AliPIDResponse *fPIDResponse; //! PID response object\r
06fa848f 62 AliFlowBayesianPID *fBayesianPID; //! Bayesian PID object\r
893d83c8 63 Bool_t fDebug; // true if we want to inspect the main steps of the task\r
8d3e02c8 64 Bool_t fUseEventSelection; // true if we want to use AliFlowEventCuts\r
65 Bool_t fDoQA; // true if we want to produce QA plots\r
66 Double_t fPsi2;// best estimation of Psi2\r
893d83c8 67 Int_t fSpecie; // K0=>0 L0=>1\r
06fa848f 68 Int_t fMCmatch; // for studies regarding background and efficiency\r
69 Double_t fV0Cuts[11]; // v0 cuts: dl dca ctp d0 d0d0 qt minEta maxEta PID ct dlxy\r
893d83c8 70 Int_t fMassBins; // to configure FLOWCOMMON\r
71 Double_t fMinMass; // to configure FLOWCOMMON\r
72 Double_t fMaxMass; // to configure FLOWCOMMON\r
73 AliFlowEventCuts *fCutsEvent; // event cuts\r
74 AliFlowTrackCuts *fCutsRFPTPC; // RFP cuts\r
75 AliFlowTrackCuts *fCutsRFPVZE; // RFP cuts\r
76 AliFlowTrackCuts* fCutsPOI; // POI cuts\r
77 AliESDtrackCuts *fCutsDau; // Track quality cuts for the daughters\r
78 AliFlowEvent *fFlowEventTPC; //flow event TPC\r
79 AliFlowEvent *fFlowEventVZE; //flow event VZE\r
80 TObjArray *fCandidates; // Array of selected candidates\r
82 TList *fQAList; // stores the final list of output histograms\r
8d3e02c8 84 ClassDef(AliAnalysisTaskFlowStrange, 4);\r
893d83c8 85};\r