MC Tracker not creating digits from sci fi hits
Added by Heidt, Christopher almost 11 years ago.
Updated almost 11 years ago.
08 August 2012
Space point finding efficiency around 5 - 20%, looking at the data file output seems to indicate we are recording sci fi hits, but not creating sci fi digits from these hits.
I was just about to file a bug report about this. The MapCppTrackerMCDigitization code looks for "mc" in the JSON document, but at some point the root node name was changed to "mc_events". The test code works because the simulation_sample file still uses "mc".
That's a good catch Peter, I'll take a look at that right away.
I think this might be accounted for in the newest tracker branch. In MapCppTrackerMCDigitization line 77 mc is defined as root["mc_events"]. on line 88 then json_event is defined from that variable mc, and finally sci_fi_hit is grabbed from json_event.
Sounds like we are either looking at different code or one of us has missed something.
Currently dialing back revisions. Current tracker branch revision is 838 which is broken. I have checked 812, 815, 821, and 823, these all look good. Currently testing 828, 830, and 837 which have all been the last revision of a day. Hope to narrow it down to the day something went wrong, then refine further.
It appears to break between revision 830 and 837 which would be a series of updates by Adam on Monday August 6th. I'll run some more test to narrow it down, but I'm willing to bet it is revision 831 with the comment
"Moved MapCppTrackerMCDigitisation in MAUS namespace, it now uses SciFiHits implemented there (substantially different from old SciFiHit implementation). Add initialisers to zero in SciFiSpacePoints default constructor. Hit default constructor now creates a new call for its ChannelId pointer"
Technology is amazing!
I changed the "mc" to "mc_events" when I was doing the data structure revision. I tried to update everything in the trunk to account for this, perhaps I missed something, in which case apologies. Needs an integration test?
Bug found by Chris Heidt in SciFiChannelId class. I added a used flag when switching to using this for SciFi code MC hit implementation, and forgot to add intialisers in the constructors and copy in the assignment operator. This is now corrected in revision 840 of the tracker devel. I suspect the issue Peter refers to is some thing separate to this. Also, this does highlight the need for a SciFi MC integration test/s.
I was going to add a test for the used flag in the unit tests, but SciFiChannelId doesn't seem to have its own test. Does anyone know if there is one or where it lives?
Also available in: Atom