]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskSAQA.h
e30f7dc0f47ad34d857b16b1046535a995d003cb
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / UserTasks / AliAnalysisTaskSAQA.h
1 #ifndef ALIANALYSISTASKSAQA_H
2 #define ALIANALYSISTASKSAQA_H
3
4 // $Id$
5
6 class TClonesArray;
7 class TString;
8 class TH1F;
9 class TH2F;
10 class TH3F;
11
12 #include "AliAnalysisTaskEmcalJet.h"
13
14 class AliAnalysisTaskSAQA : public AliAnalysisTaskEmcalJet {
15  public:
16   AliAnalysisTaskSAQA();
17   AliAnalysisTaskSAQA(const char *name);
18   virtual ~AliAnalysisTaskSAQA();
19
20   void                        UserCreateOutputObjects();
21   void                        Terminate(Option_t *option);
22
23   void                        SetCellEnergyCut(Float_t cut)                        { fCellEnergyCut      = cut        ; }
24   void                        SetParticleLevel(Bool_t s)                           { fParticleLevel      = s          ; }
25   void                        SetMC(Bool_t m)                                      { fIsMC               = m          ; }
26
27  protected:
28
29   Bool_t                      FillHistograms()                                              ;
30   Bool_t                      RetrieveEventObjects()                                        ;
31   Int_t                       DoCellLoop(Float_t &sum, Float_t &sum_cut)                    ;
32   Float_t                     DoTrackLoop()                                                 ;
33   Float_t                     DoClusterLoop()                                               ;
34   void                        DoJetLoop()                                                   ;
35   Double_t                    GetFcross(AliVCluster *cluster, AliVCaloCells *cells)         ;
36
37   Float_t                     fCellEnergyCut;            // Energy cell cut
38   Bool_t                      fParticleLevel;            // Set particle level analysis
39   Bool_t                      fIsMC;                     // Trigger, MC analysis
40   Int_t                       fNclusters;                //!Number of accepted clusters in the event
41   Int_t                       fNtracks;                  //!Number of accepted tracks in the event
42   Int_t                       fNjets;                    //!Number of accepted jets in the event
43  
44   // General histograms
45   TH2F                       *fHistTracksCent;           //!Number of tracks vs. centrality
46   TH2F                       *fHistClusCent;             //!Number of clusters vs. centrality
47   TH2F                       *fHistJetsCent;             //!Number of jets vs. centrality
48   TH2F                       *fHistClusTracks;           //!Number of clusters vs. number of tracks
49   TH2F                       *fHistJetsParts;            //!Number of jets vs. number of particles (tracks+clusters)
50   TH2F                       *fHistCellsCent;            //!Number of cells vs. centrality
51   TH2F                       *fHistCellsTracks;          //!Number of cells vs. number of tracks
52
53   // Tracks
54   TH3F                       *fHistTrPhiEtaPt[4][4];     //!Phi-Eta-Pt distribution of tracks
55   TH3F                       *fHistTrPhiEtaPtNegLab[4];  //!Phi-Eta-Pt distribution of tracks with negative labels
56   TH2F                       *fHistTrEmcPhiEta;          //!Phi-Eta emcal propagated distribution of tracks
57   TH2F                       *fHistTrPhiEtaNonProp;      //!Phi-Eta distribution of non emcal propagated tracks
58   TH2F                       *fHistDeltaEtaPt;           //!Eta-EtaProp vs. Pt
59   TH2F                       *fHistDeltaPhiPt;           //!Phi-PhiProp vs. Pt
60
61   // Clusters
62   TH3F                       *fHistClusPhiEtaEnergy[4];  //!Phi-Eta-Energy distribution of clusters
63   TH2F                       *fHistNCellsEnergy;         //!Number of cells vs. energy of cluster
64   TH2F                       *fHistFcrossEnergy;         //!Fcross vs. energy of cluster
65   TH2F                       *fHistClusTimeEnergy;       //!Time vs. energy of cluster
66
67   //Jets
68   TH3F                       *fHistJetsPhiEtaPt[4];      //!Phi-Eta distribution of jets
69   TH2F                       *fHistJetsPtArea[4];        //!Pt vs. area of jets
70
71   // EMCAL Cells
72   TH2F                       *fHistCellsAbsIdEnergy;    //!Energy spectrum of cells
73
74   // Had corr QA
75   TH2F                       *fHistChVSneCells;          //!Charged vs. neutral (cells) energy
76   TH2F                       *fHistChVSneClus;           //!Charged vs. neutral (clusters) energy
77   TH2F                       *fHistChVSneCorrCells;      //!Charged vs. neutral (corrected cells) energy
78
79  private:
80   AliAnalysisTaskSAQA(const AliAnalysisTaskSAQA&);            // not implemented
81   AliAnalysisTaskSAQA &operator=(const AliAnalysisTaskSAQA&); // not implemented
82
83   ClassDef(AliAnalysisTaskSAQA, 18) // Quality task for Emcal analysis
84 };
85 #endif