Closed mlincett closed 1 year ago
Looking at: https://github.com/icecube/skymap_scanner/blob/581f48919e46c4659234ed0cc55e259e8f012fc2/skymap_scanner/config.py#L17-L26 for the time being I believe the Skymap Scanner needs one and one only authoritative source for GCD files, if any. I am leaning towards getting rid of all this fallback logic.
There is also
/cvmfs/icecube.opensciencegrid.org/users/RealTime/GCD/PoleBaseGCDs/
which could be a source.
Note that these should already be in the container at /opt/i3-data/baseline_gcds
via this icetray build step:
https://github.com/WIPACrepo/docker-icecube-icetray/blob/master/install_icetray/Dockerfile_prod#L27
Note that these should already be in the container at
/opt/i3-data/baseline_gcds
via this icetray build step: https://github.com/WIPACrepo/docker-icecube-icetray/blob/master/install_icetray/Dockerfile_prod#L27
Yes, I noticed, that is why a lot of legacy code is largely unnecessary now (but even if it wasn't there's room for simplification).
Also I expect that if we ensure that the input JSON is a fully-formed event (the GCD baseline/diff merge can be done upstream, since it is realtime-specific) the Skymap Scanner may not need to carry/access baseline GCDs at all.
Is there any scanning being done on previous alerts that currently feeds in the diff GCD? Would you be willing to reformat that to only supply the full GCD? Or have a step before submitting to the scanner? That's about the only case I'm unsure of.
Is there any scanning being done on previous alerts that currently feeds in the diff GCD? Would you be willing to reformat that to only supply the full GCD? Or have a step before submitting to the scanner? That's about the only case I'm unsure of.
That would be the plan, yes.
With PR #147 I try to simplify the handling of GCD information.
The GCD diff/uncompress logic is still in place. It seems possible to decouple it by letting prepare_frames
store the full GCD and avoid the uncompress segment in reco_icetray
. This is better addressed in a separate PR.
Tentatively closing this after merge of #149
Moving all the GCD uncompress logic to the server side will be addressed in a new issue.
The GCD handling logic in utils.extract_json_message is currently a bit articulated and it can likely be simplified.
When I tested with GFU realtime events, the input packet would always hit the empty GCD case, mistakenly logged as:
In this situation the function looks up a GCD file based on the run number and adds the GCD frames to the frame packet. I am not sure whether or not HESE and EHE realtime events have the same type of payload (but I guess I can verify it).
For the processing of offline events (generated from
.i3
files), I think the input file is always expected to carry the GCD frames.