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