]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/EMCALTasks/AliAnalysisTaskSAJF.h
updates from Salvatore
[u/mrichter/AliRoot.git] / PWGGA / EMCALTasks / AliAnalysisTaskSAJF.h
1 #ifndef ALIANALYSISTASKSAJF_H
2 #define ALIANALYSISTASKSAJF_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 class AliEmcalJet;
14
15 #include "AliAnalysisTaskSE.h"
16
17 class AliAnalysisTaskSAJF : public AliAnalysisTaskSE {
18  public:
19   
20   enum SAJFAnaType {
21     kFullAcceptance  = 0,     // Full acceptance
22     kEMCAL           = 1,     // EMCal acceptance only
23     kEMCALFiducial   = 2      // EMCal fiduacial region only
24   };
25
26   AliAnalysisTaskSAJF();
27   AliAnalysisTaskSAJF(const char *name);
28   virtual ~AliAnalysisTaskSAJF();
29
30   void                        UserCreateOutputObjects();
31   void                        UserExec(Option_t *option);
32   void                        Terminate(Option_t *option);
33
34   void                        SetClusName(const char *n)                    { fCaloName      = n          ; }
35   void                        SetJetsName(const char *n)                    { fJetsName      = n          ; }
36   void                        SetKtJetsName(const char *n)                  { fKtJetsName    = n          ; }
37   void                        SetTracksName(const char *n)                  { fTracksName    = n          ; }
38   void                        SetTrgClusName(const char *n)                 { fTrgClusName   = n          ; }
39   void                        SetAnaType(SAJFAnaType type)                  { fAnaType       = type       ; }
40
41  protected:
42
43   AliVTrack                  *GetTrack(const Int_t i)          const;
44   Int_t                       GetNumberOfTracks()              const;
45   AliVCluster                *GetCaloCluster(const Int_t i)    const;
46   Int_t                       GetNumberOfCaloClusters()        const;
47   AliEmcalJet                *GetJet(const Int_t i)            const;
48   Int_t                       GetNumberOfJets()                const;
49   AliEmcalJet                *GetKtJet(const Int_t i)          const;
50   Int_t                       GetNumberOfKtJets()              const;
51   AliVCluster                *GetTrgCluster(const Int_t i)     const;
52   Int_t                       GetNumberOfTrgClusters()         const;
53   void                        FillHistograms()                      ;
54   void                        RetrieveEventObjects()                ;
55   Bool_t                      AcceptTrack(AliVTrack* track)    const;
56   Bool_t                      AcceptJet(AliEmcalJet* jet)      const;
57   Bool_t                      IsJetTrack(AliEmcalJet* jet, Int_t itrack, Bool_t sorted = kTRUE)    const;
58   Bool_t                      IsJetCluster(AliEmcalJet* jet, Int_t iclus, Bool_t sorted = kTRUE)   const;
59   Float_t                     GetArea()                        const;
60
61
62   SAJFAnaType                 fAnaType;                // analysis type
63   TList                      *fOutput;                 // Output list
64   TString                     fTracksName;             // name of track collection
65   TString                     fCaloName;               // name of calo cluster collection
66   TString                     fJetsName;               // name of jet collection
67   TString                     fKtJetsName;             // name of kt jet collection
68   TString                     fTrgClusName;            // name of trg clus name
69   TClonesArray               *fTracks;                 //!Tracks
70   TClonesArray               *fCaloClusters;           //!Clusters
71   TClonesArray               *fJets;                   //!Jets
72   TClonesArray               *fKtJets;                 //!Kt Jets
73   TClonesArray               *fTrgClusters;            //!Trg Clusters
74   AliCentrality              *fCent;                   // Event centrality
75   TH1F                       *fHistCentrality;         // Event centrality distribution
76   TH2F                       *fHistJetPhiEta;          // Phi-Eta distribution of jets
77   TH2F                       *fHistRhoClusVSleadJetE;  // Background energy density of clusters vs. leading jet energy
78   TH2F                       *fHistRhoTracksVSleadJetE;// Background pt density of tracks vs. leading jet energy
79   TH1F                       *fHistJetsE[4];           // Jet energy spectrum
80   TH1F                       *fHistJetsNE[4];          // Jet neutral energy spectrum
81   TH1F                       *fHistJetsNEF[4];         // Jet neutral energy fraction
82   TH1F                       *fHistJetsZ[4];           // Constituent Pt over Jet E ratio
83   TH1F                       *fHistLeadingJetE[4];     // Leading jet energy spectrum
84   TH1F                       *fHist2LeadingJetE[4];    // Second leading jet energy spectrum
85   TH1F                       *fHistTracksPtLJ[4];      // Pt spectrum of tracks
86   TH1F                       *fHistClusELJ[4];         // Energy spectrum of clusters
87   TH1F                       *fHistTracksPtBkg[4];     // Pt spectrum of tracks
88   TH1F                       *fHistClusEBkg[4];        // Energy spectrum of clusters
89   TH1F                       *fHistBkgClusPhiCorr[4];  // Background clusters phi correlations
90   TH1F                       *fHistBkgTracksPhiCorr[4];// Background tracks phi correlations
91   TH1F                       *fHistBkgClusMeanRho[4];  // Background clusters mean energy density
92   TH1F                       *fHistBkgTracksMeanRho[4];// Background tracks mean pt density
93   TH1F                       *fHistBkg2JetPhiCorr[4];  // Background tracks/cluster phi correlation with leading jet
94   TH1F                       *fHistMedianEnergyKt[4];  // Median of the energy of kt jets, excluded the 2 most energetic
95   Int_t                       Ptbins;                  // No. of pt bins
96   Float_t                     Ptlow;                   // Min pt
97   Float_t                     Ptup;                    // Max pt
98   Int_t                       Ebins;                   // No. of e bins
99   Float_t                     Elow;                    // Min e
100   Float_t                     Eup;                     // Max e
101
102  private:
103   AliAnalysisTaskSAJF(const AliAnalysisTaskSAJF&);            // not implemented
104   AliAnalysisTaskSAJF &operator=(const AliAnalysisTaskSAJF&); // not implemented
105
106   ClassDef(AliAnalysisTaskSAJF, 1) // Isolated photons task
107 };
108 #endif