Skip to content

HLT2 and Sprucing lines -prefilters and passthrough

Nicole Skidmore requested to merge unifilter into master

Add HLT2 and Sprucing compatible line prefilter.

  • Changes the HLT2Line class to insert a HltDecReportsFilter at the beginning of the line object algs[].
  • Class variables are different between Hlt2Line and SpruceLine to locate Hlt1 and Hlt2 DecReports respectively and to allow checks on correct usage.
  • Beginnings of HLT1 filter for Sprucing lines, but commented out and forbidden for now

Unit tests

  • Unit test for HLT1 prefilter in HLT2 job already exists, Hlt/Hlt1Conf/tests/qmtest/persistency.qms/hlt2_read_hlt1_filtered_mdf.qmt, and has been updated using the new implementation.
  • Unit test Hlt/Hlt2Conf/tests/qmtest/test_spruce_Hlt2filter.qmt for filtering on HLT2 lines in Sprucing. Checks stdout counters

Allow a pass through HLT2 line

Allow a pass through HLT2 line that can request persistreco such as

def all_tracks(name="Hlt2piLine"):
  return Hlt2Line(name=name, prescale=1,algs=[],persistreco=True)

Unit tests

  • Unit tests for HLT2 pass through line that persists reconstruction Hlt/Hlt2Conf/tests/qmtest/test_hlt2_passthro_persistreco.qmt and Hlt/Hlt2Conf/tests/qmtest/test_hlt2_passthro_persistreco_output.qmt

Allow a Sprucing rate test

  • Follows from !938 (closed)
  • Put a 5000 evt run of Hlt/Hlt2Conf/options/Sprucing/hlt2_2or3bodytopo_realtime.py in /eos/lhcb/wg/rta/samples/mc/Hlt1Hlt2filtered_MinBias_sprucing. (This should be updated periodically)
  • spruce_all_lines_realtime.py then runs all sprucing lines

Unit tests

  • Hlt/Hlt2Conf/tests/qmtest/test_spruce_all_lines_realtime.qmt assesses the rates of sprucing lines using prepared files on /eos/lhcb/wg/rta/samples/mc/Hlt1Hlt2filtered_MinBias_sprucing/ and throws an error if its "too big"
  • Note that Hlt/Hlt2Conf/tests/qmtest/test_spruce_check.qmt tests the persistency using "live" HLT2 output

Clean ups

  • Changed the Hlt/Hlt2Conf/options/hlt2_2or3bodytopo_[fromfile, realtime].py to output MDF as will be in production. Changed dependent Sprucing options files accordingly
  • Moved Sprucing options to own folder

For next MR instead as this one is getting big...

  • Add pass through for Sprucing which will be Tesla - note the issue with the DstBank killer. Modify Hlt/Hlt2Conf/tests/qmtest/test_spruce_passthroughline.qmt for this. Think about !932 (comment 4651223)
  • Add HLT1 filter to sprucing and unit test see !932 (comment 4699334)

Notes

This builds on @mstahl 's !899 (closed)

and

!938 (closed) by @abertoli

Edited by Eduardo Rodrigues

Merge request reports