// @(#)root/roostats:$Id$
// Author: Kyle Cranmer, George Lewis 
/*************************************************************************
 * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

//_________________________________________________
/*
BEGIN_HTML
<p>
</p>
END_HTML
*/
//
 

#include "RooStats/HistFactory/Data.h"


RooStats::HistFactory::Data::Data() : fName("") {
  ;
}

RooStats::HistFactory::Data::Data( const Data& other ) :
  fName( other.fName ),
  fInputFile( other.fInputFile ),
  fHistoName( other.fHistoName ),
  fHistoPath( other.fHistoPath ),
  fhData( other.fhData )
{ ; }

RooStats::HistFactory::Data::Data( std::string HistoName, std::string InputFile, 
				   std::string HistoPath ) :
  fInputFile( InputFile ), fHistoName( HistoName ), fHistoPath( HistoPath ) {;}

TH1* RooStats::HistFactory::Data::GetHisto() {
  return (TH1*) fhData.GetObject();
}


void RooStats::HistFactory::Data::Print( std::ostream& stream ) {


  stream << "\t \t InputFile: " << fInputFile
	 << "\t HistoName: " << fHistoName
	 << "\t HistoPath: " << fHistoPath
	 << "\t HistoAddress: " << GetHisto()
	 << std::endl;

}

void RooStats::HistFactory::Data::writeToFile( std::string OutputFileName, std::string DirName ) {

  TH1* histData = GetHisto();

  if( histData != NULL) {

    histData->Write();
  
    // Set the location of the data
    // in the output measurement
  
    fInputFile = OutputFileName;
    fHistoName = histData->GetName();
    fHistoPath = DirName;

  }

}


void RooStats::HistFactory::Data::PrintXML( std::ostream& xml ) {

  xml << "    <Data HistoName=\"" << GetHistoName() << "\" "
      << "InputFile=\"" << GetInputFile() << "\" "
      << "HistoPath=\"" << GetHistoPath() << "\" "
      << " /> " << std::endl << std::endl;  
  
}
 Data.cxx:1
 Data.cxx:2
 Data.cxx:3
 Data.cxx:4
 Data.cxx:5
 Data.cxx:6
 Data.cxx:7
 Data.cxx:8
 Data.cxx:9
 Data.cxx:10
 Data.cxx:11
 Data.cxx:12
 Data.cxx:13
 Data.cxx:14
 Data.cxx:15
 Data.cxx:16
 Data.cxx:17
 Data.cxx:18
 Data.cxx:19
 Data.cxx:20
 Data.cxx:21
 Data.cxx:22
 Data.cxx:23
 Data.cxx:24
 Data.cxx:25
 Data.cxx:26
 Data.cxx:27
 Data.cxx:28
 Data.cxx:29
 Data.cxx:30
 Data.cxx:31
 Data.cxx:32
 Data.cxx:33
 Data.cxx:34
 Data.cxx:35
 Data.cxx:36
 Data.cxx:37
 Data.cxx:38
 Data.cxx:39
 Data.cxx:40
 Data.cxx:41
 Data.cxx:42
 Data.cxx:43
 Data.cxx:44
 Data.cxx:45
 Data.cxx:46
 Data.cxx:47
 Data.cxx:48
 Data.cxx:49
 Data.cxx:50
 Data.cxx:51
 Data.cxx:52
 Data.cxx:53
 Data.cxx:54
 Data.cxx:55
 Data.cxx:56
 Data.cxx:57
 Data.cxx:58
 Data.cxx:59
 Data.cxx:60
 Data.cxx:61
 Data.cxx:62
 Data.cxx:63
 Data.cxx:64
 Data.cxx:65
 Data.cxx:66
 Data.cxx:67
 Data.cxx:68
 Data.cxx:69
 Data.cxx:70
 Data.cxx:71
 Data.cxx:72
 Data.cxx:73
 Data.cxx:74
 Data.cxx:75
 Data.cxx:76
 Data.cxx:77
 Data.cxx:78
 Data.cxx:79
 Data.cxx:80
 Data.cxx:81
 Data.cxx:82
 Data.cxx:83