/*****************************************************************************
 * Project: RooFit                                                           *
 * Package: RooFitCore                                                       *
 * @(#)root/roofitcore:$Id$
 * Authors:                                                                  *
 *   WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu       *
 *   DK, David Kirkby,    UC Irvine,         dkirkby@uci.edu                 *
 *                                                                           *
 * Copyright (c) 2000-2005, Regents of the University of California          *
 *                          and Stanford University. All rights reserved.    *
 *                                                                           *
 * Redistribution and use in source and binary forms,                        *
 * with or without modification, are permitted according to the terms        *
 * listed in LICENSE (http://roofit.sourceforge.net/license.txt)             *
 *****************************************************************************/

//////////////////////////////////////////////////////////////////////////////
//
// BEGIN_HTML
// RooVectorDataStore is the abstract base class for data collection that
// use a TTree as internal storage mechanism
// END_HTML
//

#include "RooFit.h"
#include "RooMsgService.h"
#include "RooVectorDataStore.h"
#include "RooTreeDataStore.h"

#include "Riostream.h"
#include "TTree.h"
#include "TChain.h"
#include "TDirectory.h"
#include "TROOT.h"
#include "RooFormulaVar.h"
#include "RooRealVar.h"
#include "RooCategory.h"
#include "RooNameSet.h"
#include "RooHistError.h"
#include "RooTrace.h"

#include <iomanip>
#include <algorithm>
#include <memory>
using namespace std ;

ClassImp(RooVectorDataStore)
ClassImp(RooVectorDataStore::RealVector)
;





//_____________________________________________________________________________
RooVectorDataStore::RooVectorDataStore() :
  _wgtVar(0),
  _nReal(0),
  _nRealF(0),
  _nCat(0),
  _nEntries(0),	 
  _firstReal(0),
  _firstRealF(0),
  _firstCat(0),
  _sumWeight(0),
  _sumWeightCarry(0),
  _extWgtArray(0),
  _extWgtErrLoArray(0),
  _extWgtErrHiArray(0),
  _extSumW2Array(0),
  _curWgt(1),
  _curWgtErrLo(0),
  _curWgtErrHi(0),
  _curWgtErr(0),
  _cache(0),
  _cacheOwner(0),
  _forcedUpdate(kFALSE)
{
  TRACE_CREATE
}



//_____________________________________________________________________________
RooVectorDataStore::RooVectorDataStore(const char* name, const char* title, const RooArgSet& vars, const char* wgtVarName) :
  RooAbsDataStore(name,title,varsNoWeight(vars,wgtVarName)),
  _varsww(vars),
  _wgtVar(weightVar(vars,wgtVarName)),
  _nReal(0),
  _nRealF(0),
  _nCat(0),
  _nEntries(0),	   
  _firstReal(0),
  _firstRealF(0),
  _firstCat(0),
  _sumWeight(0),
  _sumWeightCarry(0),
  _extWgtArray(0),
  _extWgtErrLoArray(0),
  _extWgtErrHiArray(0),
  _extSumW2Array(0),
  _curWgt(1),
  _curWgtErrLo(0),
  _curWgtErrHi(0),
  _curWgtErr(0),
  _cache(0),
  _cacheOwner(0),
  _forcedUpdate(kFALSE)
{
  TIterator* iter = _varsww.createIterator() ;
  RooAbsArg* arg ;
  while((arg=(RooAbsArg*)iter->Next())) {
    arg->attachToVStore(*this) ;
  }
  delete iter ;
  
  setAllBuffersNative() ;
  TRACE_CREATE
}



//_____________________________________________________________________________
void RooVectorDataStore::setAllBuffersNative()
{
  vector<RealVector*>::const_iterator oiter = _realStoreList.begin() ;
  for (; oiter!=_realStoreList.end() ; ++oiter) {
    (*oiter)->setNativeBuffer() ;
  }

  vector<RealFullVector*>::const_iterator fiter = _realfStoreList.begin() ;
  for (; fiter!=_realfStoreList.end() ; ++fiter) {
    (*fiter)->setNativeBuffer() ;
  }
  
  vector<CatVector*>::const_iterator citer = _catStoreList.begin() ;
  for (; citer!=_catStoreList.end() ; ++citer) {
    (*citer)->setNativeBuffer() ;
 }
}




//_____________________________________________________________________________
RooArgSet RooVectorDataStore::varsNoWeight(const RooArgSet& allVars, const char* wgtName) 
{
  // Utility function for constructors
  // Return RooArgSet that is copy of allVars minus variable matching wgtName if specified

  RooArgSet ret(allVars) ;
  if(wgtName) {
    RooAbsArg* wgt = allVars.find(wgtName) ;
    if (wgt) {
      ret.remove(*wgt,kTRUE,kTRUE) ;
    }
  }
  return ret ;
}



//_____________________________________________________________________________
RooRealVar* RooVectorDataStore::weightVar(const RooArgSet& allVars, const char* wgtName) 
{
  // Utility function for constructors
  // Return pointer to weight variable if it is defined

  if(wgtName) {
    RooRealVar* wgt = dynamic_cast<RooRealVar*>(allVars.find(wgtName)) ;
    return wgt ;
  } 
  return 0 ;
}




//_____________________________________________________________________________
RooVectorDataStore::RooVectorDataStore(const RooVectorDataStore& other, const char* newname) :
  RooAbsDataStore(other,newname), 
  _varsww(other._varsww),
  _wgtVar(other._wgtVar),
  _nReal(0),
  _nRealF(0),
  _nCat(0),
  _nEntries(other._nEntries),	 
  _sumWeight(other._sumWeight),
  _sumWeightCarry(other._sumWeightCarry),
  _extWgtArray(other._extWgtArray),
  _extWgtErrLoArray(other._extWgtErrLoArray),
  _extWgtErrHiArray(other._extWgtErrHiArray),
  _extSumW2Array(other._extSumW2Array),
  _curWgt(other._curWgt),
  _curWgtErrLo(other._curWgtErrLo),
  _curWgtErrHi(other._curWgtErrHi),
  _curWgtErr(other._curWgtErr),
  _cache(0),
  _cacheOwner(0),
  _forcedUpdate(kFALSE)
{
  // Regular copy ctor

  vector<RealVector*>::const_iterator oiter = other._realStoreList.begin() ;
  for (; oiter!=other._realStoreList.end() ; ++oiter) {
    _realStoreList.push_back(new RealVector(**oiter,(RooAbsReal*)_varsww.find((*oiter)->_nativeReal->GetName()))) ;
    _nReal++ ;
  }

  vector<RealFullVector*>::const_iterator fiter = other._realfStoreList.begin() ;
  for (; fiter!=other._realfStoreList.end() ; ++fiter) {
    _realfStoreList.push_back(new RealFullVector(**fiter,(RooAbsReal*)_varsww.find((*fiter)->_nativeReal->GetName()))) ;
    _nRealF++ ;
  }

  vector<CatVector*>::const_iterator citer = other._catStoreList.begin() ;
  for (; citer!=other._catStoreList.end() ; ++citer) {
    _catStoreList.push_back(new CatVector(**citer,(RooAbsCategory*)_varsww.find((*citer)->_cat->GetName()))) ;
    _nCat++ ;
 }

  setAllBuffersNative() ;
  
  _firstReal = _realStoreList.size()>0 ? &_realStoreList.front() : 0 ;
  _firstRealF = _realfStoreList.size()>0 ? &_realfStoreList.front() : 0 ;
  _firstCat = _catStoreList.size()>0 ? &_catStoreList.front() : 0 ;
  TRACE_CREATE
}


//_____________________________________________________________________________
RooVectorDataStore::RooVectorDataStore(const RooTreeDataStore& other, const RooArgSet& vars, const char* newname) :
  RooAbsDataStore(other,varsNoWeight(vars,other._wgtVar?other._wgtVar->GetName():0),newname),
  _varsww(vars),
  _wgtVar(weightVar(vars,other._wgtVar?other._wgtVar->GetName():0)),
  _nReal(0),
  _nRealF(0),
  _nCat(0),
  _nEntries(0),	   
  _firstReal(0),
  _firstRealF(0),
  _firstCat(0),
  _sumWeight(0),
  _sumWeightCarry(0),
  _extWgtArray(0),
  _extWgtErrLoArray(0),
  _extWgtErrHiArray(0),
  _extSumW2Array(0),
  _curWgt(1),
  _curWgtErrLo(0),
  _curWgtErrHi(0),
  _curWgtErr(0),
  _cache(0),
  _cacheOwner(0),
  _forcedUpdate(kFALSE)
{
  TIterator* iter = _varsww.createIterator() ;
  RooAbsArg* arg ;
  while((arg=(RooAbsArg*)iter->Next())) {
    arg->attachToVStore(*this) ;
  }
  delete iter ;

  setAllBuffersNative() ;
  
  // now copy contents of tree storage here
  reserve(other.numEntries());
  for (Int_t i=0 ; i<other.numEntries() ; i++) {
    other.get(i) ;
    _varsww = other._varsww ;
    fill() ;
  }
  TRACE_CREATE
  
}


//_____________________________________________________________________________
RooVectorDataStore::RooVectorDataStore(const RooVectorDataStore& other, const RooArgSet& vars, const char* newname) :
  RooAbsDataStore(other,varsNoWeight(vars,other._wgtVar?other._wgtVar->GetName():0),newname),
  _varsww(vars),
  _wgtVar(other._wgtVar?weightVar(vars,other._wgtVar->GetName()):0),
  _nReal(0),	 
  _nRealF(0),
  _nCat(0),
  _nEntries(other._nEntries),	 
  _sumWeight(other._sumWeight),
  _sumWeightCarry(other._sumWeightCarry),
  _extWgtArray(other._extWgtArray),
  _extWgtErrLoArray(other._extWgtErrLoArray),
  _extWgtErrHiArray(other._extWgtErrHiArray),
  _extSumW2Array(other._extSumW2Array),
  _curWgt(other._curWgt),
  _curWgtErrLo(other._curWgtErrLo),
  _curWgtErrHi(other._curWgtErrHi),
  _curWgtErr(other._curWgtErr),
  _cache(0),
  _forcedUpdate(kFALSE)
{
  // Clone ctor, must connect internal storage to given new external set of vars
  vector<RealVector*>::const_iterator oiter = other._realStoreList.begin() ;
  for (; oiter!=other._realStoreList.end() ; ++oiter) {
    RooAbsReal* real = (RooAbsReal*) vars.find((*oiter)->bufArg()->GetName()) ;
    if (real) {
      // Clone vector
      _realStoreList.push_back(new RealVector(**oiter,real)) ;
      // Adjust buffer pointer
      real->attachToVStore(*this) ;
      _nReal++ ;
    }
  }
  
  vector<RealFullVector*>::const_iterator fiter = other._realfStoreList.begin() ;
  for (; fiter!=other._realfStoreList.end() ; ++fiter) {
    RooAbsReal* real = (RooAbsReal*) vars.find((*fiter)->bufArg()->GetName()) ;
    if (real) {
      // Clone vector
      _realfStoreList.push_back(new RealFullVector(**fiter,real)) ;
      // Adjust buffer pointer
      real->attachToVStore(*this) ;
      _nRealF++ ;
    }
  }

  vector<CatVector*>::const_iterator citer = other._catStoreList.begin() ;
  for (; citer!=other._catStoreList.end() ; ++citer) {
    RooAbsCategory* cat = (RooAbsCategory*) vars.find((*citer)->bufArg()->GetName()) ;
    if (cat) {
      // Clone vector
      _catStoreList.push_back(new CatVector(**citer,cat)) ;
      // Adjust buffer pointer
      cat->attachToVStore(*this) ;
      _nCat++ ;
    }
  }

  setAllBuffersNative() ;

  _firstReal = _realStoreList.size()>0 ? &_realStoreList.front() : 0 ;
  _firstRealF = _realfStoreList.size()>0 ? &_realfStoreList.front() : 0 ;
  _firstCat = _catStoreList.size()>0 ? &_catStoreList.front() : 0 ;
  TRACE_CREATE

}





//_____________________________________________________________________________
RooVectorDataStore::RooVectorDataStore(const char *name, const char *title, RooAbsDataStore& tds, 
			 const RooArgSet& vars, const RooFormulaVar* cutVar, const char* cutRange,
			 Int_t nStart, Int_t nStop, Bool_t /*copyCache*/, const char* wgtVarName) :

  RooAbsDataStore(name,title,varsNoWeight(vars,wgtVarName)),
  _varsww(vars),
  _wgtVar(weightVar(vars,wgtVarName)),
  _nReal(0),
  _nRealF(0),
  _nCat(0),
  _nEntries(0),	   
  _firstReal(0),
  _firstRealF(0),
  _firstCat(0),
  _sumWeight(0),
  _sumWeightCarry(0),
  _extWgtArray(0),
  _extWgtErrLoArray(0),
  _extWgtErrHiArray(0),
  _extSumW2Array(0),
  _curWgt(1),
  _curWgtErrLo(0),
  _curWgtErrHi(0),
  _curWgtErr(0),
  _cache(0),
  _forcedUpdate(kFALSE)
{
  TIterator* iter = _varsww.createIterator() ;
  RooAbsArg* arg ;
  while((arg=(RooAbsArg*)iter->Next())) {
    arg->attachToVStore(*this) ;
  }
  delete iter ;

  setAllBuffersNative() ;

  // Deep clone cutVar and attach clone to this dataset
  RooFormulaVar* cloneVar = 0;
  if (cutVar) {    
    cloneVar = (RooFormulaVar*) cutVar->cloneTree() ;
    cloneVar->attachDataStore(tds) ;
  }

  RooVectorDataStore* vds = dynamic_cast<RooVectorDataStore*>(&tds) ;
  if (vds && vds->_cache) {    
    _cache = new RooVectorDataStore(*vds->_cache) ;
  }
  
  loadValues(&tds,cloneVar,cutRange,nStart,nStop);

  delete cloneVar ;
  TRACE_CREATE
}






//_____________________________________________________________________________
RooVectorDataStore::~RooVectorDataStore()
{
  // Destructor
  vector<RealVector*>::const_iterator iter = _realStoreList.begin(), iend = _realStoreList.end() ;
  for ( ; iter!=iend ; ++iter) {
    delete *iter ;
  }

  vector<RealFullVector*>::const_iterator iter3 = _realfStoreList.begin(), iend3 = _realfStoreList.end() ;
  for ( ; iter3!=iend3 ; ++iter3) {
    delete *iter3 ;
  }

  vector<CatVector*>::const_iterator iter2 = _catStoreList.begin(), iend2 = _catStoreList.end() ;
  for ( ; iter2!=iend2 ; ++iter2) {
    delete *iter2 ;
  }

  delete _cache ;
  TRACE_DESTROY
}




//_____________________________________________________________________________
Bool_t RooVectorDataStore::valid() const 
{
  // Return true if currently loaded coordinate is considered valid within
  // the current range definitions of all observables
  return kTRUE ;
}




