]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/FLOW/Tasks/AliAnalysisTaskPIDconfig.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWG / FLOW / Tasks / AliAnalysisTaskPIDconfig.h
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 #include "TCutG.h"
24
25
26
27 class AliESDEvent;
28 class AliAODEvent;
29 class AliESDTrack;
30 class AliAODTrack;
31 class AliPIDResponse;
32 class TList;
33 class AliVEvent;
34 class TH1F;
35 class TH2F;
36 class TH3F;
37 class TH3F;
38
39
40
41 class AliAnalysisTaskPIDconfig : public AliAnalysisTaskSE {
42     
43     
44 public:
45     AliAnalysisTaskPIDconfig();
46     AliAnalysisTaskPIDconfig(const char *name);
47     virtual ~AliAnalysisTaskPIDconfig();
48     
49     virtual void UserCreateOutputObjects();
50     virtual void UserExec(Option_t * /*option*/);
51     
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 &centralitypass); //to use only events with the correct centrality....
63     void SetCuts(Bool_t b){fPIDcuts = b;}
64     //void MultiplicityOutlierCut(AliVEvent *event,Bool_t &centralitypass,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();
68     
69 protected:
70     
71     
72     
73 private:
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
135     
136     
137     //qa object initialisation
138     void SetupTPCTOFqa();
139     void SetupEventInfo();
140     //
141     
142     AliAnalysisTaskPIDconfig(const AliAnalysisTaskPIDconfig &other);
143     AliAnalysisTaskPIDconfig& operator=(const AliAnalysisTaskPIDconfig &other);
144     
145     ClassDef(AliAnalysisTaskPIDconfig,3)  // Task to properly set the PID response functions of all detectors
146 };
147
148 #endif