]>
Commit | Line | Data |
---|---|---|
b220e595 | 1 | #ifndef ALITRDONLINETRACKLETQA_H |
2 | #define ALITRDONLINETRACKLETQA_H | |
3 | ||
4 | #include "AliAnalysisTask.h" | |
5 | ||
6 | class TList; | |
7 | ||
8 | class AliInputEventHandler; | |
9 | class AliVEvent; | |
10 | class AliAODEvent; | |
11 | class AliMCEvent; | |
12 | ||
13 | class AliTRDgeometry; | |
14 | class AliTRDpadPlane; | |
15 | class AliTRDtrackletMCM; | |
16 | class AliTRDtrackletWord; | |
17 | ||
18 | class 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 |