48 , m_name(
other.m_name)
49 , m_algName(
other.m_algName)
50 , m_algLibName(
other.m_algLibName)
51 , m_algRefName(
other.m_algRefName)
56 , m_weight(
other.m_weight)
57 , m_isRegex(
other.m_isRegex)
59 TIter nextPar(
other.m_algPars );
61 while( (otherPar =
dynamic_cast<HanConfigAlgPar*
>( nextPar() )) != 0 ) {
66 TIter nextStrPar(
other.m_algStrPars );
68 while( (otherStrPar =
dynamic_cast<HanConfigParMap*
>( nextStrPar() )) != 0 ) {
73 TIter nextLim(
other.m_algLimits );
80 TIter nextParMap(
other.m_annotations );
82 while( (otherParMap =
dynamic_cast<HanConfigParMap*
>( nextParMap() )) != 0 ) {
93 if (
this == &
other)
return *
this;
103 TIter nextPar(
other.m_algPars );
105 while( (otherPar =
dynamic_cast<HanConfigAlgPar*
>( nextPar() )) != 0 ) {
111 TIter nextStrPar(
other.m_algStrPars );
113 while( (otherStrPar =
dynamic_cast<HanConfigParMap*
>( nextStrPar() )) != 0 ) {
119 TIter nextLim(
other.m_algLimits );
127 TIter nextParMap(
other.m_annotations );
129 while( (otherParMap =
dynamic_cast<HanConfigParMap*
>( nextParMap() )) != 0 ) {
156 return std::string(
GetName() );
164 m_name.SetString( name_.c_str() );
392 GetList( TDirectory* basedir, std::map<std::string,TSeqCollection*>& mp )
394 TSeqCollection *ret =
newTList( (std::string(this->
m_name.GetName())+std::string(
"_")).c_str());
395 TSeqCollection *configList =
newTList(
"Config");
396 TSeqCollection *resultsList =
newTList(
"Results");
401 mp[nameString] = ret;
404 configList->Add(nameList);
406 std::cerr <<
"HanConfigAssessor::GetList(): Warning: m_algPars == 0\n";
412 algParList->Add(
par->GetList());
414 if (algParList->IsEmpty())
417 configList->Add(algParList);
421 std::cerr <<
"HanConfigAssessor::GetList(): Warning: m_algStrPars == 0\n";
426 while( (strPar =
dynamic_cast<HanConfigParMap*
>( nextAlgStrPar() )) != 0 )
427 algStrParList->Add(strPar->
GetList());
429 if (algStrParList->IsEmpty())
430 delete algStrParList;
432 configList->Add(algStrParList);
436 std::cerr <<
"HanConfigAssessor::GetList(): Warning: m_algLimits == 0\n";
442 algLimitList->Add(lim->
GetList());
443 if(algLimitList->IsEmpty())
446 configList->Add(algLimitList);
449 TSeqCollection *parMapList(0);
451 std::cerr <<
"HanConfigAssessor::GetList(): Warning: annotations == 0\n";
456 while( (parMap =
dynamic_cast<HanConfigParMap*
>( nextParMap() )) != 0 )
457 parMapList->Add(parMap->
GetList());
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") {
469 refSourceList =
new TList();
470 refSourceList->SetName(
"refInfo");
471 refSourceList->Add(
new TObjString(refInfo.c_str()));
472 parMapList->Add(refSourceList);
476 if(!parMapList || parMapList->IsEmpty())
479 configList->Add(parMapList);
487 || (strncmp(
className,
"TGraph", 6) == 0)
488 || (strncmp(
className,
"TProfile", 8) == 0)
489 || (strncmp(
className,
"TEfficiency", 11) == 0) ) {
492 std::string::size_type rslash = nameString.rfind(
'/');
493 if (rslash == std::string::npos) {
499 hhl->SetName( nameString.substr(rslash, std::string::npos).c_str() );
514 ret->Add(configList);
515 ret->Add(resultsList);
523 Accept(
Visitor& visitor, boost::shared_ptr<dqm_core::Region> dqParent )
const
525 visitor.
Visit(
this, std::move(dqParent) );
533 o <<
"\nHanConfigAssessor: " <<
GetName() <<
"\n"
534 <<
" Algorithm Name = \"" <<
GetAlgName() <<
"\"\n"
540 o <<
" Is a regular expression" << std::endl;
544 o <<
" Algorithm Parameters = {\n";
552 while( (strPar =
dynamic_cast<HanConfigParMap*
>( nextStrPar() )) != 0 ) {
559 o <<
" Algorithm Limits = {\n";
569 o <<
" Annotations = {\n";
572 while( (parMap =
dynamic_cast<HanConfigParMap*
>( nextParMap() )) != 0 ) {
581 void HanConfigAssessor::Streamer(TBuffer &R__b)
585 if (R__b.IsReading()) {
587 Version_t R__v = R__b.ReadVersion(&R__s, &R__c);
589 TObject::Streamer(R__b);
615 HanConfigAssessor::Class()->WriteBuffer(R__b,
this);