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);
35 void SetClusName(const char *n) { fCaloName = n ; }
36 void SetJetsName(const char *n) { fJetsName = n ; }
37 void SetKtJetsName(const char *n) { fKtJetsName = n ; }
38 void SetTracksName(const char *n) { fTracksName = n ; }
39 void SetTrgClusName(const char *n) { fTrgClusName = n ; }
40 void SetAnaType(SAJFAnaType type) { fAnaType = type ; }
41 void SetJetRadius(Float_t r) { fJetRadius = r ; }
42 void SetHistoBins(Int_t nbins, Float_t min, Float_t max) { fNbins = nbins; fMinPt = min; fMaxPt = max; }
46 AliVTrack *GetTrack(const Int_t i) const;
47 Int_t GetNumberOfTracks() const;
48 AliVCluster *GetCaloCluster(const Int_t i) const;
49 Int_t GetNumberOfCaloClusters() const;
50 AliEmcalJet *GetJet(const Int_t i) const;
51 Int_t GetNumberOfJets() const;
52 AliEmcalJet *GetKtJet(const Int_t i) const;
53 Int_t GetNumberOfKtJets() const;
54 AliVCluster *GetTrgCluster(const Int_t i) const;
55 Int_t GetNumberOfTrgClusters() const;
56 void FillHistograms() ;
57 void RetrieveEventObjects() ;
58 Bool_t AcceptTrack(AliVTrack* track) const;
59 Bool_t AcceptJet(AliEmcalJet* jet) const;
60 Bool_t AcceptJet(Float_t eta, Float_t phi) const;
61 Bool_t IsJetTrack(AliEmcalJet* jet, Int_t itrack, Bool_t sorted = kTRUE) const;
62 Bool_t IsJetCluster(AliEmcalJet* jet, Int_t iclus, Bool_t sorted = kTRUE) const;
63 Float_t GetArea() const;
64 void DoJetLoop(Int_t &maxJetIndex, Int_t &max2JetIndex);
65 Float_t DoKtJetLoop();
66 Float_t DoTrackLoop(Int_t maxJetIndex, Int_t max2JetIndex);
67 Float_t DoClusterLoop(Int_t maxJetIndex, Int_t max2JetIndex);
68 Float_t GetRigidConePt(AliEmcalJet *jet = 0, Float_t minD = 0.8);
71 SAJFAnaType fAnaType; // analysis type
72 Float_t fMinEta; // minimum eta accepatance
73 Float_t fMaxEta; // maximum eta accepatance
74 Float_t fMinPhi; // minimum phi accepatance
75 Float_t fMaxPhi; // maximum phi accepatance
76 Float_t fJetRadius; // jet radius
77 TList *fOutput; // Output list
78 TString fTracksName; // name of track collection
79 TString fCaloName; // name of calo cluster collection
80 TString fJetsName; // name of jet collection
81 TString fKtJetsName; // name of kt jet collection
82 TString fTrgClusName; // name of trg clus name
83 TClonesArray *fTracks; //!Tracks
84 TClonesArray *fCaloClusters; //!Clusters
85 TClonesArray *fJets; //!Jets
86 TClonesArray *fKtJets; //!Kt Jets
87 TClonesArray *fTrgClusters; //!Trg Clusters
88 AliCentrality *fCent; // Event centrality
89 Int_t fCentBin; // Event centrality bin
90 TH1F *fHistCentrality; // Event centrality distribution
91 TH2F *fHistJetPhiEta; // Phi-Eta distribution of jets
92 TH2F *fHistRhoPartVSleadJetPt; // Background et density of particles (clusters+tracks) vs. leading jet pt
93 TH2F *fHistMedKtVSRhoPart; // Median of the pt density of kt jets vs. background pt density of particles
94 TH2F *fHistRCPtVSRhoPart; // Random cone Pt vs. background pt density of particles
95 TH1F *fHistJetsPt[4]; // Jet pt spectrum
96 TH1F *fHistJetsNEF[4]; // Jet neutral energy fraction
97 TH1F *fHistJetsZ[4]; // Constituent Pt over Jet Pt ratio
98 TH1F *fHistLeadingJetPt[4]; // Leading jet pt spectrum
99 TH1F *fHist2LeadingJetPt[4]; // Second leading jet pt spectrum
100 TH1F *fHistTracksPtLJ[4]; // Pt spectrum of tracks
101 TH1F *fHistClusEtLJ[4]; // Et spectrum of clusters
102 TH1F *fHistTracksPtBkg[4]; // Pt spectrum of tracks
103 TH1F *fHistClusEtBkg[4]; // Et spectrum of clusters
104 TH1F *fHistBkgClusPhiCorr[4]; // Background clusters phi correlations
105 TH1F *fHistBkgTracksPhiCorr[4]; // Background tracks phi correlations
106 TH1F *fHistBkgClusMeanRho[4]; // Background clusters mean et density
107 TH1F *fHistBkgTracksMeanRho[4]; // Background tracks mean pt density
108 TH1F *fHistBkgLJetPhiCorr[4]; // Background particles phi correlation with leading jet
109 TH1F *fHistMedianPtKtJet[4]; // Median of the pt density of kt jets, excluded the 2 most energetic
110 TH1F *fHistDeltaPtRC[4]; // deltaPt = Pt(RC) - A * rhoKt
111 TH1F *fHistDeltaPtRCExLJ[4]; // deltaPt = Pt(RC) - A * rhoKt, imposing min distance from leading jet
112 TH1F *fHistRCPt[4]; // Random cone pt
113 TH1F *fHistRCPtExLJ[4]; // Random cone pt, imposing min distance from leading jet
114 Int_t fNbins; // No. of pt bins
115 Float_t fMinPt; // Min pt
116 Float_t fMaxPt; // Max pt
119 AliAnalysisTaskSAJF(const AliAnalysisTaskSAJF&); // not implemented
120 AliAnalysisTaskSAJF &operator=(const AliAnalysisTaskSAJF&); // not implemented
122 ClassDef(AliAnalysisTaskSAJF, 1) // Isolated photons task