1 #ifndef ALIANALYSISTASKRESONANCEQA_H
2 #define ALIANALYSISTASKRESONANCEQA_H
4 // analysis task creating basic QA plots for resonance particles
5 // Author: Ayben Karasu Uysal
6 // Computes some QA histograms useful for checking productions and data
7 // both for counting resonances inside MC, and for checking PID performances
15 class AliESDtrackCuts;
17 #include "AliAnalysisTaskSE.h"
19 class AliAnalysisTaskResonanceQA : public AliAnalysisTaskSE {
32 // this must be last and counter
41 // this must be last and counter
45 AliAnalysisTaskResonanceQA(const char *name = "RsnQA");
46 virtual ~AliAnalysisTaskResonanceQA() {}
48 virtual void UserCreateOutputObjects();
49 virtual void UserExec(Option_t *option);
50 virtual void Terminate(Option_t *);
52 void SetT0(AliESDpid::EStartTimeType_t ftype) {fT0 = ftype;}
53 void SetPrimaryThr(Double_t d) {fPrimaryThr = d;}
54 void SetVz(Double_t vz) {fVz = vz;}
56 const char* EvtName (Int_t type) const {return EvtName ((EEvtType)type);}
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);}
60 const char* EvtName (EEvtType type) const;
61 const char* RsnName (ERsn type) const;
62 const char* RsnSymbol(ERsn type) const;
63 Int_t RsnPDG (ERsn type) const;
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)
71 TList *fOutputList; // list with output histograms
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
81 TH2F *fNFindableClusterPtBeforeCuts; // N findable TPC clusters
82 TH2F *fNCrossedRowsTPCPtBeforeCuts; // crossed rows
83 TH3F *fRsnYPt[2][kResonances]; // rapidity vs pt vs event type distribution of resonances
84 TH1I *fProducedParticles; // synoptic of all resonances
86 AliESDEvent *fESD; //! temporary object (event)
87 AliESDpid *fESDpid; // temporary object (PID)
88 AliESDtrackCuts *fTrackCuts; // temporary object (quality track cuts)
90 AliAnalysisTaskResonanceQA(const AliAnalysisTaskResonanceQA&); // disabled
91 AliAnalysisTaskResonanceQA& operator=(const AliAnalysisTaskResonanceQA&); // disabled
93 ClassDef(AliAnalysisTaskResonanceQA, 1); // Resonance QA class