Installing GRP/CTP
[u/mrichter/AliRoot.git] / HMPID / AliHMPIDPerformanceTask.h
CommitLineData
c95f49f3 1/**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3 * *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
6 * *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
15
16//==============================================================================
17// AliHMPIDAnalysysTask - Class representing a basic analysis tool of HMPID data at
18// level of ESD.
19// A set of histograms is created.
20//==============================================================================
21
22#ifndef AliHMPIDPERFORMANCETASK_H
23#define AliHMPIDPERFORMANCETASK_H
24
25#include "AliAnalysisTaskSE.h"
26#include "AliStack.h"
27
28class TObject;
29class TH1;
30class TH1F;
31class TParticle;
32class TFile;
33class AliESDtrack;
34class AliESDEvent;
35class AliESDtrackCuts;
36class AliHMPIDCluster;
37class AliESDVertex;
38class AliCentrality;
39
40class AliHMPIDPerformanceTask : public AliAnalysisTaskSE {
41 public:
42
43 enum {kChamber = 7};
44 AliHMPIDPerformanceTask();
45 AliHMPIDPerformanceTask(const Char_t* name);
46 AliHMPIDPerformanceTask& operator= (const AliHMPIDPerformanceTask& c);
47 AliHMPIDPerformanceTask(const AliHMPIDPerformanceTask& c);
48 virtual ~AliHMPIDPerformanceTask();
49
50 virtual void ConnectInputData(Option_t *);
51 virtual void UserCreateOutputObjects();
52 virtual void UserExec(Option_t *option);
53 virtual void Terminate(Option_t *);
54
55 void SetUseMC(Bool_t useMC) { fUseMC = useMC; }
56 Bool_t Equal(Double_t x, Double_t y, Double_t tolerance);
57
58 protected:
59
60 private:
61
62 AliESDEvent *fESD; //! ESD object
63 AliESDfriend *fESDfriend; //! ESD Friend
64 AliESDtrackCuts *fEsdTrackCuts; //! ESD track cuts
65 AliHMPIDCluster* fClu; //! HMPID photon cluster
66 AliMCEvent *fMC; //! MC event
67 AliESDVertex *fEsdVtx; //! ESD Vertex
68 AliCentrality *fCentrality; //! Centrality
69 AliESDtrack *fEsdTrack; //! ESD track
70 AliESDfriendTrack *fEsdFriendTrack; //! ESD Friend track
71 TObject *fCalibObject; //! Calib object = clu from friend
72
73 Bool_t fUseMC; // decide whether use or not the MC information
74 TList *fHmpHistList ; // list of histograms
75 TH1F *fHmpNevents; // number of events processed
76 TH1I *fHmpNevPerTrigClass; // Number of events per offline trigger class
77 ULong64_t fGlobalEventNumber; // Global event number
78 Int_t fvType; // Tree input type 0; track 1; cluster
79 Char_t* fvFiredTriggerClasses; //fired trigger classes
80 Int_t fvRunNumber; // run number
81 Int_t fvBunchCrossNumber; // bunch crossing number
82 Int_t fvOrbitNumber; // orbit number
83 Int_t fvPeriodNumber; // period number
84 Double_t fvMagField; // magnetic field
85 Double_t fvVertexX; // vertex x coord
86 Double_t fvVertexY; // vertex y coord
87 Double_t fvVertexZ; // vertex z coord
88 Int_t fvVertexNContributors; // vertex number of contributors
89 Double_t fvPesd; // esd track momentum
90 Double_t fvPhmpMag; // hmp track momentum magnitude
91 Double_t fvPhmp[3]; // hmp track momentum
92 Double_t fvCentrality; // centrality percentile
93 Int_t fvAcceptedTracks; // Number of accepted tracks by AliESDtrackcuts
94 Int_t fvRefMultTpc; // Reference multiplicity by AliESDtrackcuts
95 Double_t fvHmpChi2; // hmp chi2
96 Int_t fvHmpCluIndx ; // hmp cluster index => chamber = cluidx%1000000/1000
97 Float_t fvHmpMipX; // hmp mip x
98 Float_t fvHmpMipY; // hmp mip y
99 Int_t fvHmpMipQ; // hmpid mip q
100 Int_t fvHmpMipNPhots; // hmp mip number of photons
101 Double_t fvHmpPid[5]; // hmp pid
102 Double_t fvHmpSignal ; // hmp signal
103 Float_t fvHmpTrkX; // hmp track x
104 Float_t fvHmpTrkY; // hmp track y
105 Float_t fvHmpTrkTheta; // hmp track theta
106 Float_t fvHmpTrkPhi; // hmp track phi
107 Double_t fvHmpCluQ; // hmp cluster q
108 Double_t fvHmpCluX; // hmp cluster x
109 Double_t fvHmpCluY; // hmp cluster y
110 Int_t fvHmpCluCh; // hmp cluster ch
111 Int_t fvHmpCluSize; // hmp cluster size
112 Int_t fvHmpCluBox; // hmp cluster box
113 Int_t fvHmpCluStatus; // hmp cluster status
114 Int_t fvEsdTrackAccepted; // esd track is accepted by track cuts or not
115 Int_t fvKinkIndex; // esd track kink index
116 Double_t fvTofSignal; // tof signal
117 TTree *fTree; // tree with useful data for subsequent analysis
118
119
120
121 ClassDef(AliHMPIDPerformanceTask,1);
122};
123
124#endif