Skip to content

HelixTool: don't count straws without signal in the helix hit ratio - #2035

Open
michaelmackenzie wants to merge 4 commits into
Mu2e:mainfrom
michaelmackenzie:helixtool-tracker-status
Open

michaelmackenzie wants to merge 4 commits into
Mu2e:mainfrom
michaelmackenzie:helixtool-tracker-status

Conversation

@michaelmackenzie

@michaelmackenzie michaelmackenzie commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

The hit ratio (measured straw hits / expected plane-face crossings) counted every face the helix crosses inside the tracker active radius as an expected hit, so dead panels and straws (TrackerStatus noSignal/suppress) biased it low and made minHitRatio cuts depend on the tracker conditions.

  • HelixTool takes an optional StrawNoSignal function. With it, each face crossing is weighted by the live fraction of the nearest straw in each layer at the crossing point. A function is used instead of TrackerStatus to avoid a Mu2eUtilities -> TrackerConditions library dependency.
  • The hit ratio is evaluated lazily, on the first hitRatio() call; the filters apply it as the last cut, and skip it when minHitRatio <= 0.
  • HelixFilter and MultiHelixFilter: new useTrackerStatus parameter (default true) passes TrackerStatus noSignal || suppress; false keeps the previous behavior. ReadTriggerInfo has the same parameter and definition.
  • A face crossing with no straw of that face at the point (outside the panel's straws radially, or beyond the straw ends) keeps the weight 1.
  • Removed the unused HelixTool::nMinHitsLoop() (never set) and _trackerLength; nstrawhits() returns int.

With the Sim_commissioning reduced-tracker conditions (31% of straws without signal) the median CE helix hit ratio goes from 0.56 to 1.0, so minHitRatio 0.4 keeps its meaning. With useTrackerStatus false the trigger results are identical to before.

Note on the useTrackerStatus default. The default true is deliberate: the hit ratio should follow the tracker conditions in every configuration, and with no status entries (e.g. the online EMPTY DbService purpose) it is identical to the old ratio. Making the key mandatory would require a simultaneous Offline and mu2e-trig-config merge (35 HelixFilter/MultiHelixFilter tables), since either one alone breaks the other's CI. This changes the trigger CI pass counts for some helix paths by < 1 sigma on the Sim_best conditions; the mu2e-trig-config ci/reference_log_file.log will be regenerated after this merges.

The hit ratio (measured straw hits / expected plane-face crossings) counted
every face the helix crosses inside the tracker active radius as an
expected hit, so dead panels and straws (TrackerStatus noSignal/suppress)
biased it low and made minHitRatio cuts depend on the tracker conditions.

- HelixTool takes an optional StrawNoSignal function. With it, each face
  crossing is weighted by the live fraction of the nearest straw in each
  layer at the crossing point. A function is used instead of TrackerStatus
  to avoid a Mu2eUtilities -> TrackerConditions library dependency.
- The hit ratio is evaluated lazily, on the first hitRatio() call; the
  filters apply it as the last cut, and skip it when minHitRatio <= 0.
- HelixFilter and MultiHelixFilter: new useTrackerStatus parameter
  (default true) passes TrackerStatus noSignal || suppress; false keeps
  the previous behavior. ReadTriggerInfo uses the same definition.
- Removed the unused HelixTool::nMinHitsLoop() (never set) and
  _trackerLength; nstrawhits() returns int.

With the Sim_commissioning reduced-tracker conditions (31% of straws
without signal) the median CE helix hit ratio goes from 0.56 to 1.0, so
minHitRatio 0.4 keeps its meaning. With useTrackerStatus false the
trigger results are identical to before.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@FNALbuild

Copy link
Copy Markdown
Collaborator

Hi @michaelmackenzie,
You have proposed changes to files in these packages:

  • Mu2eUtilities
  • Trigger
  • TrkFilters

which require these tests: build.

@Mu2e/fnalbuild-users, @Mu2e/write have access to CI actions on main.

⌛ The following tests have been triggered for 8265839: build (Build queue - API unavailable)

About FNALbuild. Code review on Mu2e/Offline.

@FNALbuild

Copy link
Copy Markdown
Collaborator

☔ The build tests failed for 8265839.

Test Result Details
test with ✅ Command did not list any other PRs to include
merge ✅ Merged 8265839 at 24a1aa5
build (prof) ✅ Log file. Build time: 04 min 26 sec
ceSimReco ✅ Log file.
g4test_03MT ✅ Log file.
transportOnly ✅ Log file.
POT ✅ Log file.
g4study ✅ Log file.
cosmicSimReco ✅ Log file.
cosmicOffSpill ❌ Log file. Return Code 9.
ceSteps ✅ Log file.
ceDigi ❌ Log file. Return Code 9.
muDauSteps ✅ Log file.
ceMix ❌ Log file. Return Code 9.
rootOverlaps ✅ Log file.
g4surfaceCheck ✅ Log file.
trigger ❌ Log file. Return Code 2.
check_cmake ✅ Log file.
FIXME, TODO ➡️ TODO (0) FIXME (1) in 5 files
clang-tidy ➡️ 3 errors 569 warnings
whitespace check ✅ no whitespace errors found

N.B. These results were obtained from a build of this Pull Request at 8265839 after being merged into the base branch at 24a1aa5.

For more information, please check the job page here.
Build artifacts are deleted after 5 days. If this is not desired, select Keep this build forever on the job page.

@michaelmackenzie

Copy link
Copy Markdown
Contributor Author

@FNALbuild run build test

@FNALbuild

Copy link
Copy Markdown
Collaborator

⌛ The following tests have been triggered for 8265839: build (Build queue - API unavailable)

@FNALbuild

Copy link
Copy Markdown
Collaborator

☀️ The build tests passed at 8265839.

Test Result Details
test with ✅ Command did not list any other PRs to include
merge ✅ Merged 8265839 at fd9bfbd
build (prof) ✅ Log file. Build time: 04 min 26 sec
ceSimReco ✅ Log file.
g4test_03MT ✅ Log file.
transportOnly ✅ Log file.
POT ✅ Log file.
g4study ✅ Log file.
cosmicSimReco ✅ Log file.
cosmicOffSpill ✅ Log file.
ceSteps ✅ Log file.
ceDigi ✅ Log file.
muDauSteps ✅ Log file.
ceMix ✅ Log file.
rootOverlaps ✅ Log file.
g4surfaceCheck ✅ Log file.
trigger ❌ Log file. Return Code 2.
check_cmake ✅ Log file.
FIXME, TODO ➡️ TODO (0) FIXME (1) in 5 files
clang-tidy ➡️ 3 errors 569 warnings
whitespace check ✅ no whitespace errors found

N.B. These results were obtained from a build of this Pull Request at 8265839 after being merged into the base branch at fd9bfbd.

For more information, please check the job page here.
Build artifacts are deleted after 5 days. If this is not desired, select Keep this build forever on the job page.

@michaelmackenzie

Copy link
Copy Markdown
Contributor Author

@FNALbuild run build test

@FNALbuild

Copy link
Copy Markdown
Collaborator

⌛ The following tests have been triggered for 8265839: build (Build queue - API unavailable)

@FNALbuild

Copy link
Copy Markdown
Collaborator

☀️ The build tests passed at 8265839.

Test Result Details
test with ✅ Command did not list any other PRs to include
merge ✅ Merged 8265839 at fd9bfbd
build (prof) ✅ Log file. Build time: 04 min 26 sec
ceSimReco ✅ Log file.
g4test_03MT ✅ Log file.
transportOnly ✅ Log file.
POT ✅ Log file.
g4study ✅ Log file.
cosmicSimReco ✅ Log file.
cosmicOffSpill ✅ Log file.
ceSteps ✅ Log file.
ceDigi ✅ Log file.
muDauSteps ✅ Log file.
ceMix ✅ Log file.
rootOverlaps ✅ Log file.
g4surfaceCheck ✅ Log file.
trigger ❓ Log file. Return Code 1.
check_cmake ✅ Log file.
FIXME, TODO ➡️ TODO (0) FIXME (1) in 5 files
clang-tidy ➡️ 3 errors 569 warnings
whitespace check ✅ no whitespace errors found

N.B. These results were obtained from a build of this Pull Request at 8265839 after being merged into the base branch at fd9bfbd.

For more information, please check the job page here.
Build artifacts are deleted after 5 days. If this is not desired, select Keep this build forever on the job page.

@oksuzian oksuzian left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR Review Summary — #2035

Reviewed at head 8265839752040f071149dbb565bbde1790489563. first pass

Decision

  • 🟢 approve. The change does what the description says, and the build passes at this head. Two minor items and one follow-up for the trigger CI reference are below; none of them blocks.

Scope understood

  • The helix hit ratio (straw hits on the helix / expected plane-face crossings) no longer counts a crossing in full when the straws there cannot give a signal. HelixTool takes an optional "this straw has no signal" function and weights each face crossing by the live fraction of the nearest straw in each of its two layers.
  • HelixFilter and MultiHelixFilter get a new useTrackerStatus key (default true) that passes TrackerStatus noSignal || suppress. ReadTriggerInfo always uses it.
  • The ratio is computed on first use, and the filters skip it when minHitRatio <= 0. nMinHitsLoop() and _trackerLength are removed, and nstrawhits() now returns int.

Findings

  1. 🟡 [S2] useTrackerStatus has a C++ default of true, and it changes trigger decisions.

    • Evidence: HelixFilter_module.cc and MultiHelixFilter_module.cc, fhicl::Atom<bool> useTrackerStatus{..., true}. No fcl in mu2e-trig-config or Production sets the key, so every helix filter in the trigger menu picks up the new behaviour without its config saying so. Every one of those filters cuts on the ratio: minHitRatio is 0.4 or 0.5 at 18 sites in core/filters/trig{Apr,Cpr,Mpr,Tpr}Filters.fcl.
    • Impact: the house rule is that a parameter whose right value depends on the physics context stays mandatory and gets its value from a prolog. The CI trigger job shows the effect is real (see Validation check). Whether a path uses the tracker status is then visible only in the C++ source.
    • Suggested fix: make the key mandatory (two-argument fhicl::Atom) and set it in the trigger filter prolog tables, with a companion mu2e-trig-config PR. If you prefer to keep the default, say so in the description so the trigger change is on record.
  2. ⚪ [S3] liveFraction falls back to the end straws when no straw on that face is at the crossing point.

    • Evidence: HelixTool.cc, liveFraction. If the crossing's distance along the panel normal (bestRho) is below straw 0 or above straw 95, sEst is clamped to 0 or nStraws-1. The weight then comes from the innermost or outermost straw pair, which is not at that point. The same holds when the point is inside the radial range but beyond the end of the straw. Both happen in the gaps between the three panels of one face.
    • Impact: small. Before this PR such a crossing counted 1. Now it counts 1 unless the end straws of that panel are dead. Counting a face with no straw at the point as expected is older than this PR. The header comment ("the fraction of live straws (nearest straw in each layer) at the crossing point") reads as if this case cannot happen.
    • Suggested fix: either say in the comment that out-of-panel crossings take the end straws' status, or return 1 (the old weight) when bestRho is outside [rho0, rhoMax].
  3. ⚪ [S3] ReadTriggerInfo always applies the tracker status, with no switch.

    • Evidence: ReadTriggerInfo_module.cc, analyze() sets _noSignal unconditionally. The comment says "same definition of the helix hit ratio as in HelixFilter".
    • Impact: if a HelixFilter is run with useTrackerStatus: false, the hit-ratio histogram no longer matches the cut that filter applied. No fcl in Offline or mu2e-trig-config configures ReadTriggerInfo, so nothing is affected today.

🟢 Verified at this head:

  • The "no signal" definition matches hit reconstruction. noSignal || suppress is the same test StrawHitRecoUtils.cc:96 uses to drop or flag-as-dead hits from a straw. So the denominator now excludes exactly the straws the numerator could never have hits from. noSignal covers absent, no wire, no HV/LV, no gas, low gas gain, no preamp and disabled. noisy straws still count as live, which is right, since they do give signals.
  • Face and layer indexing is correct. StrawId::face() is the low bit of the panel number (_facemsk = 0x80, the low bit of the panel field), so getPanel(face) and the ipn += _nfaces loop visit exactly the three panels on that face. layer() is the straw-number parity (_layermsk = 0x1), so straws alternate layers. The ±2 window around the interpolated straw index always holds at least one straw of each layer, including when it is clamped at either end.
  • Choosing the panel is right. Each panel's outward normal is built from its straw-0 midpoint minus the along-straw component. Taking the largest projection picks the panel whose centre is closest in azimuth to the crossing. Straw 0 is the innermost straw (Panel.hh, "In the Tracker the primary straw is the innermost straw"; tracker.innermostLayer = 0 in tracker_v7.txt).
  • The reordered cuts give the same decisions. In MultiHelixFilter, moving the ratio test after requireCaloCluster does not change the result, since each test returns early. In HelixFilter, _minHitRatio defaults to 0, so skipping the ratio when _minHitRatio <= 0 matches the old hRatio >= 0 (always true). MultiHelixFilter defaults to -1, the same case.
  • The lazy cache is safe. HelixTool is always a function-local object, one per helix. The mutable _hitRatio is never shared between threads or helices.
  • The removed members had no users. At main, nMinHitsLoop() has no callers outside Mu2eUtilities. The other HelixTool users (AgnosticHelixFinder, CalHelixFinder, RobustHelixFinder, ValHelixSeed) construct it with two arguments and use only dirOfProp, nLoops, meanHitRadialDist and nstrawhits. The default argument keeps them building and unchanged. nstrawhits() going from float to int matches every caller, which already stored it in an int.
  • Link lines. TrkFilters and Trigger add TrackerConditions and ProditionsService (CMake) and mu2e_TrackerConditions and mu2e_DbTables (scons). Mu2eUtilities gains no dependency, as the description says. Both check_cmake and the scons build pass.

Validation check

  • Build/tests run: FNALbuild passed at this head (build 3449, merged at fd9bfbdb), with all sim/reco jobs, check_cmake and whitespace green.
    • trigger shows ❓, return code 1. I read the log. Return code 1 is the checker's "minor change" class: eight helix paths changed their pass counts against ci/reference_log_file.log, all by less than 1σ:

      path reference this PR
      tpr_HlxDe_70m50p 1236 1264
      tpr_HlxUe_50m30p 1619 1646
      tpr_HlxDe_30p_IPA 488 498
      tpr_HlxDe_30p_IPAPhi 116 118
      cpr_HlxUe_40 21 22
      apr_Hlx_50_Hlx_30 13 14
      apr_Hlx_50, apr_Hlx_30 685 687

      The time per event is within 6% of the reference. This is the expected effect of the default-on key on the Sim_best conditions the CI job loads (which has panel and straw status tables), on 20000 events.

    • #2040, built on the same base fd9bfbdb a few hours later, has a clean trigger. So the change comes from this PR, not from the base. Your two earlier builds (3444, 3445) failed trigger with return code 2. That failure mode also hit #2045 once and cleared on rerun at the same commit, so I read it as the known flaky failure, not this PR.

    • Locally I read the diff, the call sites and the CI log. I did not run the code. I could not check the description's two numbers, the median ratio 0.56 to 1.0 with Sim_commissioning and identical results with useTrackerStatus: false. CI ran only the default true.

  • Config contract check: pass. The new key is validated; see finding 1 for its default.
  • Cross-repo consistency: needs a follow-up. Once this merges, every Offline PR's trigger check will show the same ❓ until mu2e-trig-config ci/reference_log_file.log is regenerated. No other repository calls HelixTool, and EventNtuple#423 does not touch it.
  • Merge order: #2038 is stacked on this PR (this commit is its first), so this one goes first.

Residual risk

  • The online trigger uses DbService purpose EMPTY, so I expect its TrackerStatus to have no status rows and the online decision to be unchanged. I did not run it to confirm. Once run-time status tables are loaded online (the commented textFile in core/trigServices.fcl), the online hit-ratio cut changes with them. That is the intent, but it is a change in online trigger behaviour that follows the conditions, not the menu.

Author follow-ups

  1. Finding 1: make useTrackerStatus mandatory and set it in the trigger filter tables, or state in the description that the default is deliberate.
  2. Regenerate the mu2e-trig-config CI reference log after this merges.
  3. Optional: findings 2 and 3.

…rackerStatus

- liveFraction: a face crossing with no straw of that face at the point (radially
  outside the panel's straws, or beyond the straw ends, e.g. between the panels of
  the face) keeps the old weight 1 instead of taking the end straws' status.
- ReadTriggerInfo: add useTrackerStatus (default true, as in HelixFilter) so the
  hit-ratio histograms can match a filter run without the tracker status.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@michaelmackenzie

Copy link
Copy Markdown
Contributor Author

Thanks @oksuzian. Addressed in 8e8b3d1:

  1. useTrackerStatus default: kept true on purpose, and the description now says so. Making it mandatory would need Offline and mu2e-trig-config to merge at the same moment (35 filter tables), because either one alone breaks the other's CI. With no status rows (online EMPTY), the ratio is the same as before. I'll regenerate the trig-config CI reference log after this merges.
  2. liveFraction: a crossing with no straw of that face at the point (outside [rho0, rhoMax], or beyond the straw ends) now keeps the old weight of 1, and the header comment says so.
  3. ReadTriggerInfo: new useTrackerStatus key (default true, as in HelixFilter).

Local check: build OK, and triggerTest.fcl runs on 1000 CI events.

@michaelmackenzie

Copy link
Copy Markdown
Contributor Author

@FNALbuild run build test with Mu2e/mu2e-trig-config#178

@FNALbuild

Copy link
Copy Markdown
Collaborator

⌛ The following tests have been triggered for 4c77950: build (Build queue - API unavailable)

@FNALbuild

Copy link
Copy Markdown
Collaborator

☀️ The build tests passed at 4c77950.

Test Result Details
test with ✅ Included Mu2e/mu2e-trig-config#178 @ e179cced6055935a52129d1029839c7edfb55773 by merge
merge ✅ Merged 4c77950 at b8cfd1d
build (prof) ✅ Log file. Build time: 04 min 28 sec
ceSimReco ✅ Log file.
g4test_03MT ✅ Log file.
transportOnly ✅ Log file.
POT ✅ Log file.
g4study ✅ Log file.
cosmicSimReco ✅ Log file.
cosmicOffSpill ✅ Log file.
ceSteps ✅ Log file.
ceDigi ✅ Log file.
muDauSteps ✅ Log file.
ceMix ✅ Log file.
rootOverlaps ✅ Log file.
g4surfaceCheck ✅ Log file.
trigger ❓ Log file. Return Code 1.
check_cmake ✅ Log file.
FIXME, TODO ➡️ TODO (0) FIXME (1) in 5 files
clang-tidy ➡️ 3 errors 570 warnings
whitespace check ✅ no whitespace errors found

N.B. These results were obtained from a build of this Pull Request at 4c77950 after being merged into the base branch at b8cfd1d.

For more information, please check the job page here.
Build artifacts are deleted after 5 days. If this is not desired, select Keep this build forever on the job page.

@FNALbuild

Copy link
Copy Markdown
Collaborator

📝 The HEAD of main has changed to 813ec61. Tests are now out of date.

@oksuzian oksuzian left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR Review Summary — #2035

Reviewed at head 4c77950ac4e68e22f0eeadd045cbad35271414d2. re-review of 8e8b3d1a

Decision

  • 🟢 approve. The last open item from my review is fixed: useTrackerStatus is now a required key, and mu2e-trig-config#178 sets it in every helix filter table. Merge the two together; each breaks the other's CI on its own.

Scope understood

  • One new commit, 4c77950a. It drops the true default from useTrackerStatus in HelixFilter, MultiHelixFilter and ReadTriggerInfo (+4/−4). Companion: mu2e-trig-config#178.

Findings

  1. ⚪ [S3] In ReadTriggerInfo, bool _useTrackerStatus; (ReadTriggerInfo_module.cc:267) lost its in-class = true and is now set in the constructor body (:293). That is correct, since the constructor always sets it. But the two filters initialise the same member in the initialiser list (HelixFilter_module.cc:258, MultiHelixFilter_module.cc:290), and house rule 6 prefers that or an in-class initialiser. Optional.

🟢 Fixed since 8e8b3d1a, verified at this head:

  • [was S2] C++ default for useTrackerStatus. The key is now mandatory in all three modules, and every member is set from config().useTrackerStatus().
  • Every table that builds these modules sets the key. I searched for module_type (quoted and unquoted) for HelixFilter, MultiHelixFilter and ReadTriggerInfo:
    • mu2e-trig-config#178 at db1ddaa7: 35 tables (Apr 16, Cpr 11, Tpr 7, Mpr 1), each with useTrackerStatus: true. The gen/ menus are generated from these at build time.
    • None in Production main, nor in this PR's Offline fcl.
    • None in shallow clones of PassN, DQM, EventNtuple, EventDisplay, Tutorial, RefAna or ArtAnalysis.
    • ReadTriggerInfo has no configured user anywhere, so no table needs the new key for it.
  • The full trigger menu validates and its decisions are unchanged.
    • I built this PR merged onto main b8cfd1d7, as FNALbuild merges it. It was a sparse build of the six packages that include HelixTool.hh, against the CI backing main/b8cfd1d7_efebc0a2_3b4e7393, together with mu2e-trig-config#178 and Production main.
    • fhicl-dump of test/triggerTest.fcl succeeds and carries all 35 keys.
    • The trig-config CI trigger test, run exactly as FNALbuild runs it on all 20000 events, gives return code 0 against #178's reference.
    • All 52 path counts equal both #178's reference and FNALbuild build 3476. They also equal build 3469 at 8e8b3d1a, so making the key required changed no decision.

Validation check

  • Build/tests run:
    • FNALbuild passed at this head with mu2e-trig-config#178 included at e179cced (build 3476). trigger was ❓ there because the reference log had not yet been updated; #178's second commit db1ddaa7 regenerates it from that build.
    • Locally: the build, fhicl-dump and full trigger test above, all passing.
    • Scripts and logs are in claude-scratch/pr2035_r3/ (build_run.sh, trigger_local.log, check_local.txt).
  • Config contract check: pass.
  • Cross-repo consistency: pass with mu2e-trig-config#178.

Residual risk

  • Merge order: once this PR merges, trig-config main without #178 fails config validation in every job that builds the trigger menu. Once #178 merges, Offline main without this PR rejects the unknown useTrackerStatus key. Merge them together, as with Offline#2045 and #176 earlier today.

Author follow-ups

  1. Optional: initialise _useTrackerStatus in ReadTriggerInfo's initialiser list, like the filters (finding 1).

@brownd1978 brownd1978 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good

@michaelmackenzie

Copy link
Copy Markdown
Contributor Author

@FNALbuild run build test

@FNALbuild

Copy link
Copy Markdown
Collaborator

⌛ The following tests have been triggered for 115db19: build (Build queue - API unavailable)

@FNALbuild

Copy link
Copy Markdown
Collaborator

☔ The build tests failed for 115db19.

Test Result Details
test with ✅ Command did not list any other PRs to include
merge ✅ Merged 115db19 at 51a5125
build (prof) ✅ Log file. Build time: 04 min 30 sec
ceSimReco ✅ Log file.
g4test_03MT ✅ Log file.
transportOnly ✅ Log file.
POT ✅ Log file.
g4study ✅ Log file.
cosmicSimReco ✅ Log file.
cosmicOffSpill ❌ Log file. Return Code 9.
ceSteps ✅ Log file.
ceDigi ❌ Log file. Return Code 9.
muDauSteps ✅ Log file.
ceMix ❌ Log file. Return Code 9.
rootOverlaps ✅ Log file.
g4surfaceCheck ✅ Log file.
trigger ❌ Log file. Return Code 2.
check_cmake ✅ Log file.
FIXME, TODO ➡️ TODO (0) FIXME (1) in 5 files
clang-tidy ➡️ 3 errors 570 warnings
whitespace check ✅ no whitespace errors found

N.B. These results were obtained from a build of this Pull Request at 115db19 after being merged into the base branch at 51a5125.

For more information, please check the job page here.
Build artifacts are deleted after 5 days. If this is not desired, select Keep this build forever on the job page.

@michaelmackenzie

Copy link
Copy Markdown
Contributor Author

@FNALbuild run build test with Mu2e/mu2e-trig-config#178

@FNALbuild

Copy link
Copy Markdown
Collaborator

⌛ The following tests have been triggered for 115db19: build (Build queue - API unavailable)

@FNALbuild

Copy link
Copy Markdown
Collaborator

‼️ It was not possible to prepare the workspace for this test. This is often caused by merge conflicts - please check and try again.

> git diff --check | grep -i conflict
ci/reference_log_file.log:3: leftover conflict marker
ci/reference_log_file.log:6: leftover conflict marker
ci/reference_log_file.log:9: leftover conflict marker
ci/reference_log_file.log:17: leftover conflict marker
ci/reference_log_file.log:31: leftover conflict marker
ci/reference_log_file.log:42: leftover conflict marker
ci/reference_log_file.log:67: leftover conflict marker
ci/reference_log_file.log:412: leftover conflict marker
ci/reference_log_file.log:433: leftover conflict marker
ci/reference_log_file.log:438: leftover conflict marker
ci/reference_log_file.log:678: leftover conflict marker
ci/reference_log_file.log:918: leftover conflict marker
ci/reference_log_file.log:2049: leftover conflict marker
ci/reference_log_file.log:2054: leftover conflict marker
ci/reference_log_file.log:2059: leftover conflict marker
Test Result Details
test with ❌ Mu2e/mu2e-trig-config#178 @ db1ddaa7de1bc2ba19af05f62596e9975ec345eb merge failed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants