#include "TClass.h"
#include "Riostream.h"
#include "TSystem.h"
#include "TEnv.h"
#include "TGResourcePool.h"
#include "TTreeTableInterface.h"
#include "TTreeFormula.h"
#include "TError.h"
#include "TTree.h"
#include "TEntryList.h"
#include "TSelectorDraw.h"
#include "TTreeFormulaManager.h"
#include "TTreeFormula.h"
ClassImp(TTreeTableInterface)
TTreeTableInterface::TTreeTableInterface (TTree *tree, const char *varexp,
const char *selection, Option_t *option, Long64_t nentries,
Long64_t firstentry)
: TVirtualTableInterface(), fTree(tree), fFormulas(0), fEntry(0),
fNEntries(nentries), fFirstEntry(firstentry), fManager(0), fSelect(0), fSelector(0), fInput(0),
fForceDim(kFALSE), fEntries(0), fNRows(0), fNColumns(0)
{
if (fTree == 0) {
Error("TTreeTableInterface", "No tree supplied");
return;
}
fFormulas= new TList();
fSelector = new TSelectorDraw();
fInput = new TList();
fInput->Add(new TNamed("varexp",""));
fInput->Add(new TNamed("selection",""));
fSelector->SetInputList(fInput);
fEntry=fFirstEntry;
TString opt = option;
if (nentries == 0) {
fNEntries = fTree->GetEntries();
Info("TTreeTableInterface", "nentries was 0, setting to maximum number"
" available in the tree");
}
SetVariablesExpression(varexp);
SetSelection(selection);
if (fNRows == 0) {
Warning ("TTreeTableInterface::TTreeTableInterface", "nrows = 0");
}
if (fNColumns == 0) {
Warning ("TTreeTableInterface::TTreeTableInterface", "ncolumns = 0");
}
}
TTreeTableInterface::~TTreeTableInterface()
{
fFormulas->Delete();
delete fFormulas;
delete fInput;
delete fSelector;
if (fTree) fTree->SetEntryList(0);
delete fEntries;
}
void TTreeTableInterface::SetVariablesExpression(const char *varexp)
{
Bool_t allvar = kFALSE;
if (varexp) {
if (!strcmp(varexp, "*")) { allvar = kTRUE; }
} else {
allvar = kTRUE;
}
if (allvar) {
TObjArray *leaves = fTree->GetListOfLeaves();
UInt_t nleaves = leaves->GetEntries();
if (!nleaves) {
Error("TTreeTableInterface", "No leaves in Tree");
return;
}
fNColumns = nleaves;
for (UInt_t ui = 0; ui < fNColumns; ui++) {
TLeaf *lf = (TLeaf*)leaves->At(ui);
fFormulas->Add(new TTreeFormula("Var1", lf->GetName(), fTree));
}
} else {
std::vector<TString> cnames;
fNColumns = fSelector->SplitNames(varexp,cnames);
for (UInt_t ui = 0; ui < fNColumns; ui++) {
fFormulas->Add(new TTreeFormula("Var1", cnames[ui].Data(), fTree));
}
}
}
void TTreeTableInterface::SetSelection(const char *selection)
{
if (fSelect) {
fFormulas->Remove(fSelect);
delete fSelect;
fSelect = 0;
}
if (selection && strlen(selection)) {
fSelect = new TTreeFormula("Selection", selection, fTree);
fFormulas->Add(fSelect);
}
if (fManager) {
for (Int_t i = 0; i <= fFormulas->LastIndex(); i++) {
fManager->Remove((TTreeFormula*)fFormulas->At(i));
}
}
SyncFormulas();
InitEntries();
}
void TTreeTableInterface::SyncFormulas()
{
Int_t i = 0;
if (fFormulas->LastIndex() >= 0) {
if (fSelect) {
if (fSelect->GetManager()->GetMultiplicity() > 0 ) {
if (!fManager) fManager = new TTreeFormulaManager;
for (i = 0; i <= fFormulas->LastIndex(); i++) {
fManager->Add((TTreeFormula*)fFormulas->At(i));
}
fManager->Sync();
}
}
for (i = 0; i < fFormulas->LastIndex(); i++) {
TTreeFormula *form = ((TTreeFormula*)fFormulas->At(i));
switch (form->GetManager()->GetMultiplicity()) {
case 1:
case 2:
case -1:
fForceDim = kTRUE;
break;
case 0:
break;
}
}
}
}
void TTreeTableInterface::InitEntries()
{
TEntryList *entrylist = new TEntryList(fTree);
UInt_t ui = 0;
Int_t i = 0;
Long64_t notSkipped = 0;
Int_t tnumber = -1;
Long64_t entry = fFirstEntry;
Int_t entriesToDisplay = fNEntries;
while (entriesToDisplay != 0){
Long64_t localEntry = fTree->LoadTree(entry);
if (localEntry < 0) break;
if (tnumber != fTree->GetTreeNumber()) {
tnumber = fTree->GetTreeNumber();
if (fManager) fManager->UpdateFormulaLeaves();
else {
for(i = 0; i < fFormulas->LastIndex(); i++)
((TTreeFormula*)fFormulas->At(ui))->UpdateFormulaLeaves();
}
}
Int_t ndata = 1;
if (fForceDim){
if (fManager)
ndata = fManager->GetNdata(kTRUE);
else {
for (ui = 0; ui < fNColumns; ui++){
if (ndata < ((TTreeFormula*)fFormulas->At(ui))->GetNdata())
{
ndata = ((TTreeFormula*)fFormulas->At(ui))->GetNdata();
}
}
if (fSelect && fSelect->GetNdata() == 0)
ndata = 0;
}
}
Bool_t skip = kFALSE;
for (Int_t inst = 0; inst < ndata; inst++){
if (fSelect){
if (fSelect->EvalInstance(inst) == 0){
skip = kTRUE;
entry++;
}
}
}
if (!skip){
entrylist->Enter(entry);
notSkipped++;
entriesToDisplay--;
entry++;
}
}
SetEntryList(entrylist);
}
Double_t TTreeTableInterface::GetValue(UInt_t row, UInt_t column)
{
static UInt_t prow = 0;
if (row < fNRows) {
Long64_t entry = 0;
if (row == prow + 1) {
entry = fEntries->Next();
} else {
entry = fEntries->GetEntry(row);
}
prow = row;
fTree->LoadTree(entry);
} else {
Error("TTreeTableInterface", "Row requested does not exist");
return 0;
}
if (column < fNColumns) {
TTreeFormula *formula = (TTreeFormula *)fFormulas->At(column);
if (!formula->IsString()) {
return (Double_t)formula->EvalInstance();
} else {
Warning("TTreeTableInterface::GetValue", "Value requested is a "
"string, returning 0.");
return 0;
}
} else {
Error("TTreeTableInterface", "Column requested does not exist");
return 0;
}
}
const char *TTreeTableInterface::GetValueAsString(UInt_t row, UInt_t column)
{
static UInt_t prow = 0;
if (row < fNRows) {
Long64_t entry = 0;
if (row == prow + 1) {
entry = fEntries->Next();
} else {
entry = fEntries->GetEntry(row);
}
prow = row;
fTree->LoadTree(entry);
} else {
Error("TTreeTableInterface", "Row requested does not exist");
return 0;
}
if (column < fNColumns) {
TTreeFormula *formula = (TTreeFormula *)fFormulas->At(column);
if(formula->IsString()) {
return Form("%s", formula->EvalStringInstance());
} else {
return Form("%5.2f", (Double_t)formula->EvalInstance());
}
} else {
Error("TTreeTableInterface", "Column requested does not exist");
return 0;
}
}
const char *TTreeTableInterface::GetRowHeader(UInt_t row)
{
if (row < fNRows) {
return Form("%lld", fEntries->GetEntry(row));
} else {
Error("TTreeTableInterface", "Row requested does not exist");
return "";
}
}
const char *TTreeTableInterface::GetColumnHeader(UInt_t column)
{
TTreeFormula *formula = (TTreeFormula *)fFormulas->At(column);
if (column < fNColumns) {
return formula->GetTitle();
} else {
Error("TTreeTableInterface", "Column requested does not exist");
return "";
}
}
UInt_t TTreeTableInterface::GetNColumns()
{
return fNColumns;
}
UInt_t TTreeTableInterface::GetNRows()
{
return fNRows;
}
void TTreeTableInterface::AddColumn(const char *expression, UInt_t position)
{
TString onerow = expression;
if (onerow.Contains(':')) {
Error("TTreeTableInterface::AddColumn", "Only 1 expression allowed.");
return;
}
TTreeFormula *formula = new TTreeFormula("Var1", expression, fTree);
fFormulas->AddAt(formula, position);
if (fManager) {
fManager->Add(formula);
fManager->Sync();
}
fNColumns++;
}
void TTreeTableInterface::AddColumn(TTreeFormula *formula, UInt_t position)
{
if (position > fNColumns) {
Error("TTreeTableInterface::AddColumn", "Please specify a "
"valid position.");
return;
}
fFormulas->AddAt(formula, position);
if (fManager) {
fManager->Add(formula);
fManager->Sync();
}
fNColumns++;
}
void TTreeTableInterface::RemoveColumn(UInt_t position)
{
if (position >= fNColumns) {
Error("TTreeTableInterface::RemoveColumn", "Please specify a "
"valid column.");
return;
} else if (fNColumns == 1) {
Error("TTreeTableInterface::RemoveColumn", "Can't remove last column");
return;
}
TTreeFormula *formula = (TTreeFormula *)fFormulas->RemoveAt(position);
if (fManager) {
fManager->Remove(formula);
fManager->Sync();
}
if (formula) delete formula;
fNColumns--;
}
void TTreeTableInterface::SetFormula(TTreeFormula *formula, UInt_t position)
{
if (position >= fNColumns) {
Error("TTreeTableInterface::SetFormula", "Please specify a "
"valid position.");
return;
}
TTreeFormula *form = (TTreeFormula *)fFormulas->RemoveAt(position);
if (fSelect) {
fManager->Remove(form);
}
if (form) delete form;
fFormulas->AddAt(formula, position);
if (fManager) {
fManager->Add(formula);
fManager->Sync();
}
}
void TTreeTableInterface::SetEntryList(TEntryList *entrylist)
{
if (fEntries) delete fEntries;
fEntries = entrylist;
fNRows = fEntries->GetN();
fTree->SetEntryList(entrylist);
}
TTreeTableInterface.cxx:1 TTreeTableInterface.cxx:2 TTreeTableInterface.cxx:3 TTreeTableInterface.cxx:4 TTreeTableInterface.cxx:5 TTreeTableInterface.cxx:6 TTreeTableInterface.cxx:7 TTreeTableInterface.cxx:8 TTreeTableInterface.cxx:9 TTreeTableInterface.cxx:10 TTreeTableInterface.cxx:11 TTreeTableInterface.cxx:12 TTreeTableInterface.cxx:13 TTreeTableInterface.cxx:14 TTreeTableInterface.cxx:15 TTreeTableInterface.cxx:16 TTreeTableInterface.cxx:17 TTreeTableInterface.cxx:18 TTreeTableInterface.cxx:19 TTreeTableInterface.cxx:20 TTreeTableInterface.cxx:21 TTreeTableInterface.cxx:22 TTreeTableInterface.cxx:23 TTreeTableInterface.cxx:24 TTreeTableInterface.cxx:25 TTreeTableInterface.cxx:26 TTreeTableInterface.cxx:27 TTreeTableInterface.cxx:28 TTreeTableInterface.cxx:29 TTreeTableInterface.cxx:30 TTreeTableInterface.cxx:31 TTreeTableInterface.cxx:32 TTreeTableInterface.cxx:33 TTreeTableInterface.cxx:34 TTreeTableInterface.cxx:35 TTreeTableInterface.cxx:36 TTreeTableInterface.cxx:37 TTreeTableInterface.cxx:38 TTreeTableInterface.cxx:39 TTreeTableInterface.cxx:40 TTreeTableInterface.cxx:41 TTreeTableInterface.cxx:42 TTreeTableInterface.cxx:43 TTreeTableInterface.cxx:44 TTreeTableInterface.cxx:45 TTreeTableInterface.cxx:46 TTreeTableInterface.cxx:47 TTreeTableInterface.cxx:48 TTreeTableInterface.cxx:49 TTreeTableInterface.cxx:50 TTreeTableInterface.cxx:51 TTreeTableInterface.cxx:52 TTreeTableInterface.cxx:53 TTreeTableInterface.cxx:54 TTreeTableInterface.cxx:55 TTreeTableInterface.cxx:56 TTreeTableInterface.cxx:57 TTreeTableInterface.cxx:58 TTreeTableInterface.cxx:59 TTreeTableInterface.cxx:60 TTreeTableInterface.cxx:61 TTreeTableInterface.cxx:62 TTreeTableInterface.cxx:63 TTreeTableInterface.cxx:64 TTreeTableInterface.cxx:65 TTreeTableInterface.cxx:66 TTreeTableInterface.cxx:67 TTreeTableInterface.cxx:68 TTreeTableInterface.cxx:69 TTreeTableInterface.cxx:70 TTreeTableInterface.cxx:71 TTreeTableInterface.cxx:72 TTreeTableInterface.cxx:73 TTreeTableInterface.cxx:74 TTreeTableInterface.cxx:75 TTreeTableInterface.cxx:76 TTreeTableInterface.cxx:77 TTreeTableInterface.cxx:78 TTreeTableInterface.cxx:79 TTreeTableInterface.cxx:80 TTreeTableInterface.cxx:81 TTreeTableInterface.cxx:82 TTreeTableInterface.cxx:83 TTreeTableInterface.cxx:84 TTreeTableInterface.cxx:85 TTreeTableInterface.cxx:86 TTreeTableInterface.cxx:87 TTreeTableInterface.cxx:88 TTreeTableInterface.cxx:89 TTreeTableInterface.cxx:90 TTreeTableInterface.cxx:91 TTreeTableInterface.cxx:92 TTreeTableInterface.cxx:93 TTreeTableInterface.cxx:94 TTreeTableInterface.cxx:95 TTreeTableInterface.cxx:96 TTreeTableInterface.cxx:97 TTreeTableInterface.cxx:98 TTreeTableInterface.cxx:99 TTreeTableInterface.cxx:100 TTreeTableInterface.cxx:101 TTreeTableInterface.cxx:102 TTreeTableInterface.cxx:103 TTreeTableInterface.cxx:104 TTreeTableInterface.cxx:105 TTreeTableInterface.cxx:106 TTreeTableInterface.cxx:107 TTreeTableInterface.cxx:108 TTreeTableInterface.cxx:109 TTreeTableInterface.cxx:110 TTreeTableInterface.cxx:111 TTreeTableInterface.cxx:112 TTreeTableInterface.cxx:113 TTreeTableInterface.cxx:114 TTreeTableInterface.cxx:115 TTreeTableInterface.cxx:116 TTreeTableInterface.cxx:117 TTreeTableInterface.cxx:118 TTreeTableInterface.cxx:119 TTreeTableInterface.cxx:120 TTreeTableInterface.cxx:121 TTreeTableInterface.cxx:122 TTreeTableInterface.cxx:123 TTreeTableInterface.cxx:124 TTreeTableInterface.cxx:125 TTreeTableInterface.cxx:126 TTreeTableInterface.cxx:127 TTreeTableInterface.cxx:128 TTreeTableInterface.cxx:129 TTreeTableInterface.cxx:130 TTreeTableInterface.cxx:131 TTreeTableInterface.cxx:132 TTreeTableInterface.cxx:133 TTreeTableInterface.cxx:134 TTreeTableInterface.cxx:135 TTreeTableInterface.cxx:136 TTreeTableInterface.cxx:137 TTreeTableInterface.cxx:138 TTreeTableInterface.cxx:139 TTreeTableInterface.cxx:140 TTreeTableInterface.cxx:141 TTreeTableInterface.cxx:142 TTreeTableInterface.cxx:143 TTreeTableInterface.cxx:144 TTreeTableInterface.cxx:145 TTreeTableInterface.cxx:146 TTreeTableInterface.cxx:147 TTreeTableInterface.cxx:148 TTreeTableInterface.cxx:149 TTreeTableInterface.cxx:150 TTreeTableInterface.cxx:151 TTreeTableInterface.cxx:152 TTreeTableInterface.cxx:153 TTreeTableInterface.cxx:154 TTreeTableInterface.cxx:155 TTreeTableInterface.cxx:156 TTreeTableInterface.cxx:157 TTreeTableInterface.cxx:158 TTreeTableInterface.cxx:159 TTreeTableInterface.cxx:160 TTreeTableInterface.cxx:161 TTreeTableInterface.cxx:162 TTreeTableInterface.cxx:163 TTreeTableInterface.cxx:164 TTreeTableInterface.cxx:165 TTreeTableInterface.cxx:166 TTreeTableInterface.cxx:167 TTreeTableInterface.cxx:168 TTreeTableInterface.cxx:169 TTreeTableInterface.cxx:170 TTreeTableInterface.cxx:171 TTreeTableInterface.cxx:172 TTreeTableInterface.cxx:173 TTreeTableInterface.cxx:174 TTreeTableInterface.cxx:175 TTreeTableInterface.cxx:176 TTreeTableInterface.cxx:177 TTreeTableInterface.cxx:178 TTreeTableInterface.cxx:179 TTreeTableInterface.cxx:180 TTreeTableInterface.cxx:181 TTreeTableInterface.cxx:182 TTreeTableInterface.cxx:183 TTreeTableInterface.cxx:184 TTreeTableInterface.cxx:185 TTreeTableInterface.cxx:186 TTreeTableInterface.cxx:187 TTreeTableInterface.cxx:188 TTreeTableInterface.cxx:189 TTreeTableInterface.cxx:190 TTreeTableInterface.cxx:191 TTreeTableInterface.cxx:192 TTreeTableInterface.cxx:193 TTreeTableInterface.cxx:194 TTreeTableInterface.cxx:195 TTreeTableInterface.cxx:196 TTreeTableInterface.cxx:197 TTreeTableInterface.cxx:198 TTreeTableInterface.cxx:199 TTreeTableInterface.cxx:200 TTreeTableInterface.cxx:201 TTreeTableInterface.cxx:202 TTreeTableInterface.cxx:203 TTreeTableInterface.cxx:204 TTreeTableInterface.cxx:205 TTreeTableInterface.cxx:206 TTreeTableInterface.cxx:207 TTreeTableInterface.cxx:208 TTreeTableInterface.cxx:209 TTreeTableInterface.cxx:210 TTreeTableInterface.cxx:211 TTreeTableInterface.cxx:212 TTreeTableInterface.cxx:213 TTreeTableInterface.cxx:214 TTreeTableInterface.cxx:215 TTreeTableInterface.cxx:216 TTreeTableInterface.cxx:217 TTreeTableInterface.cxx:218 TTreeTableInterface.cxx:219 TTreeTableInterface.cxx:220 TTreeTableInterface.cxx:221 TTreeTableInterface.cxx:222 TTreeTableInterface.cxx:223 TTreeTableInterface.cxx:224 TTreeTableInterface.cxx:225 TTreeTableInterface.cxx:226 TTreeTableInterface.cxx:227 TTreeTableInterface.cxx:228 TTreeTableInterface.cxx:229 TTreeTableInterface.cxx:230 TTreeTableInterface.cxx:231 TTreeTableInterface.cxx:232 TTreeTableInterface.cxx:233 TTreeTableInterface.cxx:234 TTreeTableInterface.cxx:235 TTreeTableInterface.cxx:236 TTreeTableInterface.cxx:237 TTreeTableInterface.cxx:238 TTreeTableInterface.cxx:239 TTreeTableInterface.cxx:240 TTreeTableInterface.cxx:241 TTreeTableInterface.cxx:242 TTreeTableInterface.cxx:243 TTreeTableInterface.cxx:244 TTreeTableInterface.cxx:245 TTreeTableInterface.cxx:246 TTreeTableInterface.cxx:247 TTreeTableInterface.cxx:248 TTreeTableInterface.cxx:249 TTreeTableInterface.cxx:250 TTreeTableInterface.cxx:251 TTreeTableInterface.cxx:252 TTreeTableInterface.cxx:253 TTreeTableInterface.cxx:254 TTreeTableInterface.cxx:255 TTreeTableInterface.cxx:256 TTreeTableInterface.cxx:257 TTreeTableInterface.cxx:258 TTreeTableInterface.cxx:259 TTreeTableInterface.cxx:260 TTreeTableInterface.cxx:261 TTreeTableInterface.cxx:262 TTreeTableInterface.cxx:263 TTreeTableInterface.cxx:264 TTreeTableInterface.cxx:265 TTreeTableInterface.cxx:266 TTreeTableInterface.cxx:267 TTreeTableInterface.cxx:268 TTreeTableInterface.cxx:269 TTreeTableInterface.cxx:270 TTreeTableInterface.cxx:271 TTreeTableInterface.cxx:272 TTreeTableInterface.cxx:273 TTreeTableInterface.cxx:274 TTreeTableInterface.cxx:275 TTreeTableInterface.cxx:276 TTreeTableInterface.cxx:277 TTreeTableInterface.cxx:278 TTreeTableInterface.cxx:279 TTreeTableInterface.cxx:280 TTreeTableInterface.cxx:281 TTreeTableInterface.cxx:282 TTreeTableInterface.cxx:283 TTreeTableInterface.cxx:284 TTreeTableInterface.cxx:285 TTreeTableInterface.cxx:286 TTreeTableInterface.cxx:287 TTreeTableInterface.cxx:288 TTreeTableInterface.cxx:289 TTreeTableInterface.cxx:290 TTreeTableInterface.cxx:291 TTreeTableInterface.cxx:292 TTreeTableInterface.cxx:293 TTreeTableInterface.cxx:294 TTreeTableInterface.cxx:295 TTreeTableInterface.cxx:296 TTreeTableInterface.cxx:297 TTreeTableInterface.cxx:298 TTreeTableInterface.cxx:299 TTreeTableInterface.cxx:300 TTreeTableInterface.cxx:301 TTreeTableInterface.cxx:302 TTreeTableInterface.cxx:303 TTreeTableInterface.cxx:304 TTreeTableInterface.cxx:305 TTreeTableInterface.cxx:306 TTreeTableInterface.cxx:307 TTreeTableInterface.cxx:308 TTreeTableInterface.cxx:309 TTreeTableInterface.cxx:310 TTreeTableInterface.cxx:311 TTreeTableInterface.cxx:312 TTreeTableInterface.cxx:313 TTreeTableInterface.cxx:314 TTreeTableInterface.cxx:315 TTreeTableInterface.cxx:316 TTreeTableInterface.cxx:317 TTreeTableInterface.cxx:318 TTreeTableInterface.cxx:319 TTreeTableInterface.cxx:320 TTreeTableInterface.cxx:321 TTreeTableInterface.cxx:322 TTreeTableInterface.cxx:323 TTreeTableInterface.cxx:324 TTreeTableInterface.cxx:325 TTreeTableInterface.cxx:326 TTreeTableInterface.cxx:327 TTreeTableInterface.cxx:328 TTreeTableInterface.cxx:329 TTreeTableInterface.cxx:330 TTreeTableInterface.cxx:331 TTreeTableInterface.cxx:332 TTreeTableInterface.cxx:333 TTreeTableInterface.cxx:334 TTreeTableInterface.cxx:335 TTreeTableInterface.cxx:336 TTreeTableInterface.cxx:337 TTreeTableInterface.cxx:338 TTreeTableInterface.cxx:339 TTreeTableInterface.cxx:340 TTreeTableInterface.cxx:341 TTreeTableInterface.cxx:342 TTreeTableInterface.cxx:343 TTreeTableInterface.cxx:344 TTreeTableInterface.cxx:345 TTreeTableInterface.cxx:346 TTreeTableInterface.cxx:347 TTreeTableInterface.cxx:348 TTreeTableInterface.cxx:349 TTreeTableInterface.cxx:350 TTreeTableInterface.cxx:351 TTreeTableInterface.cxx:352 TTreeTableInterface.cxx:353 TTreeTableInterface.cxx:354 TTreeTableInterface.cxx:355 TTreeTableInterface.cxx:356 TTreeTableInterface.cxx:357 TTreeTableInterface.cxx:358 TTreeTableInterface.cxx:359 TTreeTableInterface.cxx:360 TTreeTableInterface.cxx:361 TTreeTableInterface.cxx:362 TTreeTableInterface.cxx:363 TTreeTableInterface.cxx:364 TTreeTableInterface.cxx:365 TTreeTableInterface.cxx:366 TTreeTableInterface.cxx:367 TTreeTableInterface.cxx:368 TTreeTableInterface.cxx:369 TTreeTableInterface.cxx:370 TTreeTableInterface.cxx:371 TTreeTableInterface.cxx:372 TTreeTableInterface.cxx:373 TTreeTableInterface.cxx:374 TTreeTableInterface.cxx:375 TTreeTableInterface.cxx:376 TTreeTableInterface.cxx:377 TTreeTableInterface.cxx:378 TTreeTableInterface.cxx:379 TTreeTableInterface.cxx:380 TTreeTableInterface.cxx:381 TTreeTableInterface.cxx:382 TTreeTableInterface.cxx:383 TTreeTableInterface.cxx:384 TTreeTableInterface.cxx:385 TTreeTableInterface.cxx:386 TTreeTableInterface.cxx:387 TTreeTableInterface.cxx:388 TTreeTableInterface.cxx:389 TTreeTableInterface.cxx:390 TTreeTableInterface.cxx:391 TTreeTableInterface.cxx:392 TTreeTableInterface.cxx:393 TTreeTableInterface.cxx:394 TTreeTableInterface.cxx:395 TTreeTableInterface.cxx:396 TTreeTableInterface.cxx:397 TTreeTableInterface.cxx:398 TTreeTableInterface.cxx:399 TTreeTableInterface.cxx:400 TTreeTableInterface.cxx:401 TTreeTableInterface.cxx:402 TTreeTableInterface.cxx:403 TTreeTableInterface.cxx:404 TTreeTableInterface.cxx:405 TTreeTableInterface.cxx:406 TTreeTableInterface.cxx:407 TTreeTableInterface.cxx:408 TTreeTableInterface.cxx:409 TTreeTableInterface.cxx:410 TTreeTableInterface.cxx:411 TTreeTableInterface.cxx:412 TTreeTableInterface.cxx:413 TTreeTableInterface.cxx:414 TTreeTableInterface.cxx:415 TTreeTableInterface.cxx:416 TTreeTableInterface.cxx:417 TTreeTableInterface.cxx:418 TTreeTableInterface.cxx:419 TTreeTableInterface.cxx:420 TTreeTableInterface.cxx:421 TTreeTableInterface.cxx:422 TTreeTableInterface.cxx:423 TTreeTableInterface.cxx:424 TTreeTableInterface.cxx:425 TTreeTableInterface.cxx:426 TTreeTableInterface.cxx:427 TTreeTableInterface.cxx:428 TTreeTableInterface.cxx:429 TTreeTableInterface.cxx:430 TTreeTableInterface.cxx:431 TTreeTableInterface.cxx:432 TTreeTableInterface.cxx:433 TTreeTableInterface.cxx:434 TTreeTableInterface.cxx:435 TTreeTableInterface.cxx:436 TTreeTableInterface.cxx:437 TTreeTableInterface.cxx:438 TTreeTableInterface.cxx:439 TTreeTableInterface.cxx:440 TTreeTableInterface.cxx:441 TTreeTableInterface.cxx:442 TTreeTableInterface.cxx:443 TTreeTableInterface.cxx:444 TTreeTableInterface.cxx:445 TTreeTableInterface.cxx:446 TTreeTableInterface.cxx:447 TTreeTableInterface.cxx:448 TTreeTableInterface.cxx:449 TTreeTableInterface.cxx:450 TTreeTableInterface.cxx:451 TTreeTableInterface.cxx:452 TTreeTableInterface.cxx:453 TTreeTableInterface.cxx:454 TTreeTableInterface.cxx:455 TTreeTableInterface.cxx:456 TTreeTableInterface.cxx:457 TTreeTableInterface.cxx:458 TTreeTableInterface.cxx:459 TTreeTableInterface.cxx:460 TTreeTableInterface.cxx:461 TTreeTableInterface.cxx:462 TTreeTableInterface.cxx:463 TTreeTableInterface.cxx:464 TTreeTableInterface.cxx:465 TTreeTableInterface.cxx:466 TTreeTableInterface.cxx:467 TTreeTableInterface.cxx:468 TTreeTableInterface.cxx:469 TTreeTableInterface.cxx:470 TTreeTableInterface.cxx:471 TTreeTableInterface.cxx:472 TTreeTableInterface.cxx:473 TTreeTableInterface.cxx:474 TTreeTableInterface.cxx:475 TTreeTableInterface.cxx:476 TTreeTableInterface.cxx:477 TTreeTableInterface.cxx:478 TTreeTableInterface.cxx:479 TTreeTableInterface.cxx:480 TTreeTableInterface.cxx:481 TTreeTableInterface.cxx:482 TTreeTableInterface.cxx:483 TTreeTableInterface.cxx:484 TTreeTableInterface.cxx:485 TTreeTableInterface.cxx:486