1 #ifndef ALIANALYSISTASKPIDQA_H
2 #define ALIANALYSISTASKPIDQA_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 /* $Id: AliAnalysisTaskPIDqa.h 43642 2010-09-17 15:50:04Z wiechula $ */
8 // Author: Jens Wiechula, 24/02/2011
10 //==============================================================================
15 //==============================================================================
17 #include <TVectorDfwd.h>
19 #ifndef ALIANALYSISTASKSE_H
20 #include "AliAnalysisTaskSE.h"
26 class AliESDv0KineCuts;
28 class AliAnalysisTaskPIDqa : public AliAnalysisTaskSE {
32 AliAnalysisTaskPIDqa();
33 AliAnalysisTaskPIDqa(const char *name);
34 virtual ~AliAnalysisTaskPIDqa();
36 virtual void UserCreateOutputObjects();
38 virtual void UserExec(Option_t */*option*/);
42 AliPIDResponse *fPIDResponse; //! PID response Handler
43 AliESDv0KineCuts *fV0cuts; //! ESD V0 cuts
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)
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
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
60 TList *fListQAtrd; //! List with TRD QA histograms
61 TList *fListQAtrdNsig; //! List with TRD QA histograms for Nsigma approach
62 TList *fListQAtrdNsigTPCTOF; //! List with TRD QA histograms for Nsigma approach after TPC and TOF selection
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.
75 //qa object initialisation
77 void SetupTPCqa(Bool_t fillMC, Bool_t fill11h, Bool_t fillV0);
83 void SetupTOFHMPIDqa();
90 void ClearV0PIDlist();
99 void FillTOFHMPIDqa();
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);
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);
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);
120 AliAnalysisTaskPIDqa(const AliAnalysisTaskPIDqa &other);
121 AliAnalysisTaskPIDqa& operator=(const AliAnalysisTaskPIDqa &other);
123 ClassDef(AliAnalysisTaskPIDqa,2) // Task to properly set the PID response functions of all detectors