Installing GRP/CTP
[u/mrichter/AliRoot.git] / HMPID / AliHMPIDPIDEfficiencyV0AnalysisTask.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 //
20 // HMPID PID efficiency using the VO.
21 // 
22 // Francesco Barile
23 //
24 //==============================================================================
25
26 #ifndef ALIHMPIDPIDEfficiencyV0ANALYSISTASK_H
27 #define ALIHMPIDPIDEfficiencyV0ANALYSISTASK_H
28
29 #include "AliAnalysisTaskSE.h"
30 #include "AliStack.h"
31
32 class TH1;
33 class TParticle;
34 class TFile;
35 class AliESDtrack;
36 class AliESDEvent;
37
38 class AliHMPIDPIDEfficiencyV0AnalysisTask : public AliAnalysisTaskSE {
39   public:
40
41   enum {kChamber = 7};
42
43   AliHMPIDPIDEfficiencyV0AnalysisTask();
44   AliHMPIDPIDEfficiencyV0AnalysisTask(const Char_t* name);
45   AliHMPIDPIDEfficiencyV0AnalysisTask& operator= (const AliHMPIDPIDEfficiencyV0AnalysisTask& c);
46   AliHMPIDPIDEfficiencyV0AnalysisTask(const AliHMPIDPIDEfficiencyV0AnalysisTask& c);
47   virtual ~AliHMPIDPIDEfficiencyV0AnalysisTask();
48   
49   virtual void   ConnectInputData(Option_t *);
50   virtual void   UserCreateOutputObjects();
51   virtual void   UserExec(Option_t *option);
52   virtual void   Terminate(Option_t *);
53
54           void   SetUseMC(Bool_t useMC) { fUseMC = useMC; }
55           Bool_t Equal(Double_t x, Double_t y, Double_t tolerance);
56
57  protected:
58      
59  private:     
60  
61   AliESDEvent *fESD;               //! ESD object
62   AliMCEvent  *fMC;                //! MC event
63
64   Bool_t       fUseMC;             // decide whether use or not the MC information
65
66   TList         *fHmpHistList ;    // list of histograms
67
68   TH1F          *fHmpNevents;
69   TH2F          *fThetavsMom;
70   TH1D          *fmass;
71   TH1D          *fpdg;
72   TH2F          *farme;
73   TH2F          *farmeb;
74   TH1D          *hangle;
75   TH1D          *massap;
76   TH1D          *massan;
77   TH1D          *fmassaHMPID;  
78   TH1D          *hdiff;
79   TH1D          *hdiffn;
80   TTree         *fTree;            // tree with useful data for subsequent analysis
81   Float_t        fVar[90];         // array of data to fill the tree
82
83   ClassDef(AliHMPIDPIDEfficiencyV0AnalysisTask,4);
84 };
85
86 #endif