// @(#)root/roostats:$Id$
// Author: George Lewis, Kyle Cranmer
/*************************************************************************
 * 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.             *
 *************************************************************************/

#ifndef HISTFACTORY_DATA_H
#define HISTFACTORY_DATA_H

#include <string>
#include <fstream>
#include <iostream>

//#include "RooStats/HistFactory/HistCollector.h"
#include "RooStats/HistFactory/Sample.h"

namespace RooStats{
namespace HistFactory {

class Data {
  
public:
  //friend class Channel;

  Data();
  Data( const Data& other );
  /// constructor from name, file and path. Name of the histogram should not include the path
  Data( std::string HistoName, std::string InputFile, std::string HistoPath="" );

  std::string GetName() { return fName; }
  void SetName(const std::string& name) { fName=name; }
  
  void SetInputFile(const std::string& InputFile) { fInputFile = InputFile; }
  std::string GetInputFile() { return fInputFile; }

  void SetHistoName(const std::string& HistoName) { fHistoName = HistoName; }
  std::string GetHistoName() { return fHistoName; }

  void SetHistoPath(const std::string& HistoPath) { fHistoPath = HistoPath; }
  std::string GetHistoPath() { return fHistoPath; }

  void Print(std::ostream& = std::cout);
  void PrintXML( std::ostream& );
  void writeToFile( std::string FileName, std::string DirName );

  TH1* GetHisto();
  void SetHisto(TH1* Hist) { fhData = Hist; fHistoName=Hist->GetName(); }
  
protected:

  std::string fName;
  
  std::string fInputFile;
  std::string fHistoName;
  std::string fHistoPath;


  // The Data Histogram
  HistRef fhData;


};

}
}


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