Source code for AllenConf.hlt1_inclusive_hadron_lines

###############################################################################
# (c) Copyright 2021 CERN for the benefit of the LHCb Collaboration           #
#                                                                             #
# This software is distributed under the terms of the Apache License          #
# version 2 (Apache-2.0), copied verbatim in the file "LICENSE".              #
#                                                                             #
# In applying this licence, CERN does not waive the privileges and immunities #
# granted to it by virtue of its status as an Intergovernmental Organization  #
# or submit itself to any jurisdiction.                                       #
###############################################################################
from AllenCore.algorithms import (
    kstopipi_line_t, track_mva_line_t, two_track_mva_line_t,
    two_track_mva_evaluator_t, two_track_line_ks_t, lambda2ppi_line_t,
    lambda_ll_detached_track_line_t, xi_omega_lll_line_t, cone_jet_line_t)
from AllenConf.utils import initialize_number_of_events
from AllenCore.generator import make_algorithm
from AllenCore.configuration_options import is_allen_standalone


[docs] def make_kstopipi_line(long_tracks, secondary_vertices, pre_scaler_hash_string=None, post_scaler_hash_string=None, post_scaler=1.0, name='Hlt1KsToPiPi_{hash}', double_muon_misid=False, enable_monitoring=True): number_of_events = initialize_number_of_events() return make_algorithm( kstopipi_line_t, name=name, double_muon_misid=double_muon_misid, enable_monitoring=is_allen_standalone() and enable_monitoring, host_number_of_events_t=number_of_events["host_number_of_events"], host_number_of_svs_t=secondary_vertices["host_number_of_svs"], dev_particle_container_t=secondary_vertices[ "dev_multi_event_composites"], pre_scaler_hash_string=pre_scaler_hash_string or name + "_pre", post_scaler_hash_string=post_scaler_hash_string or name + "_post", post_scaler=post_scaler)
[docs] def make_track_mva_line(long_tracks, long_track_particles, pre_scaler_hash_string=None, post_scaler_hash_string=None, name='Hlt1TrackMVA_{hash}', enable_tupling=False, enable_monitoring=True, alpha=296, maxGhostProb=0.5): number_of_events = initialize_number_of_events() return make_algorithm( track_mva_line_t, name=name, host_number_of_events_t=number_of_events["host_number_of_events"], host_number_of_reconstructed_scifi_tracks_t=long_tracks[ "host_number_of_reconstructed_scifi_tracks"], dev_particle_container_t=long_track_particles[ "dev_multi_event_basic_particles"], pre_scaler_hash_string=pre_scaler_hash_string or name + "_pre", post_scaler_hash_string=post_scaler_hash_string or name + "_post", enable_tupling=enable_tupling, enable_monitoring=is_allen_standalone() and enable_monitoring, alpha=alpha, maxGhostProb=maxGhostProb)
[docs] def make_two_track_mva_line(long_tracks, secondary_vertices, pre_scaler_hash_string=None, post_scaler_hash_string=None, name='Hlt1TwoTrackMVA_{hash}', enable_tupling=False, enable_monitoring=True, minMVA=0.9569, maxGhostProb=0.5): number_of_events = initialize_number_of_events() two_track_mva_evaluator = make_algorithm( two_track_mva_evaluator_t, name='two_track_mva_evaluator_{hash}', dev_consolidated_svs_t=secondary_vertices["dev_consolidated_svs"], dev_sv_offsets_t=secondary_vertices["dev_sv_offsets"], host_number_of_svs_t=secondary_vertices["host_number_of_svs"]) return make_algorithm( two_track_mva_line_t, name=name, host_number_of_events_t=number_of_events["host_number_of_events"], host_number_of_svs_t=secondary_vertices["host_number_of_svs"], dev_particle_container_t=secondary_vertices[ "dev_multi_event_composites"], pre_scaler_hash_string=pre_scaler_hash_string or name + "_pre", post_scaler_hash_string=post_scaler_hash_string or name + "_post", dev_two_track_mva_evaluation_t=two_track_mva_evaluator. dev_two_track_mva_evaluation_t, enable_tupling=enable_tupling, enable_monitoring=is_allen_standalone() and enable_monitoring, minMVA=minMVA, maxGhostProb=maxGhostProb)
[docs] def make_two_track_line_ks(long_tracks, secondary_vertices, pre_scaler_hash_string=None, post_scaler_hash_string=None, name='Hlt1TwoTrackKs_{hash}', enable_tupling=False, minTrackPt_piKs=470, minTrackP_piKs=5000, minTrackIPChi2_Ks=50, maxEta_Ks=4.2, min_combip=0.72, minComboPt_Ks=100): number_of_events = initialize_number_of_events() return make_algorithm( two_track_line_ks_t, name=name, host_number_of_events_t=number_of_events["host_number_of_events"], host_number_of_svs_t=secondary_vertices["host_number_of_svs"], dev_particle_container_t=secondary_vertices[ "dev_multi_event_composites"], pre_scaler_hash_string=pre_scaler_hash_string or name + "_pre", post_scaler_hash_string=post_scaler_hash_string or name + "_post", minTrackPt_piKs=minTrackPt_piKs, minTrackP_piKs=minTrackP_piKs, minTrackIPChi2_Ks=minTrackIPChi2_Ks, maxEta_Ks=maxEta_Ks, min_combip=min_combip, minComboPt_Ks=minComboPt_Ks, enable_tupling=enable_tupling)
[docs] def make_lambda2ppi_line(secondary_vertices, name, pre_scaler_hash_string=None, post_scaler_hash_string=None, minPVZ=-200., maxPVZ=200., maxVtxChi2=10., minVZ=-80., minDIRA=0.9997, minpipchi2=12., minpiipchi2=32., minpipt=80., enable_tupling=False, enable_monitoring=False): number_of_events = initialize_number_of_events() return make_algorithm( lambda2ppi_line_t, name=name, host_number_of_events_t=number_of_events["host_number_of_events"], host_number_of_svs_t=secondary_vertices["host_number_of_svs"], dev_particle_container_t=secondary_vertices[ "dev_multi_event_composites"], minPVZ=minPVZ, maxPVZ=maxPVZ, L_VZ_min=minVZ, L_VCHI2_max=maxVtxChi2, L_BPVDIRA_min=minDIRA, L_p_MIPCHI2_min=minpipchi2, L_pi_MIPCHI2_min=minpiipchi2, L_pi_PT_min=minpipt, pre_scaler_hash_string=pre_scaler_hash_string or name + '_pre', post_scaler_hash_string=post_scaler_hash_string or name + '_post', enable_tupling=enable_tupling, enable_monitoring=is_allen_standalone() and enable_monitoring)
[docs] def make_lambda_ll_detached_track_line(sv_track_candidates, name, pre_scaler_hash_string=None, post_scaler_hash_string=None, enable_monitoring=True, enable_tupling=False): number_of_events = initialize_number_of_events() return make_algorithm( lambda_ll_detached_track_line_t, name=name, host_number_of_events_t=number_of_events["host_number_of_events"], host_number_of_svs_t=sv_track_candidates[ "host_number_of_sv_track_combinations"], dev_particle_container_t=sv_track_candidates[ "dev_multi_event_composites"], pre_scaler_hash_string=pre_scaler_hash_string or name + '_pre', post_scaler_hash_string=post_scaler_hash_string or name + '_post', enable_monitoring=enable_monitoring, enable_tupling=enable_tupling)
[docs] def make_detached_xi_omega_lll_line(sv_twotrack_candidates, name, pre_scaler_hash_string=None, post_scaler_hash_string=None, enable_monitoring=True, enable_tupling=False): number_of_events = initialize_number_of_events() return make_algorithm( xi_omega_lll_line_t, name=name, host_number_of_events_t=number_of_events["host_number_of_events"], host_number_of_svs_t=sv_twotrack_candidates[ "host_number_of_sv_track_combinations"], dev_particle_container_t=sv_twotrack_candidates[ "dev_multi_event_composites"], pre_scaler_hash_string=pre_scaler_hash_string or name + '_pre', post_scaler_hash_string=post_scaler_hash_string or name + '_post', enable_monitoring=enable_monitoring, enable_tupling=enable_tupling)
[docs] def make_cone_jet_line(jets, name='Hlt1ConeJet_{hash}', pre_scaler_hash_string=None, post_scaler_hash_string=None, pre_scaler=1., min_pt=15000., max_pt=1000000., enable_tupling=False): number_of_events = initialize_number_of_events() return make_algorithm( cone_jet_line_t, name=name, host_number_of_events_t=number_of_events["host_number_of_events"], host_number_of_jets_t=jets["host_number_of_jets"], dev_particle_container_t=jets["dev_multi_event_jets"], min_jet_pt=min_pt, max_jet_pt=max_pt, pre_scaler_hash_string=pre_scaler_hash_string or name + '_pre', post_scaler_hash_string=post_scaler_hash_string or name + '_post', pre_scaler=pre_scaler, enable_tupling=enable_tupling)