Updated treatment of TOF PID in QA task (Francesco+Pietro)
[u/mrichter/AliRoot.git] / PWGJE / AliAnalysisTaskJetProperties.h
CommitLineData
59a5935a 1// *************************************************************************************
2// * Task for Jetproperties and jet shape analysis in PWG4 Jet Task Force Train for pp *
3// *************************************************************************************
4
5#ifndef ALIANALYSISTASKJETPROPERTIES_H
6#define ALIANALYSISTASKJETPROPERTIES_H
7
8/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
9 * See cxx source for full Copyright notice */
10
11/* $Id$ */
12
13class AliESDEvent;
14class AliAODEvent;
15class AliAODExtension;
16class TList;
17class TH1F;
18class TH2F;
19class TH3F;
20class TProfile;
21class THnSparse;
22class TRandom3;
23class TArrayS;
24
25#include "AliAnalysisTaskSE.h"
26
27class AliAnalysisTaskJetProperties : public AliAnalysisTaskSE {
28
29 public:
30 AliAnalysisTaskJetProperties();
31 AliAnalysisTaskJetProperties(const char *name);
32 virtual ~AliAnalysisTaskJetProperties();
33
34 virtual Bool_t Notify();
35 virtual void UserCreateOutputObjects();
36 virtual void Init();
37 virtual void UserExec(Option_t *option);
38 virtual void Terminate(Option_t* );
39
40 virtual void SetJetBranch(const char* c){fBranchJets = c;}
bd8f39b7 41 virtual void SetNonStdFile(char* c){fNonStdFile = c;}
59a5935a 42 virtual void SetTrackType(Int_t i){fTrackType = i;}
43 virtual void SetEventCuts(Float_t VtxZ=10.,Int_t nContributors=2)
44 {fMaxVertexZ = VtxZ; fNContributors = nContributors;}
45 virtual void SetTrackCuts(Float_t trackPt = 0.15, Float_t trackEtaMin = -0.9, Float_t trackEtaMax = 0.9)
46 {fTrackPtCut = trackPt; fTrackEtaMin = trackEtaMin; fTrackEtaMax = trackEtaMax;}
47 virtual void SetJetCuts(Float_t jetPt = 5., Float_t jetEtaMin = -0.5, Float_t jetEtaMax = 0.5)
48 {fJetPtCut = jetPt; fJetEtaMin = jetEtaMin; fJetEtaMax = jetEtaMax;}
49 virtual void SetJetRejectType(Int_t i){fJetRejectType = i;}
50 virtual void SetFilterMask(UInt_t i) {fFilterMask = i;}
51 virtual void UsePhysicsSelection(Bool_t b) {fUsePhysicsSelection = b;}
597a0905 52 virtual void SetJetRadius(Float_t r){fJetRadius = r;}
59a5935a 53
54 enum {kTrackUndef=0, kTrackAOD, kTrackKine,kTrackAODMC};//for track selection
55 enum {kNoReject=0, kReject1Track};//for jet rejection
56
57 protected:
58 Int_t GetListOfJetTracks(TList* l, const AliAODJet* j);
59 Int_t GetListOfJets(TList* list);
60 void FillJetProperties(TList *jetlist);
61 void FillJetShape(TList *jetlist);
597a0905 62 void FillJetShapeUE(TList *jetlist);
63 void GetTracksTiltedwrpJetAxis(Float_t alpha, TList* inputlist, TList* outputlist, const AliAODJet* jet, Double_t radius,Double_t& sumPt);
64 Int_t GetListOfTracks(TList *list, Int_t type);
59a5935a 65
66 AliESDEvent* fESD; // ESD event
67 AliAODEvent* fAOD; // AOD event
68 AliAODEvent* fAODJets; // AOD event with jet branch (case we have AOD both in input and output)
69 AliAODExtension* fAODExtension; //! where we take the jets from can be input or output AOD
70 //AliMCEvent* fMCEvent; // MC event
71
72 TString fNonStdFile; // name of delta aod file to catch the extension
73 TString fBranchJets; // branch name for reconstructed jets
74 Int_t fTrackType; // type of generated tracks
75 Int_t fJetRejectType; // type of jets rejected
76 Bool_t fUseAODInputJets; // take jets from in/output - only relevant if AOD event both in input AND output and we want to use output
77 UInt_t fFilterMask; // filter bit for selected tracks
78 Bool_t fUsePhysicsSelection; // switch for event selection
79 Float_t fMaxVertexZ; // maximum abs(z) position of primiary vertex [cm]
80 Int_t fNContributors; // contributors to primary vertex
81 // track cuts
82 Float_t fTrackPtCut; // track transverse momentum cut
83 Float_t fTrackEtaMin; // track eta cut
84 Float_t fTrackEtaMax; // track eta cut
85 // jet cuts
86 Float_t fJetPtCut; // jet transverse momentum cut
87 Float_t fJetEtaMin; // jet eta cut
88 Float_t fJetEtaMax; // jet eta cut
89 Float_t fAvgTrials; // average number of trials per event
597a0905 90 Float_t fJetRadius;
59a5935a 91
92 TList *fJetList; //! List of jets
597a0905 93 TList *fTrackList; //! List of selected tracks
94 TList *fTrackListUE; //! List of tracks in jet cone UE
95 TList *fTrackListJet; //! List of tracks in a jet
59a5935a 96 TList *fCommonHistList; //! List of common histos
97 TH1F *fh1EvtSelection; //! event cuts
98 TH1F *fh1VertexNContributors; //! NContributors to prim vertex
99 TH1F *fh1VertexZ; //! prim vertex z distribution
100 TProfile *fh1Xsec; //! pythia cross section and trials
101 TH1F* fh1Trials; //! sum of trials
102 TH1F* fh1PtHard; //! pt hard of the event
103 TH1F* fh1PtHardTrials; //! pt hard of the event
104
105 TH2F* fh2EtaJet; //!jet eta distribution
106 TH2F* fh2PhiJet; //!jet phi distribution
107 TH2F* fh2PtJet; //!jet pt distribution
108 TH1F* fh1PtJet; //!jet pt distribution 1D
109 TH2F* fh2NtracksJet; //!number of tracks in jet
110 TProfile* fProNtracksJet; //!number of tracks in jet
111 TH2F* fh2EtaTrack; //!track eta distribution
112 TH2F* fh2PhiTrack; //!track phi distribution
113 TH2F* fh2PtTrack; //!track pt distribution
114 TH2F* fh2FF; //!fragmentation function
115 TH2F* fh2DelEta; //!delta eta distribution
116 TH2F* fh2DelPhi; //!delta phi distribution
117 TH2F* fh2DelR; //!delta R distribution
118
119 TH1F* fh1PtLeadingJet; //!highest jet pt
120 TH2F* fh2NtracksLeadingJet; //!number of tracks in jet
121 TProfile* fProNtracksLeadingJet; //!number of tracks in jet
122 TH2F* fh2DelR80pcNch; //!R containing 80% of Nch vs jet pt
123 TProfile* fProDelR80pcNch; //!R containing 80% of Nch vs jet pt
124 TH2F* fh2DelR80pcPt; //!R containing 80% of pT vs jet pt
125 TProfile* fProDelR80pcPt; //!R containing 80% of pT vs jet pt
126 TH2F* fh2AreaCh; //!charged jet area vs jet pT
127 TProfile* fProAreaCh; //!charged jet area vs jet pT
128 TH3F* fh3PtDelRNchSum; //!Nch sum vs R
129 TH3F* fh3PtDelRPtSum; //!Pt sum vs R
efabdd32 130 TProfile* fProDiffJetShape; //!Diff jet shape pT=20-100
131 TProfile* fProIntJetShape; //!Int jet shape pT=20-100
597a0905 132 TProfile* fProDelRNchSum[13]; //!Nch sum vs R
133 TProfile* fProDelRPtSum[13]; //!Pt sum vs R
134 TProfile* fProDiffJetShapeA[13]; //!Diff jet shape pT
135 TProfile* fProIntJetShapeA[13]; //!Int jet shape pT
efabdd32 136
597a0905 137 TH1F* fh1PtSumInJetConeUE; //!pt sum of UE in cone R
138 TH2F* fh2NtracksLeadingJetUE; //!number of tracks in jet (UE)
139 TProfile* fProNtracksLeadingJetUE; //!number of tracks in jet (UE)
140 TH2F* fh2DelR80pcNchUE; //!R containing 80% of Nch vs jet pt (UE)
141 TProfile* fProDelR80pcNchUE; //!R containing 80% of Nch vs jet pt (UE)
142 TH2F* fh2DelR80pcPtUE; //!R containing 80% of pT vs jet pt (UE)
143 TProfile* fProDelR80pcPtUE; //!R containing 80% of pT vs jet pt (UE)
144 TH2F* fh2AreaChUE; //!charged jet area vs jet pT (UE)
145 TProfile* fProAreaChUE; //!charged jet area vs jet pT (UE)
146 TH3F* fh3PtDelRNchSumUE; //!Nch sum vs R (UE)
147 TH3F* fh3PtDelRPtSumUE; //!Pt sum vs R (UE)
148 TProfile* fProDiffJetShapeUE; //!Diff jet shape pT=20-100 (UE)
149 TProfile* fProIntJetShapeUE; //!Int jet shape pT=20-100 (UE)
150 TProfile* fProDelRNchSumUE[13]; //!Nch sum vs R (UE)
151 TProfile* fProDelRPtSumUE[13]; //!Pt sum vs R (UE)
152 TProfile* fProDiffJetShapeAUE[13]; //!Diff jet shape pT (UE)
153 TProfile* fProIntJetShapeAUE[13]; //!Int jet shape pT (UE)
154
59a5935a 155
156 AliAnalysisTaskJetProperties(const AliAnalysisTaskJetProperties&);// not implemented
157 AliAnalysisTaskJetProperties& operator=(const AliAnalysisTaskJetProperties&);// not implemented
efabdd32 158 ClassDef(AliAnalysisTaskJetProperties, 2);
59a5935a 159};
160
161#endif