ROOT logo
#ifndef ALIDIELECTRONDEBUGTREE_H
#define ALIDIELECTRONDEBUGTREE_H

/* Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

//#############################################################
//#                                                           # 
//#         Class AliDielectronDebugTree                     #
//#                                                           #
//#  Authors:                                                 #
//#   Anton     Andronic, GSI / A.Andronic@gsi.de             #
//#   Ionut C.  Arsene,   GSI / I.C.Arsene@gsi.de             #
//#   Julian    Book,     Uni Ffm / Julian.Book@cern.ch       #
//#   Frederick Kramer,   Uni Ffm, / Frederick.Kramer@cern.ch #
//#   Magnus    Mager,    CERN / Magnus.Mager@cern.ch         #
//#   WooJin J. Park,     GSI / W.J.Park@gsi.de               #
//#   Jens      Wiechula, Uni HD / Jens.Wiechula@cern.ch      #
//#                                                           #
//#############################################################

#include <TNamed.h>
#include <TString.h>

#include "AliDielectronVarManager.h"

class TTreeSRedirector;
class AliDielectronPair;
class AliDielectron;

class AliDielectronDebugTree : public TNamed {
public:
  AliDielectronDebugTree();
  AliDielectronDebugTree(const char*name, const char* title);

  virtual ~AliDielectronDebugTree();

  void SetOutputFileName(const char* file) { fFileName=file; }
  
  void AddPairVariable(AliDielectronVarManager::ValueTypes type) { fVariables[fNVars++]=(Int_t)type; }
  void AddLegVariable(AliDielectronVarManager::ValueTypes type)  { fVariablesLeg[fNVarsLeg++]=(Int_t)type; }
  
  void Fill(AliDielectronPair *pair);

  void SetDielectron(AliDielectron * const dielectron) { fDielectron=dielectron; }
  
  void DeleteStreamer();
  void WriteTree();
private:
  TString fFileName;                                          //output file name
  
  Int_t  fNVars;                                              //number of configured variables
  Int_t  fVariables[AliDielectronVarManager::kNMaxValues];    //configured variables
  Int_t  fNVarsLeg;                                           //number of configured variables
  Int_t  fVariablesLeg[AliDielectronVarManager::kNMaxValues]; //configured variables for the legs

  TTreeSRedirector *fStreamer;     //! Tree Redirector
  AliDielectron *fDielectron;      //! pointer to mother dielectron manager

  AliDielectronDebugTree(const AliDielectronDebugTree &c);
  AliDielectronDebugTree &operator=(const AliDielectronDebugTree &c);

  
  ClassDef(AliDielectronDebugTree,1)         // Dielectron DebugTree
};



#endif
 AliDielectronDebugTree.h:1
 AliDielectronDebugTree.h:2
 AliDielectronDebugTree.h:3
 AliDielectronDebugTree.h:4
 AliDielectronDebugTree.h:5
 AliDielectronDebugTree.h:6
 AliDielectronDebugTree.h:7
 AliDielectronDebugTree.h:8
 AliDielectronDebugTree.h:9
 AliDielectronDebugTree.h:10
 AliDielectronDebugTree.h:11
 AliDielectronDebugTree.h:12
 AliDielectronDebugTree.h:13
 AliDielectronDebugTree.h:14
 AliDielectronDebugTree.h:15
 AliDielectronDebugTree.h:16
 AliDielectronDebugTree.h:17
 AliDielectronDebugTree.h:18
 AliDielectronDebugTree.h:19
 AliDielectronDebugTree.h:20
 AliDielectronDebugTree.h:21
 AliDielectronDebugTree.h:22
 AliDielectronDebugTree.h:23
 AliDielectronDebugTree.h:24
 AliDielectronDebugTree.h:25
 AliDielectronDebugTree.h:26
 AliDielectronDebugTree.h:27
 AliDielectronDebugTree.h:28
 AliDielectronDebugTree.h:29
 AliDielectronDebugTree.h:30
 AliDielectronDebugTree.h:31
 AliDielectronDebugTree.h:32
 AliDielectronDebugTree.h:33
 AliDielectronDebugTree.h:34
 AliDielectronDebugTree.h:35
 AliDielectronDebugTree.h:36
 AliDielectronDebugTree.h:37
 AliDielectronDebugTree.h:38
 AliDielectronDebugTree.h:39
 AliDielectronDebugTree.h:40
 AliDielectronDebugTree.h:41
 AliDielectronDebugTree.h:42
 AliDielectronDebugTree.h:43
 AliDielectronDebugTree.h:44
 AliDielectronDebugTree.h:45
 AliDielectronDebugTree.h:46
 AliDielectronDebugTree.h:47
 AliDielectronDebugTree.h:48
 AliDielectronDebugTree.h:49
 AliDielectronDebugTree.h:50
 AliDielectronDebugTree.h:51
 AliDielectronDebugTree.h:52
 AliDielectronDebugTree.h:53
 AliDielectronDebugTree.h:54
 AliDielectronDebugTree.h:55
 AliDielectronDebugTree.h:56
 AliDielectronDebugTree.h:57
 AliDielectronDebugTree.h:58
 AliDielectronDebugTree.h:59
 AliDielectronDebugTree.h:60
 AliDielectronDebugTree.h:61
 AliDielectronDebugTree.h:62
 AliDielectronDebugTree.h:63
 AliDielectronDebugTree.h:64
 AliDielectronDebugTree.h:65
 AliDielectronDebugTree.h:66
 AliDielectronDebugTree.h:67
 AliDielectronDebugTree.h:68
 AliDielectronDebugTree.h:69