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