]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/RESONANCES/extra/AliAnalysisTaskResonanceQA.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGLF / RESONANCES / extra / AliAnalysisTaskResonanceQA.h
CommitLineData
035b8eff 1#ifndef ALIANALYSISTASKRESONANCEQA_H
2#define ALIANALYSISTASKRESONANCEQA_H
c865cb1d 3
4// analysis task creating basic QA plots for resonance particles
5// Author: Ayben Karasu Uysal
035b8eff 6// Computes some QA histograms useful for checking productions and data
7// both for counting resonances inside MC, and for checking PID performances
c865cb1d 8
9class TH1I;
10class TH1F;
11class TH2F;
12
13class AliESDpid;
14class AliESDEvent;
15class AliESDtrackCuts;
16
17#include "AliAnalysisTaskSE.h"
18
19class AliAnalysisTaskResonanceQA : public AliAnalysisTaskSE {
20public:
21
22 enum ERsn {
23 kPhi = 0,
24 kKStar0,
25 kRho,
26 kLambdaStar,
27 kXiStar0,
c865cb1d 28 kSigmaStarP,
c865cb1d 29 kSigmaStarM,
30 kDeltaPP,
31
32 // this must be last and counter
33 kResonances
34 };
f4304ff3 35
36 enum EEvtType {
37 kBadNoVertex,
38 kBadVertexOutZ,
39 kGoodEvent,
40
41 // this must be last and counter
42 kEvtTypes
43 };
c865cb1d 44
45 AliAnalysisTaskResonanceQA(const char *name = "RsnQA");
46 virtual ~AliAnalysisTaskResonanceQA() {}
47
48 virtual void UserCreateOutputObjects();
49 virtual void UserExec(Option_t *option);
50 virtual void Terminate(Option_t *);
51
52 void SetT0(AliESDpid::EStartTimeType_t ftype) {fT0 = ftype;}
53 void SetPrimaryThr(Double_t d) {fPrimaryThr = d;}
e187bd70 54 void SetVz(Double_t vz) {fVz = vz;}
c865cb1d 55
f4304ff3 56 const char* EvtName (Int_t type) const {return EvtName ((EEvtType)type);}
035b8eff 57 const char* RsnName (Int_t type) const {return RsnName ((ERsn)type);}
58 const char* RsnSymbol(Int_t type) const {return RsnSymbol((ERsn)type);}
59 Int_t RsnPDG (Int_t type) const {return RsnPDG ((ERsn)type);}
f4304ff3 60 const char* EvtName (EEvtType type) const;
035b8eff 61 const char* RsnName (ERsn type) const;
62 const char* RsnSymbol(ERsn type) const;
63 Int_t RsnPDG (ERsn type) const;
c865cb1d 64
65private:
66
f4304ff3 67 AliESDpid::EStartTimeType_t fT0; // T0 type for TOF computation
68 Double_t fPrimaryThr; // maximum DCA for selecting primary particles w.r. to gen primary vertex
69 Double_t fVz; // maximum VZ for primary vertex (reconstructed)
70
71 TList *fOutputList; // list with output histograms
c865cb1d 72
f4304ff3 73 TH1I *fSelectedEvts; // selected events
74 TH1F *fEventVz; // Vz distribution of events
75 TH2F *fdEdxTPC; // TPC PID QA
76 TH2F *fdEdxITS; // ITS PID QA
77 TH2F *fTOFpid; // TOF PID QA
78 TH2F *fDCAXYvsPtBeforeCuts; // DCA QA r
79 TH2F *fDCAZvsPtBeforeCuts; // DCA QA z
80 TH2F *fNClusterPtBeforeCuts; // N cluster TPC
035b8eff 81 TH2F *fNFindableClusterPtBeforeCuts; // N findable TPC clusters
82 TH2F *fNCrossedRowsTPCPtBeforeCuts; // crossed rows
f4304ff3 83 TH3F *fRsnYPt[2][kResonances]; // rapidity vs pt vs event type distribution of resonances
035b8eff 84 TH1I *fProducedParticles; // synoptic of all resonances
85
f4304ff3 86 AliESDEvent *fESD; //! temporary object (event)
87 AliESDpid *fESDpid; // temporary object (PID)
88 AliESDtrackCuts *fTrackCuts; // temporary object (quality track cuts)
c865cb1d 89
035b8eff 90 AliAnalysisTaskResonanceQA(const AliAnalysisTaskResonanceQA&); // disabled
91 AliAnalysisTaskResonanceQA& operator=(const AliAnalysisTaskResonanceQA&); // disabled
c865cb1d 92
035b8eff 93 ClassDef(AliAnalysisTaskResonanceQA, 1); // Resonance QA class
c865cb1d 94};
95
96#endif
97
98