1 #ifndef ALIANALYSISTASKJETSPECTRUM_H
2 #define ALIANALYSISTASKJETSPECTRUM_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 #include "AliAnalysisTaskSE.h"
15 class AliGenPythiaEventHeader;
22 class AliAnalysisTaskJetSpectrum : public AliAnalysisTaskSE
25 AliAnalysisTaskJetSpectrum();
26 AliAnalysisTaskJetSpectrum(const char* name);
27 virtual ~AliAnalysisTaskJetSpectrum() {;}
28 // Implementation of interface methods
29 virtual void UserCreateOutputObjects();
31 virtual void LocalInit() { Init(); }
32 virtual void UserExec(Option_t *option);
33 virtual void Terminate(Option_t *option);
35 virtual void SetExternalWeight(Float_t f){fExternalWeight = f;}
36 virtual void SetUseExternalWeightOnly(Bool_t b){fUseExternalWeightOnly = b;}
37 virtual void SetAODInput(Bool_t b){fUseAODInput = b;}
38 virtual void SetLimitGenJetEta(Bool_t b){fLimitGenJetEta = b;}
39 virtual void SetAnalysisType(Int_t i){fAnalysisType = i;}
40 virtual void SetBranchGen(char* c){fBranchGen = c;}
41 virtual void SetBranchRec(char* c){fBranchRec = c;}
44 static void GetClosestJets(AliAODJet *genJets,Int_t &nGenJets,
45 AliAODJet *recJets,Int_t &nRecJets,
46 Int_t *iGenIndex,Int_t *iRecIndex,Int_t iDebug = 0);
52 enum {kMaxCorrelation = 3};
56 AliAnalysisTaskJetSpectrum(const AliAnalysisTaskJetSpectrum&);
57 AliAnalysisTaskJetSpectrum& operator=(const AliAnalysisTaskJetSpectrum&);
59 static const Float_t fgkJetNpartCut[kMaxCorrelation];
62 AliJetHeader *fJetHeaderRec;
63 AliJetHeader *fJetHeaderGen;
64 AliAODEvent *fAOD; // where we take the jets from can be input or output AOD
66 TString fBranchRec; // AOD branch name for reconstructed
67 TString fConfigRec; // Name of the Config file
68 TString fBranchGen; // AOD brnach for genereated
69 TString fConfigGen; // Name of the Config file (if any)
72 Bool_t fUseExternalWeightOnly;
73 Bool_t fLimitGenJetEta;
75 Float_t fExternalWeight;
77 TH1F* fh1PtHard; // Pt har of the event...
78 TH1F* fh1PtHard_NoW; // Pt har of the event...
79 TH1F* fh1PtHard_Trials; // Number of trials
82 TH1F* fh1E[kMaxJets]; // Jet Energy
83 TH1F* fh1PtRecIn[kMaxJets]; // Jet pt for all
84 TH1F* fh1PtRecOut[kMaxJets]; // Jet pt with corellated generated jet
85 TH1F* fh1PtGenIn[kMaxJets]; // Detection efficiency for given p_T.gen
86 TH1F* fh1PtGenOut[kMaxJets]; //
90 TH2F* fh2PtFGen[kMaxJets]; //
91 TH2F* fh2Frag[kMaxJets]; // fragmentation function
92 TH2F* fh2FragLn[kMaxJets]; //
94 TH3F* fh3PtRecGenHard[kMaxJets]; //
95 TH3F* fh3PtRecGenHard_NoW[kMaxJets]; //
96 TH3F* fh3RecEtaPhiPt[kMaxJets]; //
97 TH3F* fh3RecEtaPhiPt_NoGen[kMaxJets]; //
98 TH3F* fh3GenEtaPhiPt_NoFound[kMaxJets]; //
99 TH3F* fh3GenEtaPhiPt[kMaxJets]; //
100 // ========= Multiplicity dependence ======
102 // ==========TODO , flavaor dependence ========
103 // ============================================
106 // ============= TODO , phi dependence ========
107 // ============================================
109 TList *fHistList; // Output list
111 ///////// For 2 dimensional unfolding //////////////////
112 TH1F* fh1JetMultiplicity;
117 THnSparseF* fhnCorrelation[kMaxCorrelation];
118 ///////////////////////////////////////////////////////
121 ClassDef(AliAnalysisTaskJetSpectrum, 1) // Analysis task for standard jet analysis