]>
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() {} |
732a24fe | 44 | virtual void Copy(TObject &obj) const; |
45 | ||
9da38871 | 46 | |
47 | void Clear(Option_t *option=""); | |
c05d076f | 48 | /** Get the pseudo-multiplicity of |
49 | @f$ \text{FMD}\langle detector\rangle\lange ring\rangle_{\langle | |
50 | sector\rangle\langle strip\rangle}@f$ | |
51 | @param detector Detector number (1-3) | |
52 | @param ring Ring identifier ('I' or 'O') | |
53 | @param sector Sector number (0-511, or 0-255) | |
54 | @param strip Strip number (0-19, or 0-39) | |
55 | @return Psuedo multiplicity */ | |
9da38871 | 56 | Float_t Multiplicity(UShort_t detector, Char_t ring, |
57 | UShort_t sector, UShort_t strip) const; | |
c05d076f | 58 | /** Get the pseudo-rapidity of |
59 | @f$ \text{FMD}\langle detector\rangle\lange ring\rangle_{\langle | |
60 | sector\rangle\langle strip\rangle}@f$ | |
61 | @param detector Detector number (1-3) | |
62 | @param ring Ring identifier ('I' or 'O') | |
63 | @param sector Sector number (0-511, or 0-255) | |
64 | @param strip Strip number (0-19, or 0-39) | |
65 | @return Psuedo rapidity */ | |
9da38871 | 66 | Float_t Eta(UShort_t detector, Char_t ring, |
67 | UShort_t sector, UShort_t strip) const; | |
c05d076f | 68 | /** Set the pseudo-multiplicity of |
69 | @f$ \text{FMD}\langle detector\rangle\lange ring\rangle_{\langle | |
70 | sector\rangle\langle strip\rangle}@f$ | |
71 | @param detector Detector number (1-3) | |
72 | @param ring Ring identifier ('I' or 'O') | |
73 | @param sector Sector number (0-511, or 0-255) | |
74 | @param strip Strip number (0-19, or 0-39) | |
75 | @param mult Psuedo multiplicity */ | |
9da38871 | 76 | void SetMultiplicity(UShort_t detector, Char_t ring, |
77 | UShort_t sector, UShort_t strip, | |
78 | Float_t mult); | |
c05d076f | 79 | /** Set the pseudo-rapidity of |
80 | @f$ \text{FMD}\langle detector\rangle\lange ring\rangle_{\langle | |
81 | sector\rangle\langle strip\rangle}@f$ | |
82 | @param detector Detector number (1-3) | |
83 | @param ring Ring identifier ('I' or 'O') | |
84 | @param sector Sector number (0-511, or 0-255) | |
85 | @param strip Strip number (0-19, or 0-39) | |
86 | @param eta Psuedo rapidity */ | |
9da38871 | 87 | void SetEta(UShort_t detector, Char_t ring, |
88 | UShort_t sector, UShort_t strip, | |
c05d076f | 89 | Float_t eta); |
90 | /** @param f the factor for noise suppression */ | |
91 | void SetNoiseFactor(Float_t f) { fNoiseFactor = f; } | |
92 | /** @param done Whether we've done angle correction or not */ | |
93 | void SetAngleCorrected(Bool_t done) { fAngleCorrected = done; } | |
94 | /** @return Whether we've done angle correction or not */ | |
e03121ec | 95 | Bool_t IsAngleCorrected() const { return fAngleCorrected; } |
c05d076f | 96 | /** @return the factor for noise suppression */ |
97 | Float_t GetNoiseFactor() const { return fNoiseFactor; } | |
98 | /** @return maximum number of detectors */ | |
9eeb02aa | 99 | UShort_t MaxDetectors() const { return fMultiplicity.MaxDetectors(); } |
c05d076f | 100 | /** @return maximum number of rings */ |
9eeb02aa | 101 | UShort_t MaxRings() const { return fMultiplicity.MaxRings(); } |
c05d076f | 102 | /** @return maximum number of sectors */ |
9eeb02aa | 103 | UShort_t MaxSectors() const { return fMultiplicity.MaxSectors(); } |
c05d076f | 104 | /** @return Maximum number of strips */ |
9eeb02aa | 105 | UShort_t MaxStrips() const { return fMultiplicity.MaxStrips(); } |
c05d076f | 106 | /** Print this object to standard out. |
107 | @param option Options */ | |
9da38871 | 108 | void Print(Option_t* option="") const; |
c05d076f | 109 | /** Check if we need the @c UShort_t fix |
110 | @param file File this object was read from */ | |
111 | void CheckNeedUShort(TFile* file); | |
9da38871 | 112 | enum { |
c05d076f | 113 | /** Value used for undefined multiplicity */ |
ae7aeb9f | 114 | kInvalidMult = 1024 |
9da38871 | 115 | }; |
116 | enum { | |
c05d076f | 117 | /** Value used for undefined pseudo rapidity */ |
ae7aeb9f | 118 | kInvalidEta = 1024 |
9da38871 | 119 | }; |
c05d076f | 120 | /** @return constant reference to multiplicity map */ |
121 | const AliFMDFloatMap& MultiplicityMap() const { return fMultiplicity; } | |
122 | /** @return constant reference to pseudo-rapidity map */ | |
123 | const AliFMDFloatMap& EtaMap() const { return fMultiplicity; } | |
9da38871 | 124 | protected: |
c05d076f | 125 | AliFMDFloatMap fMultiplicity; // Psuedo multplicity per strip |
126 | AliFMDFloatMap fEta; // Psuedo-rapidity per strip | |
127 | Float_t fNoiseFactor; // Factor used for noise suppresion | |
128 | Bool_t fAngleCorrected; // Whether we've done angle correction | |
129 | ClassDef(AliESDFMD,3) // ESD info from FMD | |
9da38871 | 130 | }; |
131 | #endif | |
132 | //____________________________________________________________________ | |
133 | // | |
134 | // Local Variables: | |
135 | // mode: C++ | |
136 | // End: | |
137 | // | |
138 | // EOF | |
139 | // |