1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
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 **************************************************************************/
16 //-----------------------------------------------------------------------
17 // This class compares the global reconstruction with the TPConly reconstruction
18 // Author : Marta Verweij - UU
19 //-----------------------------------------------------------------------
21 #ifndef ALIPWG4HIGHPTQATPCONLY_H
22 #define ALIPWG4HIGHPTQATPCONLY_H
24 #include "AliAnalysisTask.h"
32 class AliESDfriendTrack;
35 class AliESDtrackCuts;
37 class AliPWG4HighPtQATPConly: public AliAnalysisTask {
40 AliPWG4HighPtQATPConly();
41 AliPWG4HighPtQATPConly(const char *name);
42 ~AliPWG4HighPtQATPConly() {;}
44 virtual void ConnectInputData(Option_t *);
45 virtual void CreateOutputObjects();
46 virtual void Exec(Option_t *option);
47 virtual void Terminate(Option_t *);
49 void SetCuts(AliESDtrackCuts* trackCuts) {fTrackCuts = trackCuts;}
50 void SetCutsITS(AliESDtrackCuts* trackCutsITS) {fTrackCutsITS = trackCutsITS;}
52 void SelectTrigger(Int_t trig) { fTrigger = trig; }
58 void InitHistPointers();
59 AliPWG4HighPtQATPConly(const AliPWG4HighPtQATPConly&);
60 AliPWG4HighPtQATPConly& operator=(const AliPWG4HighPtQATPConly&);
62 AliESDEvent *fESD; //! ESD object
63 AliESDfriend *fESDfriend; //! ESD friend object
64 AliMCEvent *fMC; //! MC event object
65 AliESDtrackCuts *fTrackCuts; // TrackCuts for global vs TPConly comparison
66 AliESDtrackCuts *fTrackCutsITS; // TrackCuts including ITSrefit
67 Int_t fTrigger; //Trigger flag as defined in AliAnalysisHelperJetTasks.h
69 TH1F *fNEventAll; //! Event counter
70 TH1F *fNEventSel; //! Event counter: Selected events for analysis
71 TH1F *fPtAll; //! Pt spectrum all charged particles
72 TH1F *fPtSel; //! Pt spectrum all selected charged particles by fTrackCuts
73 TH2F *fPtAllminPtTPCvsPtAll; //! Momentum resolution (global vs TPConly)
74 TH3F *fPtAllminPtTPCvsPtAllNPointTPC; //! Momentum resolution vs NPointTPC
75 TH3F *fPtAllminPtTPCvsPtAllDCAR; //! Momentum resolution vs DCAR
76 TH3F *fPtAllminPtTPCvsPtAllDCAZ; //! Momentum resolution vs DCAZ
77 TH3F *fPtAllminPtTPCvsPtAllPhi; //! Momentum resolution vs Phi
78 TH3F *fPtAllminPtTPCvsPtAllNPointITS; //! Momentum resolution vs NPointITS
79 TH3F *fPtAllminPtTPCvsPtAllNSigmaToVertex; //! Momentum resolution vs NSigmaToVertes
80 TH3F *fPtAllminPtTPCvsPtAllChi2C; //! Momentum resolution vs Chi2Constrained
81 TH3F *fPtAllminPtTPCvsPtAllRel1PtUncertainty; //! Momentum resolution vs relUncertainty1Pt
82 TH3F *fPtAllminPtTPCvsPtAllChi2PerNClusTPC; //! Momentum resolution vs Chi2PerNClusTPC
83 TH3F *fPtAllminPtTPCvsPtAllChi2PerNClusITS; //! Momentum resolution vs Chi2PerNClusITS
84 TH2F *fEtaPhiOutliers; //! Eta Phi for outliers in momentum resolution
85 // fPtAllminPtTPCvsPtAllChi2PerNClusITS'
86 TH1F *fPtSelITSouter; //! Pt at ITS outer wall for all selected charged particles by fTrackCuts
87 TH2F *fPtITSouterminPtTPCvsPtAll; //! Momentum resolution (global vs ITSouter-TPCinner)
88 TH3F *fPtITSouterminPtTPCvsPtAllNPointTPC; //! Momentum resolution vs NPointTPC
89 TH3F *fPtITSouterminPtTPCvsPtAllDCAR; //! Momentum resolution vs DCAR
90 TH3F *fPtITSouterminPtTPCvsPtAllDCAZ; //! Momentum resolution vs DCAZ
91 TH3F *fPtITSouterminPtTPCvsPtAllPhi; //! Momentum resolution vs Phi
92 TH3F *fPtITSouterminPtTPCvsPtAllNPointITS; //! Momentum resolution vs NPointITS
93 TH3F *fPtITSouterminPtTPCvsPtAllNSigmaToVertex; //! Momentum resolution vs NSigmaToVertes
94 TH3F *fPtITSouterminPtTPCvsPtAllChi2C; //! Momentum resolution vs Chi2Constrained
95 TH3F *fPtITSouterminPtTPCvsPtAllRel1PtUncertainty; //! Momentum resolution vs relUncertainty1Pt
96 TH3F *fPtITSouterminPtTPCvsPtAllChi2PerNClusTPC; //! Momentum resolution vs Chi2PerNClusTPC
97 TH3F *fPtITSouterminPtTPCvsPtAllChi2PerNClusITS; //! Momentum resolution vs Chi2PerNClusITS
99 TH2F *fPtITSouterminPtTPCvsPtAll_ITSLayer0; //! Track has at least 1st SPD layer
100 TH2F *fPtITSouterminPtTPCvsPtAll_ITSLayer1; //! Track has at least 2nd SPD layer and not 1st SPD
101 TH2F *fPtITSouterminPtTPCvsPtAll_ITSLayer2; //! Track has at least 1st SDD layer and not SPD layers
102 TH2F *fPtITSouterminPtTPCvsPtAll_ITSLayer3; //! Track has at least 1st SDD layer and not SPD layers and not 1st SDD
103 TH2F *fPtITSouterminPtTPCvsPtAll_ITSLayer4; //! Track has at least 1st SSD layer and not SPD or SDD layers
104 TH2F *fPtITSouterminPtTPCvsPtAll_ITSLayer5; //! Track has at least 1st SSD layer and not SPD or SDD layers or 1st SSD
106 TH2F *fPtITSouterminPtTPCvsPtAll_NoSPD; //! Track has no signal in SPD layers
107 TH2F *fPtITSouterminPtTPCvsPtAll_NoSDD; //! Track has no signal in SDD layers
108 TH2F *fPtITSouterminPtTPCvsPtAll_NoSSD; //! Track has no signal in SSD layers
110 TH3F *fPtITSouterminPtTPCvsPtAllChi2PerNClusITS_ITSLayer0; //! Track has at least 1st SPD layer
111 TH3F *fPtITSouterminPtTPCvsPtAllChi2PerNClusITS_ITSLayer1; //! Track has at least 2nd SPD layer and not 1st SPD
112 TH3F *fPtITSouterminPtTPCvsPtAllChi2PerNClusITS_ITSLayer2; //! Track has at least 1st SDD layer and not SPD layers
113 TH3F *fPtITSouterminPtTPCvsPtAllChi2PerNClusITS_ITSLayer3; //! Track has at least 1st SDD layer and not SPD layers and not 1st SDD
114 TH3F *fPtITSouterminPtTPCvsPtAllChi2PerNClusITS_ITSLayer4; //! Track has at least 1st SSD layer and not SPD or SDD layers
115 TH3F *fPtITSouterminPtTPCvsPtAllChi2PerNClusITS_ITSLayer5; //! Track has at least 1st SSD layer and not SPD or SDD layers or 1st SSD
117 TH3F *fPtITSouterminPtTPCvsPtAllChi2PerNClusITS_NoSPD; //! Track has no signal in SPD layers
118 TH3F *fPtITSouterminPtTPCvsPtAllChi2PerNClusITS_NoSDD; //! Track has no signal in SDD layers
119 TH3F *fPtITSouterminPtTPCvsPtAllChi2PerNClusITS_NoSSD; //! Track has no signal in SSD layers
121 TList *fHistList; //! List of Histograms
123 TH1F *fPtAllTPC; //! Pt spectrum all charged particles
124 TH1F *fPtSelTPC; //! Pt spectrum all selected charged particles by fTrackCuts
125 TH1F *fPtSelTPCITS; //! Pt spectrum all selected charged particles by fTrackCutsITS
126 TList *fHistListTPC; //! List of Histograms
128 TH1F *fPtSelITS; //! Pt spectrum all selected charged particles by fTrackCutsITS
129 TH2F *fPtITSminPtTPCvsPtITS; //! Momentum resolution (global with ITSrefit vs TPConly)
130 TH3F *fPtITSminPtTPCvsPtITSNPointTPC; //! Momentum resolution vs NPointTPC
131 TH3F *fPtITSminPtTPCvsPtITSDCAR; //! Momentum resolution vs DCAR
132 TH3F *fPtITSminPtTPCvsPtITSDCAZ; //! Momentum resolution vs DCAZ
133 TH3F *fPtITSminPtTPCvsPtITSPhi; //! Momentum resolution vs Phi
134 TH3F *fPtITSminPtTPCvsPtITSNPointITS; //! Momentum resolution vs NPointITS
135 TH3F *fPtITSminPtTPCvsPtITSNSigmaToVertex; //! Momentum resolution vs NSigmaToVertex
136 TH3F *fPtITSminPtTPCvsPtITSChi2C; //! Momentum resolution vs Chi2Constrained
137 TH3F *fPtITSminPtTPCvsPtITSRel1PtUncertainty; //! Momentum resolution vs relUncertainty1Pt
138 TH3F *fPtITSminPtTPCvsPtITSChi2PerNClusTPC; //! Momentum resolution vs Chi2PerNClusTPC
139 TH3F *fPtITSminPtTPCvsPtITSChi2PerNClusITS; //! Momentum resolution vs Chi2PerNClusITS
141 TH2F *fPtOuterPtInner; //! Momentum of global track at inner wall versus outer wall of TPC
142 TH3F *fPtRel1PtUncertaintyChi2PerClusTPC; //! Global Pt vs relUncertainty1Pt vs Chi2PerClusTPC
144 TList *fHistListITS; //! List of Histograms
146 ClassDef(AliPWG4HighPtQATPConly,1)