]>
Commit | Line | Data |
---|---|---|
332419dd | 1 | #ifndef ALIANALYSISTASKJFSYSTEMATICS_H |
2 | #define ALIANALYSISTASKJFSYSTEMATICS_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 the correction of determiantion of reconstructed jet spectra | |
9 | // Compares input (gen) and output (rec) jets | |
10 | // ******************************************* | |
11 | ||
12 | #include "AliAnalysisTaskSE.h" | |
13 | #include "THnSparse.h" // cannot forward declare ThnSparseF | |
14 | ||
15 | //////////////// | |
16 | class AliJetHeader; | |
17 | class AliESDEvent; | |
18 | class AliAODEvent; | |
19 | class AliAODJet; | |
20 | class AliGenPythiaEventHeader; | |
21 | ||
22 | class TList; | |
23 | class TChain; | |
24 | class TH2F; | |
25 | class TH3F; | |
26 | class TProfile; | |
27 | ||
28 | ||
29 | ||
30 | class AliAnalysisTaskJFSystematics : public AliAnalysisTaskSE | |
31 | { | |
32 | public: | |
33 | AliAnalysisTaskJFSystematics(); | |
34 | AliAnalysisTaskJFSystematics(const char* name); | |
35 | virtual ~AliAnalysisTaskJFSystematics() {;} | |
36 | // Implementation of interface methods | |
37 | virtual void UserCreateOutputObjects(); | |
38 | virtual void Init(); | |
39 | virtual void LocalInit() { Init(); } | |
40 | virtual void UserExec(Option_t *option); | |
41 | virtual void Terminate(Option_t *option); | |
42 | virtual Bool_t Notify(); | |
43 | ||
44 | ||
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;} | |
53 | ||
54 | // ========= TODO Multiplicity dependence ====== | |
55 | // ========= TODO z-dependence? ====== | |
56 | // ========= TODO flavor dependence ======== | |
57 | // ============================================ | |
58 | enum {kSysJetOrder = 1, kSysTypes}; | |
59 | ||
da74fb15 | 60 | enum {kMaxJets = 6}; // limit to 6 jets... |
332419dd | 61 | |
62 | private: | |
63 | ||
64 | AliAnalysisTaskJFSystematics(const AliAnalysisTaskJFSystematics&); | |
65 | AliAnalysisTaskJFSystematics& operator=(const AliAnalysisTaskJFSystematics&); | |
66 | ||
67 | ||
68 | static const Int_t fgkSysBins[kSysTypes]; | |
69 | static const char* fgkSysName[kSysTypes]; | |
70 | ||
71 | AliJetHeader *fJetHeaderRec; | |
72 | AliJetHeader *fJetHeaderGen; | |
73 | AliAODEvent *fAOD; // where we take the jets from can be input or output AOD | |
74 | ||
75 | TString fBranchRec; // AOD branch name for reconstructed | |
76 | TString fBranchGen; // AOD brnach for genereated | |
77 | ||
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 | |
519378fb | 81 | UInt_t fAnalysisType; // Analysis type |
332419dd | 82 | Float_t fExternalWeight; // external weight |
83 | Float_t fRecEtaWindow; // eta window used for corraltion plots between rec and gen | |
519378fb | 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 |
332419dd | 85 | // Event histograms |
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 | |
93 | ||
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 | |
98 | ||
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 | |
104 | ||
105 | ||
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 | |
110 | ||
111 | THnSparseF* fhnCorrelation; // correlation can be used for unfolding | |
112 | ||
113 | ||
114 | TList *fHistList; // Output list | |
115 | ||
116 | ||
519378fb | 117 | ClassDef(AliAnalysisTaskJFSystematics, 2) // Analysis task for standard jet analysis |
332419dd | 118 | }; |
119 | ||
120 | #endif |