Skip to content

Conversation

@S81D
Copy link
Collaborator

@S81D S81D commented Oct 17, 2025

Describe your changes

As discussed in PR #357, there were a few PMTs that were dead/inactive in the data which I added to the mask file to omit them for MC. I took a deeper dive (see docdb link below) at the PMT behavior over time (FY22 - FY25), and have since identified more faulty / poor performing PMTs. Those should be masked out from both the data and MC moving forward.

To do this in the data, we can update the FullTankPMTGeometry.csv and set the detector_status to OFF. When the PhaseIIADCHitFinder tool looks for pulses, it fetches the detector status through the DataModel, and ignores PMTs that are designated as OFF. I have also added that check to the ClusterFinder and PhaseIITreeMaker tool (with a configuration to do so) to retroactively apply the mask since the data already processed will not have the updated dead PMT IDs. This allows analyzers flexibility to mask out PMTs depending on the data epoch.

To do this in the MC, we just add the IDs to the dead mask that is read in by LoadWCSim, which will not pass any MC hits from that channel to downstream tools. This is only necessary if you are using the parametric model, as PMTWaveformSim interfaces with the hit finding tools and is done the same as the data.

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
  • [N/A] If this PR includes a new Tool, a README and minimal demonstration ToolChain is provided
  • [N/A] 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
  • [N/A] For every new usage, there is a reason the data must be on the heap
  • [N/A] For every new there is a delete, unless I explicitly know why (e.g. ROOT or a BoostStore takes ownership)

Additional Material

Please refer to these slides for more details.

S81D and others added 9 commits October 16, 2025 14:52
Add offline / dead PMTs
Add info about ApplyDeadMask
ApplyDeadMask info for TreeMaker
Given the tool fetches from Detector.h, need to use "detectorstatus" rather than "channelstatus"
Seems like the goto is illegal because goto skip_channel skips SPE_available’s initialization. Declare it first.
forgot to change this to detectorstatus
Copy link
Collaborator

@jminock jminock left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

@S81D
Copy link
Collaborator Author

S81D commented Oct 21, 2025

There's just one more change i would like to make to the TreeMaker - currently it is not masking out the clustered hitT, hitPE, etc... objects for the dead PMTs. It is properly omitting them from the cluster parameters (charge, time, charge balance, etc...) and omitting those hits from the trigger tree, but there is an extra condition needed for the hits in the cluster tree. Should have that change soon. For now its on hold.

Final modification - remove hits from being included in the cluster tree
@S81D S81D removed the on hold label Oct 21, 2025
@S81D
Copy link
Collaborator Author

S81D commented Oct 21, 2025

alright all good.

@marc1uk
Copy link
Collaborator

marc1uk commented Oct 21, 2025

goto: ...!
.... i'll allow it.

@marc1uk marc1uk merged commit b5fb3b5 into ANNIEsoft:Application Oct 21, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants