Corrected compilation options
[u/mrichter/AliRoot.git] / PWGJE / 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;
cce400da 34class AliStack;
36c36a0c 35class AliESDVertex;
b4691ee7 36class AliGenPythiaEventHeader;
37//class AliAnalysisHelperJetTasks;
fdceab34 38
39class AliPWG4HighPtQAMC: public AliAnalysisTask {
40
41 public:
42 AliPWG4HighPtQAMC();
43 AliPWG4HighPtQAMC(const char *name);
44 ~AliPWG4HighPtQAMC() {;}
b4691ee7 45
fdceab34 46 virtual void ConnectInputData(Option_t *);
47 virtual void CreateOutputObjects();
48 virtual void Exec(Option_t *option);
49 virtual void Terminate(Option_t *);
b4691ee7 50 virtual Bool_t Notify(); //Copied from AliAnalysisTaskJetSpectrum2
fdceab34 51
cce400da 52 Bool_t SelectEvent(); //decides if event is used for analysis
53
fdceab34 54 void SetCuts(AliESDtrackCuts* trackCuts) {fTrackCuts = trackCuts;}
327d12da 55 void SetCutsReject(AliESDtrackCuts* trackCuts) {fTrackCutsReject = trackCuts;}
fdceab34 56
71e77a79 57 void SetTrackType(Int_t trackType) {fTrackType = trackType;}
aa3ba8d2 58 void SetSigmaConstrainedMax(Double_t sigma) {fSigmaConstrainedMax=sigma;}
b1cd0099 59 void SetPtMax(Float_t ptmax) {fPtMax = ptmax;}
60 Float_t GetPtMax() {return fPtMax;}
b1041e3b 61 void SetPtBinEdges(Int_t region, Double_t ptmax, Double_t ptBinWidth);
b1cd0099 62
b4691ee7 63 static AliGenPythiaEventHeader* GetPythiaEventHeader(AliMCEvent *mcEvent);
64 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
65
fdceab34 66 protected:
67
68 private:
fdceab34 69 AliPWG4HighPtQAMC(const AliPWG4HighPtQAMC&);
70 AliPWG4HighPtQAMC& operator=(const AliPWG4HighPtQAMC&);
71
72 AliESDEvent *fESD; //! ESD object
b1cd0099 73 AliMCEvent *fMC; //! MC event object
cce400da 74 AliStack *fStack; //! stack object
75
36c36a0c 76 const AliESDVertex *fVtx; //! vertex object
77
fdceab34 78 AliESDtrackCuts *fTrackCuts; // TrackCuts for global reconstructed vs MC comparison
327d12da 79 AliESDtrackCuts *fTrackCutsReject; // trackCuts to reject tracks (hybrid case)
fdceab34 80
11245558 81 Int_t fTrackType; // 0: global track; 1:TPConly track 2: TPConly constrained track 3: global ITSrefit
71e77a79 82
aa3ba8d2 83 Double_t fSigmaConstrainedMax; // max sigma on constrained fit
b1cd0099 84 Float_t fPtMax; // Maximum pT for histograms
b1041e3b 85 Float_t fPtBinEdges[3][2]; // 3 regions total with different binning for pT axis of histos
b1cd0099 86
b4691ee7 87 Float_t fAvgTrials; // Average number of trials
fdceab34 88
8f0faa80 89 TH1F *fNEventAll; //! Event counter
90 TH1F *fNEventSel; //! Event counter
cb76764e 91 TH1F *fNEventReject; //! Book keeping of reason of rejecting events
b4691ee7 92
93 TProfile* fh1Xsec; //! pythia cross section and trials
94 TH1F* fh1Trials; //! trials which are added
95 TH1F* fh1PtHard; //! pt hard of the event
96 TH1F* fh1PtHardTrials; //! pt hard of the event
97
fdceab34 98 TH1F *fPtAll; //! Pt spectrum all charged particles
99 TH1F *fPtSel; //! Pt spectrum all selected charged particles by fTrackCuts
36c36a0c 100 TH1F *fPtSelFakes; //! Pt distributions for tracks with negative label (=fake tracks)
101 TH1F *fNPointTPCFakes; //! NTPCCluster of fake tracks
102 TH1F *fPtSelLargeLabel; //! Filled if label is larger than nMCtracks
103 TH1F *fMultRec; //! Bookkeeping of multiple times reconstructed tracks
104 TH1F *fNPointTPCMultRec; //! NTPCClusters of multiple reconstructed tracks
105 TH2F *fDeltaPtMultRec; //! Delta pT versus pT of first track for multiple reconstructed tracks
106
57bee263 107 TH2F *fPtAllvsPtMC; //! Reconstructed momentum vs generated momentum
a337a5a9 108 TH2F *fPtAllminPtMCvsPtMC; //! Momentum resolution (global vs MC) as function of pTMC
109 TH2F *fPtAllminPtMCvsPtAll; //! Momentum resolution (global vs MC) as function of pTrec
57bee263 110 TH3F *fPtAllvsPtMCvsMult; //! Reconstructed momentum vs generated momentum vs multiplicity
111 TH3F *fPtAllminPtMCvsPtAllvsMult; //! Momentum resolution (global vs MC) vs multiplicity
fdceab34 112 TH3F *fPtAllminPtMCvsPtAllNPointTPC; //! Momentum resolution vs NPointTPC
5a0bd31f 113 TH3F *fPtAllminPtMCvsPtAllNPointTPCIter1; //! Momentum resolution vs NPointTPC Iter1
114 TH3F *fPtAllminPtMCvsPtAllChi2TPC; //! Momentum resolution vs Chi2TPC
115 TH3F *fPtAllminPtMCvsPtAllChi2TPCIter1; //! Momentum resolution vs Chi2TPC Iter1
fdceab34 116 TH3F *fPtAllminPtMCvsPtAllDCAR; //! Momentum resolution vs DCAR
117 TH3F *fPtAllminPtMCvsPtAllDCAZ; //! Momentum resolution vs DCAZ
118 TH3F *fPtAllminPtMCvsPtAllPhi; //! Momentum resolution vs Phi
119 TH3F *fPtAllminPtMCvsPtAllNPointITS; //! Momentum resolution vs NPointITS
120 TH3F *fPtAllminPtMCvsPtAllNSigmaToVertex; //! Momentum resolution vs NSigmaToVertes
121 TH3F *fPtAllminPtMCvsPtAllChi2C; //! Momentum resolution vs Chi2Constrained
122 TH3F *fPtAllminPtMCvsPtAllRel1PtUncertainty; //! Momentum resolution vs relUncertainty1Pt
123
124 TH1F *fPtAllMC; //! Pt spectrum all charged particles
125 TH1F *fPtSelMC; //! Pt spectrum all selected charged particles by fTrackCuts
fdceab34 126
127 TList *fHistList; //! List of Histograms
128
fdceab34 129 ClassDef(AliPWG4HighPtQAMC,1)
130
131};
132#endif