1 #ifndef ALIANALYSISTASKPIDconfig_H
2 #define ALIANALYSISTASKPIDconfig_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 /* $Id: AliAnalysisTaskPIDconfig.h */
8 // Author: Naghmeh Mohammadi, 10/07/2014
10 //==============================================================================
15 //==============================================================================
17 #include <TVectorDfwd.h>
19 #include "AliAnalysisTaskSE.h"
21 #include "AliPIDResponse.h"
22 #include "AliCentrality.h"
41 class AliAnalysisTaskPIDconfig : public AliAnalysisTaskSE {
45 AliAnalysisTaskPIDconfig();
46 AliAnalysisTaskPIDconfig(const char *name);
47 virtual ~AliAnalysisTaskPIDconfig();
49 virtual void UserCreateOutputObjects();
50 virtual void UserExec(Option_t * /*option*/);
52 void SetFilterBit(Double_t b){fFilterBit = b;}
53 void SetCentralityPercentileMin(Int_t b){fCentralityPercentileMin = b;}
54 void SetCentralityPercentileMax(Int_t b){fCentralityPercentileMax = b;}
55 void SetCentralityEstimator(TString b){fCentralityEstimator = b;}
56 void SetUseCentrality(Bool_t b=kTRUE){fUseCentrality = b;}
57 void SetCentralityTrigger(Int_t b=AliVEvent::kMB){ fTriggerSelection = b;}
58 void SetDCAxyCut(Int_t b){fDCAxyCut = b;}
59 void SetDCAzCut(Int_t b){fDCAzCut = b;}
60 void SetCutTPCmultiplicityOutliersAOD(Bool_t b){fCutTPCmultiplicityOutliersAOD = b;}
61 void SetData2011(Bool_t b){fData2011 = b;}
62 void CheckCentrality(AliVEvent *event,Bool_t ¢ralitypass); //to use only events with the correct centrality....
63 void SetCuts(Bool_t b){fPIDcuts = b;}
64 //void MultiplicityOutlierCut(AliVEvent *event,Bool_t ¢ralitypass,Int_t ntracks);
65 void SetPIDcontoursList(TDirectory* b){fCutContourList = b;}
66 //TGraph* GetPIDcontours(TString specie, Double_t Plow, Double_t Phigh,Int_t centMin, Int_t centMax){}
67 void GetPIDContours();
74 AliVEvent *fVevent; //! event
75 AliESDEvent *fESD; //! esd
76 AliAODEvent *fAOD; //! aod
77 AliPIDResponse *fPIDResponse; //! PID response Handler
78 Int_t fTriggerSelection; // trigger selection
79 Int_t fCentralityPercentileMin; // min centrality
80 Int_t fCentralityPercentileMax; // max cen
81 Double_t fFilterBit; // filterbit
82 Double_t fDCAxyCut; // dca cut
83 Double_t fDCAzCut; // dcz z
84 Double_t fLowPtPIDTPCnsigLow_Pion[6]; //nsig low cut Pion
85 Double_t fLowPtPIDTPCnsigHigh_Pion[6]; //nsig high cut Pion
86 Double_t fLowPtPIDTPCnsigLow_Kaon[6]; //nsig low cut Kaon
87 Double_t fLowPtPIDTPCnsigHigh_Kaon[6]; //nsig high cut Kaon
88 Bool_t fData2011; // 2011 data
89 Bool_t fTriggerMB; // minB trigger
90 Bool_t fTriggerCentral; // cen trigger
91 Bool_t fUseCentrality; // use centrality
92 Bool_t fCutTPCmultiplicityOutliersAOD; // do outlier cut
93 Bool_t fPIDcuts; // pid cuts
94 TString fCentralityEstimator;// cen estimator "V0M","TRK","TKL","ZDC","FMD"
95 TFile *fContoursFile; //! contours file
96 TDirectory *fCutContourList; //! contour list
97 TList *fListQA; //! List of all lists
98 TList *fListQAtpctof; //! List with combined PID from TPC + TOF
99 TList *fListQAInfo; //! list q ainfo
100 TH1F *fhistCentralityPass; //! cen histo
101 TH1F *fNoEvents; //! event no
102 TH1F *fpVtxZ; //! v vertex no
103 TH2F *fhistDCABefore; //! dca after hist
104 TH2F *fhistDCAAfter; //! another hist
105 TH1F *fhistPhiDistBefore; //! another hist
106 TH1F *fhistPhiDistAfter; //! another hist
107 TH1F *fhistEtaDistBefore; //! another hist
108 TH1F *fhistEtaDistAfter; //! another hist
109 TH2F *fTPCvsGlobalMultBeforeOutliers; //! another hist
110 TH2F *fTPCvsGlobalMultAfterOutliers; //! another hist
111 TH2F *fTPCvsGlobalMultAfter; //! another hist
112 TH2F *fHistBetavsPTOFbeforePID; //! another hist
113 TH2F *fHistdEdxvsPTPCbeforePID; //! another hist
114 TH3F *fhistNsigmaP; //! another hist
115 TH2F *fhistTPCnSigmavsP; //! another hist
116 TH2F *fHistBetavsPTOFafterPID; //! another hist
117 TH2F *fHistdEdxvsPTPCafterPID; //! another hist
118 TH2F *fHistBetavsPTOFafterPID_2; //! another hist
119 TH2F *fHistdEdxvsPTPCafterPID_2; //! another hist
120 TH2F *fHistBetavsPTOFafterPIDTPCTOF; //! another hist
121 TH2F *fHistdEdxvsPTPCafterPIDTPCTOF; //! another hist
122 TH2F *fHistBetavsPTOFafterPIDTPConly; //! another hist
123 TH2F *fHistdEdxvsPTPCafterPIDTPConly; //! another hist
124 TH2F *fHistPion_BetavsPTOFafterPIDTPCTOF; //! another hist
125 TH2F *fHistPion_dEdxvsPTPCafterPIDTPCTOF; //!another hist
126 TH2F *fHistKaon_BetavsPTOFafterPIDTPCTOF; //! another hist
127 TH2F *fHistKaon_dEdxvsPTPCafterPIDTPCTOF; //!another hist
128 TH2F *fHistProton_BetavsPTOFafterPIDTPCTOF; //! another hist
129 TH2F *fHistProton_dEdxvsPTPCafterPIDTPCTOF; //!another hist
130 TH1F *fhistPionEtaDistAfter; //!another hist
131 TH1F *fhistKaonEtaDistAfter; //!another hist
132 TH1F *fhistProtonEtaDistAfter; //!another hist
133 TCutG *fCutContour[150]; //! TCutG contours
134 TGraph *fCutGraph[150]; //! graphs
137 //qa object initialisation
138 void SetupTPCTOFqa();
139 void SetupEventInfo();
142 AliAnalysisTaskPIDconfig(const AliAnalysisTaskPIDconfig &other);
143 AliAnalysisTaskPIDconfig& operator=(const AliAnalysisTaskPIDconfig &other);
145 ClassDef(AliAnalysisTaskPIDconfig,3) // Task to properly set the PID response functions of all detectors