]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EMCAL/jetfinder/AliEMCALJetFinderPlots.h
correct coding violations
[u/mrichter/AliRoot.git] / EMCAL / jetfinder / AliEMCALJetFinderPlots.h
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();
30
31         AliEMCALJetFinderPlots (const AliEMCALJetFinderPlots&);
32         AliEMCALJetFinderPlots & operator = (AliEMCALJetFinderPlots &) {
33           Fatal("operator =", "not implemented") ;
34           return *this ;
35         }
36
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
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;}
62
63         //========================== CASE 2 ========================
64         // Only consider events with at least 2 jets
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;}
86
87         
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         
96         //============================== ALL CASES ============================================
97         
98         TH2F* GetInputOutput() const {return fhInputOutput;}
99         
100         //============================== Reconstruction Bin Comparison  ============================================
101         
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.);
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