1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
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 **************************************************************************/
16 //==============================================================================
17 // AliHMPIDAnalysysTask - Class representing a basic analysis tool of HMPID data at
19 // A set of histograms is created.
20 //==============================================================================
22 #ifndef ALIHMPIDANALYSISTASK_H
23 #define ALIHMPIDANALYSISTASK_H
25 #include "AliAnalysisTaskSE.h"
34 class AliHMPIDAnalysisTask : public AliAnalysisTaskSE {
39 AliHMPIDAnalysisTask();
40 AliHMPIDAnalysisTask(const Char_t* name);
41 AliHMPIDAnalysisTask& operator= (const AliHMPIDAnalysisTask& c);
42 AliHMPIDAnalysisTask(const AliHMPIDAnalysisTask& c);
43 virtual ~AliHMPIDAnalysisTask();
45 virtual void ConnectInputData(Option_t *);
46 virtual void UserCreateOutputObjects();
47 virtual void UserExec(Option_t *option);
48 virtual void Terminate(Option_t *);
50 void SetUseMC(Bool_t useMC) { fUseMC = useMC; }
51 Bool_t Equal(Double_t x, Double_t y, Double_t tolerance);
57 void SetTrigger(Int_t trigger) {fTrigger = trigger;}
58 AliESDEvent *fESD; //! ESD object
59 AliMCEvent *fMC; //! MC event
61 Bool_t fUseMC; // decide whether use or not the MC information
63 TList *fHmpHistList ; // list of histograms
64 Int_t fNevts ; // event numbering
65 Int_t fTrigNevts ; // event numbering with the requested trigger
66 Int_t fTrigger ; // requested trigger
68 TH2F *fHmpPesdPhmp; // HMP momentum vs ESD momentum
69 TH2F *fHmpCkovPesd; // Ckov angle vs ESD momentum
70 TH2F *fHmpCkovPhmp; // Ckov angle vs HMP momenutm
72 TH1F *fHmpMipTrkDist; // Track-Mip distance distribution
73 TH1F *fHmpMipTrkDistX; // Xtrk - Xmip
74 TH1F *fHmpMipTrkDistY; // Ytrk - Ymip
75 TH1F *fHmpMipCharge3cm; // Mip charge with 3 cm distance cut
76 TH1F *fHmpMipCharge1cm; // Mip charge with 1 cm distance cut
77 TH1F *fHmpNumPhots; // Number of reconstructed photo-electrons
78 TH1F *fHmpTrkFlags; // track flags
80 Int_t fN1; // number of points for pi and K
81 Int_t fN2; // number of point for p
82 TH1F *fPionEff; // identified pions
83 TH1F *fKaonEff; // identified kaons
84 TH1F *fProtEff; // identified protons
85 TH1I *fPionTot; // total pions
86 TH1I *fKaonTot; // total kaons
87 TH1I *fProtTot; // total protons
88 TH1F *fPionNot; // non-pion tracks
89 TH1F *fKaonNot; // non-kaon tracks
90 TH1F *fProtNot; // non-proton tracks
91 TH1I *fPionCon; // tracks identified as pions
92 TH1I *fKaonCon; // tracks identified as kaons
93 TH1I *fProtCon; // tracks identified as protons
94 TH2F *fThetavsPiFromK; // theta chkov of pis from Ks
95 TH2F *fThetapivsPesd; // theta chkov of pions vs Pesd
96 TH2F *fThetaKvsPesd; // theta chkov of kaons vs Pesd
97 TH2F *fThetaPvsPesd; // theta chkov of protons vs Pesd
99 TTree *fTree; // tree with useful data for subsequent analysis
100 Float_t fVar[34]; // array of data to fill the tree
102 ClassDef(AliHMPIDAnalysisTask,4);