]>
Commit | Line | Data |
---|---|---|
8f1cfb0c | 1 | #ifndef ALIFMDRECONSTRUCTOR_H |
2 | #define ALIFMDRECONSTRUCTOR_H | |
4347b38f | 3 | // |
4 | // Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights | |
5 | // reserved. | |
6 | // | |
121a60bd | 7 | // See cxx source for full Copyright notice |
4347b38f | 8 | // |
121a60bd | 9 | // AliFMDReconstructor.h |
4347b38f | 10 | // Task Class for making TreeR for FMD |
11 | // | |
121a60bd | 12 | //-- Authors: Evgeny Karpechev (INR) and Alla Maevskaia (INR) |
4347b38f | 13 | // Latest changes by Christian Holm Christensen <cholm@nbi.dk> |
121a60bd | 14 | /* |
4347b38f | 15 | Reconstruct nember of particles in given group of pads for given |
16 | FMDvolume determine by numberOfVolume , | |
17 | numberOfMinSector,numberOfMaxSector, numberOfMinRing, | |
18 | numberOfMaxRing Reconstruction method choose dependence on number | |
19 | of empty pads | |
121a60bd | 20 | */ |
21 | /* $Id$ */ | |
8f1cfb0c | 22 | |
42403906 | 23 | //____________________________________________________________________ |
24 | // | |
25 | // Class to do reconstruction of events based on the FMD data. The | |
26 | // class will do two kinds of reconstruction, one based on energy | |
27 | // deposition, and one using hit patterns. | |
28 | // | |
29 | ||
0d0e6995 | 30 | // Header guards in the header files speeds up the compilation |
31 | // considerably. Please leave them in. | |
32 | #ifndef ALIRECONSTRUCTOR_H | |
33 | # include <AliReconstructor.h> | |
34 | #endif | |
35 | #ifndef ALIFMDMAP_H | |
36 | # include <AliFMDMap.h> | |
37 | #endif | |
121a60bd | 38 | |
4347b38f | 39 | //____________________________________________________________________ |
40 | class TClonesArray; | |
41 | class AliFMD; | |
42 | class AliLoader; | |
43 | class AliRunLoader; | |
44 | class AliFMDDigit; | |
45 | class AliRawReader; | |
46 | typedef AliFMDMap<UShort_t> AliFMDAdcMap; | |
121a60bd | 47 | |
48 | ||
4347b38f | 49 | //____________________________________________________________________ |
121a60bd | 50 | class AliFMDReconstructor: public AliReconstructor |
51 | { | |
4347b38f | 52 | public: |
53 | AliFMDReconstructor(); | |
42403906 | 54 | AliFMDReconstructor(const AliFMDReconstructor& other); |
4347b38f | 55 | virtual ~AliFMDReconstructor() {} |
42403906 | 56 | AliFMDReconstructor& operator=(const AliFMDReconstructor& other); |
4347b38f | 57 | |
58 | void SetDeltaEta(Float_t deta=.1) { fDeltaEta = deta; } | |
59 | void SetDeltaPhi(Float_t dphi=360) { fDeltaPhi = dphi; } | |
60 | void SetThreshold(UShort_t t=6) { fThreshold = t; } | |
61 | void SetPedestal(Float_t mean=10, Float_t width=1); | |
62 | ||
63 | virtual void Reconstruct(AliRunLoader* runLoader) const; | |
64 | virtual void Reconstruct(AliRunLoader* runLoader, | |
65 | AliRawReader* rawReader) const; | |
66 | virtual void FillESD(AliRunLoader* runLoader, AliESD* esd) const; | |
67 | ||
68 | protected: | |
69 | virtual void ProcessEvent(Int_t event, | |
70 | AliRawReader* rawReader, | |
71 | TClonesArray* digits) const; | |
72 | virtual Bool_t ReadAdcs(TClonesArray* digits) const; | |
73 | virtual Bool_t ReadAdcs(AliRawReader* rawReader) const; | |
74 | virtual void ProcessDigit(AliFMDDigit* digit) const; | |
75 | virtual UShort_t SubtractPedestal(AliFMDDigit* digit) const; | |
76 | virtual void ReconstructFromCache(Float_t zVertex) const; | |
42403906 | 77 | |
78 | mutable AliFMDAdcMap fAdcs; // Cached ADC values | |
79 | mutable AliRunLoader* fRunLoader; // Run loader | |
80 | mutable AliLoader* fFMDLoader; // FMD specific loader | |
81 | mutable TClonesArray* fParticles; // Array of particles | |
82 | mutable AliFMD* fFMD; // Pointer to FMD manager | |
83 | ||
84 | Float_t fDeltaEta; // Bin size in eta | |
85 | Float_t fDeltaPhi; // Bin size in phi | |
86 | UShort_t fThreshold; // Threshold for Poisson recon. | |
87 | Float_t fPedestal; // Pedestal to subtract | |
88 | Float_t fPedestalWidth; // Width of pedestal | |
89 | mutable Int_t fEmptyStrips; // Number of empty strips | |
90 | mutable Int_t fTotalStrips; // Total number of strips | |
91 | ||
92 | enum { | |
93 | kMaxDetectors = 3, // Maximum number of sub-det. | |
94 | kMaxRings = 2, // Maximum number of rings | |
95 | kMaxSectors = 40, // Maximum number of sectors | |
96 | kMaxStrips = 512 // Maximum number of strips | |
97 | }; | |
98 | ||
121a60bd | 99 | ClassDef(AliFMDReconstructor, 0) // class for the FMD reconstruction |
121a60bd | 100 | }; |
101 | #endif | |
4347b38f | 102 | //____________________________________________________________________ |
103 | // | |
0d0e6995 | 104 | // Local Variables: |
105 | // mode: C++ | |
106 | // End: | |
107 | // | |
4347b38f | 108 | // EOF |
109 | // |