]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/JetTasks/AliPWG4HighPtQATPConly.h
101ee0e7315b510bb37cf9f0c1af40aa9085eb35
[u/mrichter/AliRoot.git] / PWG4 / JetTasks / AliPWG4HighPtQATPConly.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 TPConly reconstruction
18 // Author : Marta Verweij - UU
19 //-----------------------------------------------------------------------
20
21 #ifndef ALIPWG4HIGHPTQATPCONLY_H
22 #define ALIPWG4HIGHPTQATPCONLY_H
23
24 #include "AliAnalysisTask.h"
25
26 class TH1F;
27 class TH2F;
28 class TH3F;
29 class TList;
30 class AliESDEvent;
31 class AliESDfriend;
32 class AliESDfriendTrack;
33 class AliMCEvent;
34 class AliVEvent;
35 class AliESDtrackCuts;
36
37 class AliPWG4HighPtQATPConly: public AliAnalysisTask {
38
39  public:
40   AliPWG4HighPtQATPConly();
41   AliPWG4HighPtQATPConly(const char *name);
42   ~AliPWG4HighPtQATPConly() {;}
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
49   void SetCuts(AliESDtrackCuts* trackCuts) {fTrackCuts = trackCuts;}
50   void SetCutsITS(AliESDtrackCuts* trackCutsITS) {fTrackCutsITS = trackCutsITS;}
51   //Select the trigger
52   void SelectTrigger(Int_t trig) { fTrigger = trig; } 
53
54  protected:
55
56  private:
57
58   void InitHistPointers();
59   AliPWG4HighPtQATPConly(const AliPWG4HighPtQATPConly&);
60   AliPWG4HighPtQATPConly& operator=(const AliPWG4HighPtQATPConly&);
61
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 
68   
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
98  
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
105
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
109
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
116
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
120
121   TList *fHistList; //! List of Histograms
122   
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
127   
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
140
141   TH2F *fPtOuterPtInner;                        //! Momentum of global track at inner wall versus outer wall of TPC
142   TH3F *fPtRel1PtUncertaintyChi2PerClusTPC;     //! Global Pt vs relUncertainty1Pt vs Chi2PerClusTPC
143
144   TList *fHistListITS; //! List of Histograms
145
146   ClassDef(AliPWG4HighPtQATPConly,1) 
147   
148 };
149 #endif