CMS 3D CMS Logo

uGTrates.cc
Go to the documentation of this file.
1 #include <vector>
2 #include <string>
3 #include <algorithm>
4 #include <iostream>
5 #include <iomanip>
6 
7 #include "TFile.h"
8 #include "TTree.h"
9 #include "TList.h"
10 #include "TIterator.h"
11 
12 void print_rates(TFile * file) {
13  TTree * tree = (TTree *) file->Get("l1uGTTree/L1uGTTree");
14 
15  // extract the list of Aliases
16  std::vector<std::string> names;
17  TList * aliases = tree->GetListOfAliases();
18  TIter iter(aliases);
19  std::for_each(iter.Begin(), TIter::End(), [&](TObject* alias){ names.push_back(alias->GetName()); } );
20 
21  unsigned long long entries = tree->GetEntries();
22  if (entries == 0)
23  return;
24 
25  int digits = std::log(entries) / std::log(10) + 1;
26  for (auto const & name: names) {
27  unsigned long long counts = tree->GetEntries(name.c_str());
28  std::cout << std::setw(digits) << counts << " / " << std::setw(digits) << entries << " " << name << std::endl;
29  }
30 }
31 
32 
33 int main(int argc, char** argv) {
34  if (argc < 2)
35  return 0;
36 
37  TFile * file = TFile::Open(argv[1]);
38  print_rates(file);
39 }
const std::string names[nVars_]
void print_rates(TFile *file)
Definition: uGTrates.cc:12
Definition: tree.py:1
int main(int argc, char **argv)
Definition: uGTrates.cc:33