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"
14 class AliGenPythiaEventHeader;
23 class AliAnalysisTaskJetSpectrum : public AliAnalysisTaskSE
26 AliAnalysisTaskJetSpectrum();
27 AliAnalysisTaskJetSpectrum(const char* name);
28 virtual ~AliAnalysisTaskJetSpectrum() {;}
29 // Implementation of interface methods
30 virtual void UserCreateOutputObjects();
32 virtual void LocalInit() { Init(); }
33 virtual void UserExec(Option_t *option);
34 virtual void Terminate(Option_t *option);
35 virtual Bool_t Notify();
38 virtual void SetExternalWeight(Float_t f){fExternalWeight = f;}
39 virtual void SetUseExternalWeightOnly(Bool_t b){fUseExternalWeightOnly = b;}
40 virtual void SetAODInput(Bool_t b){fUseAODInput = b;}
41 virtual void SetLimitGenJetEta(Bool_t b){fLimitGenJetEta = b;}
42 virtual void SetAnalysisType(Int_t i){fAnalysisType = i;}
43 virtual void SetBranchGen(char* c){fBranchGen = c;}
44 virtual void SetBranchRec(char* c){fBranchRec = c;}
47 static void GetClosestJets(AliAODJet *genJets,Int_t &nGenJets,
48 AliAODJet *recJets,Int_t &nRecJets,
49 Int_t *iGenIndex,Int_t *iRecIndex,Int_t iDebug = 0);
55 enum {kMaxCorrelation = 3};
59 AliAnalysisTaskJetSpectrum(const AliAnalysisTaskJetSpectrum&);
60 AliAnalysisTaskJetSpectrum& operator=(const AliAnalysisTaskJetSpectrum&);
62 static const Float_t fgkJetNpartCut[kMaxCorrelation];
65 AliJetHeader *fJetHeaderRec;
66 AliJetHeader *fJetHeaderGen;
67 AliAODEvent *fAOD; // where we take the jets from can be input or output AOD
69 TString fBranchRec; // AOD branch name for reconstructed
70 TString fConfigRec; // Name of the Config file
71 TString fBranchGen; // AOD brnach for genereated
72 TString fConfigGen; // Name of the Config file (if any)
75 Bool_t fUseExternalWeightOnly;
76 Bool_t fLimitGenJetEta;
78 Float_t fExternalWeight;
80 TProfile* fh1Xsec; // pythia cross section and trials
81 TH1F* fh1Trials; // trials are added
82 TH1F* fh1PtHard; // Pt har of the event...
83 TH1F* fh1PtHard_NoW; // Pt har of the event...
84 TH1F* fh1PtHard_Trials; // Number of trials
87 TH1F* fh1E[kMaxJets]; // Jet Energy
88 TH1F* fh1PtRecIn[kMaxJets]; // Jet pt for all
89 TH1F* fh1PtRecOut[kMaxJets]; // Jet pt with corellated generated jet
90 TH1F* fh1PtGenIn[kMaxJets]; // Detection efficiency for given p_T.gen
91 TH1F* fh1PtGenOut[kMaxJets]; //
95 TH2F* fh2PtFGen[kMaxJets]; //
96 TH2F* fh2Frag[kMaxJets]; // fragmentation function
97 TH2F* fh2FragLn[kMaxJets]; //
99 TH3F* fh3PtRecGenHard[kMaxJets]; //
100 TH3F* fh3PtRecGenHard_NoW[kMaxJets]; //
101 TH3F* fh3RecEtaPhiPt[kMaxJets]; //
102 TH3F* fh3RecEtaPhiPt_NoGen[kMaxJets]; //
103 TH3F* fh3GenEtaPhiPt_NoFound[kMaxJets]; //
104 TH3F* fh3GenEtaPhiPt[kMaxJets]; //
105 // ========= Multiplicity dependence ======
107 // ==========TODO , flavaor dependence ========
108 // ============================================
111 // ============= TODO , phi dependence ========
112 // ============================================
114 TList *fHistList; // Output list
116 ///////// For 2 dimensional unfolding //////////////////
117 TH1F* fh1JetMultiplicity;
122 THnSparseF* fhnCorrelation[kMaxCorrelation];
123 ///////////////////////////////////////////////////////
126 ClassDef(AliAnalysisTaskJetSpectrum, 1) // Analysis task for standard jet analysis