]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/AliESDFMD.h
Label for the ITS tracklets (Jan Fiete)
[u/mrichter/AliRoot.git] / STEER / AliESDFMD.h
CommitLineData
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 30class AliESDFMD : public TObject
31{
32public:
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 */
ae7aeb9f 112 kInvalidMult = 1024
9da38871 113 };
114 enum {
c05d076f 115 /** Value used for undefined pseudo rapidity */
ae7aeb9f 116 kInvalidEta = 1024
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 122protected:
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//