Belle II Software development
hdump.cc
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8#include "daq/dqm/DqmMemFile.h"
9
10#include <TObject.h>
11#include <TKey.h>
12#include <TIterator.h>
13#include <TDirectory.h>
14#include <TList.h>
15#include <TH1.h>
16
17using namespace Belle2;
18using namespace std;
19
20int main(int argc, char** argv)
21{
22 if (argc < 2) {
23 printf("Wrong number of arguments\n");
24 return 1;
25 }
26
27 DqmMemFile* mfile = new DqmMemFile(argv[1]);
28
29 TMemFile* file = mfile->LoadMemFile();
30 file->ls();
31 file->Print();
32
33 TList* keylist = file->GetListOfKeys();
34 TIter nextkey(keylist);
35 TKey* key = 0;
36 while ((key = static_cast<TKey*>(nextkey()))) {
37 TObject* obj = key->ReadObj();
38 if (obj->IsA()->InheritsFrom(TH1::Class())) {
39 TH1* hist = static_cast<TH1*>(obj);
40 printf("histo: %s, title: %s \n", hist->GetName(), hist->GetTitle());
41 }
42 }
43
44 delete (mfile);
45 return 0;
46}
Abstract base class for different kinds of events.
STL namespace.