AliRoot Core  ee782a0 (ee782a0)
AliEMCALReconstructor.h
Go to the documentation of this file.
1 #ifndef ALIEMCALRECONSTRUCTOR_H
2 #define ALIEMCALRECONSTRUCTOR_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice */
5 
6 //_________________________________________________________________________
26 
27 // --- ROOT system ---
28 class TClonesArray;
29 class TTree;
30 
31 // --- AliRoot header files ---
32 #include "AliReconstructor.h"
33 #include "AliEMCALTracker.h"
34 #include "AliEMCALRecParam.h"
35 
36 class AliEMCALDigitizer ;
37 class AliEMCALClusterizer ;
38 class AliEMCALSDigitizer ;
39 class AliEMCALRecParam;
40 class AliESDEvent ;
41 class AliRawReader ;
42 class AliEMCALRawUtils;
43 class AliEMCALGeometry;
44 class AliEMCALCalibData ;
45 class AliEMCALCalibTime ;
49 class AliESDCalofriend;
50 
52 
53  public:
54 
55  AliEMCALReconstructor() ; //ctor
56 
57  virtual ~AliEMCALReconstructor() ; //dtor
58 
59  virtual void Init();
60 
61  virtual void InitClusterizer() const;
62 
64 
65  virtual void FillESD(TTree* digitsTree, TTree* clustersTree, AliESDEvent* esd) const;
66 
67  AliTracker* CreateTracker () const {return new AliEMCALTracker;}
68 
70 
71  virtual void Reconstruct(TTree* digitsTree, TTree* clustersTree) const ;
72 
73  virtual Bool_t HasDigitConversion() const {return kTRUE;};
74 
75  virtual void ConvertDigits(AliRawReader* rawReader, TTree* digitsTree) const;
76 
77  static void SetRecParam(AliEMCALRecParam * recParam){ fgkRecParam = recParam;}
78 
79  void ReadDigitsArrayFromTree(TTree *digitsTree) const;
80 
81  static const AliEMCALRecParam* GetRecParam() {
82  return dynamic_cast<const AliEMCALRecParam*>(AliReconstructor::GetRecoParam(6)); }
83 
84  static TClonesArray* GetDigitsArr() {return fgDigitsArr;}
85 
86  void FillMisalMatrixes(AliESDEvent* esd)const ;
87 
88  //
89  // New class used to sort the matched tracks
90  //
91  class AliEMCALMatch : public TObject
92  {
93  public:
94  AliEMCALMatch();
95  AliEMCALMatch(const AliEMCALMatch& copy);
96  AliEMCALMatch& operator = (const AliEMCALMatch& source) ;
97  virtual ~AliEMCALMatch() { }
98  //----------------------------------------------------------------------------
99  Int_t Compare(const TObject *obj) const;
100  Bool_t IsSortable() const {return kTRUE;}
101  Double_t GetDistance() const {return fDistance;}
102  Double_t GetdEta() const {return fdEta;}
103  Double_t GetdPhi() const {return fdPhi;}
104  Int_t GetIndexT() const {return fIndexT;}
105  void SetIndexT(Int_t itr) {fIndexT=itr;}
106  void SetDistance(Double_t dist) {fDistance=dist;}
107  void SetdEta(Double_t dEta) {fdEta=dEta;}
108  void SetdPhi(Double_t dPhi) {fdPhi=dPhi;}
109 
110  private:
111 
112  Int_t fIndexT;
113  Double_t fDistance;
114  Double_t fdEta;
115  Double_t fdPhi;
116  };
117 
118  Bool_t CalculateResidual(AliESDtrack *track, AliESDCaloCluster *cluster, Float_t &dEta, Float_t &dPhi) const;
119 
120  protected:
121  void InitTriggerElectronics() const;
122  private:
123 
126 
130 
132  static TClonesArray * fgDigitsArr; //->
133 
135  static TObjArray * fgClustersArr; //->
136 
138  static TClonesArray * fgTriggerDigits; //->
139 
140  // OCDB
145 
146  //Trigger specific
148  static TClonesArray *fgTriggerData;
149 
150  //Track matching
151  TList * fMatches;
152 
153 protected:
155 
157  ClassDef(AliEMCALReconstructor,15) ; // Reconstruction algorithm class (Base Class)
159 
160 };
161 
162 #endif // ALIEMCALRECONSTRUCTOR_H
163 
AliEMCALCalibData * fCalibData
! Access to OCDB energy calibration database if available
AliTracker * CreateTracker() const
static TClonesArray * GetDigitsArr()
virtual void FillESD(TTree *digitsTree, TTree *clustersTree, AliESDEvent *esd) const
void InitTriggerElectronics() const
Init the fgTriggerProcessor.
TList * fMatches
! Collection of matches between tracks and clusters
Bool_t CalculateResidual(AliESDtrack *track, AliESDCaloCluster *cluster, Float_t &dEta, Float_t &dPhi) const
static AliEMCALClusterizer * fgClusterizer
Access to the clusterization tools.
#define TObjArray
virtual void FillESD(TTree *digitsTree, TTree *clustersTree, AliESDEvent *esd) const
AliEMCALMatch & operator=(const AliEMCALMatch &source)
static const AliEMCALRecParam * GetRecParam()
static const AliDetectorRecoParam * GetRecoParam(Int_t iDet)
virtual void ConvertDigits(AliRawReader *rawReader, TTree *digitsTree) const
Steer EMCal-Track matching.
virtual void Reconstruct(TTree *digitsTree, TTree *clustersTree) const
static TObjArray * fgClustersArr
Temporary array with clusters, to be reused in the event.
Double_t fDistance
Track - cluster distance.
Double_t fdEta
Track - cluster residual in eta.
static TClonesArray * fgDigitsArr
Temporary array with digits, to be reused in the event.
static const AliEMCALRecParam * fgkRecParam
Access to OCDB reconstruction parameters.
AliESDCalofriend * fESDCalofriend
Cell energy calibration factors container class.
AliCaloCalibPedestal * fPedestalData
! Access to OCDB tower status database if available
AliTPCfastTrack * track
Container of reconstruction parameters.
EMCal trigger electronics manager L0/L1.
Int_t Compare(const TObject *obj) const
virtual void Reconstruct(TTree *digitsTree, TTree *clustersTree) const
virtual void InitClusterizer() const
void ReadDigitsArrayFromTree(TTree *digitsTree) const
Int_t fIndexT
Track index in &#39;fTracks&#39; array.
EMCal digitization maker.
AliEMCALCalibTime * fCalibTime
! Access to OCDB time calibration database if available
virtual Bool_t HasDigitConversion() const
Cell time shifts container class.
EMCal summable digits maker.
AliEMCALGeometry * fGeom
Not implemented.
Calorimeter cluster data container.
pedestal/bad map monitoring and calibration tools
static TClonesArray * fgTriggerDigits
Temporary array with trigger digits, to be reused in the event.
static AliEMCALRawUtils * fgRawUtils
Access to raw fitting tools.
static TClonesArray * fgTriggerData
Trigger parameters data container.
Handling of raw data.
void dPhi()
Definition: CalibAlign.C:462
void FillMisalMatrixes(AliESDEvent *esd) const
static void SetRecParam(AliEMCALRecParam *recParam)
Double_t fdPhi
Track - cluster residual in phi.
EMCal geometry, singleton.
Base class for the clusterization algorithm (pure abstract)
Wrapping class for EMCal reconstruction.
static AliEMCALTriggerElectronics * fgTriggerProcessor
Trigger preprocessor.