Skip to content

Conversation

bryngemark
Copy link
Contributor

I am updating ldmx-sw, here are the details.

What are the issues that this addresses?

This allows association back to hits from clusters that were associated with PF tracks in the PFlow algorithm. It also includes a first go at a pileup electron identifier processor, that subtracts hits associated to high-momentum tracks from the ecal rechit collection (or rather, makes a new collection without those hits).

Check List

  • I successfully compiled ldmx-sw with my developments.
  • I read, understood and follow the coding rules.
  • I ran my developments and the following shows that they are successful.

Plot showing 10 2e inclusive events, ecal rec hits x: black is all hits, red is after pileup removal. This is not at all optimized yet (clustering needs improvements) but the principle works.

ecalRecHits_2e_allBlack_noPUred

Copy link
Member

@tomeichlersmith tomeichlersmith left a comment

Choose a reason for hiding this comment

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

This is looking good, I have a few cleanup requests and one comment about sharing EcalGeo information with CLUE.

bryngemark and others added 2 commits October 2, 2025 16:32
Remove remnant of attempt to set hits directly

Co-authored-by: Tom Eichlersmith <[email protected]>
@bryngemark
Copy link
Contributor Author

The failing histogram tests are caused by a name change clusterless --> unclustered (which in turn is no biggie, just reflects the difference in perspective between a more seasoned particle physicist and a happy algorithm developer)

Comment on lines +223 to +228
float d_r = std::sqrt(std::pow((ecal_clusters[0].getCentroidX() -
ecal_clusters[1].getCentroidX()),
2) +
std::pow((ecal_clusters[0].getCentroidY() -
ecal_clusters[1].getCentroidY()),
2));
Copy link
Member

@tvami tvami Oct 9, 2025

Choose a reason for hiding this comment

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

I suggest to do a*a instead of pow(a,2), it's much faster

Comment on lines +38 to +40
std::vector<double> layer_thickness = {2., 3.5, 5.3, 5.3, 5.3, 5.3,
5.3, 5.3, 5.3, 5.3, 5.3, 10.5,
10.5, 10.5, 10.5, 10.5};
Copy link
Member

Choose a reason for hiding this comment

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

This is not true for v15 anymore

Examples
--------
from LDMX.Recon.pfReco import pileupFinder
p.sequence.append( pileupFinder )
Copy link
Member

Choose a reason for hiding this comment

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

I'd suggest to add this to the 2e CI

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.

3 participants