]>
Commit | Line | Data |
---|---|---|
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 | ||
28 | class TObject; | |
29 | class TH1; | |
30 | class TH1F; | |
31 | class TParticle; | |
32 | class TFile; | |
33 | class AliESDtrack; | |
34 | class AliESDEvent; | |
35 | class AliESDtrackCuts; | |
36 | class AliHMPIDCluster; | |
37 | class AliESDVertex; | |
38 | class AliCentrality; | |
39 | ||
40 | class 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 |