Skip to content

Save complete tank waveforms in EventBuilderV2 - #394

Open
anuj-guptta wants to merge 2 commits into
ANNIEsoft:Applicationfrom
anuj-guptta:TankEvents
Open

anuj-guptta wants to merge 2 commits into
ANNIEsoft:Applicationfrom
anuj-guptta:TankEvents

Conversation

@anuj-guptta

@anuj-guptta anuj-guptta commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

Event building on (EventBuilding 1):

  • PhaseIIADCCalibrator: copy raw tank waveforms (PMT + aux) into FinishedTankEvents before removing them from the buffer; combine pieces that share a timestamp instead of overwriting them.
  • EBPMT: apply the VME offset correction to FinishedTankEvents.
  • EBSaver: save the waveforms as RawWaveformMap in the ANNIEEvent.

Event building off (EventBuilding 0):

  • PhaseIIADCCalibrator: convert RawWaveformMap into RawADCData and RawADCAuxData for downstream hit finding.
  • PhaseIIADCCalibrator, PhaseIIADCHitFinder: handle events with no tank data instead of stopping with an error.
  • Update PhaseIIADCHitFinderConfig with Johann's NoDoubleHits pulse finding.

Note: The PhaseIIADCCalibrator diff looks large mainly because the EventBuilding 0 branch was re-indented for readability. The actual code changes are small.

Validation

Describe your changes

Checklist before submitting your PR

  • This PR implements a single change (one new/modified Tool, or a set of changes to implement one new/modified feature)
  • This PR alters the minimum number of files to affect this change
  • If this PR includes a new Tool, a README and minimal demonstration ToolChain is provided
  • If a new Tool/ToolChain requires model or configuration files, their paths are not hard-coded, and means of generating those files is described in the readme, with examples provided on /pnfs/annie/persistent
  • For every new usage, there is a reason the data must be on the heap
  • For every new there is a delete, unless I explicitly know why (e.g. ROOT or a BoostStore takes ownership)

Additional Material

Attach any validation or demonstration files here. You may also link to relavant docdb articles.

Event building on (EventBuilding 1):
- PhaseIIADCCalibrator: copy raw tank waveforms (PMT + aux) into FinishedTankEvents before removing them from the buffer;
  combine pieces that share a timestamp instead of overwriting them.
- EBPMT: apply the VME offset correction to FinishedTankEvents.
- EBSaver: save the waveforms as RawWaveformMap in the ANNIEEvent.

Event building off (EventBuilding 0):
- PhaseIIADCCalibrator: convert RawWaveformMap into RawADCData and RawADCAuxData for downstream hit finding.
- PhaseIIADCCalibrator, PhaseIIADCHitFinder: handle events with no tank data instead of stopping with an error.

Note: The PhaseIIADCCalibrator diff looks large mainly because the EventBuilding 0 branch was re-indented for readability.
The actual code changes are small.

Validation
- Verified that the waveforms exist in boostore for a physics event (Complete 70 us window or 35000 samples).
- Tested HitFinding in both EventBuilding 0 and 1 mode to verify the hits are identical.
- Attaching slides for more details: https://annie-docdb.fnal.gov/cgi-bin/sso/ShowDocument?docid=7006

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant