newly added. Not for productive used yetsvn diff | grep Index:

This commit is contained in:
nemu
2008-01-08 08:31:58 +00:00
commit c6cc508aaf
85 changed files with 14397 additions and 0 deletions
@@ -0,0 +1,110 @@
#include <iostream>
using namespace std;
#include <TROOT.h>
#include <TSystem.h>
#include <TFile.h>
#include <TFolder.h>
#include <TH1F.h>
#include "TLemRunHeader.h"
int main(int argc, char *argv[])
{
if (argc != 2) {
cout << endl;
cout << "SYNTAX: nemuRootFileRead PathFileName";
cout << endl;
return 1;
}
TROOT root("nemuRootFileRead", "nemuRootFileRead", 0);
// get file name
char *str = gSystem->ExpandPathName(argv[1]);
// check that the file name exists
if (gSystem->AccessPathName(str)==true) {
cout << endl << "file " << str << " doesn't exist :-(" << endl;
cout << endl << "will quit now ..." << endl;
return 1;
}
// define file
TFile f(str);
if (f.IsZombie()) {
cout << endl << "couldn't open file " << str << endl;
cout << endl << "will quit now ..." << endl;
return 1;
}
cout << endl << "opened file " << str;
// get RunInfo Folder
TFolder *folder = 0;
f.GetObject("RunInfo", folder);
// check if RunInfo Folder is valid
if (!folder) {
cout << endl << "Couldn't obtain RunInfo folder from ROOT file " << str;
cout << endl << "will quit now ..." << endl;
return 1;
}
// get run header
TLemRunHeader *runHeader = dynamic_cast<TLemRunHeader*>(folder->FindObjectAny("TLemRunHeader"));
// check if run header is valid
if (!runHeader) {
cout << endl << "Couldn't obtain run header info from ROOT file " << str;
cout << endl << "will quit now ..." << endl;
return 1;
}
cout << endl << "Run No : " << runHeader->GetRunNumber();
cout << endl << "Run Title: " << runHeader->GetRunTitle().GetString().Data();
// get histos folder
f.GetObject("histos", folder);
// check if histos Folder is valid
if (!folder) {
cout << endl << "Couldn't obtain histos folder from ROOT file " << str;
cout << endl << "will quit now ..." << endl;
return 1;
}
// get histo hDecay00
TH1F *histo = dynamic_cast<TH1F*>(folder->FindObject("DecayAnaModule/hDecay00"));
// check if histo hDecay00 was found
if (!histo) {
cout << endl << "Couldn't obtain hDecay00 histo from ROOT file " << str;
cout << endl << "will quit now ..." << endl;
return 1;
}
// print out first 10 values of hDecay00 and some other info
cout << endl << "hDecay00: No of Bins: " << histo->GetNbinsX();
int max;
if (max > histo->GetNbinsX())
max = histo->GetNbinsX();
else
max = 10;
cout << endl << "hDecay00: Data:";
for (int i=0; i<max; i++) {
cout << endl << i << ": " << histo->GetBinContent(i+1);
}
if (f.IsOpen())
f.Close();
cout << endl << "closed file .." << endl;
if (str)
delete str;
cout << endl;
return 0;
}
@@ -0,0 +1,23 @@
#------------------------------------------------------
# nemuRootFileRead.pro
# qmake file for rootSystemTest
#
# Andreas Suter, 2007/05/14
#
# $Id$
#
#------------------------------------------------------
MAKEFILE = Makefile
CONFIG += warn_on debug
SOURCES = nemuRootFileRead.cpp \
INCLUDEPATH += $$(ROOTSYS)/include
ROOTLIBS = -lCore -lCint -lRIO -lGraf -lGraf3d -lGpad -lHist -lMatrix -lMinuit -lGui
NEMULIBS = -lTLemRunHeader
unix:LIBS += -L$$(ROOTSYS)/lib $${ROOTLIBS} $${NEMULIBS} -lbsd -lm -ldl -lutil
TARGET=nemuRootFileRead