55 std::multimap<std::string,TObject*>
inputs;
61 for (dqm_core::ParametersMap::const_iterator iter=map.begin();iter!=map.end();++iter){
64 if ( iter->second->getWeight() == 0 ) {
65 ERS_DEBUG(2,
"Skip result (weight 0): "<<iter->first);
68 TObject* inputobject = iter->second->getResult().get()->getObject();
69 if (inputobject == 0) {
72 newresult->status_ = lastResult.status_;
78 for (std::map<std::string,double>::const_iterator tagIter=iter->second->getResult().get()->tags_.begin();
79 tagIter != iter->second->getResult().get()->tags_.end(); ++tagIter ) {
80 std::string
tag = tagIter->first;
82 std::string tagType =
"ConfParameter--Role--";
83 if ( (stringPos =
tag.find(tagType)) != std::string::npos) {
84 stringPos += tagType.length();
85 role =
tag.substr(stringPos);
90 if(role.size() != 0) {
91 inputs.insert(std::pair<std::string,TObject*>(role,inputobject));
97 newresult->status_ = lastResult.status_;
104 std::map<std::string,double > paramVecMap;
105 for (dqm_core::ParametersMap::const_reverse_iterator rIter=map.rbegin() ; rIter!=map.rend();++rIter) {
106 if( rIter->second->getResult().get()->tags_.empty() ){
109 for (std::map<std::string,double>::const_iterator tagIter=rIter->second->getResult().get()->tags_.begin();
110 tagIter != rIter->second->getResult().get()->tags_.end(); ++tagIter ) {
111 std::string
tag = tagIter->first;
115 tagType =
"ConfParameter--Role--";
116 if (
tag.find(tagType) != std::string::npos ){
120 tagType =
"ConfParameter--OverWrite";
121 if (
tag.find(tagType) != std::string::npos ){
123 overWriteResult = rIter->second->getResult().get();
128 tagType =
"ConfParameter--";
129 if ( (stringPos =
tag.find(tagType)) != std::string::npos ){
131 stringPos += tagType.length();
135 tagType =
"GThreshold--";
136 if ( (stringPos =
tag.find(tagType)) != std::string::npos ){
138 stringPos += tagType.length();
142 tagType =
"RThreshold--";
143 if ( (stringPos =
tag.find(tagType)) != std::string::npos ){
145 stringPos += tagType.length();
149 if (
tag.find(
"ConfParameter[") != std::string::npos ){
150 std::cerr<<
"MULTIOPTION PARAMETERS NO LONGER SUPPORTED; IGNORING" << std::endl;
160 for ( std::map<std::string,double>::const_iterator pvIter=paramVecMap.begin(); pvIter!=paramVecMap.end();++pvIter){
161 algConfig.
addParameter( pvIter->first, pvIter->second );
168 if ((overWriteResult != 0) && (newresult->getObject() != 0) ) {
171 overWriteResult->status_ = newresult->status_;
172 overWriteResult->tags_ = newresult->tags_;
174 TObject* overWriteObject = overWriteResult->getObject();
175 if ( (!overWriteObject->IsA()->InheritsFrom(
"TH1")) || (!newresult->getObject()->IsA()->InheritsFrom(
"TH1")) ) {
180 TH1* hOverW = (TH1*) overWriteObject;
181 TH1* hResult = (TH1*) newresult->getObject();
183 if (hOverW->GetDimension() == hResult->GetDimension()) {
185 hOverW->Add(hResult);