]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG1/AliAnalysisTaskQASym.h
added PrintStack method to display raw data (f.bellini)
[u/mrichter/AliRoot.git] / PWG1 / AliAnalysisTaskQASym.h
CommitLineData
50dbca26 1#ifndef ALIANALYSISTASKQASYM_H
2#define ALIANALYSISTASKQASYM_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id:$ */
9f9631f3 7
50dbca26 8//------------------------------
9// Analysis task for quality-assurance of central tracking
10// mainly based on fundamental symmetries
11//
12// eva.sicking@cern.ch
9f9631f3 13
14class TH1F;
15class TH2F;
16class TList;
17class TNtuple;
18
19class AliESDEvent;
20class AliESDtrack;
21class AliESDtrackCuts;
22
23
24#include "AliAnalysisTaskSE.h"
9f9631f3 25
26class AliAnalysisTaskQASym : public AliAnalysisTaskSE {
27 public:
87f2a110 28 AliAnalysisTaskQASym();
29 AliAnalysisTaskQASym(const char *name);
30 virtual ~AliAnalysisTaskQASym() {}
9f9631f3 31
87f2a110 32 virtual void UserCreateOutputObjects();
33 virtual void UserExec(Option_t *option);
34 virtual void Terminate(Option_t *);
35
36
9f9631f3 37
87f2a110 38 virtual void SetCuts(AliESDtrackCuts* cuts)
39 {fCuts = cuts;}
40
41 virtual void SetFieldOn(Bool_t b = kTRUE){fFieldOn = b;}
9f9631f3 42
43 private:
44
45
50dbca26 46 Bool_t fFieldOn; // field flag
9f9631f3 47
48 TList *fHists; // List of histos
49
50 //old
51 TH1F *fHistRECpt; // pt
52 TH1F *fEta; // eta
e4ab7356 53 TH2F *fEtaPhi; // eta-phi
9f9631f3 54 TH1F *fEtaPt; // eta over pt
55 TH1F *fQPt; // charge over pt
56 TH1F *fDca; // distance of closest approach
57 TH1F *fqPtRec[7]; // charge over pt divided for ITS layer cases
58 TH1F *fqRec; // reconstrcuted charge
59 TH1F *fsigmaPt; // sigma_pT
60 TH2F *fDcaSigmaPos[7]; // distance of closest approach against sigma_pT
61 TH2F *fDcaSigmaNeg[7]; // distance of closest approach against sigma_pT
62
63
64 //positive und negative particles
65 TH1F *fRecPtPos; // pt of pos partice
66 TH1F *fRecPtNeg; // pt of neg particle
67 TH1F *fRecPhiPos; // phi of pos. particle
68 TH1F *fRecPhiNeg; // phi of neg. particle
69 TH1F *fRecEtaPos; // eta of neg. particle
70 TH1F *fRecEtaNeg; // eta of neg. particle
71 TH1F *fRecEtaPtPos; // eta over pt of neg. particle
72 TH1F *fRecEtaPtNeg; // eta over pt of neg. particle
73 TH1F *fRecDcaPos; // distance of closest approach of neg. particle
74 TH1F *fRecDcaNeg; // distance of closest of neg. particle
75 TH1F *fRecDcaNegInv; // invers dca of neg. particle
76 TH1F *fRecDPos; // impact parameter of neg. particle
77 TH1F *fRecDNeg; // impact parameter of neg. particle
78
9f9631f3 79 // two sides of TPC -> Eta/Theta
50dbca26 80 TH1F *fRecQPtPosEta; // Q x Pt for pos. eta
81 TH1F *fRecQPtNegEta; // Q x Pt for neg. eta
82 TH1F *fRecPtPosEta; // Pt for pos. eta
83 TH1F *fRecPtNegEta; // Pt for neg. eta
84 TH1F *fRecPhiPosEta; // phi for pos. eta
85 TH1F *fRecPhiNegEta; // phi for neg. eta
86 TH1F *fRecDcaPosEta; // dca for pos. eta
87 TH1F *fRecDcaNegEta; // dca for neg. eta
88 TH1F *fRecDPosEta; // d for pos. eta
89 TH1F *fRecDNegEta; // d for neg. eta
9f9631f3 90
9f9631f3 91 // sectors of TPC (with pt>xGeV?), TODO: extent to TPC standalone tracks
50dbca26 92 TH1F *fRecPtTpcSector[18]; // pt per sector
93 TH1F *fRecEtaTpcSector[18]; // eta per sector
94 TH1F *fRecQPtTpcSector[18]; // Qxpt per sector
95 TH1F *fRecEtaPtTpcSector[18]; // eta x pt per sector
96 TH1F *fSignedDcaTpcSector[18]; // dca per sector
9f9631f3 97
98 // 7 different case of hit in ITS ladders
50dbca26 99 TH1F *fSignDcaPos[7]; // dca for pos. charge
100 TH1F *fSignDcaNeg[7]; // dca for neg. charge
101 TH1F *fSignDcaNegInv[7]; // dca for neg. charge
102 TH1F *fPtSigmaPos[7]; // sigma pt for pos. charge
103 TH1F *fPtSigmaNeg[7]; // sigma pt for neg. charge
104 TH1F *fRecPtPosLadder[7]; // pt for pos. charge
105 TH1F *fRecPtNegLadder[7]; // pt for neg. charge
106 TH1F *fRecPhiPosLadder[7]; // phi for pos. charge
107 TH1F *fRecPhiNegLadder[7]; // phi for neg. charge
108 TH1F *fRecEtaPosLadder[7]; // eta for pos. charge
109 TH1F *fRecEtaNegLadder[7]; // eta for neg. charge
9f9631f3 110
111 // 2D: all measures as function of z of vertex
50dbca26 112 TH2F *fRecPtPosVz; // pt for pos. charge
113 TH2F *fRecPtNegVz; // pt for neg. charge
114 TH2F *fRecEtaPosVz; // eta for pos. charge
115 TH2F *fRecEtaNegVz; // eta for neg. charge
116 TH2F *fRecPhiPosVz; // phi for pos. charge
117 TH2F *fRecPhiNegVz; // phi for neg. charge
118 TH2F *fSignedDcaPosVz; // dca for pos. charge
119 TH2F *fSignedDcaNegVz; // dca for neg. charge
120 TH2F *fRecQPtPosEtaVz; // qxpt for pos. charge
121 TH2F *fRecQPtNegEtaVz; // qxpt for neg. charge
122 TH2F *fRecEtaPtPosVz; // etaxpt for pos. charge
123 TH2F *fRecEtaPtNegVz; // etaxpt for neg. charge
9f9631f3 124
125 //high
50dbca26 126 TH1F * fDeltaPhiAll; // dphi
127 TH2F * fDeltaPhiLeading; // dphi rel. to leading
128 TH1F * fDiffDcaD; // delta dca
9f9631f3 129
130 //sim
50dbca26 131 TH1F * fPhiRec; // phi
132 TH1F * fThetaRec; // theta
133 TH1F * fNumber; // n
134 TH1F * fVx; // vx
135 TH1F * fVy; // vy
136 TH1F * fVz; // vz
137
138 AliESDtrackCuts* fCuts; // List of cuts
9f9631f3 139 AliAnalysisTaskQASym(const AliAnalysisTaskQASym&); // not implemented
140 AliAnalysisTaskQASym& operator=(const AliAnalysisTaskQASym&); // not implemented
141
142 ClassDef(AliAnalysisTaskQASym, 1); // Basic QA exploiting symmetries
143};
144
145#endif