]> git.uio.no Git - u/mrichter/AliRoot.git/blame - 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
CommitLineData
fdceab34 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
26class TH1F;
27class TH2F;
28class TH3F;
b4691ee7 29class TProfile;
fdceab34 30class TList;
31class AliESDEvent;
32class AliESDtrackCuts;
b1cd0099 33class AliMCEvent;
b4691ee7 34class AliGenPythiaEventHeader;
35//class AliAnalysisHelperJetTasks;
fdceab34 36
37class AliPWG4HighPtQAMC: public AliAnalysisTask {
38
39 public:
40 AliPWG4HighPtQAMC();
41 AliPWG4HighPtQAMC(const char *name);
42 ~AliPWG4HighPtQAMC() {;}
b4691ee7 43
fdceab34 44 virtual void ConnectInputData(Option_t *);
45 virtual void CreateOutputObjects();
46 virtual void Exec(Option_t *option);
47 virtual void Terminate(Option_t *);
b4691ee7 48 virtual Bool_t Notify(); //Copied from AliAnalysisTaskJetSpectrum2
fdceab34 49
50 void SetCuts(AliESDtrackCuts* trackCuts) {fTrackCuts = trackCuts;}
51 void SetCutsITS(AliESDtrackCuts* trackCutsITS) {fTrackCutsITS = trackCutsITS;}
52
71e77a79 53 void SetTrackType(Int_t trackType) {fTrackType = trackType;}
b1cd0099 54 void SetPtMax(Float_t ptmax) {fPtMax = ptmax;}
55 Float_t GetPtMax() {return fPtMax;}
56
b4691ee7 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
fdceab34 60 protected:
61
62 private:
fdceab34 63 AliPWG4HighPtQAMC(const AliPWG4HighPtQAMC&);
64 AliPWG4HighPtQAMC& operator=(const AliPWG4HighPtQAMC&);
65
66 AliESDEvent *fESD; //! ESD object
b1cd0099 67 AliMCEvent *fMC; //! MC event object
68
fdceab34 69 AliESDtrackCuts *fTrackCuts; // TrackCuts for global reconstructed vs MC comparison
70 AliESDtrackCuts *fTrackCutsITS; // TrackCuts including ITSrefit
71
b4691ee7 72 Int_t fTrackType; // 0: global track; 1:TPConly track
71e77a79 73
b1cd0099 74 Float_t fPtMax; // Maximum pT for histograms
75
b4691ee7 76 Float_t fAvgTrials; // Average number of trials
fdceab34 77
8f0faa80 78 TH1F *fNEventAll; //! Event counter
79 TH1F *fNEventSel; //! Event counter
cb76764e 80 TH1F *fNEventReject; //! Book keeping of reason of rejecting events
b4691ee7 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
fdceab34 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