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