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() );
392GetList( 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);
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) ) {
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);
523Accept(
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 ) {
581void 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);
613 R__b.CheckByteCount(R__s, R__c, HanConfigAssessor::IsA());
615 HanConfigAssessor::Class()->WriteBuffer(R__b,
this);
std::ostream & operator<<(std::ostream &o, const dqi::HanConfigAssessor &p)
ClassImp(xAOD::Experimental::RFileChecker) namespace xAOD
TGraphErrors * GetEntries(TH2F *histo)
Define macros for attributes used to control the static checker.
#define ATLAS_NO_CHECK_FILE_THREAD_SAFETY
static ConditionsSingleton & getInstance()
const std::string & getCondition() const
std::string conditionalSelect(std::string inp, const std::string &condition)
virtual TSeqCollection * GetList()
virtual boost::shared_ptr< dqm_core::Node > Visit(const HanConfigAssessor *node, boost::shared_ptr< dqm_core::Region > dqParent)=0
virtual HanConfigAlgLimit GetAlgLimit(std::string name_) const
virtual void AddAlgPar(const HanConfigAlgPar &algPar_)
TSeqCollection * m_algLimits
virtual float GetWeight() const
virtual const char * GetAlgName() const
virtual std::string GetUniqueName() const
virtual TIter GetAllAlgStrPars() const
virtual const char * GetHistPath() const
virtual TIter GetAllAlgLimits() const
virtual void SetAlgName(std::string name_)
virtual const char * GetAlgLibName() const
TSeqCollection * m_annotations
virtual void SetIsRegex(bool isRegex_)
virtual const HanConfigParMap * GetAnnotation(std::string name_) const
virtual TSeqCollection * GetList(TDirectory *basedir, std::map< std::string, TSeqCollection * > &mp)
virtual bool GetIsRegex() const
virtual void SetAlgRefName(std::string name_)
virtual void SetWeight(float weight_)
HanConfigAssessor & operator=(const HanConfigAssessor &other)
virtual ~HanConfigAssessor()
virtual HanConfigParMap GetAlgStrPar(std::string name_) const
virtual void SetAlgLibName(std::string name_)
virtual void AddAlgLimit(const HanConfigAlgLimit &algLim_)
virtual void AddAlgStrPar(const HanConfigParMap &algPar_)
TSeqCollection * m_algStrPars
virtual std::string GetAlgRefName() const
virtual void Accept(Visitor &visitor, boost::shared_ptr< dqm_core::Region > dqParent) const
virtual void AddAnnotation(const HanConfigParMap &annotation_)
virtual void SetName(std::string name_)
virtual TIter GetAllAlgPars() const
virtual void PrintIOStream(std::ostream &o) const
virtual const char * GetName() const
virtual TIter GetAllAnnotations() const
virtual const char * GetAlgRefString() const
virtual HanConfigAlgPar GetAlgPar(std::string name_) const
TSeqCollection * m_algPars
virtual const char * GetValue() const
virtual TList * GetList()
TSeqCollection * newTObjArray(const char *name, TObject *obj=0, Int_t size=TCollection::kInitCapacity)
TKey * getObjKey(TDirectory *dir, const std::string &path)
TSeqCollection * newTList(const char *name, TObject *obj=0)