Feature #1286

Plots for datamover

Added by Rogers, Chris about 11 years ago. Updated almost 11 years ago.

Online reconstruction
Target version:
Start date:
07 June 2013
Due date:
% Done:


Estimated time:
New Issue


Need to provide plots for datamover


Updated by Rogers, Chris about 11 years ago

So I decided to implement this as an action that takes place when OutputPyImage sees a RunFooter event type (typically generated by at the end of the run). The OutputPyImage object stores the last event that was processed and writes to a directory controlled by 'end_of_run_image_directory' datacard. By default this directory is ${MAUS_WEB_MEDIA_RAW}/end_of_run/.

The files will be placed in a directory like <run_number>/blah.png. All files terminate in png (or json, but probably those can be ignored).

Note that as part of the implementation I changed the OutputPyImage event data format to make it more manageable. Previously, data was formatted as a series of line separated json documents like:

            "tag": "tdcadc", 
            "data": <binary data>}

Now it is formatted as a single json document like

{"maus_event_type":"Image", "image_list": [{
            "tag": "tdcadc", 
            "data": <binary data>}]}

This is just better... more in keeping with the other document styles, less clunky (a single json document).

Now in test. I'd better go through and document on Monday morning.


Updated by Rogers, Chris almost 11 years ago

This is now implemented in the trunk. The online code makes a folder in $MAUS_WEB_MEDIA_RAW called end_of_run. Within end_of_run it makes a directory given by integer run number (i.e. no leading 0). Within that directory it dumps png images and json files (which contain some additional metadata).

e.g. for a few test runs, we get something like

>$ ls end_of_run/4235/*
end_of_run/4235/imageCkovArrivalTimes_PMT1-8.json  end_of_run/4235/imageReducePyTOFPlot.root         end_of_run/4235/imagetof_SlabHits_X.json           end_of_run/4235/imagetof_SpacePoints_XY_tof2.png
end_of_run/4235/imageCkovArrivalTimes_PMT1-8.png   end_of_run/4235/imagetof_nSpacePoints.json        end_of_run/4235/imagetof_SlabHits_X.png            end_of_run/4235/imagetof_SpacePoints_Y.json
end_of_run/4235/imageCkovCharge_PMT1-8.json        end_of_run/4235/imagetof_nSpacePoints.png         end_of_run/4235/imagetof_SlabHits_Y.json           end_of_run/4235/imagetof_SpacePoints_Y.png
end_of_run/4235/imageCkovCharge_PMT1-8.png         end_of_run/4235/imagetof_pmtHits_Plane0PMT0.json  end_of_run/4235/imagetof_SlabHits_Y.png            end_of_run/4235/imagetof_time_tof0-tof1.json
end_of_run/4235/imageCkovPE_A_vs_TOF_0_to_1.json   end_of_run/4235/imagetof_pmtHits_Plane0PMT0.png   end_of_run/4235/imagetof_SpacePoints_X.json        end_of_run/4235/imagetof_time_tof0-tof1.png
end_of_run/4235/imageCkovPE_A_vs_TOF_0_to_1.png    end_of_run/4235/imagetof_pmtHits_Plane0PMT1.json  end_of_run/4235/imagetof_SpacePoints_X.png         end_of_run/4235/imagetof_time_tof0-tof2.json
end_of_run/4235/imageCkovPE_B_vs_TOF_0_to_1.json   end_of_run/4235/imagetof_pmtHits_Plane0PMT1.png   end_of_run/4235/imagetof_SpacePoints_XY_tof0.json  end_of_run/4235/imagetof_time_tof0-tof2.png
end_of_run/4235/imageCkovPE_B_vs_TOF_0_to_1.png    end_of_run/4235/imagetof_pmtHits_Plane1PMT0.json  end_of_run/4235/imagetof_SpacePoints_XY_tof0.png   end_of_run/4235/imagetof_time_tof1-tof2.json
end_of_run/4235/imageReducePyCkovPlot.json         end_of_run/4235/imagetof_pmtHits_Plane1PMT0.png   end_of_run/4235/imagetof_SpacePoints_XY_tof1.json  end_of_run/4235/imagetof_time_tof1-tof2.png
end_of_run/4235/imageReducePyCkovPlot.root         end_of_run/4235/imagetof_pmtHits_Plane1PMT1.json  end_of_run/4235/imagetof_SpacePoints_XY_tof1.png
end_of_run/4235/imageReducePyTOFPlot.json          end_of_run/4235/imagetof_pmtHits_Plane1PMT1.png   end_of_run/4235/imagetof_SpacePoints_XY_tof2.json

For your information, file sizes go like

>$ du --max-depth=2 -h
964K    ./end_of_run/4235
1012K    ./end_of_run/4258
892K    ./end_of_run/4234
2.9M    ./end_of_run
37M    .

This is implemented in the trunk and I will deploy to MLCR next time there is a release. It should go in before the training on 22nd July.


Updated by Rogers, Chris almost 11 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

ps: let me know if you want anything changed.


Updated by Rajaram, Durga almost 11 years ago

  • Target version changed from Future MAUS release to MAUS-v0.6.0

Also available in: Atom PDF