]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/FORWARD/analysis2/AliFMDCorrDoubleHit.h
Added MC master task
[u/mrichter/AliRoot.git] / PWG2 / FORWARD / analysis2 / AliFMDCorrDoubleHit.h
CommitLineData
0bd4b00f 1//
2// This class contains the secondary correction and the double hit
3// correction used in low-flux events.
4//
5#ifndef ALIROOT_PWG2_FORWARD_ANALYSIS_ALIFMDCORRDOUBLEHIT_H
6#define ALIROOT_PWG2_FORWARD_ANALYSIS_ALIFMDCORRDOUBLEHIT_H
7#include <TObject.h>
8#include <TObjArray.h>
9class TH1D;
10
11/**
12 * This class contains double hit correction used in low-flux events.
13 *
14 *
15 * The double hit correction is given by
16 * @f[
17 * h_{r}(\eta) = \frac{\sum_i N_{i,strips hit}(\eta)}{
18 * \sum_i N_{i,total hits}(\eta)}
19 * @f]
20 *
21 * where @f$ N_{i,strips hit}(\eta)@f$ is the number of strips in the
22 * @f$\eta@f$ bin that had one or more hits in event @f$i@f$, and
23 * @f$N_{i,total hits}(\eta)@f$ is the total number hits in the
24 * @f$\eta@f$ bin.
25 *
26 * These are generated from Monte-Carlo truth information.
27 *
28 * @ingroup pwg2_forward_corr
29 *
30 */
31class AliFMDCorrDoubleHit : public TObject
32{
33public:
34 /**
35 * Default constructor
36 */
37 AliFMDCorrDoubleHit();
38 /**
39 * Copy constructor
40 *
41 * @param o Object to copy from
42 */
43 AliFMDCorrDoubleHit(const AliFMDCorrDoubleHit& o);
44 /**
45 * Destructor
46 *
47 */
48 virtual ~AliFMDCorrDoubleHit();
49 /**
50 * Assignment operator
51 *
52 * @param o Object to assign from
53 *
54 * @return Reference to this object
55 */
56 AliFMDCorrDoubleHit& operator=(const AliFMDCorrDoubleHit& o);
57 /**
58 * @{
59 * @name Get corrections and parameters
60 */
61 /**
62 * Get the double hit correction @f$ h_{r}(\eta)@f$
63 *
64 * @param d Detector number
65 * @param r Ring identifier
66 *
67 * @return @f$ h_{r}(\eta)@f$
68 */
69 TH1D* GetCorrection(UShort_t d, Char_t r) const;
70 /* @} */
71
72 /**
73 * @{
74 * @name Set corrections and parameters
75 */
76 /**
77 * Set the double hit correction @f$ h_{r}(\eta)@f$. Note, that the
78 * object takes ownership of the passed pointer.
79 *
80 * @param d Detector number (1-3)
81 * @param r Ring identifier (I or O)
82 * @param h @f$ h_{r}(\eta)@f$
83 *
84 * @return true if operation succeeded
85 */
86 Bool_t SetCorrection(UShort_t d, Char_t r, TH1D* h);
87 /* @} */
88
89 /**
90 * @{
91 * @name Auxiliary member functions
92 */
93 /**
94 * Declare this as a folder
95 *
96 * @return Always true
97 */
98 Bool_t IsFolder() const { return true; }
99 /**
100 * Browse this object in the browser
101 *
102 * @param b
103 */
104 void Browse(TBrowser* b);
105 /**
106 * Print this object
107 *
108 * @param option
109 */
110 void Print(Option_t* option="R") const; //*MENU*
111 /* @} */
112protected:
113 /**
114 * Get the index corresponding to the given ring
115 *
116 * @param d Detector
117 * @param r Ring
118 *
119 * @return Index (0 based) or negative in case of errors
120 */
121 Int_t GetRingIndex(UShort_t d, Char_t r) const;
122
123 TObjArray fCorrections; // Array of per-ring double hit corr.
124 ClassDef(AliFMDCorrDoubleHit,1); //
125};
126#endif
127// Local Variables:
128// mode: C++
129// End: