From 9117f29b18ef05fb6b2e1a1218891eda943fff2c Mon Sep 17 00:00:00 2001 From: THanae Date: Tue, 13 Jan 2026 11:01:27 +0100 Subject: [PATCH 1/2] Remove energy cut on neutrinos exitHadronAbsorber and FixedTargetGenerator --- muonShieldOptimization/exitHadronAbsorber.cxx | 16 ++++++++++------ shipgen/FixedTargetGenerator.cxx | 5 +++-- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/muonShieldOptimization/exitHadronAbsorber.cxx b/muonShieldOptimization/exitHadronAbsorber.cxx index d442bd5ef0..0defe5594d 100644 --- a/muonShieldOptimization/exitHadronAbsorber.cxx +++ b/muonShieldOptimization/exitHadronAbsorber.cxx @@ -89,12 +89,13 @@ Bool_t exitHadronAbsorber::ProcessHits(FairVolume* vol) { TParticle* p = gMC->GetStack()->GetCurrentTrack(); fUniqueID = p->GetUniqueID(); Int_t pdgCode = p->GetPdgCode(); + Int_t idabs = TMath::Abs(pdgCode); gMC->TrackMomentum(fMom); - if (!(fOnlyMuons && TMath::Abs(pdgCode) != 13)) { + if (!(fOnlyMuons && idabs != 13)) { fTime = gMC->TrackTime() * 1.0e09; fLength = gMC->TrackLength(); gMC->TrackPosition(fPos); - if ((fMom.E() - fMom.M()) > EMax) { + if ( ((fMom.E() - fMom.M()) > EMax) || (idabs == 12 || idabs == 14 || idabs == 16) ) { AddHit(fTrackID, 111, TVector3(fPos.X(), fPos.Y(), fPos.Z()), TVector3(fMom.Px(), fMom.Py(), fMom.Pz()), fTime, fLength, 0, pdgCode, TVector3(p->Vx(), p->Vy(), p->Vz()), @@ -185,15 +186,18 @@ void exitHadronAbsorber::EndOfEvent() { void exitHadronAbsorber::PreTrack() { gMC->TrackMomentum(fMom); - if ((fMom.E() - fMom.M()) < EMax) { + + TParticle* p = gMC->GetStack()->GetCurrentTrack(); + Int_t pdgCode = p->GetPdgCode(); + Int_t idabs = TMath::Abs(pdgCode); + + if (((fMom.E() - fMom.M()) < EMax) && (idabs != 12) && (idabs != 14) && (idabs != 16)) { gMC->StopTrack(); return; } - TParticle* p = gMC->GetStack()->GetCurrentTrack(); - Int_t pdgCode = p->GetPdgCode(); + // record statistics for neutrinos, electrons and photons // add pi0 111 eta 221 eta' 331 omega 223 - Int_t idabs = TMath::Abs(pdgCode); if (idabs < 18 || idabs == 22 || idabs == 111 || idabs == 221 || idabs == 223 || idabs == 331 || idabs == 211 || idabs == 321 || idabs == 2212) { diff --git a/shipgen/FixedTargetGenerator.cxx b/shipgen/FixedTargetGenerator.cxx index a9b3191008..3c60f08c75 100644 --- a/shipgen/FixedTargetGenerator.cxx +++ b/shipgen/FixedTargetGenerator.cxx @@ -473,13 +473,14 @@ Bool_t FixedTargetGenerator::ReadEvent(FairPrimaryGenerator* cpg) { Double_t m = fPythia->event[ii].m(); Double_t pz = fPythia->event[ii].pz(); Int_t id = fPythia->event[ii].id(); + Int_t absid = fabs(id); Bool_t wanttracking = kTRUE; - if (e - m < EMax || !fPythia->event[ii].isFinal() || pz < 0) { + if (((e - m < EMax) && (absid != 12) && (absid != 14) && (absid != 16)) || !fPythia->event[ii].isFinal() || pz < 0) { wanttracking = kFALSE; } if (DrellYan || PhotonCollision || OnlyMuons) { // don't track underlying event - if (fabs(id) != 13) { + if (absid != 13) { wanttracking = kFALSE; } } From 48e5523c678c578518abdd2a229a643c1409ebdc Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 13 Jan 2026 10:04:38 +0000 Subject: [PATCH 2/2] style: pre-commit fixes --- muonShieldOptimization/exitHadronAbsorber.cxx | 6 ++++-- shipgen/FixedTargetGenerator.cxx | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/muonShieldOptimization/exitHadronAbsorber.cxx b/muonShieldOptimization/exitHadronAbsorber.cxx index 0defe5594d..3fe467c63d 100644 --- a/muonShieldOptimization/exitHadronAbsorber.cxx +++ b/muonShieldOptimization/exitHadronAbsorber.cxx @@ -95,7 +95,8 @@ Bool_t exitHadronAbsorber::ProcessHits(FairVolume* vol) { fTime = gMC->TrackTime() * 1.0e09; fLength = gMC->TrackLength(); gMC->TrackPosition(fPos); - if ( ((fMom.E() - fMom.M()) > EMax) || (idabs == 12 || idabs == 14 || idabs == 16) ) { + if (((fMom.E() - fMom.M()) > EMax) || + (idabs == 12 || idabs == 14 || idabs == 16)) { AddHit(fTrackID, 111, TVector3(fPos.X(), fPos.Y(), fPos.Z()), TVector3(fMom.Px(), fMom.Py(), fMom.Pz()), fTime, fLength, 0, pdgCode, TVector3(p->Vx(), p->Vy(), p->Vz()), @@ -191,7 +192,8 @@ void exitHadronAbsorber::PreTrack() { Int_t pdgCode = p->GetPdgCode(); Int_t idabs = TMath::Abs(pdgCode); - if (((fMom.E() - fMom.M()) < EMax) && (idabs != 12) && (idabs != 14) && (idabs != 16)) { + if (((fMom.E() - fMom.M()) < EMax) && (idabs != 12) && (idabs != 14) && + (idabs != 16)) { gMC->StopTrack(); return; } diff --git a/shipgen/FixedTargetGenerator.cxx b/shipgen/FixedTargetGenerator.cxx index 3c60f08c75..52e09c3f18 100644 --- a/shipgen/FixedTargetGenerator.cxx +++ b/shipgen/FixedTargetGenerator.cxx @@ -475,7 +475,8 @@ Bool_t FixedTargetGenerator::ReadEvent(FairPrimaryGenerator* cpg) { Int_t id = fPythia->event[ii].id(); Int_t absid = fabs(id); Bool_t wanttracking = kTRUE; - if (((e - m < EMax) && (absid != 12) && (absid != 14) && (absid != 16)) || !fPythia->event[ii].isFinal() || pz < 0) { + if (((e - m < EMax) && (absid != 12) && (absid != 14) && (absid != 16)) || + !fPythia->event[ii].isFinal() || pz < 0) { wanttracking = kFALSE; } if (DrellYan || PhotonCollision || OnlyMuons) {