Repository navigation
Integration of monopoles in O2 framework - #15602
Conversation
Please consider the following formatting changes to AliceO2Group#15602
Please consider the following formatting changes to AliceO2Group#15602
|
This PR did not have any update in the last 30 days. Is it still needed? Unless further action in will be closed in 5 days. |
|
Dear @jackal1-66 , I just merged another PR that touches the TPC Detector code. I seems that this brought in a conflict. Please have a look. |
|
Ciao @wiechula, could you please check that my solution works well for you? I gave priority to your condition over isMonopole. |
Previous version was configuring O2MonopolePhysics globally which replaced the chord finder on the run G4FieldManager and also called G4Transportation::EnableMa gneticMoment(true), which are botbh global switched. Since NystromRK4 is incompatible with the monopole physics, the G4ClassicalRK4 was used, which I think is wrong, as I wanted to keep the original stepper the VMC macro asks for. Now the monopoles chord finder is built and not installed. In addition some minor things that were raised by Sandro's review and found while rechecking the code: - Now SetMaxstep(1.e10) is not called for monopoles, as that limit belongs to the dri ft volume rather than the track - TPC and ITS ProcessHits look up the monopole PDG code for neutral tracks only (reduction in calls) - Throw fatal in case Monopole Physics is requested but not installed properly The commit, together with the rest has been validated by running with Schwinger pair monopoles + various gD options.
- Register mplIoni through G4PhysicsListHelper. - Move the TPC Bethe-Bloch computation back into the branch that uses it. - Run the ITS monopole PDG lookup only when G4.monopole is set. - Define the monopole particles only when G4.monopole is set. - Make non-positive monopole magnetic charge or mass fatal. - Make a mismatch between G4.monopoleMass and TDatabasePDG fatal. - Warn when the TPC drift field is zero. - Align the species comment with the code. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Monopoles: changes from further review
|
Hi @jackal1-66 , I've found a few issues in the proposed update:
|
|
Ciao @ihrivnac thank you for your review, I fixed the first three issues you mention, while I kept the 4th as it is, given that it's currently not relevant in our framework, as we don't run G4 multi-threaded. I also clean up a bit the code and fixed some other minor problems. Let me know what you think. |
Thank you. The items 1. and 3. are now ok; in the 2nd, there is still ignored passing the |
|
Ciao @ihrivnac , you are right. I just applied your patch so now also point 2 should be settled. |
This PR adds the transport and detector response of magnetic monopoles to
o2-sim when running with Geant4. Related to https://its.cern.ch/jira/browse/O2-6780
Until now, a monopole could neither be defined as a particle nor lose energy in
the detectors, since it has no electric charge and the standard Geant4 physics
does not ionise for it.
Monopole_symm/Monopole_asymmand their antiparticles(PDG codes ±4110000 and ±4120000), are registered in
O2DatabasePDGandthe Geant4 particle table. The helpers are in
MonopoleParticles.h.O2MonopolePhysicsprovides the monopole ionisation (mplIoni) and adedicated transport process with the full dual Lorentz force. It does not
replace the global chord finder or the stepper requested by the VMC macro.
ProcessHitslet neutral monopoles deposit energy. ITS gets amonopole response and a data format, TPC uses a Bethe-Bloch based ionisation.
GeneratorFactorytakes the monopole mass so that generator and transportagree, and the monopole hook is combined with the fast-sim hook.
Everything is steered by three new
G4Paramsoptions:G4.monopole(defaultfalse) switches the monopole physics on.G4.monopoleMagneticChargeis the charge in units of the Dirac charge (default 1).G4.monopoleMassis the mass in GeV (default 100) and has to agree with themass in
TDatabasePDG, otherwise the run is fatal.A non-positive magnetic charge or mass, or monopole physics requested but not
installed, are also fatal.
By default nothing changes for the user: the particles are only defined and the
lookups in ITS and TPC are only done when
G4.monopoleis set.The changes were validated with Schwinger pair-produced monopoles and several
values of the magnetic charge.