]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/EMCALTasks/AliAnalysisTaskSAQA.h
updates from Salvatore
[u/mrichter/AliRoot.git] / PWGGA / EMCALTasks / AliAnalysisTaskSAQA.h
1 #ifndef ALIANALYSISTASKSAQA_H
2 #define ALIANALYSISTASKSAQA_H
3
4 // $Id$
5
6 class TClonesArray;
7 class TString;
8 class AliVTrack;
9 class AliVCluster;
10 class TList;
11 class TH1F;
12 class TH2F;
13
14 #include "AliAnalysisTaskSE.h"
15
16 class AliAnalysisTaskSAQA : public AliAnalysisTaskSE {
17  public:
18   AliAnalysisTaskSAQA();
19   AliAnalysisTaskSAQA(const char *name);
20   virtual ~AliAnalysisTaskSAQA();
21
22   void                        UserCreateOutputObjects();
23   void                        UserExec(Option_t *option);
24   void                        Terminate(Option_t *option);
25
26   void                        SetClusName(const char *n)                    { fCaloName      = n          ; }
27   void                        SetTracksName(const char *n)                  { fTracksName    = n          ; }
28   void                        SetTrgClusName(const char *n)                 { fTrgClusName   = n          ; }
29
30  protected:
31
32   AliVTrack                  *GetTrack(const Int_t i)          const;
33   Int_t                       GetNumberOfTracks()              const;
34   AliVCluster                *GetCaloCluster(const Int_t i)    const;
35   Int_t                       GetNumberOfCaloClusters()        const;
36   AliVCluster                *GetTrgCluster(const Int_t i)     const;
37   Int_t                       GetNumberOfTrgClusters()         const;
38   void                        FillHistograms()                      ;
39   void                        RetrieveEventObjects()                ;
40   Bool_t                      AcceptTrack(AliVTrack* /*track*/)     ;
41
42   TList                      *fOutput;                 // Output list
43
44   TString                     fTracksName;             // name of track collection
45   TString                     fCaloName;               // name of calo cluster collection
46   TString                     fTrgClusName;            // name of trg clus name
47   TClonesArray               *fTracks;                 //!Tracks
48   TClonesArray               *fCaloClusters;           //!Clusters
49   TClonesArray               *fJets;                   //!Jets
50   TClonesArray               *fTrgClusters;            //!Trg Clusters
51   AliCentrality              *fCent;                   // Event centrality
52   TH1F                       *fHistCentrality;         // Event centrality distribution
53   TH2F                       *fHistTracksCent;         // Number of tracks vs. centrality
54   TH2F                       *fHistClusCent;           // Number of clusters vs. centrality
55   TH1F                       *fHistTracksPt;           // Pt spectrum of tracks
56   TH1F                       *fHistClustersEnergy;     // Energy spectrum of clusters
57   TH2F                       *fHistEPcorrelation;      // Energy-momentum correlation
58   TH2F                       *fHistTrPhiEta;           // Phi-Eta distribution of tracks
59   TH2F                       *fHistClusPhiEta;         // Phi-Eta distribution of clusters
60   TH1F                       *fHistMaxTrgCluster;      // Energy distribution of max trigger clusters
61   TH1F                       *fHistClusPhiCorr;        // Clusters phi correlations
62   TH1F                       *fHistTracksPhiCorr;      // Tracks phi correlations
63   TH1F                       *fHistTrackPhi[5];        // Phi distribution of hybrid tracks
64   TH1F                       *fHistTrackEta[5];        // Eta distribution of hybrid tracks
65
66   Int_t                       Ptbins;                  // No. of pt bins
67   Float_t                     Ptlow;                   // Min pt
68   Float_t                     Ptup;                    // Max pt
69   Int_t                       Ebins;                   // No. of e bins
70   Float_t                     Elow;                    // Min e
71   Float_t                     Eup;                     // Max e
72
73  private:
74   AliAnalysisTaskSAQA(const AliAnalysisTaskSAQA&);            // not implemented
75   AliAnalysisTaskSAQA &operator=(const AliAnalysisTaskSAQA&); // not implemented
76
77   ClassDef(AliAnalysisTaskSAQA, 1) // Quality task for Emcal analysis
78 };
79 #endif