]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EMCAL/AliEMCALJetFinderOutput.cxx
Added additional jet energy info
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALJetFinderOutput.cxx
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  *                                                                        *
4  * Author: The ALICE Off-line Project.                                    *
5  * Contributors are mentioned in the code where appropriate.              *
6  *                                                                        *
7  * Permission to use, copy, modify and distribute this software and its   *
8  * documentation strictly for non-commercial purposes is hereby granted   *
9  * without fee, provided that the above copyright notice appears in all   *
10  * copies and that both the copyright notice and this permission notice   *
11  * appear in the supporting documentation. The authors make no claims     *
12  * about the suitability of this software for any purpose. It is          *
13  * provided "as is" without express or implied warranty.                  *
14  **************************************************************************/
15
16
17 /* $Id$ */
18
19 //_________________________________________________________________________
20 //  Output object for jetfinder
21 //
22 //*-- Author:   Renan Cabrera (LBL)
23 //              Mark Horner (LBL/UCT)
24 //
25
26
27 #include <stdio.h>
28 #include <TParticle.h>
29 #include <TTree.h>
30
31 //.....................
32 #include "AliEMCALJet.h"
33 #include "AliEMCALParton.h"
34 #include "AliEMCALJetFinderOutput.h"
35 #include "AliEMCALJetFinderInput.h"
36
37 ClassImp(AliEMCALJetFinderOutput)
38
39 //________________________________________________________________________
40 AliEMCALJetFinderOutput::AliEMCALJetFinderOutput(){ 
41         fNMaxJets=10;
42         fNMaxParticles=2000;
43         fNMaxPartons=4;
44         fInitialised=kFALSE;
45         fNPartons=0;
46         fNJets=0;    
47         fNParticles=0;
48                                                                 
49
50 if (fDebug>0) Info("AliEMCALJetFinderOutput","Beginning Constructor");
51
52 } //________________________________________________________________________
53 void AliEMCALJetFinderOutput::InitArrays()
54 {
55         
56 if (fDebug>1) Info("AliEMCALJetFinderOutput","Beginning InitArrays");
57
58 }
59
60 //_______________________________________________________________________
61 AliEMCALJetFinderOutput::~AliEMCALJetFinderOutput()
62 {
63 if (fDebug>0) Info("~AliEMCALJetFinderOutput","Beginning Destructor");
64 }
65
66 //_______________________________________________________________________
67 void AliEMCALJetFinderOutput::Reset(AliEMCALJetFinderResetType_t resettype)
68 {
69 if (fDebug>1) Info("Reset","Beginning Reset");
70 if (!fInitialised) InitArrays();
71  if (   resettype == kResetAll ||
72         resettype == kResetJets||
73         resettype == kResetData ){
74          fNJets = 0;
75  }
76  if (   resettype == kResetAll ||
77         resettype == kResetPartons||              
78         resettype == kResetData ){
79          fNPartons = 0;
80  }
81  if (   resettype == kResetAll ||    
82         resettype == kResetParticles||              
83         resettype == kResetData ){
84          fNParticles = 0;
85  }
86 }
87 //________________________________________________________________________
88 void AliEMCALJetFinderOutput::AddJet(AliEMCALJet* jet)
89 {
90 if (fDebug>1) Info("AddJet","Beginning AddJet");
91 if (!fInitialised) InitArrays();
92
93
94         if (fNJets < fNMaxJets){
95                 new( &fJetsArray[fNJets])   AliEMCALJet( *jet );
96                 fNJets++;
97         }else
98         {
99                 Error("AddJet","Cannot AddJet - maximum exceeded");
100                 }
101    
102 }
103
104
105 //_______________________________________________________________________
106 void AliEMCALJetFinderOutput::AddParton(AliEMCALParton* parton)
107 {
108 if (fDebug>1) Info("AddParton","Beginning AddParton");
109 if (!fInitialised) InitArrays();
110
111         if (fNPartons < fNMaxPartons){
112                 new( &fPartonsArray[fNPartons] )  AliEMCALParton( *parton );
113                 fNPartons++;
114         }else
115         {
116                 Error("AddParton","Cannot AddParton - maximum exceeded");
117         }
118  
119 }
120
121 //_______________________________________________________________________
122 void AliEMCALJetFinderOutput::AddParticle(TParticle* particle)
123 {
124 if (fDebug>1) Info("AddParticle","Beginning AddParticle");
125 if (!fInitialised) InitArrays();
126
127         if (fNParticles < fNMaxParticles){
128                 new( &fParticlesArray[fNParticles] )  TParticle( *particle );
129                 fNParticles++;
130         }else
131         {
132                 Error("AddParticle","Cannot AddParticle - maximum exceeded");
133                 }
134 }
135
136 //______________________________________________________________________
137 AliEMCALJet* AliEMCALJetFinderOutput::GetJet(Int_t jetID)
138 {
139 if (fDebug>1) Info("GetJet","Beginning GetJet");
140         
141   if (jetID >= fNJets) return 0;
142   return &(fJetsArray[jetID]);
143   
144 }
145
146 //______________________________________________________________________
147 AliEMCALParton* AliEMCALJetFinderOutput::GetParton(Int_t partonID)
148 {
149 if (fDebug>1) Info("GetParton","Beginning GetParton");
150
151   if (partonID >= fNPartons) return 0;
152   return &(fPartonsArray[partonID]);
153 }
154
155 //______________________________________________________________________
156 TParticle* AliEMCALJetFinderOutput::GetParticle(Int_t particleID)
157 {
158 if (fDebug>1) Info("GetParticle","Beginning GetParticle");
159
160   if (particleID >= fNParticles) return 0;
161 return &(fParticlesArray[particleID]);
162
163 }
164