- Disentangle masks effect from trigger chamber efficiency estimation.
[u/mrichter/AliRoot.git] / MUON / AliMUONReconstructor.h
CommitLineData
cac2eb58 1#ifndef ALIMUONRECONSTRUCTOR_H
2#define ALIMUONRECONSTRUCTOR_H
22899106 3
cac2eb58 4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
22899106 5* See cxx source for full Copyright notice */
cac2eb58 6
22899106 7// $Id$
cac2eb58 8
692de412 9/// \ingroup rec
10/// \class AliMUONReconstructor
22899106 11/// \brief Implementation of AliReconstructor for MUON (both tracker and trigger)
12///
13// Author Laurent Aphecetche, Subatech
692de412 14
22899106 15#ifndef ALIRECONSTRUCTOR_H
16# include "AliReconstructor.h"
17#endif
cac2eb58 18
9ec6a948 19class AliMUONCalibrationData;
20class AliMUONDigitCalibrator;
2cf44ef3 21class AliMUONDigitMaker;
9c4b1ee7 22class AliMUONGeometryTransformer;
9ec6a948 23class AliMUONTracker;
24class AliMUONTriggerCircuit;
c5ce806f 25class AliMUONVClusterFinder;
c5ce806f 26class AliMUONVClusterServer;
9ec6a948 27class AliMUONVClusterStore;
28class AliMUONVDigitStore;
29class AliMUONVTrackStore;
30class AliMUONVTriggerStore;
00d46f24 31class AliMUONTriggerElectronics;
9ec6a948 32class TClonesArray;
d5315275 33class AliMUONTriggerUtilities;
c5ce806f 34
7e88424f 35#include "AliMUONRecoParam.h"
36
22899106 37class AliMUONReconstructor : public AliReconstructor
38{
39public:
40 AliMUONReconstructor();
41 virtual ~AliMUONReconstructor();
42
43 virtual Bool_t HasDigitConversion() const;
44
45 virtual void ConvertDigits(AliRawReader* rawReader, TTree* digitsTree) const;
46
22899106 47 virtual void Reconstruct(AliRawReader* rawReader, TTree* clustersTree) const;
48
49 virtual void Reconstruct(TTree* digitsTree, TTree* clustersTree) const;
50
d76c31f4 51 virtual AliTracker* CreateTracker() const;
3304fa09 52
ea49e931 53 /// Get param object
7e88424f 54 static const AliMUONRecoParam* GetRecoParam() { return dynamic_cast<const AliMUONRecoParam*>(AliReconstructor::GetRecoParam(7)); }
3304fa09 55
9bf6860b 56 static AliMUONVClusterFinder* CreateClusterFinder(const char* clusterFinderType);
57
22899106 58private:
59 /// Not implemented
60 AliMUONReconstructor(const AliMUONReconstructor&);
61 /// Not implemented
62 AliMUONReconstructor& operator=(const AliMUONReconstructor&);
63
64 void ConvertDigits(AliRawReader* rawReader,
65 AliMUONVDigitStore* digitStore,
66 AliMUONVTriggerStore* triggerStore) const;
67 void Calibrate(AliMUONVDigitStore& digitStore) const;
00d46f24 68 void CreateCalibrationData() const;
22899106 69 void CreateCalibrator() const;
70 void CreateDigitMaker() const;
71 void CreateTriggerCircuit() const;
d5315275 72 void CreateTriggerUtilities() const;
c5ce806f 73 void CreateClusterServer() const;
22899106 74 void FillTreeR(AliMUONVTriggerStore* triggerStore,
22899106 75 TTree& clustersTree) const;
76
77 AliMUONVDigitStore* DigitStore() const;
22899106 78 AliMUONVTriggerStore* TriggerStore() const;
00d46f24 79 void ResponseRemovingChambers(AliMUONVTriggerStore* triggerStore) const;
9bf6860b 80
22899106 81private:
92c23b09 82
22899106 83 mutable AliMUONDigitMaker* fDigitMaker; //!< Raw to Digits converter
84 AliMUONGeometryTransformer* fTransformer; //!< Geometry transformer (local<->global)
85 mutable AliMUONVDigitStore* fDigitStore; //!< Digit container
32ab62c9 86 mutable AliMUONTriggerCircuit* fTriggerCircuit; //!< Trigger Circuit
22899106 87 mutable AliMUONCalibrationData* fCalibrationData; //!< Calibration data
88 mutable AliMUONDigitCalibrator* fDigitCalibrator; //!< Digit to calibrate digit converter
c5ce806f 89 mutable AliMUONVClusterServer* fClusterServer; //!< Clusterizer
22899106 90 mutable AliMUONVTriggerStore* fTriggerStore; //!< Trigger container
91 mutable AliMUONVTrackStore* fTrackStore; //!< Track container
9ec6a948 92 mutable AliMUONVClusterStore* fClusterStore; //!< cluster store (when not in combined tracking mode)
00d46f24 93 mutable AliMUONTriggerElectronics* fTriggerProcessor; //!< Processor to recalculate trigger response
d5315275 94 mutable AliMUONTriggerUtilities* fTriggerUtilities; //!< Trigger utilities for masks
22899106 95
d5315275 96 ClassDef(AliMUONReconstructor,10) // Implementation of AliReconstructor
cac2eb58 97};
98
99#endif