]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/SPECTRA/PiKaPr/HMPID/AliHMPIDAnalysisTask.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / PiKaPr / HMPID / AliHMPIDAnalysisTask.h
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 AliESDtrackCuts;
33 class AliAnalysisFilter;
34 class AliESDEvent;
35 class AliVEvent;
36 class AliPIDResposne;
37
38 class AliHMPIDAnalysisTask : public AliAnalysisTaskSE {
39   public:
40
41   enum {kChamber = 7};
42
43   AliHMPIDAnalysisTask();
44   AliHMPIDAnalysisTask(const Char_t* name);
45   AliHMPIDAnalysisTask& operator= (const AliHMPIDAnalysisTask& c);
46   AliHMPIDAnalysisTask(const AliHMPIDAnalysisTask& c);
47   virtual ~AliHMPIDAnalysisTask();
48   
49   virtual void   ConnectInputData(Option_t *);
50  // virtual void AliHMPIDAnalysisTask::UserCreateObject(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   AliMCEvent         *fMC;              //! MC event
64
65   Bool_t             fUseMC;            // decide whether use or not the MC information
66
67   TList              *fHmpHistList ;    // list of histograms
68
69   TH1F               *fHmpNevents;
70   TH1F               *fZvertex;
71
72   AliPIDResponse     *fPIDResponse;
73   AliESDtrackCuts    *fTrackCuts;
74   AliAnalysisFilter  *fTrackFilter;
75   
76   TTree              *fTree;            // tree with useful data for subsequent analysis
77   Float_t            fVar[69];          // array of data to fill the tree
78
79   ClassDef(AliHMPIDAnalysisTask,4);
80 };
81
82 #endif