]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/AliAnalysisTaskJetCorePP.h
from Salvatore
[u/mrichter/AliRoot.git] / PWGJE / AliAnalysisTaskJetCorePP.h
CommitLineData
ad869500 1#ifndef ALIANALYSISTASKJETCOREPP_H
2#define ALIANALYSISTASKJETCOREPP_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7// **************************************
8// This task performs hadron-trigger recoil jet correlations
9// Output pT spectrum of jet given trigger pT
10// Author: filip krizek 1st March 2013
11// *******************************************
12
13class TH1F;
14class TH1D;
15class TH1I;
16class TH2F;
17class TH3F;
80ac66f6 18class TList;
ad869500 19class THnSparse;
80ac66f6 20class TArrayI;
ad869500 21class AliESDEvent;
22class AliAODExtension;
23class AliAODEvent;
24
25#include "AliAnalysisTaskSE.h"
26#include "AliVEvent.h"
27
28class AliAnalysisTaskJetCorePP : public AliAnalysisTaskSE {
29public:
30 AliAnalysisTaskJetCorePP();
31 AliAnalysisTaskJetCorePP(const char *name);
32 AliAnalysisTaskJetCorePP(const AliAnalysisTaskJetCorePP& a);
33 AliAnalysisTaskJetCorePP& operator=(const AliAnalysisTaskJetCorePP& a); // not implemented
34 virtual ~AliAnalysisTaskJetCorePP();
35 virtual void LocalInit() {Init();}
36 virtual void Init();
37 virtual void UserCreateOutputObjects();
38 virtual void UserExec(Option_t *option);
39 virtual void Terminate(const Option_t*);
40
41 virtual void SetBranchName(const TString &name){ fJetBranchName = name; }
80ac66f6 42 virtual void SetBranchNameMC(const TString &name){ fJetBranchNameMC = name; }
ad869500 43 virtual void SetNonStdFile(char* c){fNonStdFile = c;}
44 virtual void SetSystem(Int_t sys) { fSystem = sys; }
45 virtual void SetJetR(Float_t jR) { fJetParamR = jR; }
46 virtual void SetOfflineTrgMask(AliVEvent::EOfflineTriggerTypes mask) { fOfflineTrgMask = mask; }
47 virtual void SetMinContribVtx(Int_t n) { fMinContribVtx = n; }
48 virtual void SetVtxZMin(Float_t z) { fVtxZMin = z; }
49 virtual void SetVtxZMax(Float_t z) { fVtxZMax = z; }
50 virtual void SetFilterMask(UInt_t i){fFilterMask = i;}
51 virtual void SetCentMin(Float_t cent) { fCentMin = cent; }
52 virtual void SetCentMax(Float_t cent) { fCentMax = cent; }
53 virtual void SetJetEtaMin(Float_t eta) { fJetEtaMin = eta; }
54 virtual void SetJetEtaMax(Float_t eta) { fJetEtaMax = eta; }
55 virtual void SetTriggerEtaCut(Float_t eta) { fTriggerEtaCut = eta; }
56 virtual void SetTrackEtaCut(Float_t eta) { fTrackEtaCut = eta; }
57 virtual void SetTrackLowPtCut(Float_t pt) { fTrackLowPtCut=pt; }
58
59 Double_t RelativePhi(Double_t angle1, Double_t angle2);
60
61private:
62 //private member functions
63 Int_t GetListOfTracks(TList *list); //returns index of trig and track list
80ac66f6 64 //Double_t GetBackgroundInPerpCone(Float_t jetR, Double_t jetPhi, Double_t jetEta, TList* trkList); //sums pT in the cone perp in phi to jet
65 Bool_t SelectMCGenTracks(AliVParticle *trk, TList *trkList, Double_t &ptLeading, Int_t &index, Int_t counter);
66 void FillEffHistos(TList *recList, TList *genList);
67
ad869500 68 //private member objects
69 AliESDEvent *fESD; //! ESD object
70 AliAODEvent *fAODIn; //! AOD event for AOD input tracks
71 AliAODEvent *fAODOut; //! AOD event
72 AliAODExtension *fAODExtension; //! where we take the jets from can be input or output AOD
73
74 // jets to compare
75 TString fJetBranchName; // name of jet branch
80ac66f6 76 TString fJetBranchNameMC; // name of jet branch
77 TList *fListJets; //! jet list reconstructed level
78 TList *fListJetsGen; //! jet list generator level
ad869500 79
80 TString fNonStdFile; // name of delta aod file to catch the extension
81
82 // event selection
83 Int_t fSystem; // collision system pp=0, pPb=1
84 Float_t fJetParamR; // jet cone resolution (radius) R
85 AliVEvent::EOfflineTriggerTypes fOfflineTrgMask; // mask of offline trigs
86 Int_t fMinContribVtx; // min numb of trk contrib for prim vertex
87 Float_t fVtxZMin; // lower bound on vertex z
88 Float_t fVtxZMax; // upper bound on vertex z
89 UInt_t fFilterMask; // filter bit for slected tracks
90 Float_t fCentMin; // lower bound on centrality
91 Float_t fCentMax; // upper bound on centrality
92 Float_t fJetEtaMin; // lower bound on eta for found jets
93 Float_t fJetEtaMax; // upper bound on eta for found jets
94 Float_t fTriggerEtaCut; // lower bound on eta for trigger track
95 Float_t fTrackEtaCut; // upper bound on eta for trigger track
96 Float_t fTrackLowPtCut; // upper bound on eta for trigger track
97
98
99 TList *fOutputList; //! output data container
100 TH1I *fHistEvtSelection; //! event selection statistic
101 TH2F *fh2Ntriggers; //trigger pT versus centrality
102 THnSparse *fHJetSpec; //Recoil jet spectrum
103
104 //Diagnostics
105 THnSparse *fHJetDensity; //density of jet with A>0.07 //fk
106 THnSparse *fHJetDensityA4; //density of jets with A>0.4 //fk
7fc3d134 107 TH2D *fhJetPhi; //Azimuthal distribution of jets
108 TH2D *fhTriggerPhi; //Azimuthal distribution of trigger hadron
109 TH2D *fhJetEta; //Pseudorapidity distribution of jets
110 TH2D *fhTriggerEta; //Pseudorapidity distribution of trigger hadron
ad869500 111 TH1D *fhVertexZ; //z vertex distribution
112 TH1D *fhVertexZAccept; //z vertex distribution after cut
113 TH1D *fhContribVtx; //contributors to vertex
114 TH1D *fhContribVtxAccept; //contributors to vertex after cut
115 TH1D *fhDphiTriggerJet; //Deltaphi between trigger and jet
116 TH1D *fhDphiTriggerJetAccept; //Deltaphi between trigger and jet after cut
117 TH1D *fhCentrality; //Deltaphi between trigger and jet
118 TH1D *fhCentralityAccept; //Deltaphi between trigger and jet after cut
119
7fc3d134 120 THnSparse *fHJetPtRaw; //bg unsubtr. vs bg subtr. pT spectrum of jets vs jet area
121 THnSparse *fHLeadingJetPtRaw; //bg unsubtr. vs bg. subtr. leading jet pT vs area
122 THnSparse *fHDphiVsJetPtAll; //Dphitrigger-jet versus jet pt for all jets given pTtrigg
7fc3d134 123
80ac66f6 124 //MC generator level
125 TH2D *fhJetPtGenVsJetPtRec; //jet respose matrix
126 TH1D *fhJetPtGen; //generated pT spectrum of jets
127 TH2F *fh2NtriggersGen; //trigger pT versus centrality in generator level
128 THnSparse *fHJetSpecGen; //Recoil jet spectrum in generator level
129 TH2D *fhPtTrkTruePrimRec; // pt spectrum of true reconstructed primary tracks
130 TH2D *fhPtTrkTruePrimGen; // pt spectrum of true generated primary track
131 TH2D *fhPtTrkSecOrFakeRec; // pt spectrum of reconstructed fake or secondary tracks
132
133 Bool_t fIsMC; //flag analysis on MC data with true and on the real data false
134 TArrayI faGenIndex; // labels of particles on MC generator level
135 TArrayI faRecIndex; // labels of particles on reconstructed track level
ad869500 136 const Double_t fkAcceptance; //eta times phi Alice coverage
80ac66f6 137 const Double_t fkDeltaPhiCut; //Delta phi cut on trigger-jet distance in azimuth
ad869500 138
80ac66f6 139 ClassDef(AliAnalysisTaskJetCorePP, 3); //has to end with number larger than 0
ad869500 140};
141
142#endif
143