]>
Commit | Line | Data |
---|---|---|
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 | ||
25 | class 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 |