]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskSAQA.h
from ruediger
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / UserTasks / AliAnalysisTaskSAQA.h
1 #ifndef ALIANALYSISTASKSAQA_H
2 #define ALIANALYSISTASKSAQA_H
3
4 // $Id$
5
6 class TH1;
7 class TH2;
8 class TH3;
9 class THnSparse;
10 class AliVVZERO;
11
12 #include "AliAnalysisTaskEmcalJetDev.h"
13
14 class AliAnalysisTaskSAQA : public AliAnalysisTaskEmcalJetDev {
15  public:
16   AliAnalysisTaskSAQA();
17   AliAnalysisTaskSAQA(const char *name);
18   virtual ~AliAnalysisTaskSAQA();
19
20   void                        UserCreateOutputObjects();
21
22   void                        SetCellEnergyCut(Float_t cut)                        { fCellEnergyCut      = cut        ; }
23   void                        SetParticleLevel(Bool_t s)                           { fParticleLevel      = s          ; }
24   void                        SetMC(Bool_t m)                                      { fIsMC               = m          ; }
25   void                        SetAdditionalCentEst(const char* meth2, const char* meth3="") { fCentMethod2 = meth2; fCentMethod3 = meth3; }
26   void                        SetDoV0QA(Int_t b)                                   { fDoV0QA             = b          ; }
27   void                        SetDoEPQA(Int_t b)                                   { fDoEPQA             = b          ; }
28
29  protected:
30
31   void                        ExecOnce()                                                    ;
32   Bool_t                      FillHistograms()                                              ;
33   void                        FillEventQAHisto(Float_t cent, Float_t cent2, Float_t cent3, Float_t v0a, Float_t v0c, Float_t ep, Float_t rho, Int_t ntracks, Int_t nclusters, Int_t ncells, Int_t njets);
34   Bool_t                      RetrieveEventObjects()                                        ;
35   Int_t                       DoCellLoop(Float_t &sum, Float_t &sum_cut)                    ;
36   Int_t                       DoTrackLoop(Float_t &sum)                                     ;
37   Int_t                       DoClusterLoop(Float_t &sum)                                   ;
38   Int_t                       DoJetLoop()                                                   ;
39   Double_t                    GetFcross(AliVCluster *cluster, AliVCaloCells *cells)         ;
40
41   Float_t                     fCellEnergyCut;            // Energy cell cut
42   Bool_t                      fParticleLevel;            // Set particle level analysis
43   Bool_t                      fIsMC;                     // Trigger, MC analysis
44   TString                     fCentMethod2;              // Centrality method 2
45   TString                     fCentMethod3;              // Centrality method 3
46   Int_t                       fDoV0QA;                   // Add V0 QA histograms
47   Int_t                       fDoEPQA;                   // Add event plane QA histograms
48   Double_t                    fCent2;                    //!Event centrality with method 2
49   Double_t                    fCent3;                    //!Event centrality with method 3
50   AliVVZERO                  *fVZERO;                    //!Event V0 object
51   Double_t                    fV0ATotMult;               //!Event V0A total multiplicity
52   Double_t                    fV0CTotMult;               //!Event V0C total multiplicity
53  
54   // General histograms
55   THnSparse                  *fHistEventQA;              //!Event-wise QA observables
56
57   // Tracks
58   TH1                        *fHistTrNegativeLabels;     //!Percentage of negative label tracks
59   TH1                        *fHistTrZeroLabels;         //!Percentage of tracks with label=0
60   TH3                        *fHistTrPhiEtaPt[4][4];     //!Phi-Eta-Pt distribution of tracks
61   TH2                        *fHistTrPhiEtaZeroLab[4];   //!Phi-Eta distribution of tracks with label=0
62   TH1                        *fHistTrPtZeroLab[4];       //!Pt distribution of tracks with label=0
63   TH2                        *fHistTrEmcPhiEta[4];       //!Phi-Eta emcal propagated distribution of tracks
64   TH1                        *fHistTrEmcPt[4];           //!Pt emcal propagated distribution of tracks
65   TH2                        *fHistTrPhiEtaNonProp[4];   //!Phi-Eta distribution of non emcal propagated tracks
66   TH1                        *fHistTrPtNonProp[4];       //!Pt distribution of non emcal propagated tracks
67   TH2                        *fHistDeltaEtaPt[4];        //!Eta-EtaProp vs. Pt
68   TH2                        *fHistDeltaPhiPt[4];        //!Phi-PhiProp vs. Pt
69   TH3                        *fHistDeltaPtvsPtvsMass[4]; //!Pt-PtProp vs. Pt vs. mass
70
71   // Clusters
72   TH3                        *fHistClusPhiEtaEnergy[4];  //!Phi-Eta-Energy distribution of clusters
73   TH2                        *fHistNCellsEnergy;         //!Number of cells vs. energy of cluster
74   TH2                        *fHistFcrossEnergy;         //!Fcross vs. energy of cluster
75   TH2                        *fHistClusTimeEnergy;       //!Time vs. energy of cluster
76   TH1                        *fHistClusMCEnergyFraction[4];//!MC energy fraction (embedding)
77
78   // Jets
79   TH2                        *fHistJetsPhiEta[4];        //!Phi-Eta distribution of jets
80   TH2                        *fHistJetsPtArea[4];        //!Pt vs. area of jets
81
82   // EMCAL Cells
83   TH2                        *fHistCellsAbsIdEnergy;    //!Energy spectrum of cells
84
85   // Had corr QA
86   TH2                        *fHistChVSneCells;          //!Charged vs. neutral (cells) energy
87   TH2                        *fHistChVSneClus;           //!Charged vs. neutral (clusters) energy
88   TH2                        *fHistChVSneCorrCells;      //!Charged vs. neutral (corrected cells) energy
89
90  private:
91   AliAnalysisTaskSAQA(const AliAnalysisTaskSAQA&);            // not implemented
92   AliAnalysisTaskSAQA &operator=(const AliAnalysisTaskSAQA&); // not implemented
93
94   ClassDef(AliAnalysisTaskSAQA, 21) // Quality task for Emcal analysis
95 };
96 #endif