]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TRD/qaRec/AliTRDresolution.h
fix ordering of tasks
[u/mrichter/AliRoot.git] / TRD / qaRec / AliTRDresolution.h
CommitLineData
e3cf3d02 1#ifndef ALITRDRESOLUTION_H
2#define ALITRDRESOLUTION_H
77203477 3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
e3cf3d02 6/* $Id: AliTRDresolution.h 27496 2008-07-22 08:35:45Z cblume $ */
77203477 7
8////////////////////////////////////////////////////////////////////////////
9// //
e3cf3d02 10// Resolution QA //
77203477 11// //
12////////////////////////////////////////////////////////////////////////////
13
3d86166d 14#ifndef ALITRDRECOTASK_H
15#include "AliTRDrecoTask.h"
16#endif
77203477 17
3c3d9ff1 18class TH1;
19class TF1;
b718144c 20class TObjArray;
aaf47b30 21class AliTRDReconstructor;
9605ce80 22class AliTRDgeometry;
aaf47b30 23class AliTRDrecoParam;
39779ce6 24class AliTRDseedV1;
25class AliTRDtrackInfo;
e3cf3d02 26class AliTRDresolution : public AliTRDrecoTask
874acced 27{
77203477 28public:
e9ecf70f 29 enum ETRDresolutionPlot {
e3cf3d02 30 kCluster = 0 // cluster - track
41b7c7b6 31 ,kTracklet = 1 // tracklet - track y pulls
e3cf3d02 32 ,kTrackletPhi = 2 // tracklet - track angular pulls residuals
33 ,kMCcluster = 3 // cluster - mc residuals/systematics
34 ,kMCtrackletY = 4 // tracklet - mc y resolution/systematics
35 ,kMCtrackletYPull = 5 // tracklet - mc y resolution/systematics
36 ,kMCtrackletZ = 6 // tracklet - mc z resolution/systematics (pad row cross)
37 ,kMCtrackletZPull = 7 // tracklet - mc z resolution/systematics (pad row cross)
38 ,kMCtrackletPhi = 8 // tracklet - mc phi resolution/systematics
39 ,kMCtrackY = 9 // Kalman Y resolution
40 ,kMCtrackYPull = 10 // Kalman Y resolution
41 ,kMCtrackZIn = 11 // Kalman Z resolution
42 ,kMCtrackZOut = 12 // Kalman Z resolution
43 ,kMCtrackZInPull = 13 // Kalman Z resolution
44 ,kMCtrackZOutPull = 14 // Kalman Z resolution
45 ,kMCtrackPt = 15 // Kalman Pt resolution
46 ,kNhistos = 16
874acced 47 };
e3cf3d02 48 enum ETRDresolutionSteer {
017bd6af 49 kVerbose = 0
50 ,kVisual = 1
51 };
874acced 52
e3cf3d02 53 AliTRDresolution();
54 virtual ~AliTRDresolution();
77203477 55
39779ce6 56 void CreateOutputObjects();
e15179be 57 Bool_t GetRefFigure(Int_t ifig);
cf194b94 58 TObjArray* Histos();
b2dc316d 59 void Exec(Option_t *);
017bd6af 60 Bool_t IsVerbose() const {return TESTBIT(fStatus, kVerbose);}
61 Bool_t IsVisual() const {return TESTBIT(fStatus, kVisual);}
d85cd79c 62 Bool_t PostProcess();
4fba4b4e 63 Bool_t Process(ETRDresolutionPlot ip, TF1 *f=0x0, Float_t scale=1.);
41b7c7b6 64 Bool_t Process3D(ETRDresolutionPlot ip, TF1 *f=0x0, Float_t scale=1.);
017bd6af 65
b1957d3c 66 TH1* PlotCluster(const AliTRDtrackV1 *t=0x0);
67 TH1* PlotTracklet(const AliTRDtrackV1 *t=0x0);
68 TH1* PlotTrackletPhi(const AliTRDtrackV1 *t=0x0);
81a6494d 69 TH1* PlotTrackIn(const AliTRDtrackV1 *t=0x0);
e9ecf70f 70 TH1* PlotMC(const AliTRDtrackV1 *t=0x0);
de520d8f 71
017bd6af 72 void SetRecoParam(AliTRDrecoParam *r);
73 void SetVerbose(Bool_t v = kTRUE) {v ? SETBIT(fStatus ,kVerbose): CLRBIT(fStatus ,kVerbose);}
74 void SetVisual(Bool_t v = kTRUE) {v ? SETBIT(fStatus, kVisual) : CLRBIT(fStatus, kVisual);}
75
39779ce6 76 void Terminate(Option_t *);
77203477 77
78private:
e3cf3d02 79 AliTRDresolution(const AliTRDresolution&);
80 AliTRDresolution& operator=(const AliTRDresolution&);
017bd6af 81 void AdjustF1(TH1 *h, TF1 *f);
77203477 82
b2dc316d 83 UChar_t fStatus; // steer parameter of the task
84 AliTRDReconstructor *fReconstructor; //! local reconstructor
85 AliTRDgeometry *fGeo; //! TRD geometry
86 TObjArray *fGraphS; //! result holder - sigma values
87 TObjArray *fGraphM; //! result holder - mean values
88
89 // calibration containers
6fc46cba 90 TObjArray *fCl; //! cluster2track calib
91 TObjArray *fTrklt; //! tracklet2track calib
92 TObjArray *fMCcl; //! cluster2mc calib
93 TObjArray *fMCtrklt;//! tracklet2mc calib
b2dc316d 94
e3cf3d02 95 ClassDef(AliTRDresolution, 1) // TRD tracking resolution task
77203477 96};
97#endif