]>
Commit | Line | Data |
---|---|---|
824c6477 | 1 | #ifndef AliAnalysisTaskHFEemcQA_cxx |
2 | #define AliAnalysisTaskHFEemcQA_cxx | |
3 | ||
4 | //QA task for EMCAL electron analysis | |
5 | ||
6 | class TH1F; | |
76e813d0 | 7 | class THnSparse; |
824c6477 | 8 | class AliESDEvent; |
9 | class AliAODEvent; | |
76e813d0 | 10 | class AliHFEcontainer; |
11 | class AliHFEcuts; | |
12 | class AliHFEpid; | |
13 | class AliHFEpidQAmanager; | |
14 | class AliCFManager; | |
824c6477 | 15 | |
16 | #include "AliAnalysisTaskSE.h" | |
17 | ||
18 | class AliAnalysisTaskHFEemcQA : public AliAnalysisTaskSE { | |
19 | public: | |
76e813d0 | 20 | AliAnalysisTaskHFEemcQA(); |
824c6477 | 21 | AliAnalysisTaskHFEemcQA(const char *name); |
76e813d0 | 22 | virtual ~AliAnalysisTaskHFEemcQA(); |
824c6477 | 23 | |
24 | virtual void UserCreateOutputObjects(); | |
25 | virtual void UserExec(Option_t *option); | |
26 | virtual void Terminate(Option_t *); | |
76e813d0 | 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 | ||
824c6477 | 35 | private: |
76e813d0 | 36 | enum{ |
37 | kAODanalysis = BIT(20), | |
38 | }; | |
39 | ||
bf5e5d9d | 40 | AliVEvent *fVevent; //!event object |
824c6477 | 41 | AliESDEvent *fESD; //!ESD object |
42 | AliAODEvent *fAOD; //!AOD object | |
76e813d0 | 43 | AliPIDResponse *fpidResponse; //!pid response |
44 | ||
45 | Bool_t fFlagSparse;// switch to THnspare | |
46 | ||
824c6477 | 47 | TList *fOutputList; //!Output list |
bf5e5d9d | 48 | TH1F *fNevents;//! no of events |
824c6477 | 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 | |
76e813d0 | 61 | TH2F *fTPCnsig;//!TPC Nsigma |
824c6477 | 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 | |
bf5e5d9d | 68 | TH2F *fEMCTPCnsig;//! EMC trk nsig |
824c6477 | 69 | TH2F *fEMCTPCNpts;//!EMC Npoints used for dedx |
70 | TH2F *fHistdEdxEop;//!E/p vs dedx | |
bf5e5d9d | 71 | TH2F *fHistNsigEop;//!E/p vs dedx |
824c6477 | 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 | ||
76e813d0 | 82 | THnSparse *fSparseElectron;//!Electron info |
83 | Double_t *fvalueElectron;//!Electron info | |
84 | ||
824c6477 | 85 | AliAnalysisTaskHFEemcQA(const AliAnalysisTaskHFEemcQA&); // not implemented |
86 | AliAnalysisTaskHFEemcQA& operator=(const AliAnalysisTaskHFEemcQA&); // not implemented | |
76e813d0 | 87 | |
824c6477 | 88 | ClassDef(AliAnalysisTaskHFEemcQA, 1); // example of analysis |
89 | }; | |
90 | ||
91 | #endif | |
92 | ||
93 |