//_____________________________________________________________________________
Int_t RooVectorDataStore::fill()
{
  // Interface function to TTree::Fill
  vector<RealVector*>::iterator iter = _realStoreList.begin() ;
  for ( ; iter!=_realStoreList.end() ; ++iter) {
    (*iter)->fill() ;
  }
  vector<RealFullVector*>::iterator iter3 = _realfStoreList.begin() ;
  for ( ; iter3!=_realfStoreList.end() ; ++iter3) {
    (*iter3)->fill() ;
  }
  vector<CatVector*>::iterator iter2 = _catStoreList.begin() ;
  for ( ; iter2!=_catStoreList.end() ; ++iter2) {
    (*iter2)->fill() ;
  }
  // use Kahan's algorithm to sum up weights to avoid loss of precision
  Double_t y = (_wgtVar ? _wgtVar->getVal() : 1.) - _sumWeightCarry;
  Double_t t = _sumWeight + y;
  _sumWeightCarry = (t - _sumWeight) - y;
  _sumWeight = t;
  _nEntries++ ;  

  return 0 ;
}
 


//_____________________________________________________________________________
const RooArgSet* RooVectorDataStore::get(Int_t index) const 
{
  // Load the n-th data point (n='index') in memory
  // and return a pointer to the internal RooArgSet
  // holding its coordinates.

  if (index>=_nEntries) return 0 ;
    
  for (Int_t i=0 ; i<_nReal ; i++) {
    (*(_firstReal+i))->get(index) ;
  }

  if (_nRealF>0) {
    for (Int_t i=0 ; i<_nRealF ; i++) {
      (*(_firstRealF+i))->get(index) ;
    }
  }

  if (_nCat>0) {
    for (Int_t i=0 ; i<_nCat ; i++) {
      (*(_firstCat+i))->get(index) ;
    }
  }

  if (_doDirtyProp) {
    // Raise all dirty flags 
    _iterator->Reset() ;
    RooAbsArg* var = 0;
    while ((var=(RooAbsArg*)_iterator->Next())) {
      var->setValueDirty() ; // This triggers recalculation of all clients
    }     
  }
  
  // Update current weight cache
  if (_extWgtArray) {

    // If external array is specified use that  
    _curWgt = _extWgtArray[index] ;
    _curWgtErrLo = _extWgtErrLoArray[index] ;
    _curWgtErrHi = _extWgtErrHiArray[index] ;
    _curWgtErr   = sqrt(_extSumW2Array[index]) ;

  } else if (_wgtVar) {

    // Otherwise look for weight variable
    _curWgt = _wgtVar->getVal() ;
    _curWgtErrLo = _wgtVar->getAsymErrorLo() ;
    _curWgtErrHi = _wgtVar->getAsymErrorHi() ;
    _curWgtErr   = _wgtVar->hasAsymError() ? ((_wgtVar->getAsymErrorHi() - _wgtVar->getAsymErrorLo())/2)  : _wgtVar->getError() ;

  } // else {

//     // Otherwise return 1 
//     _curWgt=1.0 ;
//     _curWgtErrLo = 0 ;
//     _curWgtErrHi = 0 ;
//     _curWgtErr = 0 ;
    
//   }

  if (_cache) {
    _cache->get(index) ;
  }

  return &_vars;
}



//_____________________________________________________________________________
const RooArgSet* RooVectorDataStore::getNative(Int_t index) const 
{
  // Load the n-th data point (n='index') in memory
  // and return a pointer to the internal RooArgSet
  // holding its coordinates.

  if (index>=_nEntries) return 0 ;
    
  for (Int_t i=0 ; i<_nReal ; i++) {
    (*(_firstReal+i))->getNative(index) ;
  }

  if (_nRealF>0) {
    for (Int_t i=0 ; i<_nRealF ; i++) {
      (*(_firstRealF+i))->getNative(index) ;
    }
  }

  if (_nCat>0) {
    for (Int_t i=0 ; i<_nCat ; i++) {
      (*(_firstCat+i))->getNative(index) ;
    }
  }

  if (_doDirtyProp) {
    // Raise all dirty flags 
    _iterator->Reset() ;
    RooAbsArg* var = 0;
    while ((var=(RooAbsArg*)_iterator->Next())) {
      var->setValueDirty() ; // This triggers recalculation of all clients
    }     
  }
  
  // Update current weight cache
  if (_extWgtArray) {

    // If external array is specified use that  
    _curWgt = _extWgtArray[index] ;
    _curWgtErrLo = _extWgtErrLoArray[index] ;
    _curWgtErrHi = _extWgtErrHiArray[index] ;
    _curWgtErr   = sqrt(_extSumW2Array[index]) ;

  } else if (_wgtVar) {

    // Otherwise look for weight variable
    _curWgt = _wgtVar->getVal() ;
    _curWgtErrLo = _wgtVar->getAsymErrorLo() ;
    _curWgtErrHi = _wgtVar->getAsymErrorHi() ;
    _curWgtErr   = _wgtVar->hasAsymError() ? ((_wgtVar->getAsymErrorHi() - _wgtVar->getAsymErrorLo())/2)  : _wgtVar->getError() ;

  } else {

    // Otherwise return 1 
    _curWgt=1.0 ;
    _curWgtErrLo = 0 ;
    _curWgtErrHi = 0 ;
    _curWgtErr = 0 ;
    
  }

  if (_cache) {
    _cache->getNative(index) ;
  }

  return &_vars;
}



//_____________________________________________________________________________
Double_t RooVectorDataStore::weight(Int_t index) const 
{
  // Return the weight of the n-th data point (n='index') in memory
  get(index) ;
  return weight() ;
}



//_____________________________________________________________________________
Double_t RooVectorDataStore::weight() const 
{
  // Return the weight of the n-th data point (n='index') in memory
  return _curWgt ;
}


//_____________________________________________________________________________
Double_t RooVectorDataStore::weightError(RooAbsData::ErrorType etype) const 
{
  if (_extWgtArray) {

    // We have a weight array, use that info

    // Return symmetric error on current bin calculated either from Poisson statistics or from SumOfWeights
    Double_t lo,hi ;
    weightError(lo,hi,etype) ;
    return (lo+hi)/2 ;

   } else if (_wgtVar) {

    // We have a a weight variable, use that info
    if (_wgtVar->hasAsymError()) {
      return ( _wgtVar->getAsymErrorHi() - _wgtVar->getAsymErrorLo() ) / 2 ;
    } else if (_wgtVar->hasError(kFALSE)) {
      return _wgtVar->getError() ;    
    } else {
      return 0 ;
    }

  } else {

    // We have no weights
    return 0 ;

  }
}



//_____________________________________________________________________________
void RooVectorDataStore::weightError(Double_t& lo, Double_t& hi, RooAbsData::ErrorType etype) const
{
  if (_extWgtArray) {
    
    // We have a weight array, use that info
    switch (etype) {
      
    case RooAbsData::Auto:
      throw string(Form("RooDataHist::weightError(%s) error type Auto not allowed here",GetName())) ;
      break ;
      
    case RooAbsData::Expected:
      throw string(Form("RooDataHist::weightError(%s) error type Expected not allowed here",GetName())) ;
      break ;
      
    case RooAbsData::Poisson:
      // Weight may be preset or precalculated    
      if (_curWgtErrLo>=0) {
	lo = _curWgtErrLo ;
	hi = _curWgtErrHi ;
	return ;
      }
      
      // Otherwise Calculate poisson errors
      Double_t ym,yp ;  
      RooHistError::instance().getPoissonInterval(Int_t(weight()+0.5),ym,yp,1) ;
      lo = weight()-ym ;
      hi = yp-weight() ;
      return ;
      
    case RooAbsData::SumW2:
      lo = _curWgtErr ;
      hi = _curWgtErr ;
      return ;
      
    case RooAbsData::None:
      lo = 0 ;
      hi = 0 ;
      return ;
    }    
    
  } else if (_wgtVar) {

    // We have a a weight variable, use that info
    if (_wgtVar->hasAsymError()) {
      hi = _wgtVar->getAsymErrorHi() ;
      lo = _wgtVar->getAsymErrorLo() ;
    } else {
      hi = _wgtVar->getError() ;
      lo = _wgtVar->getError() ;
    }  

  } else {

    // We are unweighted
    lo=0 ;
    hi=0 ;

  }
}



//_____________________________________________________________________________
void RooVectorDataStore::loadValues(const RooAbsDataStore *ads, const RooFormulaVar* select, const char* rangeName, Int_t nStart, Int_t nStop) 
{
  //   throw(std::string("RooVectorDataSore::loadValues() NOT IMPLEMENTED")) ;
  
  // Load values from dataset 't' into this data collection, optionally
  // selecting events using 'select' RooFormulaVar
  //

  // Redirect formula servers to source data row
  RooFormulaVar* selectClone(0) ;
  if (select) {
    selectClone = (RooFormulaVar*) select->cloneTree() ;
    selectClone->recursiveRedirectServers(*ads->get()) ;
    selectClone->setOperMode(RooAbsArg::ADirty,kTRUE) ;
  }

  // Force DS internal initialization
  ads->get(0) ;

  // Loop over events in source tree   
  RooAbsArg* arg = 0;
  TIterator* destIter = _varsww.createIterator() ;
  Int_t nevent = nStop < ads->numEntries() ? nStop : ads->numEntries() ;
  Bool_t allValid ;

  Bool_t isTDS = dynamic_cast<const RooTreeDataStore*>(ads) ;
  Bool_t isVDS = dynamic_cast<const RooVectorDataStore*>(ads) ;

  // Check if weight is being renamed - if so set flag to enable special handling in copy loop
  Bool_t weightRename(kFALSE) ;
  Bool_t newWeightVar = _wgtVar ? _wgtVar->getAttribute("NewWeight") : kFALSE ;

  if (_wgtVar && isVDS && ((RooVectorDataStore*)(ads))->_wgtVar) {
    if (string(_wgtVar->GetName())!=((RooVectorDataStore*)(ads))->_wgtVar->GetName() && !newWeightVar) {
      weightRename=kTRUE ;
    }
  }
  if (_wgtVar && isTDS && ((RooTreeDataStore*)(ads))->_wgtVar) {
    if (string(_wgtVar->GetName())!=((RooTreeDataStore*)(ads))->_wgtVar->GetName() && !newWeightVar) {
      weightRename=kTRUE ;
    }
  }

  reserve(numEntries() + (nevent - nStart));
  for(Int_t i=nStart; i < nevent ; ++i) {
    ads->get(i) ;
    
    // Does this event pass the cuts?
    if (selectClone && selectClone->getVal()==0) {
      continue ; 
    }


    if (isTDS) {
      _varsww.assignValueOnly(((RooTreeDataStore*)ads)->_varsww) ;
      if (weightRename) {
	_wgtVar->setVal(((RooTreeDataStore*)ads)->_wgtVar->getVal()) ;
      }
    } else if (isVDS) {
      _varsww.assignValueOnly(((RooVectorDataStore*)ads)->_varsww) ;
      if (weightRename) {
	_wgtVar->setVal(((RooVectorDataStore*)ads)->_wgtVar->getVal()) ;
      }
    } else {
      _varsww.assignValueOnly(*ads->get()) ;
    }

    destIter->Reset() ;
    // Check that all copied values are valid
    allValid=kTRUE ;
    while((arg=(RooAbsArg*)destIter->Next())) {
      if (!arg->isValid() || (rangeName && !arg->inRange(rangeName))) {
	allValid=kFALSE ;
	break ;
      }
    }
    if (!allValid) {
      continue ;
    }
    
    //_cachedVars = ((RooTreeDataStore*)ads)->_cachedVars ;
    fill() ;
   }

  delete destIter ;  
  delete selectClone ;
  
  SetTitle(ads->GetTitle());
}





//_____________________________________________________________________________
Bool_t RooVectorDataStore::changeObservableName(const char* /*from*/, const char* /*to*/) 
{
  return kFALSE ;
}

  

//_____________________________________________________________________________
RooAbsArg* RooVectorDataStore::addColumn(RooAbsArg& newVar, Bool_t /*adjustRange*/)
{
  // Add a new column to the data set which holds the pre-calculated values
  // of 'newVar'. This operation is only meaningful if 'newVar' is a derived
  // value.
  //
  // The return value points to the added element holding 'newVar's value
  // in the data collection. The element is always the corresponding fundamental
  // type of 'newVar' (e.g. a RooRealVar if 'newVar' is a RooFormulaVar)
  //
  // Note: This function is explicitly NOT intended as a speed optimization
  //       opportunity for the user. Components of complex PDFs that can be
  //       precalculated with the dataset are automatically identified as such
  //       and will be precalculated when fitting to a dataset
  // 
  //       By forcibly precalculating functions with non-trivial Jacobians,
  //       or functions of multiple variables occurring in the data set,
  //       using addColumn(), you may alter the outcome of the fit. 
  //
  //       Only in cases where such a modification of fit behaviour is intentional, 
  //       this function should be used. 

  // Create a fundamental object of the right type to hold newVar values
  RooAbsArg* valHolder= newVar.createFundamental();
  // Sanity check that the holder really is fundamental
  if(!valHolder->isFundamental()) {
    coutE(InputArguments) << GetName() << "::addColumn: holder argument is not fundamental: \""
	 << valHolder->GetName() << "\"" << endl;
    return 0;
  }

  // Clone variable and attach to cloned tree 
  RooAbsArg* newVarClone = newVar.cloneTree() ;
  newVarClone->recursiveRedirectServers(_vars,kFALSE) ;

  // Attach value place holder to this tree
  valHolder->attachToVStore(*this) ;
  _vars.add(*valHolder) ;
  _varsww.add(*valHolder) ;

  // Fill values of of placeholder
  RealVector* rv(0) ;
  CatVector* cv(0) ;
  if (dynamic_cast<RooAbsReal*>(valHolder)) {
    rv = addReal((RooAbsReal*)valHolder); 
    rv->resize(numEntries()) ;
  } else if (dynamic_cast<RooAbsCategory*>((RooAbsCategory*)valHolder)) {
    cv = addCategory((RooAbsCategory*)valHolder) ;
    cv->resize(numEntries()) ;
  } 

  for (int i=0 ; i<numEntries() ; i++) {
    getNative(i) ;

    newVarClone->syncCache(&_vars) ;
    valHolder->copyCache(newVarClone) ;

    if (rv) rv->write(i) ;
    if (cv) cv->write(i) ;
  }

  delete newVarClone ;  
  return valHolder ;

}



