luan-koerich-phd
luan-koerich-phd
Luan Koerich's Collection of Things
4 posts
Welcome to my under-construction portfolio.
Don't wanna be here? Send us removal request.
luan-koerich-phd · 1 year ago
Text
Multi-pulse Waveform Analysis
One the most amazing experiences of my PhD project was to develop and employ a particle detector for a particle accelerator at CERN.
This work also involved a quite deal of data preprocessing and analysis, so to determine the efficiency of the detector. It is a great example of how creative data analysis can overcome limitations from the hardware design and improve detection efficiency by up to 40%!
One of my main design philosophy was to build a detector that was as cheap as possible, from salvaged equipment in the laboratory. To overcome limitations from old components, I developed an algorithm to find the timing of the particles using a constant-fractional discrimination technique. This algorithm finds the timing from the rise time of pulse, overcoming artificial increase in particle timing from large pulses.
One of the great advantages of my algorithm is its speed. While some will fit a special function to the entire pulse in the waveform, my algorithm takes advantage of the rise time being linear to fit a straight line to it.
My algorithm not only improved the timing measurements by 40%, as it was so efficient that it could be incorporated to the on-the-fly analysis, to maximize the quality of the data being acquired. Every spill in a beam line is precious, so we must ensure the quality of the data is maximal!
Later, the algorithm was adapted to extract the timing information for several pulses on a waveform, not only one.
0 notes
luan-koerich-phd · 1 year ago
Text
A Simple Simulator of SiPM Pulses
This little project came out during a sunday scaries, in which I channeled the antecipation for the coming week into improving my Object Oriented Programming abilities. I am very happy by how organized and clean the code came out!
One of the devices I used in my particle detectors is a Silicon Photo-Multiplier, or SiPM, for short. SiPMs are used to count the number of photons that reach it from any source of your detector.
SiPMs are a matrix of p-n junctions, which, in turn, have their depletion layer destroyed by the photon. This provokes a surge in the current generated by the SiPM. This is seen as pulse on the screen of the oscilloscope, and certain SiPM may produce pulses with very sharp rise time.
It is possible to count the number of photons reaching the SiPM by how large the current is; more photons means more p-n junctions being disrupted.
After the sudden current spike, a quenching resistor gets in action and stops the current coming out of the p-n junction. This is seen on the oscilloscope as an exponential decay, the tail of the pulse.
This small library simulates a SiPM pulse, with an ideal rise time (1-sample long) and an ideal tail (exponential decay). It is superposed on a baseline of random numbers generated by numpy, to simulate electronic noise.
0 notes
luan-koerich-phd · 1 year ago
Text
The Archiver
One of my favourite hobbies is writing and journaling.
This little project started when I was learning python and inevitably falling in love with it. A friend of mine and I got together and decided that no note-taking app was good enough for our needs. "I think I can write a note-taking app in C...", my friend said, to which I replied: "I bet I can do the same thing in python, and a lot faster than you!"
A few hours later, The Archiver script was born.
What this script does is open your favourite in-terminal text editor and automatically organize your new note into a specified folder, using time and date.
After that, the script will generate a fancy pdf, where each entry is a new paragraph with date and time.
I hope you as much fun playing with this tiny app as I did!
0 notes
luan-koerich-phd · 1 year ago
Text
An API for the B&K 1787B Power Supply
(Any typo is on purpose)
Everyone has their favourite things, and the B&K 1787B power supply is one of mine. Yes, one of the things I most adore in this life is a bench-top laboratory power supply.
One of the reasons is that you can control it to ramp up the voltage as slowly as your heart desires, not to burn your delicate particle detectors. Another reason I love it so much is how easy and straightforward it is to program it.
In this github repository you will find a small API based in python, which is able to set the voltage output of the power supply and the speed at which it is increased.
It was really fun to understand the different registers of the power supply's memory. It was even more fun to learn the concepts of endianness and bit masking, so to set the appropriate And I have to say, it is really straightforward and easy to use. So kudos for the B&K for developing this instrument!
0 notes