2 // See implementation or Doxygen comments for more information
4 #ifndef ALIAODCENTRALMULT_H
5 #define ALIAODCENTRALMULT_H
7 * @file AliAODCentralMult.h
8 * @author Hans Hjersing Dalsgaard
9 * @date Wed Mar 23 13:57:24 2011
13 * @ingroup pwglf_forward_aod
20 * Class that contains the central multiplicity data per event
22 * This class contains a histogram of
24 * \frac{d^2N_{ch}}{d\eta d\phi}\quad,
26 * as well as a trigger mask for each analysed event.
28 * The eta acceptance of the event is stored in the underflow bins of
29 * the histogram. So to build the final histogram, one needs to
30 * correct for this acceptance (properly weighted by the events), and
31 * the vertex efficiency. This simply boils down to defining a 2D
32 * histogram and summing the event histograms in that histogram. One
33 * should of course also do proper book-keeping of the accepted event.
35 * @ingroup pwglf_forward
36 * @ingroup pwglf_forward_aod
38 class AliAODCentralMult : public TObject
42 * User bits of these objects (bits 14-23 can be used)
45 /** Secondary correction maps where applied */
46 kSecondary = (1 << 14),
47 /** Acceptance correction was applied */
48 kAcceptance = (1 << 16),
49 /** Used eta dependent empirical correction - to be implemented */
50 kEmpirical = (1 << 19)
55 * Used by ROOT I/O sub-system - do not use
61 * @param isMC Whether this was from MC or not
63 AliAODCentralMult(Bool_t isMC);
67 virtual ~AliAODCentralMult() {} // Destructor
71 * @param etaAxis Pseudo-rapidity axis
73 void Init(const TAxis& etaAxis);
75 * Get the @f$ d^2N_{ch}/d\eta d\phi@f$ histogram,
77 * @return @f$ d^2N_{ch}/d\eta d\phi@f$ histogram,
79 const TH2D& GetHistogram() const { return fHist; } // Get histogram
81 * Get the @f$ d^2N_{ch}/d\eta d\phi@f$ histogram,
83 * @return @f$ d^2N_{ch}/d\eta d\phi@f$ histogram,
85 TH2D& GetHistogram() { return fHist; } // Get histogram
87 * Clear Object between events
89 * @param opt option (not used)
92 void Clear(Option_t* opt);
98 void Browse(TBrowser* b);
102 * @return Always true
104 Bool_t IsFolder() const { return kTRUE; } // Always true
106 Bool_t IsSecondaryCorrected() const { return TestBit(kSecondary); }
107 Bool_t IsAcceptanceCorrected() const { return TestBit(kAcceptance); }
108 Bool_t IsEmpiricalCorrected() const { return TestBit(kEmpirical); }
112 * @param option Passed verbatim to TH2::Print
114 void Print(Option_t* option="") const;
117 * Get the name of the object
119 * @return Name of object
121 const Char_t* GetName() const { return (fIsMC ? "CentralClustersMC" : "CentralClusters"); }
124 /** Whether this is MC */
125 Bool_t fIsMC; // Whether this is from MC
126 /** Histogram of @f$d^2N_{ch}/(d\eta d\phi)@f$ for this event */
127 TH2D fHist; // Histogram of d^2N_{ch}/(deta dphi) for this event
129 ClassDef(AliAODCentralMult,2); // AOD forward multiplicity