1 #ifndef ALIANALYSISTASKJETCOREPP_H
2 #define ALIANALYSISTASKJETCOREPP_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
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 // *******************************************
20 class AliAODExtension;
23 #include "AliAnalysisTaskSE.h"
24 #include "AliVEvent.h"
26 class AliAnalysisTaskJetCorePP : public AliAnalysisTaskSE {
28 AliAnalysisTaskJetCorePP();
29 AliAnalysisTaskJetCorePP(const char *name);
30 AliAnalysisTaskJetCorePP(const AliAnalysisTaskJetCorePP& a);
31 AliAnalysisTaskJetCorePP& operator=(const AliAnalysisTaskJetCorePP& a); // not implemented
32 virtual ~AliAnalysisTaskJetCorePP();
33 virtual void LocalInit() {Init();}
35 virtual void UserCreateOutputObjects();
36 virtual void UserExec(Option_t *option);
37 virtual void Terminate(const Option_t*);
39 virtual void SetBranchName(const TString &name){ fJetBranchName = name; }
40 virtual void SetNonStdFile(char* c){fNonStdFile = c;}
41 virtual void SetSystem(Int_t sys) { fSystem = sys; }
42 virtual void SetJetR(Float_t jR) { fJetParamR = jR; }
43 virtual void SetOfflineTrgMask(AliVEvent::EOfflineTriggerTypes mask) { fOfflineTrgMask = mask; }
44 virtual void SetMinContribVtx(Int_t n) { fMinContribVtx = n; }
45 virtual void SetVtxZMin(Float_t z) { fVtxZMin = z; }
46 virtual void SetVtxZMax(Float_t z) { fVtxZMax = z; }
47 virtual void SetFilterMask(UInt_t i){fFilterMask = i;}
48 virtual void SetCentMin(Float_t cent) { fCentMin = cent; }
49 virtual void SetCentMax(Float_t cent) { fCentMax = cent; }
50 virtual void SetJetEtaMin(Float_t eta) { fJetEtaMin = eta; }
51 virtual void SetJetEtaMax(Float_t eta) { fJetEtaMax = eta; }
52 virtual void SetTriggerEtaCut(Float_t eta) { fTriggerEtaCut = eta; }
53 virtual void SetTrackEtaCut(Float_t eta) { fTrackEtaCut = eta; }
54 virtual void SetTrackLowPtCut(Float_t pt) { fTrackLowPtCut=pt; }
56 Double_t RelativePhi(Double_t angle1, Double_t angle2);
59 //private member functions
60 Int_t GetListOfTracks(TList *list); //returns index of trig and track list
61 Double_t GetBackgroundInPerpCone(Float_t jetR, Double_t jetPhi, Double_t jetEta, TList* trkList); //sums pT in the cone perp in phi to jet
63 //private member objects
64 AliESDEvent *fESD; //! ESD object
65 AliAODEvent *fAODIn; //! AOD event for AOD input tracks
66 AliAODEvent *fAODOut; //! AOD event
67 AliAODExtension *fAODExtension; //! where we take the jets from can be input or output AOD
70 TString fJetBranchName; // name of jet branch
71 TList *fListJets; //! jet lists
73 TString fNonStdFile; // name of delta aod file to catch the extension
76 Int_t fSystem; // collision system pp=0, pPb=1
77 Float_t fJetParamR; // jet cone resolution (radius) R
78 AliVEvent::EOfflineTriggerTypes fOfflineTrgMask; // mask of offline trigs
79 Int_t fMinContribVtx; // min numb of trk contrib for prim vertex
80 Float_t fVtxZMin; // lower bound on vertex z
81 Float_t fVtxZMax; // upper bound on vertex z
82 UInt_t fFilterMask; // filter bit for slected tracks
83 Float_t fCentMin; // lower bound on centrality
84 Float_t fCentMax; // upper bound on centrality
85 Float_t fJetEtaMin; // lower bound on eta for found jets
86 Float_t fJetEtaMax; // upper bound on eta for found jets
87 Float_t fTriggerEtaCut; // lower bound on eta for trigger track
88 Float_t fTrackEtaCut; // upper bound on eta for trigger track
89 Float_t fTrackLowPtCut; // upper bound on eta for trigger track
92 TList *fOutputList; //! output data container
93 TH1I *fHistEvtSelection; //! event selection statistic
94 TH2F *fh2Ntriggers; //trigger pT versus centrality
95 THnSparse *fHJetSpec; //Recoil jet spectrum
98 THnSparse *fHJetDensity; //density of jet with A>0.07 //fk
99 THnSparse *fHJetDensityA4; //density of jets with A>0.4 //fk
100 TH1D *fhJetPhi; //Azimuthal distribution of jets
101 TH1D *fhTriggerPhi; //Azimuthal distribution of trigger hadron
102 TH1D *fhJetEta; //Pseudorapidity distribution of jets
103 TH1D *fhTriggerEta; //Pseudorapidity distribution of trigger hadron
104 TH1D *fhVertexZ; //z vertex distribution
105 TH1D *fhVertexZAccept; //z vertex distribution after cut
106 TH1D *fhContribVtx; //contributors to vertex
107 TH1D *fhContribVtxAccept; //contributors to vertex after cut
108 TH1D *fhDphiTriggerJet; //Deltaphi between trigger and jet
109 TH1D *fhDphiTriggerJetAccept; //Deltaphi between trigger and jet after cut
110 TH1D *fhCentrality; //Deltaphi between trigger and jet
111 TH1D *fhCentralityAccept; //Deltaphi between trigger and jet after cut
113 const Double_t fkAcceptance; //eta times phi Alice coverage
115 ClassDef(AliAnalysisTaskJetCorePP, 1); //has to end with number larger than 0