//_____________________________________________________________________________
RooArgSet* RooVectorDataStore::addColumns(const RooArgList& varList)
{
  // Utility function to add multiple columns in one call
  // See addColumn() for details

  TIterator* vIter = varList.createIterator() ;
  RooAbsArg* var ;

  checkInit() ;

  TList cloneSetList ;
  RooArgSet cloneSet ;
  RooArgSet* holderSet = new RooArgSet ;

  while((var=(RooAbsArg*)vIter->Next())) {
    // Create a fundamental object of the right type to hold newVar values
    RooAbsArg* valHolder= var->createFundamental();
    holderSet->add(*valHolder) ;

    // Sanity check that the holder really is fundamental
    if(!valHolder->isFundamental()) {
      coutE(InputArguments) << GetName() << "::addColumn: holder argument is not fundamental: \""
	   << valHolder->GetName() << "\"" << endl;
      return 0;
    }
    
    // Clone variable and attach to cloned tree 
    RooArgSet* newVarCloneList = (RooArgSet*) RooArgSet(*var).snapshot() ;  
    if (!newVarCloneList) {
      coutE(InputArguments) << "RooTreeDataStore::RooTreeData(" << GetName() 
			    << ") Couldn't deep-clone variable " << var->GetName() << ", abort." << endl ;
      return 0 ;
    }
    RooAbsArg* newVarClone = newVarCloneList->find(var->GetName()) ;   
    newVarClone->recursiveRedirectServers(_vars,kFALSE) ;
    newVarClone->recursiveRedirectServers(*holderSet,kFALSE) ;

    cloneSetList.Add(newVarCloneList) ;
    cloneSet.add(*newVarClone) ;

    // Attach value place holder to this tree
    valHolder->attachToVStore(*this) ;
    _vars.add(*valHolder) ;
  }
  delete vIter ;


  TIterator* cIter = cloneSet.createIterator() ;
  TIterator* hIter = holderSet->createIterator() ;
  RooAbsArg *cloneArg, *holder ;

  // Dimension storage area for new vectors
  while((holder = (RooAbsArg*)hIter->Next())) {
      if (dynamic_cast<RooAbsReal*>(holder)) {
	addReal((RooAbsReal*)holder)->resize(numEntries()) ;
      } else {
	addCategory((RooAbsCategory*)holder)->resize(numEntries()) ;
      }
    }

  // Fill values of of placeholder
  for (int i=0 ; i<numEntries() ; i++) {
    getNative(i) ;

    cIter->Reset() ;
    hIter->Reset() ;
    while((cloneArg=(RooAbsArg*)cIter->Next())) {
      holder = (RooAbsArg*)hIter->Next() ;

      cloneArg->syncCache(&_vars) ;

      holder->copyCache(cloneArg) ;

      if (dynamic_cast<RooAbsReal*>(holder)) {
	addReal((RooAbsReal*)holder)->write(i) ;
      } else {
	addCategory((RooAbsCategory*)holder)->write(i) ;
      }
    }
  }
  
  delete cIter ;
  delete hIter ;

  cloneSetList.Delete() ;
  return holderSet ;
}




//_____________________________________________________________________________
RooAbsDataStore* RooVectorDataStore::merge(const RooArgSet& allVars, list<RooAbsDataStore*> dstoreList)
{
  // Merge columns of supplied data set(s) with this data set.  All
  // data sets must have equal number of entries.  In case of
  // duplicate columns the column of the last dataset in the list
  // prevails
    
  RooVectorDataStore* mergedStore = new RooVectorDataStore("merged","merged",allVars) ;

  Int_t nevt = dstoreList.front()->numEntries() ;
  mergedStore->reserve(nevt);
  for (int i=0 ; i<nevt ; i++) {

    // Copy data from self
    mergedStore->_vars = *get(i) ;
      
    // Copy variables from merge sets
    for (list<RooAbsDataStore*>::iterator iter = dstoreList.begin() ; iter!=dstoreList.end() ; iter++) {
      const RooArgSet* partSet = (*iter)->get(i) ;
      mergedStore->_vars = *partSet ;
    }

    mergedStore->fill() ;
  }
  return mergedStore ;
}



void RooVectorDataStore::reserve(Int_t nEvts)
{
  vector<RealVector*>::iterator iter = _realStoreList.begin() ;
  for ( ; iter!=_realStoreList.end() ; ++iter) {
    (*iter)->reserve(nEvts);
  }
  vector<RealFullVector*>::iterator iter3 = _realfStoreList.begin() ;
  for ( ; iter3!=_realfStoreList.end() ; ++iter3) {
    (*iter3)->reserve(nEvts);
  }
  vector<CatVector*>::iterator iter2 = _catStoreList.begin() ;
  for ( ; iter2!=_catStoreList.end() ; ++iter2) {
    (*iter2)->reserve(nEvts);
  }
}

//_____________________________________________________________________________
void RooVectorDataStore::append(RooAbsDataStore& other) 
{
  Int_t nevt = other.numEntries() ;
  reserve(nevt + numEntries());
  for (int i=0 ; i<nevt ; i++) {  
    _vars = *other.get(i) ;
    if (_wgtVar) {
      _wgtVar->setVal(other.weight()) ;
    }
    
    fill() ;
  }
}



//_____________________________________________________________________________
Int_t RooVectorDataStore::numEntries() const 
{
  return _nEntries ;
}



//_____________________________________________________________________________
void RooVectorDataStore::reset() 
{
  _nEntries=0 ;
  _sumWeight=_sumWeightCarry=0 ;
  vector<RealVector*>::iterator iter = _realStoreList.begin() ;
  for ( ; iter!=_realStoreList.end() ; ++iter) {
    (*iter)->reset() ;
  }  
  vector<RealFullVector*>::iterator iter3 = _realfStoreList.begin() ;
  for ( ; iter3!=_realfStoreList.end() ; ++iter3) {
    (*iter3)->reset() ;
  }  
  vector<CatVector*>::iterator iter2 = _catStoreList.begin() ;
  for ( ; iter2!=_catStoreList.end() ; ++iter2) {
    (*iter2)->reset() ;
  }  

}


struct less_dep : public binary_function<RooAbsArg*, RooAbsArg*, bool> {
  bool operator()(RooAbsArg* x, RooAbsArg* y) { 
    return y->dependsOn(*x); 
  }
};

//_____________________________________________________________________________
void RooVectorDataStore::cacheArgs(const RooAbsArg* owner, RooArgSet& newVarSet, const RooArgSet* nset, Bool_t skipZeroWeights) 
{
  // Cache given RooAbsArgs with this tree: The tree is
  // given direct write access of the args internal cache
  // the args values is pre-calculated for all data points
  // in this data collection. Upon a get() call, the
  // internal cache of 'newVar' will be loaded with the
  // precalculated value and it's dirty flag will be cleared.

  // Delete previous cache, if any
  delete _cache ;
  _cache = 0 ;

  // Reorder cached elements. First constant nodes, then tracked nodes in order of dependence

  // Step 1 - split in constant and tracked
  RooArgSet newVarSetCopy(newVarSet) ;
  RooFIter itern = newVarSetCopy.fwdIterator() ;
  RooAbsArg* arg ;
  RooArgSet orderedArgs ;
  vector<RooAbsArg*> trackArgs ;
  while((arg=itern.next())) {
    if (arg->getAttribute("ConstantExpression") && !arg->getAttribute("NOCacheAndTrack")) {
      orderedArgs.add(*arg) ;
    } else {

      // Explicitly check that arg depends on any of the observables, if this
      // is not the case, skip it, as inclusion would result in repeated
      // calculation of a function that has the same value for every event
      // in the likelihood
      if (arg->dependsOn(_vars) && !arg->getAttribute("NOCacheAndTrack")) {
	trackArgs.push_back(arg) ;
      } else {
	newVarSet.remove(*arg) ;
      }
    }
  }

  // Step 2 - reorder tracked nodes
  if (trackArgs.size()>1) {
    sort(trackArgs.begin(),trackArgs.end(),less_dep()) ;
  }

  // Step 3 - put back together
  for (vector<RooAbsArg*>::iterator viter = trackArgs.begin() ; viter!=trackArgs.end() ; ++viter) {
    orderedArgs.add(**viter) ;
  }
  
  // WVE need to prune tracking entries _below_ constant nodes as the're not needed
//   cout << "Number of Cache-and-Tracked args are " << trackArgs.size() << endl ;
//   cout << "Compound ordered cache parameters = " << endl ;
//   orderedArgs.Print("v") ;

  TIterator* vIter = orderedArgs.createIterator() ;
  RooAbsArg* var ;
  
  checkInit() ;
  
  list<RooArgSet*> vlist ;
  RooArgList cloneSet ;

  while((var=(RooAbsArg*)vIter->Next())) {

    // Clone variable and attach to cloned tree 
    RooArgSet* newVarCloneList = (RooArgSet*) RooArgSet(*var).snapshot() ;  
    RooAbsArg* newVarClone = newVarCloneList->find(var->GetName()) ;   
    newVarClone->recursiveRedirectServers(_vars,kFALSE) ;

    vlist.push_back(newVarCloneList) ;
    cloneSet.add(*newVarClone) ;

  }
  delete vIter ;

  _cacheOwner = (RooAbsArg*) owner ;
  RooVectorDataStore* newCache = new RooVectorDataStore("cache","cache",orderedArgs) ;

  TIterator* cIter = cloneSet.createIterator() ;
  RooAbsArg *cloneArg ;

  RooAbsArg::setDirtyInhibit(kTRUE) ;

  vector<RooArgSet*> nsetList ;
  list<RooArgSet*> argObsList ;

  // Now need to attach branch buffers of clones
  TIterator* it = cloneSet.createIterator() ;
  RooArgSet *anset(0), *acset(0) ;
  while ((arg=(RooAbsArg*)it->Next())) {
    arg->attachToVStore(*newCache) ;
    
    RooArgSet* argObs = nset ? arg->getObservables(*nset) : arg->getVariables() ;
    argObsList.push_back(argObs) ;
    
    RooArgSet* normSet(0) ;
    const char* catNset = arg->getStringAttribute("CATNormSet") ;
    if (catNset) {
//       cout << "RooVectorDataStore::cacheArgs() cached node " << arg->GetName() << " has a normalization set specification CATNormSet = " << catNset << endl ;
      RooNameSet rns ;
      rns.setNameList(catNset) ;
      anset = rns.select(nset?*nset:RooArgSet()) ;
      normSet = (RooArgSet*) anset->selectCommon(*argObs) ;
      
    }
    const char* catCset = arg->getStringAttribute("CATCondSet") ;
    if (catCset) {
//       cout << "RooVectorDataStore::cacheArgs() cached node " << arg->GetName() << " has a conditional observable set specification CATCondSet = " << catCset << endl ;
      RooNameSet rns ;
      rns.setNameList(catCset) ;
      acset = rns.select(nset?*nset:RooArgSet()) ;
      
      argObs->remove(*acset,kTRUE,kTRUE) ;
      normSet = argObs ;
    }

    // now construct normalization set for component from cset/nset spec
//     if (normSet) {
//       cout << "RooVectorDaraStore::cacheArgs() component " << arg->GetName() << " has custom normalization set " << *normSet << endl ;
//     }
    nsetList.push_back(normSet) ;    
  }
  delete it ;

  // Fill values of of placeholder
  newCache->reserve(numEntries());
  for (int i=0 ; i<numEntries() ; i++) {
    getNative(i) ;
    if (weight()!=0 || !skipZeroWeights) {    
      cIter->Reset() ;
      vector<RooArgSet*>::iterator niter = nsetList.begin() ;
      while((cloneArg=(RooAbsArg*)cIter->Next())) {
	// WVE need to intervene here for condobs from ProdPdf
	RooArgSet* argNset = *niter ;
	cloneArg->syncCache(argNset?argNset:nset) ;
	++niter ;
      }
    }
    newCache->fill() ;
  }
  delete cIter ;

  RooAbsArg::setDirtyInhibit(kFALSE) ;


  // Now need to attach branch buffers of original function objects 
  it = orderedArgs.createIterator() ;
  while ((arg=(RooAbsArg*)it->Next())) {
    arg->attachToVStore(*newCache) ;
    
    // Activate change tracking mode, if requested
    if (!arg->getAttribute("ConstantExpression") && dynamic_cast<RooAbsReal*>(arg)) {
      RealVector* rv = newCache->addReal((RooAbsReal*)arg) ;      
      RooArgSet* deps = arg->getParameters(_vars) ;
      rv->setDependents(*deps) ;

      // WV lookup normalization set and associate with RealVector
      // find ordinal number of arg in original list 
      Int_t idx = cloneSet.index(arg->GetName()) ;

      coutI(Optimization) << "RooVectorDataStore::cacheArg() element " << arg->GetName() << " has change tracking enabled on parameters " << *deps << endl ;
      rv->setNset(nsetList[idx]) ;
      delete deps ;
    }
    
  }
  delete it ;

  for (list<RooArgSet*>::iterator iter = vlist.begin() ; iter!=vlist.end() ; ++iter) {
    delete *iter ;
  }  
  for (list<RooArgSet*>::iterator iter = argObsList.begin() ; iter!=argObsList.end() ; ++iter) {
    delete *iter ;
  }  

  _cache = newCache ;
  _cache->setDirtyProp(_doDirtyProp) ;
}


void RooVectorDataStore::forceCacheUpdate()
{
  if (_cache) _forcedUpdate = kTRUE ; 
}



typedef RooVectorDataStore::RealVector* pRealVector ;
//_____________________________________________________________________________
void RooVectorDataStore::recalculateCache( const RooArgSet *projectedArgs, Int_t firstEvent, Int_t lastEvent, Int_t stepSize, Bool_t skipZeroWeights) 
{
  if (!_cache) return ;

  pRealVector tv[1000] ;
  Int_t ntv(0) ;

  // Check which items need recalculation
  for (Int_t i=0 ; i<_cache->_nReal ; i++) {
    if ((*(_cache->_firstReal+i))->needRecalc() || _forcedUpdate) {
      tv[ntv] = (*(_cache->_firstReal+i)) ;
      tv[ntv]->_nativeReal->setOperMode(RooAbsArg::ADirty) ;
      tv[ntv]->_nativeReal->_operMode=RooAbsArg::Auto ;
//       cout << "recalculate: need to update " << tv[ntv]->_nativeReal->GetName() << endl ;
      ntv++ ;
    }    
  }
  _forcedUpdate = kFALSE ;

  // If no recalculations are neede stop here
  if (ntv==0) {
    return ;
  }
  // Refill caches of elements that require recalculation
//   cout << "recalc error count before update = " << RooAbsReal::numEvalErrors() << endl ;
  //RooAbsReal::ErrorLoggingMode origMode = RooAbsReal::evalErrorLoggingMode() ;
  RooArgSet* ownedNset = 0 ;
  RooArgSet* usedNset = 0 ;
  if (projectedArgs && projectedArgs->getSize()>0) {
    ownedNset = (RooArgSet*) _vars.snapshot(kFALSE) ;
    ownedNset->remove(*projectedArgs,kFALSE,kTRUE);
    usedNset = ownedNset ;
  } else {
    usedNset = &_vars ;
  }

  //cout << "RooVectorDataStore::recalculateCache: _vars = " << _vars << " projected = " << (projectedArgs?*projectedArgs:RooArgSet()) <<  " nset = " << *nset << endl;
  //Int_t ne = numEntries() ;
  for (int i=firstEvent ; i<lastEvent ; i+=stepSize) {
    get(i) ;    
    Bool_t zeroWeight = (weight()==0) ;
    if (!zeroWeight || !skipZeroWeights) {
      for (int j=0 ; j<ntv ; j++) {
	tv[j]->_nativeReal->_valueDirty=kTRUE ;
	tv[j]->_nativeReal->getValV(tv[j]->_nset ? tv[j]->_nset : usedNset) ;
	tv[j]->write(i) ;
      }
    }
//     if (zeroWeight) {
// //       cout << "update - slot " << i << " has zero weight, ignoring event errors" << endl ;
//       RooAbsReal::setEvalErrorLoggingMode(RooAbsReal::Ignore) ;
//     }
//     for (int j=0 ; j<ntv ; j++) {
//       tv[j]->_nativeReal->_valueDirty=kTRUE ;
//       tv[j]->_nativeReal->getValV(tv[j]->_nset ? tv[j]->_nset : usedNset) ;
//       tv[j]->write(i) ;
//     }
//     if (zeroWeight) {
//       RooAbsReal::setEvalErrorLoggingMode(origMode) ;
//     }
  }  
  
//   cout << "recalculate: end of updating" << endl ;
//   cout << "recalc error count after update = " << RooAbsReal::numEvalErrors() << endl ;

  for (int j=0 ; j<ntv ; j++) {
      tv[j]->_nativeReal->setOperMode(RooAbsArg::AClean) ;
  }  

  delete ownedNset ;

}




