]>
Commit | Line | Data |
---|---|---|
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 ALIHMPIDANALYSISTASK_H | |
23 | #define ALIHMPIDANALYSISTASK_H | |
24 | ||
25 | #include "AliAnalysisTaskSE.h" | |
26 | #include "AliStack.h" | |
27 | ||
28 | class TH1; | |
29 | class TParticle; | |
30 | class TFile; | |
31 | class AliESDtrack; | |
32 | class AliESDEvent; | |
33 | ||
34 | class AliHMPIDAnalysisTask : public AliAnalysisTaskSE { | |
35 | public: | |
36 | ||
37 | enum {kChamber = 7}; | |
38 | ||
39 | AliHMPIDAnalysisTask(); | |
40 | AliHMPIDAnalysisTask(const Char_t* name); | |
41 | AliHMPIDAnalysisTask& operator= (const AliHMPIDAnalysisTask& c); | |
42 | AliHMPIDAnalysisTask(const AliHMPIDAnalysisTask& c); | |
43 | virtual ~AliHMPIDAnalysisTask(); | |
44 | ||
45 | virtual void ConnectInputData(Option_t *); | |
46 | virtual void UserCreateOutputObjects(); | |
47 | virtual void UserExec(Option_t *option); | |
48 | virtual void Terminate(Option_t *); | |
49 | ||
50 | void SetUseMC(Bool_t useMC) { fUseMC = useMC; } | |
51 | Bool_t Equal(Double_t x, Double_t y, Double_t tolerance); | |
52 | ||
53 | protected: | |
54 | ||
55 | private: | |
56 | ||
57 | AliESDEvent *fESD; //! ESD object | |
58 | AliMCEvent *fMC; //! MC event | |
59 | ||
60 | Bool_t fUseMC; // decide whether use or not the MC information | |
61 | ||
62 | TList *fHmpHistList ; // list of histograms | |
63 | ||
64 | TH2F *fHmpPesdPhmp; // HMP momentum vs ESD momentum | |
65 | TH2F *fHmpCkovPesd; // Ckov angle vs ESD momentum | |
66 | TH2F *fHmpCkovPhmp; // Ckov angle vs HMP momenutm | |
67 | ||
68 | TH1F *fHmpMipTrkDist; // Track-Mip distance distribution | |
69 | TH1F *fHmpMipTrkDistX; // Xtrk - Xmip | |
70 | TH1F *fHmpMipTrkDistY; // Ytrk - Ymip | |
71 | TH1F *fHmpMipCharge3cm; // Mip charge with 3 cm distance cut | |
72 | TH1F *fHmpMipCharge1cm; // Mip charge with 1 cm distance cut | |
73 | TH1F *fHmpNumPhots; // Number of reconstructed photo-electrons | |
74 | TH1F *fHmpTrkFlags; // track flags | |
75 | ||
76 | Int_t fN1; // number of points for pi and K | |
77 | Int_t fN2; // number of point for p | |
78 | TH1F *fPionEff; // identified pions | |
79 | TH1F *fKaonEff; // identified kaons | |
80 | TH1F *fProtEff; // identified protons | |
81 | TH1I *fPionTot; // total pions | |
82 | TH1I *fKaonTot; // total kaons | |
83 | TH1I *fProtTot; // total protons | |
84 | TH1F *fPionNot; // non-pion tracks | |
85 | TH1F *fKaonNot; // non-kaon tracks | |
86 | TH1F *fProtNot; // non-proton tracks | |
87 | TH1I *fPionCon; // tracks identified as pions | |
88 | TH1I *fKaonCon; // tracks identified as kaons | |
89 | TH1I *fProtCon; // tracks identified as protons | |
90 | TH2F *fThetavsPiFromK; // theta chkov of pis from Ks | |
91 | TH2F *fThetapivsPesd; // theta chkov of pions vs Pesd | |
92 | TH2F *fThetaKvsPesd; // theta chkov of kaons vs Pesd | |
93 | TH2F *fThetaPvsPesd; // theta chkov of protons vs Pesd | |
94 | TH1I *fProtGen; // generated protons from MC | |
95 | TH1I *fPbarGen; // generated antiprotons from MC | |
96 | TH1I *fProtHmp; // protons into the HMPID | |
97 | TH1I *fPbarHmp; // antiprotons into the HMPID | |
98 | ||
99 | TTree *fTree; // tree with useful data for subsequent analysis | |
100 | Float_t fVar[28]; // array of data to fill the tree | |
101 | ||
102 | ClassDef(AliHMPIDAnalysisTask,4); | |
103 | }; | |
104 | ||
105 | #endif |