08-mar-2006 NvE Time offset correction in IceF2k extended to allow also a user define...
[u/mrichter/AliRoot.git] / FMD / AliFMDReconstructor.h
... / ...
CommitLineData
1#ifndef ALIFMDRECONSTRUCTOR_H
2#define ALIFMDRECONSTRUCTOR_H
3//
4// Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights
5// reserved.
6//
7// See cxx source for full Copyright notice
8//
9// AliFMDReconstructor.h
10// Task Class for making TreeR for FMD
11//
12//-- Authors: Evgeny Karpechev (INR) and Alla Maevskaia (INR)
13// Latest changes by Christian Holm Christensen <cholm@nbi.dk>
14/*
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
20 */
21/* $Id$ */
22
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
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 ROOT_TObjArray
36# include <TObjArray.h>
37#endif
38
39//____________________________________________________________________
40class TTree;
41class TClonesArray;
42class AliFMDDigit;
43class AliRawReader;
44class AliRunLoader;
45class AliESD;
46
47//____________________________________________________________________
48class AliFMDReconstructor: public AliReconstructor
49{
50public:
51 AliFMDReconstructor();
52 AliFMDReconstructor(const AliFMDReconstructor& other);
53 virtual ~AliFMDReconstructor();
54 AliFMDReconstructor& operator=(const AliFMDReconstructor& other);
55
56 virtual void Init(AliRunLoader* runLoader);
57 virtual Bool_t HasDigitConversion() const { return kTRUE; }
58 virtual void ConvertDigits(AliRawReader* reader, TTree* digitsTree) const;
59 virtual Bool_t HasLocalReconstruction() const { return kTRUE; }
60 virtual void Reconstruct(TTree* digitsTree, TTree* clusterTree) const;
61 virtual void FillESD(TTree* digitsTree, TTree* clusterTree,
62 AliESD* esd) const;
63 virtual void SetESD(AliESD* esd) { fESD = esd; }
64
65private:
66 void Reconstruct(AliRawReader*, TTree*) const;
67 void Reconstruct(AliRunLoader*) const;
68 void Reconstruct(AliRunLoader*, AliRawReader*) const;
69 void FillESD(AliRawReader*, TTree*, AliESD*) const;
70 void FillESD(AliRunLoader*, AliESD*) const;
71 void FillESD(AliRunLoader*, AliRawReader*, AliESD*) const;
72
73protected:
74 virtual void ProcessDigits(TClonesArray* digits) const;
75 virtual UShort_t SubtractPedestal(AliFMDDigit* digit) const;
76
77 TObjArray fAlgorithms; // Array of algorithms
78 Float_t fPedestal; // Pedestal to subtract
79 Float_t fPedestalWidth; // Width of pedestal
80 Float_t fPedestalFactor;// Number of pedestal widths
81 mutable Float_t fCurrentVertex; // Z-coordinate of primary vertex
82 AliESD* fESD;
83
84 ClassDef(AliFMDReconstructor, 0) // class for the FMD reconstruction
85};
86#endif
87//____________________________________________________________________
88//
89// Local Variables:
90// mode: C++
91// End:
92//
93// EOF
94//