]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/JetTasks/AliAnalysisTaskPWG4PidDetEx.h
added new spectrum task including FF and with using PWG4 unfolding, just THNsparse...
[u/mrichter/AliRoot.git] / PWG4 / JetTasks / AliAnalysisTaskPWG4PidDetEx.h
CommitLineData
de6f8090 1#ifndef ALIANALYSISTASKPWG4PidDetEx_H
2#define ALIANALYSISTASKPWG4PidDetEx_H
3
4#include <TList.h>
5#include <TH1.h>
6#include <TH2.h>
7#include <TProfile.h>
8
9#include "AliAnalysisTaskSE.h"
10#include "AliAODEvent.h"
11#include "AliESDEvent.h"
12#include "AliAnalysisFilter.h"
13
14class AliAnalysisTaskPWG4PidDetEx : public AliAnalysisTaskSE {
15 public:
16 enum TriggerMode {kMB1, kMB2, kSPDFASTOR};
17
18 AliAnalysisTaskPWG4PidDetEx();
19 AliAnalysisTaskPWG4PidDetEx(const char *name);
20 virtual ~AliAnalysisTaskPWG4PidDetEx();
21
18179af0 22 virtual void UserCreateOutputObjects();
23 virtual void UserExec(Option_t *option);
de6f8090 24 virtual void Terminate(Option_t *);
25
26 virtual void SetTrackFilter(AliAnalysisFilter* trackF) {fTrackFilter = trackF;}
27 void SetAnalysisType(const char* analysisType) {fAnalysisType = analysisType;}
28 void SetTriggerMode(TriggerMode triggermode) {fTriggerMode = triggermode;}
29 void SetMC(Bool_t analysisMC){fAnalysisMC = analysisMC;}
30 void SetPtCut(Double_t ptCut){fPtCut = ptCut;}
31 void SetEtaCut(Double_t etaCut){fEtaCut = etaCut;}
32
33 Bool_t IsEventTriggered(AliVEvent* ev, TriggerMode trigger);
34
35 void AnalyzeESD(AliESDEvent* esd);
36 void AnalyzeAOD(AliAODEvent* aod);
37
38 private:
39 AliAnalysisTaskPWG4PidDetEx(const AliAnalysisTaskPWG4PidDetEx&);
40 AliAnalysisTaskPWG4PidDetEx& operator=(const AliAnalysisTaskPWG4PidDetEx&);
41
42 Double_t IntegratedLength(AliVTrack* track) const;
43 Double_t MassSquared (AliVTrack* track) const;
44 Double_t KaonDecay (AliVTrack* track) const;
45
46 static const Double_t fgkCtau; // distance for kaon decay
47 static const Double_t fgkPionMass; // pion mass
48 static const Double_t fgkKaonMass; // kaon mass
49 static const Double_t fgkProtonMass; // proton mass
792df7ad 50 static const Double_t fgkC; // peed of light
de6f8090 51
52
53 AliESDEvent* fESD; //! ESD object
54 AliAODEvent* fAOD; //! AOD object
55 TList* fListOfHists; //! Output list of histograms
56 Double_t fEtaCut; // Eta cut used to select particles
57 Double_t fPtCut; // pT cut used to select particles
58 Int_t fXbins; // #bins for Pt histos range
59 Double_t fXmin; // min X value for histo range
60 Double_t fTOFCutP; // max X value for histo range; also the p cut used in TOF for PID
61
62 AliAnalysisFilter* fTrackFilter; // Track Filter
63 Bool_t fAnalysisMC; // Flag for MC analysis
64 TString fAnalysisType; // "ESD" or "AOD"
65 TriggerMode fTriggerMode; // Trigger mode
66
67
68 //Histograms
69 TH1I* fEvents; //! #analyzed events
70 TH1F* fEffTot; //! pT for all charged particles
71 TH1F* fEffPID; //! pT for charged particles with TOF signal
72 TH1F* fAccP; //! pT for charged particles with p < fTOFCutP
73 TH1F* fAccPt; //! pT for charged particles with pT < fTOFCutP
74 TProfile* fKaonDecayCorr; //! decay correction for Kaons
75 TH1F* fdNdPt; //! pT dist (Rec)
76 TH2F* fMassAll; //! mass calculated from TOF vs p
77 TH1F* fdNdPtPion; //! pT for pions identified with TOF
78 TH2F* fMassPion; //! mass for pions identified with TOF
79 TH2F* fdEdxTPCPion; //! dE/dx vs p (TPC) for pions identified with TOF
80 TH2F* fbgTPCPion; //! dE/dx vs betagamma (TPC) for pions identified with TOF
81 TH1F* fdNdPtKaon; //! pT for kaons identified with TOF
82 TH2F* fMassKaon; //! mass for kaons identified with TOF
83 TH2F* fdEdxTPCKaon; //! dE/dx vs p (TPC) for kaons identified with TOF
84 TH2F* fbgTPCKaon; //! dE/dx vs betagamma (TPC) for kaons identified with TOF
85 TH1F* fdNdPtProton; //! pT for protons identified with TOF
86 TH2F* fMassProton; //! mass for protons identified with TOF
87 TH2F* fdEdxTPCProton; //! dE/dx vs p (TPC) for protons identified with TOF
88 TH2F* fbgTPCProton; //! dE/dx vs betagamma (TPC) for protons identified with TOF
89 TH1F* fdNdPtMC; //! pT dist (MC)
90 TH1F* fdNdPtMCPion; //! pT dist for pions (MC)
91 TH1F* fdNdPtMCKaon; //! pT dist for kaons (MC)
92 TH1F* fdNdPtMCProton; //! pT dist for protons (MC)
93
94 ClassDef(AliAnalysisTaskPWG4PidDetEx, 1); //Analysis task for PWG4 PID using detector signals
95};
96
97#endif