]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG1/AliAnalysisTaskQASym.h
put back default names for tasks used to find output results for post
[u/mrichter/AliRoot.git] / PWG1 / AliAnalysisTaskQASym.h
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:$ */
7  
8 //------------------------------
9 // Analysis task for quality-assurance of central tracking
10 // mainly based on fundamental symmetries 
11 //
12 // eva.sicking@cern.ch
13
14 class TH1F;
15 class TH2F;
16 class TList;
17 class TNtuple;
18
19 class AliESDEvent;
20 class AliESDtrack;
21 class AliESDtrackCuts;
22
23
24 #include "AliAnalysisTaskSE.h"
25
26 class AliAnalysisTaskQASym : public AliAnalysisTaskSE {
27  public:
28     AliAnalysisTaskQASym();
29     AliAnalysisTaskQASym(const char *name);
30     virtual ~AliAnalysisTaskQASym() {}
31   
32     virtual void   UserCreateOutputObjects();
33     virtual void   UserExec(Option_t *option);
34     virtual void   Terminate(Option_t *);
35     
36     
37   
38     virtual void   SetCuts(AliESDtrackCuts* cuts)
39         {fCuts = cuts;}
40     
41     virtual void   SetFieldOn(Bool_t b = kTRUE){fFieldOn = b;} 
42   
43  private:
44
45  
46   Bool_t      fFieldOn;         // field flag
47
48   TList       *fHists;          // List of histos
49
50   //old
51   TH1F        *fHistRECpt;      // pt 
52   TH1F        *fEta;            // eta
53   TH2F        *fEtaPhi;         // eta-phi
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
79   // two sides of TPC -> Eta/Theta
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
90
91   // sectors of TPC (with pt>xGeV?), TODO: extent to TPC standalone tracks
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
97
98   // 7 different case of hit in ITS ladders
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
110
111   // 2D: all measures as function of z of vertex
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
124
125   //high
126   TH1F * fDeltaPhiAll;                   // dphi
127   TH2F * fDeltaPhiLeading;               // dphi rel. to leading
128   TH1F * fDiffDcaD;                      // delta dca
129
130   //sim
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
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