ATLAS Offline Software
HanConfigAssessor.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef dqiHanConfigAssessor_h
6 #define dqiHanConfigAssessor_h
7 
8 #include <iostream>
9 #include <string>
10 
11 #include <TList.h>
12 #include <TFile.h>
13 #include <TObject.h>
14 #include <TObjString.h>
15 #include <map>
16 
20 
21 #ifndef __CINT__
22 #include <boost/shared_ptr.hpp>
23 #endif
24 
26 ATLAS_NO_CHECK_FILE_THREAD_SAFETY; // standalone application
27 
28 namespace dqm_core {
29 class Parameter;
30 class Region;
31 class Node;
32 }
33 
34 
35 namespace dqi {
36 
37 class HanConfigAssessor : public TObject {
38 public:
39 
40 #ifndef __CINT__
41  class Visitor {
42  public:
43  virtual ~Visitor() { }
44  virtual boost::shared_ptr<dqm_core::Node>
45  Visit( const HanConfigAssessor* node, boost::shared_ptr<dqm_core::Region> dqParent ) = 0;
46  };
47 #endif
48 
52 
53  virtual ~HanConfigAssessor();
54 
55  virtual std::string GetUniqueName() const;
56 
57  virtual void SetName( std::string name_ );
58  virtual const char* GetName() const;
59 
60  virtual const char* GetHistPath() const;
61 
62  virtual void SetAlgName( std::string name_ );
63  virtual const char* GetAlgName() const;
64 
65  virtual void SetAlgLibName( std::string name_ );
66  virtual const char* GetAlgLibName() const;
67 
68  virtual void SetAlgRefName( std::string name_ );
69  virtual std::string GetAlgRefName() const;
70 
71  virtual const char* GetAlgRefString() const;
72 
73  virtual void AddAlgPar( const HanConfigAlgPar& algPar_ );
74  virtual HanConfigAlgPar GetAlgPar( std::string name_ ) const;
75  virtual TIter GetAllAlgPars() const;
76 
77  virtual void AddAlgStrPar( const HanConfigParMap& algPar_ );
78  virtual HanConfigParMap GetAlgStrPar( std::string name_ ) const;
79  virtual TIter GetAllAlgStrPars() const;
80 
81  virtual void AddAlgLimit( const HanConfigAlgLimit& algLim_ );
82  virtual HanConfigAlgLimit GetAlgLimit( std::string name_ ) const;
83  virtual TIter GetAllAlgLimits() const;
84 
85  virtual void AddAnnotation( const HanConfigParMap& annotation_ );
86  virtual const HanConfigParMap* GetAnnotation( std::string name_ ) const;
87  virtual TIter GetAllAnnotations() const;
88 
89  virtual void SetWeight( float weight_ );
90  virtual float GetWeight() const;
91 
92  virtual void SetIsRegex( bool isRegex_ );
93  virtual bool GetIsRegex() const;
94 
95  virtual TSeqCollection* GetList( TDirectory* basedir, std::map<std::string,TSeqCollection*>& mp );
96 
97 
98 #ifndef __CINT__
99  virtual void Accept( Visitor& visitor, boost::shared_ptr<dqm_core::Region> dqParent ) const;
100 #endif // __CINT__
101 
102  virtual void PrintIOStream( std::ostream& o ) const;
103 
104 protected:
105 
106  TObjString m_name;
107 
108  TObjString m_algName;
109  TObjString m_algLibName;
110  TObjString m_algRefName;
111 
112  TSeqCollection* m_algPars;
113  TSeqCollection* m_algStrPars;
114  TSeqCollection* m_algLimits;
115  TSeqCollection* m_annotations;
116 
117  float m_weight;
118  bool m_isRegex;
119 
120 //Get rid of Root macros that confuse Doxygen
122  ClassDef( HanConfigAssessor, 6 ) // A histogram with an associated algorithm, producing an assessment
124 
125 };
126 
127 } // namespace dqi
128 
129 std::ostream& operator<<( std::ostream& o, const dqi::HanConfigAssessor& p );
130 std::ostream& operator<<( std::ostream& o, const dqi::HanConfigAssessor* p );
131 
132 #endif
dqi::HanConfigAssessor::m_weight
float m_weight
Definition: HanConfigAssessor.h:117
dqi::HanConfigAssessor::SetAlgRefName
virtual void SetAlgRefName(std::string name_)
Definition: HanConfigAssessor.cxx:221
dqi::HanConfigAssessor::SetAlgLibName
virtual void SetAlgLibName(std::string name_)
Definition: HanConfigAssessor.cxx:205
dqi::HanConfigAssessor::GetAlgLibName
virtual const char * GetAlgLibName() const
Definition: HanConfigAssessor.cxx:213
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
dqi::HanConfigAlgLimit
Definition: HanConfigAlgLimit.h:18
dqi::HanConfigAssessor::GetIsRegex
virtual bool GetIsRegex() const
Definition: HanConfigAssessor.cxx:385
HanConfigParMap.h
dqi::HanConfigAssessor::m_algLibName
TObjString m_algLibName
Definition: HanConfigAssessor.h:109
dqi::HanConfigAssessor::Accept
virtual void Accept(Visitor &visitor, boost::shared_ptr< dqm_core::Region > dqParent) const
Definition: HanConfigAssessor.cxx:523
dqi::HanConfigAssessor::GetAlgRefName
virtual std::string GetAlgRefName() const
Definition: HanConfigAssessor.cxx:229
dqi::HanConfigAssessor::m_algName
TObjString m_algName
Definition: HanConfigAssessor.h:108
dqi::HanConfigAssessor::GetAllAnnotations
virtual TIter GetAllAnnotations() const
Definition: HanConfigAssessor.cxx:357
dqi::HanConfigAssessor::GetList
virtual TSeqCollection * GetList(TDirectory *basedir, std::map< std::string, TSeqCollection * > &mp)
Definition: HanConfigAssessor.cxx:392
dqi::HanConfigAssessor::SetAlgName
virtual void SetAlgName(std::string name_)
Definition: HanConfigAssessor.cxx:189
dqi::HanConfigAssessor::m_algRefName
TObjString m_algRefName
Definition: HanConfigAssessor.h:110
dqi::HanConfigAssessor::GetHistPath
virtual const char * GetHistPath() const
Definition: HanConfigAssessor.cxx:177
dqi::HanConfigAssessor::Visitor::Visit
virtual boost::shared_ptr< dqm_core::Node > Visit(const HanConfigAssessor *node, boost::shared_ptr< dqm_core::Region > dqParent)=0
dqm_core
Definition: HanConfig.h:31
dqi::HanConfigAssessor::operator=
HanConfigAssessor & operator=(const HanConfigAssessor &other)
Definition: HanConfigAssessor.cxx:91
dqi::HanConfigAssessor::GetAlgLimit
virtual HanConfigAlgLimit GetAlgLimit(std::string name_) const
Definition: HanConfigAssessor.cxx:315
dqi::HanConfigParMap
Definition: HanConfigParMap.h:18
dqi::HanConfigAssessor::GetName
virtual const char * GetName() const
Definition: HanConfigAssessor.cxx:170
operator<<
std::ostream & operator<<(std::ostream &o, const dqi::HanConfigAssessor &p)
Definition: HanConfigAssessor.cxx:622
dqi::HanConfigAssessor::Visitor::~Visitor
virtual ~Visitor()
Definition: HanConfigAssessor.h:43
dqi::HanConfigAssessor::AddAlgPar
virtual void AddAlgPar(const HanConfigAlgPar &algPar_)
Definition: HanConfigAssessor.cxx:246
dqi::HanConfigAssessor::SetName
virtual void SetName(std::string name_)
Definition: HanConfigAssessor.cxx:162
dqi::HanConfigAssessor::m_annotations
TSeqCollection * m_annotations
Definition: HanConfigAssessor.h:115
dqi::HanConfigAssessor::GetAlgPar
virtual HanConfigAlgPar GetAlgPar(std::string name_) const
Definition: HanConfigAssessor.cxx:255
dqi::HanConfigAssessor::m_name
TObjString m_name
Definition: HanConfigAssessor.h:106
dqi::HanConfigAssessor::m_algLimits
TSeqCollection * m_algLimits
Definition: HanConfigAssessor.h:114
Region
Region
Definition: TrigL2HitResidual.h:14
dqi::HanConfigAssessor
Definition: HanConfigAssessor.h:37
dqi::HanConfigAssessor::GetAllAlgPars
virtual TIter GetAllAlgPars() const
Definition: HanConfigAssessor.cxx:268
HanConfigAlgLimit.h
dqi::HanConfigAssessor::m_isRegex
bool m_isRegex
Definition: HanConfigAssessor.h:118
dqi::HanConfigAssessor::GetAnnotation
virtual const HanConfigParMap * GetAnnotation(std::string name_) const
Definition: HanConfigAssessor.cxx:344
dqi::HanConfigAssessor::GetAllAlgLimits
virtual TIter GetAllAlgLimits() const
Definition: HanConfigAssessor.cxx:328
dqi::HanConfigAssessor::SetWeight
virtual void SetWeight(float weight_)
Definition: HanConfigAssessor.cxx:364
dqi::HanConfigAssessor::Visitor
Definition: HanConfigAssessor.h:41
dqi::HanConfigAlgPar
Definition: HanConfigAlgPar.h:18
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
dqi::HanConfigAssessor::GetAlgStrPar
virtual HanConfigParMap GetAlgStrPar(std::string name_) const
Definition: HanConfigAssessor.cxx:285
dqi::HanConfigAssessor::PrintIOStream
virtual void PrintIOStream(std::ostream &o) const
Definition: HanConfigAssessor.cxx:531
dqi::HanConfigAssessor::m_algPars
TSeqCollection * m_algPars
Definition: HanConfigAssessor.h:112
dqi::HanConfigAssessor::HanConfigAssessor
HanConfigAssessor()
Definition: HanConfigAssessor.cxx:35
dqi::HanConfigAssessor::SetIsRegex
virtual void SetIsRegex(bool isRegex_)
Definition: HanConfigAssessor.cxx:378
dqi::HanConfigAssessor::GetWeight
virtual float GetWeight() const
Definition: HanConfigAssessor.cxx:371
dqi::HanConfigAssessor::m_algStrPars
TSeqCollection * m_algStrPars
Definition: HanConfigAssessor.h:113
dqi::HanConfigAssessor::GetAlgRefString
virtual const char * GetAlgRefString() const
Definition: HanConfigAssessor.cxx:238
dqi::HanConfigAssessor::AddAlgLimit
virtual void AddAlgLimit(const HanConfigAlgLimit &algLim_)
Definition: HanConfigAssessor.cxx:306
dqi::HanConfigAssessor::GetUniqueName
virtual std::string GetUniqueName() const
Definition: HanConfigAssessor.cxx:154
HanConfigAlgPar.h
dqi::HanConfigAssessor::GetAllAlgStrPars
virtual TIter GetAllAlgStrPars() const
Definition: HanConfigAssessor.cxx:298
checker_macros.h
Define macros for attributes used to control the static checker.
dqi::HanConfigAssessor::GetAlgName
virtual const char * GetAlgName() const
Definition: HanConfigAssessor.cxx:197
dqi::HanConfigAssessor::~HanConfigAssessor
virtual ~HanConfigAssessor()
Definition: HanConfigAssessor.cxx:139
dqi
Definition: CompositeAlgorithm.h:16
ATLAS_NO_CHECK_FILE_THREAD_SAFETY
ATLAS_NO_CHECK_FILE_THREAD_SAFETY
Definition: HanConfigAssessor.h:26
node
Definition: memory_hooks-stdcmalloc.h:74
dqi::HanConfigAssessor::AddAlgStrPar
virtual void AddAlgStrPar(const HanConfigParMap &algPar_)
Definition: HanConfigAssessor.cxx:276
dqi::HanConfigAssessor::AddAnnotation
virtual void AddAnnotation(const HanConfigParMap &annotation_)
Definition: HanConfigAssessor.cxx:335