Fixing OVERRUN_STATIC defect reported by Coverity
[u/mrichter/AliRoot.git] / JETAN / AliAnalysisTaskJetCluster.h
CommitLineData
dbf053f0 1#ifndef ALIANALYSISTASKJETCLUSTER_H
2#define ALIANALYSISTASKJETCLUSTER_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// task used for comapring different jets D parmaters from fastjet
9// *******************************************
10
11#include "AliAnalysisTaskSE.h"
12#include "THnSparse.h" // cannot forward declare ThnSparseF
13#include "fastjet/ClusterSequenceArea.hh"
14#include "fastjet/AreaDefinition.hh"
15#include "fastjet/JetDefinition.hh"
16#include "fastjet/PseudoJet.hh"
17
18////////////////
19class AliJetHeader;
20class AliESDEvent;
21class AliAODEvent;
54424110 22class AliAODExtension;
dbf053f0 23class AliAODJet;
24class AliGenPythiaEventHeader;
25class AliCFManager;
26
27class TList;
28class TChain;
29class TH2F;
30class TH1F;
31class TH3F;
32class TProfile;
54424110 33class TRefArray;
dbf053f0 34
35
36class AliAnalysisTaskJetCluster : public AliAnalysisTaskSE
37{
38 public:
39 AliAnalysisTaskJetCluster();
40 AliAnalysisTaskJetCluster(const char* name);
54424110 41 virtual ~AliAnalysisTaskJetCluster();
dbf053f0 42 // Implementation of interface methods
43 virtual void UserCreateOutputObjects();
44 virtual void Init();
45 virtual void LocalInit() { Init(); }
46 virtual void UserExec(Option_t *option);
47 virtual void Terminate(Option_t *option);
48 virtual Bool_t Notify();
49
50 virtual void SetUseGlobalSelection(Bool_t b){fUseGlobalSelection = b;}
51 virtual void SetAODTrackInput(Bool_t b){fUseAODTrackInput = b;}
52 virtual void SetAODMCInput(Bool_t b){fUseAODMCInput = b;}
53 virtual void SetRecEtaWindow(Float_t f){fRecEtaWindow = f;}
54 virtual void SetTrackTypeGen(Int_t i){fTrackTypeGen = i;}
55 virtual void SetTrackTypeRec(Int_t i){fTrackTypeRec = i;}
54424110 56 virtual void SetTrackPtCut(Float_t x){fTrackPtCut = x;}
dbf053f0 57 virtual void SetFilterMask(UInt_t i){fFilterMask = i;}
dbf053f0 58
bd80a748 59 virtual void SetNSkipLeadingRan(Int_t x){fNSkipLeadingRan = x;}
60
54424110 61 virtual void SetJetOutputBranch(const char *c){fNonStdBranch = c;}
62 virtual void SetJetOutputFile(const char *c){fNonStdFile = c;}
63 virtual void SetJetOutputMinPt(Float_t x){fJetOutputMinPt = x;}
64
dbf053f0 65 // for Fast Jet
66 fastjet::JetAlgorithm GetAlgorithm() const {return fAlgorithm;}
67 fastjet::Strategy GetStrategy() const {return fStrategy;}
68 fastjet::RecombinationScheme GetRecombScheme() const {return fRecombScheme;}
69 fastjet::AreaType GetAreaType() const {return fAreaType;}
70 // Setters
71 void SetRparam(Double_t f) {fRparam = f;}
72 void SetAlgorithm(fastjet::JetAlgorithm f) {fAlgorithm = f;}
73 void SetStrategy(fastjet::Strategy f) {fStrategy = f;}
74 void SetRecombScheme(fastjet::RecombinationScheme f) {fRecombScheme = f;}
75 void SetAreaType(fastjet::AreaType f) {fAreaType = f;}
76
77 // Helper
78 //
79
80 // we have different cases
81 // AOD reading -> MC from AOD
82 // ESD reading -> MC from Kinematics
83 // this has to match with our selection of input events
84 enum {kTrackUndef = 0, kTrackAOD, kTrackKineAll,kTrackKineCharged, kTrackAODMCAll, kTrackAODMCCharged, kTrackAODMCChargedAcceptance};
85 enum {kMaxJets = 4};
86 enum {kMaxCorrelation = 3};
87 enum {kMaxRadius = 5};
88
89
90 private:
91
92 AliAnalysisTaskJetCluster(const AliAnalysisTaskJetCluster&);
93 AliAnalysisTaskJetCluster& operator=(const AliAnalysisTaskJetCluster&);
94
95 Int_t GetListOfTracks(TList *list,Int_t type);
96
54424110 97 AliAODEvent *fAOD; // ! where we take the jets from can be input or output AOD
98 AliAODExtension *fAODExtension; // ! AOD extension in case we write a non-sdt branch to a separate file and the aod is standard
99 TRefArray *fRef; // ! trefarray for track references within the jet
dbf053f0 100 Bool_t fUseAODTrackInput; // take track from input AOD not from ouptu AOD
101 Bool_t fUseAODMCInput; // take MC from input AOD not from ouptu AOD
102 Bool_t fUseGlobalSelection; // Limit the eta of the generated jets
54424110 103 UInt_t fFilterMask; // filter bit for slecected tracks
dbf053f0 104 Int_t fTrackTypeRec; // type of tracks used for FF
105 Int_t fTrackTypeGen; // type of tracks used for FF
bd80a748 106 Int_t fNSkipLeadingRan; // number of leading tracks to be skipped in the randomized event
dbf053f0 107 Float_t fAvgTrials; // Average nimber of trials
108 Float_t fExternalWeight; // external weight
109 Float_t fRecEtaWindow; // eta window used for corraltion plots between rec and gen
54424110 110 Float_t fTrackPtCut; // minimum track pt to be accepted
111 Float_t fJetOutputMinPt; // minimum p_t for jets to be written out
112
113 // output configurartion
114 TString fNonStdBranch; // the name of the non-std branch name, if empty no branch is filled
115 TString fNonStdFile; // The optional name of the output file the non-std brnach is written to
116
117
dbf053f0 118 // Fast jet
119 Double_t fRparam;
120 fastjet::JetAlgorithm fAlgorithm; //fastjet::kt_algorithm
121 fastjet::Strategy fStrategy; //= fastjet::Best;
122 fastjet::RecombinationScheme fRecombScheme; // = fastjet::BIpt_scheme;
123 fastjet::AreaType fAreaType;
124
125 TProfile* fh1Xsec; // pythia cross section and trials
126 TH1F* fh1Trials; // trials are added
127 TH1F* fh1PtHard; // Pt har of the event...
128 TH1F* fh1PtHardNoW; // Pt har of the event without weigt
129 TH1F* fh1PtHardTrials; // Number of trials
130
131 TH1F* fh1NJetsRec; // number of reconstructed jets
132 TH1F* fh1NConstRec;// number of constiutens in leading jet
133 TH1F* fh1NConstLeadingRec;// number of constiutens in leading jet
134 TH1F* fh1PtJetsRecIn; // Jet pt for all jets
135 TH1F* fh1PtJetsLeadingRecIn; // Jet pt for all jets
136 TH1F* fh1PtJetConstRec;// pt of constituents
137 TH1F* fh1PtJetConstLeadingRec;// pt of constituents
138 TH1F* fh1PtTracksRecIn; // track pt for all tracks
139 TH1F* fh1PtTracksLeadingRecIn; // track pt for all tracks
140
141 // Randomized track histos
142 TH1F* fh1NJetsRecRan; // number of reconstructed jets from randomized
143 TH1F* fh1NConstRecRan;// number of constiutens in leading jet
144 TH1F* fh1PtJetsLeadingRecInRan; // Jet pt for all jets
145 TH1F* fh1NConstLeadingRecRan;// number of constiutens in leading jet
146 TH1F* fh1PtJetsRecInRan; // Jet pt for all jets
147
148 TH1F* fh1PtTracksGenIn; // track pt for all tracks
a0d08b6d 149 TH1F* fh1Nch; // charged particle mult
dbf053f0 150
151 TH2F* fh2NRecJetsPt; // Number of found jets above threshold
152 TH2F* fh2NRecTracksPt; // Number of found tracks above threshold
153 TH2F* fh2NConstPt; // number of constituents vs. pt
154 TH2F* fh2NConstLeadingPt; // number of constituents vs. pt
155 TH2F* fh2JetPhiEta; // jet phi eta
156 TH2F* fh2LeadingJetPhiEta; // leading jet phi eta
157 TH2F* fh2JetEtaPt; // leading jet eta
158 TH2F* fh2LeadingJetEtaPt; // leading jet eta
159 TH2F* fh2TrackEtaPt; // track eta
160 TH2F* fh2LeadingTrackEtaPt; // leading track eta
161 TH2F* fh2JetsLeadingPhiEta; // jet phi eta
162 TH2F* fh2JetsLeadingPhiPt; // jet correlation with leading jet
163 TH2F* fh2TracksLeadingPhiEta; // track correlation with leading track
164 TH2F* fh2TracksLeadingPhiPt; // track correlation with leading track
165 TH2F* fh2TracksLeadingJetPhiPt; // track correlation with leading Jet
166 TH2F* fh2JetsLeadingPhiPtW; // jet correlation with leading jet
167 TH2F* fh2TracksLeadingPhiPtW; // track correlation with leading track
168 TH2F* fh2TracksLeadingJetPhiPtW; // track correlation with leading Jet
169 TH2F* fh2NRecJetsPtRan; // Number of found jets above threshold
170 TH2F* fh2NConstPtRan; // number of constituents vs. pt
171 TH2F* fh2NConstLeadingPtRan; // number of constituents vs. pt
a0d08b6d 172 TH2F* fh2PtNch; // p_T of cluster vs. multiplicity,
173 TH2F* fh2PtNchRan; // p_T of cluster vs. multiplicity,random
174 TH2F* fh2PtNchN; // p_T of cluster vs. multiplicity, weigthed with constituents
175 TH2F* fh2PtNchNRan; // p_T of cluster vs. multiplicity, weigthed with constituents random
dbf053f0 176 TH2F* fh2TracksLeadingJetPhiPtRan; // track correlation with leading Jet
177 TH2F* fh2TracksLeadingJetPhiPtWRan; // track correlation with leading Jet
178 TList *fHistList; // Output list
179
180
54424110 181 ClassDef(AliAnalysisTaskJetCluster, 4)
dbf053f0 182};
183
184#endif