//_____________________________________________________________________________
void RooVectorDataStore::attachCache(const RooAbsArg* newOwner, const RooArgSet& cachedVarsIn) 
{
  // Initialize cache of dataset: attach variables of cache ArgSet
  // to the corresponding TTree branches

  // Only applicabel if a cache exists
  if (!_cache) return ;

  // Clone ctor, must connect internal storage to given new external set of vars
  vector<RealVector*>::const_iterator oiter = _cache->_realStoreList.begin() ;
  for (; oiter!=_cache->_realStoreList.end() ; ++oiter) {
    RooAbsReal* real = (RooAbsReal*) cachedVarsIn.find((*oiter)->bufArg()->GetName()) ;
    if (real) {
      // Adjust buffer pointer
      real->attachToVStore(*_cache) ;
    }
  }

  vector<RealFullVector*>::const_iterator fiter = _cache->_realfStoreList.begin() ;
  for (; fiter!=_cache->_realfStoreList.end() ; ++fiter) {
    RooAbsReal* real = (RooAbsReal*) cachedVarsIn.find((*fiter)->bufArg()->GetName()) ;
    if (real) {
      // Adjust buffer pointer
      real->attachToVStore(*_cache) ;
    }
  }

  vector<CatVector*>::const_iterator citer = _cache->_catStoreList.begin() ;
  for (; citer!=_cache->_catStoreList.end() ; ++citer) {
    RooAbsCategory* cat = (RooAbsCategory*) cachedVarsIn.find((*citer)->bufArg()->GetName()) ;
    if (cat) {
      // Adjust buffer pointer
      cat->attachToVStore(*_cache) ;
    }
  }

  _cacheOwner = (RooAbsArg*) newOwner ;
}




//_____________________________________________________________________________
void RooVectorDataStore::resetCache() 
{
  delete _cache ;
  _cache = 0 ;
  _cacheOwner = 0 ;
  return ;
}





//_____________________________________________________________________________
void RooVectorDataStore::setArgStatus(const RooArgSet& /*set*/, Bool_t /*active*/) 
{
  // Disabling of branches is (intentionally) not implemented in vector
  // data stores (as the doesn't result in a net saving of time)

  return ;
}




//_____________________________________________________________________________
void RooVectorDataStore::attachBuffers(const RooArgSet& extObs) 
{
  RooFIter iter = _varsww.fwdIterator() ;
  RooAbsArg* arg ;
  while((arg=iter.next())) {
    RooAbsArg* extArg = extObs.find(arg->GetName()) ;
    if (extArg) {
      extArg->attachToVStore(*this) ;
    }
  }
}



//_____________________________________________________________________________
void RooVectorDataStore::resetBuffers() 
{ 
  RooFIter iter = _varsww.fwdIterator() ;
  RooAbsArg* arg ;
  while((arg=iter.next())) {
    arg->attachToVStore(*this) ;
  }
}  



//_____________________________________________________________________________
void RooVectorDataStore::dump()
{
  cout << "RooVectorDataStor::dump()" << endl ;
  
  cout << "_varsww = " << endl ; _varsww.Print("v") ;
  cout << "realVector list is" << endl ;
  std::vector<RealVector*>::iterator iter = _realStoreList.begin() ;
  for (; iter!=_realStoreList.end() ; ++iter) {
    cout << "RealVector " << *iter << " _nativeReal = " << (*iter)->_nativeReal << " = " << (*iter)->_nativeReal->GetName() << " bufptr = " << (*iter)->_buf  << endl ;
    cout << " values : " ;
    Int_t imax = (*iter)->_vec.size()>10 ? 10 : (*iter)->_vec.size() ;
    for (Int_t i=0 ; i<imax ; i++) {
      cout << (*iter)->_vec[i] << " " ;
    }
    cout << endl ;
  }    
  std::vector<RealFullVector*>::iterator iter2 = _realfStoreList.begin() ;
  for (; iter2!=_realfStoreList.end() ; ++iter2) {
    cout << "RealFullVector " << *iter2 << " _nativeReal = " << (*iter2)->_nativeReal << " = " << (*iter2)->_nativeReal->GetName() 
	 << " bufptr = " << (*iter2)->_buf  << " errbufptr = " << (*iter2)->_bufE << endl ;

    cout << " values : " ;
    Int_t imax = (*iter2)->_vec.size()>10 ? 10 : (*iter2)->_vec.size() ;
    for (Int_t i=0 ; i<imax ; i++) {
      cout << (*iter2)->_vec[i] << " " ;
    }
    cout << endl ;
    if ((*iter2)->_vecE) {
      cout << " errors : " ;
      for (Int_t i=0 ; i<imax ; i++) {
	cout << (*(*iter2)->_vecE)[i] << " " ;
      }
      cout << endl ;

    }    
  }
}


//______________________________________________________________________________
void RooVectorDataStore::Streamer(TBuffer &R__b)
{
   // Stream an object of class RooVectorDataStore.

   if (R__b.IsReading()) {
      R__b.ReadClassBuffer(RooVectorDataStore::Class(),this);

	  if (_realStoreList.size() > 0)
	      _firstReal = &_realStoreList.front() ;
	  if (_realfStoreList.size() > 0)
	      _firstRealF = &_realfStoreList.front() ;
	  if (_catStoreList.size() > 0)
	      _firstCat = &_catStoreList.front() ;

      for (vector<RealVector*>::iterator iter1 = _realStoreList.begin() ; iter1!=_realStoreList.end() ; ++iter1) {
	RooAbsArg* arg = _varsww.find((*iter1)->_nativeReal->GetName()) ;
	arg->attachToVStore(*this) ;
      }
      for (vector<RealFullVector*>::iterator iter2 = _realfStoreList.begin() ; iter2!=_realfStoreList.end() ; ++iter2) {
	RooAbsArg* arg = _varsww.find((*iter2)->_nativeReal->GetName()) ;
	arg->attachToVStore(*this) ;
      }
      for (vector<CatVector*>::iterator iter3 = _catStoreList.begin() ; iter3!=_catStoreList.end() ; ++iter3) {
	RooAbsArg* arg = _varsww.find((*iter3)->_cat->GetName()) ;
	arg->attachToVStore(*this) ;
      }

   } else {
      R__b.WriteClassBuffer(RooVectorDataStore::Class(),this);
   }
}



//______________________________________________________________________________
void RooVectorDataStore::RealVector::Streamer(TBuffer &R__b)
{
   // Stream an object of class RooVectorDataStore::RealVector.

   if (R__b.IsReading()) {
      R__b.ReadClassBuffer(RooVectorDataStore::RealVector::Class(),this);
      _vec0 = _vec.size()>0 ? &_vec.front() : 0 ;
   } else {
      R__b.WriteClassBuffer(RooVectorDataStore::RealVector::Class(),this);
   }
}

//______________________________________________________________________________
void RooVectorDataStore::RealFullVector::Streamer(TBuffer &R__b)
{
   // Stream an object of class RooVectorDataStore::RealFullVector.

   if (R__b.IsReading()) {
     R__b.ReadClassBuffer(RooVectorDataStore::RealFullVector::Class(),this);

     // WVE - It seems that ROOT persistence turns null pointers to vectors into pointers to null-sized vectors 
     //       Intervene here to remove those null-sized vectors and replace with null pointers to not break
     //       assumptions made elsewhere in this class
     if (_vecE  && _vecE->empty()) { delete _vecE   ; _vecE = 0 ; }
     if (_vecEL && _vecEL->empty()) { delete _vecEL ; _vecEL = 0 ; }
     if (_vecEH && _vecEH->empty()) { delete _vecEH ; _vecEH = 0 ; }
   } else {
     R__b.WriteClassBuffer(RooVectorDataStore::RealFullVector::Class(),this);
   }
}

