Project

General

Profile

Support #17446

new art version ParentageMap

Added by Ron Rechenmacher over 3 years ago. Updated over 3 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
-
Target version:
-
Start date:
08/14/2017
Due date:
% Done:

100%

Estimated time:
Spent time:
Scope:
Internal
Experiment:
-
SSI Package:
Duration:

Description

The TBufferFile msg(TBuffer::kWrite) WriteObjectAny does not seem to be writing the ParentageMap.

Initially, in a new/empty subdirectory, do this:
wget https://cdcvs.fnal.gov/redmine/projects/artdaq-demo/repository/revisions/develop/raw/tools/quick-mrb-start.sh
chmod +x quick-mrb-start.sh
./quick-mrb-start.sh --run-demo -e14 -s50

If you have problems doing this, fill out an issue:
https://cdcvs.fnal.gov/redmine/projects/artdaq-demo/issues/new

After the initial "run-demo" is successful, we can provide further instruction to
stream line the debugging process.

History

#1 Updated by Kyle Knoepfel over 3 years ago

  • Status changed from New to Assigned
  • Assignee set to Kyle Knoepfel

Problems running the demo--see issue #17462.

#2 Updated by Kyle Knoepfel over 3 years ago

  • Tracker changed from Bug to Support
  • Status changed from Assigned to Resolved
  • % Done changed from 0 to 100

We understand why you were having the dictionary error. The error was due to a faulty merge of my changes into the feature/shared_memory_manager branch. Specifically:

git diff 79e2e0..d4c8ae -w artdaq/ArtModules/RootMPIOutput_module.cc

yields:

diff --git a/artdaq/ArtModules/RootMPIOutput_module.cc b/artdaq/ArtModules/RootMPIOutput_module.cc
index 097f3b3..6d056dc 100644
--- a/artdaq/ArtModules/RootMPIOutput_module.cc
+++ b/artdaq/ArtModules/RootMPIOutput_module.cc
@@ -248,12 +248,19 @@ send_init_message()
        //static TClass* parentage_map_class = TClass::GetClass(
        //    "std::map<const art::ParentageID,art::Parentage>");
        //FIXME: Replace the "5" here with a use of the proper enum value!
-        static TClass* parentage_map_class = TClass::GetClass("art::ParentageMap");
+       static TClass* parentage_map_class = TClass::GetClass(
+#   if ART_HEX_VERSION >= 0x20703
+                                                               "art::ParentageRegistry::collection_type" 
+#   else
+                                                               "std::map<const art::Hash<5>,art::Parentage>" 
+#   endif
+                                             

where the correct class specification was removed...thus yielding a mismatch in the dictionaries.

Marking this issue as resolved.

#3 Updated by Kyle Knoepfel over 3 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF