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>
36 //____________________________________________________________________
45 //____________________________________________________________________
46 class AliFMDReconstructor: public AliReconstructor
49 AliFMDReconstructor();
50 AliFMDReconstructor(const AliFMDReconstructor& other);
51 virtual ~AliFMDReconstructor();
52 AliFMDReconstructor& operator=(const AliFMDReconstructor& other);
54 virtual void Init(AliRunLoader* runLoader);
55 virtual Bool_t HasDigitConversion() const { return kTRUE; }
56 virtual void ConvertDigits(AliRawReader* reader, TTree* digitsTree) const;
57 virtual Bool_t HasLocalReconstruction() const { return kTRUE; }
58 virtual void Reconstruct(TTree* digitsTree, TTree* clusterTree) const;
59 virtual void FillESD(TTree* digitsTree, TTree* clusterTree,
61 virtual void SetESD(AliESD* esd) { fESD = esd; }
64 void Reconstruct(AliRawReader*, TTree*) const;
65 void Reconstruct(AliRunLoader*) const;
66 void Reconstruct(AliRunLoader*, AliRawReader*) const;
67 void FillESD(AliRawReader*, TTree*, AliESD*) const;
68 void FillESD(AliRunLoader*, AliESD*) const;
69 void FillESD(AliRunLoader*, AliRawReader*, AliESD*) const;
72 virtual void ProcessDigits(TClonesArray* digits) const;
73 virtual UShort_t SubtractPedestal(AliFMDDigit* digit) const;
74 virtual Float_t Adc2Energy(AliFMDDigit* digit, Float_t eta,
75 UShort_t count) const;
76 virtual Float_t Energy2Multiplicity(AliFMDDigit* digit, Float_t edep) const;
77 virtual void PhysicalCoordinates(AliFMDDigit* digit, Float_t& eta,
80 mutable TClonesArray* fMult; // Cache of RecPoints
81 mutable Int_t fNMult; // Number of entries in fMult
82 mutable TTree* fTreeR; // Output tree
83 mutable Float_t fCurrentVertex; // Z-coordinate of primary vertex
84 mutable AliESDFMD* fESDObj; // ESD output object
87 ClassDef(AliFMDReconstructor, 0) // class for the FMD reconstruction
90 //____________________________________________________________________