91{
92 typedef std::map< std::string, double >::value_type ParsVal_t;
93 typedef std::map< std::string, double >::value_type ThrVal_t;
94
96
98 TIter nextPar( hca.GetAllAlgPars() );
100 while( (par = dynamic_cast<HanConfigAlgPar*>( nextPar() )) != 0 ) {
102 ParsVal_t parMapVal( parName,
par->GetValue() );
103 m_parameters.insert( std::move(parMapVal) );
104 }
105 TIter nextStrPar( hca.GetAllAlgStrPars() );
106 HanConfigParMap* strPar;
107 while( (strPar = dynamic_cast<HanConfigParMap*>( nextStrPar() )) != 0 ) {
108 m_generic_parameters.emplace( strPar->GetName(), strPar->GetValue() );
109 }
110
111 std::string limName;
112 TIter nextLim( hca.GetAllAlgLimits() );
113 HanConfigAlgLimit* lim;
114 while( (lim = dynamic_cast<HanConfigAlgLimit*>( nextLim() )) != 0 ) {
115 limName = std::string( lim->GetName() );
116 ThrVal_t greenMapVal( limName, lim->GetGreen() );
117 m_green_thresholds.insert( std::move(greenMapVal) );
118 ThrVal_t redMapVal( limName, lim->GetRed() );
119 m_red_thresholds.insert( std::move(redMapVal) );
120 }
121
122 std::string refName( hca.GetAlgRefName() );
123 if( refName != "" ) {
125 if (key == NULL) {
126 std::cout << "ERROR: can't find reference " << refName << std::endl;
127 } else {
128 if (hca.GetIsRegex()) {
129 TMap* map =
dynamic_cast<TMap*
>(
key->ReadObj());
130 if (! map) {
131 std::cerr << "Problem reading TMap input for regex" << std::endl;
133 } else {
134 std::cout << "Get reference for " << hca.GetHistPath() << std::endl;
135 m_ref = map->GetValue(hca.GetHistPath());
136 }
137 } else {
138
140 }
141 }
142 }
143}
TKey * getObjKey(TDirectory *dir, const std::string &path)