]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG1/AliTrackComparisonESD.h
Adding EMCAL
[u/mrichter/AliRoot.git] / PWG1 / AliTrackComparisonESD.h
CommitLineData
bdf94dc3 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"
14class TGeoHMatrix;
15class AliEMCALGeometry;
16class AliESDEvent;
17class AliESDfriend;
18
19class AliESDtrack;
20class AliESDfriendTrack;
21class AliESDtrackCuts;
22
23class AliESDCaloCells;
53ae303f 24class AliCalorimeterUtils;
bdf94dc3 25
26class AliTrackComparison;
27
28class AliTrackComparisonESD:public AliAnalysisTask {
29public:
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;}
53ae303f 40 void SetOcdbPath(const char *path){fOcdbPath=path;}
41 TString GetOcdbPath(){return fOcdbPath;}
bdf94dc3 42
43 Bool_t SetupEvent();
44 void ProcessTOF(AliESDtrack *track, AliESDfriendTrack *friendTrack, Double_t *vPos);
53ae303f 45 void ProcessEMCAL(AliESDtrack *track, AliESDfriendTrack *friendTrack, TRefArray *clusters,AliESDCaloCells *cells, Double_t *vPos);
bdf94dc3 46 void ProcessHMPID(AliESDtrack *track, AliESDfriendTrack *friendTrack,Double_t *vPos);
47
48 TObjArray *GetComparisonOutput() {return fOutput;}
49
53ae303f 50 void InitCaloUtil();
51 void RecalClusterPos(TRefArray *clusters, AliESDCaloCells *cells);
52 void SetResidualCut(Double_t cutR) {fCutR=cutR;}
bdf94dc3 53
54protected:
55 virtual Long64_t Merge(TCollection *li);
56 virtual void Analyze();
57 void RegisterDebugOutput();
58private:
53ae303f 59 AliESDEvent *fESD; //! current esd
60 AliESDtrackCuts *fESDCuts; //! esd track cuts
61 AliESDfriend *fESDfriend; //! current esd friend
62 Int_t fCurrentRun; //Current run number
63 TString fDebugOutputPath; // debug output path
64 TString fOcdbPath;
bdf94dc3 65
53ae303f 66 TObjArray *fOutput; //Output array for fEMCAL,fHMPID,fTOF
67 AliTrackComparison *fEMCAL; // EMCAL track comparison
68 AliTrackComparison *fHMPID; //HMPID track comparison
69 AliTrackComparison *fTOF; // TOF track comparison
bdf94dc3 70 //
53ae303f 71 AliEMCALGeometry *fGeom; //EMCAL geometry for position calculation
72 Double_t fCutR; //Track residual cut
73
74 TGeoHMatrix *fTransMatrix[4]; //EMCal misalignment matrices
75 AliCalorimeterUtils *fCaloUtil; //EMCal utils to exclude bad cells
bdf94dc3 76
77 AliTrackComparisonESD(const AliTrackComparisonESD&);
78 AliTrackComparisonESD& operator=(const AliTrackComparisonESD&);
79
80
53ae303f 81 ClassDef(AliTrackComparisonESD,2)
bdf94dc3 82};
83
84#endif