]>
Commit | Line | Data |
---|---|---|
1 | #ifndef AliAnalysisTaskHFEemcQA_cxx | |
2 | #define AliAnalysisTaskHFEemcQA_cxx | |
3 | ||
4 | //QA task for EMCAL electron analysis | |
5 | ||
6 | class TH1F; | |
7 | class THnSparse; | |
8 | class AliESDEvent; | |
9 | class AliAODEvent; | |
10 | class AliHFEcontainer; | |
11 | class AliHFEcuts; | |
12 | class AliHFEpid; | |
13 | class AliHFEpidQAmanager; | |
14 | class AliCFManager; | |
15 | ||
16 | #include "AliAnalysisTaskSE.h" | |
17 | ||
18 | class AliAnalysisTaskHFEemcQA : public AliAnalysisTaskSE { | |
19 | public: | |
20 | AliAnalysisTaskHFEemcQA(); | |
21 | AliAnalysisTaskHFEemcQA(const char *name); | |
22 | virtual ~AliAnalysisTaskHFEemcQA(); | |
23 | ||
24 | virtual void UserCreateOutputObjects(); | |
25 | virtual void UserExec(Option_t *option); | |
26 | virtual void Terminate(Option_t *); | |
27 | ||
28 | void SetAODAnalysis() { SetBit(kAODanalysis, kTRUE); }; | |
29 | void SetESDAnalysis() { SetBit(kAODanalysis, kFALSE); }; | |
30 | Bool_t IsAODanalysis() const { return TestBit(kAODanalysis); }; | |
31 | ||
32 | Bool_t GetElecIDsparse() {return fFlagSparse;}; | |
33 | void SetElecIDsparse(Bool_t flagelecIDsparse){fFlagSparse = flagelecIDsparse;}; | |
34 | ||
35 | private: | |
36 | enum{ | |
37 | kAODanalysis = BIT(20), | |
38 | }; | |
39 | ||
40 | AliVEvent *fVevent; //!event object | |
41 | AliESDEvent *fESD; //!ESD object | |
42 | AliAODEvent *fAOD; //!AOD object | |
43 | AliPIDResponse *fpidResponse; //!pid response | |
44 | ||
45 | Bool_t fFlagSparse;// switch to THnspare | |
46 | ||
47 | TList *fOutputList; //!Output list | |
48 | TH1F *fNevents;//! no of events | |
49 | TH1F *fVtxZ;//!Vertex z | |
50 | TH1F *fVtxX;//!Vertex x | |
51 | TH1F *fVtxY;//!Vertex y | |
52 | TH2F *fTrigMulti;//!trigger multiplicity | |
53 | TH1F *fHistClustE;//!cluster energy | |
54 | TH2F *fEMCClsEtaPhi;//! EMC cluster eta and phi | |
55 | TH1F *fNegTrkIDPt;//!neg track ID | |
56 | TH1F *fTrkPt;//!track pt | |
57 | TH1F *fTrketa;//!track eta | |
58 | TH1F *fTrkphi;//!track phi | |
59 | TH2F *fdEdx;//!dedx vs pt | |
60 | TH2F *fTPCNpts;//!TPC Npoints used for dedx | |
61 | TH2F *fTPCnsig;//!TPC Nsigma | |
62 | TH1F *fHistPtMatch;//!tracks matched to EMCAL | |
63 | TH2F *fEMCTrkMatch;//!Distance of EMC cluster to closest track in phi and z | |
64 | TH1F *fEMCTrkPt;//!tracks with EMCAL cluster | |
65 | TH1F *fEMCTrketa;//!EMC trk eta | |
66 | TH1F *fEMCTrkphi;//!EMC trk phi | |
67 | TH2F *fEMCdEdx;//!EMC trk dedx | |
68 | TH2F *fEMCTPCnsig;//! EMC trk nsig | |
69 | TH2F *fEMCTPCNpts;//!EMC Npoints used for dedx | |
70 | TH2F *fHistdEdxEop;//!E/p vs dedx | |
71 | TH2F *fHistNsigEop;//!E/p vs dedx | |
72 | TH2F *fHistEop;//!pt vs E/p | |
73 | TH2F *fEleCanTPCNpts;//!ele cand TPC Npoints used for dedx | |
74 | TH2F *fEleCanTPCNCls;//!ele cand TPC N clusters | |
75 | TH2F *fEleCanITSNCls;//!ele cand ITS N clusters | |
76 | TH1F *fEleCanITShit;//!ele cand ITS hit map | |
77 | TH2F *fEleCanSPD1;//!ele cand hit SPD layer 1 | |
78 | TH2F *fEleCanSPD2;//!ele cand hit SPD layer 2 | |
79 | TH2F *fEleCanSPDBoth;//!ele cand SPD both layer | |
80 | TH2F *fEleCanSPDOr;//!ele cand SPD or | |
81 | ||
82 | THnSparse *fSparseElectron;//!Electron info | |
83 | Double_t *fvalueElectron;//!Electron info | |
84 | ||
85 | AliAnalysisTaskHFEemcQA(const AliAnalysisTaskHFEemcQA&); // not implemented | |
86 | AliAnalysisTaskHFEemcQA& operator=(const AliAnalysisTaskHFEemcQA&); // not implemented | |
87 | ||
88 | ClassDef(AliAnalysisTaskHFEemcQA, 1); // example of analysis | |
89 | }; | |
90 | ||
91 | #endif | |
92 | ||
93 |