Open asalzburger opened 3 years ago
After creating the new datasets, I tested the Hough Transform and again, I ended up with high efficiency in all the simulations. So I decided to plot "count vs number-of-hits-for-1-event" for electrons, muons and pions respectively. This is what I got:
The distribution looks very similar. Only for pdg = 13, a bit more hits are concentrated in the center. But this is barely noticeable. The commands I used to produce the datasets like these:
@REM --------------------------------------------------- pdg-11 ---------------------------------------------------
@REM First Dataset: Ideal dataset
../acts_build/bin/ActsExampleParticleGun -n 100 --gen-pdg 11 --gen-nparticles 25 --gen-mom-gev 0.5:10. --gen-mom-transverse true --gen-eta -0.5:0.5 --output-csv
../acts_build/bin/ActsExampleFatrasDD4hep --gen-pdg 11 --dd4hep-input=../acts/thirdparty/OpenDataDetector/xml/OpenDataDetector.xml --output-csv --bf-constant-tesla 0:0:2 --input-dir="./"
mv ./* ../../../Desktop/CERN/tra-tra/data/pdg11/pdg11-n25-0.5to10GeV-0.5eta/
@REM Second Dataset: With Material Effects (and constant B)
../acts_build/bin/ActsExampleParticleGun -n 100 --gen-pdg 11 --gen-nparticles 25 --gen-mom-gev 0.5:10. --gen-mom-transverse true --gen-eta -0.5:0.5 --output-csv
../acts_build/bin/ActsExampleFatrasDD4hep --gen-pdg 11 --dd4hep-input=../acts/thirdparty/OpenDataDetector/xml/OpenDataDetector.xml --output-csv --mat-input-type=file --mat-input-file=../../../Desktop/CERN/other-repos/OpenDataDetector/data/odd-material-map.root --bf-constant-tesla 0:0:2 --input-dir="./"
mv ./* ../../../Desktop/CERN/tra-tra/data/pdg11/pdg11-n25-0.5to10GeV-0.5eta-with-material-effects/
@REM Third Dataset: With Non Homogenous B (without Material Effects)
../acts_build/bin/ActsExampleParticleGun -n 100 --gen-pdg 11 --gen-nparticles 25 --gen-mom-gev 0.5:10. --gen-mom-transverse true --gen-eta -0.5:0.5 --output-csv
../acts_build/bin/ActsExampleFatrasDD4hep --gen-pdg 11 --dd4hep-input=../acts/thirdparty/OpenDataDetector/xml/OpenDataDetector.xml --output-csv --bf-map-file=../../../Desktop/CERN/other-repos/OpenDataDetector/data/odd-bfield.root --input-dir="./"
mv ./* ../../../Desktop/CERN/tra-tra/data/pdg11/pdg11-n25-0.5to10GeV-0.5eta-non-homogenous-magnetic-field/
@REM Fourth Dataset: With Material Effects and Non Homogenous B
../acts_build/bin/ActsExampleParticleGun -n 100 --gen-pdg 11 --gen-nparticles 25 --gen-mom-gev 0.5:10. --gen-mom-transverse true --gen-eta -0.5:0.5 --output-csv
../acts_build/bin/ActsExampleFatrasDD4hep --gen-pdg 11 --dd4hep-input=../acts/thirdparty/OpenDataDetector/xml/OpenDataDetector.xml --output-csv --mat-input-type=file --mat-input-file=../../../Desktop/CERN/other-repos/OpenDataDetector/data/odd-material-map.root --bf-map-file=../../../Desktop/CERN/other-repos/OpenDataDetector/data/odd-bfield.root --input-dir="./"
mv ./* ../../../Desktop/CERN/tra-tra/data/pdg11/pdg11-n25-0.5to10GeV-0.5eta-with-material-effects-non-homogenous-magnetic-field/
@ REM -----------------------------------------------------------------------------------------------------------------
If I'm correct, the behavior above is not expected. I will take again a closer look tomorrow.
Finished the baseline for duplicate removal. For this, I used a "deterministic" function that decides if two reco tracks are referring to the same particle. In pseudocode, it looks like this:
if tracks_are_close(track1, track2, thresholds) and common_hit_percentage(hits1, hits2) > threshold:
# tracks are duplicate, do stuff
Using this, I developed two approaches:
To assess the performance of the algorithms, I tested them on the "ideal simulation" for pions (pdg = 211) with non-optimal hyperparameters. The normal algorithm gives:
The first duplicate-remove algorithm yields:
And the second:
We notice that the first one kept the efficiency high (lost only 0.08) and managed to drop the duplicate rate by 0.7. Also the Fake Rate dropped quite a bit. The second algorithm managed to drop the duplicate rate almost to 0 (0.06 to be more accurate, a 0.82 decrease) but at a cost of losing also a lot of efficiency (went to 0.6, lost 0.28). I think for baselines, they are good.
Wrote a bash script that automates the task of creating the desired datasets (for every simulation type). You can find it here, once the merging has been done. You can also use it if you want, just make sure to change the paths so that they are correct for your machine.
Created the Dataset using Pythia8. This is with npileup = 0
(similar results occur for npileup = 200
). Removed the particles that have initial p_T smaller than 500 MeV. The xy view of the remaining particles is:
Running the algorithms in this dataset yields the following metrics (tried for many events, results are similar)
The natural question arises: Which particles were not reconstructed? Let's take a look:
I will have to take a look at which particles those pdg
values refer to, in order to get a better understanding of the situation.
List of datasets to be produced:
This needs a material map file
odd-material-map.root
. To activate this, one needs to specify the material input file in theFatras
simulation, by adding the following program options:"This needs a magnetic field map
odd-bfield.root
. To use this, one needs to add the following commands to theFatras
configuration:These two options can also be done together of course (which presents the worst case).
The files are part of a PR into the ODD detector (not merged yet):
https://github.com/acts-project/OpenDataDetector/pulls
Accessing them needs
git large file system (git-lfs)
support.As we hadn't talked about particle type, we should do that as well:
Some actions:
If we want to see the effects of magnetic field / material on muons themselves: