More code clean up.
[u/mrichter/AliRoot.git] / PWG2 / FORWARD / analysis2 / AliFMDMCDensityCalculator.h
1 #ifndef ALIROOT_PWG2_FORWARD_ANALYSIS2_ALIFMDMCDENSITYCALCULATOR_H
2 #define ALIROOT_PWG2_FORWARD_ANALYSIS2_ALIFMDMCDENSITYCALCULATOR_H
3 #include "AliFMDDensityCalculator.h"
4 #include <TList.h>
5 #include "AliForwardUtil.h"
6 class AliMCEvent;
7 class TH2D;
8 class TH1D;
9
10 /** 
11  * This class calculates the inclusive charged particle density
12  * in each for the 5 FMD rings based on the MC truth.
13  *
14  * @par Input:
15  *   - AliMCEvent  MC truth event infromation
16  *
17  * @par Output:
18  *   - None
19  *
20  * @par Corrections used: 
21  *   - None
22  *
23  * @ingroup pwg2_forward_analysis 
24  */
25 class AliFMDMCDensityCalculator : public AliFMDDensityCalculator
26 {
27 public:
28   /** 
29    * Constructor 
30    */
31   AliFMDMCDensityCalculator() : AliFMDDensityCalculator() {}
32   /** 
33    * Constructor 
34    * 
35    * @param name Name of object
36    */
37   AliFMDMCDensityCalculator(const char* name) 
38    : AliFMDDensityCalculator(name)
39   {}
40   /** 
41    * Copy constructor 
42    * 
43    * @param o Object to copy from 
44    */
45   AliFMDMCDensityCalculator(const AliFMDMCDensityCalculator& o)
46    : AliFMDDensityCalculator(o) 
47   {}
48   /** 
49    * Destructor 
50    */
51   virtual ~AliFMDMCDensityCalculator() {}
52   /** 
53    * Assignement operator
54    * 
55    * @param o Object to assign from 
56    * 
57    * @return Reference to this object
58    */
59   AliFMDMCDensityCalculator& operator=(const AliFMDMCDensityCalculator&);
60   /** 
61    * Do the calculations 
62    * 
63    * @param fmd      AliESDFMD object (possibly) corrected for sharing
64    * @param hists    Histogram cache
65    * @param vtxBin   Vertex bin 
66    * @param lowFlux  Low flux flag. 
67    * 
68    * @return true on successs 
69    */
70   virtual Bool_t Calculate(const AliESDFMD& fmd, 
71                            AliForwardUtil::Histos& hists, 
72                            UShort_t vtxBin, Bool_t lowFlux);
73   /** 
74    * Calculate the charged particle density from the MC track references. 
75    * 
76    * @param event  MC event
77    * @param hists  Histograms to fill
78    * @param vz     Interaction z coordinate @f$ v_z@f$
79    * @param vtxBin bin corresponding to @f$ v_z@f$
80    * 
81    * @return true on success
82    */
83   virtual Bool_t CalculateMC(const AliMCEvent& event, 
84                              AliForwardUtil::Histos& hists, 
85                              Double_t vz,
86                              UShort_t vtxBin);                       
87 protected:
88
89   ClassDef(AliFMDMCDensityCalculator,1); // Calculate Nch density 
90 };
91
92 #endif
93 // Local Variables:
94 //   mode: C++
95 // End:
96