1 #ifndef ALIFMDRECONSTRUCTOR_H
2 #define ALIFMDRECONSTRUCTOR_H
4 // Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights
7 // See cxx source for full Copyright notice
9 // AliFMDReconstructor.h
10 // Task Class for making TreeR for FMD
12 //-- Authors: Evgeny Karpechev (INR) and Alla Maevskaia (INR)
13 // Latest changes by Christian Holm Christensen <cholm@nbi.dk>
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
23 //____________________________________________________________________
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.
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>
35 #ifndef ROOT_TObjArray
36 # include <TObjArray.h>
38 // #ifndef ALIFMDUSHORTMAP_H
39 // # include <AliFMDUShortMap.h>
42 //____________________________________________________________________
50 // typedef AliFMDUShortMap AliFMDAdcMap;
53 //____________________________________________________________________
54 class AliFMDReconstructor: public AliReconstructor
57 AliFMDReconstructor();
58 AliFMDReconstructor(const AliFMDReconstructor& other);
59 virtual ~AliFMDReconstructor() {}
60 AliFMDReconstructor& operator=(const AliFMDReconstructor& other);
62 void SetDeltaEta(Float_t deta=.1) { fDeltaEta = deta; }
63 void SetDeltaPhi(Float_t dphi=360) { fDeltaPhi = dphi; }
64 void SetThreshold(UShort_t t=6) { fThreshold = t; }
65 void SetPedestal(Float_t mean=10, Float_t width=1, Float_t f=3);
67 virtual void Reconstruct(AliRunLoader* runLoader) const;
68 virtual void Reconstruct(AliRunLoader* runLoader,
69 AliRawReader* rawReader) const;
70 virtual void FillESD(AliRunLoader* runLoader, AliESD* esd) const;
73 virtual void ProcessEvent(Int_t event,
74 AliRawReader* rawReader) const;
75 virtual void ProcessDigits(TClonesArray* digits) const;
76 virtual UShort_t SubtractPedestal(AliFMDDigit* digit) const;
77 virtual void ReconstructFromCache() const;
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
84 TObjArray fAlgorithms; // Array of algorithms
85 Float_t fDeltaEta; // Bin size in eta
86 Float_t fDeltaPhi; // Bin size in phi
87 UShort_t fThreshold; // Threshold for Poisson recon.
88 Float_t fPedestal; // Pedestal to subtract
89 Float_t fPedestalWidth; // Width of pedestal
90 Float_t fPedestalFactor;// Number of pedestal widths
91 mutable Int_t fEmptyStrips; // Number of empty strips
92 mutable Int_t fTotalStrips; // Total number of strips
93 mutable Float_t fCurrentVertex; // Z-coordinate of primary vertex
96 kMaxDetectors = 3, // Maximum number of sub-det.
97 kMaxRings = 2, // Maximum number of rings
98 kMaxSectors = 40, // Maximum number of sectors
99 kMaxStrips = 512 // Maximum number of strips
102 ClassDef(AliFMDReconstructor, 0) // class for the FMD reconstruction
105 //____________________________________________________________________