New book-keeping class
[u/mrichter/AliRoot.git] / PWG4 / JetTasks / AliPWG4HighPtQAMC.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 // This class compares the global reconstruction with the MC information
18 // Author : Marta Verweij - UU
19 //-----------------------------------------------------------------------
20
21 #ifndef ALIPWG4HIGHPTQAMC_H
22 #define ALIPWG4HIGHPTQAMC_H
23
24 #include "AliAnalysisTask.h"
25
26 class TH1F;
27 class TH2F;
28 class TH3F;
29 class TList;
30 class AliESDEvent;
31 class AliESDtrackCuts;
32
33 class AliPWG4HighPtQAMC: public AliAnalysisTask {
34
35  public:
36   AliPWG4HighPtQAMC();
37   AliPWG4HighPtQAMC(const char *name);
38   ~AliPWG4HighPtQAMC() {;}
39
40   virtual void   ConnectInputData(Option_t *);
41   virtual void   CreateOutputObjects();
42   virtual void   Exec(Option_t *option);
43   virtual void   Terminate(Option_t *);
44
45   void SetCuts(AliESDtrackCuts* trackCuts) {fTrackCuts = trackCuts;}
46   void SetCutsITS(AliESDtrackCuts* trackCutsITS) {fTrackCutsITS = trackCutsITS;}
47
48  protected:
49
50  private:
51
52   void InitHistPointers();
53   AliPWG4HighPtQAMC(const AliPWG4HighPtQAMC&);
54   AliPWG4HighPtQAMC& operator=(const AliPWG4HighPtQAMC&);
55
56   AliESDEvent *fESD;              //! ESD object
57   AliESDtrackCuts *fTrackCuts;    // TrackCuts for global reconstructed vs MC comparison
58   AliESDtrackCuts *fTrackCutsITS; // TrackCuts including ITSrefit
59
60   
61   TH1F *fNEvent;                               //! Event counter
62   TH1F *fPtAll;                                //! Pt spectrum all charged particles
63   TH1F *fPtSel;                                //! Pt spectrum all selected charged particles by fTrackCuts
64   TH2F *fPtAllminPtMCvsPtAll;                  //! Momentum resolution (global vs MC)
65   TH3F *fPtAllminPtMCvsPtAllNPointTPC;         //! Momentum resolution vs NPointTPC
66   TH3F *fPtAllminPtMCvsPtAllDCAR;              //! Momentum resolution vs DCAR
67   TH3F *fPtAllminPtMCvsPtAllDCAZ;              //! Momentum resolution vs DCAZ
68   TH3F *fPtAllminPtMCvsPtAllPhi;               //! Momentum resolution vs Phi
69   TH3F *fPtAllminPtMCvsPtAllNPointITS;         //! Momentum resolution vs NPointITS
70   TH3F *fPtAllminPtMCvsPtAllNSigmaToVertex;    //! Momentum resolution vs NSigmaToVertes
71   TH3F *fPtAllminPtMCvsPtAllChi2C;             //! Momentum resolution vs Chi2Constrained
72   TH3F *fPtAllminPtMCvsPtAllRel1PtUncertainty; //! Momentum resolution vs relUncertainty1Pt
73
74   TH1F *fPtAllMC;     //! Pt spectrum all charged particles
75   TH1F *fPtSelMC;     //! Pt spectrum all selected charged particles by fTrackCuts
76   TH1F *fPtSelMCITS;  //! Pt spectrum all selected charged particles by fTrackCutsITS
77
78   TList *fHistList; //! List of Histograms
79   
80   TH1F *fPtSelITS;                              //! Pt spectrum all selected charged particles by fTrackCutsITS
81   TH2F *fPtITSminPtMCvsPtITS;                  //! Momentum resolution (global with ITSrefit vs MC)
82   TH3F *fPtITSminPtMCvsPtITSNPointTPC;         //! Momentum resolution vs NPointTPC 
83   TH3F *fPtITSminPtMCvsPtITSDCAR;              //! Momentum resolution vs DCAR
84   TH3F *fPtITSminPtMCvsPtITSDCAZ;              //! Momentum resolution vs DCAZ
85   TH3F *fPtITSminPtMCvsPtITSPhi;               //! Momentum resolution vs Phi
86   TH3F *fPtITSminPtMCvsPtITSNPointITS;         //! Momentum resolution vs NPointITS
87   TH3F *fPtITSminPtMCvsPtITSNSigmaToVertex;    //! Momentum resolution vs NSigmaToVertex
88   TH3F *fPtITSminPtMCvsPtITSChi2C;             //! Momentum resolution vs Chi2Constrained
89   TH3F *fPtITSminPtMCvsPtITSRel1PtUncertainty; //! Momentum resolution vs relUncertainty1Pt
90
91   TList *fHistListITS; //! List of Histograms
92
93  
94   ClassDef(AliPWG4HighPtQAMC,1) 
95   
96 };
97 #endif