Modified plots and made jet finder use SDigits
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALJetFinderPlots.h
CommitLineData
f7d5860b 1#ifndef ALIEMCALJETFINDERPLOTS_H
2#define ALIEMCALJETFINDERPLOTS_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * * * See cxx source for full Copyright notice */
6
73aa79d4 7
f7d5860b 8/* $Id$ */
9
10//_________________________________________________________________________
11// Class for Filling jetfinder plots
12//
13//*-- Author: Mark Horner (LBL/UCT)
14//
15//
16
17
18
19#include "TObject.h"
20#include "TH1F.h"
21#include "TH2F.h"
22
23#include "AliEMCALJetFinderOutput.h"
24
25class AliEMCALJetFinderPlots : public TObject
26{
27 public:
28 AliEMCALJetFinderPlots();
29 ~AliEMCALJetFinderPlots();
30 void SetConeRadius(Float_t coneradius){fConeRadius = coneradius;}
31 void SetNominalEnergy(Float_t energy){fNominalEnergy = energy;}
32 void SetDebug(Int_t debug){fDebug = debug;}
5a4d90c5 33 void SetBackHisto(TH1F* histo){fhBackHisto=histo;}
f7d5860b 34 void FillFromOutput(AliEMCALJetFinderOutput* output);
73aa79d4 35 //========================== CASE 1 ========================
36 // Only consider events with only 1 jet
ab01dff2 37 TH1F* GetFragmFcn(){return fhFragmFcn;}
38 TH1F* GetPartonFragmFcn(){return fhPartonFragmFcn;}
1515a8af 39 TH1F* GetPT(){return fhJetPT;}
40 TH1F* GetPartonPT(){return fhPartonPT;}
ab01dff2 41 TH1F* GetJetJT(){return fhJetJT;}
42 TH1F* GetPartonJT(){return fhPartonJT;}
43 TH1F* GetJetPL(){return fhJetPL;}
44 TH1F* GetPartonPL(){return fhPartonPL;}
45 TH1F* GetJetEt(){return fhJetEt;}
5a4d90c5 46 TH1F* GetJetEtDiff(){return fhJetEtDiff;}
ab01dff2 47 TH1F* GetJetEta(){return fhJetEta;}
48 TH1F* GetPartonEta(){return fhPartonEta;}
49 TH1F* GetPartonPhi(){return fhPartonPhi;}
50 TH1F* GetJetPhi(){return fhJetPhi;}
51 TH1F* GetEtaDiff(){return fhEtaDiff;}
52 TH1F* GetPhiDiff(){return fhPhiDiff;}
53 TH2F* GetEtaPhiSpread(){return fhEtaPhiSpread;}
54 TH1F* GetNJets(){return fhNJets;}
73aa79d4 55
56 //========================== CASE 2 ========================
57 // Only consider events with at least 2 jets
ab01dff2 58 TH1F* GetFragmFcn2(){return fhFragmFcn2;}
59 TH1F* GetPartonFragmFcn2(){return fhPartonFragmFcn2;}
1515a8af 60 TH1F* GetPT2(){return fhJetPT2;}
61 TH1F* GetPartonPT2(){return fhPartonPT2;}
ab01dff2 62 TH1F* GetJetJT2(){return fhJetJT2;}
63 TH1F* GetPartonJT2(){return fhPartonJT2;}
64 TH1F* GetJetPL2(){return fhJetPL2;}
65 TH1F* GetPartonPL2(){return fhPartonPL2;}
66 TH1F* GetJetEt2(){return fhJetEt2;}
5a4d90c5 67 TH1F* GetJetEtDiff2(){return fhJetEtDiff2;}
ab01dff2 68 TH1F* GetJetEta2(){return fhJetEta2;}
69 TH1F* GetPartonEta2(){return fhPartonEta2;}
70 TH1F* GetPartonPhi2(){return fhPartonPhi2;}
71 TH1F* GetJetPhi2(){return fhJetPhi2;}
72 TH1F* GetEtaDiff2(){return fhEtaDiff2;}
73 TH1F* GetPhiDiff2(){return fhPhiDiff2;}
74 TH2F* GetEtaPhiSpread2(){return fhEtaPhiSpread2;}
75 TH1F* GetNJets2(){return fhNJets2;}
76 TH1F* GetJetEtSecond2(){return fhJetEtSecond2;}
77 TH1F* GetJetEtRatio2(){return fhJetEtRatio2;}
78 TH1F* GetEtaPhiDist2(){return fhEtaPhiDist2;}
73aa79d4 79
492f773f 80
81 TH1F* GetJetPt(){return fhJetPT ;}
82 TH1F* GetPartonPt(){return fhPartonPT ;}
83 TH1F* GetJetPt2(){return fhJetPT2;}
84 TH1F* GetPartonPt2(){return fhPartonPT2;}
85 TH1F* GetRecoBinFragmFcn() {return fhRecoBinFragmFcn;}
5a4d90c5 86 TH1F* GetRecoBinFragmFcnNoBg() {return fhRecoBinFragmFcnNoBg;}
492f773f 87 TH1F* GetRecoBinPartonFragmFcn() {return fhRecoBinPartonFragmFcn;}
88
63131144 89 //============================== ALL CASES ============================================
90
91 TH2F* GetInputOutput(){return fhInputOutput;}
92
93 //============================== Reconstruction Bin Comparison ============================================
94
95 TH1F* GetRecoBinPt(){return fhRecoBinPt;} // ("fhRecoBinPt","Reconstructed Pt Distribution",100,0,1);
9622226e 96 TH1F* GetRecoBinPtNoBg(){return fhRecoBinPtNoBg;} // ("fhRecoBinPt","Reconstructed Pt Distribution",100,0,1);
63131144 97 TH1F* GetRecoBinPartonPt(){return fhRecoBinPartonPt;} // ("fhRecoBinPartonPt","Input Pt Distribution",100,0,1);
98 TH1F* GetRecoBinJetEt(){return fhRecoBinJetEt;} // ("fhRecoJetEt","E_{T}^{reco}",250,0.,250.);
99 TH1F* GetRecoBinInputJetEt(){return fhRecoBinInputJetEt;} // ("fhRecoInputJetEt","E_{T}^{reco}",250,0.,250.);
100
f7d5860b 101 private:
102 void InitPlots();
103 Int_t fDebug; // Debug value
104 Float_t fConeRadius; // Cone radius to be used in filling
105 Float_t fNominalEnergy; // Force a nominal energy - specifically for 80+20 jets
106 AliEMCALJetFinderOutput* fOutput; // Output object to be analysed
73aa79d4 107 //===================== CASE 1 ===========================================
ab01dff2 108 TH1F *fhFragmFcn; // ("hFragmFcn","Fragmentation Function",100,0,1);
109 TH1F *fhPartonFragmFcn;// ("hFragmFcn","Parton Fragmentation Function",100,0,1);
110 TH1F *fhPartonJT; // ("hPartonJT","Track Momentum Perpendicular to Parton Axis",100,0.,10.);
111 TH1F *fhPartonPL; // ("hPartonPL","Track Momentum Parallel to Parton Axis ",100,0.,100.);
112 TH1F *fhJetJT; // ("hJetJT","Track Momentum Perpendicular to Jet Axis",100,0.,10.);
113 TH1F *fhJetPL; // ("hJetPL","Track Momentum Parallel to Jet Axis ",100,0.,100.);
114 TH1F *fhJetEt; // ("hJetEt","E_{T}^{reco}",250,0.,250.);
5a4d90c5 115 TH1F *fhJetEtDiff; // ("hJetEt","E_{T}^{reco}",250,0.,250.);
ab01dff2 116 TH1F *fhJetEta; // ("hJetEta","#eta_{jet}^{reco}",180,-0.9,0.9);
117 TH1F *fhJetPhi; // ("hJetPhi","#phi_{jet}^{reco}",62,0.,3.1);
118 TH1F *fhPartonEta; // ("hPartonEta","#eta_{Parton}",180,-0.9,0.9);
119 TH1F *fhPartonPhi; // ("hPartonPhi","#phi_{Parton}",62,0.,3.1);
120 TH1F *fhEtaDiff; // ("hEtaDiff","#eta_{jet}^{reco}-#eta_{jet}^{input}",100,-0.5,0.5);
121 TH1F *fhPhiDiff; // ("hPhiDiff","#phi_{jet}^{reco}-#phi_{jet}^{input}",100,-0.5,0.5);
122 TH2F *fhEtaPhiSpread; // ("hEtaPhiSpread","#eta - #phi Distribution
f7d5860b 123 //of Reconstructed Jets",192,-0.7,0.7,288,pi/3,pi);
ab01dff2 124 TH1F *fhNJets; // ("hNJets","N Reconstructed jets",11,-0.5,10.5);
73aa79d4 125
126 //============================== CASE 2 ============================================
127
ab01dff2 128 TH1F *fhFragmFcn2; // ("hFragmFcn2","Fragmentation Function",100,0,1);
129 TH1F *fhPartonFragmFcn2;// ("hFragmFcn2","Parton Fragmentation Function",100,0,1);
130 TH1F *fhPartonJT2; // ("hPartonJT2","Track Momentum Perpendicular to Parton Axis",100,0.,10.);
131 TH1F *fhPartonPL2; // ("hPartonPL2","Track Momentum Parallel to Parton Axis ",100,0.,100.);
132 TH1F *fhJetJT2; // ("hJetJT2","Track Momentum Perpendicular to Jet Axis",100,0.,10.);
133 TH1F *fhJetPL2; // ("hJetPL2","Track Momentum Parallel to Jet Axis ",100,0.,100.);
134 TH1F *fhJetEt2; // ("hJetEt2","E_{T}^{reco}",250,0.,250.);
5a4d90c5 135 TH1F *fhJetEtDiff2; // ("hJetEt","E_{T}^{reco}",250,0.,250.);
ab01dff2 136 TH1F *fhJetEta2; // ("hJetEta2","#eta_{jet}^{reco}",180,-0.9,0.9);
137 TH1F *fhJetPhi2; // ("hJetPhi2","#phi_{jet}^{reco}",62,0.,3.1);
138 TH1F *fhPartonEta2; // ("hPartonEta2","#eta_{Parton}",180,-0.9,0.9);
139 TH1F *fhPartonPhi2; // ("hPartonPhi2","#phi_{Parton}",62,0.,3.1);
140 TH1F *fhEtaDiff2; // ("hEtaDiff2","#eta_{jet}^{reco}-#eta_{jet}^{input}",100,-0.5,0.5);
141 TH1F *fhPhiDiff2; // ("hPhiDiff2","#phi_{jet}^{reco}-#phi_{jet}^{input}",100,-0.5,0.5);
142 TH2F *fhEtaPhiSpread2; // ("hEtaPhiSpread2","#eta - #phi Distribution
73aa79d4 143 //of Reconstructed Jets",192,-0.7,0.7,288,pi/3,pi);
ab01dff2 144 TH1F *fhNJets2; // ("hNJets2","N Reconstructed jets",11,-0.5,10.5);
145 TH1F *fhJetEtSecond2; //("hJetEtSecond2","E_{T}^{reco}",250,0.,250.);
146 TH1F *fhJetEtRatio2; //("hJetEtRatio2","Ratio of Second Highest to Highest",100,0,1);
147 TH1F *fhEtaPhiDist2; //("hEtaPhiDist2","Angular Distance Between First and Second",100,0,3);
73aa79d4 148
63131144 149 //============================== ALL CASES ============================================
73aa79d4 150
63131144 151 TH2F *fhInputOutput; //("hJetEtRatio2","Ratio of Second Highest to Highest",100,0,1);
73aa79d4 152
63131144 153 //============================== Reconstruction Bin Comparison ============================================
154
155 TH1F *fhRecoBinPt; // ("fhRecoBinPt","Reconstructed Pt Distribution",100,0,1);
9622226e 156 TH1F *fhRecoBinPtNoBg; // ("fhRecoBinPt","Reconstructed Pt Distribution",100,0,1);
63131144 157 TH1F *fhRecoBinPartonPt; // ("fhRecoBinPartonPt","Input Pt Distribution",100,0,1);
158 TH1F *fhRecoBinJetEt; // ("fhRecoJetEt","E_{T}^{reco}",250,0.,250.);
159 TH1F *fhRecoBinInputJetEt; // ("fhRecoInputJetEt","E_{T}^{reco}",250,0.,250.);
1515a8af 160 TH1F* fhJetPT ;// new TH1F("hJetPT","P_{T} Distribution",200,0,200);
161 TH1F* fhPartonPT ;// new TH1F("hPartonPT","Parton P_{T} Distribution",200,0,1);
162 TH1F* fhJetPT2 ;// new TH1F("hJetPT","P_{T} Distribution",200,0,200);
163 TH1F* fhPartonPT2 ;// new TH1F("hPartonPT","Parton P_{T} Distribution",200,0,1);
164 TH1F* fhRecoBinFragmFcn;//new TH1F("fhRecoBinFragmFcn","Reconstructed Frag. Fcn",100,0,1);
5a4d90c5 165 TH1F* fhRecoBinFragmFcnNoBg;//new TH1F("fhRecoBinFragmFcn","Reconstructed Frag. Fcn",100,0,1);
1515a8af 166 TH1F* fhRecoBinPartonFragmFcn;// new TH1F("fhRecoBinPartonFragmFcn","Input Bin Fragm Fcn Distribution",100,0,1);
da2f0870 167
168 TH1F* fhJetInvE;// new TH1F("fhJetInvE","#frac{1}{E_{R}}",100,0,1);
169 TH1F* fhJetInvE2;// new TH1F("fhJetInvE2","#frac{1}{E_{R}}",100,0,1);
5a4d90c5 170
171 TH1F* fhBackHisto;
172 Float_t fScaleFactor; //Scaling to get back to correct energy
44f59d68 173 Bool_t fInitialised; // have histograms been initialised
f7d5860b 174
175
492f773f 176 ClassDef(AliEMCALJetFinderPlots,6)
f7d5860b 177
178};
179#endif
180