]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/RESONANCES/extra/AliAnalysisTaskResonanceQA.h
Implementation of all needed changes in the package in order to speed-up the executio...
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / extra / AliAnalysisTaskResonanceQA.h
1 #ifndef ALIANALYSISTASTRESONANCEQA_H
2 #define ALIANALYSISTASTRESONANCEQA_H
3
4 // analysis task creating basic QA plots for resonance particles
5 // Author: Ayben Karasu Uysal
6
7 class TH1I;
8 class TH1F;
9 class TH2F;
10
11 class AliESDpid;
12 class AliESDEvent;
13 class AliESDtrackCuts;
14
15 #include "AliAnalysisTaskSE.h"
16
17 class AliAnalysisTaskResonanceQA : public AliAnalysisTaskSE {
18 public:
19
20    enum ERsn {
21       kPhi = 0,
22       kKStar0,
23       kRho,
24       kLambdaStar,
25       kXiStar0,
26       kXiStarM,
27       kSigmaStarP,
28       kSigmaStar0,
29       kSigmaStarM,
30       kDeltaPP,
31       
32       // this must be last and counter
33       kResonances
34    };
35
36    AliAnalysisTaskResonanceQA(const char *name = "RsnQA");
37    virtual ~AliAnalysisTaskResonanceQA() {}
38
39    virtual void   UserCreateOutputObjects();
40    virtual void   UserExec(Option_t *option);
41    virtual void   Terminate(Option_t *);
42    
43    void           SetT0(AliESDpid::EStartTimeType_t ftype) {fT0 = ftype;}
44    void           SetPrimaryThr(Double_t d) {fPrimaryThr = d;}
45    
46    const char*    RsnName  (Int_t type) {return RsnName  ((ERsn)type);}
47    const char*    RsnSymbol(Int_t type) {return RsnSymbol((ERsn)type);}
48    Int_t          RsnPDG   (Int_t type) {return RsnPDG   ((ERsn)type);}
49    const char*    RsnName  (ERsn type);
50    const char*    RsnSymbol(ERsn type);
51    Int_t          RsnPDG   (ERsn type);
52
53 private:
54
55    AliESDpid::EStartTimeType_t fT0;
56    Double_t fPrimaryThr;
57    
58    TList *fOutputList;
59    
60    TH1I  *fSelectedEvts;
61    TH2F  *fdEdxTPC;
62    TH2F  *fdEdxITS;
63    TH2F  *fTOFpid;
64    TH2F  *fDCAXYvsPtBeforeCuts;
65    TH2F  *fDCAZvsPtBeforeCuts;
66    TH2F  *fNClusterPtBeforeCuts;
67    TH2F  *fNFindableClusterPtBeforeCuts;
68    TH2F  *fNCrossedRowsTPCPtBeforeCuts;
69    TH2F  *fRsnYPt[2][kResonances];
70    TH1I  *fProducedParticles;
71    
72    AliESDEvent      *fESD;
73    AliESDpid        *fESDpid;
74    AliESDtrackCuts  *fTrackCuts;
75    
76    AliAnalysisTaskResonanceQA(const AliAnalysisTaskResonanceQA&);
77    AliAnalysisTaskResonanceQA& operator=(const AliAnalysisTaskResonanceQA&);
78
79    ClassDef(AliAnalysisTaskResonanceQA, 1);
80 };
81
82 #endif
83
84