ROOT logo
#ifndef ALIVZEROEPSELECTIONTASK_H
#define ALIVZEROEPSELECTIONTASK_H

/* Copyright(c) 1998-2008, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

//*****************************************************
//   Class AliVZEROEPSelectionTask
//   author: Cvetan Cheshkov
//   30/01/2012
//   This analysis task reads the OADB and
//   provides the parameters needed to flatten
//   the VZERO event plane in AliEventplane
//*****************************************************

#include "AliAnalysisTaskSE.h"

class TProfile;

class AliOADBContainer;
class AliEventplane;

class AliVZEROEPSelectionTask : public AliAnalysisTaskSE {

 public:
  AliVZEROEPSelectionTask();
  AliVZEROEPSelectionTask(const char *name);
  virtual ~AliVZEROEPSelectionTask();

  // Implementation of interface methods
  virtual void UserCreateOutputObjects();
  virtual void UserExec(Option_t *option);
  virtual void Terminate(Option_t *option);
  
  void SetUserParams(const char* inFileName, const char* listName);
  void UseVZEROCentrality() {fUseVZEROCentrality = kTRUE;}
  void SetEventplaneParams(AliEventplane *esdEP,Float_t percentile);  
 private:

  void SetHistograms(TList *list);
  void SetParamsFromOADB();
   
  AliVZEROEPSelectionTask(const AliVZEROEPSelectionTask& ep);
  AliVZEROEPSelectionTask& operator= (const AliVZEROEPSelectionTask& ep); 

  Int_t    fRunNumber;			// runnumber
  Bool_t   fUserParams;		        // in case one wants to use custom flatenning params
  Bool_t   fUseVZEROCentrality;         // use VZERO centrality estimator instead of SPD
  AliOADBContainer* fVZEROEPContainer;	// VZERO event-plane OADB Container

  TProfile *fX2In[11];                   // Profile histogram for Q^2_x (read from input file)
  TProfile *fY2In[11];                   // Profile histogram for Q^2_y (read from input file)
  TProfile *fX2Y2In[11];                 // Profile histogram for Q^2_x*Q^2_y (read from input file)
  TProfile *fCos8PsiIn[11];              // Profile histogram for Cos(8*Psi) (read from input file)

  ClassDef(AliVZEROEPSelectionTask,2) 
};

#endif

 AliVZEROEPSelectionTask.h:1
 AliVZEROEPSelectionTask.h:2
 AliVZEROEPSelectionTask.h:3
 AliVZEROEPSelectionTask.h:4
 AliVZEROEPSelectionTask.h:5
 AliVZEROEPSelectionTask.h:6
 AliVZEROEPSelectionTask.h:7
 AliVZEROEPSelectionTask.h:8
 AliVZEROEPSelectionTask.h:9
 AliVZEROEPSelectionTask.h:10
 AliVZEROEPSelectionTask.h:11
 AliVZEROEPSelectionTask.h:12
 AliVZEROEPSelectionTask.h:13
 AliVZEROEPSelectionTask.h:14
 AliVZEROEPSelectionTask.h:15
 AliVZEROEPSelectionTask.h:16
 AliVZEROEPSelectionTask.h:17
 AliVZEROEPSelectionTask.h:18
 AliVZEROEPSelectionTask.h:19
 AliVZEROEPSelectionTask.h:20
 AliVZEROEPSelectionTask.h:21
 AliVZEROEPSelectionTask.h:22
 AliVZEROEPSelectionTask.h:23
 AliVZEROEPSelectionTask.h:24
 AliVZEROEPSelectionTask.h:25
 AliVZEROEPSelectionTask.h:26
 AliVZEROEPSelectionTask.h:27
 AliVZEROEPSelectionTask.h:28
 AliVZEROEPSelectionTask.h:29
 AliVZEROEPSelectionTask.h:30
 AliVZEROEPSelectionTask.h:31
 AliVZEROEPSelectionTask.h:32
 AliVZEROEPSelectionTask.h:33
 AliVZEROEPSelectionTask.h:34
 AliVZEROEPSelectionTask.h:35
 AliVZEROEPSelectionTask.h:36
 AliVZEROEPSelectionTask.h:37
 AliVZEROEPSelectionTask.h:38
 AliVZEROEPSelectionTask.h:39
 AliVZEROEPSelectionTask.h:40
 AliVZEROEPSelectionTask.h:41
 AliVZEROEPSelectionTask.h:42
 AliVZEROEPSelectionTask.h:43
 AliVZEROEPSelectionTask.h:44
 AliVZEROEPSelectionTask.h:45
 AliVZEROEPSelectionTask.h:46
 AliVZEROEPSelectionTask.h:47
 AliVZEROEPSelectionTask.h:48
 AliVZEROEPSelectionTask.h:49
 AliVZEROEPSelectionTask.h:50
 AliVZEROEPSelectionTask.h:51
 AliVZEROEPSelectionTask.h:52
 AliVZEROEPSelectionTask.h:53
 AliVZEROEPSelectionTask.h:54
 AliVZEROEPSelectionTask.h:55
 AliVZEROEPSelectionTask.h:56
 AliVZEROEPSelectionTask.h:57
 AliVZEROEPSelectionTask.h:58
 AliVZEROEPSelectionTask.h:59
 AliVZEROEPSelectionTask.h:60