ROOT logo
// 
// Base class for classes that calculate the multiplicity in the
// SPD clusters event-by-event
// 
#ifndef ALICENTRALMCMULTIPLICITYTASK_H
#define ALICENTRALMCMULTIPLICITYTASK_H
/**
 * @file   AliCentralMCMultiplicityTask.h
 * @author Hans Hjersing Dalsgaard
 * @date   Wed Mar 23 14:00:03 2011
 * 
 * @brief  
 * 
 * @ingroup pwglf_forward_aod
 * 
 */
#include "AliCentralMultiplicityTask.h"
#include "AliSPDMCTrackDensity.h"
class AliESDEvent;
class AliMCEvent;

/** 
 * Class that calculates the multiplicity in the
 * central region event-by-event
 * 
 * @par Inputs: 
 *   - AliESDEvent 
 *
 * @par Outputs: 
 *   - 2 AliAODCentralMult (one from data and one from MC)
 * 
 * @par Histograms 
 *   
 * @par Corrections used 
 * 
 * @ingroup pwglf_forward_tasks
 * @ingroup pwglf_forward_aod
 * 
 */
class AliCentralMCMultiplicityTask : public AliCentralMultiplicityTask
{
public:
  /** 
   * @{ 
   * @name Interface methods 
   */
   /** 
   * Constructor 
   * 
   * @param name Name of task 
   */
  AliCentralMCMultiplicityTask(const char* name); 
  /** 
   * Constructor 
   *
   * Reserved for ROOT's I/O system - do not use
   */
  AliCentralMCMultiplicityTask();
  /** 
   * Create output objects 
   * 
   * 
   * @return true on success
   */
  virtual Bool_t Book();
  /** 
   * Creatre ouput objects
   * 
   * @param ah AOD output handler 
   */
  virtual void CreateBranches(AliAODHandler* ah);
  /** 
   * Set-up for data, called before first event 
   * 
   * @param v Vertex axis
   * @param e @f$\eta@f$ axis 
   * 
   * @return true on success
   */
  virtual Bool_t PreData(const TAxis& v, const TAxis& e);
  /** 
   * End of job
   * 
   * 
   * @return true on success
   */
  virtual Bool_t PreEvent();
  /** 
   * Process each event 
   *
   * @param esd ESD event
   *
   * @return true on success
   */  
  virtual Bool_t Event(AliESDEvent& esd);
  /** 
   * Print information 
   * 
   * @param option Not used
   */
  virtual void Print(Option_t* option="") const;
  /** 
   * Return the track density calculator 
   * 
   * @return Track density calculator 
   */
  const AliSPDMCTrackDensity& GetTrackDensity() const { return fTrackDensity; }
  /** 
   * Return the track density calculator 
   * 
   * @return Track density calculator 
   */
  AliSPDMCTrackDensity& GetTrackDensity() { return fTrackDensity; }

protected: 
  /** 
   * Copy constructor 
   * 
   * @param o Object to copy from 
   */
  AliCentralMCMultiplicityTask(const AliCentralMCMultiplicityTask& o);
  /** 
   * Assignment operator 
   * 
   * @param o Object to assign from 
   * 
   * @return Reference to this object 
   */
  AliCentralMCMultiplicityTask& operator=(const AliCentralMCMultiplicityTask&o);
  AliSPDMCTrackDensity   fTrackDensity;     // Calculate N_ch,incl from MC
  AliAODCentralMult      fAODMCCentral;     // Output object
  ClassDef(AliCentralMCMultiplicityTask,2)  // Forward multiplicity class
};

#endif
// Local Variables:
//  mode: C++
// End:

 AliCentralMCMultiplicityTask.h:1
 AliCentralMCMultiplicityTask.h:2
 AliCentralMCMultiplicityTask.h:3
 AliCentralMCMultiplicityTask.h:4
 AliCentralMCMultiplicityTask.h:5
 AliCentralMCMultiplicityTask.h:6
 AliCentralMCMultiplicityTask.h:7
 AliCentralMCMultiplicityTask.h:8
 AliCentralMCMultiplicityTask.h:9
 AliCentralMCMultiplicityTask.h:10
 AliCentralMCMultiplicityTask.h:11
 AliCentralMCMultiplicityTask.h:12
 AliCentralMCMultiplicityTask.h:13
 AliCentralMCMultiplicityTask.h:14
 AliCentralMCMultiplicityTask.h:15
 AliCentralMCMultiplicityTask.h:16
 AliCentralMCMultiplicityTask.h:17
 AliCentralMCMultiplicityTask.h:18
 AliCentralMCMultiplicityTask.h:19
 AliCentralMCMultiplicityTask.h:20
 AliCentralMCMultiplicityTask.h:21
 AliCentralMCMultiplicityTask.h:22
 AliCentralMCMultiplicityTask.h:23
 AliCentralMCMultiplicityTask.h:24
 AliCentralMCMultiplicityTask.h:25
 AliCentralMCMultiplicityTask.h:26
 AliCentralMCMultiplicityTask.h:27
 AliCentralMCMultiplicityTask.h:28
 AliCentralMCMultiplicityTask.h:29
 AliCentralMCMultiplicityTask.h:30
 AliCentralMCMultiplicityTask.h:31
 AliCentralMCMultiplicityTask.h:32
 AliCentralMCMultiplicityTask.h:33
 AliCentralMCMultiplicityTask.h:34
 AliCentralMCMultiplicityTask.h:35
 AliCentralMCMultiplicityTask.h:36
 AliCentralMCMultiplicityTask.h:37
 AliCentralMCMultiplicityTask.h:38
 AliCentralMCMultiplicityTask.h:39
 AliCentralMCMultiplicityTask.h:40
 AliCentralMCMultiplicityTask.h:41
 AliCentralMCMultiplicityTask.h:42
 AliCentralMCMultiplicityTask.h:43
 AliCentralMCMultiplicityTask.h:44
 AliCentralMCMultiplicityTask.h:45
 AliCentralMCMultiplicityTask.h:46
 AliCentralMCMultiplicityTask.h:47
 AliCentralMCMultiplicityTask.h:48
 AliCentralMCMultiplicityTask.h:49
 AliCentralMCMultiplicityTask.h:50
 AliCentralMCMultiplicityTask.h:51
 AliCentralMCMultiplicityTask.h:52
 AliCentralMCMultiplicityTask.h:53
 AliCentralMCMultiplicityTask.h:54
 AliCentralMCMultiplicityTask.h:55
 AliCentralMCMultiplicityTask.h:56
 AliCentralMCMultiplicityTask.h:57
 AliCentralMCMultiplicityTask.h:58
 AliCentralMCMultiplicityTask.h:59
 AliCentralMCMultiplicityTask.h:60
 AliCentralMCMultiplicityTask.h:61
 AliCentralMCMultiplicityTask.h:62
 AliCentralMCMultiplicityTask.h:63
 AliCentralMCMultiplicityTask.h:64
 AliCentralMCMultiplicityTask.h:65
 AliCentralMCMultiplicityTask.h:66
 AliCentralMCMultiplicityTask.h:67
 AliCentralMCMultiplicityTask.h:68
 AliCentralMCMultiplicityTask.h:69
 AliCentralMCMultiplicityTask.h:70
 AliCentralMCMultiplicityTask.h:71
 AliCentralMCMultiplicityTask.h:72
 AliCentralMCMultiplicityTask.h:73
 AliCentralMCMultiplicityTask.h:74
 AliCentralMCMultiplicityTask.h:75
 AliCentralMCMultiplicityTask.h:76
 AliCentralMCMultiplicityTask.h:77
 AliCentralMCMultiplicityTask.h:78
 AliCentralMCMultiplicityTask.h:79
 AliCentralMCMultiplicityTask.h:80
 AliCentralMCMultiplicityTask.h:81
 AliCentralMCMultiplicityTask.h:82
 AliCentralMCMultiplicityTask.h:83
 AliCentralMCMultiplicityTask.h:84
 AliCentralMCMultiplicityTask.h:85
 AliCentralMCMultiplicityTask.h:86
 AliCentralMCMultiplicityTask.h:87
 AliCentralMCMultiplicityTask.h:88
 AliCentralMCMultiplicityTask.h:89
 AliCentralMCMultiplicityTask.h:90
 AliCentralMCMultiplicityTask.h:91
 AliCentralMCMultiplicityTask.h:92
 AliCentralMCMultiplicityTask.h:93
 AliCentralMCMultiplicityTask.h:94
 AliCentralMCMultiplicityTask.h:95
 AliCentralMCMultiplicityTask.h:96
 AliCentralMCMultiplicityTask.h:97
 AliCentralMCMultiplicityTask.h:98
 AliCentralMCMultiplicityTask.h:99
 AliCentralMCMultiplicityTask.h:100
 AliCentralMCMultiplicityTask.h:101
 AliCentralMCMultiplicityTask.h:102
 AliCentralMCMultiplicityTask.h:103
 AliCentralMCMultiplicityTask.h:104
 AliCentralMCMultiplicityTask.h:105
 AliCentralMCMultiplicityTask.h:106
 AliCentralMCMultiplicityTask.h:107
 AliCentralMCMultiplicityTask.h:108
 AliCentralMCMultiplicityTask.h:109
 AliCentralMCMultiplicityTask.h:110
 AliCentralMCMultiplicityTask.h:111
 AliCentralMCMultiplicityTask.h:112
 AliCentralMCMultiplicityTask.h:113
 AliCentralMCMultiplicityTask.h:114
 AliCentralMCMultiplicityTask.h:115
 AliCentralMCMultiplicityTask.h:116
 AliCentralMCMultiplicityTask.h:117
 AliCentralMCMultiplicityTask.h:118
 AliCentralMCMultiplicityTask.h:119
 AliCentralMCMultiplicityTask.h:120
 AliCentralMCMultiplicityTask.h:121
 AliCentralMCMultiplicityTask.h:122
 AliCentralMCMultiplicityTask.h:123
 AliCentralMCMultiplicityTask.h:124
 AliCentralMCMultiplicityTask.h:125
 AliCentralMCMultiplicityTask.h:126
 AliCentralMCMultiplicityTask.h:127
 AliCentralMCMultiplicityTask.h:128
 AliCentralMCMultiplicityTask.h:129
 AliCentralMCMultiplicityTask.h:130
 AliCentralMCMultiplicityTask.h:131
 AliCentralMCMultiplicityTask.h:132
 AliCentralMCMultiplicityTask.h:133
 AliCentralMCMultiplicityTask.h:134
 AliCentralMCMultiplicityTask.h:135
 AliCentralMCMultiplicityTask.h:136
 AliCentralMCMultiplicityTask.h:137
 AliCentralMCMultiplicityTask.h:138
 AliCentralMCMultiplicityTask.h:139