from nagmeh: addtask for pid config task and updates to pid config task
[u/mrichter/AliRoot.git] / PWG / FLOW / Tasks / AliAnalysisTaskPIDconfig.h
CommitLineData
2c03c485 1#ifndef ALIANALYSISTASKPIDconfig_H
2#define ALIANALYSISTASKPIDconfig_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: AliAnalysisTaskPIDconfig.h */
8// Author: Naghmeh Mohammadi, 10/07/2014
9
10//==============================================================================
11//
12//
13//
14//
15//==============================================================================
16
17#include <TVectorDfwd.h>
18
19#include "AliAnalysisTaskSE.h"
20#include "AliPID.h"
21#include "AliPIDResponse.h"
22#include "AliCentrality.h"
23
24
25
26class AliESDEvent;
27class AliAODEvent;
28class AliESDTrack;
29class AliAODTrack;
30class AliPIDResponse;
31class TList;
32class AliVEvent;
33class TH1F;
34class TH2F;
35class TH3F;
36class TH3F;
37
38
39
40class AliAnalysisTaskPIDconfig : public AliAnalysisTaskSE {
41
42
43public:
d802b6ea 44 AliAnalysisTaskPIDconfig();
45 AliAnalysisTaskPIDconfig(const char *name);
46 virtual ~AliAnalysisTaskPIDconfig();
47
48 virtual void UserCreateOutputObjects();
49 virtual void UserExec(Option_t * /*option*/);
50
51 void SetFilterBit(Double_t b){fFilterBit = b;}
52 void SetCentralityPercentileMin(Int_t b){fCentralityPercentileMin = b;}
53 void SetCentralityPercentileMax(Int_t b){fCentralityPercentileMax = b;}
54 void SetCentralityEstimator(TString b){fCentralityEstimator = b;}
55 void SetUseCentrality(Bool_t b=kTRUE){fUseCentrality = b;}
56 void SetCentralityTrigger(Int_t b=AliVEvent::kMB){ fTriggerSelection = b;}
57 void SetDCAxyCut(Int_t b){fDCAxyCut = b;}
58 void SetDCAzCut(Int_t b){fDCAzCut = b;}
59 void SetCutTPCmultiplicityOutliersAOD(Bool_t b){fCutTPCmultiplicityOutliersAOD = b;}
60 void SetData2011(Bool_t b){fData2011 = b;}
61 void CheckCentrality(AliVEvent *event,Bool_t &centralitypass); //to use only events with the correct centrality....
62 void SetCuts(Bool_t b){fPIDcuts = b;}
2c03c485 63 //void MultiplicityOutlierCut(AliVEvent *event,Bool_t &centralitypass,Int_t ntracks);
d802b6ea 64 void SetPIDcontoursList(TDirectory* b){fContourCutList = b;}
2c03c485 65 //TGraph* GetPIDcontours(TString specie, Double_t Plow, Double_t Phigh,Int_t centMin, Int_t centMax){}
66
67protected:
68
69
70
71private:
72 AliVEvent *fVevent;
73 AliESDEvent *fESD;
74 AliAODEvent *fAOD;
75 AliPIDResponse *fPIDResponse; //! PID response Handler
76 Int_t fTriggerSelection;
77 Int_t fCentralityPercentileMin;
78 Int_t fCentralityPercentileMax;
79 Double_t fFilterBit;
80 Double_t fDCAxyCut;
81 Double_t fDCAzCut;
82 Bool_t fData2011;
83 Bool_t fTriggerMB;
84 Bool_t fTriggerCentral;
85 Bool_t fUseCentrality;
86 Bool_t fCutTPCmultiplicityOutliersAOD;
87 Bool_t fPIDcuts;
88 TString fCentralityEstimator; //"V0M","TRK","TKL","ZDC","FMD"
d802b6ea 89 TDirectory *fContourCutList;
2c03c485 90 TList *fListQA; // List of all lists
91 TList *fListQAtpctof; //! List with combined PID from TPC + TOF
92 TList *fListQAInfo;
93 TH1F *fhistCentralityPass;
94 TH1F *fNoEvents;
95 TH1F *fpVtxZ;
96 TH2F *fhistDCABefore;
97 TH2F *fhistDCAAfter;
98 TH1F *fhistPhiDistBefore;
99 TH1F *fhistPhiDistAfter;
100 TH1F *fhistEtaDistBefore;
101 TH1F *fhistEtaDistAfter;
102 TH2F *fTPCvsGlobalMultBeforeOutliers;
103 TH2F *fTPCvsGlobalMultAfterOutliers;
104 TH2F *fTPCvsGlobalMultAfter;
105 TH2F *fHistBetavsPTOFbeforePID;
106 TH2F *fHistdEdxVsPTPCbeforePID;
107 TH2F *fHistBetavsPTOFafterPID;
108 TH2F *fHistdEdxVsPTPCafterPID;
109 TH3F *fhistNsigmaP;
110 TH3F *fhistNsigmaPt;
111
112
113
114 //qa object initialisation
115 void SetupTPCTOFqa();
116 void SetupEventInfo();
117 //
118
119 AliAnalysisTaskPIDconfig(const AliAnalysisTaskPIDconfig &other);
120 AliAnalysisTaskPIDconfig& operator=(const AliAnalysisTaskPIDconfig &other);
121
122 ClassDef(AliAnalysisTaskPIDconfig,2) // Task to properly set the PID response functions of all detectors
123};
124
125#endif