]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/EMCALJetTasks/AliAnalysisTaskSAJF.h
hist switch, leading jet option
[u/mrichter/AliRoot.git] / PWGGA / EMCALJetTasks / AliAnalysisTaskSAJF.h
CommitLineData
00514d01 1#ifndef ALIANALYSISTASKSAJF_H
2#define ALIANALYSISTASKSAJF_H
25283b37 3
00514d01 4// $Id$
25283b37 5
6class TClonesArray;
7class TString;
25283b37 8class AliVTrack;
9class AliVCluster;
55264f20 10class AliEmcalJet;
25283b37 11class TList;
12class TH1F;
13class TH2F;
25283b37 14
15#include "AliAnalysisTaskSE.h"
16
00514d01 17class AliAnalysisTaskSAJF : public AliAnalysisTaskSE {
25283b37 18 public:
91f4b7c5 19
20 enum SAJFAnaType {
b5ee47fb 21 kTPC = 0, // TPC only analysis
22 kEMCAL = 1, // EMCal + TPC analysis
91f4b7c5 23 };
24
00514d01 25 AliAnalysisTaskSAJF();
26 AliAnalysisTaskSAJF(const char *name);
27 virtual ~AliAnalysisTaskSAJF();
25283b37 28
29 void UserCreateOutputObjects();
30 void UserExec(Option_t *option);
31 void Terminate(Option_t *option);
a55e4f1d 32 void Init();
25283b37 33
11d4d636 34 void SetTracksName(const char *n) { fTracksName = n ; }
35 void SetClusName(const char *n) { fCaloName = n ; }
36 void SetJetsName(const char *n) { fJetsName = n ; }
37 void SetEmbJetsName(const char *n) { fEmbJetsName = n ; }
38 void SetRhoName(const char *n) { fRhoName = n ; }
39 void SetAnaType(SAJFAnaType type) { fAnaType = type ; }
40 void SetJetRadius(Float_t r) { fJetRadius = r ; }
41 void SetPtCut(Float_t cut) { fPtCut = cut ; }
42 void SetPtCutJetPart(Float_t cut) { fPtCutJetPart = cut ; }
55264f20 43 void SetHistoBins(Int_t nbins, Float_t min, Float_t max) { fNbins = nbins; fMinPt = min; fMaxPt = max; }
25283b37 44
45 protected:
46
2bee31e9 47 AliVTrack *GetTrack(const Int_t i) const;
48 Int_t GetNumberOfTracks() const;
49 AliVCluster *GetCaloCluster(const Int_t i) const;
50 Int_t GetNumberOfCaloClusters() const;
51 AliEmcalJet *GetJet(const Int_t i) const;
52 Int_t GetNumberOfJets() const;
2bee31e9 53 AliEmcalJet *GetEmbJet(const Int_t i) const;
54 Int_t GetNumberOfEmbJets() const;
2bee31e9 55 Bool_t AcceptTrack(AliVTrack* track, Bool_t acceptMC = kFALSE) const;
226f511d 56 Bool_t AcceptCluster(AliVCluster* clus, Bool_t acceptMC = kFALSE) ;
11d4d636 57 Bool_t AcceptJet(AliEmcalJet* jet, Bool_t checkPt = kFALSE) const;
2bee31e9 58 Bool_t AcceptJet(Float_t eta, Float_t phi) const;
c554a987 59 Bool_t IsJetTrack(AliEmcalJet* jet, Int_t itrack, Bool_t sorted = kTRUE) const;
60 Bool_t IsJetCluster(AliEmcalJet* jet, Int_t iclus, Bool_t sorted = kTRUE) const;
2bee31e9 61 Float_t GetArea() const;
32bf39af 62
63 void RetrieveEventObjects() ;
64 void FillHistograms() ;
65 void DoJetLoop(Int_t &maxJetIndex, Int_t &max2JetIndex) ;
b5ee47fb 66 Bool_t DoEmbJetLoop(AliEmcalJet* &maxJet, TObject* &maxPart) ;
32bf39af 67 void DoTrackLoop(Float_t &rhoTracksLJex, Float_t &rhoTracks, Int_t maxJetIndex, Int_t max2JetIndex) ;
68 void DoClusterLoop(Float_t &rhoClusLJex, Float_t &rhoClus,Int_t maxJetIndex, Int_t max2JetIndex) ;
b5ee47fb 69 Bool_t GetRigidConePt(Float_t &pt, Float_t &eta, Float_t &phi, AliEmcalJet *jet = 0, Float_t minD = 1.0) ;
c554a987 70
2bee31e9 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
226f511d 76 Float_t fJetRadius; // Jet radius
2bee31e9 77 TString fTracksName; // Name of track collection
78 TString fCaloName; // Name of calo cluster collection
79 TString fJetsName; // Name of jet collection
2bee31e9 80 TString fEmbJetsName; // Name of embedded jets collection
226f511d 81 TString fRhoName; // Name of rho object
82 Int_t fNbins; // No. of pt bins
83 Float_t fMinPt; // Min pt in histograms
84 Float_t fMaxPt; // Max pt in histograms
85 Float_t fPtCut; // Cut on particle pt
86 Float_t fPtCutJetPart; // Select jets with a particle with minimum pt
55264f20 87 TClonesArray *fTracks; //!Tracks
88 TClonesArray *fCaloClusters; //!Clusters
89 TClonesArray *fJets; //!Jets
2bee31e9 90 TClonesArray *fEmbJets; //!Embedded Jets
11d4d636 91 Float_t fCent; //!Event centrality
226f511d 92 Int_t fCentBin; //!Event centrality bin
93 Float_t fRho; //!Event rho
94 TList *fOutput; //!Output list
95 TH1F *fHistCentrality; //!Event centrality distribution
96 TH2F *fHistJetPhiEta; //!Phi-Eta distribution of jets
97 TH2F *fHistEmbJetPhiEta; //!Phi-Eta distribution of embedded jets
98 TH2F *fHistEmbPartPhiEta; //!Phi-Eta distribution of embedded particles
99 TH2F *fHistRhoPartVSleadJetPt; //!Background et density of particles (clusters+tracks) vs. leading jet pt
100 TH2F *fHistMedKtVSRhoPart; //!Median of the pt density of kt jets vs. bkg pt density of particles, excluding the 2 most energetic jets
101 TH2F *fHistRCPtVSRhoPart; //!Random cone Pt vs. background pt density of particles
102 TH2F *fHistMedKtVSEmbBkg; //!Area(embjet) * rhoKt vs. Pt(embjet) - Pt(embtrack)
103 TH2F *fHistMedKtVSRCPt; //!Area(RC) * rhoKt vs. Pt(RC)
104 TH2F *fHistRCPtExLJVSDPhiLJ; //!Random cone pt, imposing min distance from leading jet, vs deltaPhi leading jet
105 TH2F *fHistRCPhiEta; //!Phi-Eta distribution of embedded jets
106 TH1F *fHistJetsPt[4]; //!Inclusive jet pt spectrum
107 TH1F *fHistCorrJetsPt[4]; //!Corrected inclusive jet pt spectrum
11d4d636 108 TH1F *fHistUnfoldedJetsPt[4]; //!Unfolded inclusive jet pt spectrum
109 TH1F *fHistJetsPtNonBias[4]; //!Inclusive jet pt spectrum selecting jet with a particle minimum fPtCutJetPart
110 TH1F *fHistCorrJetsPtNonBias[4]; //!Corrected inclusive jet pt spectrum selecting jet with a particle minimum fPtCutJetPart
111 TH2F *fHistJetsNEFvsPt[4]; //!Jet neutral energy fraction
112 TH2F *fHistJetsZvsPt[4]; //!Constituent Pt over Jet Pt ratio
226f511d 113 TH1F *fHistLeadingJetPt[4]; //!Leading jet pt spectrum
114 TH1F *fHistCorrLeadingJetPt[4]; //!Leading jet pt spectrum
115 TH1F *fHist2LeadingJetPt[4]; //!Second leading jet pt spectrum
116 TH1F *fHistTracksPtLJ[4]; //!Pt spectrum of tracks
117 TH1F *fHistClusEtLJ[4]; //!Et spectrum of clusters
118 TH1F *fHistTracksPtBkg[4]; //!Pt spectrum of tracks
119 TH1F *fHistClusEtBkg[4]; //!Et spectrum of clusters
120 TH1F *fHistBkgClusMeanRho[4]; //!Background clusters mean et density
121 TH1F *fHistBkgTracksMeanRho[4]; //!Background tracks mean pt density
122 TH1F *fHistMedianPtKtJet[4]; //!Median of the pt density of kt jets, excluded the 2 most energetic
123 TH1F *fHistDeltaPtRC[4]; //!deltaPt = Pt(RC) - A * rhoKt
124 TH1F *fHistDeltaPtRCExLJ[4]; //!deltaPt = Pt(RC) - A * rhoKt, imposing min distance from leading jet
125 TH1F *fHistRCPt[4]; //!Random cone pt
126 TH1F *fHistRCPtExLJ[4]; //!Random cone pt, imposing min distance from leading jet
127 TH1F *fHistEmbJets[4]; //!Pt distribution of embedded jets
128 TH1F *fHistEmbPart[4]; //!Pt distribution of embedded particle
129 TH1F *fHistDeltaPtMedKtEmb[4]; //!deltaPt = Pt(embjet) - Area(embjet) * rhoKt - Pt(embtrack)
25283b37 130
131 private:
00514d01 132 AliAnalysisTaskSAJF(const AliAnalysisTaskSAJF&); // not implemented
133 AliAnalysisTaskSAJF &operator=(const AliAnalysisTaskSAJF&); // not implemented
25283b37 134
b5ee47fb 135 ClassDef(AliAnalysisTaskSAJF, 3) // jet finder task
25283b37 136};
137#endif