]>
Commit | Line | Data |
---|---|---|
0bd4b00f | 1 | // |
2 | // This class contains the secondary correction and the double hit | |
3 | // correction used in low-flux events. | |
4 | // | |
7984e5f7 | 5 | #ifndef ALIFMDCORRDOUBLEHIT_H |
6 | #define ALIFMDCORRDOUBLEHIT_H | |
0bd4b00f | 7 | #include <TObject.h> |
8 | #include <TObjArray.h> | |
9 | class 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 | */ | |
31 | class AliFMDCorrDoubleHit : public TObject | |
32 | { | |
33 | public: | |
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 | /* @} */ | |
112 | protected: | |
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: |