393{
394 TSeqCollection *ret =
newTList( (std::string(this->
m_name.GetName())+std::string(
"_")).c_str());
395 TSeqCollection *configList =
newTList(
"Config");
396 TSeqCollection *resultsList =
newTList(
"Results");
398
400
401 mp[nameString] = ret;
402
403
404 configList->Add(nameList);
406 std::cerr << "HanConfigAssessor::GetList(): Warning: m_algPars == 0\n";
407 else {
409 HanConfigAlgPar *
par;
411 while( (par = dynamic_cast<HanConfigAlgPar*>( nextAlgPar() )) != 0 )
412 algParList->Add(
par->GetList());
413
414 if (algParList->IsEmpty())
415 delete algParList;
416 else
417 configList->Add(algParList);
418 }
419
421 std::cerr << "HanConfigAssessor::GetList(): Warning: m_algStrPars == 0\n";
422 else {
424 HanConfigParMap *strPar;
426 while( (strPar = dynamic_cast<HanConfigParMap*>( nextAlgStrPar() )) != 0 )
427 algStrParList->Add(strPar->GetList());
428
429 if (algStrParList->IsEmpty())
430 delete algStrParList;
431 else
432 configList->Add(algStrParList);
433 }
434
436 std::cerr << "HanConfigAssessor::GetList(): Warning: m_algLimits == 0\n";
437 else {
439 HanConfigAlgLimit *lim;
441 while( (lim = dynamic_cast<HanConfigAlgLimit*>( nextAlgLim() )) != 0 )
442 algLimitList->Add(lim->GetList());
443 if(algLimitList->IsEmpty())
444 delete algLimitList;
445 else
446 configList->Add(algLimitList);
447 }
448
449 TSeqCollection *parMapList(0);
451 std::cerr << "HanConfigAssessor::GetList(): Warning: annotations == 0\n";
452 else {
454 HanConfigParMap *parMap;
456 while( (parMap = dynamic_cast<HanConfigParMap*>( nextParMap() )) != 0 )
457 parMapList->Add(parMap->GetList());
458 }
460 if ( parMapList && usedAlgRef.size() ) {
461 TList* refSourceList = new TList();
463 refSourceList->SetName("refSource");
464 refSourceList->Add(new TObjString(refOrigin.c_str()));
465 parMapList->Add(refSourceList);
466 if (refOrigin != "Multiple references") {
468 if (refInfo != "") {
469 refSourceList = new TList();
470 refSourceList->SetName("refInfo");
471 refSourceList->Add(new TObjString(refInfo.c_str()));
472 parMapList->Add(refSourceList);
473 }
474 }
475 }
476 if(!parMapList || parMapList->IsEmpty())
477 delete parMapList;
478 else
479 configList->Add(parMapList);
480
481
484 if( key != 0 ) {
485 const char* className =
key->GetClassName();
486 if( (strncmp(className, "TH", 2) == 0)
487 || (strncmp(className, "TGraph", 6) == 0)
488 || (strncmp(className, "TProfile", 8) == 0)
489 || (strncmp(className, "TEfficiency", 11) == 0) ) {
490
491
492 std::string::size_type rslash = nameString.rfind('/');
493 if (rslash == std::string::npos) {
494 rslash = 0;
495 } else {
496 rslash += 1;
497 }
498 HanHistogramLink* hhl =
new HanHistogramLink(basedir,
GetHistPath());
499 hhl->SetName( nameString.substr(rslash, std::string::npos).c_str() );
500 ret->Add(hhl);
501
502
503
504
505
506
507
508 }
509 }
510 }
511
512
513
514 ret->Add(configList);
515 ret->Add(resultsList);
516
517 return ret;
518}
virtual std::string GetUniqueName() const
virtual const char * GetHistPath() const
virtual bool GetIsRegex() const
virtual std::string GetAlgRefName() const
TKey * getObjKey(TDirectory *dir, const std::string &path)
TSeqCollection * newTList(const char *name, TObject *obj=0)