1 #ifndef ALIANALYSISTASKJFSYSTEMATICS_H
2 #define ALIANALYSISTASKJFSYSTEMATICS_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 // **************************************
8 // Task used for the correction of determiantion of reconstructed jet spectra
9 // Compares input (gen) and output (rec) jets
10 // *******************************************
12 #include "AliAnalysisTaskSE.h"
13 #include "THnSparse.h" // cannot forward declare ThnSparseF
20 class AliGenPythiaEventHeader;
30 class AliAnalysisTaskJFSystematics : public AliAnalysisTaskSE
33 AliAnalysisTaskJFSystematics();
34 AliAnalysisTaskJFSystematics(const char* name);
35 virtual ~AliAnalysisTaskJFSystematics() {;}
36 // Implementation of interface methods
37 virtual void UserCreateOutputObjects();
39 virtual void LocalInit() { Init(); }
40 virtual void UserExec(Option_t *option);
41 virtual void Terminate(Option_t *option);
42 virtual Bool_t Notify();
45 virtual void SetExternalWeight(Float_t f){fExternalWeight = f;}
46 virtual void SetUseExternalWeightOnly(Bool_t b){fUseExternalWeightOnly = b;}
47 virtual void SetAODInput(Bool_t b){fUseAODInput = b;}
48 virtual void SetLimitGenJetEta(Bool_t b){fLimitGenJetEta = b;}
49 virtual void SetRecEtaWindow(Float_t f){fRecEtaWindow = f;}
50 virtual void SetAnalysisType(UInt_t i){fAnalysisType = i;}
51 virtual void SetBranchGen(const char* c){fBranchGen = c;}
52 virtual void SetBranchRec(const char* c){fBranchRec = c;}
54 // ========= TODO Multiplicity dependence ======
55 // ========= TODO z-dependence? ======
56 // ========= TODO flavor dependence ========
57 // ============================================
58 enum {kSysJetOrder = 1, kSysTypes};
60 enum {kMaxJets = 6}; // limit to 6 jets...
64 AliAnalysisTaskJFSystematics(const AliAnalysisTaskJFSystematics&);
65 AliAnalysisTaskJFSystematics& operator=(const AliAnalysisTaskJFSystematics&);
68 static const Int_t fgkSysBins[kSysTypes];
69 static const char* fgkSysName[kSysTypes];
71 AliJetHeader *fJetHeaderRec;
72 AliJetHeader *fJetHeaderGen;
73 AliAODEvent *fAOD; // where we take the jets from can be input or output AOD
75 TString fBranchRec; // AOD branch name for reconstructed
76 TString fBranchGen; // AOD brnach for genereated
78 Bool_t fUseAODInput; // use AOD input
79 Bool_t fUseExternalWeightOnly; // use only external weight
80 Bool_t fLimitGenJetEta; // Limit the eta of the generated jets
81 UInt_t fAnalysisType; // Analysis type
82 Float_t fExternalWeight; // external weight
83 Float_t fRecEtaWindow; // eta window used for corraltion plots between rec and gen
84 Float_t fAvgTrials; // average number of trials from pyxsec.root or pysec_hists.root in case trials are not avaiable from the MC Header
86 TProfile* fh1Xsec; // pythia cross section and trials
87 TH1F* fh1Trials; // trials are added
88 TH1F* fh1PtHard; // Pt har of the even
89 TH1F* fh1PtHardNoW; // Pt hard of the event without trials
90 TH1F* fh1PtHardTrials; // Number of trials
91 TH1F* fh1NGenJets; // number of generated jets
92 TH1F* fh1NRecJets; // number of reconstructed jets
94 TH1F* fh1PtRecIn; // Jet pt for all
95 TH1F* fh1PtRecOut; // Jet pt with corellated generated jet
96 TH1F* fh1PtGenIn; // Detection efficiency for given p_T.gen
97 TH1F* fh1PtGenOut; // gen pT of found jets
99 TH2F* fh2PtFGen; // correlation betwen genreated and found jet pT
100 TH2F* fh2PhiFGen; // correlation betwen genreated and found jet phi
101 TH2F* fh2EtaFGen; // correlation betwen genreated and found jet eta
102 TH2F* fh2PtGenDeltaPhi; // difference between generated and found jet phi
103 TH2F* fh2PtGenDeltaEta; // difference between generated and found jet eta
106 TH3F* fh3RecInEtaPhiPt; // correlation between eta phi and rec pt
107 TH3F* fh3RecOutEtaPhiPt; // correlation between eta phi and rec pt of jets with a partner
108 TH3F* fh3GenInEtaPhiPt; // correlation between eta phi and gen pt
109 TH3F* fh3GenOutEtaPhiPt; // correlation between eta phi and gen pt of jets with a partner
111 THnSparseF* fhnCorrelation; // correlation can be used for unfolding
114 TList *fHistList; // Output list
117 ClassDef(AliAnalysisTaskJFSystematics, 2) // Analysis task for standard jet analysis