]>
Commit | Line | Data |
---|---|---|
ac07a8f5 | 1 | #ifndef ALIESDFMD_H |
2 | #define ALIESDFMD_H | |
9da38871 | 3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights |
4 | * reserved. | |
5 | * | |
6 | * See cxx source for full Copyright notice | |
7 | */ | |
8 | //___________________________________________________________________ | |
9 | // | |
10 | // AliESDFMD is the Event Summary Data entry for the FMD. It contains | |
11 | // a rough estimate of the charged particle multiplicity in each strip | |
12 | // of the FMD. It also contains the psuedo-rapidity of each strip. | |
13 | // This is important, as it varies from event to event, due to a | |
14 | // finite interaction point probability distribution. | |
15 | // | |
16 | #ifndef ROOT_TObject | |
17 | # include <TObject.h> | |
18 | #endif | |
19 | #ifndef ALIFMDFLOATMAP_H | |
d65adc48 | 20 | # include "AliFMDFloatMap.h" |
9da38871 | 21 | #endif |
22 | ||
23 | //___________________________________________________________________ | |
c05d076f | 24 | /** @class AliESDFMD |
25 | @brief Event Summary Data for the Forward Multiplicity Detector. | |
26 | @ingroup FMD_data | |
27 | This stores the psuedo-multiplicity and -rapidiy for each strip of | |
28 | the FMD. | |
29 | */ | |
9da38871 | 30 | class AliESDFMD : public TObject |
31 | { | |
32 | public: | |
c05d076f | 33 | /** Default constructor */ |
9da38871 | 34 | AliESDFMD(); |
c05d076f | 35 | /** Copy constructor |
36 | @param other Object to construct from */ | |
9da38871 | 37 | AliESDFMD(const AliESDFMD& other); |
c05d076f | 38 | /** Assignment operator |
39 | @param other Object to assign from | |
40 | @return reference to this object */ | |
9da38871 | 41 | AliESDFMD& operator=(const AliESDFMD& other); |
c05d076f | 42 | /** Destructor - does nothing */ |
9da38871 | 43 | virtual ~AliESDFMD() {} |
44 | ||
45 | void Clear(Option_t *option=""); | |
c05d076f | 46 | /** Get the pseudo-multiplicity of |
47 | @f$ \text{FMD}\langle detector\rangle\lange ring\rangle_{\langle | |
48 | sector\rangle\langle strip\rangle}@f$ | |
49 | @param detector Detector number (1-3) | |
50 | @param ring Ring identifier ('I' or 'O') | |
51 | @param sector Sector number (0-511, or 0-255) | |
52 | @param strip Strip number (0-19, or 0-39) | |
53 | @return Psuedo multiplicity */ | |
9da38871 | 54 | Float_t Multiplicity(UShort_t detector, Char_t ring, |
55 | UShort_t sector, UShort_t strip) const; | |
c05d076f | 56 | /** Get the pseudo-rapidity of |
57 | @f$ \text{FMD}\langle detector\rangle\lange ring\rangle_{\langle | |
58 | sector\rangle\langle strip\rangle}@f$ | |
59 | @param detector Detector number (1-3) | |
60 | @param ring Ring identifier ('I' or 'O') | |
61 | @param sector Sector number (0-511, or 0-255) | |
62 | @param strip Strip number (0-19, or 0-39) | |
63 | @return Psuedo rapidity */ | |
9da38871 | 64 | Float_t Eta(UShort_t detector, Char_t ring, |
65 | UShort_t sector, UShort_t strip) const; | |
c05d076f | 66 | /** Set the pseudo-multiplicity of |
67 | @f$ \text{FMD}\langle detector\rangle\lange ring\rangle_{\langle | |
68 | sector\rangle\langle strip\rangle}@f$ | |
69 | @param detector Detector number (1-3) | |
70 | @param ring Ring identifier ('I' or 'O') | |
71 | @param sector Sector number (0-511, or 0-255) | |
72 | @param strip Strip number (0-19, or 0-39) | |
73 | @param mult Psuedo multiplicity */ | |
9da38871 | 74 | void SetMultiplicity(UShort_t detector, Char_t ring, |
75 | UShort_t sector, UShort_t strip, | |
76 | Float_t mult); | |
c05d076f | 77 | /** Set the pseudo-rapidity of |
78 | @f$ \text{FMD}\langle detector\rangle\lange ring\rangle_{\langle | |
79 | sector\rangle\langle strip\rangle}@f$ | |
80 | @param detector Detector number (1-3) | |
81 | @param ring Ring identifier ('I' or 'O') | |
82 | @param sector Sector number (0-511, or 0-255) | |
83 | @param strip Strip number (0-19, or 0-39) | |
84 | @param eta Psuedo rapidity */ | |
9da38871 | 85 | void SetEta(UShort_t detector, Char_t ring, |
86 | UShort_t sector, UShort_t strip, | |
c05d076f | 87 | Float_t eta); |
88 | /** @param f the factor for noise suppression */ | |
89 | void SetNoiseFactor(Float_t f) { fNoiseFactor = f; } | |
90 | /** @param done Whether we've done angle correction or not */ | |
91 | void SetAngleCorrected(Bool_t done) { fAngleCorrected = done; } | |
92 | /** @return Whether we've done angle correction or not */ | |
e03121ec | 93 | Bool_t IsAngleCorrected() const { return fAngleCorrected; } |
c05d076f | 94 | /** @return the factor for noise suppression */ |
95 | Float_t GetNoiseFactor() const { return fNoiseFactor; } | |
96 | /** @return maximum number of detectors */ | |
9eeb02aa | 97 | UShort_t MaxDetectors() const { return fMultiplicity.MaxDetectors(); } |
c05d076f | 98 | /** @return maximum number of rings */ |
9eeb02aa | 99 | UShort_t MaxRings() const { return fMultiplicity.MaxRings(); } |
c05d076f | 100 | /** @return maximum number of sectors */ |
9eeb02aa | 101 | UShort_t MaxSectors() const { return fMultiplicity.MaxSectors(); } |
c05d076f | 102 | /** @return Maximum number of strips */ |
9eeb02aa | 103 | UShort_t MaxStrips() const { return fMultiplicity.MaxStrips(); } |
c05d076f | 104 | /** Print this object to standard out. |
105 | @param option Options */ | |
9da38871 | 106 | void Print(Option_t* option="") const; |
c05d076f | 107 | /** Check if we need the @c UShort_t fix |
108 | @param file File this object was read from */ | |
109 | void CheckNeedUShort(TFile* file); | |
9da38871 | 110 | enum { |
c05d076f | 111 | /** Value used for undefined multiplicity */ |
4f036e6e | 112 | kInvalidMult = 0 |
9da38871 | 113 | }; |
114 | enum { | |
c05d076f | 115 | /** Value used for undefined pseudo rapidity */ |
4f036e6e | 116 | kInvalidEta = 0 |
9da38871 | 117 | }; |
c05d076f | 118 | /** @return constant reference to multiplicity map */ |
119 | const AliFMDFloatMap& MultiplicityMap() const { return fMultiplicity; } | |
120 | /** @return constant reference to pseudo-rapidity map */ | |
121 | const AliFMDFloatMap& EtaMap() const { return fMultiplicity; } | |
9da38871 | 122 | protected: |
c05d076f | 123 | AliFMDFloatMap fMultiplicity; // Psuedo multplicity per strip |
124 | AliFMDFloatMap fEta; // Psuedo-rapidity per strip | |
125 | Float_t fNoiseFactor; // Factor used for noise suppresion | |
126 | Bool_t fAngleCorrected; // Whether we've done angle correction | |
127 | ClassDef(AliESDFMD,3) // ESD info from FMD | |
9da38871 | 128 | }; |
129 | #endif | |
130 | //____________________________________________________________________ | |
131 | // | |
132 | // Local Variables: | |
133 | // mode: C++ | |
134 | // End: | |
135 | // | |
136 | // EOF | |
137 | // |