]>
Commit | Line | Data |
---|---|---|
a65a7e70 | 1 | #ifndef ALIANALYSISTASKPIDQA_H |
2 | #define ALIANALYSISTASKPIDQA_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | /* $Id: AliAnalysisTaskPIDqa.h 43642 2010-09-17 15:50:04Z wiechula $ */ | |
8 | // Author: Jens Wiechula, 24/02/2011 | |
9 | ||
10 | //============================================================================== | |
11 | // | |
12 | // | |
13 | // | |
14 | // | |
15 | //============================================================================== | |
16 | ||
17 | #include <TVectorDfwd.h> | |
18 | ||
19 | #ifndef ALIANALYSISTASKSE_H | |
20 | #include "AliAnalysisTaskSE.h" | |
21 | #endif | |
22 | ||
23 | class AliPIDResponse; | |
24 | class TList; | |
25 | class AliVEvent; | |
26 | class AliESDv0KineCuts; | |
27 | ||
28 | class AliAnalysisTaskPIDqa : public AliAnalysisTaskSE { | |
29 | ||
30 | ||
31 | public: | |
32 | AliAnalysisTaskPIDqa(); | |
33 | AliAnalysisTaskPIDqa(const char *name); | |
34 | virtual ~AliAnalysisTaskPIDqa(); | |
35 | ||
36 | virtual void UserCreateOutputObjects(); | |
37 | ||
38 | virtual void UserExec(Option_t */*option*/); | |
39 | ||
40 | ||
41 | private: | |
42 | AliPIDResponse *fPIDResponse; //! PID response Handler | |
43 | AliESDv0KineCuts *fV0cuts; //! ESD V0 cuts | |
44 | ||
45 | TObjArray *fV0electrons; //! array with pointer to identified particles from V0 decays (electrons) | |
46 | TObjArray *fV0pions; //! array with pointer to identified particles from V0 decays (pions) | |
47 | TObjArray *fV0kaons; //! array with pointer to identified particles from V0 decays (kaons) | |
48 | TObjArray *fV0protons; //! array with pointer to identified particles from V0 decays (ptotons) | |
49 | ||
50 | TList *fListQA; //! list with all QA histograms | |
51 | TList *fListQAits; //! List with ITS QA histograms | |
52 | TList *fListQAitsSA; //! List with ITS SA QA histograms | |
53 | TList *fListQAitsPureSA; //! List with ITS pure SA QA histograms | |
54 | TList *fListQAtpc; //! List with TPC QA histograms | |
ce33212f | 55 | TList *fListQAtpcBasic; //! Sub-list with TPC QA histograms - basic |
56 | TList *fListQAtpcMCtruth; //! Sub-list with TPC QA histograms - only MC truth identified particles | |
57 | TList *fListQAtpcHybrid; //! Sub-list with TPC QA histograms - the "hybrid" scenario | |
58 | TList *fListQAtpcOROChigh;//! Sub-list with TPC QA histograms - the "OROChigh" scenario | |
59 | TList *fListQAtpcV0; //! Sub-list with TPC QA histograms - V0s | |
a65a7e70 | 60 | TList *fListQAtrd; //! List with TRD QA histograms |
6f3523b5 | 61 | TList *fListQAtrdNsig; //! List with TRD QA histograms for Nsigma approach |
c2f39c0f | 62 | TList *fListQAtrdNsigTPCTOF; //! List with TRD QA histograms for Nsigma approach after TPC and TOF selection |
a65a7e70 | 63 | TList *fListQAtof; //! List with TOF QA histograms |
64 | TList *fListQAt0; //! List with T0 QA histograms | |
65 | TList *fListQAemcal; //! List with EMCAL QA histograms | |
66 | TList *fListQAhmpid; //! List with EMCAL QA histograms | |
67 | TList *fListQAtofhmpid; //! List with EMCAL QA histograms | |
68 | TList *fListQAtpctof; //! List with combined PID from TPC + TOF | |
69 | TList *fListQAV0; //! List with V0 kine cuts QA histograms | |
70 | TList *fListQAinfo; //! List with information about loaded splines etc. | |
71 | ||
72 | ||
73 | void ExecNewRun(); | |
74 | ||
75 | //qa object initialisation | |
76 | void SetupITSqa(); | |
ce33212f | 77 | void SetupTPCqa(Bool_t fillMC, Bool_t fill11h, Bool_t fillV0); |
a65a7e70 | 78 | void SetupTRDqa(); |
79 | void SetupTOFqa(); | |
80 | void SetupT0qa(); | |
81 | void SetupEMCALqa(); | |
82 | void SetupHMPIDqa(); | |
83 | void SetupTOFHMPIDqa(); | |
84 | void SetupTPCTOFqa(); | |
85 | void SetupV0qa(); | |
86 | void SetupQAinfo(); | |
87 | ||
88 | // | |
89 | void FillV0PIDlist(); | |
90 | void ClearV0PIDlist(); | |
91 | // | |
92 | void FillITSqa(); | |
93 | void FillTPCqa(); | |
94 | void FillTRDqa(); | |
95 | void FillTOFqa(); | |
96 | void FillT0qa(); | |
97 | void FillEMCALqa(); | |
98 | void FillHMPIDqa(); | |
99 | void FillTOFHMPIDqa(); | |
100 | void FillTPCTOFqa(); | |
101 | void FillQAinfo(); | |
ce33212f | 102 | |
103 | // Adding TPC Histograms - called in SetupTPCqa | |
104 | void AddTPCHistogramsSignal(TList *sublist, const char *scenario); | |
105 | void AddTPCHistogramsNsigma(TList *sublist, const char *scenario, Int_t scnumber); | |
106 | ||
107 | // Fill TPC Histograms - called in FillTPCqa | |
108 | void FillTPCHistogramsSignal(TList *sublist, Int_t scenario, AliVTrack *track, Int_t nTracks); | |
109 | void FillTPCHistogramsNsigma(TList *sublist, Int_t scenario, AliVTrack *track, Int_t nTracks); | |
110 | ||
a65a7e70 | 111 | // |
112 | void SetRecoInfo(); | |
113 | ||
114 | //helper functions | |
115 | TVectorD* MakeLogBinning(Int_t nbinsX, Double_t xmin, Double_t xmax); | |
116 | TVectorD* MakeLinBinning(Int_t nbinsX, Double_t xmin, Double_t xmax); | |
117 | TVectorD* MakeArbitraryBinning(const char* bins); | |
118 | ||
119 | ||
120 | AliAnalysisTaskPIDqa(const AliAnalysisTaskPIDqa &other); | |
121 | AliAnalysisTaskPIDqa& operator=(const AliAnalysisTaskPIDqa &other); | |
122 | ||
123 | ClassDef(AliAnalysisTaskPIDqa,2) // Task to properly set the PID response functions of all detectors | |
124 | }; | |
125 | #endif |