A modular silicon (vertex) digitizer, acting on pixel-level - #81
Draft
JonaDilg wants to merge 71 commits into
Draft
A modular silicon (vertex) digitizer, acting on pixel-level#81JonaDilg wants to merge 71 commits into
JonaDilg wants to merge 71 commits into
Conversation
…th the drifting approach by Jessy Daniel, and the lookup-table approach by Armin Ilg and Jona Dilg
…). Implementing class VTXdigi_tools::PixelChargeMatrix()
…g SensorChargeMatrix.
…o-charge-sharing ChargeCollector to test. Works as expected.
…mHits. Create digiHits.
… std::vector<int> with an entry for every pixel. For small pixel occupancy O(0.001%) this is A LOT faster.
…er for each simHit), add more plots
…usters or create digiHits, yet.
…el (harder than it looked at first...). Refactoring from std::array<int,2> to std::pair<int,int> for pixel indices etc.
…hich simTrackerHits contribute to a cluster. Implementing creation of digiHits for clusters. This break outputting all pixelHits as digiHits directly, remains todo.
…by using shared pointers. cleaning up event loop & moving helper functions ot VTXdigi_tools.
…sor. Verify output histograms agains VTXdigi_Allpix2 implementation
…vely slow, performance improvements probably from LUT (or from hitmap)
…ages so expensive :(
… and adding doxygen comments. Implementing a custom simHit truthPosition, to be defined by the ChargeCollection Algorithm
…s (cluster-size vs global z; residual vs global z). Implementing thresholding, and charge and time smearing. Time smearing is currently broken.
…ks exactly how I assumed it would, but you need to pass rndmEngine AND rndmGenSvc to the ApplicationMgr as ExtSvc. Also: remove unused SurfaceMap parameter from SimHitWrapper.
…Collector_LUT::DistributeSegmentCharge() and HitMap.FillCharge()
…nclusions and moving functions to classes they should be a member of)
…etion region depth, implementing checks on active vs total sensor volume
…T file, instead of Gaudi parameter
… neighbours were used). Add threshold dispersion as individual parameter (on top of electronic noise), same as Allpix Squared
…plementation, add seed pixel charge histogram
…ype (primary / secondary / delta). with a single particle, residual_highestEParticleOnSensor reproduces the central region of residual_fromPrimaries if collectSingleDeposits=False. Cleaned up histogram naming and removed more unused histograms"
…ction vertex location.
…ompiles, but the function is funky. Not applying it yet, so no change to the digitisation no matter what the config param LookupTableExtractEtaFunction is set to.
…nates and indices
https://arxiv.org/pdf/2107.06600 instead of what I thought would be needed
…T, implemented applying it to the cluster CoG. Code runs slower than expected, quite likely something that can be improved easily
…o work. Not cleaned up all of the mess I made, yet.
…t. Fixing measured eta correction plot. Removed some dead code
… that corrected values of eta distrib. need to be monotonically rising. Added residual plots for different cluster sizes
… a custom dummy lookup table
…es = truth - reco). Adding verbose line in Collection matching.
…utside of the sensor because of floating point noise. I suspect it was the back-and-forth between float and double in the path computation, the errors didnt show up after moving the whole path computation to double. Added a less eager throw and clamping on top.
…dth==2 instead of clusters of width>=2
… truth pos. from sensor vertical centre (to make the plots useful when using singleDeposits=True in ddsim)
…ter for center of gravity to suppress noise in the charge of the central pixels
…rly spreading the charge along the path to individual interactions with randomly sampled charge per deposition. Use uniqueID-seeded TRandom3 (instead of RandomGenSvc).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
BEGINRELEASENOTES
ENDRELEASENOTES
This PR is work in progress, things I am working on at the moment are:
Other notes: