ROOT logo
//
// See implementation or Doxygen comments for more information
//
#ifndef ALIAODCENTRALMULT_H
#define ALIAODCENTRALMULT_H
/**
 * @file   AliAODCentralMult.h
 * @author Hans Hjersing Dalsgaard
 * @date   Wed Mar 23 13:57:24 2011
 * 
 * @brief  
 * 
 * @ingroup pwglf_forward_aod
 * 
 */
#include <TObject.h>
#include <TH2D.h>
class TBrowser;
/**
 * Class that contains the central multiplicity data per event 
 *
 * This class contains a histogram of 
 * @f[
 *   \frac{d^2N_{ch}}{d\eta d\phi}\quad,
 * @f]
 * as well as a trigger mask for each analysed event.  
 * 
 * The eta acceptance of the event is stored in the underflow bins of
 * the histogram.  So to build the final histogram, one needs to
 * correct for this acceptance (properly weighted by the events), and
 * the vertex efficiency.  This simply boils down to defining a 2D
 * histogram and summing the event histograms in that histogram.  One
 * should of course also do proper book-keeping of the accepted event.
 *
 * @ingroup pwglf_forward
 * @ingroup pwglf_forward_aod
 */
class AliAODCentralMult : public TObject
{
public:
  /** 
   * User bits of these objects (bits 14-23 can be used)
   */
  enum {
    /** Secondary correction maps where applied */
    kSecondary           = (1 << 14), 
    /** Acceptance correction was applied */
    kAcceptance          = (1 << 16), 
    /** Used eta dependent empirical correction - to be implemented */
    kEmpirical           = (1 << 19)
  };
  /** 
   * Default constructor 
   * 
   * Used by ROOT I/O sub-system - do not use
   */
  AliAODCentralMult();
  /** 
   * Constructor 
   * 
   * @param isMC Whether this was from MC or not 
   */
  AliAODCentralMult(Bool_t isMC);
  /** 
   * Destructor 
   */
  virtual ~AliAODCentralMult() {} // Destructor 
  /** 
   * Initialize 
   * 
   * @param etaAxis  Pseudo-rapidity axis
   */
  void Init(const TAxis& etaAxis);
  /** 
   * Get the @f$ d^2N_{ch}/d\eta d\phi@f$ histogram, 
   *
   * @return @f$ d^2N_{ch}/d\eta d\phi@f$ histogram, 
   */  
  const TH2D& GetHistogram() const { return fHist; } // Get histogram 
  /** 
   * Get the @f$ d^2N_{ch}/d\eta d\phi@f$ histogram, 
   *
   * @return @f$ d^2N_{ch}/d\eta d\phi@f$ histogram, 
   */  
  TH2D& GetHistogram() { return fHist; } // Get histogram 
  /**
   * Clear Object between events
   *
   * @param opt option (not used)
   *
   */
  void Clear(Option_t* opt);
  /** 
   * browse this object 
   * 
   * @param b Browser 
   */
  void Browse(TBrowser* b);
  /** 
   * This is a folder 
   * 
   * @return Always true
   */
  Bool_t IsFolder() const { return kTRUE; } // Always true 

  Bool_t IsSecondaryCorrected() const { return TestBit(kSecondary); }
  Bool_t IsAcceptanceCorrected() const { return TestBit(kAcceptance); }
  Bool_t IsEmpiricalCorrected() const { return TestBit(kEmpirical); }
  /** 
   * Print content 
   * 
   * @param option Passed verbatim to TH2::Print 
   */
  void Print(Option_t* option="") const;

  /** 
   * Get the name of the object 
   * 
   * @return Name of object 
   */
  const Char_t* GetName() const { return (fIsMC ? "CentralClustersMC" : "CentralClusters"); }

protected: 
  /** Whether this is MC */
  Bool_t  fIsMC;     // Whether this is from MC 
  /** Histogram of @f$d^2N_{ch}/(d\eta d\phi)@f$ for this event */
  TH2D    fHist;     // Histogram of d^2N_{ch}/(deta dphi) for this event
  
  ClassDef(AliAODCentralMult,2); // AOD forward multiplicity 
};

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

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