1 #ifndef ALIANALYSISTASKSAJF_H
2 #define ALIANALYSISTASKSAJF_H
15 #include "AliAnalysisTaskSE.h"
17 class AliAnalysisTaskSAJF : public AliAnalysisTaskSE {
21 kFullAcceptance = 0, // Full acceptance
22 kEMCAL = 1, // EMCal acceptance only
23 kEMCALFiducial = 2 // EMCal fiduacial region only
26 AliAnalysisTaskSAJF();
27 AliAnalysisTaskSAJF(const char *name);
28 virtual ~AliAnalysisTaskSAJF();
30 void UserCreateOutputObjects();
31 void UserExec(Option_t *option);
32 void Terminate(Option_t *option);
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 ; }
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;
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
103 AliAnalysisTaskSAJF(const AliAnalysisTaskSAJF&); // not implemented
104 AliAnalysisTaskSAJF &operator=(const AliAnalysisTaskSAJF&); // not implemented
106 ClassDef(AliAnalysisTaskSAJF, 1) // Isolated photons task