]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EMCAL/AliEMCALJetFinderOutput.cxx
Added type which is not used yet, but will be for mixed events.
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALJetFinderOutput.cxx
index 04bb5891cac56e2a278c38323f438aaa2860dd3a..4b213c35fbf3859c13b410761bcfa07d80248f61 100755 (executable)
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
 
+
 /* $Id$ */
 
 //_________________________________________________________________________
 //  Output object for jetfinder
-//
+// --
 //*-- Author:  Renan Cabrera (LBL)
 //             Mark Horner (LBL/UCT)
-//
-
+// --
 
 
 #include <stdio.h>
-#include <TClonesArray.h>
 #include <TParticle.h>
 #include <TTree.h>
 
 ClassImp(AliEMCALJetFinderOutput)
 
 //________________________________________________________________________
-AliEMCALJetFinderOutput::AliEMCALJetFinderOutput()
-{
+AliEMCALJetFinderOutput::AliEMCALJetFinderOutput(){ 
+       // Default constructor
+       
+       fNMaxJets=10;
+       fNMaxParticles=2000;
+       fNMaxPartons=4;
+       fInitialised=kFALSE;
+       fDebug=0;
+       fNPartons=0;
+       fNJets=0;    
+       fNParticles=0;
+
+       fJetsArray=0;
+       fParticlesArray=0;
+       fPartonsArray=0;
+
 if (fDebug>0) Info("AliEMCALJetFinderOutput","Beginning Constructor");
 
-        fNMaxJets=10;
-        fNMaxParticles=2000;
-        fNMaxPartons=4;
-       fInitialised = kFALSE;
-       InitArrays();
-} 
+} //________________________________________________________________________
 void AliEMCALJetFinderOutput::InitArrays()
 {
-       
+       // Initialise arrays - legacy from TClones days
 if (fDebug>1) Info("AliEMCALJetFinderOutput","Beginning InitArrays");
-
-       fJetsArray      = new TClonesArray("AliEMCALJet",fNMaxJets);
-       fNJets = 0;
-       fPartonsArray   = new TClonesArray("AliEMCALParton",fNMaxPartons);
-       fNPartons = 0;
-       fParticlesArray = new TClonesArray("TParticle",fNMaxParticles); 
-       fNParticles =0;
-       fInitialised = kTRUE;
-
+ fParticlesArray=new TClonesArray("TParticle",fNMaxParticles);
+ fPartonsArray=new TClonesArray("AliEMCALParton",fNMaxPartons);
+ fJetsArray=new TClonesArray("AliEMCALJet",fNMaxJets);
+ //fJetsArray->BypassStreamer(kFALSE);
+ fInitialised=1;
 }
 
 //_______________________________________________________________________
 AliEMCALJetFinderOutput::~AliEMCALJetFinderOutput()
 {
+       // Default destrucotr
 if (fDebug>0) Info("~AliEMCALJetFinderOutput","Beginning Destructor");
-if (fInitialised)
-{
- fJetsArray->Delete();
- fPartonsArray->Delete();
- fParticlesArray->Delete();
-
- delete fJetsArray;
- delete fPartonsArray;
  delete fParticlesArray;
-}
+ delete fPartonsArray;
+ delete fJetsArray;
 }
 
 //_______________________________________________________________________
 void AliEMCALJetFinderOutput::Reset(AliEMCALJetFinderResetType_t resettype)
 {
+// Reset stored data
+       
 if (fDebug>1) Info("Reset","Beginning Reset");
 if (!fInitialised) InitArrays();
  if (  resettype == kResetAll ||
        resettype == kResetJets||
        resettype == kResetData ){
-        fJetsArray->Delete();
         fNJets = 0;
+        if (fJetsArray)
+          fJetsArray->Clear();
  }
  if (   resettype == kResetAll ||
         resettype == kResetPartons||              
         resettype == kResetData ){
-        fPartonsArray->Delete();
         fNPartons = 0;
+        if (fPartonsArray)
+          fPartonsArray->Clear();
  }
  if (   resettype == kResetAll ||    
         resettype == kResetParticles||              
         resettype == kResetData ){
-        fParticlesArray->Delete();
         fNParticles = 0;
+        if (fParticlesArray)
+          fParticlesArray->Clear();
  }
 }
 //________________________________________________________________________
 void AliEMCALJetFinderOutput::AddJet(AliEMCALJet* jet)
 {
+// Add a jet to the array
+       
 if (fDebug>1) Info("AddJet","Beginning AddJet");
 if (!fInitialised) InitArrays();
 
-       if (fNJets < fNMaxJets){
-               new( (*fJetsArray)[fNJets] )  AliEMCALJet( *jet );
+
+       if (fNJets < fNMaxJets){
+               new(fJetsArray->AddrAt(fNJets))   AliEMCALJet( *jet );
                fNJets++;
        }else
        {
                Error("AddJet","Cannot AddJet - maximum exceeded");
-       }
+                }
+   
 }
 
 
 //_______________________________________________________________________
 void AliEMCALJetFinderOutput::AddParton(AliEMCALParton* parton)
 {
+//Add a parton to the array
+       
 if (fDebug>1) Info("AddParton","Beginning AddParton");
 if (!fInitialised) InitArrays();
 
        if (fNPartons < fNMaxPartons){
-               new( (*fPartonsArray)[fNPartons] )  AliEMCALParton( *parton );
+               new(fPartonsArray->AddrAt(fNPartons))  AliEMCALParton( *parton );
                fNPartons++;
        }else
        {
                 Error("AddParton","Cannot AddParton - maximum exceeded");
        }
-
 }
 
 //_______________________________________________________________________
 void AliEMCALJetFinderOutput::AddParticle(TParticle* particle)
 {
+//Add a particle tot he array
+       
 if (fDebug>1) Info("AddParticle","Beginning AddParticle");
 if (!fInitialised) InitArrays();
 
        if (fNParticles < fNMaxParticles){
-               new( (*fParticlesArray)[fNParticles] )  TParticle( *particle );
+               new(fParticlesArray->AddrAt(fNParticles))  TParticle( *particle );
                fNParticles++;
        }else
        {
                Error("AddParticle","Cannot AddParticle - maximum exceeded");
-       }
-
+                }
 }
 
 //______________________________________________________________________
 AliEMCALJet* AliEMCALJetFinderOutput::GetJet(Int_t jetID)
 {
+       // return a jet
 if (fDebug>1) Info("GetJet","Beginning GetJet");
        
   if (jetID >= fNJets) return 0;
-  return (AliEMCALJet*)((*fJetsArray)[jetID]);
+  return (AliEMCALJet*)fJetsArray->At(jetID);
   
-
 }
 
 //______________________________________________________________________
 AliEMCALParton* AliEMCALJetFinderOutput::GetParton(Int_t partonID)
 {
+       //return a parton
 if (fDebug>1) Info("GetParton","Beginning GetParton");
 
   if (partonID >= fNPartons) return 0;
-  return (AliEMCALParton*)((*fPartonsArray)[partonID]);
-
-
+  return (AliEMCALParton*) fPartonsArray->At(partonID);
 }
 
 //______________________________________________________________________
 TParticle* AliEMCALJetFinderOutput::GetParticle(Int_t particleID)
 {
+//return a particle
+       
 if (fDebug>1) Info("GetParticle","Beginning GetParticle");
 
   if (particleID >= fNParticles) return 0;
-  return (TParticle*)((*fParticlesArray)[particleID]);
-
+  return (TParticle*) fParticlesArray->At(particleID);
 
 }