Adding TestSuite
[u/mrichter/AliRoot.git] / EMCAL / 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         void SetConeRadius(Float_t coneradius){fConeRadius = coneradius;}
31         void SetNominalEnergy(Float_t energy){fNominalEnergy = energy;}
32         void SetDebug(Int_t debug){fDebug = debug;}
33         void FillFromOutput(AliEMCALJetFinderOutput* output);
34         //========================== CASE 1 ========================
35         // Only consider events with only 1 jet
36         TH1F* GetFragmFcn(){return hFragmFcn;}  
37         TH1F* GetPartonFragmFcn(){return hPartonFragmFcn;}      
38         TH1F* GetJetJT(){return hJetJT;}        
39         TH1F* GetPartonJT(){return hPartonJT;}  
40         TH1F* GetJetPL(){return hJetPL;}
41         TH1F* GetPartonPL(){return hPartonPL;}
42         TH1F* GetJetEt(){return hJetEt;}
43         TH1F* GetJetEta(){return hJetEta;}
44         TH1F* GetPartonEta(){return hPartonEta;}
45         TH1F* GetPartonPhi(){return hPartonPhi;}
46         TH1F* GetJetPhi(){return hJetPhi;}
47         TH1F* GetEtaDiff(){return hEtaDiff;}
48         TH1F* GetPhiDiff(){return hPhiDiff;}
49         TH2F* GetEtaPhiSpread(){return hEtaPhiSpread;}
50         TH1F* GetNJets(){return hNJets;}
51
52         //========================== CASE 2 ========================
53         // Only consider events with at least 2 jets
54         TH1F* GetFragmFcn2(){return hFragmFcn2;}        
55         TH1F* GetPartonFragmFcn2(){return hPartonFragmFcn2;}    
56         TH1F* GetJetJT2(){return hJetJT2;}      
57         TH1F* GetPartonJT2(){return hPartonJT2;}        
58         TH1F* GetJetPL2(){return hJetPL2;}
59         TH1F* GetPartonPL2(){return hPartonPL2;}
60         TH1F* GetJetEt2(){return hJetEt2;}
61         TH1F* GetJetEta2(){return hJetEta2;}
62         TH1F* GetPartonEta2(){return hPartonEta2;}
63         TH1F* GetPartonPhi2(){return hPartonPhi2;}
64         TH1F* GetJetPhi2(){return hJetPhi2;}
65         TH1F* GetEtaDiff2(){return hEtaDiff2;}
66         TH1F* GetPhiDiff2(){return hPhiDiff2;}
67         TH2F* GetEtaPhiSpread2(){return hEtaPhiSpread2;}
68         TH1F* GetNJets2(){return hNJets2;}
69         TH1F* GetJetEtSecond2(){return hJetEtSecond2;}
70         TH1F* GetJetEtRatio2(){return hJetEtRatio2;}
71         TH1F* GetEtaPhiDist2(){return hEtaPhiDist2;}
72
73         private:
74         void InitPlots();
75         Int_t                           fDebug;         // Debug value
76         Float_t                         fConeRadius;    // Cone radius to be used in filling
77         Float_t                         fNominalEnergy; // Force a nominal energy - specifically for 80+20 jets
78         AliEMCALJetFinderOutput*        fOutput;        // Output object to be analysed
79         //===================== CASE 1 ===========================================
80         TH1F                            *hFragmFcn;     // ("hFragmFcn","Fragmentation Function",100,0,1);
81         TH1F                            *hPartonFragmFcn;// ("hFragmFcn","Parton Fragmentation Function",100,0,1);
82         TH1F                            *hPartonJT;     // ("hPartonJT","Track Momentum Perpendicular to Parton Axis",100,0.,10.);
83         TH1F                            *hPartonPL;     // ("hPartonPL","Track Momentum Parallel to Parton Axis ",100,0.,100.);
84         TH1F                            *hJetJT;        // ("hJetJT","Track Momentum Perpendicular to Jet Axis",100,0.,10.);
85         TH1F                            *hJetPL;        // ("hJetPL","Track Momentum Parallel to Jet Axis ",100,0.,100.);
86         TH1F                            *hJetEt;        // ("hJetEt","E_{T}^{reco}",250,0.,250.);
87         TH1F                            *hJetEta;       // ("hJetEta","#eta_{jet}^{reco}",180,-0.9,0.9);
88         TH1F                            *hJetPhi;       // ("hJetPhi","#phi_{jet}^{reco}",62,0.,3.1);
89         TH1F                            *hPartonEta;    // ("hPartonEta","#eta_{Parton}",180,-0.9,0.9);
90         TH1F                            *hPartonPhi;    // ("hPartonPhi","#phi_{Parton}",62,0.,3.1);
91         TH1F                            *hEtaDiff;      // ("hEtaDiff","#eta_{jet}^{reco}-#eta_{jet}^{input}",100,-0.5,0.5);
92         TH1F                            *hPhiDiff;      // ("hPhiDiff","#phi_{jet}^{reco}-#phi_{jet}^{input}",100,-0.5,0.5);
93         TH2F                            *hEtaPhiSpread; // ("hEtaPhiSpread","#eta - #phi Distribution 
94                                                         //of Reconstructed Jets",192,-0.7,0.7,288,pi/3,pi);
95         TH1F                            *hNJets;        // ("hNJets","N Reconstructed jets",11,-0.5,10.5);
96   
97         //============================== CASE 2 ============================================
98
99         TH1F                            *hFragmFcn2;    // ("hFragmFcn2","Fragmentation Function",100,0,1);
100         TH1F                            *hPartonFragmFcn2;// ("hFragmFcn2","Parton Fragmentation Function",100,0,1);
101         TH1F                            *hPartonJT2;    // ("hPartonJT2","Track Momentum Perpendicular to Parton Axis",100,0.,10.);
102         TH1F                            *hPartonPL2;    // ("hPartonPL2","Track Momentum Parallel to Parton Axis ",100,0.,100.);
103         TH1F                            *hJetJT2;       // ("hJetJT2","Track Momentum Perpendicular to Jet Axis",100,0.,10.);
104         TH1F                            *hJetPL2;       // ("hJetPL2","Track Momentum Parallel to Jet Axis ",100,0.,100.);
105         TH1F                            *hJetEt2;       // ("hJetEt2","E_{T}^{reco}",250,0.,250.);
106         TH1F                            *hJetEta2;      // ("hJetEta2","#eta_{jet}^{reco}",180,-0.9,0.9);
107         TH1F                            *hJetPhi2;      // ("hJetPhi2","#phi_{jet}^{reco}",62,0.,3.1);
108         TH1F                            *hPartonEta2;   // ("hPartonEta2","#eta_{Parton}",180,-0.9,0.9);
109         TH1F                            *hPartonPhi2;   // ("hPartonPhi2","#phi_{Parton}",62,0.,3.1);
110         TH1F                            *hEtaDiff2;     // ("hEtaDiff2","#eta_{jet}^{reco}-#eta_{jet}^{input}",100,-0.5,0.5);
111         TH1F                            *hPhiDiff2;     // ("hPhiDiff2","#phi_{jet}^{reco}-#phi_{jet}^{input}",100,-0.5,0.5);
112         TH2F                            *hEtaPhiSpread2;        // ("hEtaPhiSpread2","#eta - #phi Distribution 
113                                                         //of Reconstructed Jets",192,-0.7,0.7,288,pi/3,pi);
114         TH1F                            *hNJets2;       // ("hNJets2","N Reconstructed jets",11,-0.5,10.5);
115         TH1F                            *hJetEtSecond2; //("hJetEtSecond2","E_{T}^{reco}",250,0.,250.); 
116         TH1F                            *hJetEtRatio2;  //("hJetEtRatio2","Ratio of Second Highest to Highest",100,0,1);
117         TH1F                            *hEtaPhiDist2;  //("hEtaPhiDist2","Angular Distance Between First and Second",100,0,3);
118
119
120
121         
122         Bool_t                          fInitialised;
123                 
124         
125         ClassDef(AliEMCALJetFinderPlots,3)
126         
127 };
128 #endif
129