ROOT logo
//
// Calculate the event plane in the forward regions using the FMD 
//
#ifndef ALIFMDEVENTPLANETASK_H
#define ALIFMDEVENTPLANETASK_H
/**
 * @file AliFMDEventPlaneTask.h
 * @author Alexander Hansen
 * @date   Tue Feb 21 2012
 * 
 * @brief
 * 
 * 
 * @ingroup pwglf_forward_flow
 */
#include "AliBaseAODTask.h"
#include "AliFMDEventPlaneFinder.h"
class AliAODForwardMult;
class TH1D;
class TH2D;

/**
 * Calculate the event plane in the forward regions using the FMD
 *
 * @par Inputs:
 *   - AliAODEvent
 *
 * Outputs:
 *   - AnalysisResults.root
 *
 * @ingroup pwglf_forward_tasks_flow
 * @ingroup pwglf_forward_flow
 *
 *
 */
class AliFMDEventPlaneTask : public AliBaseAODTask
{
public:
  /** 
   * Constructor 
   */
  AliFMDEventPlaneTask();
  /** 
   * Constructor
   * 
   * @param name Name of task 
   */
  AliFMDEventPlaneTask(const char* name);
  /**
   * Destructor
   */
  virtual ~AliFMDEventPlaneTask() {}
  /** 
   * @{ 
   * @name Task interface methods 
   */
  /** 
   * Create output objects 
   * 
   * @return true on success
   */
  virtual Bool_t Book();
  /** 
   * Process each event 
   *
   * @param aod AOD Event
   * 
   * @return true on success
   */  
  virtual Bool_t Event(AliAODEvent& aod);
  /** 
   * End of job
   * 
   * @return true on success
   */
  virtual Bool_t Finalize();
 /**
   * Get reference to the EventPlaneFinder algorithm 
   * 
   * @return Reference to AliFMDEventPlaneFinder object 
   */
  AliFMDEventPlaneFinder& GetEventPlaneFinder() { return fEventPlaneFinder; }
  /**
   * Get reference to the EventPlaneFinder algorithm 
   * 
   * @return Reference to AliFMDEventPlaneFinder object 
   */
  const AliFMDEventPlaneFinder& GetEventPlaneFinder() const { return fEventPlaneFinder; }
protected:
  /** 
   * Copy constructor 
   * 
   * @param o Object to copy from 
   */
  AliFMDEventPlaneTask(const AliFMDEventPlaneTask& o);
  /** 
   * Assignment operator 
   * 
   * @return Reference to this object 
   */
  AliFMDEventPlaneTask& operator=(const AliFMDEventPlaneTask&);

  AliFMDEventPlaneFinder  fEventPlaneFinder; //  Eventplane finder for the FMD
  TH1D*                   fHistVertexSel;    //  Diagnostics histogram

  ClassDef(AliFMDEventPlaneTask, 3); // Analysis task for FMD analysis
};
 
