added option for variable binning depending on the dataset for high pt QA and spectra...
[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 class AliMCEvent;
33
34 class AliPWG4HighPtQAMC: public AliAnalysisTask {
35
36  public:
37   AliPWG4HighPtQAMC();
38   AliPWG4HighPtQAMC(const char *name);
39   ~AliPWG4HighPtQAMC() {;}
40
41   virtual void   ConnectInputData(Option_t *);
42   virtual void   CreateOutputObjects();
43   virtual void   Exec(Option_t *option);
44   virtual void   Terminate(Option_t *);
45
46   void SetCuts(AliESDtrackCuts* trackCuts) {fTrackCuts = trackCuts;}
47   void SetCutsITS(AliESDtrackCuts* trackCutsITS) {fTrackCutsITS = trackCutsITS;}
48
49   void SetPtMax(Float_t ptmax) {fPtMax = ptmax;}
50   Float_t GetPtMax()           {return fPtMax;}
51
52  protected:
53
54  private:
55
56   AliPWG4HighPtQAMC(const AliPWG4HighPtQAMC&);
57   AliPWG4HighPtQAMC& operator=(const AliPWG4HighPtQAMC&);
58
59   AliESDEvent *fESD;              //! ESD object
60   AliMCEvent  *fMC;               //! MC event object
61  
62   AliESDtrackCuts *fTrackCuts;    // TrackCuts for global reconstructed vs MC comparison
63   AliESDtrackCuts *fTrackCutsITS; // TrackCuts including ITSrefit
64
65   Float_t fPtMax;                 // Maximum pT for histograms
66
67   
68   TH1F *fNEventAll;                            //! Event counter
69   TH1F *fNEventSel;                            //! Event counter
70   TH1F *fPtAll;                                //! Pt spectrum all charged particles
71   TH1F *fPtSel;                                //! Pt spectrum all selected charged particles by fTrackCuts
72   TH2F *fPtAllminPtMCvsPtAll;                  //! Momentum resolution (global vs MC)
73   TH3F *fPtAllminPtMCvsPtAllNPointTPC;         //! Momentum resolution vs NPointTPC
74   TH3F *fPtAllminPtMCvsPtAllDCAR;              //! Momentum resolution vs DCAR
75   TH3F *fPtAllminPtMCvsPtAllDCAZ;              //! Momentum resolution vs DCAZ
76   TH3F *fPtAllminPtMCvsPtAllPhi;               //! Momentum resolution vs Phi
77   TH3F *fPtAllminPtMCvsPtAllNPointITS;         //! Momentum resolution vs NPointITS
78   TH3F *fPtAllminPtMCvsPtAllNSigmaToVertex;    //! Momentum resolution vs NSigmaToVertes
79   TH3F *fPtAllminPtMCvsPtAllChi2C;             //! Momentum resolution vs Chi2Constrained
80   TH3F *fPtAllminPtMCvsPtAllRel1PtUncertainty; //! Momentum resolution vs relUncertainty1Pt
81
82   TH1F *fPtAllMC;     //! Pt spectrum all charged particles
83   TH1F *fPtSelMC;     //! Pt spectrum all selected charged particles by fTrackCuts
84   TH1F *fPtSelMCITS;  //! Pt spectrum all selected charged particles by fTrackCutsITS
85
86   TList *fHistList; //! List of Histograms
87   
88   TH1F *fPtSelITS;                              //! Pt spectrum all selected charged particles by fTrackCutsITS
89   TH2F *fPtITSminPtMCvsPtITS;                  //! Momentum resolution (global with ITSrefit vs MC)
90   TH3F *fPtITSminPtMCvsPtITSNPointTPC;         //! Momentum resolution vs NPointTPC 
91   TH3F *fPtITSminPtMCvsPtITSDCAR;              //! Momentum resolution vs DCAR
92   TH3F *fPtITSminPtMCvsPtITSDCAZ;              //! Momentum resolution vs DCAZ
93   TH3F *fPtITSminPtMCvsPtITSPhi;               //! Momentum resolution vs Phi
94   TH3F *fPtITSminPtMCvsPtITSNPointITS;         //! Momentum resolution vs NPointITS
95   TH3F *fPtITSminPtMCvsPtITSNSigmaToVertex;    //! Momentum resolution vs NSigmaToVertex
96   TH3F *fPtITSminPtMCvsPtITSChi2C;             //! Momentum resolution vs Chi2Constrained
97   TH3F *fPtITSminPtMCvsPtITSRel1PtUncertainty; //! Momentum resolution vs relUncertainty1Pt
98
99   TList *fHistListITS; //! List of Histograms
100
101  
102   ClassDef(AliPWG4HighPtQAMC,1) 
103   
104 };
105 #endif