Project

General

Profile

Feature #1286

Plots for datamover

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

Status:
Closed
Priority:
Normal
Assignee:
Category:
Online reconstruction
Target version:
Start date:
07 June 2013
Due date:
% Done:

100%

Estimated time:
Workflow:
New Issue

Description

Need to provide plots for datamover

#1

Updated by Rogers, Chris about 10 years ago

So I decided to implement this as an action that takes place when OutputPyImage sees a RunFooter event type (typically generated by merge_output.py 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:

{"description":"Description", 
            "tag": "tdcadc", 
            "image_type":"png", 
            "data": <binary data>}

Now it is formatted as a single json document like

{"maus_event_type":"Image", "image_list": [{
            "description":"Description", 
            "tag": "tdcadc", 
            "image_type":"png", 
            "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.

#2

Updated by Rogers, Chris almost 10 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.

#3

Updated by Rogers, Chris almost 10 years ago

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

ps: let me know if you want anything changed.

#4

Updated by Rajaram, Durga almost 10 years ago

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

Also available in: Atom PDF