]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG1/TRD/AliTRDonlineTrackletQA.h
Add tracklet tasks (Jochen)
[u/mrichter/AliRoot.git] / PWG1 / TRD / AliTRDonlineTrackletQA.h
CommitLineData
b220e595 1#ifndef ALITRDONLINETRACKLETQA_H
2#define ALITRDONLINETRACKLETQA_H
3
4#include "AliAnalysisTask.h"
5
6class TList;
7
8class AliInputEventHandler;
9class AliVEvent;
10class AliAODEvent;
11class AliMCEvent;
12
13class AliTRDgeometry;
14class AliTRDpadPlane;
15class AliTRDtrackletMCM;
16class AliTRDtrackletWord;
17
18class AliTRDonlineTrackletQA : public AliAnalysisTask
19{
20 public:
21 AliTRDonlineTrackletQA(const char *name);
22 ~AliTRDonlineTrackletQA();
23
24 void ConnectInputData(const Option_t *option);
25 void CreateOutputObjects();
26 void Exec(const Option_t *option);
27 void LocalInit();
28 void Terminate(const Option_t *option);
29
30 void PlotMC(AliTRDtrackletMCM *trkl);
31 void PlotESD(AliTRDtrackletMCM *trkl);
32
33 void PlotESD(AliTRDtrackletWord *trkl);
34
35 Int_t GetTrackletsForMC(Int_t label, Int_t idx[]);
36
37 protected:
38 AliESDEvent *fESD; //!
39
40 AliInputEventHandler *fInputHandler; //!
41 AliVEvent *fInputEvent; //!
42 AliAODEvent *fOutputAOD; //!
43 AliMCEvent *fMCEvent; //!
44
45 TClonesArray *fTrackletsRaw; //!
46 TClonesArray *fTrackletsSim; //!
47
48 // ----- output objects -----
49 TList *fOutputList; //! list of output objects
50 TH1F *fHistYpos; //! trkl y-position within chamber
51 TH1F *fHistYres; //! trkl y-residual to track reference
52 TH2F *fHistYresDy; //! trkl y-residual to track reference vs. deflection
53 TH1F *fHistdY; //! trkl dy
54 TH1F *fHistdYres; //! trkl dy-residual to track reference
55 TH2F *fHistYlocal[6]; //! trkl local y vs. MC (per layer)
56 TH1F *fHistYresESD; //! trkl y-residual to ESD track
57 TH1F *fHistdYresESD; //! trkl dy-residual to ESD track
58 TH1F *fHistCanddY; //! trkl cand at given dy
59 TH1F *fHistFounddY; //! trkl found at given dy
60 TH1F *fHistTrklPerRef; //! no. of tracklets found per track reference
61 TH2F *fHistdYdYref; //! dy vs. dy from track reference
62 TH1F *fHistYposRaw; //! trkl y-position within chamber
63 TH1F *fHistdYRaw; //! trkl dy
64 TH2F *fHistYdYRaw; //! y vs dy from raw
65 TH1F *fHistZrow; //! z-row
66 TH1F *fHistZrowRaw; //! z-row
67 TH1F *fHistPid; //! PID
68 TH1F *fHistPidRaw; //! PID
69 TH1F *fHistYdiff; //! difference in y between sim and raw
70 TH1F *fHistdYdiff; //! difference in dy between sim and raw
71 TH2F *fHistdYdYraw; //! dy sim vs. raw
72 TTree *fTreeTracklets; //! store tracklet information
73
74 // ----- temporary storage -----
75 Float_t fY;
76 Float_t fDY;
77 Float_t fYdiff;
78 Float_t fDYdiff;
79 Int_t fQ0;
80 Int_t fQ1;
81 Int_t fNHits;
82
83 // ----- configuration -----
84 Float_t fMinPt; // minimal pt for tracks and track reference
85 // which are used for comparison
86
87 // ----- internal use -----
88 AliTRDgeometry *fGeo; //! TRD geometry
89
90 Int_t fNevent;
91
92 TString fPath; //!
93 TFile *fTrackletFile; //!
94 Int_t fNEventsPerFile; //!
95 Int_t fEvent; //!
96 Int_t fFileNumber; //!
97 TTree *fTrackletTree; //!
98 TTree *fTrackletTreeRaw; //!
99
100 private:
101 AliTRDonlineTrackletQA(const AliTRDonlineTrackletQA&); // not implemented
102 AliTRDonlineTrackletQA& operator=(const AliTRDonlineTrackletQA&); // not implemented
103
104 ClassDef(AliTRDonlineTrackletQA, 0);
105};
106
107#endif