AliRoot Core  ee782a0 (ee782a0)
AliEMCALTracker.h
Go to the documentation of this file.
1 //========================================================================
2 // Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved.
3 // See cxx source for full Copyright notice
4 //========================================================================
5 
6 //=========================================================================
26 //=========================================================================
27 
28 #ifndef ALIEMCALTRACKER_H
29 #define ALIEMCALTRACKER_H
30 
31 #include "AliTracker.h"
32 #include <TMath.h>
33 #include <TVector3.h>
34 class TList;
35 class TTree;
36 class TObjArray;
37 class AliESDEvent;
38 class AliVCluster;
39 class AliESDCaloCluster;
40 class AliEMCALRecPoint;
41 class AliEMCALGeometry;
42 
43 class AliEMCALTracker : public AliTracker
44 {
45  public:
49  virtual ~AliEMCALTracker() {Clear();}
50 
51  virtual void Clear(Option_t *option="ALL");
52 
53  virtual Int_t Clusters2Tracks(AliESDEvent*) { return -1 ; }
54 
55  void InitParameters();
56 
57  virtual Int_t LoadClusters(TTree*);
58  Int_t LoadClusters(AliESDEvent* esd);
59  Int_t LoadTracks (AliESDEvent* esd);
60  virtual Int_t PropagateBack(AliESDEvent* esd);
61  virtual Int_t RefitInward(AliESDEvent*) { return -1 ; }
62  virtual void UnloadClusters();
63 
64  virtual AliCluster* GetCluster (Int_t) const { return NULL ; }
65 
66  void SetCutEta (Double_t value) { fCutEta = value ; }
67  void SetCutPhi (Double_t value) { fCutPhi = value ; }
68  void SetCutPt (Double_t value) { fCutPt = value ; }
69  void SetCutNITS (Double_t value) { fCutNITS = value ; }
70  void SetCutNTPC (Double_t value) { fCutNTPC = value ; }
71  void SetTrackInITS(Bool_t value) { fTrackInITS = value ; }
72  void SetStepLength(Float_t length) { fStep = length; }
73 
74  void SetTrackCorrectionMode(Option_t *option);
77 
78  enum { kUnmatched = -99999 };
79 
80  //----------------------------------------------------------------------------
81  //----------------------------------------------------------------------------
82  class AliEMCALMatchCluster : public TObject
83  {
84  public:
85 
86  AliEMCALMatchCluster(Int_t ID, AliEMCALRecPoint *recPoint);
87  AliEMCALMatchCluster(Int_t ID, AliESDCaloCluster *caloCluster);
88  virtual ~AliEMCALMatchCluster() { }
89 
90  Int_t Index() const {return fIndex;}
91  Double_t X() const {return fX;}
92  Double_t Y() const {return fY;}
93  Double_t Z() const {return fZ;}
94 
95  private:
96  Int_t fIndex;
97  Double_t fX;
98  Double_t fY;
99  Double_t fZ;
100  };
101  //----------------------------------------------------------------------------
102  //----------------------------------------------------------------------------
103 
104  private:
105 
107 
108  enum ETrackCorr {
111  };
112 
113  Double_t fCutPt;
114  Double_t fCutNITS;
115  Double_t fCutNTPC;
116 
117  Float_t fStep;
120  Double_t fClusterWindow;
121  Double_t fCutEta;
122  Double_t fCutPhi;
123  Bool_t fITSTrackSA;
124  Bool_t fTrackInITS;
125 
128 
130 
132  ClassDef(AliEMCALTracker, 8) ;
134 
135 };
136 #endif
virtual ~AliEMCALTracker()
void SetGeometry(AliEMCALGeometry *geom)
Bool_t fTrackInITS
Requiere ITS refit with AliVTrack::kITSout.
Double_t fCutNITS
Minimum number of track hits in the ITS.
Float_t fEMCalSurfaceDistance
EMCal surface distance.
Double_t fX
Global X position.
#define TObjArray
Double_t fCutPhi
cut on phi difference
Use MeanMaterialBudget() function to evaluate correction.
Float_t fStep
Length of each step in propagation.
Steer EMCal-Track matching.
virtual Int_t LoadClusters(TTree *)
Bool_t fITSTrackSA
If no TPC, use ITS Tracks.
void SetCutNTPC(Double_t value)
Double_t fZ
Global Z position.
Double_t fCutNTPC
Minimum number of track hits in the TPC.
Do not correct for energy loss.
Double_t fY
Global Y position.
AliTPCfastTrack * track
Virtual class for calorimeter cluster data handling.
Definition: AliVCluster.h:20
ETrackCorr fTrackCorrMode
Material budget correction mode.
virtual Int_t RefitInward(AliESDEvent *)
AliEMCALTracker & operator=(const AliEMCALTracker &source)
TObjArray * fTracks
! Collection of tracks
virtual void Clear(Option_t *option="ALL")
void SetEMCalSurfaceDistance(Double_t d)
void SetCutEta(Double_t value)
Double_t fCutEta
cut on eta difference
TObjArray * fClusters
! Collection of EMCAL clusters (ESDCaloCluster or EMCALRecPoint)
Int_t fIndex
Index of cluster in its native container (ESD or TClonesArray)
void SetCutPhi(Double_t value)
virtual void UnloadClusters()
EMCal rec_points object.
Calorimeter cluster data container.
void SetCutPt(Double_t value)
virtual Int_t Clusters2Tracks(AliESDEvent *)
AliEMCALMatchCluster(Int_t ID, AliEMCALRecPoint *recPoint)
void SetStepLength(Float_t length)
void SetTrackInITS(Bool_t value)
Int_t FindMatchedCluster(AliESDtrack *track)
virtual Int_t PropagateBack(AliESDEvent *esd)
Int_t LoadTracks(AliESDEvent *esd)
AliEMCALGeometry * fGeom
! EMCAL geometry
Double_t fCutPt
Minimum pT cut on tracks.
TEveGeoShape * geom
Definition: tpc_tracks.C:10
virtual AliCluster * GetCluster(Int_t) const
EMCal geometry, singleton.
void SetCutNITS(Double_t value)
void SetTrackCorrectionMode(Option_t *option)
Double_t fClusterWindow
Select clusters in the window to be matched to tracks.