Fixed grep syntax on OS X in the Analysis Plugin
[u/mrichter/AliRoot.git] / ANALYSIS / AliAnalysisTaskPIDqa.h
CommitLineData
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
23class AliPIDResponse;
24class TList;
25class AliVEvent;
26class AliESDv0KineCuts;
27
28class AliAnalysisTaskPIDqa : public AliAnalysisTaskSE {
29
30
31public:
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
41private:
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