Project

General

Profile

Bug #25475

fileDumper not reporting size of std::map

Added by Andrew Edmonds 3 months ago. Updated about 1 month ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Infrastructure
Target version:
Start date:
02/04/2021
Due date:
% Done:

100%

Estimated time:
Spent time:
Occurs In:
Scope:
Internal
Experiment:
Mu2e
SSI Package:
Duration:

Description

In Mu2e we have seen that fileDumper shows a dash for the size of an std::map, even though std::map has a size() function.

Here is the output (I have boldened the offending line):

Begin processing the 1st record. run: 1 subRun: 0 event: 3 at 04-Feb-2021 10:35:34 CST
PRINCIPAL TYPE: Event
PROCESS NAME | MODULE LABEL...... | PRODUCT INSTANCE NAME | DATA PRODUCT TYPE....................................... | PRODUCT FRIENDLY TYPE.............................. | SIZE
Primary..... | TriggerResults.... | ..................... | art::TriggerResults..................................... | art::TriggerResults................................ | ...-
Primary..... | compressDetStepMCs | ..................... | std::vector<mu2e::GenParticle>.......................... | mu2e::GenParticles................................. | ...1
Primary..... | compressDetStepMCs | ..................... | std::vector<mu2e::CaloShowerStep>....................... | mu2e::CaloShowerSteps.............................. | ..51
Primary..... | compressDetStepMCs | ..................... | std::map<art::Ptr<mu2e::SimParticle>,mu2e::MCTrajectory> | mu2e::SimParticleart::Ptrmu2e::MCTrajectorystd::map | ...-
Primary..... | compressDetStepMCs | ..................... | cet::map_vector<mu2e::SimParticle>...................... | mu2e::SimParticlemv................................ | ...8
Primary..... | g4run............. | ..................... | mu2e::StatusG4.......................................... | mu2e::StatusG4..................................... | ...-
Primary..... | compressDetStepMCs | virtualdetector...... | std::vector<mu2e::StepPointMC>.......................... | mu2e::StepPointMCs................................. | ..17
Primary..... | compressDetStepMCs | ..................... | std::vector<mu2e::CrvStep>.............................. | mu2e::CrvSteps..................................... | ...0
Primary..... | FindMCPrimary..... | ..................... | mu2e::PrimaryParticle................................... | mu2e::PrimaryParticle.............................. | ...-
Primary..... | compressDetStepMCs | ..................... | std::vector<mu2e::StrawGasStep>......................... | mu2e::StrawGasSteps................................ | ..50
Primary..... | compressDetStepMCs | protonabsorber....... | std::vector<mu2e::StepPointMC>.......................... | mu2e::StepPointMCs................................. | ...3

Total products (present, not present): 22 (11, 11).

And here is how to reproduce with the HEAD of Mu2e Offline:

mu2e -c JobConfig/primary/CeEndpoint.fcl -n 10
mu2e -c Print/fcl/fileDumper.fcl -s dts.owner.CeEndpoint.version.sequencer.art -n 1

History

#1 Updated by Kyle Knoepfel 3 months ago

  • % Done changed from 0 to 100
  • Target version set to 3.08.00
  • Assignee set to Kyle Knoepfel
  • Status changed from New to Resolved
  • Category set to Infrastructure

Our apologies for this. The metaprogramming used to determine which classes support size() was broken. It has been fixed. For art 3.07, data products sizes will be displayed for all classes that support a size() member function.

Fixed with commit canvas:a13ce24.

#2 Updated by Kyle Knoepfel about 1 month ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF