coverity fix (O. Busch)
[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;}
52
53 enum {kTrackUndef=0, kTrackAOD, kTrackKine,kTrackAODMC};//for track selection
54 enum {kNoReject=0, kReject1Track};//for jet rejection
55
56 protected:
57 Int_t GetListOfJetTracks(TList* l, const AliAODJet* j);
58 Int_t GetListOfJets(TList* list);
59 void FillJetProperties(TList *jetlist);
60 void FillJetShape(TList *jetlist);
61
62 AliESDEvent* fESD; // ESD event
63 AliAODEvent* fAOD; // AOD event
64 AliAODEvent* fAODJets; // AOD event with jet branch (case we have AOD both in input and output)
65 AliAODExtension* fAODExtension; //! where we take the jets from can be input or output AOD
66 //AliMCEvent* fMCEvent; // MC event
67
68 TString fNonStdFile; // name of delta aod file to catch the extension
69 TString fBranchJets; // branch name for reconstructed jets
70 Int_t fTrackType; // type of generated tracks
71 Int_t fJetRejectType; // type of jets rejected
72 Bool_t fUseAODInputJets; // take jets from in/output - only relevant if AOD event both in input AND output and we want to use output
73 UInt_t fFilterMask; // filter bit for selected tracks
74 Bool_t fUsePhysicsSelection; // switch for event selection
75 Float_t fMaxVertexZ; // maximum abs(z) position of primiary vertex [cm]
76 Int_t fNContributors; // contributors to primary vertex
77 // track cuts
78 Float_t fTrackPtCut; // track transverse momentum cut
79 Float_t fTrackEtaMin; // track eta cut
80 Float_t fTrackEtaMax; // track eta cut
81 // jet cuts
82 Float_t fJetPtCut; // jet transverse momentum cut
83 Float_t fJetEtaMin; // jet eta cut
84 Float_t fJetEtaMax; // jet eta cut
85 Float_t fAvgTrials; // average number of trials per event
86
87 TList *fJetList; //! List of jets
88 TList *fTrackList; //! List of tracks in a jet
89 TList *fCommonHistList; //! List of common histos
90 TH1F *fh1EvtSelection; //! event cuts
91 TH1F *fh1VertexNContributors; //! NContributors to prim vertex
92 TH1F *fh1VertexZ; //! prim vertex z distribution
93 TProfile *fh1Xsec; //! pythia cross section and trials
94 TH1F* fh1Trials; //! sum of trials
95 TH1F* fh1PtHard; //! pt hard of the event
96 TH1F* fh1PtHardTrials; //! pt hard of the event
97
98 TH2F* fh2EtaJet; //!jet eta distribution
99 TH2F* fh2PhiJet; //!jet phi distribution
100 TH2F* fh2PtJet; //!jet pt distribution
101 TH1F* fh1PtJet; //!jet pt distribution 1D
102 TH2F* fh2NtracksJet; //!number of tracks in jet
103 TProfile* fProNtracksJet; //!number of tracks in jet
104 TH2F* fh2EtaTrack; //!track eta distribution
105 TH2F* fh2PhiTrack; //!track phi distribution
106 TH2F* fh2PtTrack; //!track pt distribution
107 TH2F* fh2FF; //!fragmentation function
108 TH2F* fh2DelEta; //!delta eta distribution
109 TH2F* fh2DelPhi; //!delta phi distribution
110 TH2F* fh2DelR; //!delta R distribution
111
112 TH1F* fh1PtLeadingJet; //!highest jet pt
113 TH2F* fh2NtracksLeadingJet; //!number of tracks in jet
114 TProfile* fProNtracksLeadingJet; //!number of tracks in jet
115 TH2F* fh2DelR80pcNch; //!R containing 80% of Nch vs jet pt
116 TProfile* fProDelR80pcNch; //!R containing 80% of Nch vs jet pt
117 TH2F* fh2DelR80pcPt; //!R containing 80% of pT vs jet pt
118 TProfile* fProDelR80pcPt; //!R containing 80% of pT vs jet pt
119 TH2F* fh2AreaCh; //!charged jet area vs jet pT
120 TProfile* fProAreaCh; //!charged jet area vs jet pT
121 TH3F* fh3PtDelRNchSum; //!Nch sum vs R
122 TH3F* fh3PtDelRPtSum; //!Pt sum vs R
123 TProfile* fProDelRNchSum[5]; //!!Nch sum vs R
124 TProfile* fProDelRPtSum[5]; //!!Pt sum vs R
125
126 AliAnalysisTaskJetProperties(const AliAnalysisTaskJetProperties&);// not implemented
127 AliAnalysisTaskJetProperties& operator=(const AliAnalysisTaskJetProperties&);// not implemented
128 ClassDef(AliAnalysisTaskJetProperties, 1);
129};
130
131#endif