]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/JetTasks/AliPWG4HighPtQAMC.h
Bug fixes by Martha for HighPT, cosmetic an mem leak fix for FF (Oliver)
[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 TProfile;
30 class TList;
31 class AliESDEvent;
32 class AliESDtrackCuts;
33 class AliMCEvent;
34 class AliGenPythiaEventHeader;
35 //class AliAnalysisHelperJetTasks;
36
37 class AliPWG4HighPtQAMC: public AliAnalysisTask {
38
39  public:
40   AliPWG4HighPtQAMC();
41   AliPWG4HighPtQAMC(const char *name);
42   ~AliPWG4HighPtQAMC() {;}
43  
44   virtual void   ConnectInputData(Option_t *);
45   virtual void   CreateOutputObjects();
46   virtual void   Exec(Option_t *option);
47   virtual void   Terminate(Option_t *);
48   virtual Bool_t Notify(); //Copied from AliAnalysisTaskJetSpectrum2
49
50   void SetCuts(AliESDtrackCuts* trackCuts) {fTrackCuts = trackCuts;}
51   void SetCutsITS(AliESDtrackCuts* trackCutsITS) {fTrackCutsITS = trackCutsITS;}
52
53   void SetTrackType(Int_t trackType) {fTrackType = trackType;}
54   void SetPtMax(Float_t ptmax) {fPtMax = ptmax;}
55   Float_t GetPtMax()           {return fPtMax;}
56
57   static AliGenPythiaEventHeader*  GetPythiaEventHeader(AliMCEvent *mcEvent);
58   static Bool_t PythiaInfoFromFile(const char* currFile,Float_t &fXsec,Float_t &fTrials);// get the cross section and the trails either from pyxsec.root or from pysec_hists.root
59
60  protected:
61
62  private:
63   AliPWG4HighPtQAMC(const AliPWG4HighPtQAMC&);
64   AliPWG4HighPtQAMC& operator=(const AliPWG4HighPtQAMC&);
65
66   AliESDEvent *fESD;              //! ESD object
67   AliMCEvent  *fMC;               //! MC event object
68  
69   AliESDtrackCuts *fTrackCuts;    // TrackCuts for global reconstructed vs MC comparison
70   AliESDtrackCuts *fTrackCutsITS; // TrackCuts including ITSrefit
71
72   Int_t   fTrackType;             // 0: global track; 1:TPConly track
73
74   Float_t fPtMax;                 // Maximum pT for histograms
75
76   Float_t fAvgTrials;             // Average number of trials
77   
78   TH1F *fNEventAll;                            //! Event counter
79   TH1F *fNEventSel;                            //! Event counter
80   TH1F *fNEventReject;                         //! Book keeping of reason of rejecting events
81  
82   TProfile*     fh1Xsec;                       //! pythia cross section and trials
83   TH1F*         fh1Trials;                     //! trials which are added
84   TH1F*         fh1PtHard;                     //! pt hard of the event
85   TH1F*         fh1PtHardTrials;               //! pt hard of the event
86
87
88   TH1F *fPtAll;                                //! Pt spectrum all charged particles
89   TH1F *fPtSel;                                //! Pt spectrum all selected charged particles by fTrackCuts
90   TH2F *fPtAllminPtMCvsPtAll;                  //! Momentum resolution (global vs MC)
91   TH3F *fPtAllminPtMCvsPtAllNPointTPC;         //! Momentum resolution vs NPointTPC
92   TH3F *fPtAllminPtMCvsPtAllDCAR;              //! Momentum resolution vs DCAR
93   TH3F *fPtAllminPtMCvsPtAllDCAZ;              //! Momentum resolution vs DCAZ
94   TH3F *fPtAllminPtMCvsPtAllPhi;               //! Momentum resolution vs Phi
95   TH3F *fPtAllminPtMCvsPtAllNPointITS;         //! Momentum resolution vs NPointITS
96   TH3F *fPtAllminPtMCvsPtAllNSigmaToVertex;    //! Momentum resolution vs NSigmaToVertes
97   TH3F *fPtAllminPtMCvsPtAllChi2C;             //! Momentum resolution vs Chi2Constrained
98   TH3F *fPtAllminPtMCvsPtAllRel1PtUncertainty; //! Momentum resolution vs relUncertainty1Pt
99
100   TH1F *fPtAllMC;     //! Pt spectrum all charged particles
101   TH1F *fPtSelMC;     //! Pt spectrum all selected charged particles by fTrackCuts
102   TH1F *fPtSelMCITS;  //! Pt spectrum all selected charged particles by fTrackCutsITS
103
104   TList *fHistList; //! List of Histograms
105   
106   TH1F *fPtSelITS;                              //! Pt spectrum all selected charged particles by fTrackCutsITS
107   TH2F *fPtITSminPtMCvsPtITS;                  //! Momentum resolution (global with ITSrefit vs MC)
108   TH3F *fPtITSminPtMCvsPtITSNPointTPC;         //! Momentum resolution vs NPointTPC 
109   TH3F *fPtITSminPtMCvsPtITSDCAR;              //! Momentum resolution vs DCAR
110   TH3F *fPtITSminPtMCvsPtITSDCAZ;              //! Momentum resolution vs DCAZ
111   TH3F *fPtITSminPtMCvsPtITSPhi;               //! Momentum resolution vs Phi
112   TH3F *fPtITSminPtMCvsPtITSNPointITS;         //! Momentum resolution vs NPointITS
113   TH3F *fPtITSminPtMCvsPtITSNSigmaToVertex;    //! Momentum resolution vs NSigmaToVertex
114   TH3F *fPtITSminPtMCvsPtITSChi2C;             //! Momentum resolution vs Chi2Constrained
115   TH3F *fPtITSminPtMCvsPtITSRel1PtUncertainty; //! Momentum resolution vs relUncertainty1Pt
116
117   TList *fHistListITS; //! List of Histograms
118
119  
120   ClassDef(AliPWG4HighPtQAMC,1) 
121   
122 };
123 #endif