]> git.uio.no Git - u/mrichter/AliRoot.git/blame - JETAN/AliAnalysisTaskJetClusterKine.h
fix AliHLTGlobalEsdConverterComponent
[u/mrichter/AliRoot.git] / JETAN / AliAnalysisTaskJetClusterKine.h
CommitLineData
44b92289 1#ifndef ALIANALYSISTASKJETCLUSTERKINE_H
2#define ALIANALYSISTASKJETCLUSTERKINE_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// Jet Finding in the Kine train
9// *******************************************
10
11#include "AliAnalysisTaskSE.h"
12#include "THnSparse.h" // cannot forward declare ThnSparseF
13#include "AliVParticle.h" //FK//
14#ifndef __CINT__
15# include "fastjet/ClusterSequenceArea.hh"
16# include "fastjet/AreaDefinition.hh"
17# include "fastjet/JetDefinition.hh"
18#else
19namespace fastjet {
20 enum JetAlgorithm;
21 enum Strategy;
22 enum RecombinationScheme;
23 enum AreaType;
24}
25#endif
26
27////////////////
28class AliJetHeader;
29class AliESDEvent;
30class AliAODEvent;
31class AliAODExtension;
32class AliAODJet;
33class AliGenPythiaEventHeader;
34class AliJetFinder;
35class AliAODMCParticle;
36class AliMCEvent; //FK//
37class AliMCEventHandler; //FK//
38class AliVParticle; //FK//
39class AliGenEventHeader; //FK//
40class TList;
41class TChain;
42class TH2F;
43class TH1F;
44class TH3F;
45class TRefArray;
46class TClonesArray;
47class TF1;
48class TProfile;
49
50class AliAnalysisTaskJetClusterKine : public AliAnalysisTaskSE
51{
52 public:
53 AliAnalysisTaskJetClusterKine();
54 AliAnalysisTaskJetClusterKine(const char* name);
55 virtual ~AliAnalysisTaskJetClusterKine();
56 // Implementation of interface methods
57 virtual void UserCreateOutputObjects();
58 virtual void Init(); //FK//
59 virtual void LocalInit();
60 virtual void UserExec(Option_t *option);
61 virtual void Terminate(Option_t *option);
62 virtual Bool_t Notify();
63
64
65 virtual void SetTrackEtaWindow(Float_t f){fTrackEtaWindow = f;}
66 virtual void SetTrackTypeGen(Int_t i){fTrackTypeGen = i;}
67 virtual void SetTrackPtCut(Float_t x){fTrackPtCut = x;}
68 virtual void SetVtxCuts(Float_t z){fVtxZCut = z;}
69
70 virtual void SetJetOutputBranch(const char *c){fNonStdBranch = c;}
71 virtual void SetJetOutputContainer(Int_t c){fOutContainer = c;} //FF//
72 virtual const char* GetJetOutputBranch(){return fNonStdBranch.Data();}
73 virtual void SetJetOutputFile(const char *c){fNonStdFile = c;}
74 virtual const char* GetJetOutputFile(){return fNonStdFile.Data();}
75 virtual void SetMaxTrackPtInJet(Float_t x){fMaxTrackPtInJet = x;}
76 virtual void SetJetOutputMinPt(Float_t x){fJetOutputMinPt = x;}
77
78
79
80 // for Fast Jet
81 fastjet::JetAlgorithm GetAlgorithm() const {return fAlgorithm;}
82 fastjet::Strategy GetStrategy() const {return fStrategy;}
83 fastjet::RecombinationScheme GetRecombScheme() const {return fRecombScheme;}
84 fastjet::AreaType GetAreaType() const {return fAreaType;}
85 // Setters
86 void SetRparam(Double_t f) {fRparam = f;}
87 // Temporary change to integer; problem with dictionary generation?
88 //void SetAlgorithm(fastjet::JetAlgorithm f) {fAlgorithm = f;}
89 void SetAlgorithm(Int_t f) {fAlgorithm = (fastjet::JetAlgorithm) f;}
90 void SetStrategy(fastjet::Strategy f) {fStrategy = f;}
91 void SetRecombScheme(fastjet::RecombinationScheme f) {fRecombScheme = f;}
92 void SetAreaType(fastjet::AreaType f) {fAreaType = f;}
93 void SetGhostArea(Double_t f) {fGhostArea = f;}
94 void SetActiveAreaRepeats(Int_t f) {fActiveAreaRepeats = f;}
95 void SetGhostEtamax(Double_t f) {fGhostEtamax = f;}
96
97
98
99 // Helper
100 //
101
102 // we have different cases
103 // AOD reading -> MC from AOD
104 // ESD reading -> MC from Kinematics
105 // this has to match with our selection of input events
106 enum {kTrackKineAll=0, kTrackKineCharged};
107 enum { kNoOutput=0, kAODBranch=1, kExchCont=2 }; //FF//
108
109
110 private:
111
112 AliAnalysisTaskJetClusterKine(const AliAnalysisTaskJetClusterKine&);
113 AliAnalysisTaskJetClusterKine& operator=(const AliAnalysisTaskJetClusterKine&);
114
115 Int_t GetListOfTracks(TList *list,Int_t type);
116
117 AliMCEvent* fMcEvent; //! MC event //FK// FFF
118 AliInputEventHandler* fMcHandler; //! MCEventHandler //FK// FFF
119 TRefArray *fRef; // ! trefarray for track references within the jet FFF
120 Int_t fTrackTypeGen; // type of tracks used for 0=full, 1=charged FFF
121 Float_t fAvgTrials; // Average nimber of trials
122 Float_t fTrackEtaWindow; // eta window used for corraltion plots between rec and gen FFF
123 Float_t fTrackPtCut; // minimum track pt to be accepted FFF
124 Float_t fJetOutputMinPt; // minimum p_t for jets to be written out FFF
125 Float_t fMaxTrackPtInJet; // maximum track pt within a jet for flagging... FFF
126 Float_t fVtxZCut; // zvtx cut
127
128 // output configurartion
129 TString fNonStdBranch; // the name of the non-std branch name, if empty no branch is filled FFF
130 Int_t fOutContainer; //FF//output container 1=AOD Branch 2=Exchange container
131 TString fNonStdFile; // The optional name of the output file the non-std branch is written to FFF
132
133
134
135 // Fast jet
136 Double_t fRparam; // fastjet distance parameter FFF
137 fastjet::JetAlgorithm fAlgorithm; //fastjet::kt_algorithm FFF
138 fastjet::Strategy fStrategy; //= fastjet::Best; FFF
139 fastjet::RecombinationScheme fRecombScheme; // = fastjet::BIpt_scheme; FFF
140 fastjet::AreaType fAreaType; // fastjet area type
141 Double_t fGhostArea; // fasjet ghost area FFF
142 Int_t fActiveAreaRepeats; // fast jet active area repeats FFF
143 Double_t fGhostEtamax; // fast jet ghost area FFF
144
145 TClonesArray *fTCAJetsOut; //! TCA of output jets FFF
146
147 TProfile* fh1Xsec; //! pythia cross section and trials
148 TH1F* fh1Trials; //! trials are added FFF
149 TH1F* fh1PtHard; //! Pt har of the event...
150 TH1F* fh1PtHardNoW; //! Pt har of the event without weigt
151 TH1F* fh1PtHardTrials; //! Number of trials
152
153 TH1F* fh1NJetsGen; //! number of generator level jets FFF
154 TH1F* fh1NConstGen;//! number of constiutens in leading jet FFF
155 TH1F* fh1NConstLeadingGen;//! number of constiutens in leading jet FFF
156 TH1F* fh1PtJetsGenIn; //! Jet pt for all jets FFF
157 TH1F* fh1PtJetsLeadingGenIn; //! Jet pt for the leading jets FFF
158 TH1F* fh1PtJetConstGen;//! pt of constituents FFF
159 TH1F* fh1PtJetConstLeadingGen;// pt of constituents FFF
160 TH1F* fh1PtTracksGenIn; //! track pt for all tracks FFF
161
162 TH1F* fh1Nch; //! (charged) particle mult FFF
163 TH1F* fh1Z; // ! centrality of anaylsed events FFF
164
165
166 TH2F* fh2NConstPt; //! number of constituents vs. pt FFF
167 TH2F* fh2NConstLeadingPt; //! number of constituents vs. pt FFF
168 TH2F* fh2JetPhiEta; //! jet phi eta FFF
169 TH2F* fh2LeadingJetPhiEta; //! leading jet phi eta FFF
170 TH2F* fh2JetEtaPt; //! leading jet eta FFF
171 TH2F* fh2LeadingJetEtaPt; //! leading jet eta FFF
172 TH2F* fh2TrackEtaPt; //! track eta for all tracks FFF
173 TH2F* fh2JetsLeadingPhiEta; //! jet delta phi delta eta w.r.t. leading jet FFF
174 TH2F* fh2JetsLeadingPhiPt; //! jet correlation with leading jet FFF
175 TH2F* fh2JetsLeadingPhiPtW; //! jet correlation with leading jet FFF
176
177 TList *fHistList; //!leading tracks to be skipped in the randomized event Output list
178
179
180 ClassDef(AliAnalysisTaskJetClusterKine, 1)
181};
182
183#endif