]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/FORWARD/analysis2/AliFMDCorrDoubleHit.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGLF / 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//
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>
19class 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 */
41class AliFMDCorrDoubleHit : public TObject
42{
43public:
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 /* @} */
122protected:
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: