#include #include #include #include #include using namespace std; TH1D* setBinContent( const std::string& fileName, const unsigned int nValues ) { ifstream infile( fileName.c_str(), std::ios::in ); // if ( !infile.is_open() || infile.bad() ) // { // std::cout << "Could not open input file at : " << fileName // << std::endl; // return 0; // } std::vector x( nValues ); std::vector y( nValues ); // read file. // assume 1 columns for ( unsigned int i = 0; i != nValues; ++i ) { infile >> y[i]; } const unsigned int nbins = nValues; const double xMin = 0.; const double xMax = 10.; TH1D * h = new TH1D( "h", "Mon histo", nbins, xMin, xMax ); for ( unsigned int i = 0; i != y.size(); ++i ) { // assume each slot of the x vector corresponds to 1 bin // of the TH1D h->SetBinContent( i+1, y[i] ); } infile.close(); return h; } void histo2() { TH1D* h=setBinContent("x.data",30); }