The revisited SPD cluster analysis in the new AOD framework and the corrections for...
[u/mrichter/AliRoot.git] / PWG2 / FORWARD / analysis2 / AliAODCentralMult.h
1 //
2 // See implementation or Doxygen comments for more information
3 //
4 #ifndef ALIAODCENTRALMULT_H
5 #define ALIAODCENTRALMULT_H
6 #include <TObject.h>
7 #include <TH2D.h>
8 class TBrowser;
9 /**
10  * Class that contains the central multiplicity data per event 
11  *
12  * This class contains a histogram of 
13  * @f[
14  *   \frac{d^2N_{ch}}{d\eta d\phi}\quad,
15  * @f]
16  * as well as a trigger mask for each analysed event.  
17  * 
18  * The eta acceptance of the event is stored in the underflow bins of
19  * the histogram.  So to build the final histogram, one needs to
20  * correct for this acceptance (properly weighted by the events), and
21  * the vertex efficiency.  This simply boils down to defining a 2D
22  * histogram and summing the event histograms in that histogram.  One
23  * should of course also do proper book-keeping of the accepted event.
24  */
25
26 class AliAODCentralMult : public TObject
27 {
28 public:
29   
30   /** 
31    * Default constructor 
32    * 
33    * Used by ROOT I/O sub-system - do not use
34    */
35   AliAODCentralMult();
36   /** 
37    * Constructor 
38    * 
39    * @param isMC Whether this was from MC or not 
40    */
41   AliAODCentralMult(Bool_t isMC);
42   /** 
43    * Destructor 
44    */
45   virtual ~AliAODCentralMult() {} // Destructor 
46   /** 
47    * Initialize 
48    * 
49    * @param etaAxis  Pseudo-rapidity axis
50    */
51   void Init(const TAxis& etaAxis);
52   /** 
53    * Get the @f$ d^2N_{ch}/d\eta d\phi@f$ histogram, 
54    *
55    * @return @f$ d^2N_{ch}/d\eta d\phi@f$ histogram, 
56    */  
57   const TH2D& GetHistogram() const { return fHist; } // Get histogram 
58   /** 
59    * Get the @f$ d^2N_{ch}/d\eta d\phi@f$ histogram, 
60    *
61    * @return @f$ d^2N_{ch}/d\eta d\phi@f$ histogram, 
62    */  
63   TH2D& GetHistogram() { return fHist; } // Get histogram 
64   /**
65    * Clear Object between events
66    * @param t option
67    *
68    */
69   void Clear(Option_t*);
70   /** 
71    * browse this object 
72    * 
73    * @param b Browser 
74    */
75   void Browse(TBrowser* b);
76   /** 
77    * This is a folder 
78    * 
79    * @return Always true
80    */
81   Bool_t IsFolder() const { return kTRUE; } // Always true 
82   /** 
83    * Print content 
84    * 
85    * @param option Passed verbatim to TH2::Print 
86    */
87   void Print(Option_t* option="") const;
88
89   /** 
90    * Get the name of the object 
91    * 
92    * @return Name of object 
93    */
94   const Char_t* GetName() const { return (fIsMC ? "CentralClustersMC" : "CentralClusters"); }
95
96 protected: 
97   Bool_t  fIsMC;     // Whether this is from MC 
98   TH2D    fHist;     // Histogram of d^2N_{ch}/(deta dphi) for this event
99   
100   ClassDef(AliAODCentralMult,1); // AOD forward multiplicity 
101 };
102
103 #endif
104 // Local Variables:
105 //  mode: C++
106 // End:
107