EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
LoopEval.C
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file LoopEval.C
1 #include <eicqa_modules/EvalRootTTree.h>
2 #include <eicqa_modules/EvalHit.h>
3 
4 R__LOAD_LIBRARY(libeicqa_modules.so)
5 
6 void LoopEval(const std::string &filename)
7 {
8  TFile *f1 = new TFile(filename.c_str(),"READ"); //change the input evaluator root file here
9 
10  TTree* T = (TTree*)f1->Get("T");
11  EvalRootTTree *evaltree = nullptr;
12 
13 
14  T->SetBranchAddress("DST#EvalTTree_HCALOUT",&evaltree);
15  for(int i=0; i<T->GetEntries(); i++)
16  {
17  T->GetEntry(i);
18  cout << "Number of Hits: " << evaltree->get_nhits() << endl;
19  for (int i=0; i<evaltree->get_nhits(); i++)
20  {
21  EvalHit *hit = evaltree->get_hit(i);
22  if (hit)
23  {
24 // cout << "xin: " << hit->get_xin() << endl;
25  }
26  }
27  cout << "Number of towers: " << evaltree->get_ntowers() << endl;
28  for (int i=0; i<evaltree->get_ntowers(); i++)
29  {
30  EvalTower *twr = evaltree->get_tower(i);
31  if (twr)
32  {
33 // cout << "tz: " << twr->get_tz() << endl;
34  }
35  }
36  cout << "Number of clusters: " << evaltree->get_nclusters() << endl;
37  for (int i=0; i<evaltree->get_nclusters(); i++)
38  {
39  EvalCluster *clus = evaltree->get_cluster(i);
40  if (clus)
41  {
42 // cout << "cphi: " << clus->get_cphi() << endl;
43  }
44  }
45  // cout << "ce: " << ce[0] << endl;
46  }
47 }