//______________________________________________________________________________
void RooVectorDataStore::CatVector::Streamer(TBuffer &R__b)
{
   // Stream an object of class RooVectorDataStore::CatVector.

   if (R__b.IsReading()) {
      R__b.ReadClassBuffer(RooVectorDataStore::CatVector::Class(),this);
      _vec0 = _vec.size()>0 ? &_vec.front() : 0 ;
   } else {
      R__b.WriteClassBuffer(RooVectorDataStore::CatVector::Class(),this);
   }
}







 RooVectorDataStore.cxx:1
 RooVectorDataStore.cxx:2
 RooVectorDataStore.cxx:3
 RooVectorDataStore.cxx:4
 RooVectorDataStore.cxx:5
 RooVectorDataStore.cxx:6
 RooVectorDataStore.cxx:7
 RooVectorDataStore.cxx:8
 RooVectorDataStore.cxx:9
 RooVectorDataStore.cxx:10
 RooVectorDataStore.cxx:11
 RooVectorDataStore.cxx:12
 RooVectorDataStore.cxx:13
 RooVectorDataStore.cxx:14
 RooVectorDataStore.cxx:15
 RooVectorDataStore.cxx:16
 RooVectorDataStore.cxx:17
 RooVectorDataStore.cxx:18
 RooVectorDataStore.cxx:19
 RooVectorDataStore.cxx:20
 RooVectorDataStore.cxx:21
 RooVectorDataStore.cxx:22
 RooVectorDataStore.cxx:23
 RooVectorDataStore.cxx:24
 RooVectorDataStore.cxx:25
 RooVectorDataStore.cxx:26
 RooVectorDataStore.cxx:27
 RooVectorDataStore.cxx:28
 RooVectorDataStore.cxx:29
 RooVectorDataStore.cxx:30
 RooVectorDataStore.cxx:31
 RooVectorDataStore.cxx:32
 RooVectorDataStore.cxx:33
 RooVectorDataStore.cxx:34
 RooVectorDataStore.cxx:35
 RooVectorDataStore.cxx:36
 RooVectorDataStore.cxx:37
 RooVectorDataStore.cxx:38
 RooVectorDataStore.cxx:39
 RooVectorDataStore.cxx:40
 RooVectorDataStore.cxx:41
 RooVectorDataStore.cxx:42
 RooVectorDataStore.cxx:43
 RooVectorDataStore.cxx:44
 RooVectorDataStore.cxx:45
 RooVectorDataStore.cxx:46
 RooVectorDataStore.cxx:47
 RooVectorDataStore.cxx:48
 RooVectorDataStore.cxx:49
 RooVectorDataStore.cxx:50
 RooVectorDataStore.cxx:51
 RooVectorDataStore.cxx:52
 RooVectorDataStore.cxx:53
 RooVectorDataStore.cxx:54
 RooVectorDataStore.cxx:55
 RooVectorDataStore.cxx:56
 RooVectorDataStore.cxx:57
 RooVectorDataStore.cxx:58
 RooVectorDataStore.cxx:59
 RooVectorDataStore.cxx:60
 RooVectorDataStore.cxx:61
 RooVectorDataStore.cxx:62
 RooVectorDataStore.cxx:63
 RooVectorDataStore.cxx:64
 RooVectorDataStore.cxx:65
 RooVectorDataStore.cxx:66
 RooVectorDataStore.cxx:67
 RooVectorDataStore.cxx:68
 RooVectorDataStore.cxx:69
 RooVectorDataStore.cxx:70
 RooVectorDataStore.cxx:71
 RooVectorDataStore.cxx:72
 RooVectorDataStore.cxx:73
 RooVectorDataStore.cxx:74
 RooVectorDataStore.cxx:75
 RooVectorDataStore.cxx:76
 RooVectorDataStore.cxx:77
 RooVectorDataStore.cxx:78
 RooVectorDataStore.cxx:79
 RooVectorDataStore.cxx:80
 RooVectorDataStore.cxx:81
 RooVectorDataStore.cxx:82
 RooVectorDataStore.cxx:83
 RooVectorDataStore.cxx:84
 RooVectorDataStore.cxx:85
 RooVectorDataStore.cxx:86
 RooVectorDataStore.cxx:87
 RooVectorDataStore.cxx:88
 RooVectorDataStore.cxx:89
 RooVectorDataStore.cxx:90
 RooVectorDataStore.cxx:91
 RooVectorDataStore.cxx:92
 RooVectorDataStore.cxx:93
 RooVectorDataStore.cxx:94
 RooVectorDataStore.cxx:95
 RooVectorDataStore.cxx:96
 RooVectorDataStore.cxx:97
 RooVectorDataStore.cxx:98
 RooVectorDataStore.cxx:99
 RooVectorDataStore.cxx:100
 RooVectorDataStore.cxx:101
 RooVectorDataStore.cxx:102
 RooVectorDataStore.cxx:103
 RooVectorDataStore.cxx:104
 RooVectorDataStore.cxx:105
 RooVectorDataStore.cxx:106
 RooVectorDataStore.cxx:107
 RooVectorDataStore.cxx:108
 RooVectorDataStore.cxx:109
 RooVectorDataStore.cxx:110
 RooVectorDataStore.cxx:111
 RooVectorDataStore.cxx:112
 RooVectorDataStore.cxx:113
 RooVectorDataStore.cxx:114
 RooVectorDataStore.cxx:115
 RooVectorDataStore.cxx:116
 RooVectorDataStore.cxx:117
 RooVectorDataStore.cxx:118
 RooVectorDataStore.cxx:119
 RooVectorDataStore.cxx:120
 RooVectorDataStore.cxx:121
 RooVectorDataStore.cxx:122
 RooVectorDataStore.cxx:123
 RooVectorDataStore.cxx:124
 RooVectorDataStore.cxx:125
 RooVectorDataStore.cxx:126
 RooVectorDataStore.cxx:127
 RooVectorDataStore.cxx:128
 RooVectorDataStore.cxx:129
 RooVectorDataStore.cxx:130
 RooVectorDataStore.cxx:131
 RooVectorDataStore.cxx:132
 RooVectorDataStore.cxx:133
 RooVectorDataStore.cxx:134
 RooVectorDataStore.cxx:135
 RooVectorDataStore.cxx:136
 RooVectorDataStore.cxx:137
 RooVectorDataStore.cxx:138
 RooVectorDataStore.cxx:139
 RooVectorDataStore.cxx:140
 RooVectorDataStore.cxx:141
 RooVectorDataStore.cxx:142
 RooVectorDataStore.cxx:143
 RooVectorDataStore.cxx:144
 RooVectorDataStore.cxx:145
 RooVectorDataStore.cxx:146
 RooVectorDataStore.cxx:147
 RooVectorDataStore.cxx:148
 RooVectorDataStore.cxx:149
 RooVectorDataStore.cxx:150
 RooVectorDataStore.cxx:151
 RooVectorDataStore.cxx:152
 RooVectorDataStore.cxx:153
 RooVectorDataStore.cxx:154
 RooVectorDataStore.cxx:155
 RooVectorDataStore.cxx:156
 RooVectorDataStore.cxx:157
 RooVectorDataStore.cxx:158
 RooVectorDataStore.cxx:159
 RooVectorDataStore.cxx:160
 RooVectorDataStore.cxx:161
 RooVectorDataStore.cxx:162
 RooVectorDataStore.cxx:163
 RooVectorDataStore.cxx:164
 RooVectorDataStore.cxx:165
 RooVectorDataStore.cxx:166
 RooVectorDataStore.cxx:167
 RooVectorDataStore.cxx:168
 RooVectorDataStore.cxx:169
 RooVectorDataStore.cxx:170
 RooVectorDataStore.cxx:171
 RooVectorDataStore.cxx:172
 RooVectorDataStore.cxx:173
 RooVectorDataStore.cxx:174
 RooVectorDataStore.cxx:175
 RooVectorDataStore.cxx:176
 RooVectorDataStore.cxx:177
 RooVectorDataStore.cxx:178
 RooVectorDataStore.cxx:179
 RooVectorDataStore.cxx:180
 RooVectorDataStore.cxx:181
 RooVectorDataStore.cxx:182
 RooVectorDataStore.cxx:183
 RooVectorDataStore.cxx:184
 RooVectorDataStore.cxx:185
 RooVectorDataStore.cxx:186
 RooVectorDataStore.cxx:187
 RooVectorDataStore.cxx:188
 RooVectorDataStore.cxx:189
 RooVectorDataStore.cxx:190
 RooVectorDataStore.cxx:191
 RooVectorDataStore.cxx:192
 RooVectorDataStore.cxx:193
 RooVectorDataStore.cxx:194
 RooVectorDataStore.cxx:195
 RooVectorDataStore.cxx:196
 RooVectorDataStore.cxx:197
 RooVectorDataStore.cxx:198
 RooVectorDataStore.cxx:199
 RooVectorDataStore.cxx:200
 RooVectorDataStore.cxx:201
 RooVectorDataStore.cxx:202
 RooVectorDataStore.cxx:203
 RooVectorDataStore.cxx:204
 RooVectorDataStore.cxx:205
 RooVectorDataStore.cxx:206
 RooVectorDataStore.cxx:207
 RooVectorDataStore.cxx:208
 RooVectorDataStore.cxx:209
 RooVectorDataStore.cxx:210
 RooVectorDataStore.cxx:211
 RooVectorDataStore.cxx:212
 RooVectorDataStore.cxx:213
 RooVectorDataStore.cxx:214
 RooVectorDataStore.cxx:215
 RooVectorDataStore.cxx:216
 RooVectorDataStore.cxx:217
 RooVectorDataStore.cxx:218
 RooVectorDataStore.cxx:219
 RooVectorDataStore.cxx:220
 RooVectorDataStore.cxx:221
 RooVectorDataStore.cxx:222
 RooVectorDataStore.cxx:223
 RooVectorDataStore.cxx:224
 RooVectorDataStore.cxx:225
 RooVectorDataStore.cxx:226
 RooVectorDataStore.cxx:227
 RooVectorDataStore.cxx:228
 RooVectorDataStore.cxx:229
 RooVectorDataStore.cxx:230
 RooVectorDataStore.cxx:231
 RooVectorDataStore.cxx:232
 RooVectorDataStore.cxx:233
 RooVectorDataStore.cxx:234
 RooVectorDataStore.cxx:235
 RooVectorDataStore.cxx:236
 RooVectorDataStore.cxx:237
 RooVectorDataStore.cxx:238
 RooVectorDataStore.cxx:239
 RooVectorDataStore.cxx:240
 RooVectorDataStore.cxx:241
 RooVectorDataStore.cxx:242
 RooVectorDataStore.cxx:243
 RooVectorDataStore.cxx:244
 RooVectorDataStore.cxx:245
 RooVectorDataStore.cxx:246
 RooVectorDataStore.cxx:247
 RooVectorDataStore.cxx:248
 RooVectorDataStore.cxx:249
 RooVectorDataStore.cxx:250
 RooVectorDataStore.cxx:251
 RooVectorDataStore.cxx:252
 RooVectorDataStore.cxx:253
 RooVectorDataStore.cxx:254
 RooVectorDataStore.cxx:255
 RooVectorDataStore.cxx:256
 RooVectorDataStore.cxx:257
 RooVectorDataStore.cxx:258
 RooVectorDataStore.cxx:259
 RooVectorDataStore.cxx:260
 RooVectorDataStore.cxx:261
 RooVectorDataStore.cxx:262
 RooVectorDataStore.cxx:263
 RooVectorDataStore.cxx:264
 RooVectorDataStore.cxx:265
 RooVectorDataStore.cxx:266
 RooVectorDataStore.cxx:267
 RooVectorDataStore.cxx:268
 RooVectorDataStore.cxx:269
 RooVectorDataStore.cxx:270
 RooVectorDataStore.cxx:271
 RooVectorDataStore.cxx:272
 RooVectorDataStore.cxx:273
 RooVectorDataStore.cxx:274
 RooVectorDataStore.cxx:275
 RooVectorDataStore.cxx:276
 RooVectorDataStore.cxx:277
 RooVectorDataStore.cxx:278
 RooVectorDataStore.cxx:279
 RooVectorDataStore.cxx:280
 RooVectorDataStore.cxx:281
 RooVectorDataStore.cxx:282
 RooVectorDataStore.cxx:283
 RooVectorDataStore.cxx:284
 RooVectorDataStore.cxx:285
 RooVectorDataStore.cxx:286
 RooVectorDataStore.cxx:287
 RooVectorDataStore.cxx:288
 RooVectorDataStore.cxx:289
 RooVectorDataStore.cxx:290
 RooVectorDataStore.cxx:291
 RooVectorDataStore.cxx:292
 RooVectorDataStore.cxx:293
 RooVectorDataStore.cxx:294
 RooVectorDataStore.cxx:295
 RooVectorDataStore.cxx:296
 RooVectorDataStore.cxx:297
 RooVectorDataStore.cxx:298
 RooVectorDataStore.cxx:299
 RooVectorDataStore.cxx:300
 RooVectorDataStore.cxx:301
 RooVectorDataStore.cxx:302
 RooVectorDataStore.cxx:303
 RooVectorDataStore.cxx:304
 RooVectorDataStore.cxx:305
 RooVectorDataStore.cxx:306
 RooVectorDataStore.cxx:307
 RooVectorDataStore.cxx:308
 RooVectorDataStore.cxx:309
 RooVectorDataStore.cxx:310
 RooVectorDataStore.cxx:311
 RooVectorDataStore.cxx:312
 RooVectorDataStore.cxx:313
 RooVectorDataStore.cxx:314
 RooVectorDataStore.cxx:315
 RooVectorDataStore.cxx:316
 RooVectorDataStore.cxx:317
 RooVectorDataStore.cxx:318
 RooVectorDataStore.cxx:319
 RooVectorDataStore.cxx:320
 RooVectorDataStore.cxx:321
 RooVectorDataStore.cxx:322
 RooVectorDataStore.cxx:323
 RooVectorDataStore.cxx:324
 RooVectorDataStore.cxx:325
 RooVectorDataStore.cxx:326
 RooVectorDataStore.cxx:327
 RooVectorDataStore.cxx:328
 RooVectorDataStore.cxx:329
 RooVectorDataStore.cxx:330
 RooVectorDataStore.cxx:331
 RooVectorDataStore.cxx:332
 RooVectorDataStore.cxx:333
 RooVectorDataStore.cxx:334
 RooVectorDataStore.cxx:335
 RooVectorDataStore.cxx:336
 RooVectorDataStore.cxx:337
 RooVectorDataStore.cxx:338
 RooVectorDataStore.cxx:339
 RooVectorDataStore.cxx:340
 RooVectorDataStore.cxx:341
 RooVectorDataStore.cxx:342
 RooVectorDataStore.cxx:343
 RooVectorDataStore.cxx:344
 RooVectorDataStore.cxx:345
 RooVectorDataStore.cxx:346
 RooVectorDataStore.cxx:347
 RooVectorDataStore.cxx:348
 RooVectorDataStore.cxx:349
 RooVectorDataStore.cxx:350
 RooVectorDataStore.cxx:351
 RooVectorDataStore.cxx:352
 RooVectorDataStore.cxx:353
 RooVectorDataStore.cxx:354
 RooVectorDataStore.cxx:355
 RooVectorDataStore.cxx:356
 RooVectorDataStore.cxx:357
 RooVectorDataStore.cxx:358
 RooVectorDataStore.cxx:359
 RooVectorDataStore.cxx:360
 RooVectorDataStore.cxx:361
 RooVectorDataStore.cxx:362
 RooVectorDataStore.cxx:363
 RooVectorDataStore.cxx:364
 RooVectorDataStore.cxx:365
 RooVectorDataStore.cxx:366
 RooVectorDataStore.cxx:367
 RooVectorDataStore.cxx:368
 RooVectorDataStore.cxx:369
 RooVectorDataStore.cxx:370
 RooVectorDataStore.cxx:371
 RooVectorDataStore.cxx:372
 RooVectorDataStore.cxx:373
 RooVectorDataStore.cxx:374
 RooVectorDataStore.cxx:375
 RooVectorDataStore.cxx:376
 RooVectorDataStore.cxx:377
 RooVectorDataStore.cxx:378
 RooVectorDataStore.cxx:379
 RooVectorDataStore.cxx:380
 RooVectorDataStore.cxx:381
 RooVectorDataStore.cxx:382
 RooVectorDataStore.cxx:383
 RooVectorDataStore.cxx:384
 RooVectorDataStore.cxx:385
 RooVectorDataStore.cxx:386
 RooVectorDataStore.cxx:387
 RooVectorDataStore.cxx:388
 RooVectorDataStore.cxx:389
 RooVectorDataStore.cxx:390
 RooVectorDataStore.cxx:391
 RooVectorDataStore.cxx:392
 RooVectorDataStore.cxx:393
 RooVectorDataStore.cxx:394
 RooVectorDataStore.cxx:395
 RooVectorDataStore.cxx:396
 RooVectorDataStore.cxx:397
 RooVectorDataStore.cxx:398
 RooVectorDataStore.cxx:399
 RooVectorDataStore.cxx:400
 RooVectorDataStore.cxx:401
 RooVectorDataStore.cxx:402
 RooVectorDataStore.cxx:403
 RooVectorDataStore.cxx:404
 RooVectorDataStore.cxx:405
 RooVectorDataStore.cxx:406
 RooVectorDataStore.cxx:407
 RooVectorDataStore.cxx:408
 RooVectorDataStore.cxx:409
 RooVectorDataStore.cxx:410
 RooVectorDataStore.cxx:411
 RooVectorDataStore.cxx:412
 RooVectorDataStore.cxx:413
 RooVectorDataStore.cxx:414
 RooVectorDataStore.cxx:415
 RooVectorDataStore.cxx:416
 RooVectorDataStore.cxx:417
 RooVectorDataStore.cxx:418
 RooVectorDataStore.cxx:419
 RooVectorDataStore.cxx:420
 RooVectorDataStore.cxx:421
 RooVectorDataStore.cxx:422
 RooVectorDataStore.cxx:423
 RooVectorDataStore.cxx:424
 RooVectorDataStore.cxx:425
 RooVectorDataStore.cxx:426
 RooVectorDataStore.cxx:427
 RooVectorDataStore.cxx:428
 RooVectorDataStore.cxx:429
 RooVectorDataStore.cxx:430
 RooVectorDataStore.cxx:431
 RooVectorDataStore.cxx:432
 RooVectorDataStore.cxx:433
 RooVectorDataStore.cxx:434
 RooVectorDataStore.cxx:435
 RooVectorDataStore.cxx:436
 RooVectorDataStore.cxx:437
 RooVectorDataStore.cxx:438
 RooVectorDataStore.cxx:439
 RooVectorDataStore.cxx:440
 RooVectorDataStore.cxx:441
 RooVectorDataStore.cxx:442
 RooVectorDataStore.cxx:443
 RooVectorDataStore.cxx:444
 RooVectorDataStore.cxx:445
 RooVectorDataStore.cxx:446
 RooVectorDataStore.cxx:447
 RooVectorDataStore.cxx:448
 RooVectorDataStore.cxx:449
 RooVectorDataStore.cxx:450
 RooVectorDataStore.cxx:451
 RooVectorDataStore.cxx:452
 RooVectorDataStore.cxx:453
 RooVectorDataStore.cxx:454
 RooVectorDataStore.cxx:455
 RooVectorDataStore.cxx:456
 RooVectorDataStore.cxx:457
 RooVectorDataStore.cxx:458
 RooVectorDataStore.cxx:459
 RooVectorDataStore.cxx:460
 RooVectorDataStore.cxx:461
 RooVectorDataStore.cxx:462
 RooVectorDataStore.cxx:463
 RooVectorDataStore.cxx:464
 RooVectorDataStore.cxx:465
 RooVectorDataStore.cxx:466
 RooVectorDataStore.cxx:467
 RooVectorDataStore.cxx:468
 RooVectorDataStore.cxx:469
 RooVectorDataStore.cxx:470
 RooVectorDataStore.cxx:471
 RooVectorDataStore.cxx:472
 RooVectorDataStore.cxx:473
 RooVectorDataStore.cxx:474
 RooVectorDataStore.cxx:475
 RooVectorDataStore.cxx:476
 RooVectorDataStore.cxx:477
 RooVectorDataStore.cxx:478
 RooVectorDataStore.cxx:479
 RooVectorDataStore.cxx:480
 RooVectorDataStore.cxx:481
 RooVectorDataStore.cxx:482
 RooVectorDataStore.cxx:483
 RooVectorDataStore.cxx:484
 RooVectorDataStore.cxx:485
 RooVectorDataStore.cxx:486
 RooVectorDataStore.cxx:487
 RooVectorDataStore.cxx:488
 RooVectorDataStore.cxx:489
 RooVectorDataStore.cxx:490
 RooVectorDataStore.cxx:491
 RooVectorDataStore.cxx:492
 RooVectorDataStore.cxx:493
 RooVectorDataStore.cxx:494
 RooVectorDataStore.cxx:495
 RooVectorDataStore.cxx:496
 RooVectorDataStore.cxx:497
 RooVectorDataStore.cxx:498
 RooVectorDataStore.cxx:499
 RooVectorDataStore.cxx:500
 RooVectorDataStore.cxx:501
 RooVectorDataStore.cxx:502
 RooVectorDataStore.cxx:503
 RooVectorDataStore.cxx:504
 RooVectorDataStore.cxx:505
 RooVectorDataStore.cxx:506
 RooVectorDataStore.cxx:507
 RooVectorDataStore.cxx:508
 RooVectorDataStore.cxx:509
 RooVectorDataStore.cxx:510
 RooVectorDataStore.cxx:511
 RooVectorDataStore.cxx:512
 RooVectorDataStore.cxx:513
 RooVectorDataStore.cxx:514
 RooVectorDataStore.cxx:515
 RooVectorDataStore.cxx:516
 RooVectorDataStore.cxx:517
 RooVectorDataStore.cxx:518
 RooVectorDataStore.cxx:519
 RooVectorDataStore.cxx:520
 RooVectorDataStore.cxx:521
 RooVectorDataStore.cxx:522
 RooVectorDataStore.cxx:523
 RooVectorDataStore.cxx:524
 RooVectorDataStore.cxx:525
 RooVectorDataStore.cxx:526
 RooVectorDataStore.cxx:527
 RooVectorDataStore.cxx:528
 RooVectorDataStore.cxx:529
 RooVectorDataStore.cxx:530
 RooVectorDataStore.cxx:531
 RooVectorDataStore.cxx:532
 RooVectorDataStore.cxx:533
 RooVectorDataStore.cxx:534
 RooVectorDataStore.cxx:535
 RooVectorDataStore.cxx:536
 RooVectorDataStore.cxx:537
 RooVectorDataStore.cxx:538
 RooVectorDataStore.cxx:539
 RooVectorDataStore.cxx:540
 RooVectorDataStore.cxx:541
 RooVectorDataStore.cxx:542
 RooVectorDataStore.cxx:543
 RooVectorDataStore.cxx:544
 RooVectorDataStore.cxx:545
 RooVectorDataStore.cxx:546
 RooVectorDataStore.cxx:547
 RooVectorDataStore.cxx:548
 RooVectorDataStore.cxx:549
 RooVectorDataStore.cxx:550
 RooVectorDataStore.cxx:551
 RooVectorDataStore.cxx:552
 RooVectorDataStore.cxx:553
 RooVectorDataStore.cxx:554
 RooVectorDataStore.cxx:555
 RooVectorDataStore.cxx:556
 RooVectorDataStore.cxx:557
 RooVectorDataStore.cxx:558
 RooVectorDataStore.cxx:559
 RooVectorDataStore.cxx:560
 RooVectorDataStore.cxx:561
 RooVectorDataStore.cxx:562
 RooVectorDataStore.cxx:563
 RooVectorDataStore.cxx:564
 RooVectorDataStore.cxx:565
 RooVectorDataStore.cxx:566
 RooVectorDataStore.cxx:567
 RooVectorDataStore.cxx:568
 RooVectorDataStore.cxx:569
 RooVectorDataStore.cxx:570
 RooVectorDataStore.cxx:571
 RooVectorDataStore.cxx:572
 RooVectorDataStore.cxx:573
 RooVectorDataStore.cxx:574
 RooVectorDataStore.cxx:575
 RooVectorDataStore.cxx:576
 RooVectorDataStore.cxx:577
 RooVectorDataStore.cxx:578
 RooVectorDataStore.cxx:579
 RooVectorDataStore.cxx:580
 RooVectorDataStore.cxx:581
 RooVectorDataStore.cxx:582
 RooVectorDataStore.cxx:583
 RooVectorDataStore.cxx:584
 RooVectorDataStore.cxx:585
 RooVectorDataStore.cxx:586
 RooVectorDataStore.cxx:587
 RooVectorDataStore.cxx:588
 RooVectorDataStore.cxx:589
 RooVectorDataStore.cxx:590
 RooVectorDataStore.cxx:591
 RooVectorDataStore.cxx:592
 RooVectorDataStore.cxx:593
 RooVectorDataStore.cxx:594
 RooVectorDataStore.cxx:595
 RooVectorDataStore.cxx:596
 RooVectorDataStore.cxx:597
 RooVectorDataStore.cxx:598
 RooVectorDataStore.cxx:599
 RooVectorDataStore.cxx:600
 RooVectorDataStore.cxx:601
 RooVectorDataStore.cxx:602
 RooVectorDataStore.cxx:603
 RooVectorDataStore.cxx:604
 RooVectorDataStore.cxx:605
 RooVectorDataStore.cxx:606
 RooVectorDataStore.cxx:607
 RooVectorDataStore.cxx:608
 RooVectorDataStore.cxx:609
 RooVectorDataStore.cxx:610
 RooVectorDataStore.cxx:611
 RooVectorDataStore.cxx:612
 RooVectorDataStore.cxx:613
 RooVectorDataStore.cxx:614
 RooVectorDataStore.cxx:615
 RooVectorDataStore.cxx:616
 RooVectorDataStore.cxx:617
 RooVectorDataStore.cxx:618
 RooVectorDataStore.cxx:619
 RooVectorDataStore.cxx:620
 RooVectorDataStore.cxx:621
 RooVectorDataStore.cxx:622
 RooVectorDataStore.cxx:623
 RooVectorDataStore.cxx:624
 RooVectorDataStore.cxx:625
 RooVectorDataStore.cxx:626
 RooVectorDataStore.cxx:627
 RooVectorDataStore.cxx:628
 RooVectorDataStore.cxx:629
 RooVectorDataStore.cxx:630
 RooVectorDataStore.cxx:631
 RooVectorDataStore.cxx:632
 RooVectorDataStore.cxx:633
 RooVectorDataStore.cxx:634
 RooVectorDataStore.cxx:635
 RooVectorDataStore.cxx:636
 RooVectorDataStore.cxx:637
 RooVectorDataStore.cxx:638
 RooVectorDataStore.cxx:639
 RooVectorDataStore.cxx:640
 RooVectorDataStore.cxx:641
 RooVectorDataStore.cxx:642
 RooVectorDataStore.cxx:643
 RooVectorDataStore.cxx:644
 RooVectorDataStore.cxx:645
 RooVectorDataStore.cxx:646
 RooVectorDataStore.cxx:647
 RooVectorDataStore.cxx:648
 RooVectorDataStore.cxx:649
 RooVectorDataStore.cxx:650
 RooVectorDataStore.cxx:651
 RooVectorDataStore.cxx:652
 RooVectorDataStore.cxx:653
 RooVectorDataStore.cxx:654
 RooVectorDataStore.cxx:655
 RooVectorDataStore.cxx:656
 RooVectorDataStore.cxx:657
 RooVectorDataStore.cxx:658
 RooVectorDataStore.cxx:659
 RooVectorDataStore.cxx:660
 RooVectorDataStore.cxx:661
 RooVectorDataStore.cxx:662
 RooVectorDataStore.cxx:663
 RooVectorDataStore.cxx:664
 RooVectorDataStore.cxx:665
 RooVectorDataStore.cxx:666
 RooVectorDataStore.cxx:667
 RooVectorDataStore.cxx:668
 RooVectorDataStore.cxx:669
 RooVectorDataStore.cxx:670
 RooVectorDataStore.cxx:671
 RooVectorDataStore.cxx:672
 RooVectorDataStore.cxx:673
 RooVectorDataStore.cxx:674
 RooVectorDataStore.cxx:675
 RooVectorDataStore.cxx:676
 RooVectorDataStore.cxx:677
 RooVectorDataStore.cxx:678
 RooVectorDataStore.cxx:679
 RooVectorDataStore.cxx:680
 RooVectorDataStore.cxx:681
 RooVectorDataStore.cxx:682
 RooVectorDataStore.cxx:683
 RooVectorDataStore.cxx:684
 RooVectorDataStore.cxx:685
 RooVectorDataStore.cxx:686
 RooVectorDataStore.cxx:687
 RooVectorDataStore.cxx:688
 RooVectorDataStore.cxx:689
 RooVectorDataStore.cxx:690
 RooVectorDataStore.cxx:691
 RooVectorDataStore.cxx:692
 RooVectorDataStore.cxx:693
 RooVectorDataStore.cxx:694
 RooVectorDataStore.cxx:695
 RooVectorDataStore.cxx:696
 RooVectorDataStore.cxx:697
 RooVectorDataStore.cxx:698
 RooVectorDataStore.cxx:699
 RooVectorDataStore.cxx:700
 RooVectorDataStore.cxx:701
 RooVectorDataStore.cxx:702
 RooVectorDataStore.cxx:703
 RooVectorDataStore.cxx:704
 RooVectorDataStore.cxx:705
 RooVectorDataStore.cxx:706
 RooVectorDataStore.cxx:707
 RooVectorDataStore.cxx:708
 RooVectorDataStore.cxx:709
 RooVectorDataStore.cxx:710
 RooVectorDataStore.cxx:711
 RooVectorDataStore.cxx:712
 RooVectorDataStore.cxx:713
 RooVectorDataStore.cxx:714
 RooVectorDataStore.cxx:715
 RooVectorDataStore.cxx:716
 RooVectorDataStore.cxx:717
 RooVectorDataStore.cxx:718
 RooVectorDataStore.cxx:719
 RooVectorDataStore.cxx:720
 RooVectorDataStore.cxx:721
 RooVectorDataStore.cxx:722
 RooVectorDataStore.cxx:723
 RooVectorDataStore.cxx:724
 RooVectorDataStore.cxx:725
 RooVectorDataStore.cxx:726
 RooVectorDataStore.cxx:727
 RooVectorDataStore.cxx:728
 RooVectorDataStore.cxx:729
 RooVectorDataStore.cxx:730
 RooVectorDataStore.cxx:731
 RooVectorDataStore.cxx:732
 RooVectorDataStore.cxx:733
 RooVectorDataStore.cxx:734
 RooVectorDataStore.cxx:735
 RooVectorDataStore.cxx:736
 RooVectorDataStore.cxx:737
 RooVectorDataStore.cxx:738
 RooVectorDataStore.cxx:739
 RooVectorDataStore.cxx:740
 RooVectorDataStore.cxx:741
 RooVectorDataStore.cxx:742
 RooVectorDataStore.cxx:743
 RooVectorDataStore.cxx:744
 RooVectorDataStore.cxx:745
 RooVectorDataStore.cxx:746
 RooVectorDataStore.cxx:747
 RooVectorDataStore.cxx:748
 RooVectorDataStore.cxx:749
 RooVectorDataStore.cxx:750
 RooVectorDataStore.cxx:751
 RooVectorDataStore.cxx:752
 RooVectorDataStore.cxx:753
 RooVectorDataStore.cxx:754
 RooVectorDataStore.cxx:755
 RooVectorDataStore.cxx:756
 RooVectorDataStore.cxx:757
 RooVectorDataStore.cxx:758
 RooVectorDataStore.cxx:759
 RooVectorDataStore.cxx:760
 RooVectorDataStore.cxx:761
 RooVectorDataStore.cxx:762
 RooVectorDataStore.cxx:763
 RooVectorDataStore.cxx:764
 RooVectorDataStore.cxx:765
 RooVectorDataStore.cxx:766
 RooVectorDataStore.cxx:767
 RooVectorDataStore.cxx:768
 RooVectorDataStore.cxx:769
 RooVectorDataStore.cxx:770
 RooVectorDataStore.cxx:771
 RooVectorDataStore.cxx:772
 RooVectorDataStore.cxx:773
 RooVectorDataStore.cxx:774
 RooVectorDataStore.cxx:775
 RooVectorDataStore.cxx:776
 RooVectorDataStore.cxx:777
 RooVectorDataStore.cxx:778
 RooVectorDataStore.cxx:779
 RooVectorDataStore.cxx:780
 RooVectorDataStore.cxx:781
 RooVectorDataStore.cxx:782
 RooVectorDataStore.cxx:783
 RooVectorDataStore.cxx:784
 RooVectorDataStore.cxx:785
 RooVectorDataStore.cxx:786
 RooVectorDataStore.cxx:787
 RooVectorDataStore.cxx:788
 RooVectorDataStore.cxx:789
 RooVectorDataStore.cxx:790
 RooVectorDataStore.cxx:791
 RooVectorDataStore.cxx:792
 RooVectorDataStore.cxx:793
 RooVectorDataStore.cxx:794
 RooVectorDataStore.cxx:795
 RooVectorDataStore.cxx:796
 RooVectorDataStore.cxx:797
 RooVectorDataStore.cxx:798
 RooVectorDataStore.cxx:799
 RooVectorDataStore.cxx:800
 RooVectorDataStore.cxx:801
 RooVectorDataStore.cxx:802
 RooVectorDataStore.cxx:803
 RooVectorDataStore.cxx:804
 RooVectorDataStore.cxx:805
 RooVectorDataStore.cxx:806
 RooVectorDataStore.cxx:807
 RooVectorDataStore.cxx:808
 RooVectorDataStore.cxx:809
 RooVectorDataStore.cxx:810
 RooVectorDataStore.cxx:811
 RooVectorDataStore.cxx:812
 RooVectorDataStore.cxx:813
 RooVectorDataStore.cxx:814
 RooVectorDataStore.cxx:815
 RooVectorDataStore.cxx:816
 RooVectorDataStore.cxx:817
 RooVectorDataStore.cxx:818
 RooVectorDataStore.cxx:819
 RooVectorDataStore.cxx:820
 RooVectorDataStore.cxx:821
 RooVectorDataStore.cxx:822
 RooVectorDataStore.cxx:823
 RooVectorDataStore.cxx:824
 RooVectorDataStore.cxx:825
 RooVectorDataStore.cxx:826
 RooVectorDataStore.cxx:827
 RooVectorDataStore.cxx:828
 RooVectorDataStore.cxx:829
 RooVectorDataStore.cxx:830
 RooVectorDataStore.cxx:831
 RooVectorDataStore.cxx:832
 RooVectorDataStore.cxx:833
 RooVectorDataStore.cxx:834
 RooVectorDataStore.cxx:835
 RooVectorDataStore.cxx:836
 RooVectorDataStore.cxx:837
 RooVectorDataStore.cxx:838
 RooVectorDataStore.cxx:839
 RooVectorDataStore.cxx:840
 RooVectorDataStore.cxx:841
 RooVectorDataStore.cxx:842
 RooVectorDataStore.cxx:843
 RooVectorDataStore.cxx:844
 RooVectorDataStore.cxx:845
 RooVectorDataStore.cxx:846
 RooVectorDataStore.cxx:847
 RooVectorDataStore.cxx:848
 RooVectorDataStore.cxx:849
 RooVectorDataStore.cxx:850
 RooVectorDataStore.cxx:851
 RooVectorDataStore.cxx:852
 RooVectorDataStore.cxx:853
 RooVectorDataStore.cxx:854
 RooVectorDataStore.cxx:855
 RooVectorDataStore.cxx:856
 RooVectorDataStore.cxx:857
 RooVectorDataStore.cxx:858
 RooVectorDataStore.cxx:859
 RooVectorDataStore.cxx:860
 RooVectorDataStore.cxx:861
 RooVectorDataStore.cxx:862
 RooVectorDataStore.cxx:863
 RooVectorDataStore.cxx:864
 RooVectorDataStore.cxx:865
 RooVectorDataStore.cxx:866
 RooVectorDataStore.cxx:867
 RooVectorDataStore.cxx:868
 RooVectorDataStore.cxx:869
 RooVectorDataStore.cxx:870
 RooVectorDataStore.cxx:871
 RooVectorDataStore.cxx:872
 RooVectorDataStore.cxx:873
 RooVectorDataStore.cxx:874
 RooVectorDataStore.cxx:875
 RooVectorDataStore.cxx:876
 RooVectorDataStore.cxx:877
 RooVectorDataStore.cxx:878
 RooVectorDataStore.cxx:879
 RooVectorDataStore.cxx:880
 RooVectorDataStore.cxx:881
 RooVectorDataStore.cxx:882
 RooVectorDataStore.cxx:883
 RooVectorDataStore.cxx:884
 RooVectorDataStore.cxx:885
 RooVectorDataStore.cxx:886
 RooVectorDataStore.cxx:887
 RooVectorDataStore.cxx:888
 RooVectorDataStore.cxx:889
 RooVectorDataStore.cxx:890
 RooVectorDataStore.cxx:891
 RooVectorDataStore.cxx:892
 RooVectorDataStore.cxx:893
 RooVectorDataStore.cxx:894
 RooVectorDataStore.cxx:895
 RooVectorDataStore.cxx:896
 RooVectorDataStore.cxx:897
 RooVectorDataStore.cxx:898
 RooVectorDataStore.cxx:899
 RooVectorDataStore.cxx:900
 RooVectorDataStore.cxx:901
 RooVectorDataStore.cxx:902
 RooVectorDataStore.cxx:903
 RooVectorDataStore.cxx:904
 RooVectorDataStore.cxx:905
 RooVectorDataStore.cxx:906
 RooVectorDataStore.cxx:907
 RooVectorDataStore.cxx:908
 RooVectorDataStore.cxx:909
 RooVectorDataStore.cxx:910
 RooVectorDataStore.cxx:911
 RooVectorDataStore.cxx:912
 RooVectorDataStore.cxx:913
 RooVectorDataStore.cxx:914
 RooVectorDataStore.cxx:915
 RooVectorDataStore.cxx:916
 RooVectorDataStore.cxx:917
 RooVectorDataStore.cxx:918
 RooVectorDataStore.cxx:919
 RooVectorDataStore.cxx:920
 RooVectorDataStore.cxx:921
 RooVectorDataStore.cxx:922
 RooVectorDataStore.cxx:923
 RooVectorDataStore.cxx:924
 RooVectorDataStore.cxx:925
 RooVectorDataStore.cxx:926
 RooVectorDataStore.cxx:927
 RooVectorDataStore.cxx:928
 RooVectorDataStore.cxx:929
 RooVectorDataStore.cxx:930
 RooVectorDataStore.cxx:931
 RooVectorDataStore.cxx:932
 RooVectorDataStore.cxx:933
 RooVectorDataStore.cxx:934
 RooVectorDataStore.cxx:935
 RooVectorDataStore.cxx:936
 RooVectorDataStore.cxx:937
 RooVectorDataStore.cxx:938
 RooVectorDataStore.cxx:939
 RooVectorDataStore.cxx:940
 RooVectorDataStore.cxx:941
 RooVectorDataStore.cxx:942
 RooVectorDataStore.cxx:943
 RooVectorDataStore.cxx:944
 RooVectorDataStore.cxx:945
 RooVectorDataStore.cxx:946
 RooVectorDataStore.cxx:947
 RooVectorDataStore.cxx:948
 RooVectorDataStore.cxx:949
 RooVectorDataStore.cxx:950
 RooVectorDataStore.cxx:951
 RooVectorDataStore.cxx:952
 RooVectorDataStore.cxx:953
 RooVectorDataStore.cxx:954
 RooVectorDataStore.cxx:955
 RooVectorDataStore.cxx:956
 RooVectorDataStore.cxx:957
 RooVectorDataStore.cxx:958
 RooVectorDataStore.cxx:959
 RooVectorDataStore.cxx:960
 RooVectorDataStore.cxx:961
 RooVectorDataStore.cxx:962
 RooVectorDataStore.cxx:963
 RooVectorDataStore.cxx:964
 RooVectorDataStore.cxx:965
 RooVectorDataStore.cxx:966
 RooVectorDataStore.cxx:967
 RooVectorDataStore.cxx:968
 RooVectorDataStore.cxx:969
 RooVectorDataStore.cxx:970
 RooVectorDataStore.cxx:971
 RooVectorDataStore.cxx:972
 RooVectorDataStore.cxx:973
 RooVectorDataStore.cxx:974
 RooVectorDataStore.cxx:975
 RooVectorDataStore.cxx:976
 RooVectorDataStore.cxx:977
 RooVectorDataStore.cxx:978
 RooVectorDataStore.cxx:979
 RooVectorDataStore.cxx:980
 RooVectorDataStore.cxx:981
 RooVectorDataStore.cxx:982
 RooVectorDataStore.cxx:983
 RooVectorDataStore.cxx:984
 RooVectorDataStore.cxx:985
 RooVectorDataStore.cxx:986
 RooVectorDataStore.cxx:987
 RooVectorDataStore.cxx:988
 RooVectorDataStore.cxx:989
 RooVectorDataStore.cxx:990
 RooVectorDataStore.cxx:991
 RooVectorDataStore.cxx:992
 RooVectorDataStore.cxx:993
 RooVectorDataStore.cxx:994
 RooVectorDataStore.cxx:995
 RooVectorDataStore.cxx:996
 RooVectorDataStore.cxx:997
 RooVectorDataStore.cxx:998
 RooVectorDataStore.cxx:999
 RooVectorDataStore.cxx:1000
 RooVectorDataStore.cxx:1001
 RooVectorDataStore.cxx:1002
 RooVectorDataStore.cxx:1003
 RooVectorDataStore.cxx:1004
 RooVectorDataStore.cxx:1005
 RooVectorDataStore.cxx:1006
 RooVectorDataStore.cxx:1007
 RooVectorDataStore.cxx:1008
 RooVectorDataStore.cxx:1009
 RooVectorDataStore.cxx:1010
 RooVectorDataStore.cxx:1011
 RooVectorDataStore.cxx:1012
 RooVectorDataStore.cxx:1013
 RooVectorDataStore.cxx:1014
 RooVectorDataStore.cxx:1015
 RooVectorDataStore.cxx:1016
 RooVectorDataStore.cxx:1017
 RooVectorDataStore.cxx:1018
 RooVectorDataStore.cxx:1019
 RooVectorDataStore.cxx:1020
 RooVectorDataStore.cxx:1021
 RooVectorDataStore.cxx:1022
 RooVectorDataStore.cxx:1023
 RooVectorDataStore.cxx:1024
 RooVectorDataStore.cxx:1025
 RooVectorDataStore.cxx:1026
 RooVectorDataStore.cxx:1027
 RooVectorDataStore.cxx:1028
 RooVectorDataStore.cxx:1029
 RooVectorDataStore.cxx:1030
 RooVectorDataStore.cxx:1031
 RooVectorDataStore.cxx:1032
 RooVectorDataStore.cxx:1033
 RooVectorDataStore.cxx:1034
 RooVectorDataStore.cxx:1035
 RooVectorDataStore.cxx:1036
 RooVectorDataStore.cxx:1037
 RooVectorDataStore.cxx:1038
 RooVectorDataStore.cxx:1039
 RooVectorDataStore.cxx:1040
 RooVectorDataStore.cxx:1041
 RooVectorDataStore.cxx:1042
 RooVectorDataStore.cxx:1043
 RooVectorDataStore.cxx:1044
 RooVectorDataStore.cxx:1045
 RooVectorDataStore.cxx:1046
 RooVectorDataStore.cxx:1047
 RooVectorDataStore.cxx:1048
 RooVectorDataStore.cxx:1049
 RooVectorDataStore.cxx:1050
 RooVectorDataStore.cxx:1051
 RooVectorDataStore.cxx:1052
 RooVectorDataStore.cxx:1053
 RooVectorDataStore.cxx:1054
 RooVectorDataStore.cxx:1055
 RooVectorDataStore.cxx:1056
 RooVectorDataStore.cxx:1057
 RooVectorDataStore.cxx:1058
 RooVectorDataStore.cxx:1059
 RooVectorDataStore.cxx:1060
 RooVectorDataStore.cxx:1061
 RooVectorDataStore.cxx:1062
 RooVectorDataStore.cxx:1063
 RooVectorDataStore.cxx:1064
 RooVectorDataStore.cxx:1065
 RooVectorDataStore.cxx:1066
 RooVectorDataStore.cxx:1067
 RooVectorDataStore.cxx:1068
 RooVectorDataStore.cxx:1069
 RooVectorDataStore.cxx:1070
 RooVectorDataStore.cxx:1071
 RooVectorDataStore.cxx:1072
 RooVectorDataStore.cxx:1073
 RooVectorDataStore.cxx:1074
 RooVectorDataStore.cxx:1075
 RooVectorDataStore.cxx:1076
 RooVectorDataStore.cxx:1077
 RooVectorDataStore.cxx:1078
 RooVectorDataStore.cxx:1079
 RooVectorDataStore.cxx:1080
 RooVectorDataStore.cxx:1081
 RooVectorDataStore.cxx:1082
 RooVectorDataStore.cxx:1083
 RooVectorDataStore.cxx:1084
 RooVectorDataStore.cxx:1085
 RooVectorDataStore.cxx:1086
 RooVectorDataStore.cxx:1087
 RooVectorDataStore.cxx:1088
 RooVectorDataStore.cxx:1089
 RooVectorDataStore.cxx:1090
 RooVectorDataStore.cxx:1091
 RooVectorDataStore.cxx:1092
 RooVectorDataStore.cxx:1093
 RooVectorDataStore.cxx:1094
 RooVectorDataStore.cxx:1095
 RooVectorDataStore.cxx:1096
 RooVectorDataStore.cxx:1097
 RooVectorDataStore.cxx:1098
 RooVectorDataStore.cxx:1099
 RooVectorDataStore.cxx:1100
 RooVectorDataStore.cxx:1101
 RooVectorDataStore.cxx:1102
 RooVectorDataStore.cxx:1103
 RooVectorDataStore.cxx:1104
 RooVectorDataStore.cxx:1105
 RooVectorDataStore.cxx:1106
 RooVectorDataStore.cxx:1107
 RooVectorDataStore.cxx:1108
 RooVectorDataStore.cxx:1109
 RooVectorDataStore.cxx:1110
 RooVectorDataStore.cxx:1111
 RooVectorDataStore.cxx:1112
 RooVectorDataStore.cxx:1113
 RooVectorDataStore.cxx:1114
 RooVectorDataStore.cxx:1115
 RooVectorDataStore.cxx:1116
 RooVectorDataStore.cxx:1117
 RooVectorDataStore.cxx:1118
 RooVectorDataStore.cxx:1119
 RooVectorDataStore.cxx:1120
 RooVectorDataStore.cxx:1121
 RooVectorDataStore.cxx:1122
 RooVectorDataStore.cxx:1123
 RooVectorDataStore.cxx:1124
 RooVectorDataStore.cxx:1125
 RooVectorDataStore.cxx:1126
 RooVectorDataStore.cxx:1127
 RooVectorDataStore.cxx:1128
 RooVectorDataStore.cxx:1129
 RooVectorDataStore.cxx:1130
 RooVectorDataStore.cxx:1131
 RooVectorDataStore.cxx:1132
 RooVectorDataStore.cxx:1133
 RooVectorDataStore.cxx:1134
 RooVectorDataStore.cxx:1135
 RooVectorDataStore.cxx:1136
 RooVectorDataStore.cxx:1137
 RooVectorDataStore.cxx:1138
 RooVectorDataStore.cxx:1139
 RooVectorDataStore.cxx:1140
 RooVectorDataStore.cxx:1141
 RooVectorDataStore.cxx:1142
 RooVectorDataStore.cxx:1143
 RooVectorDataStore.cxx:1144
 RooVectorDataStore.cxx:1145
 RooVectorDataStore.cxx:1146
 RooVectorDataStore.cxx:1147
 RooVectorDataStore.cxx:1148
 RooVectorDataStore.cxx:1149
 RooVectorDataStore.cxx:1150
 RooVectorDataStore.cxx:1151
 RooVectorDataStore.cxx:1152
 RooVectorDataStore.cxx:1153
 RooVectorDataStore.cxx:1154
 RooVectorDataStore.cxx:1155
 RooVectorDataStore.cxx:1156
 RooVectorDataStore.cxx:1157
 RooVectorDataStore.cxx:1158
 RooVectorDataStore.cxx:1159
 RooVectorDataStore.cxx:1160
 RooVectorDataStore.cxx:1161
 RooVectorDataStore.cxx:1162
 RooVectorDataStore.cxx:1163
 RooVectorDataStore.cxx:1164
 RooVectorDataStore.cxx:1165
 RooVectorDataStore.cxx:1166
 RooVectorDataStore.cxx:1167
 RooVectorDataStore.cxx:1168
 RooVectorDataStore.cxx:1169
 RooVectorDataStore.cxx:1170
 RooVectorDataStore.cxx:1171
 RooVectorDataStore.cxx:1172
 RooVectorDataStore.cxx:1173
 RooVectorDataStore.cxx:1174
 RooVectorDataStore.cxx:1175
 RooVectorDataStore.cxx:1176
 RooVectorDataStore.cxx:1177
 RooVectorDataStore.cxx:1178
 RooVectorDataStore.cxx:1179
 RooVectorDataStore.cxx:1180
 RooVectorDataStore.cxx:1181
 RooVectorDataStore.cxx:1182
 RooVectorDataStore.cxx:1183
 RooVectorDataStore.cxx:1184
 RooVectorDataStore.cxx:1185
 RooVectorDataStore.cxx:1186
 RooVectorDataStore.cxx:1187
 RooVectorDataStore.cxx:1188
 RooVectorDataStore.cxx:1189
 RooVectorDataStore.cxx:1190
 RooVectorDataStore.cxx:1191
 RooVectorDataStore.cxx:1192
 RooVectorDataStore.cxx:1193
 RooVectorDataStore.cxx:1194
 RooVectorDataStore.cxx:1195
 RooVectorDataStore.cxx:1196
 RooVectorDataStore.cxx:1197
 RooVectorDataStore.cxx:1198
 RooVectorDataStore.cxx:1199
 RooVectorDataStore.cxx:1200
 RooVectorDataStore.cxx:1201
 RooVectorDataStore.cxx:1202
 RooVectorDataStore.cxx:1203
 RooVectorDataStore.cxx:1204
 RooVectorDataStore.cxx:1205
 RooVectorDataStore.cxx:1206
 RooVectorDataStore.cxx:1207
 RooVectorDataStore.cxx:1208
 RooVectorDataStore.cxx:1209
 RooVectorDataStore.cxx:1210
 RooVectorDataStore.cxx:1211
 RooVectorDataStore.cxx:1212
 RooVectorDataStore.cxx:1213
 RooVectorDataStore.cxx:1214
 RooVectorDataStore.cxx:1215
 RooVectorDataStore.cxx:1216
 RooVectorDataStore.cxx:1217
 RooVectorDataStore.cxx:1218
 RooVectorDataStore.cxx:1219
 RooVectorDataStore.cxx:1220
 RooVectorDataStore.cxx:1221
 RooVectorDataStore.cxx:1222
 RooVectorDataStore.cxx:1223
 RooVectorDataStore.cxx:1224
 RooVectorDataStore.cxx:1225
 RooVectorDataStore.cxx:1226
 RooVectorDataStore.cxx:1227
 RooVectorDataStore.cxx:1228
 RooVectorDataStore.cxx:1229
 RooVectorDataStore.cxx:1230
 RooVectorDataStore.cxx:1231
 RooVectorDataStore.cxx:1232
 RooVectorDataStore.cxx:1233
 RooVectorDataStore.cxx:1234
 RooVectorDataStore.cxx:1235
 RooVectorDataStore.cxx:1236
 RooVectorDataStore.cxx:1237
 RooVectorDataStore.cxx:1238
 RooVectorDataStore.cxx:1239
 RooVectorDataStore.cxx:1240
 RooVectorDataStore.cxx:1241
 RooVectorDataStore.cxx:1242
 RooVectorDataStore.cxx:1243
 RooVectorDataStore.cxx:1244
 RooVectorDataStore.cxx:1245
 RooVectorDataStore.cxx:1246
 RooVectorDataStore.cxx:1247
 RooVectorDataStore.cxx:1248
 RooVectorDataStore.cxx:1249
 RooVectorDataStore.cxx:1250
 RooVectorDataStore.cxx:1251
 RooVectorDataStore.cxx:1252
 RooVectorDataStore.cxx:1253
 RooVectorDataStore.cxx:1254
 RooVectorDataStore.cxx:1255
 RooVectorDataStore.cxx:1256
 RooVectorDataStore.cxx:1257
 RooVectorDataStore.cxx:1258
 RooVectorDataStore.cxx:1259
 RooVectorDataStore.cxx:1260
 RooVectorDataStore.cxx:1261
 RooVectorDataStore.cxx:1262
 RooVectorDataStore.cxx:1263
 RooVectorDataStore.cxx:1264
 RooVectorDataStore.cxx:1265
 RooVectorDataStore.cxx:1266
 RooVectorDataStore.cxx:1267
 RooVectorDataStore.cxx:1268
 RooVectorDataStore.cxx:1269
 RooVectorDataStore.cxx:1270
 RooVectorDataStore.cxx:1271
 RooVectorDataStore.cxx:1272
 RooVectorDataStore.cxx:1273
 RooVectorDataStore.cxx:1274
 RooVectorDataStore.cxx:1275
 RooVectorDataStore.cxx:1276
 RooVectorDataStore.cxx:1277
 RooVectorDataStore.cxx:1278
 RooVectorDataStore.cxx:1279
 RooVectorDataStore.cxx:1280
 RooVectorDataStore.cxx:1281
 RooVectorDataStore.cxx:1282
 RooVectorDataStore.cxx:1283
 RooVectorDataStore.cxx:1284
 RooVectorDataStore.cxx:1285
 RooVectorDataStore.cxx:1286
 RooVectorDataStore.cxx:1287
 RooVectorDataStore.cxx:1288
 RooVectorDataStore.cxx:1289
 RooVectorDataStore.cxx:1290
 RooVectorDataStore.cxx:1291
 RooVectorDataStore.cxx:1292
 RooVectorDataStore.cxx:1293
 RooVectorDataStore.cxx:1294
 RooVectorDataStore.cxx:1295
 RooVectorDataStore.cxx:1296
 RooVectorDataStore.cxx:1297
 RooVectorDataStore.cxx:1298
 RooVectorDataStore.cxx:1299
 RooVectorDataStore.cxx:1300
 RooVectorDataStore.cxx:1301
 RooVectorDataStore.cxx:1302
 RooVectorDataStore.cxx:1303
 RooVectorDataStore.cxx:1304
 RooVectorDataStore.cxx:1305
 RooVectorDataStore.cxx:1306
 RooVectorDataStore.cxx:1307
 RooVectorDataStore.cxx:1308
 RooVectorDataStore.cxx:1309
 RooVectorDataStore.cxx:1310
 RooVectorDataStore.cxx:1311
 RooVectorDataStore.cxx:1312
 RooVectorDataStore.cxx:1313
 RooVectorDataStore.cxx:1314
 RooVectorDataStore.cxx:1315
 RooVectorDataStore.cxx:1316
 RooVectorDataStore.cxx:1317
 RooVectorDataStore.cxx:1318
 RooVectorDataStore.cxx:1319
 RooVectorDataStore.cxx:1320
 RooVectorDataStore.cxx:1321
 RooVectorDataStore.cxx:1322
 RooVectorDataStore.cxx:1323
 RooVectorDataStore.cxx:1324
 RooVectorDataStore.cxx:1325
 RooVectorDataStore.cxx:1326
 RooVectorDataStore.cxx:1327
 RooVectorDataStore.cxx:1328
 RooVectorDataStore.cxx:1329
 RooVectorDataStore.cxx:1330
 RooVectorDataStore.cxx:1331
 RooVectorDataStore.cxx:1332
 RooVectorDataStore.cxx:1333
 RooVectorDataStore.cxx:1334
 RooVectorDataStore.cxx:1335
 RooVectorDataStore.cxx:1336
 RooVectorDataStore.cxx:1337
 RooVectorDataStore.cxx:1338
 RooVectorDataStore.cxx:1339
 RooVectorDataStore.cxx:1340
 RooVectorDataStore.cxx:1341
 RooVectorDataStore.cxx:1342
 RooVectorDataStore.cxx:1343
 RooVectorDataStore.cxx:1344
 RooVectorDataStore.cxx:1345
 RooVectorDataStore.cxx:1346
 RooVectorDataStore.cxx:1347
 RooVectorDataStore.cxx:1348
 RooVectorDataStore.cxx:1349
 RooVectorDataStore.cxx:1350
 RooVectorDataStore.cxx:1351
 RooVectorDataStore.cxx:1352
 RooVectorDataStore.cxx:1353
 RooVectorDataStore.cxx:1354
 RooVectorDataStore.cxx:1355
 RooVectorDataStore.cxx:1356
 RooVectorDataStore.cxx:1357
 RooVectorDataStore.cxx:1358
 RooVectorDataStore.cxx:1359
 RooVectorDataStore.cxx:1360
 RooVectorDataStore.cxx:1361
 RooVectorDataStore.cxx:1362
 RooVectorDataStore.cxx:1363
 RooVectorDataStore.cxx:1364
 RooVectorDataStore.cxx:1365
 RooVectorDataStore.cxx:1366
 RooVectorDataStore.cxx:1367
 RooVectorDataStore.cxx:1368
 RooVectorDataStore.cxx:1369
 RooVectorDataStore.cxx:1370
 RooVectorDataStore.cxx:1371
 RooVectorDataStore.cxx:1372
 RooVectorDataStore.cxx:1373
 RooVectorDataStore.cxx:1374
 RooVectorDataStore.cxx:1375
 RooVectorDataStore.cxx:1376
 RooVectorDataStore.cxx:1377
 RooVectorDataStore.cxx:1378
 RooVectorDataStore.cxx:1379
 RooVectorDataStore.cxx:1380
 RooVectorDataStore.cxx:1381
 RooVectorDataStore.cxx:1382
 RooVectorDataStore.cxx:1383
 RooVectorDataStore.cxx:1384
 RooVectorDataStore.cxx:1385
 RooVectorDataStore.cxx:1386
 RooVectorDataStore.cxx:1387
 RooVectorDataStore.cxx:1388
 RooVectorDataStore.cxx:1389
 RooVectorDataStore.cxx:1390
 RooVectorDataStore.cxx:1391
 RooVectorDataStore.cxx:1392
 RooVectorDataStore.cxx:1393
 RooVectorDataStore.cxx:1394
 RooVectorDataStore.cxx:1395
 RooVectorDataStore.cxx:1396
 RooVectorDataStore.cxx:1397
 RooVectorDataStore.cxx:1398
 RooVectorDataStore.cxx:1399
 RooVectorDataStore.cxx:1400
 RooVectorDataStore.cxx:1401
 RooVectorDataStore.cxx:1402
 RooVectorDataStore.cxx:1403
 RooVectorDataStore.cxx:1404
 RooVectorDataStore.cxx:1405
 RooVectorDataStore.cxx:1406
 RooVectorDataStore.cxx:1407
 RooVectorDataStore.cxx:1408
 RooVectorDataStore.cxx:1409
 RooVectorDataStore.cxx:1410
 RooVectorDataStore.cxx:1411
 RooVectorDataStore.cxx:1412
 RooVectorDataStore.cxx:1413
 RooVectorDataStore.cxx:1414
 RooVectorDataStore.cxx:1415
 RooVectorDataStore.cxx:1416
 RooVectorDataStore.cxx:1417
 RooVectorDataStore.cxx:1418
 RooVectorDataStore.cxx:1419
 RooVectorDataStore.cxx:1420
 RooVectorDataStore.cxx:1421
 RooVectorDataStore.cxx:1422
 RooVectorDataStore.cxx:1423
 RooVectorDataStore.cxx:1424
 RooVectorDataStore.cxx:1425
 RooVectorDataStore.cxx:1426
 RooVectorDataStore.cxx:1427
 RooVectorDataStore.cxx:1428
 RooVectorDataStore.cxx:1429
 RooVectorDataStore.cxx:1430
 RooVectorDataStore.cxx:1431
 RooVectorDataStore.cxx:1432
 RooVectorDataStore.cxx:1433
 RooVectorDataStore.cxx:1434
 RooVectorDataStore.cxx:1435
 RooVectorDataStore.cxx:1436
 RooVectorDataStore.cxx:1437
 RooVectorDataStore.cxx:1438
 RooVectorDataStore.cxx:1439
 RooVectorDataStore.cxx:1440
 RooVectorDataStore.cxx:1441
 RooVectorDataStore.cxx:1442
 RooVectorDataStore.cxx:1443
 RooVectorDataStore.cxx:1444
 RooVectorDataStore.cxx:1445
 RooVectorDataStore.cxx:1446
 RooVectorDataStore.cxx:1447
 RooVectorDataStore.cxx:1448
 RooVectorDataStore.cxx:1449
 RooVectorDataStore.cxx:1450
 RooVectorDataStore.cxx:1451
 RooVectorDataStore.cxx:1452
 RooVectorDataStore.cxx:1453
 RooVectorDataStore.cxx:1454
 RooVectorDataStore.cxx:1455
 RooVectorDataStore.cxx:1456
 RooVectorDataStore.cxx:1457
 RooVectorDataStore.cxx:1458
 RooVectorDataStore.cxx:1459
 RooVectorDataStore.cxx:1460
 RooVectorDataStore.cxx:1461
 RooVectorDataStore.cxx:1462
 RooVectorDataStore.cxx:1463
 RooVectorDataStore.cxx:1464
 RooVectorDataStore.cxx:1465
 RooVectorDataStore.cxx:1466
 RooVectorDataStore.cxx:1467
 RooVectorDataStore.cxx:1468
 RooVectorDataStore.cxx:1469
 RooVectorDataStore.cxx:1470
 RooVectorDataStore.cxx:1471
 RooVectorDataStore.cxx:1472
 RooVectorDataStore.cxx:1473
 RooVectorDataStore.cxx:1474
 RooVectorDataStore.cxx:1475
 RooVectorDataStore.cxx:1476
 RooVectorDataStore.cxx:1477
 RooVectorDataStore.cxx:1478
 RooVectorDataStore.cxx:1479
 RooVectorDataStore.cxx:1480
 RooVectorDataStore.cxx:1481
 RooVectorDataStore.cxx:1482
 RooVectorDataStore.cxx:1483
 RooVectorDataStore.cxx:1484
 RooVectorDataStore.cxx:1485
 RooVectorDataStore.cxx:1486
 RooVectorDataStore.cxx:1487
 RooVectorDataStore.cxx:1488
 RooVectorDataStore.cxx:1489
 RooVectorDataStore.cxx:1490
 RooVectorDataStore.cxx:1491
 RooVectorDataStore.cxx:1492
 RooVectorDataStore.cxx:1493
 RooVectorDataStore.cxx:1494
 RooVectorDataStore.cxx:1495
 RooVectorDataStore.cxx:1496
 RooVectorDataStore.cxx:1497
 RooVectorDataStore.cxx:1498
 RooVectorDataStore.cxx:1499
 RooVectorDataStore.cxx:1500
 RooVectorDataStore.cxx:1501
 RooVectorDataStore.cxx:1502
 RooVectorDataStore.cxx:1503
 RooVectorDataStore.cxx:1504
 RooVectorDataStore.cxx:1505
 RooVectorDataStore.cxx:1506
 RooVectorDataStore.cxx:1507
 RooVectorDataStore.cxx:1508
 RooVectorDataStore.cxx:1509
 RooVectorDataStore.cxx:1510
 RooVectorDataStore.cxx:1511
 RooVectorDataStore.cxx:1512
 RooVectorDataStore.cxx:1513
 RooVectorDataStore.cxx:1514
 RooVectorDataStore.cxx:1515
 RooVectorDataStore.cxx:1516
 RooVectorDataStore.cxx:1517
 RooVectorDataStore.cxx:1518
 RooVectorDataStore.cxx:1519
 RooVectorDataStore.cxx:1520
 RooVectorDataStore.cxx:1521
 RooVectorDataStore.cxx:1522
 RooVectorDataStore.cxx:1523
 RooVectorDataStore.cxx:1524
 RooVectorDataStore.cxx:1525
 RooVectorDataStore.cxx:1526
 RooVectorDataStore.cxx:1527
 RooVectorDataStore.cxx:1528
 RooVectorDataStore.cxx:1529
 RooVectorDataStore.cxx:1530
 RooVectorDataStore.cxx:1531
 RooVectorDataStore.cxx:1532
 RooVectorDataStore.cxx:1533
 RooVectorDataStore.cxx:1534
 RooVectorDataStore.cxx:1535
 RooVectorDataStore.cxx:1536
 RooVectorDataStore.cxx:1537
 RooVectorDataStore.cxx:1538
 RooVectorDataStore.cxx:1539
 RooVectorDataStore.cxx:1540
 RooVectorDataStore.cxx:1541
 RooVectorDataStore.cxx:1542
 RooVectorDataStore.cxx:1543
 RooVectorDataStore.cxx:1544
 RooVectorDataStore.cxx:1545
 RooVectorDataStore.cxx:1546
 RooVectorDataStore.cxx:1547
 RooVectorDataStore.cxx:1548
 RooVectorDataStore.cxx:1549
 RooVectorDataStore.cxx:1550
 RooVectorDataStore.cxx:1551
 RooVectorDataStore.cxx:1552
 RooVectorDataStore.cxx:1553
 RooVectorDataStore.cxx:1554
 RooVectorDataStore.cxx:1555
 RooVectorDataStore.cxx:1556
 RooVectorDataStore.cxx:1557
 RooVectorDataStore.cxx:1558
 RooVectorDataStore.cxx:1559
 RooVectorDataStore.cxx:1560
 RooVectorDataStore.cxx:1561
 RooVectorDataStore.cxx:1562
 RooVectorDataStore.cxx:1563
 RooVectorDataStore.cxx:1564
 RooVectorDataStore.cxx:1565
 RooVectorDataStore.cxx:1566
 RooVectorDataStore.cxx:1567
 RooVectorDataStore.cxx:1568
 RooVectorDataStore.cxx:1569
 RooVectorDataStore.cxx:1570
 RooVectorDataStore.cxx:1571
 RooVectorDataStore.cxx:1572
 RooVectorDataStore.cxx:1573
 RooVectorDataStore.cxx:1574
 RooVectorDataStore.cxx:1575
 RooVectorDataStore.cxx:1576
 RooVectorDataStore.cxx:1577