#include "HepTuple/HepHBookFileManager.h" #include "ZMutility/iostream" #ifndef ISOCXX__ISOCXX #include #endif #include #include #include "HepTuple/HepNtuple.h" #include "HepTuple/HepHist1D.h" USING( namespace std ) #define MAXTRACKS 200 int main(){ /******* Initialise hbook files *******/ //Open file and connect to input ntuple. HepFileManager *outManager; outManager = new HepHBookFileManager("new.hbk"); HepFileManager *inManager; inManager = new HepHBookFileManager("sample.hbk"); HepNtuple &inTuple = inManager->retrieveNtuple("Test N-tuple"); inTuple.setColumnWise(); inTuple.setDiskResident(); //Open new histogram for output and define columns HepNtuple &outTuple = outManager->ntuple("Smeared",20); outTuple.setColumnWise(); outTuple.setDiskResident(); outTuple.columnArray("Track::IP",1,(Float8)0.); outTuple.dimension("Track::IP",MAXTRACKS); outTuple.columnArray("Track::Phi0",1,(Float8)0.); outTuple.dimension("Track::Phi0",MAXTRACKS); outTuple.columnArray("Track::Curv",1,(Float8)0.); outTuple.dimension("Track::Curv",MAXTRACKS); outTuple.clearData(); outManager->mkdir("Histograms"); outManager->cd("Histograms"); HepHist1D &outHist = outManager->hist1D("ntracks",100,-100,100.0); // Int4 nevts = inTuple.nrows(); Int4 nevts = 10; std::cout << "File contains " << nevts << " events.\n\n"; for(int n=0; nwrite(); outManager->write(); delete outManager; delete inManager; // implicit HROUT return 0; }