Skip to content

SMOG2 trigger lines and prefilters

Saverio Mariani requested to merge samarian_SMOG2Lines into master

Implementation of core SMOG2 HLT1 trigger lines and filters (documentation in this twiki)

TODO: Following an old discussion with Alex, who was against trigger lines outputting a mask (breaking the requirement of independency among lines), I implemented as filters the selections outputting a mask. Is this changed now? (resolved in this comment )

Implemented filters:

  • CheckPV: filters events with a PV in a z range, to switch off SMOG2 lines for events with only pp collisions (and vice versa, as can be relevant for PbPb + PbSMOG2 datasets)
  • LowMult: filters events with a reconstructed number of Velo tracks in a range, to allow (e.g.) CEP physics lines implementation
  • BeamCrossingType: filters a given beam crossing type, to be combined with the previous one to measure the SMOG2 lumi via p-e elastic scattering (closes Allen/#225)

Implemented SMOG2 lines:

  • SMOG2_MinimumBiasLine: triggers on VELO tracks from the SMOG2 region and with a minimum number of VELO hits. It is required for astrophysics-motivated measurements + efficiency checks (will be prefiltered)
  • SMOG2_DiMuonHighMass: triggers on dimuon signatures, required for charm measurements
  • SMOG2_DiTrack: triggering on ditrack signatures, instantiated for D0 -> Kpi, eta ->pp and generic
  • SMOG2_SingleTrack: generic high-pT signature

To cope with the possible simultaneous data-taking, all SMOG2 lines require the triggering object to be in the SMOG2 region. On pp lines, I applied requirements asking the triggering object to be and/or to be associated to a PV not in the SMOG2 region. This rejects the SMOG2 contamination (yet minor, considering the lower SMOG2 energy and collision rate).

Branch tested with pipeline 3979399. Only failing steps are:

  • physics_efficiency, where:
    • all physics lines keep the same rate, which demonstrates the requirements of objects not coming from SMOG2 are fully efficient;
    • monitoring and HighPtMuNoID lines can change by a unit because of the different hashing string, affecting the postscaling
  • physics_efficiency_full tests fail as expected (numbers of SMOG2 events accepted from pp lines go to zero)

Supersedes Allen/!520 (closed) (TODO: clean old branches)

With respect to the configuration:

  • The default sequences only allowed the gec filter to be applied to lines. To cope with more complex prefiltering strategies, the make_line_composite_node_with_gec and the line_maker functions are replaced to accept no, a single or a list of prefilter algorithms (and are moved to utils to be shared between HLT1 and HLT1_no_calo);
  • Line definition functions (like default_physics_lines and monitoring_lines) only define the lines, the upstream prefiltering is applied with a bind to line_maker
  • Line names and hashing strings include the applied prefilters

cc @ggrazian

Edited by Saverio Mariani

Merge request reports