Fix Coverity defect
[u/mrichter/AliRoot.git] / PWG1 / HMPID / AliHMPIDTaskQA.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 // AliHMPIDTaskQA - Class representing a quality check tool of HMPID
18 // A set of histograms is created.
19 //==============================================================================
20
21 #ifndef ALIHMPIDTASKQA_H
22 #define ALIHMPIDTASKQA_H
23
24 #include "AliAnalysisTaskSE.h"
25 #include "AliStack.h"
26
27 class TH1;
28 class TParticle;
29 class TFile;
30 class AliESDtrack;
31 class AliESDEvent;
32
33 class AliHMPIDTaskQA : public AliAnalysisTaskSE {
34   public:
35
36   enum {kChamber = 7};
37
38   AliHMPIDTaskQA();
39   AliHMPIDTaskQA(const Char_t* name);
40   AliHMPIDTaskQA& operator= (const AliHMPIDTaskQA& c);
41   AliHMPIDTaskQA(const AliHMPIDTaskQA& c);
42   virtual ~AliHMPIDTaskQA();
43   
44   virtual void   ConnectInputData(Option_t *);
45   virtual void   UserCreateOutputObjects();
46   virtual void   UserExec(Option_t *option);
47   virtual void   Terminate(Option_t *);
48
49           void   SetUseMC(Bool_t useMC) { fUseMC = useMC; }
50           Bool_t Equal(Double_t x, Double_t y, Double_t tolerance);
51
52  protected:
53      
54  private:     
55  
56   AliESDEvent *fESD;               //! ESD object
57   AliMCEvent  *fMC;                //! MC event
58
59   Bool_t       fUseMC;             // decide whether use or not the MC information
60
61   TList         *fHmpHistList ;    // list of histograms
62
63   TH1F          *fHmpMipTrkDistX;  // Xtrk - Xmip
64   TH1F          *fHmpMipTrkDistY;  // Ytrk - Ymip
65   TH1F          *fHmpMipCharge3cm; // Mip charge with 3 cm distance cut
66   TH1F          *fHmpTrkFlags;     // track flags
67
68   Int_t          fN1;              // number of points for pi and K
69   Int_t          fN2;              // number of point for p
70   TH1F          *fPionEff;         // identified pions
71   TH1F          *fKaonEff;         // identified kaons
72   TH1F          *fProtEff;         // identified protons
73   TH1I          *fPionTot;         // total pions
74   TH1I          *fKaonTot;         // total kaons
75   TH1I          *fProtTot;         // total protons
76   TH1F          *fPionNot;         // non-pion tracks
77   TH1F          *fKaonNot;         // non-kaon tracks
78   TH1F          *fProtNot;         // non-proton tracks
79   TH1I          *fPionCon;         // tracks identified as pions
80   TH1I          *fKaonCon;         // tracks identified as kaons
81   TH1I          *fProtCon;         // tracks identified as protons
82
83   TTree         *fTree;            // tree with useful data for subsequent analysis
84   Float_t        fVar[28];         // array of data to fill the tree
85
86   ClassDef(AliHMPIDTaskQA,1);
87 };
88
89 #endif