Generation of dictionaries and rootmaps with Root6
[u/mrichter/AliRoot.git] / PWGPP / AliTrackComparisonESD.h
1 #ifndef ALITRACKCOMAPRISONESD_H
2 #define ALITRACKCOMAPRISONESD_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 ////
8 ////
9 ////
10
11 #include "AliAnalysisTask.h"
12 #include "TObjArray.h"
13 #include "TRefArray.h"
14 class TGeoHMatrix;
15 class AliEMCALGeometry;
16 class AliESDEvent;
17 class AliESDfriend;
18
19 class AliESDtrack;
20 class AliESDfriendTrack;
21 class AliESDtrackCuts;
22
23 class AliESDCaloCells;
24 class AliCalorimeterUtils;
25
26 class AliTrackComparison;
27
28 class AliTrackComparisonESD:public AliAnalysisTask {
29 public:
30   AliTrackComparisonESD();
31   AliTrackComparisonESD(const char *name);
32   virtual ~AliTrackComparisonESD();
33
34   virtual void ConnectInputData(Option_t *option);
35   virtual void CreateOutputObjects();
36   virtual void Exec(Option_t *option);
37   virtual void Terminate(Option_t *option);
38   virtual void FinishTaskOutput();
39   void         SetDebugOuputhPath(const char * name){fDebugOutputPath=name;}
40
41   Bool_t SetupEvent();
42   void ProcessTOF(AliESDtrack *track, AliESDfriendTrack *friendTrack, Double_t *vPos);
43   void ProcessEMCAL(AliESDtrack *track, AliESDfriendTrack *friendTrack, TRefArray *clusters,AliESDCaloCells *cells, Double_t *vPos);
44   void ProcessHMPID(AliESDtrack *track, AliESDfriendTrack *friendTrack,Double_t *vPos);
45
46   TObjArray *GetComparisonOutput() {return fOutput;}
47
48   void   InitCaloUtil();
49   void   RecalClusterPos(TRefArray *clusters, AliESDCaloCells *cells);
50   void   SetResidualCut(Double_t cutR) {fCutR=cutR;}
51
52 protected:
53   virtual Long64_t Merge(TCollection *li);
54   virtual void     Analyze();
55   void             RegisterDebugOutput();
56 private:
57   AliESDEvent *fESD;              //! current esd
58   AliESDtrackCuts *fESDCuts;      //! esd track cuts
59   AliESDfriend *fESDfriend;       //! current esd friend
60   Int_t fCurrentRun;              //Current run number
61   TString      fDebugOutputPath;  // debug output path
62   
63   TObjArray    *fOutput;          //Output array for fEMCAL,fHMPID,fTOF
64   AliTrackComparison *fEMCAL;     // EMCAL track comparison
65   AliTrackComparison *fHMPID;     //HMPID track comparison
66   AliTrackComparison *fTOF;       // TOF track comparison
67   //
68   AliEMCALGeometry *fGeom;        //EMCAL geometry for position calculation
69   Double_t  fCutR;                //Track residual cut
70
71   TGeoHMatrix *fTransMatrix[4];   //EMCal misalignment matrices
72   AliCalorimeterUtils *fCaloUtil; //EMCal utils to exclude bad cells
73
74   AliTrackComparisonESD(const AliTrackComparisonESD&);
75   AliTrackComparisonESD& operator=(const AliTrackComparisonESD&);
76
77
78   ClassDef(AliTrackComparisonESD,2)
79 };
80
81 #endif