#endif
// Local Variables:
//   mode: C++ 
// End:
 AliFMDEventPlaneTask.h:1
 AliFMDEventPlaneTask.h:2
 AliFMDEventPlaneTask.h:3
 AliFMDEventPlaneTask.h:4
 AliFMDEventPlaneTask.h:5
 AliFMDEventPlaneTask.h:6
 AliFMDEventPlaneTask.h:7
 AliFMDEventPlaneTask.h:8
 AliFMDEventPlaneTask.h:9
 AliFMDEventPlaneTask.h:10
 AliFMDEventPlaneTask.h:11
 AliFMDEventPlaneTask.h:12
 AliFMDEventPlaneTask.h:13
 AliFMDEventPlaneTask.h:14
 AliFMDEventPlaneTask.h:15
 AliFMDEventPlaneTask.h:16
 AliFMDEventPlaneTask.h:17
 AliFMDEventPlaneTask.h:18
 AliFMDEventPlaneTask.h:19
 AliFMDEventPlaneTask.h:20
 AliFMDEventPlaneTask.h:21
 AliFMDEventPlaneTask.h:22
 AliFMDEventPlaneTask.h:23
 AliFMDEventPlaneTask.h:24
 AliFMDEventPlaneTask.h:25
 AliFMDEventPlaneTask.h:26
 AliFMDEventPlaneTask.h:27
 AliFMDEventPlaneTask.h:28
 AliFMDEventPlaneTask.h:29
 AliFMDEventPlaneTask.h:30
 AliFMDEventPlaneTask.h:31
 AliFMDEventPlaneTask.h:32
 AliFMDEventPlaneTask.h:33
 AliFMDEventPlaneTask.h:34
 AliFMDEventPlaneTask.h:35
 AliFMDEventPlaneTask.h:36
 AliFMDEventPlaneTask.h:37
 AliFMDEventPlaneTask.h:38
 AliFMDEventPlaneTask.h:39
 AliFMDEventPlaneTask.h:40
 AliFMDEventPlaneTask.h:41
 AliFMDEventPlaneTask.h:42
 AliFMDEventPlaneTask.h:43
 AliFMDEventPlaneTask.h:44
 AliFMDEventPlaneTask.h:45
 AliFMDEventPlaneTask.h:46
 AliFMDEventPlaneTask.h:47
 AliFMDEventPlaneTask.h:48
 AliFMDEventPlaneTask.h:49
 AliFMDEventPlaneTask.h:50
 AliFMDEventPlaneTask.h:51
 AliFMDEventPlaneTask.h:52
 AliFMDEventPlaneTask.h:53
 AliFMDEventPlaneTask.h:54
 AliFMDEventPlaneTask.h:55
 AliFMDEventPlaneTask.h:56
 AliFMDEventPlaneTask.h:57
 AliFMDEventPlaneTask.h:58
 AliFMDEventPlaneTask.h:59
 AliFMDEventPlaneTask.h:60
 AliFMDEventPlaneTask.h:61
 AliFMDEventPlaneTask.h:62
 AliFMDEventPlaneTask.h:63
 AliFMDEventPlaneTask.h:64
 AliFMDEventPlaneTask.h:65
 AliFMDEventPlaneTask.h:66
 AliFMDEventPlaneTask.h:67
 AliFMDEventPlaneTask.h:68
 AliFMDEventPlaneTask.h:69
 AliFMDEventPlaneTask.h:70
 AliFMDEventPlaneTask.h:71
 AliFMDEventPlaneTask.h:72
 AliFMDEventPlaneTask.h:73
 AliFMDEventPlaneTask.h:74
 AliFMDEventPlaneTask.h:75
 AliFMDEventPlaneTask.h:76
 AliFMDEventPlaneTask.h:77
 AliFMDEventPlaneTask.h:78
 AliFMDEventPlaneTask.h:79
 AliFMDEventPlaneTask.h:80
 AliFMDEventPlaneTask.h:81
 AliFMDEventPlaneTask.h:82
 AliFMDEventPlaneTask.h:83
 AliFMDEventPlaneTask.h:84
 AliFMDEventPlaneTask.h:85
 AliFMDEventPlaneTask.h:86
 AliFMDEventPlaneTask.h:87
 AliFMDEventPlaneTask.h:88
 AliFMDEventPlaneTask.h:89
 AliFMDEventPlaneTask.h:90
 AliFMDEventPlaneTask.h:91
 AliFMDEventPlaneTask.h:92
 AliFMDEventPlaneTask.h:93
 AliFMDEventPlaneTask.h:94
 AliFMDEventPlaneTask.h:95
 AliFMDEventPlaneTask.h:96
 AliFMDEventPlaneTask.h:97
 AliFMDEventPlaneTask.h:98
 AliFMDEventPlaneTask.h:99
 AliFMDEventPlaneTask.h:100
 AliFMDEventPlaneTask.h:101
 AliFMDEventPlaneTask.h:102
 AliFMDEventPlaneTask.h:103
 AliFMDEventPlaneTask.h:104
 AliFMDEventPlaneTask.h:105
 AliFMDEventPlaneTask.h:106
 AliFMDEventPlaneTask.h:107
 AliFMDEventPlaneTask.h:108
 AliFMDEventPlaneTask.h:109
 AliFMDEventPlaneTask.h:110
 AliFMDEventPlaneTask.h:111
 AliFMDEventPlaneTask.h:112