From 5bcfd5106a88809867b3fd5b74469ffe4d6dcb0d Mon Sep 17 00:00:00 2001 From: Carlos Eduardo Cocha Toapaxi Date: Wed, 13 Mar 2024 15:24:11 +0100 Subject: [PATCH 01/51] Changing the prescale value to 0.5 for 6 lines in hexaquarks --- .../python/Hlt2Conf/lines/charm/hexaquarks.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/hexaquarks.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/hexaquarks.py index 0dc909815d1..32205a4af1b 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/hexaquarks.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charm/hexaquarks.py @@ -649,7 +649,7 @@ def make_hc_to_lamppipi(name, descriptors, make_lam): @register_line_builder(all_lines) -def HcToLamPPi_LL_line(name="Hlt2Charm_HcppToL0PpPip_LL_RSWS", prescale=1.0): +def HcToLamPPi_LL_line(name="Hlt2Charm_HcppToL0PpPip_LL_RSWS", prescale=0.5): alg = make_hc_to_lamppi( name="Charm_Hexa_HcToLamPPi_LL_{hash}", descriptors=[ @@ -662,7 +662,7 @@ def HcToLamPPi_LL_line(name="Hlt2Charm_HcppToL0PpPip_LL_RSWS", prescale=1.0): @register_line_builder(all_lines) -def HcToLamPPi_DD_line(name="Hlt2Charm_HcppToL0PpPip_DD_RSWS", prescale=1.0): +def HcToLamPPi_DD_line(name="Hlt2Charm_HcppToL0PpPip_DD_RSWS", prescale=0.5): alg = make_hc_to_lamppi( name="Charm_Hexa_HcToLamPPi_DD_{hash}", descriptors=[ @@ -676,7 +676,7 @@ def HcToLamPPi_DD_line(name="Hlt2Charm_HcppToL0PpPip_DD_RSWS", prescale=1.0): @register_line_builder(all_lines) def HcToLamPPiPi_LL_line(name="Hlt2Charm_HcpToL0PpPipPim_LL_RSWS", - prescale=1.0): + prescale=0.5): alg = make_hc_to_lamppipi( name="Charm_Hexa_HcToLamPPiPi_LL_{hash}", descriptors=[ @@ -691,7 +691,7 @@ def HcToLamPPiPi_LL_line(name="Hlt2Charm_HcpToL0PpPipPim_LL_RSWS", @register_line_builder(all_lines) def HcToLamPPiPi_DD_line(name="Hlt2Charm_HcpToL0PpPipPim_DD_RSWS", - prescale=1.0): + prescale=0.5): alg = make_hc_to_lamppipi( name="Charm_Hexa_HcToLamPPiPi_DD_{hash}", descriptors=[ @@ -805,7 +805,7 @@ def make_hcs_to_lampKpi(name, descriptors, make_lam): @register_line_builder(all_lines) def HcsToLamPKPi_LL_line(name="Hlt2Charm_HcspToL0PpKmPip_LL_RSWS", - prescale=1.0): + prescale=0.5): alg = make_hcs_to_lampKpi( name="Charm_Hexa_HcsToLamPKPi_LL_{hash}", descriptors=[ @@ -821,7 +821,7 @@ def HcsToLamPKPi_LL_line(name="Hlt2Charm_HcspToL0PpKmPip_LL_RSWS", @register_line_builder(all_lines) def HcsToLamPKPi_DD_line(name="Hlt2Charm_HcspToL0PpKmPip_DD_RSWS", - prescale=1.0): + prescale=0.5): alg = make_hcs_to_lampKpi( name="Charm_Hexa_HcsToLamPKPi_DD_{hash}", descriptors=[ -- GitLab From 84715409b6b9d22fa6d447b9db3ebde85654cfb2 Mon Sep 17 00:00:00 2001 From: sesen Date: Thu, 21 Mar 2024 17:59:22 +0100 Subject: [PATCH 02/51] use PyConf.reading for sprucing reco --- Hlt/Hlt2Conf/options/bandq/spruce_opt.py | 2 +- .../sprucing/spruce_SMOG2_AllLines_MC.py | 2 +- .../spruce_example_realtime_dstinput.py | 2 +- .../sprucing/spruce_passthrough_dstinput.py | 2 +- Hlt/Moore/python/Moore/LbExec.py | 6 +- .../RecoConf/reco_objects_for_spruce.py | 129 ------------------ .../python/RecoConf/reconstruction_objects.py | 2 +- 7 files changed, 8 insertions(+), 137 deletions(-) delete mode 100644 Hlt/RecoConf/python/RecoConf/reco_objects_for_spruce.py diff --git a/Hlt/Hlt2Conf/options/bandq/spruce_opt.py b/Hlt/Hlt2Conf/options/bandq/spruce_opt.py index b5188b8168e..b1d4db03478 100644 --- a/Hlt/Hlt2Conf/options/bandq/spruce_opt.py +++ b/Hlt/Hlt2Conf/options/bandq/spruce_opt.py @@ -17,7 +17,7 @@ Run like any other options file: from Moore import options, run_moore from RecoConf.global_tools import stateProvider_with_simplified_geom from RecoConf.reconstruction_objects import reconstruction -from RecoConf.reco_objects_for_spruce import reconstruction as reco_spruce, upfront_reconstruction as upfront_spruce +from PyConf.reading import reconstruction as reco_spruce, upfront_reconstruction as upfront_spruce from Hlt2Conf.lines.bandq import sprucing_lines from Hlt2Conf.lines.config_pid import nopid_muons diff --git a/Hlt/Hlt2Conf/options/sprucing/spruce_SMOG2_AllLines_MC.py b/Hlt/Hlt2Conf/options/sprucing/spruce_SMOG2_AllLines_MC.py index 4e0ea3c21a7..7baa44aaf61 100644 --- a/Hlt/Hlt2Conf/options/sprucing/spruce_SMOG2_AllLines_MC.py +++ b/Hlt/Hlt2Conf/options/sprucing/spruce_SMOG2_AllLines_MC.py @@ -12,7 +12,7 @@ from Moore import options, run_moore from RecoConf.global_tools import stateProvider_with_simplified_geom from RecoConf.reconstruction_objects import reconstruction -from RecoConf.reco_objects_for_spruce import reconstruction as reco_spruce, upfront_reconstruction as upfront_spruce +from PyConf.reading import reconstruction as reco_spruce, upfront_reconstruction as upfront_spruce from Hlt2Conf.lines.ift import sprucing_lines diff --git a/Hlt/Hlt2Conf/options/sprucing/spruce_example_realtime_dstinput.py b/Hlt/Hlt2Conf/options/sprucing/spruce_example_realtime_dstinput.py index 5b2a10e5dd8..46cb4f8161b 100644 --- a/Hlt/Hlt2Conf/options/sprucing/spruce_example_realtime_dstinput.py +++ b/Hlt/Hlt2Conf/options/sprucing/spruce_example_realtime_dstinput.py @@ -17,7 +17,7 @@ Produces spruce_realtimereco_dstinput.dst from Moore import options, run_moore from RecoConf.global_tools import stateProvider_with_simplified_geom from RecoConf.reconstruction_objects import reconstruction -from RecoConf.reco_objects_for_spruce import reconstruction as reco_spruce, upfront_reconstruction as upfront_spruce +from PyConf.reading import reconstruction as reco_spruce, upfront_reconstruction as upfront_spruce from Hlt2Conf.lines.test.spruce_test import Test_sprucing_line input_files = ['hlt2_2or3bodytopo_realtime_dst.dst'] diff --git a/Hlt/Hlt2Conf/options/sprucing/spruce_passthrough_dstinput.py b/Hlt/Hlt2Conf/options/sprucing/spruce_passthrough_dstinput.py index cbabd218978..479002a2904 100644 --- a/Hlt/Hlt2Conf/options/sprucing/spruce_passthrough_dstinput.py +++ b/Hlt/Hlt2Conf/options/sprucing/spruce_passthrough_dstinput.py @@ -18,7 +18,7 @@ Run like any other options file: """ from Moore import options, run_moore from RecoConf.global_tools import stateProvider_with_simplified_geom -from RecoConf.reco_objects_for_spruce import reconstruction as reco_spruce, upfront_reconstruction as upfront_spruce +from PyConf.reading import reconstruction as reco_spruce, upfront_reconstruction as upfront_spruce from Moore.lines import PassLine input_files = ['hlt2_2or3bodytopo_realtime_dst.dst'] diff --git a/Hlt/Moore/python/Moore/LbExec.py b/Hlt/Moore/python/Moore/LbExec.py index 0a3ab743d41..71000114460 100644 --- a/Hlt/Moore/python/Moore/LbExec.py +++ b/Hlt/Moore/python/Moore/LbExec.py @@ -17,7 +17,7 @@ from PyConf.application import ROOT_KEY from PyConf.packing import persistreco_version from RecoConf.reconstruction_objects import reconstruction -from RecoConf.reco_objects_for_spruce import reconstruction as reconstruction_for_spruce, upfront_reconstruction as upfront_reconstruction_for_spruce +from PyConf.reading import reconstruction as reconstruction_for_spruce, upfront_reconstruction as upfront_reconstruction_for_spruce class ProcessTypes(str, Enum): @@ -41,8 +41,8 @@ class Options(DefaultOptions): arguments are globally bound to the user-specified values. This way users do not have to manually configure these functions themselves. - reconstruction() from reconstruction_objects - - reconstruction() from reco_objects_for_spruce - - upfront_reconstruction() from reco_objects_for_spruce + - reconstruction() from PyConf.reading + - upfront_reconstruction() from PyConf.reading """ if self.process == ProcessTypes.Spruce: diff --git a/Hlt/RecoConf/python/RecoConf/reco_objects_for_spruce.py b/Hlt/RecoConf/python/RecoConf/reco_objects_for_spruce.py deleted file mode 100644 index c07a39450e0..00000000000 --- a/Hlt/RecoConf/python/RecoConf/reco_objects_for_spruce.py +++ /dev/null @@ -1,129 +0,0 @@ -############################################################################### -# (c) Copyright 2019-2021 CERN for the benefit of the LHCb Collaboration # -# # -# This software is distributed under the terms of the GNU General Public # -# Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". # -# # -# 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. # -############################################################################### -import os -from PyConf import configurable -from GaudiConf import reading -from PyConf.packing import reco_locations, pp2mcp_locations, unpackers_map -from PyConf.reading import upfront_decoder, dstdata_filter, postprocess_unpacked_data -from PyConf.reading import get_mc_vertices, get_mc_particles -from PyConf.components import force_location - - -def __make_dict(stream, locs): - """Return a dictionary of object type: location list - This is needed to decide which unpacker to use for a given object - """ - dct = {k: [] for k in unpackers_map().keys()} - for loc, typ in locs.items(): - if typ and loc.startswith( - stream) and not loc.startswith(stream + "/MC"): - alias = reading.type_map().get(typ) - if alias: typ = alias - if typ not in dct.keys(): - print("Warning: unknown type - ", locs.get(loc), - " at location ", loc, " -- skipping") - else: - dct[typ] += [force_location(loc)] - return dct - - -def __unpackers(stream, locations, mappedBuffers): - """Return a list of unpackers for reading reconstructed objects. - - This must run AFTER mc_unpackers if MC data!!!. - - Args: - cfg: configuration needed for finding linker locations - locations: list of packed object locations to unpack - configurables (bool): set to False to use PyConf Algorithm. - """ - - outputs = __make_dict(stream, locations) - - unp_map = unpackers_map() - unpacker_algs = [] - - for t, unp in unp_map.items(): - if t in outputs.keys(): - for loc in outputs[t]: - unpacker = unp( - InputName=force_location( - getattr( - mappedBuffers, 'location', mappedBuffers - ) # check for either location or fullKey().key() - ), # BUG / FIXME: why is force_location needed here??? inputName is a data handle!!! - outputs={'OutputName': force_location(loc)}) - - unpacker_algs += [unpacker] - - return unpacker_algs - - -@configurable -def upfront_reconstruction(simulation=False): - """Return a list DataHandles that define the upfront reconstruction output. - - This differs from `reconstruction` as it should not be used as inputs to - other algorithms, but only to define the control flow, i.e. the return - value of this function should be ran before all HLT2 lines. - - """ - - stream = '/Event/HLT2' - - inv_map = {v: k for k, v in reading.type_map().items()} - - reco_loc = reco_locations(stream) - dl = {v[0]: inv_map[v[1]] for v in reco_loc.values()} - - mc_algs = [] - if simulation: - mc_algs = [ - get_mc_vertices(os.path.join(stream, 'MC/Vertices')).producer, - get_mc_particles(os.path.join(stream, 'MC/Particles')).producer - ] - - pp2mcp_loc = pp2mcp_locations(stream) - dl.update((v[0], inv_map[v[1]]) for v in pp2mcp_loc.values()) - - unpackers = __unpackers(stream, dl, upfront_decoder(source="Hlt2")) - - ### TODO:FIXME take advantage of the fact that the above have datahandles... - # i.e. should _not_ have to return decoder here, and should just return the _output handles_ and not the algorithms - # i.e. `upfront_reconstruction` should be a drop-in replacement for `reconstruction()`, with the same return type - return [ - dstdata_filter(source='Hlt2'), - upfront_decoder(source="Hlt2").producer - ] + mc_algs + unpackers - - -@configurable -def reconstruction(simulation=False): - """Return a {name: DataHandle} dict that define the reconstruction output.""" - - stream = '/Event/HLT2' - data = {} - unpackers = upfront_reconstruction(simulation) - reco_loc = reco_locations(stream) - - if simulation: - reco_loc |= pp2mcp_locations(stream) - - for key, value in reco_loc.items(): - for v in unpackers: - if "OutputName" in v.outputs.keys( - ) and v.OutputName.location == value[0]: - data[key] = v.OutputName - - # FIXME 'packable' set to true while 'SharedObjectsContainer`s are not persistable - postprocess_unpacked_data(data, packable=True) - - return data diff --git a/Hlt/RecoConf/python/RecoConf/reconstruction_objects.py b/Hlt/RecoConf/python/RecoConf/reconstruction_objects.py index 79e7556535f..8f558980466 100644 --- a/Hlt/RecoConf/python/RecoConf/reconstruction_objects.py +++ b/Hlt/RecoConf/python/RecoConf/reconstruction_objects.py @@ -20,7 +20,7 @@ from RecoConf.reco_objects_from_file import ( reconstruction as reconstruction_from_file, upfront_reconstruction as upfront_reconstruction_from_file, ) -from RecoConf.reco_objects_for_spruce import ( +from PyConf.reading import ( reconstruction as reconstruction_for_spruce, upfront_reconstruction as upfront_reconstruction_for_spruce, ) -- GitLab From e0c38d874d2de33174f015c098d1497548ad5dd9 Mon Sep 17 00:00:00 2001 From: sesen Date: Tue, 26 Mar 2024 13:12:58 +0100 Subject: [PATCH 03/51] fix binds for reco --- Hlt/Moore/python/Moore/LbExec.py | 26 ++++++++++++++----- .../python/RecoConf/reco_objects_from_file.py | 3 +-- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/Hlt/Moore/python/Moore/LbExec.py b/Hlt/Moore/python/Moore/LbExec.py index 71000114460..d10cb0d99a8 100644 --- a/Hlt/Moore/python/Moore/LbExec.py +++ b/Hlt/Moore/python/Moore/LbExec.py @@ -13,11 +13,13 @@ from contextlib import contextmanager from enum import Enum from GaudiConf.LbExec import Options as DefaultOptions +from GaudiConf.LbExec import InputProcessTypes from PyConf.application import ROOT_KEY -from PyConf.packing import persistreco_version +from PyConf.packing import persistreco_version from RecoConf.reconstruction_objects import reconstruction -from PyConf.reading import reconstruction as reconstruction_for_spruce, upfront_reconstruction as upfront_reconstruction_for_spruce +from PyConf.reading import upfront_decoder, dstdata_filter, tes_root +from PyConf.reading import reconstruction as reconstruction_reading, upfront_reconstruction as upfront_reconstruction_reading class ProcessTypes(str, Enum): @@ -45,13 +47,25 @@ class Options(DefaultOptions): - upfront_reconstruction() from PyConf.reading """ - if self.process == ProcessTypes.Spruce: - reconstruction.global_bind(spruce=True, from_file=True) - reconstruction_for_spruce.global_bind( + if self.input_process: + upfront_decoder.global_bind( + source=InputProcessTypes(self.input_process).sourceID()) + dstdata_filter.global_bind( + source=InputProcessTypes(self.input_process).sourceID()) + + reconstruction_reading.global_bind( + input_process=self.input_process) + tes_root.global_bind(input_process=self.input_process) + persistreco_version.global_bind(version=self.persistreco_version) + + reconstruction_reading.global_bind( simulation=self.simulation and self.input_type == ROOT_KEY) - upfront_reconstruction_for_spruce.global_bind( + upfront_reconstruction_reading.global_bind( simulation=self.simulation and self.input_type == ROOT_KEY) persistreco_version.global_bind(version=self.persistreco_version) + if self.process == ProcessTypes.Spruce: + reconstruction.global_bind(spruce=True, from_file=True) + with super().apply_binds(): yield diff --git a/Hlt/RecoConf/python/RecoConf/reco_objects_from_file.py b/Hlt/RecoConf/python/RecoConf/reco_objects_from_file.py index 6726da7a222..d4678e0a7eb 100644 --- a/Hlt/RecoConf/python/RecoConf/reco_objects_from_file.py +++ b/Hlt/RecoConf/python/RecoConf/reco_objects_from_file.py @@ -29,8 +29,7 @@ def reconstruction(): ### Temporary: as long as we persist v1, we need to insert a converter for the new PVs data = {k: v.OutputName for k, v in reco_unpackers().items()} - # FIXME 'packable' set to true while 'SharedObjectsContainer`s are not persistable - postprocess_unpacked_data(data, packable=True) + postprocess_unpacked_data(data) return data -- GitLab From 99d77f7bfeee87acb87ee85e1323909613eeb4e5 Mon Sep 17 00:00:00 2001 From: Luke Grazette Date: Tue, 9 Apr 2024 17:09:20 +0200 Subject: [PATCH 04/51] [RTADPA BW Tests] Add IFT module to Sprucing tests --- .../bandwidth/spruce_bandwidth_wg_streams.py | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_wg_streams.py b/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_wg_streams.py index 665ddf61b13..69743a41394 100644 --- a/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_wg_streams.py +++ b/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_wg_streams.py @@ -29,17 +29,9 @@ import json from PRConfig.bandwidth_helpers import FileNameHelper log = logging.getLogger() -from Hlt2Conf.lines import ( - b_to_open_charm, - rd, - bandq, - qee, - charm, - b_to_charmonia, - semileptonic, - charmonium_to_dimuon, - bnoc, -) +from Hlt2Conf.lines import (b_to_open_charm, rd, bandq, qee, charm, + b_to_charmonia, semileptonic, charmonium_to_dimuon, + bnoc, ift) MODULES = { "b_to_open_charm": b_to_open_charm, @@ -50,7 +42,8 @@ MODULES = { 'b_to_charmonia': b_to_charmonia, 'slepton': semileptonic, 'c_to_dimuon': charmonium_to_dimuon, - 'bnoc': bnoc + 'bnoc': bnoc, + 'ift': ift } metainfo_repos.global_bind(extra_central_tags=['key-7e074b7d']) -- GitLab From eba475649cdc3dcbff844f400e8751f1052aa9a6 Mon Sep 17 00:00:00 2001 From: Gerhard Raven Date: Mon, 4 Mar 2024 13:25:58 +0100 Subject: [PATCH 05/51] Follow changes in LHCb!4463 - remove (not unnecessary) upfront_decoder.bind statements - remove unused _data_deps as it is no longer needed - make sure to use `get_mc_particles` and `get_mc_vertices` from PyConf to unpack MC Particles and Vertices, so that there is only one single unified way to configure those unpackers - add explicit dependecies to some unpacker configurations which unpack objects with references to other objects --- .../lines/semileptonic/HbToTauNu_BTracking.py | 11 +- .../Sprucing_production_PP_24c1.py | 17 +- Hlt/Moore/python/Moore/LbExec.py | 4 +- Hlt/Moore/python/Moore/config.py | 9 +- .../python/Moore/persistence/__init__.py | 16 -- .../python/Moore/persistence/hlt2_tistos.py | 19 +-- .../python/RecoConf/data_from_file.py | 149 +++++++++--------- 7 files changed, 101 insertions(+), 124 deletions(-) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/HbToTauNu_BTracking.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/HbToTauNu_BTracking.py index c363fd867d1..f69c52e4122 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/HbToTauNu_BTracking.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/HbToTauNu_BTracking.py @@ -261,7 +261,7 @@ def get_btracking_hlt2_particles_for_sprucing(hlt2_line): for btracking sprucing lines, to not rerun reco """ from Moore.persistence.hlt2_tistos import list_of_full_stream_lines - from PyConf.reading import get_particles, upfront_decoder + from PyConf.reading import get_particles hlt2_lines = [ line for line in list_of_full_stream_lines() if hlt2_line in line @@ -272,11 +272,10 @@ def get_btracking_hlt2_particles_for_sprucing(hlt2_line): f"it can't find '{hlt2_line}' in the FULL lines list. Please check!") hlt2_line_name = hlt2_lines[0] if found_line else hlt2_line - with upfront_decoder.bind(source="Hlt2"): - btrack_parts = get_particles( - f"/Event/HLT2/{hlt2_line_name}/ParticlesWithHeavyFlavourTracks/Particles" - ) - rels, hlt2_parts = get_heavyflavourtrack_table(btrack_parts) + btrack_parts = get_particles( + f"/Event/HLT2/{hlt2_line_name}/ParticlesWithHeavyFlavourTracks/Particles" + ) + rels, hlt2_parts = get_heavyflavourtrack_table(btrack_parts) return hlt2_parts, btrack_parts diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/sprucing_settings/Sprucing_production_PP_24c1.py b/Hlt/Hlt2Conf/python/Hlt2Conf/sprucing_settings/Sprucing_production_PP_24c1.py index 6e48c2c7e87..3dd3110e15c 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/sprucing_settings/Sprucing_production_PP_24c1.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/sprucing_settings/Sprucing_production_PP_24c1.py @@ -15,7 +15,7 @@ from RecoConf.global_tools import stateProvider_with_simplified_geom from Hlt2Conf.lines import sprucing_lines from Moore.lines import PassLine, SpruceLine -from PyConf.reading import get_particles, upfront_decoder +from PyConf.reading import get_particles from Moore.streams import DETECTORS, Stream, Streams from Moore.persistence.hlt2_tistos import list_of_full_stream_lines @@ -275,14 +275,13 @@ def make_turcal_spruceline(hlt2_linename, persist_reco=False, prescale=1.): location = f"/Event/HLT2/{hlt2_linename}/Particles" spruce_linename = hlt2_linename.replace("Hlt2", "SpruceTurCal") print(f"{filter} {location} {spruce_linename}") - with upfront_decoder.bind(source="Hlt2"): - hlt2_particles = get_particles(location) - turcal_spruce_line = SpruceLine( - name=spruce_linename, - hlt2_filter_code=filter, - algs=[hlt2_particles], - persistreco=persist_reco, - prescale=prescale) + hlt2_particles = get_particles(location) + turcal_spruce_line = SpruceLine( + name=spruce_linename, + hlt2_filter_code=filter, + algs=[hlt2_particles], + persistreco=persist_reco, + prescale=prescale) return turcal_spruce_line diff --git a/Hlt/Moore/python/Moore/LbExec.py b/Hlt/Moore/python/Moore/LbExec.py index d10cb0d99a8..616d49adfbf 100644 --- a/Hlt/Moore/python/Moore/LbExec.py +++ b/Hlt/Moore/python/Moore/LbExec.py @@ -18,7 +18,7 @@ from PyConf.application import ROOT_KEY from PyConf.packing import persistreco_version from RecoConf.reconstruction_objects import reconstruction -from PyConf.reading import upfront_decoder, dstdata_filter, tes_root +from PyConf.reading import dstdata_filter, tes_root from PyConf.reading import reconstruction as reconstruction_reading, upfront_reconstruction as upfront_reconstruction_reading @@ -48,8 +48,6 @@ class Options(DefaultOptions): """ if self.input_process: - upfront_decoder.global_bind( - source=InputProcessTypes(self.input_process).sourceID()) dstdata_filter.global_bind( source=InputProcessTypes(self.input_process).sourceID()) diff --git a/Hlt/Moore/python/Moore/config.py b/Hlt/Moore/python/Moore/config.py index 51808ddc9b0..3ed15d22cba 100644 --- a/Hlt/Moore/python/Moore/config.py +++ b/Hlt/Moore/python/Moore/config.py @@ -159,7 +159,7 @@ def moore_control_flow(options, streams, process, analytics=False): extra_locations_to_persist = [] packed_data = {} line_output_cf = {} - if process == "hlt2" or process == "spruce": + if process in ["hlt2", "spruce"]: event_output_prefix = "/Event/Spruce" if process == "spruce" else "/Event/HLT2" reco_output_prefix = "/Event/HLT2" @@ -222,15 +222,12 @@ def moore_control_flow(options, streams, process, analytics=False): else: stream_writers_nodes = [] - moore_children = ([lines_node] + [rw_nodes] + stream_writers_nodes) - moore = CompositeNode( + return CompositeNode( 'moore', combine_logic=NodeLogic.LAZY_AND, - children=moore_children, + children=([lines_node] + [rw_nodes] + stream_writers_nodes), force_order=True) - return moore - def run_moore(options, make_streams=None, diff --git a/Hlt/Moore/python/Moore/persistence/__init__.py b/Hlt/Moore/python/Moore/persistence/__init__.py index e70ae9ba93e..648eb91fef3 100644 --- a/Hlt/Moore/python/Moore/persistence/__init__.py +++ b/Hlt/Moore/python/Moore/persistence/__init__.py @@ -46,22 +46,6 @@ def __get_type(dh): return None -## TODO: add a parameter for 'how deep' to go... -def _data_deps(handle): - def __walk(visited, top): - if top.name in visited: return - visited.add(top.name) - for handles in top.inputs.values(): - handles = handles if isinstance(handles, list) else [handles] - for handle in handles: - yield handle - for p in __walk(visited, handle.producer): - yield p - - visited = set() - return __walk(visited, handle.producer) - - def _referenced_inputs(lines): """Return the set of all locations referenced by each line. diff --git a/Hlt/Moore/python/Moore/persistence/hlt2_tistos.py b/Hlt/Moore/python/Moore/persistence/hlt2_tistos.py index d7ed50a1e73..7d8ab2e57cc 100644 --- a/Hlt/Moore/python/Moore/persistence/hlt2_tistos.py +++ b/Hlt/Moore/python/Moore/persistence/hlt2_tistos.py @@ -18,7 +18,7 @@ This module provides the necessary functions. """ from .particle_moving import CopyParticles from PyConf.tonic import configurable -from PyConf.reading import get_particles, upfront_decoder +from PyConf.reading import get_particles @configurable @@ -33,15 +33,12 @@ def make_reduced_hlt2_candidates(): print( f"NOTE: Persisting TISTOS info for following lines {lines_for_TISTOS}") - with upfront_decoder.bind(source="Hlt2"): - - for line in lines_for_TISTOS: - hlt2_particles = get_particles( - f"/Event/HLT2/{line}/Particles", - WriteEmptyContainerIfBufferNotKnown=True) - mover = CopyParticles(hlt2_particles, - ["HLT2", "TISTOS", f"{line}"]) - movers += [mover] - list_of_copied_info += mover.outputs.values() + for line in lines_for_TISTOS: + hlt2_particles = get_particles( + f"/Event/HLT2/{line}/Particles", + WriteEmptyContainerIfBufferNotKnown=True) + mover = CopyParticles(hlt2_particles, ["HLT2", "TISTOS", f"{line}"]) + movers += [mover] + list_of_copied_info += mover.outputs.values() return movers, list_of_copied_info diff --git a/Hlt/RecoConf/python/RecoConf/data_from_file.py b/Hlt/RecoConf/python/RecoConf/data_from_file.py index 2b89e6f4472..726570e3ac5 100644 --- a/Hlt/RecoConf/python/RecoConf/data_from_file.py +++ b/Hlt/RecoConf/python/RecoConf/data_from_file.py @@ -39,8 +39,7 @@ import collections from Gaudi.Configuration import ERROR from Configurables import (UnpackMuonPIDs, UnpackRichPIDs, UnpackCaloHypo, UnpackProtoParticle, UnpackRecVertex, UnpackTrack, - UnpackMCParticle, UnpackMCVertex, UnpackMCHit, - MCRichHitUnpacker, UnpackMCCaloHit, + UnpackMCHit, MCRichHitUnpacker, UnpackMCCaloHit, MCRichDigitSummaryUnpacker) from PyConf.components import Algorithm, force_location @@ -48,11 +47,20 @@ from PyConf.application import make_data_with_FetchDataFromFile from PyConf.Tools import ( ChargedProtoParticleAddRichInfo, ChargedProtoParticleAddMuonInfo, ChargedProtoParticleAddCaloHypos, ChargedProtoParticleAddCombineDLLs) +from PyConf.reading import get_mc_vertices, get_mc_particles -def _unpacker(forced_type, packed_loc, unpacked_loc, **kwargs): +def __packed_location_for_(unpacked): + m = {'/Event/MC': '/Event/pSim', '/Event/Rec': '/Event/pRec'} + for (k, v) in m.items(): + if unpacked.startswith(k): return v + unpacked.removeprefix(k) + raise KeyError(unpacked) + + +def _unpacker(forced_type, unpacked_loc, **kwargs): """Return unpacker that reads from file and unpacks to a forced output location.""" assert 'name' not in kwargs + _unpack_configurable = { 'LHCb::PackedRecVertices': UnpackRecVertex, 'LHCb::PackedCaloHypos': UnpackCaloHypo, @@ -60,8 +68,6 @@ def _unpacker(forced_type, packed_loc, unpacked_loc, **kwargs): 'LHCb::PackedRichPID': UnpackRichPIDs, 'LHCb::PackedTracks': UnpackTrack, 'LHCb::PackedProtoParticles': UnpackProtoParticle, - 'LHCb::PackedMCParticles': UnpackMCParticle, - 'LHCb::PackedMCVertices': UnpackMCVertex, 'LHCb::PackedMCHit': UnpackMCHit, 'LHCb::PackedMCCaloHits': UnpackMCCaloHit, 'LHCb::PackedMCRichHits': MCRichHitUnpacker, @@ -72,43 +78,47 @@ def _unpacker(forced_type, packed_loc, unpacked_loc, **kwargs): name=f"Unpack_{unpacked_loc.replace('/','_')}", outputs={'OutputName': force_location(unpacked_loc)}, InputName=make_data_with_FetchDataFromFile( - packed_loc, force_type=forced_type), + __packed_location_for_(unpacked_loc), force_type=forced_type), **kwargs) def reco_unpackers(): # for each key, specify both the location in the TES and the type that is - # expected to be made available by reading it from a file + # expected to be made available by reading it from a file, the dependencies, and + # any extra arguments _packed_reco_from_file = { - 'PVs': ('LHCb::PackedRecVertices', '/Event/pRec/Vertex/Primary'), - 'CaloElectrons': ('LHCb::PackedCaloHypos', - '/Event/pRec/Calo/Electrons'), - 'CaloPhotons': ('LHCb::PackedCaloHypos', '/Event/pRec/Calo/Photons'), - 'CaloMergedPi0s': ('LHCb::PackedCaloHypos', - '/Event/pRec/Calo/MergedPi0s'), - 'CaloSplitPhotons': ('LHCb::PackedCaloHypos', - '/Event/pRec/Calo/SplitPhotons'), - 'MuonPIDs': ('LHCb::PackedMuonPID', '/Event/pRec/Muon/MuonPID'), - 'RichPIDs': ('LHCb::PackedRichPID', '/Event/pRec/Rich/PIDs'), - 'Tracks': ('LHCb::PackedTracks', '/Event/pRec/Track/Best'), - 'NeutralProtos': ('LHCb::PackedProtoParticles', - '/Event/pRec/ProtoP/Neutrals'), - 'ChargedProtos': ('LHCb::PackedProtoParticles', - '/Event/pRec/ProtoP/Charged') + 'PVs': ('LHCb::PackedRecVertices', 'Vertex/Primary', None, None), + 'CaloElectrons': ('LHCb::PackedCaloHypos', 'Calo/Electrons', None, + None), + 'CaloPhotons': ('LHCb::PackedCaloHypos', 'Calo/Photons', None, None), + 'CaloMergedPi0s': ('LHCb::PackedCaloHypos', 'Calo/MergedPi0s', None, + None), + 'CaloSplitPhotons': ('LHCb::PackedCaloHypos', 'Calo/SplitPhotons', + None, None), + 'MuonPIDs': ('LHCb::PackedMuonPID', 'Muon/MuonPID', ('Tracks', ), + None), + 'RichPIDs': ('LHCb::PackedRichPID', 'Rich/PIDs', ('Tracks', ), { + 'OutputLevel': ERROR + }), + 'Tracks': ('LHCb::PackedTracks', 'Track/Best', None, None), + 'NeutralProtos': ('LHCb::PackedProtoParticles', 'ProtoP/Neutrals', + ('CaloPhotons', 'CaloMergedPi0s', + 'CaloSplitPhotons'), None), + 'ChargedProtos': ('LHCb::PackedProtoParticles', 'ProtoP/Charged', + ('Tracks', 'RichPIDs', 'MuonPIDs'), None) } def _reco_unpacker(key, **kwargs): """Return unpacker that reads from file and unpacks to a forced output location.""" - packed_type, packed_location = _packed_reco_from_file[key] - # If the structure is not like this, pointers point to to the wrong place... - # The SmartRefs held by the unpacked MC objects only work if we unpack to these specific locations - unpacked_location = packed_location.replace('/pRec', '/Rec').replace( - '/pHLT2', '/HLT2') - return _unpacker(packed_type, packed_location, unpacked_location, - **kwargs) + packed_type, location, deps, extra = _packed_reco_from_file[key] + if extra: kwargs.update(extra) + if deps: + kwargs.update({'ExtraInputs': [_reco_unpacker(i) for i in deps]}) + # The SmartRefs held by the unpacked objects only work if we unpack to these specific locations + return _unpacker(packed_type, '/Event/Rec/' + location, **kwargs) muonPIDs = _reco_unpacker('MuonPIDs') - richPIDs = _reco_unpacker('RichPIDs', OutputLevel=ERROR) + richPIDs = _reco_unpacker('RichPIDs') electrons = _reco_unpacker('CaloElectrons') photons = _reco_unpacker('CaloPhotons') charged_protos = _reco_unpacker( @@ -127,7 +137,6 @@ def reco_unpackers(): ChargedProtoParticleAddCombineDLLs(RemoveOldInfo=False), ]) - # Ordered so that dependents are unpacked first return collections.OrderedDict([ ('PVs', _reco_unpacker('PVs')), ('CaloElectrons', electrons), @@ -146,38 +155,31 @@ def mc_unpackers(): # for each key, specify both the location in the TES and the type that is # expected to be made available by reading it from a file _packed_mc_from_file = { - 'MCParticles': ('LHCb::PackedMCParticles', '/Event/pSim/MCParticles'), - 'MCVertices': ('LHCb::PackedMCVertices', '/Event/pSim/MCVertices'), - 'MCVPHits': ('LHCb::PackedMCHit', '/Event/pSim/VP/Hits'), - 'MCUTHits': ('LHCb::PackedMCHit', '/Event/pSim/UT/Hits'), - 'MCFTHits': ('LHCb::PackedMCHit', '/Event/pSim/FT/Hits'), - 'MCRichHits': ('LHCb::PackedMCRichHits', '/Event/pSim/Rich/Hits'), - 'MCEcalHits': ('LHCb::PackedMCCaloHits', '/Event/pSim/Ecal/Hits'), - 'MCHcalHits': ('LHCb::PackedMCCaloHits', '/Event/pSim/Hcal/Hits'), - 'MCMuonHits': ('LHCb::PackedMCHit', '/Event/pSim/Muon/Hits'), + 'MCVPHits': ('LHCb::PackedMCHit', 'VP/Hits'), + 'MCUTHits': ('LHCb::PackedMCHit', 'UT/Hits'), + 'MCFTHits': ('LHCb::PackedMCHit', 'FT/Hits'), + 'MCRichHits': ('LHCb::PackedMCRichHits', 'Rich/Hits'), + 'MCEcalHits': ('LHCb::PackedMCCaloHits', 'Ecal/Hits'), + 'MCHcalHits': ('LHCb::PackedMCCaloHits', 'Hcal/Hits'), + 'MCMuonHits': ('LHCb::PackedMCHit', 'Muon/Hits'), 'MCRichDigitSummaries': ('LHCb::PackedMCRichDigitSummarys', - '/Event/pSim/Rich/DigitSummaries'), + 'Rich/DigitSummaries'), } def _mc_unpacker(key, **kwargs): """Return unpacker that reads from file and unpacks to a forced output location.""" - packed_type, packed_location = _packed_mc_from_file[key] - # If the structure is not like this, pointers point to to the wrong place... + packed_type, location = _packed_mc_from_file[key] # The SmartRefs held by the unpacked MC objects only work if we unpack to these specific locations - unpacked_location = packed_location.replace('/pSim', '/MC').replace( - '/MC/MC', '/MC/') - return _unpacker(packed_type, packed_location, unpacked_location, - **kwargs) + return _unpacker(packed_type, + '/Event/MC/' + location.removeprefix('MC'), **kwargs) # Ordered so that dependents are unpacked first # Make sure that MC particles and MC vertices are unpacked together, # see https://gitlab.cern.ch/lhcb/LHCb/issues/57 for details. - mc_vertices = _mc_unpacker('MCVertices') return collections.OrderedDict([ ('MCRichDigitSummaries', _mc_unpacker('MCRichDigitSummaries')), - ('MCParticles', _mc_unpacker('MCParticles', - ExtraInputs=[mc_vertices])), - ('MCVertices', mc_vertices), + ('MCParticles', get_mc_particles('/Event/MC/Particles')), + ('MCVertices', get_mc_vertices('/Event/MC/Vertices')), ('MCVPHits', _mc_unpacker('MCVPHits')), ('MCUTHits', _mc_unpacker('MCUTHits')), ('MCFTHits', _mc_unpacker('MCFTHits')), @@ -191,20 +193,22 @@ def mc_unpackers(): def boole_links_digits_mcparticles(): """Return a dict of locations for MC linker tables (to mcparticles) created by Boole.""" locations = { - "EcalDigitsV1": "/Event/Link/Raw/Ecal/Digits", - "EcalDigits": "/Event/Link/Raw/Ecal/Digits2MCParticles", - "FTLiteClusters": "/Event/Link/Raw/FT/LiteClusters", - "HcalDigitsV1": "/Event/Link/Raw/Hcal/Digits", - "HcalDigits": "/Event/Link/Raw/Hcal/Digits2MCParticles", - "MuonDigits": "/Event/Link/Raw/Muon/Digits", - "UTClusters": "/Event/Link/Raw/UT/Clusters", - "UTDigits": "/Event/Link/Raw/UT/TightDigits", - "VPDigits": "/Event/Link/Raw/VP/Digits", + "EcalDigitsV1": "Ecal/Digits", + "EcalDigits": "Ecal/Digits2MCParticles", + "FTLiteClusters": "FT/LiteClusters", + "HcalDigitsV1": "Hcal/Digits", + "HcalDigits": "Hcal/Digits2MCParticles", + "MuonDigits": "Muon/Digits", + "UTClusters": "UT/Clusters", + "UTDigits": "UT/TightDigits", + "VPDigits": "VP/Digits", } mc_particles = mc_unpackers()['MCParticles'] return { key: make_data_with_FetchDataFromFile( - loc, force_type='LHCb::LinksByKey', ExtraInputs=[mc_particles]) + '/Event/Link/Raw/' + loc, + force_type='LHCb::LinksByKey', + ExtraInputs=[mc_particles]) for key, loc in locations.items() } @@ -215,15 +219,14 @@ def boole_links_digits_mchits(): These locations are only propagated out of Boole for eXtendend DIGI and DST types. """ locations_and_dep = { - "FTLiteClusters": ("/Event/Link/Raw/FT/LiteClusters2MCHits", - 'MCFTHits'), - "UTClusters": ("/Event/Link/Raw/UT/Clusters2MCHits", 'MCUTHits'), - "UTDigits": ("/Event/Link/Raw/UT/TightDigits2MCHits", 'MCUTHits'), - "VPDigits": ("/Event/Link/Raw/VP/Digits2MCHits", 'MCVPHits') + "FTLiteClusters": ("FT/LiteClusters2MCHits", 'MCFTHits'), + "UTClusters": ("UT/Clusters2MCHits", 'MCUTHits'), + "UTDigits": ("UT/TightDigits2MCHits", 'MCUTHits'), + "VPDigits": ("VP/Digits2MCHits", 'MCVPHits') } return { key: make_data_with_FetchDataFromFile( - loc, + '/Event/Link/Raw/' + loc, force_type='LHCb::LinksByKey', ExtraInputs=[mc_unpackers()[dep]]) for key, (loc, dep) in locations_and_dep.items() @@ -233,14 +236,14 @@ def boole_links_digits_mchits(): def brunel_links(): """Return a dict of locations for MC linker tables created by Brunel.""" locations = { - "CaloElectrons": "/Event/Link/Rec/Calo/Electrons", - "CaloMergedPi0s": "/Event/Link/Rec/Calo/MergedPi0s", - "CaloPhotons": "/Event/Link/Rec/Calo/Photons", - "CaloSplitPhotons": "/Event/Link/Rec/Calo/SplitPhotons", - "Tracks": "/Event/Link/Rec/Track/Best", + "CaloElectrons": "Calo/Electrons", + "CaloMergedPi0s": "Calo/MergedPi0s", + "CaloPhotons": "Calo/Photons", + "CaloSplitPhotons": "Calo/SplitPhotons", + "Tracks": "Track/Best", } return { key: make_data_with_FetchDataFromFile( - loc, force_type='LHCb::LinksByKey') + '/Event/Link/Rec/' + loc, force_type='LHCb::LinksByKey') for key, loc in locations.items() } -- GitLab From 449cdc5d4ca676e829fb8412035b709c18b444a8 Mon Sep 17 00:00:00 2001 From: Gerhard Raven Date: Tue, 9 Apr 2024 23:32:47 +0200 Subject: [PATCH 06/51] remove another unnecessary bind --- Hlt/Moore/python/Moore/LbExec.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Hlt/Moore/python/Moore/LbExec.py b/Hlt/Moore/python/Moore/LbExec.py index 616d49adfbf..809a674384e 100644 --- a/Hlt/Moore/python/Moore/LbExec.py +++ b/Hlt/Moore/python/Moore/LbExec.py @@ -13,12 +13,11 @@ from contextlib import contextmanager from enum import Enum from GaudiConf.LbExec import Options as DefaultOptions -from GaudiConf.LbExec import InputProcessTypes from PyConf.application import ROOT_KEY from PyConf.packing import persistreco_version from RecoConf.reconstruction_objects import reconstruction -from PyConf.reading import dstdata_filter, tes_root +from PyConf.reading import tes_root from PyConf.reading import reconstruction as reconstruction_reading, upfront_reconstruction as upfront_reconstruction_reading @@ -48,8 +47,6 @@ class Options(DefaultOptions): """ if self.input_process: - dstdata_filter.global_bind( - source=InputProcessTypes(self.input_process).sourceID()) reconstruction_reading.global_bind( input_process=self.input_process) -- GitLab From cc863c43cac0750df8dbab7b66e9aa58fd48c9ca Mon Sep 17 00:00:00 2001 From: Yajing Wei Date: Wed, 10 Apr 2024 13:01:56 +0200 Subject: [PATCH 07/51] BandQ Upsilon to Mu Mu Turbo line --- .../python/Hlt2Conf/lines/bandq/hlt2_bandq.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bandq/hlt2_bandq.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bandq/hlt2_bandq.py index c6f98df2060..cb0e01e80e0 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bandq/hlt2_bandq.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bandq/hlt2_bandq.py @@ -1425,3 +1425,16 @@ def BuToDspPPbar_line(name='Hlt2BandQ_BuToDspPPbar', algs=make_prefilters() + [line_alg], prescale=prescale, persistreco=persistreco) + + +@register_line_builder(turbo_lines) +@configurable +def UpsilonToMuMuEMTF_line(name='Hlt2BandQ_UpsilonToMuMuEMTF', + prescale=1, + persistreco=False): + line_alg = dimuon_lines.make_upsilon() + return Hlt2Line( + name=name, + algs=make_prefilters() + [line_alg], + prescale=prescale, + persistreco=persistreco) -- GitLab From c1e88582adcbd0763fa59819e101520400ec8044 Mon Sep 17 00:00:00 2001 From: Davide Lancierini Date: Wed, 10 Apr 2024 13:07:59 +0200 Subject: [PATCH 08/51] Add isolation information to B2VV lines --- .../python/Hlt2Conf/lines/bnoc/BdsToVV.py | 36 +-- .../lines/bnoc/builders/bnoc_isolation.py | 220 +++++++++++++++++ .../python/Hlt2Conf/lines/bnoc/hlt2_bnoc.py | 231 +++++++++++++----- .../python/Hlt2Conf/lines/bnoc/utils.py | 26 +- 4 files changed, 425 insertions(+), 88 deletions(-) create mode 100644 Hlt/Hlt2Conf/python/Hlt2Conf/lines/bnoc/builders/bnoc_isolation.py diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bnoc/BdsToVV.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bnoc/BdsToVV.py index 1e5cda55788..b6437cc60cd 100755 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bnoc/BdsToVV.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bnoc/BdsToVV.py @@ -246,7 +246,7 @@ def make_BdsToKstzRho(process): mipchi2_min=32.) line_alg = make_btovv( particles=[kstar, rho], - descriptor='[B0 -> K*(892)~0 rho(770)0]cc', + descriptor='[B0 -> K*(892)0 rho(770)0]cc', asumpt_min=5000. * MeV, adoca12_max=0.15 * mm, vchi2pdof_max=12, @@ -288,7 +288,7 @@ def make_BdsToKstzRho_FakeKstPi(process): mipchi2_min=32.) line_alg = make_btovv( particles=[kstar, rho], - descriptor='[B0 -> K*(892)~0 rho(770)0]cc', + descriptor='[B0 -> K*(892)0 rho(770)0]cc', asumpt_min=5000. * MeV, adoca12_max=0.15 * mm, vchi2pdof_max=12, @@ -330,7 +330,7 @@ def make_BdsToKstzRho_FakeKstK(process): mipchi2_min=32.) line_alg = make_btovv( particles=[kstar, rho], - descriptor='[B0 -> K*(892)~0 rho(770)0]cc', + descriptor='[B0 -> K*(892)0 rho(770)0]cc', asumpt_min=5000. * MeV, adoca12_max=0.15 * mm, vchi2pdof_max=12, @@ -373,7 +373,7 @@ def make_BdsToKstzRho_FakeKstDouble(process): mipchi2_min=32.) line_alg = make_btovv( particles=[kstar, rho], - descriptor='[B0 -> K*(892)~0 rho(770)0]cc', + descriptor='[B0 -> K*(892)0 rho(770)0]cc', asumpt_min=5000. * MeV, adoca12_max=0.15 * mm, vchi2pdof_max=12, @@ -414,7 +414,7 @@ def make_BdsToKstzRho_FakeRhoPi(process): mipchi2_min=32.) line_alg = make_btovv( particles=[kstar, rho], - descriptor='[B0 -> K*(892)~0 rho(770)0]cc', + descriptor='[B0 -> K*(892)0 rho(770)0]cc', asumpt_min=5000. * MeV, adoca12_max=0.15 * mm, vchi2pdof_max=12, @@ -456,7 +456,7 @@ def make_BdsToKstzRho_FakeRhoDouble(process): invert_pid=True) line_alg = make_btovv( particles=[kstar, rho], - descriptor='[B0 -> K*(892)~0 rho(770)0]cc', + descriptor='[B0 -> K*(892)0 rho(770)0]cc', asumpt_min=5000. * MeV, adoca12_max=0.15 * mm, vchi2pdof_max=12, @@ -497,7 +497,7 @@ def make_BdsToKstzOmegaResolved(process): mipchi2_min=36.) line_alg = make_btovv( particles=[kstar, omega], - descriptor='[B0 -> K*(892)~0 omega(782)]cc', + descriptor='[B0 -> K*(892)0 omega(782)]cc', asumpt_min=2500. * MeV, adoca12_max=0.15 * mm, vchi2pdof_max=12, @@ -537,7 +537,7 @@ def make_BdsToKstzOmegaResolved_FakeKstPi(process): mipchi2_min=36.) line_alg = make_btovv( particles=[kstar, omega], - descriptor='[B0 -> K*(892)~0 omega(782)]cc', + descriptor='[B0 -> K*(892)0 omega(782)]cc', asumpt_min=2500. * MeV, adoca12_max=0.15 * mm, vchi2pdof_max=12, @@ -577,7 +577,7 @@ def make_BdsToKstzOmegaResolved_FakeKstK(process): mipchi2_min=36.) line_alg = make_btovv( particles=[kstar, omega], - descriptor='[B0 -> K*(892)~0 omega(782)]cc', + descriptor='[B0 -> K*(892)0 omega(782)]cc', asumpt_min=2500. * MeV, adoca12_max=0.15 * mm, vchi2pdof_max=12, @@ -618,7 +618,7 @@ def make_BdsToKstzOmegaResolved_FakeKstDouble(process): mipchi2_min=36.) line_alg = make_btovv( particles=[kstar, omega], - descriptor='[B0 -> K*(892)~0 omega(782)]cc', + descriptor='[B0 -> K*(892)0 omega(782)]cc', asumpt_min=2500. * MeV, adoca12_max=0.15 * mm, vchi2pdof_max=12, @@ -657,7 +657,7 @@ def make_BdsToKstzOmegaResolved_FakeOmegaPi(process): mipchi2_min=36.) line_alg = make_btovv( particles=[kstar, omega], - descriptor='[B0 -> K*(892)~0 omega(782)]cc', + descriptor='[B0 -> K*(892)0 omega(782)]cc', asumpt_min=2500. * MeV, adoca12_max=0.15 * mm, vchi2pdof_max=12, @@ -697,7 +697,7 @@ def make_BdsToKstzOmegaResolved_FakeOmegaDouble(process): invert_pid=True) line_alg = make_btovv( particles=[kstar, omega], - descriptor='[B0 -> K*(892)~0 omega(782)]cc', + descriptor='[B0 -> K*(892)0 omega(782)]cc', asumpt_min=2500. * MeV, adoca12_max=0.15 * mm, vchi2pdof_max=12, @@ -737,7 +737,7 @@ def make_BdsToKstzOmegaMerged(process): mipchi2_min=36.) line_alg = make_btovv( particles=[kstar, omega], - descriptor='[B0 -> K*(892)~0 omega(782)]cc', + descriptor='[B0 -> K*(892)0 omega(782)]cc', asumpt_min=2500. * MeV, adoca12_max=0.15 * mm, vchi2pdof_max=12, @@ -778,7 +778,7 @@ def make_BdsToKstzOmegaMerged_FakeKstPi(process): mipchi2_min=36.) line_alg = make_btovv( particles=[kstar, omega], - descriptor='[B0 -> K*(892)~0 omega(782)]cc', + descriptor='[B0 -> K*(892)0 omega(782)]cc', asumpt_min=2500. * MeV, adoca12_max=0.15 * mm, vchi2pdof_max=12, @@ -819,7 +819,7 @@ def make_BdsToKstzOmegaMerged_FakeKstK(process): mipchi2_min=36.) line_alg = make_btovv( particles=[kstar, omega], - descriptor='[B0 -> K*(892)~0 omega(782)]cc', + descriptor='[B0 -> K*(892)0 omega(782)]cc', asumpt_min=2500. * MeV, adoca12_max=0.15 * mm, vchi2pdof_max=12, @@ -861,7 +861,7 @@ def make_BdsToKstzOmegaMerged_FakeKstDouble(process): mipchi2_min=36.) line_alg = make_btovv( particles=[kstar, omega], - descriptor='[B0 -> K*(892)~0 omega(782)]cc', + descriptor='[B0 -> K*(892)0 omega(782)]cc', asumpt_min=2500. * MeV, adoca12_max=0.15 * mm, vchi2pdof_max=12, @@ -901,7 +901,7 @@ def make_BdsToKstzOmegaMerged_FakeOmegaPi(process): mipchi2_min=36.) line_alg = make_btovv( particles=[kstar, omega], - descriptor='[B0 -> K*(892)~0 omega(782)]cc', + descriptor='[B0 -> K*(892)0 omega(782)]cc', asumpt_min=2500. * MeV, adoca12_max=0.15 * mm, vchi2pdof_max=12, @@ -942,7 +942,7 @@ def make_BdsToKstzOmegaMerged_FakeOmegaDouble(process): invert_pid=True) line_alg = make_btovv( particles=[kstar, omega], - descriptor='[B0 -> K*(892)~0 omega(782)]cc', + descriptor='[B0 -> K*(892)0 omega(782)]cc', asumpt_min=2500. * MeV, adoca12_max=0.15 * mm, vchi2pdof_max=12, diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bnoc/builders/bnoc_isolation.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bnoc/builders/bnoc_isolation.py new file mode 100644 index 00000000000..9306c11f431 --- /dev/null +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bnoc/builders/bnoc_isolation.py @@ -0,0 +1,220 @@ +############################################################################### +# (c) Copyright 2024 CERN for the benefit of the LHCb Collaboration # +# # +# This software is distributed under the terms of the GNU General Public # +# Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". # +# # +# 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 PyConf import configurable + +from Hlt2Conf.standard_particles import make_long_pions, make_up_pions, make_down_pions, make_ttrack_pions, make_photons, make_merged_pi0s +from Hlt2Conf.isolation import extra_outputs_for_isolation +from Hlt2Conf.algorithms_thor import ParticleCombiner, ParticleContainersMerger + +import Functors as F + + +@configurable +def make_two_body_combination(candidate, head): + """ + Make two body combination of head and extra particles (long tracks with pion id). + + Args: + candidate: Containers of reference particles + head: The head of the decay descriptor to build vertex isolation for. + e.g. for [B0 -> K*(892)~0 rho(770)0]cc' use head='B0'. Required to build the + '[X+ -> B0 pi+]cc' candidates correctly. + + Returns: TES location of two body combination of candidate and extra_particles + """ + + extra_particles = make_long_pions() + + #first combiner: X pi+ + comb_1 = ParticleCombiner( + Inputs=[candidate, extra_particles], + name='BNOC_vtxiso_combiner_onetrack_1_{hash}', + DecayDescriptor=f'[B*+ -> {head} pi+]cc', + CombinationCut=F.ALL, + CompositeCut=F.ALL) + #second combiner: X pi- + comb_2 = ParticleCombiner( + Inputs=[candidate, extra_particles], + name='BNOC_vtxiso_combiner_onetrack_2_{hash}', + DecayDescriptor=f'[B*- -> {head} pi-]cc', + CombinationCut=F.ALL, + CompositeCut=F.ALL) + #merge two combiners + comb = ParticleContainersMerger( + [comb_1, comb_2], name='BNOC_vtxiso_combiner_onetrack_{hash}') + + return comb + + +@configurable +def make_three_body_combination(candidate, head): + """ + Make three body combination of B0 and two extra particles (long tracks with pion id). + + Args: + candidate: Containers of reference particles + head: The head of the decay descriptor to build vertex isolation for. + e.g. for [B0 -> K*(892)~0 rho(770)0]cc' use head='B0'. Required to build the + '[X -> B0 pi+ pi-]cc' candidates correctly. + + Returns: TES location of three body combination of candidate and two extra_particles + """ + + extra_particles = make_long_pions() + + #combiner: X pi+ pi- + comb = ParticleCombiner( + Inputs=[candidate, extra_particles, extra_particles], + name='BNOC_vtxiso_combiner_twotracks_{hash}', + DecayDescriptor=f'[B*0 -> {head} pi+ pi-]cc', + CombinationCut=F.ALL, + CompositeCut=F.ALL) + + return comb + + +@configurable +def select_parts_for_isolation( + names=[], + candidates=[], + cut=(F.DR2 < .5), + LongTrackIso=True, + TTrackIso=False, + DownstreamTrackIso=False, + UpstreamTrackIso=False, + NeutralIso=True, + PiZerosIso=False, +): + """ + Add to the extra_outputs different kind of isolations by properly setting the given flag + Args: + candidates: List of containers of reference particles to relate extra particles + cut: Predicate to select extra information to persist. Be default: cone geometry with max dr2=1 and extra particles not signal + LongTrackIso: Boolean value to make isolation with long tracks + TTrackIso: Boolean value to make isolation with tt tracks + DownstreamTrackIso: Boolean value to make isolation with downstream tracks + UpstreamTrackIso: Boolean value to make isolation with upstream tracks + NeutralIso: Boolean value to make isolation with neutral particles + PiZerosIso: Boolean value to make isolation with merged pi0 -> gamma gamma + """ + extra_outputs = [] + assert ( + len(names) == len(candidates) + ), 'Different number of names and candidate containers for particle isolation!' + + for name, cand in zip(names, candidates): + if LongTrackIso: + extra_outputs += extra_outputs_for_isolation( + name=name + "_LongTrackIsolation", + extra_particles=make_long_pions(), + ref_particles=cand, + selection=cut) + if TTrackIso: + extra_outputs += extra_outputs_for_isolation( + name=name + "_TTrackIsolation", + extra_particles=make_ttrack_pions(), + ref_particles=cand, + selection=cut) + if DownstreamTrackIso: + extra_outputs += extra_outputs_for_isolation( + name=name + "_DownstreamTrackIsolation", + extra_particles=make_down_pions(), + ref_particles=cand, + selection=cut) + if UpstreamTrackIso: + extra_outputs += extra_outputs_for_isolation( + name=name + "_UpstreamTrackIsolation", + extra_particles=make_up_pions(), + ref_particles=cand, + selection=cut) + if NeutralIso: + extra_outputs += extra_outputs_for_isolation( + name=name + "_NeutralIsolation", + extra_particles=make_photons(), + ref_particles=cand, + selection=cut) + if PiZerosIso: + extra_outputs += extra_outputs_for_isolation( + name=name + "_PiZerosIsolation", + extra_particles=make_merged_pi0s(), + ref_particles=cand, + selection=cut) + return extra_outputs + + +def select_combinations_for_vertex_isolation(candidate, + head, + name='B', + max_two_body_vtx_cut=9., + max_three_body_vtx_cut=15.): + """ + Add to the extra_outputs vertex isolations when adding one track or two tracks to the vertex fit. + By default only two(three)-body combinations with vertex fit chi2 smaller than 9.(15.) are selected. + Returns TES location with two and three-body combinations for vertex isolation + + Args: + name: String with prefix of the TES location for extra selection + candidate: Container of reference particles to relate extra particles + head: The head of the decay descriptor to build vertex isolation for. + e.g. for [B0 -> K*(892)~0 rho(770)0]cc' use head='B0'. + """ + + two_body_comb = make_two_body_combination(candidate, head) + three_body_comb = make_three_body_combination(candidate, head) + + extra_outputs = extra_outputs_for_isolation( + name=name + "_OneTrackCombination_VertexIsolation", + extra_particles=two_body_comb, + ref_particles=candidate, + selection=( + F.ABS @ (F.CHI2() @ F.FORWARDARG1() - F.CHI2() @ F.FORWARDARG0()) < + max_two_body_vtx_cut)) + + extra_outputs += extra_outputs_for_isolation( + name=name + "_TwoTracksCombination_VertexIsolation", + extra_particles=three_body_comb, + ref_particles=candidate, + selection=( + F.ABS @ (F.CHI2() @ F.FORWARDARG1() - F.CHI2() @ F.FORWARDARG0()) < + max_three_body_vtx_cut)) + + return extra_outputs + + +@configurable +def make_iso_particles(line_alg, + name='B', + coneangle=.5, + LongTrackIso=True, + TTrackIso=False, + DownstreamTrackIso=False, + UpstreamTrackIso=True, + NeutralIso=True, + PiZerosIso=False, + cone_for_each_track=False): + + candidate = line_alg + cut = ((F.DR2 < coneangle) & ~F.FIND_IN_TREE()) + + iso_parts = select_parts_for_isolation( + names=[name], + candidates=[candidate], + cut=cut, + LongTrackIso=LongTrackIso, + TTrackIso=TTrackIso, + DownstreamTrackIso=DownstreamTrackIso, + UpstreamTrackIso=UpstreamTrackIso, + NeutralIso=NeutralIso, + PiZerosIso=PiZerosIso, + ) + + return iso_parts diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bnoc/hlt2_bnoc.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bnoc/hlt2_bnoc.py index 2cf866f6b5a..7c143025038 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bnoc/hlt2_bnoc.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bnoc/hlt2_bnoc.py @@ -68,8 +68,6 @@ update_makers(line_makers, BuToKShhh) default_lines = [ 'BdToPpPmPipPim_NoPID', - 'BdsToKstzPhi', - 'BdsToKstzRho', 'BdsToKstzOmegaResolved', 'BdsToKstzOmegaResolved_FakeKstPi', 'BdsToKstzOmegaResolved_FakeKstK', @@ -298,67 +296,6 @@ flavour_tagging_lines = { 'BdsToL0L0barPipPim_NoPID_DDDD': { 'pv_tracks': True, }, - 'BdsToKstzKstzb': { - 'pv_tracks': True, - }, - 'BdsToKSPipPim_LL': { - 'pv_tracks': True, - 'require_GEC': True, - 'require_topo': True, - 'min_twobody_mva': 0.1, - 'min_threebody_mva': 0.1 - }, - 'BdsToKSPipPim_DD': { - 'pv_tracks': True, - 'require_GEC': True, - 'require_topo': True, - 'min_twobody_mva': 0.1, - 'min_threebody_mva': 0.1 - }, - 'BdsToKSKpKm_LL': { - 'pv_tracks': True, - 'require_GEC': True, - 'require_topo': True, - 'min_twobody_mva': 0.1, - 'min_threebody_mva': 0.1 - }, - 'BdsToKSKpKm_DD': { - 'pv_tracks': True, - 'require_GEC': True, - 'require_topo': True, - 'min_twobody_mva': 0.1, - 'min_threebody_mva': 0.1 - }, - 'BdsToKSKpPim_LL': { - 'pv_tracks': True, - 'require_GEC': True, - 'require_topo': True, - 'min_twobody_mva': 0.1, - 'min_threebody_mva': 0.1 - }, - 'BdsToKSKpPim_DD': { - 'pv_tracks': True, - 'require_GEC': True, - 'require_topo': True, - 'min_twobody_mva': 0.1, - 'min_threebody_mva': 0.1 - }, - 'BdToPipPim_NoPID': { - 'pv_tracks': True, - }, - 'BdsToPhiPhi': { - 'pv_tracks': True, - 'raw_banks': ['VP', 'UT', 'FT', 'Rich', 'Muon', 'Calo'] - }, - 'BdsToPhiRho': { - 'pv_tracks': True, - }, - 'BdsToPhiKpKm': { - 'pv_tracks': True, - }, - 'BdsToRhoRho': { - 'pv_tracks': True, - }, 'BdsToPipPimPipPim': { 'pv_tracks': True, 'require_GEC': True, @@ -552,6 +489,173 @@ gec_topo_lines = { }, } +# Using 'iso_kwargs: {}' will use the default arguments in utils/make_iso_particles +# Setting `iso_kwargs` to anything other than its default value of `None` will +# try to save isolation information +isolation_lines = { + 'BdsToKstzKstzb': { + 'flavour_tagging': True, + 'pv_tracks': True, + 'iso_kwargs': { + 'name': 'B_s0', + 'coneangle': 0.5, + 'NeutralIso': True, + 'PiZerosIso': True, + }, + }, + 'BdsToKstzPhi': { + 'iso_kwargs': { + 'name': 'B0', + 'coneangle': 0.5, + 'NeutralIso': True, + 'PiZerosIso': True + }, + }, + 'BdsToKstzRho': { + 'iso_kwargs': { + 'name': 'B0', + 'coneangle': 0.5, + 'NeutralIso': True, + 'PiZerosIso': True + }, + }, + 'BdsToPhiRho': { + 'flavour_tagging': True, + 'pv_tracks': True, + 'iso_kwargs': { + 'name': 'B_s0', + 'coneangle': 0.5, + 'NeutralIso': True, + 'PiZerosIso': True, + }, + }, + 'BdsToRhoRho': { + 'flavour_tagging': True, + 'pv_tracks': True, + 'iso_kwargs': { + 'name': 'B0', + 'coneangle': 0.5, + 'NeutralIso': True, + 'PiZerosIso': True, + }, + }, + 'BdToPipPim_NoPID': { + 'flavour_tagging': True, + 'pv_tracks': True, + 'iso_kwargs': { + 'name': 'B0', + 'coneangle': 0.5, + 'NeutralIso': True, + 'PiZerosIso': True, + }, + }, + 'BdsToPhiPhi': { + 'flavour_tagging': True, + 'pv_tracks': True, + 'iso_kwargs': { + 'name': 'B0', + 'coneangle': 0.5, + 'NeutralIso': True, + 'PiZerosIso': True, + }, + 'raw_banks': ['VP', 'UT', 'FT', 'Rich', 'Muon', 'Calo'] + }, + 'BdsToPhiKpKm': { + 'flavour_tagging': True, + 'pv_tracks': True, + 'iso_kwargs': { + 'name': 'B0', + 'coneangle': 0.5, + 'NeutralIso': True, + 'PiZerosIso': True, + }, + }, + 'BdsToKSPipPim_LL': { + 'flavour_tagging': True, + 'pv_tracks': True, + 'iso_kwargs': { + 'name': 'B0', + 'coneangle': 0.5, + 'NeutralIso': True, + 'PiZerosIso': True, + }, + 'require_GEC': True, + 'require_topo': True, + 'min_twobody_mva': 0.1, + 'min_threebody_mva': 0.1 + }, + 'BdsToKSPipPim_DD': { + 'flavour_tagging': True, + 'pv_tracks': True, + 'iso_kwargs': { + 'name': 'B0', + 'coneangle': 0.5, + 'NeutralIso': True, + 'PiZerosIso': True, + }, + 'require_GEC': True, + 'require_topo': True, + 'min_twobody_mva': 0.1, + 'min_threebody_mva': 0.1 + }, + 'BdsToKSKpKm_LL': { + 'flavour_tagging': True, + 'pv_tracks': True, + 'iso_kwargs': { + 'name': 'B0', + 'coneangle': 0.5, + 'NeutralIso': True, + 'PiZerosIso': True, + }, + 'require_GEC': True, + 'require_topo': True, + 'min_twobody_mva': 0.1, + 'min_threebody_mva': 0.1 + }, + 'BdsToKSKpKm_DD': { + 'flavour_tagging': True, + 'pv_tracks': True, + 'iso_kwargs': { + 'name': 'B0', + 'coneangle': 0.5, + 'NeutralIso': True, + 'PiZerosIso': True, + }, + 'require_GEC': True, + 'require_topo': True, + 'min_twobody_mva': 0.1, + 'min_threebody_mva': 0.1 + }, + 'BdsToKSKpPim_LL': { + 'flavour_tagging': True, + 'pv_tracks': True, + 'iso_kwargs': { + 'name': 'B0', + 'coneangle': 0.5, + 'NeutralIso': True, + 'PiZerosIso': True, + }, + 'require_GEC': True, + 'require_topo': True, + 'min_twobody_mva': 0.1, + 'min_threebody_mva': 0.1 + }, + 'BdsToKSKpPim_DD': { + 'flavour_tagging': True, + 'pv_tracks': True, + 'iso_kwargs': { + 'name': 'B0', + 'coneangle': 0.5, + 'NeutralIso': True, + 'PiZerosIso': True, + }, + 'require_GEC': True, + 'require_topo': True, + 'min_twobody_mva': 0.1, + 'min_threebody_mva': 0.1 + }, +} + # Special lines with settings not belonging to any remaining group special_lines = {} @@ -573,6 +677,7 @@ flavour_tagging_list.update(flavour_tagging_lines) custom_lines = {} custom_lines.update(gec_topo_lines) +custom_lines.update(isolation_lines) # placeholder if any new special line would be registered in future custom_lines.update(special_lines) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bnoc/utils.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bnoc/utils.py index 3c6dd8a42b1..566912abd6a 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bnoc/utils.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bnoc/utils.py @@ -13,7 +13,6 @@ check_process: make sure the `process` argument is 'hlt2' or 'spruce' """ - from PyConf.utilities import ConfigurationError from inspect import getmembers, isfunction @@ -26,6 +25,7 @@ from Moore.config import register_line_builder from Moore.lines import Hlt2Line, SpruceLine from Hlt2Conf.lines.bnoc.prefilters import bnoc_prefilters +from Hlt2Conf.lines.bnoc.builders.bnoc_isolation import make_iso_particles, select_combinations_for_vertex_isolation from Hlt2Conf.lines.bnoc.builders.basic_builder import Topo_prefilter_extra_outputs @@ -62,10 +62,6 @@ def update_makers(line_makers, line_module): }) -# Take inspiration from B2OC and provide functions to build the different line -# builders - - # Default lines (no extra_outputs, TOPO, GEC prescale etc.) def make_default_lines(process, line_dict, @@ -177,6 +173,8 @@ def make_generic_line(process, require_topo=False, min_twobody_mva=0.1, min_threebody_mva=0.1, + iso_kwargs=None, + vtx_kwargs=None, spruce_hlt2_filters=None, **kwargs): if not line: return @@ -196,7 +194,7 @@ def make_generic_line(process, maker_name = f'make_{line}' # Start with the simpler cases - if not persistreco and not flavour_tagging and not require_GEC and not require_topo: + if not persistreco and not flavour_tagging and not require_GEC and not require_topo and iso_kwargs is None and vtx_kwargs is None: @register_line_builder(line_dict) def make_line(name=name, @@ -249,11 +247,25 @@ def make_generic_line(process, # function if type(line_alg) != list: line_alg = [line_alg] - extra_outputs = [] + if 'extra_outputs' not in kwargs: + extra_outputs = [] + else: + extra_outputs = kwargs['extra_outputs'] if require_topo: extra_outputs += Topo_prefilter_extra_outputs( min_twobody_mva=min_twobody_mva, min_threebody_mva=min_threebody_mva) + if iso_kwargs is not None: + extra_outputs += make_iso_particles(line_alg[-1], **iso_kwargs) + if vtx_kwargs is not None: + if 'head' not in vtx_kwargs: + print( + 'TO use vertex isolation you must specify the head of the decay chain e.g. \'B0\'' + ) + raise RuntimeError + extra_outputs += select_combinations_for_vertex_isolation( + line_alg[-1], **vtx_kwargs) + print(f'Here with {extra_outputs = } for {name = }') return Line( name=name, -- GitLab From 614079186e35b7fd1dfd244813de095cdbc3c4c9 Mon Sep 17 00:00:00 2001 From: Miguel Ramos Pernas Date: Wed, 10 Apr 2024 13:24:56 +0200 Subject: [PATCH 09/51] Simplify the monitoring and enable the creation of multidimensional histograms --- .../lines/b_to_open_charm/spruce_b2oc.py | 14 +- .../python/Hlt2Conf/lines/commissioning.py | 122 ++++---- .../Hlt2Conf/lines/monitoring/calibmon.py | 22 +- .../lines/monitoring/data_quality_PbPb.py | 187 ++++++----- .../Hlt2Conf/lines/monitoring/pi0_line.py | 19 +- .../lines/pid/BToJpsiK_JpsiToEETagged.py | 42 ++- .../lines/pid/JpsiToMuMuTagged_Detached.py | 53 ++-- .../python/Hlt2Conf/lines/pid/KsToPiPi.py | 44 ++- .../lines/rd/builders/rad_incl_builder.py | 18 +- .../python/Hlt2Conf/lines/test/hlt2_test.py | 39 ++- .../python/Hlt2Conf/lines/test/spruce_test.py | 19 +- .../Hlt2Conf/lines/trackeff/KSVeloLong.py | 39 ++- Hlt/Hlt2Conf/tests/options/hlt2_monitor.py | 76 +++-- Hlt/Moore/python/Moore/lines.py | 11 +- Hlt/Moore/python/Moore/monitoring.py | 127 ++++---- Hlt/RecoConf/python/RecoConf/mass_monitors.py | 294 +++++++++++------- doc/tutorials/hlt2_line.rst | 30 +- 17 files changed, 650 insertions(+), 506 deletions(-) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/spruce_b2oc.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/spruce_b2oc.py index ab85f136e11..9e0e17266c5 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/spruce_b2oc.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/spruce_b2oc.py @@ -30,7 +30,7 @@ from Moore.config import SpruceLine, register_line_builder from GaudiKernel.SystemOfUnits import MeV from PyConf import configurable -from PyConf.Algorithms import Monitor__ParticleRange +from SelAlgorithms.monitoring import histogram_1d, monitor import Functors as F @@ -940,13 +940,13 @@ make_sprucing_lines( def BdToDsmK_DsmToHHH_sprucing_FEST_line( name='SpruceB2OC_BdToDsmK_DsmToHHH_FEST', prescale=1): line_alg = b_to_dh.make_BdToDsmK_DsmToHHH_FEST(process=PROCESS) - b_mon = Monitor__ParticleRange( + b_mon = monitor( name="Test_B_Monitor", - HistogramName="m", - Input=line_alg, - Variable=F.MASS, - Bins=50, - Range=(5000 * MeV, 7000 * MeV)) + data=line_alg, + histograms=[ + histogram_1d("m", "m", F.MASS, 50, (5000 * MeV, 7000 * MeV), + "MASS") + ]) return SpruceLine( name=name, diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/commissioning.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/commissioning.py index c1ecec94f79..87976e4ad46 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/commissioning.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/commissioning.py @@ -17,7 +17,7 @@ from Hlt2Conf.standard_particles import ( from Hlt2Conf.algorithms_thor import ParticleCombiner, ParticleFilter from Moore.lines import Hlt2Line import Functors as F -from PyConf.Algorithms import Monitor__ParticleRange +from SelAlgorithms.monitoring import monitor, histogram_1d from Functors.math import log @@ -278,54 +278,63 @@ def _d0_to_kpi_line(name="Hlt2Commissioning_D0ToKmPip_Hlt1D2KPiTOS"): ), ) - d_ipchi2_mon = Monitor__ParticleRange( - Input=d0, - Variable=log(F.MINIPCHI2(make_pvs())), - HistogramName=f"/{name}/D0_logIPCHI2", - Bins=60, - Range=(-6 * MeV, 12 * MeV), + d_ipchi2_mon = histogram_1d( + functor=log(F.MINIPCHI2(make_pvs())), + name=f"/{name}/D0_logIPCHI2", + title="D0_logIPCHI2", + label="logIPCHI2", + bins=60, + range=(-6 * MeV, 12 * MeV), ) - d_pasy_mon = Monitor__ParticleRange( - Input=d0, - Variable=(F.CHILD(1, F.P) - F.CHILD(2, F.P)) / + d_pasy_mon = histogram_1d( + functor=(F.CHILD(1, F.P) - F.CHILD(2, F.P)) / (F.CHILD(1, F.P) + F.CHILD(2, F.P)), - HistogramName=f"/{name}/D0_Daughters_Pasy", - Bins=60, - Range=(-1, 1), + name=f"/{name}/D0_Daughters_Pasy", + title="D0_Daughters_Pasy", + label="Pasy", + bins=60, + range=(-1, 1), ) - d_ptasy_mon = Monitor__ParticleRange( - Input=d0, - Variable=(F.CHILD(1, F.PT) - F.CHILD(2, F.PT)) / + d_ptasy_mon = histogram_1d( + functor=(F.CHILD(1, F.PT) - F.CHILD(2, F.PT)) / (F.CHILD(1, F.PT) + F.CHILD(2, F.PT)), - HistogramName=f"/{name}/D0_Daughters_PTasy", - Bins=60, - Range=(-1, 1), + name=f"/{name}/D0_Daughters_PTasy", + title="PTasy", + label="PTasy", + bins=60, + range=(-1, 1), ) - pi_pidk_mon = Monitor__ParticleRange( - Input=d0, - Variable=F.CHILD(2, F.PID_K), - #Variable=F.Mass, - HistogramName=f"/{name}/pi_PIDk", - Bins=60, - Range=(-150, 5), + pi_pidk_mon = histogram_1d( + functor=F.CHILD(2, F.PID_K), + #functor=F.Mass, + name=f"/{name}/pi_PIDk", + title="pi_PIDk", + label="PIDk", + bins=60, + range=(-150, 5), ) - K_pidk_mon = Monitor__ParticleRange( - Input=d0, - Variable=F.CHILD(1, F.PID_K), - #Variable=F.Mass, - HistogramName=f"/{name}/K_PIDk", - Bins=60, - Range=(5, 150), + K_pidk_mon = histogram_1d( + functor=F.CHILD(1, F.PID_K), + #functor=F.Mass, + name=f"/{name}/K_PIDk", + title="K_PIDk", + label="PIDk", + bins=60, + range=(5, 150), ) + + mon = monitor( + data=d0, + histograms=[ + d_ipchi2_mon, d_pasy_mon, d_ptasy_mon, pi_pidk_mon, K_pidk_mon + ]) + return Hlt2Line( name=name, hlt1_filter_code=r"Hlt1D2KPiDecision", - algs=[ - require_pvs(make_pvs()), d0, d_ipchi2_mon, d_pasy_mon, d_ptasy_mon, - pi_pidk_mon, K_pidk_mon - ], + algs=[require_pvs(make_pvs()), d0, mon], postscale=0., persistreco=True, ) @@ -344,31 +353,34 @@ def _dp_to_kpipi_line(name="Hlt2Commissioning_DpToKmPipPip"): def _dp_to_kpipi_tos_line( name="Hlt2Commissioning_DpToKmPipPip_Hlt1TrackMVATOS"): - d_m_plus_mon = Monitor__ParticleRange( - Input=_make_dp_kpipi(), - Variable=F.MASS * F.CHARGE, - #Variable=F.Mass, - HistogramName=f"/{name}/D0_M_plus", - Bins=60, - Range=(1779 * MeV, 1959 * MeV), + dp = _make_dp_kpipi() + + d_m_plus_mon = histogram_1d( + functor=F.MASS * F.CHARGE, + #functor=F.Mass, + name=f"/{name}/D0_M_plus", + title="D0_M_plus", + label="MASS", + bins=60, + range=(1779 * MeV, 1959 * MeV), ) - d_m_minus_mon = Monitor__ParticleRange( - Input=_make_dp_kpipi(), - Variable=F.MASS * F.CHARGE * (-1), - #Variable=F.Mass, - HistogramName=f"/{name}/D0_M_minus", - Bins=60, - Range=(1779 * MeV, 1959 * MeV), + d_m_minus_mon = histogram_1d( + functor=F.MASS * F.CHARGE * (-1), + #functor=F.Mass, + name=f"/{name}/D0_M_minus", + title="D0_M_minus", + label="MASS", + bins=60, + range=(1779 * MeV, 1959 * MeV), ) + mon = monitor(data=dp, histograms=[d_m_plus_mon, d_m_minus_mon]) + return Hlt2Line( name=name, hlt1_filter_code=r"Hlt1.*TrackMVADecision", - algs=[ - require_pvs(make_pvs()), - _make_dp_kpipi(), d_m_minus_mon, d_m_plus_mon - ], + algs=[require_pvs(make_pvs()), dp, mon], postscale=0., persistreco=True, ) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/monitoring/calibmon.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/monitoring/calibmon.py index d01d4602d76..7e74adc77a2 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/monitoring/calibmon.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/monitoring/calibmon.py @@ -22,8 +22,9 @@ from GaudiKernel.SystemOfUnits import (TeV, GeV, MeV, mm, micrometer as um, ps) import Functors as F from Functors.math import in_range from PyConf.Algorithms import ( - Monitor__ParticleRange, OdinTypesFilter, HltRoutingBitsFilter, + OdinTypesFilter, HltRoutingBitsFilter, MuonProbeToLongMatcher) #, MuonChamberMonitor, MuonRawInUpgradeToHits +from SelAlgorithms.monitoring import monitor, histogram_1d from DecayTreeFitter import DecayTreeFitter from PyConf.application import (make_odin, default_raw_banks) #, default_raw_event @@ -61,13 +62,18 @@ def _make_hist_list(hist_dict, line_name): hist_list = [] for histname, params in hist_dict.items(): hist_list.append( - Monitor__ParticleRange( - Input=params['input'], - Variable=params['variable'], - HistogramName=f"/{line_name}/{histname}", - Bins=params['bins'], - Range=params['range'], - )) + monitor( + data=params['input'], + histograms=[ + histogram_1d( + functor=params['variable'], + name=f"/{line_name}/{histname}", + title=histname, + label=str(params['variable']), + bins=params['bins'], + range=params['range'], + ) + ])) return hist_list diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/monitoring/data_quality_PbPb.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/monitoring/data_quality_PbPb.py index 3d76b56309a..4d17412df33 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/monitoring/data_quality_PbPb.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/monitoring/data_quality_PbPb.py @@ -21,8 +21,8 @@ The module contains the following lines: - Hlt2DQ_JpsiToEmEp (J/psi(1S) -> e+ e-) """ from GaudiKernel.SystemOfUnits import (GeV, MeV, mm, micrometer as um) -from PyConf.Algorithms import (Monitor__ParticleRange, - FunctionalDiElectronMaker) +from PyConf.Algorithms import FunctionalDiElectronMaker +from SelAlgorithms.monitoring import histogram_1d, monitor import Functors as F from Functors.math import log @@ -110,13 +110,12 @@ def _kshort_ll_line(name="Hlt2DQ_KsToPimPip_LL"): F.BPVDIRA(make_pvs()) > 0.9995, ), ) - ks_fd_mon = Monitor__ParticleRange( - Input=ks, - Variable=log(F.BPVFD(make_pvs())), - HistogramName=f"/{name}/Ks_FDlog", - Bins=60, - Range=(1, 8), - ) + ks_fd_mon = monitor( + data=ks, + histograms=[ + histogram_1d(f"/{name}/Ks_FDlog", "Ks_FDlog", + log(F.BPVFD(make_pvs())), 60, (1, 8), "Ks_FDlog") + ]) return Hlt2Line( name=name, algs=_pbpb_prefilters() + [ks, ks_fd_mon], @@ -181,49 +180,60 @@ def _d0_to_kpi_line(name="Hlt2DQ_D0ToKmPip"): ), ) - d_ipchi2_mon = Monitor__ParticleRange( - Input=d0, - Variable=log(F.MINIPCHI2(make_pvs())), - HistogramName=f"/{name}/D0_logIPCHI2", - Bins=60, - Range=(-6, 12), + d_ipchi2_mon = histogram_1d( + functor=log(F.MINIPCHI2(make_pvs())), + name=f"/{name}/D0_logIPCHI2", + title="D0_logIPCHI2", + bins=60, + range=(-6, 12), + label="D0_logIPCHI2", ) - d_pasy_mon = Monitor__ParticleRange( - Input=d0, - Variable=(F.CHILD(1, F.P) - F.CHILD(2, F.P)) / + d_pasy_mon = histogram_1d( + functor=(F.CHILD(1, F.P) - F.CHILD(2, F.P)) / (F.CHILD(1, F.P) + F.CHILD(2, F.P)), - HistogramName=f"/{name}/D0_Daughters_Pasy", - Bins=60, - Range=(-1, 1), + name=f"/{name}/D0_Daughters_Pasy", + title="D0_Daughters_Pasy", + bins=60, + range=(-1, 1), + label="D0_Daughters_Pasy", ) - d_ptasy_mon = Monitor__ParticleRange( - Input=d0, - Variable=(F.CHILD(1, F.PT) - F.CHILD(2, F.PT)) / + d_ptasy_mon = histogram_1d( + functor=(F.CHILD(1, F.PT) - F.CHILD(2, F.PT)) / (F.CHILD(1, F.PT) + F.CHILD(2, F.PT)), - HistogramName=f"/{name}/D0_Daughters_PTasy", - Bins=60, - Range=(-1, 1), + name=f"/{name}/D0_Daughters_PTasy", + title="D0_Daughters_PTasy", + bins=60, + range=(-1, 1), + label="D0_Daughters_PTasy", ) - pi_pidk_mon = Monitor__ParticleRange( - Input=d0, - Variable=F.CHILD(2, F.PID_K), - HistogramName=f"/{name}/pi_PIDk", - Bins=60, - Range=(-150, 5), + pi_pidk_mon = histogram_1d( + functor=F.CHILD(2, F.PID_K), + name=f"/{name}/pi_PIDk", + title="pi_PIDk", + bins=60, + range=(-150, 5), + label="pi_PIDk", ) - K_pidk_mon = Monitor__ParticleRange( - Input=d0, - Variable=F.CHILD(1, F.PID_K), - HistogramName=f"/{name}/K_PIDk", - Bins=60, - Range=(5, 150), + K_pidk_mon = histogram_1d( + functor=F.CHILD(1, F.PID_K), + name=f"/{name}/K_PIDk", + title="K_PIDk", + bins=60, + range=(5, 150), + label="K_PIDk", ) + + d0_monitor = monitor( + Input=d0, + Histograms=[ + d_ipchi2_mon, d_pasy_mon, d_ptasy_mon, pi_pidk_mon, K_pidk_mon + ]) + return Hlt2Line( name=name, - algs=_pbpb_prefilters() + - [d0, d_ipchi2_mon, d_pasy_mon, d_ptasy_mon, pi_pidk_mon, K_pidk_mon], + algs=_pbpb_prefilters() + [d0, d0_monitor], postscale=0., persistreco=True, ) @@ -256,24 +266,29 @@ def _dp_to_kpipi_line(name="Hlt2DQ_DpToKmPipPip"): F.BPVFDCHI2(make_pvs()) > 32., ), ) - d_m_plus_mon = Monitor__ParticleRange( - Input=dp, - Variable=F.MASS * F.CHARGE, - HistogramName=f"/{name}/Dp_M", - Bins=60, - Range=(1779 * MeV, 1959 * MeV), + d_m_plus_mon = histogram_1d( + functor=F.MASS * F.CHARGE, + name=f"/{name}/Dp_M", + title="Dp_M", + label="Dp_M", + bins=60, + range=(1779 * MeV, 1959 * MeV), ) - d_m_minus_mon = Monitor__ParticleRange( - Input=dp, - Variable=F.MASS * F.CHARGE * (-1), - HistogramName=f"/{name}/Dm_M", - Bins=60, - Range=(1779 * MeV, 1959 * MeV), + d_m_minus_mon = histogram_1d( + functor=F.MASS * F.CHARGE * (-1), + name=f"/{name}/Dm_M", + title="Dm_M", + label="Dm_M", + bins=60, + range=(1779 * MeV, 1959 * MeV), ) + + dp_monitor = monitor(data=dp, histograms=[d_m_minus_mon, d_m_plus_mon]) + return Hlt2Line( name=name, - algs=_pbpb_prefilters() + [dp, d_m_minus_mon, d_m_plus_mon], + algs=_pbpb_prefilters() + [dp, dp_monitor], postscale=0., persistreco=True, ) @@ -327,42 +342,52 @@ def _jpsi_to_ee_line(name="Hlt2DQ_JpsiToEmEp"): MaxDiElecMass=3.4 * GeV).Particles jpsis = ParticleFilter(dielec, F.FILTER(F.CHI2DOF < 9.)) - e_hasbrem_mon = Monitor__ParticleRange( - Input=es, - Variable=F.HASBREM, - HistogramName=f"/{name}/e_hasBrem", - Bins=2, - Range=(-0.1, 1.1), + e_hasbrem_mon = histogram_1d( + functor=F.HASBREM, + name=f"/{name}/e_hasBrem", + title="e_hasBrem", + label="e_hasBrem", + bins=2, + range=(-0.1, 1.1), ) - e_ecalpide_mon = Monitor__ParticleRange( - Input=es, - Variable=F.VALUE_OR(F.NaN) @ F.ECALPIDE, - HistogramName=f"/{name}/e_ECALPIDe", - Bins=60, - Range=(-10, 10), + e_ecalpide_mon = histogram_1d( + functor=F.VALUE_OR(F.NaN) @ F.ECALPIDE, + name=f"/{name}/e_ECALPIDe", + title="e_ECALPIDe", + label="e_ECALPIDe", + bins=60, + range=(-10, 10), ) - e_brempide_mon = Monitor__ParticleRange( - Input=es, - Variable=F.VALUE_OR(F.NaN) @ F.BREMPIDE, - HistogramName=f"/{name}/e_BREMPIDe", - Bins=60, - Range=(-10, 10), + e_brempide_mon = histogram_1d( + functor=F.VALUE_OR(F.NaN) @ F.BREMPIDE, + name=f"/{name}/e_BREMPIDe", + title="e_BREMPIDe", + label="e_BREMPIDe", + bins=60, + range=(-10, 10), ) - jpsi_m_mon = Monitor__ParticleRange( - Input=jpsis, - Variable=F.MASS, - HistogramName=f"/{name}/m", - Bins=45, - Range=(2.5 * GeV, 3.4 * GeV), - ) + electron_monitor = monitor( + data=es, histograms=[e_hasbrem_mon, e_ecalpide_mon, e_brempide_mon]) + + jpsi_m_mon = monitor( + data=jpsis, + histograms=[ + histogram_1d( + functor=F.MASS, + name=f"/{name}/m", + title="m", + label="MASS", + bins=45, + range=(2.5 * GeV, 3.4 * GeV), + ) + ]) return Hlt2Line( name=name, - algs=_pbpb_prefilters() + - [jpsis, e_hasbrem_mon, e_ecalpide_mon, e_brempide_mon, jpsi_m_mon], + algs=_pbpb_prefilters() + [jpsis, electron_monitor, jpsi_m_mon], postscale=0., persistreco=True, ) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/monitoring/pi0_line.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/monitoring/pi0_line.py index 18dc297d1d1..1469a82e1cc 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/monitoring/pi0_line.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/monitoring/pi0_line.py @@ -11,7 +11,7 @@ import Functors as F from RecoConf.reconstruction_objects import upfront_reconstruction -from PyConf.Algorithms import Monitor__ParticleRange +from SelAlgorithms.monitoring import histogram_1d, monitor from PyConf.tonic import configurable from Hlt2Conf.standard_particles import make_photons from .pi0_builders_thor import filter_photons, make_pi0 @@ -35,12 +35,17 @@ def pi0_monitoring(name, pt_min=pi0_et, m_max=max_mass) - checkPi0_M = Monitor__ParticleRange( - name=f"Monitor_{name}Pi0Monitor", - Variable=F.MASS, - Input=pi0s, - Range=(0, max_mass), - Bins=bins) + checkPi0_M = monitor( + data=pi0s, + histograms=[ + histogram_1d( + name=f"Monitor_{name}Pi0Monitor", + title="Pi0Monitor", + label="Pi0Monitor", + functor=F.MASS, + range=(0, max_mass), + bins=bins) + ]) return [checkPi0_M, pi0s] diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/pid/BToJpsiK_JpsiToEETagged.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/pid/BToJpsiK_JpsiToEETagged.py index bc26a97ee6e..87f7715be81 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/pid/BToJpsiK_JpsiToEETagged.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/pid/BToJpsiK_JpsiToEETagged.py @@ -31,7 +31,7 @@ from Hlt2Conf.lines.pid.utils.charmonium import ( make_jpsi_to_ee, make_tag_electrons, make_probe_electrons, make_tag_electrons_noPIDe, make_probe_electrons_noPIDe) -from PyConf.Algorithms import Monitor__ParticleRange +from SelAlgorithms.monitoring import histogram_1d, monitor all_lines = {} @@ -178,37 +178,33 @@ def BToJpsiK_JpsiToEmbremEpbremTagged( jpsis = make_jpsi_to_ee(e_neg=e_probes, e_pos=e_tags) bs = make_bs(jpsis, kaons, pvs) - probe_hasbrem_mon = Monitor__ParticleRange( - Input=e_probes, - Variable=F.HASBREM, - HistogramName=f"/{name}/probe_hasBrem", - Bins=2, - Range=(-0.1, 1.1), + probe_hasbrem_mon = histogram_1d( + f"/{name}/probe_hasBrem", + "probe_hasBrem", + F.HASBREM, + 2, + (-0.1, 1.1), + "probe_hasBrem", ) - probe_ecalpide_mon = Monitor__ParticleRange( - Input=e_probes, - Variable=F.VALUE_OR(F.NaN) @ F.ECALPIDE, - HistogramName=f"/{name}/probe_ECALPIDe", - Bins=60, - Range=(-10, 10), - ) + probe_ecalpide_mon = histogram_1d( + f"/{name}/probe_ECALPIDe", "probe_ECALPIDe", + F.VALUE_OR(F.NaN) @ F.ECALPIDE, 60, (-10, 10), "probe_ECALPIDe") - probe_brempide_mon = Monitor__ParticleRange( - Input=e_probes, - Variable=F.VALUE_OR(F.NaN) @ F.BREMPIDE, - HistogramName=f"/{name}/probe_BREMPIDe", - Bins=60, - Range=(-10, 10), - ) + probe_brempide_mon = histogram_1d( + f"/{name}/probe_BREMPIDe", "probe_BREMPIDe", + F.VALUE_OR(F.NaN) @ F.BREMPIDE, 60, (-10, 10), "probe_BREMPIDe") + + probe_monitor = monitor( + data=e_probes, + histograms=[probe_hasbrem_mon, probe_ecalpide_mon, probe_brempide_mon]) jpsis = make_jpsi_to_ee(e_neg=e_probes, e_pos=e_tags) bs = make_bs_noPIDe(jpsis, kaons, pvs) return Hlt2Line( name=name, - algs=flt.pid_prefilters() + - [jpsis, bs, probe_hasbrem_mon, probe_ecalpide_mon, probe_brempide_mon], + algs=flt.pid_prefilters() + [jpsis, bs, probe_monitor], prescale=prescale, persistreco=True, ) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/pid/JpsiToMuMuTagged_Detached.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/pid/JpsiToMuMuTagged_Detached.py index 9a21fa89a48..616530c52b2 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/pid/JpsiToMuMuTagged_Detached.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/pid/JpsiToMuMuTagged_Detached.py @@ -31,7 +31,7 @@ from Hlt2Conf.lines.pid.utils.charmonium import ( from Hlt2Conf.lines.pid.utils.filters import pid_prefilters import Functors as F -from PyConf.Algorithms import Monitor__ParticleRange +from SelAlgorithms.monitoring import histogram_1d, monitor all_lines = {} @@ -45,34 +45,43 @@ def JpsiToMuMumTagged_Detached(name="Hlt2PID_JpsiToMuMumTagged_Detached", jpsis = make_jpsis(mu_neg=tag_muons, mu_pos=probe_muons) detached_jpsis = make_detached_jpsis(jpsis, pvs) - probe_dll_mon = Monitor__ParticleRange( - Input=probe_muons, - Variable=F.PID_MU, - HistogramName=f"/{name}/probe_PIDmu", - Bins=60, - Range=(-20, 20), - ) + probe_dll_mon = monitor( + data=probe_muons, + histograms=[ + histogram_1d( + functor=F.PID_MU, + name=f"/{name}/probe_PIDmu", + title="probe_PIDmu", + label="probe_PIDmu", + bins=60, + range=(-20, 20), + ) + ]) - probe_ismuon_mon = Monitor__ParticleRange( - Input=probe_muons, - Variable=F.ISMUON, - HistogramName=f"/{name}/probe_isMuon", - Bins=2, - Range=(-0.1, 1.1), + probe_ismuon_mon = histogram_1d( + functor=F.ISMUON, + name=f"/{name}/probe_isMuon", + title="probe_isMuon", + label="probe_isMuon", + bins=2, + range=(-0.1, 1.1), ) - probe_p_mon = Monitor__ParticleRange( - Input=probe_muons, - Variable=F.ISMUON * F.P, - HistogramName=f"/{name}/probe_pass_P", - Bins=75, - Range=(3e3, 153e3), + probe_p_mon = histogram_1d( + functor=F.ISMUON * F.P, + name=f"/{name}/probe_pass_P", + title="probe_pass_P", + label="probe_pass_P", + bins=75, + range=(3e3, 153e3), ) + muon_monitor = monitor( + data=probe_muons, histograms=[probe_ismuon_mon, probe_p_mon]) + return Hlt2Line( name=name, - algs=pid_prefilters() + - [detached_jpsis, probe_ismuon_mon, probe_dll_mon, probe_p_mon], + algs=pid_prefilters() + [detached_jpsis, muon_monitor, probe_dll_mon], prescale=prescale, persistreco=True, ) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/pid/KsToPiPi.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/pid/KsToPiPi.py index 6e9b3dc78aa..ce60f98b5bf 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/pid/KsToPiPi.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/pid/KsToPiPi.py @@ -27,7 +27,7 @@ from Hlt2Conf.algorithms_thor import ParticleCombiner from Hlt2Conf.lines.pid.utils import constants, filters as flt -from PyConf.Algorithms import Monitor__ParticleRange +from SelAlgorithms.monitoring import histogram_1d, monitor from Functors.math import log all_lines = {} @@ -116,14 +116,19 @@ def KsToPiPi_LL(name="Hlt2PID_KsToPiPi_LL", prescale=0.0005): make_long_pions(), pvs, trchi2_max=3, mipchi2_min=36) ks0lls = make_ks0lls(pions, pvs) - ks_fd_mon = Monitor__ParticleRange( - Input=ks0lls, - Variable=log(F.BPVFD(make_pvs())), - #Variable=F.Mass, - HistogramName=f"/{name}/Ks_FDlog", - Bins=60, - Range=(-2, 8), - ) + ks_fd_mon = monitor( + data=ks0lls, + histograms=[ + histogram_1d( + functor=log(F.BPVFD(make_pvs())), + #Variable=F.Mass, + name=f"/{name}/Ks_FDlog", + title="Ks_FDlog", + label="Ks_FDlog", + bins=60, + range=(-2, 8), + ) + ]) return Hlt2Line( name=name, @@ -140,14 +145,19 @@ def KsToPiPi_DD(name="Hlt2PID_KsToPiPi_DD", prescale=0.0005): make_down_pions(), p_min=3.0 * GeV, pt_min=0.175 * GeV, trchi2_max=3) ks0dds = make_ks0dds(pions, pvs) - ks_fd_mon_dd = Monitor__ParticleRange( - Input=ks0dds, - Variable=log(F.BPVFD(make_pvs())), - #Variable=F.Mass, - HistogramName=f"/{name}/Ks_FDlog", - Bins=60, - Range=(-2, 8), - ) + ks_fd_mon_dd = monitor( + data=ks0dds, + histograms=[ + histogram_1d( + functor=log(F.BPVFD(make_pvs())), + #Variable=F.Mass, + name=f"/{name}/Ks_FDlog", + title="Ks_FDlog", + label="Ks_FDlog", + bins=60, + range=(-2, 8), + ) + ]) return Hlt2Line( name=name, diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/rd/builders/rad_incl_builder.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/rd/builders/rad_incl_builder.py index ad67880e27a..158e7b1c7b9 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/rd/builders/rad_incl_builder.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/rd/builders/rad_incl_builder.py @@ -22,7 +22,7 @@ from RecoConf.reconstruction_objects import make_pvs from GaudiKernel.SystemOfUnits import GeV, MeV from PyConf import configurable -from PyConf.Algorithms import Monitor__ParticleRange +from SelAlgorithms.monitoring import monitor, histogram_1d def make_monitor(name, @@ -31,15 +31,13 @@ def make_monitor(name, HistogramName=None, Bins=100, Range=(-1, 1)): - config = dict( - Input=input, - Variable=variable, - name=name, - HistogramName=HistogramName if HistogramName else name, - Bins=Bins, - Range=Range) - moni = Monitor__ParticleRange(**config) - return moni + title = HistogramName or name + return monitor( + data=input, + histograms=[ + histogram_1d( + name, title, variable, bins=Bins, range=Range, label=title) + ]) #################################### diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/test/hlt2_test.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/test/hlt2_test.py index 2f9c8973a8d..b74c5ed2597 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/test/hlt2_test.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/test/hlt2_test.py @@ -21,7 +21,8 @@ import Functors as F from Functors.math import in_range from GaudiKernel.SystemOfUnits import GeV, MeV, mm, micrometer as um, ps from GaudiKernel.SystemOfUnits import picosecond -from PyConf.Algorithms import Monitor__ParticleRange, ParticleUnbiasedPVAdder +from PyConf.Algorithms import ParticleUnbiasedPVAdder +from SelAlgorithms.monitoring import histogram_1d, monitor from Moore.lines import Hlt2Line from Moore.config import register_line_builder from RecoConf.reconstruction_objects import make_pvs, make_extended_pvs, upfront_reconstruction @@ -52,13 +53,18 @@ def photons_line(name="Hlt2Test_Photons", prescale=1): photons = make_photons() line_alg = ParticleFilter(Input=photons, Cut=F.FILTER(F.P > 40 * GeV)) # test monitoring of neutral basics - photon_mon = Monitor__ParticleRange( + photon_mon = monitor( name="Monitor_Test_Photons_IsPhoton", - Input=photons, - Variable=F.VALUE_OR(F.NaN) @ F.IS_PHOTON, - HistogramName="/Test_Photons/IsPhoton", - Bins=100, - Range=(0, 1)) + data=photons, + histograms=[ + histogram_1d( + functor=F.VALUE_OR(F.NaN) @ F.IS_PHOTON, + name="/Test_Photons/IsPhoton", + title="IsPhoton", + label="IsPhoton", + bins=100, + range=(0, 1)) + ]) return Hlt2Line(name=name, prescale=prescale, algs=[line_alg, photon_mon]) @@ -387,18 +393,23 @@ def bs2jpsiphi_jpsi2mumu_phi2kk_line(name='Hlt2Test_Bs0ToJpsiPhi_JPsiToMupMum', name="Test_MassConstrJpsi2MuMuMaker", Inputs=[muons, filteredMuons], DecayDescriptor= - "J/psi(1S) -> mu+ mu-", # remove 'cc' and no use for cc in case of self-conjugate decays. + "J/psi(1S) -> mu+ mu-", # remove 'cc' and no use for cc in case of self-conjugate decays. CombinationCut=combination_code, CompositeCut=mother_code) phi = _make_phi() - phi_mon = Monitor__ParticleRange( + phi_mon = monitor( name="Monitor_Phi_for_Test_Bs0ToJpsiPhi_m", - Input=phi, - Variable=F.MASS, - HistogramName="/Phi_for_Test_Bs0ToJpsiPhi/m", - Bins=100, - Range=(980 * MeV, 1060 * MeV)) + data=phi, + histograms=[ + histogram_1d( + functor=F.MASS, + name="/Phi_for_Test_Bs0ToJpsiPhi/m", + title="m", + label="MASS", + bins=100, + range=(980 * MeV, 1060 * MeV)) + ]) bs = _make_bs2jpsiphi(jpsi, phi, pvs) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/test/spruce_test.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/test/spruce_test.py index e6e2643618a..72341a234f6 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/test/spruce_test.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/test/spruce_test.py @@ -29,7 +29,7 @@ from __future__ import absolute_import, division, print_function from Moore.config import SpruceLine -from PyConf.Algorithms import Monitor__ParticleRange +from SelAlgorithms.monitoring import histogram_1d, monitor from GaudiKernel.SystemOfUnits import GeV, MeV, mm, picosecond @@ -113,13 +113,18 @@ def Test_sprucing_line(name='SpruceTest_SpruceTest', prescale=1): d = _make_ds(kaons, pvs) line_alg = _make_b2x(particles=[d, kaons], descriptor='[B0 -> D_s- K+]cc') - d_mon = Monitor__ParticleRange( + d_mon = monitor( name=name + "_Ds_Monitor", - HistogramName="m", - Input=d, - Variable=F.MASS, - Bins=50, - Range=((1968.35 - 5 * 5.0) * MeV, (1968.35 + 5 * 5.0) * MeV)) + data=d, + histograms=[ + histogram_1d( + name="m", + title="m", + label="MASS", + functor=F.MASS, + bins=50, + range=((1968.35 - 5 * 5.0) * MeV, (1968.35 + 5 * 5.0) * MeV)) + ]) return SpruceLine( name=name, diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/trackeff/KSVeloLong.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/trackeff/KSVeloLong.py index 766d9275e75..52fb76966e8 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/trackeff/KSVeloLong.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/trackeff/KSVeloLong.py @@ -27,7 +27,8 @@ from Hlt2Conf.probe_muons import make_velo_muons from Hlt2Conf.algorithms_thor import ParticleContainersMerger from Hlt2Conf.hlt1_tistos import hlt1_tis_on_any_filter from PyConf.Algorithms import KSLongVeloFilter -from PyConf.Algorithms import KSVelo2LongEfficiencyMonitor, VeloIDOverlapRelationTable, FlattenDecayTree, Monitor__ParticleRange as Monitor, VoidFilter +from PyConf.Algorithms import KSVelo2LongEfficiencyMonitor, VeloIDOverlapRelationTable, FlattenDecayTree, VoidFilter +from SelAlgorithms.monitoring import monitor, histogram_1d turbo_lines = {} turcal_lines = {} @@ -315,13 +316,17 @@ def construct_hlt2_monitoring_line(*, name, prescale, no_bias=False): Particles=filtered_kshorts, Table=relation_table_match_to_long, MinMatchFraction=0.7) - mass_monitor = Monitor( - name="Monitor_ks_m_{hash}", - Input=filtered_kshorts, - Variable=F.MASS, - HistogramName="/Hlt2KshortVeloLong/m", - Bins=200, - Range=(300, 700)) + mass_monitor = monitor( + data=filtered_kshorts, + histograms=[ + histogram_1d( + functor=F.MASS, + name="/Hlt2KshortVeloLong/m", + title="Monitor_ks_m_{hash}", + label="MASS", + bins=200, + range=(300, 700)) + ]) algs = [ require_pvs(make_pvs()), muon_filter, filtered_kshorts, mass_monitor, @@ -398,13 +403,17 @@ def construct_hlt1_monitoring_line(*, name, prescale, no_bias=False): flattened_decay_tree.OutputParticles, F.FILTER(F.ISBASICPARTICLE), name="MyParticleFilterThing_{hash}") - mass_monitor = Monitor( - name="Monitor_ks_m_{hash}", - Input=filtered_kshorts, - Variable=F.MASS, - HistogramName="/Hlt2KshortVeloLong/m", - Bins=200, - Range=(300, 700)) + mass_monitor = monitor( + data=filtered_kshorts, + histograms=[ + histogram_1d( + functor=F.MASS, + name="/Hlt2KshortVeloLong/m", + title="Monitor_ks_m_{hash}", + label="MASS", + bins=200, + range=(300, 700)) + ]) from Allen.config import allen_detectors, setup_allen_non_event_data_service from PyConf.control_flow import CompositeNode, NodeLogic diff --git a/Hlt/Hlt2Conf/tests/options/hlt2_monitor.py b/Hlt/Hlt2Conf/tests/options/hlt2_monitor.py index 2e3a4ccba2c..95f22e416eb 100644 --- a/Hlt/Hlt2Conf/tests/options/hlt2_monitor.py +++ b/Hlt/Hlt2Conf/tests/options/hlt2_monitor.py @@ -14,7 +14,7 @@ Options file to test the monitoring import Functors as F from Functors.math import in_range -from GaudiKernel.SystemOfUnits import MeV, mm +from GaudiKernel.SystemOfUnits import GeV, MeV, mm from Moore.config import register_line_builder from Moore.lines import Hlt2Line @@ -27,27 +27,7 @@ from Hlt2Conf.algorithms_thor import ParticleCombiner, ParticleFilter from PyConf import configurable -from PyConf.Algorithms import Monitor__ParticleRange - -from Hlt2Conf.algorithms_thor import thor_backend, PARTICLE_V1 - - -def monitor(name, particles, functor, *, histogram_name, range, bins=100): - - assert (len(range) == 2) - config = dict( - name=name, - Input=particles, - Variable=functor, - HistogramName=histogram_name, - Bins=bins, - Range=range) - bk = thor_backend() - if bk == PARTICLE_V1: - return Monitor__ParticleRange(**config) - else: - raise NotImplementedError( - f'Monitoring not implemented for ThOr backend "{bk}"') +from SelAlgorithms.monitoring import histogram_axis, histogram_1d, histogram_2d, monitor @configurable @@ -107,29 +87,47 @@ def ks02pipi_line(name="Hlt2KS02pipi", prescale=1): # this will monitor all the pions satisfying the basic requirements # from events triggered by this line - precomb_pions_pt_monitor = monitor( - f'{name}PionPtMonitor', - pions, - F.PT, - histogram_name='pion_pt', + precomb_pions_pt_mon = histogram_1d( + functor=F.PT, + name='pion_pt', + title='pion_pt', + label='PT', + bins=100, range=(0., 1e3 * MeV)) - mass_monitor = monitor( - f'{name}MassMonitor', - kaons, - F.MASS, - histogram_name='mass', + precomb_pions_pt_over_p_mon = histogram_2d( + name='pion_pt_over_p', + title='pion_pt_over_p', + xaxis=histogram_axis( + functor=F.P, bins=100, range=(0., 10. * GeV), label='P'), + yaxis=histogram_axis( + functor=F.PT, bins=100, range=(0., 1e3 * MeV), label='PT')) + kaons_mass_mon = histogram_1d( + functor=F.MASS, + name='mass', + title='mass', + label='MASS', + bins=100, range=(mass_min, mass_max)) - momenta_sum_monitor = monitor( - f'{name}SquaredFunctorSumMonitor', - kaons, - F.MASS**2 + F.PT**2, - histogram_name='mass', + kaons_momenta_sum_mon = histogram_1d( + functor=F.MASS**2 + F.PT**2, + name='energy squared', + title='energy squared', + label='energy squared', + bins=100, range=(mass_min, mass_max)) + pions_monitor = monitor( + name=f'{name}PionsMonitor', + data=pions, + histograms=[precomb_pions_pt_mon, precomb_pions_pt_over_p_mon]) + kaons_monitor = monitor( + name=f'{name}KaonsMonitor', + data=kaons, + histograms=[kaons_mass_mon, kaons_momenta_sum_mon]) + return Hlt2Line( name=name, - algs=upfront_reconstruction() + - [kaons, precomb_pions_pt_monitor, mass_monitor, momenta_sum_monitor], + algs=upfront_reconstruction() + [kaons, pions_monitor, kaons_monitor], prescale=prescale, ) diff --git a/Hlt/Moore/python/Moore/lines.py b/Hlt/Moore/python/Moore/lines.py index d6927492571..dd00d50243e 100644 --- a/Hlt/Moore/python/Moore/lines.py +++ b/Hlt/Moore/python/Moore/lines.py @@ -159,14 +159,15 @@ class DecisionLine(object): If the producer creates no output, None is returned. """ - for c in reversed(node.children): - if isinstance(c, Algorithm): - if c.typename != "Monitor__ParticleRange" and c.typename != "Monitor__EventVariable": - last = c - break + for c in filter( + lambda c: isinstance(c, Algorithm) and not c.typename.startswith('Monitor_'), + reversed(node.children)): + last = c + break # Could in principle have control node here; will deal with this use # case if it arises + # TODO: we are already checking that "last" is an algorithm... assert isinstance(last, Algorithm), last # If the last algorithm produces nothing, there is no 'producer' return last if last.outputs else None diff --git a/Hlt/Moore/python/Moore/monitoring.py b/Hlt/Moore/python/Moore/monitoring.py index 5076dbbfd12..79813a5237a 100644 --- a/Hlt/Moore/python/Moore/monitoring.py +++ b/Hlt/Moore/python/Moore/monitoring.py @@ -11,9 +11,10 @@ import re import Functors as F from GaudiKernel.SystemOfUnits import GeV, picosecond as ps -from PyConf.Algorithms import Monitor__ParticleRange as Monitor, Monitor__EventVariable +from SelAlgorithms.monitoring import monitor from PyConf import configurable from RecoConf.reconstruction_objects import make_pvs +from SelAlgorithms.monitoring import histogram_1d @configurable @@ -35,7 +36,6 @@ def monitoring(algs, name, mon_vars): Returns: List of monitoring algorithms. """ - monitoring_algs = [] producer = None def get_producer_with_selection(input_producer): @@ -94,7 +94,7 @@ def monitoring(algs, name, mon_vars): if producer_output is not None and last_combiner is not None: break if producer is None or last_combiner is None: - return monitoring_algs + return [] # parse ranges from the combiner code. we need to get the cuts in parseable format (code_repr) prop_dict = last_combiner.__dict__["_properties"] @@ -175,89 +175,82 @@ def monitoring(algs, name, mon_vars): return True return False + # parse the monitoring variable names and define the configuration of the histograms + monitoring_histograms, global_monitoring_histograms = [], [] + for mon_var in mon_vars: # pt if mon_var.lower() == "pt": - monitoring_algs.append( - Monitor( - name="Monitor_" + name + "_pt", - Input=producer_output, - Variable=F.PT, - HistogramName="/" + name + "/pt", - Bins=80, - Range=_parse_all(r"\( RHO_COORDINATE @ THREEMOMENTUM \)", - 0., 40. * GeV))) + xmin, xmax = _parse_all(r"\( RHO_COORDINATE @ THREEMOMENTUM \)", + 0., 40. * GeV) + monitoring_histograms.append( + histogram_1d(f"/{name}/pt", f"Monitor_{name}_pt", F.PT, 80, + (xmin, xmax), "PT")) # eta elif mon_var.lower() == "eta": - monitoring_algs.append( - Monitor( - name="Monitor_" + name + "_eta", - Input=producer_output, - Variable=F.ETA, - HistogramName="/" + name + "/eta", - Bins=40, - Range=(1.5, 5.5))) + monitoring_histograms.append( + histogram_1d(f"/{name}/eta", f"Monitor_{name}_eta", F.ETA, 40, + (1.5, 5.5), "ETA")) # mass elif mon_var.lower() == "m": mass_functor = _parse_mass_functor() #TODO: parse decay descriptor to set defaults in _parse_all. Might need https://gitlab.cern.ch/lhcb/Moore/-/issues/289 - monitoring_algs.append( - Monitor( - name="Monitor_" + name + "_m", - Input=producer_output, - Variable=mass_functor["functor"], - HistogramName="/" + name + "/m", - Bins=100, - Range=_parse_all(mass_functor["regex"], 0., 7. * GeV))) + xmin, xmax = _parse_all(mass_functor["regex"], 0., 7. * GeV) + monitoring_histograms.append( + histogram_1d(f"/{name}/m", f"Monitor_{name}_m", + mass_functor['functor'], 100, (xmin, xmax), + "MASS")) # decay time elif mon_var.lower() == "dectime": - monitoring_algs.append( - Monitor( - name="Monitor_" + name + "_dectime", - Input=producer_output, - Variable=F.BPVLTIME(make_pvs()), - HistogramName="/" + name + "/dectime", - Bins=100, - #VTX_LTIME.bind( BEST_PV.bind( TES(DataHandles=[DataHandle('/Event/TrackBeamLineVertexFinderSoA/OutputVertices')], DataTypes=['LHCb::Event::PV::PrimaryVertexContainer']), _FORWARDARGS() ), _FORWARDARGS() ) - Range=_parse_all( - r"VTX_LTIME.*? _FORWARDARGS\(\) \), _FORWARDARGS\(\) \)", - 0 * ps, 8 * ps))) + xmin, xmax = _parse_all( + r"VTX_LTIME.*? _FORWARDARGS\(\) \), _FORWARDARGS\(\) \)", + 0 * ps, 8 * ps) + monitoring_histograms.append( + histogram_1d(f"/{name}/dectime", f"Monitor_{name}_dectime", + F.BPVLTIME(make_pvs()), 100, (xmin, xmax), + "DECAYTIME")) # vertex chi2 elif mon_var.lower() == "vchi2": - monitoring_algs.append( - Monitor( - name="Monitor_" + name + "_vchi2", - Input=producer_output, - Variable=F.CHI2DOF, - HistogramName="/" + name + "/vchi2", - Bins=64, - Range=_parse_all( - r"\( VALUE_OR\(Value=nan\) \@ _CHI2DOF \)", 0., 32.))) + xmin, xmax = _parse_all(r"\( VALUE_OR\(Value=nan\) \@ _CHI2DOF \)", + 0., 32.) + monitoring_histograms.append( + histogram_1d(f"/{name}/vchi2", f"Monitor_{name}_vchi2", + F.CHI2DOF, 64, (xmin, xmax), "CHI2DOF")) # ip chi2 elif mon_var.lower() == "ipchi2": if _pv_filter_in_algs(): - monitoring_algs.append( - Monitor( - name="Monitor_" + name + "_ipchi2", - Input=producer_output, - Variable=F.BPVIPCHI2(make_pvs()), - HistogramName="/" + name + "/ipchi2", - Bins=64, - # to not spell out BPVIPCHI2.bind( TES(DataHandles=[DataHandle('/Event/TrackBeamLineVertexFinderSoA/OutputVertices')], DataTypes=['LHCb::Event::PV::PrimaryVertexContainer']), _FORWARDARGS() ) - # *? matches the previous token between zero and unlimited times, as few times as possible, expanding as needed (lazy) - Range=_parse_all(r"BPVIPCHI2.*? FORWARDARGS\(\) \)", - 0., 1000.))) + xmin, xmax = _parse_all(r"BPVIPCHI2.*? FORWARDARGS\(\) \)", 0., + 1000.) + monitoring_histograms.append( + histogram_1d(f"/{name}/ipchi2", f"Monitor_{name}_ipchi2", + F.BPVIPCHI2(make_pvs()), 64, (xmin, xmax), + "BPVIPCHI2")) # number of candidates elif mon_var.lower() == "n_candidates": - monitoring_algs.append( - Monitor__EventVariable( - name="Monitor_" + name + "_n_candidates", - Variable=F.SIZE(producer_output), - HistogramName="/" + name + "/n_candidates", - HistogramDef=("Monitor_" + name + "_n_candidates", 0, 100, - 100))) + global_monitoring_histograms.append( + histogram_1d( + f"/{name}/n_candidates", f"Monitor_{name}_n_candidates", + F.SIZE(producer_output), 100, (0, 100), "NCANDIDATES")) else: raise ValueError( f"{mon_var} is not a supported default monitoring histogram") - return monitoring_algs + # define the monitoring algorithm for a container + if monitoring_histograms: + container_monitor = monitor( + name=f"Monitor__{name}", + data=producer_output, + histograms=monitoring_histograms) + else: + container_monitor = None + + # define the monitoring algorithm for global information + if global_monitoring_histograms: + global_monitor = monitor( + name=f"GlobalMonitor__{name}", + histograms=global_monitoring_histograms) + else: + global_monitor = None + + return list( + filter(lambda m: m is not None, (container_monitor, global_monitor))) diff --git a/Hlt/RecoConf/python/RecoConf/mass_monitors.py b/Hlt/RecoConf/python/RecoConf/mass_monitors.py index ea4189d5bf0..dd144c5ea7f 100644 --- a/Hlt/RecoConf/python/RecoConf/mass_monitors.py +++ b/Hlt/RecoConf/python/RecoConf/mass_monitors.py @@ -9,7 +9,7 @@ # or submit itself to any jurisdiction. # ############################################################################### from Moore.config import Reconstruction -from PyConf.Algorithms import Monitor__ParticleRange +from SelAlgorithms.monitoring import monitor, histogram_1d from PyConf.packing import persistable_location from RecoConf.reconstruction_objects import reconstruction from GaudiKernel.SystemOfUnits import (GeV, MeV, mm, micrometer as um) @@ -118,13 +118,17 @@ def _diphoton(): def _gg_mass_mon(): - return Monitor__ParticleRange( - Input=_diphoton(), - name="DiPhotonMassMon", - Variable=F.MASS, - HistogramName="gg_m", - Bins=240, - Range=(0 * MeV, 1200 * MeV)) + return monitor( + data=_diphoton(), + histograms=[ + histogram_1d( + name="gg_m", + title="DiPhotonMassMon", + label="MASS", + functor=F.MASS, + bins=240, + range=(0 * MeV, 1200 * MeV)) + ]) def _ks(): @@ -152,13 +156,17 @@ def _ks(): def _ks_mass_mon(): - return Monitor__ParticleRange( - Input=_ks(), - name="KShortMassMon", - Variable=F.MASS, - HistogramName="ks_m", - Bins=180, - Range=(410 * MeV, 590 * MeV)) + return monitor( + data=_ks(), + histograms=[ + histogram_1d( + name="ks_m", + title="KShortMassMon", + label="MASS", + functor=F.MASS, + bins=180, + range=(410 * MeV, 590 * MeV)) + ]) def _lambda(): @@ -196,33 +204,45 @@ def _filter_lambda0bar(): def _lambda_mass_mon(): - return Monitor__ParticleRange( - Input=_lambda(), - name="LambdaMassMon", - Variable=F.MASS, - HistogramName="lambda_m", - Bins=120, - Range=(1080 * MeV, 1140 * MeV)) + return monitor( + data=_lambda(), + histograms=[ + histogram_1d( + name="lambda_m", + title="LambdaMassMon", + label="MASS", + functor=F.MASS, + bins=120, + range=(1080 * MeV, 1140 * MeV)) + ]) def _lambda0_mass_mon(): - return Monitor__ParticleRange( - Input=_filter_lambda0(), - name="Lambda0MassMon", - Variable=F.MASS, - HistogramName="lambda0_m", - Bins=120, - Range=(1080 * MeV, 1140 * MeV)) + return monitor( + data=_filter_lambda0(), + histograms=[ + histogram_1d( + name="lambda0_m", + title="Lambda0MassMon", + label="MASS", + functor=F.MASS, + bins=120, + range=(1080 * MeV, 1140 * MeV)) + ]) def _lambda0bar_mass_mon(): - return Monitor__ParticleRange( - Input=_filter_lambda0bar(), - name="Lambda0barMassMon", - Variable=F.MASS, - HistogramName="lambda0bar_m", - Bins=120, - Range=(1080 * MeV, 1140 * MeV)) + return monitor( + data=_filter_lambda0bar(), + histograms=[ + histogram_1d( + name="lambda0bar_m", + title="Lambda0barMassMon", + label="MASS", + functor=F.MASS, + bins=120, + range=(1080 * MeV, 1140 * MeV)) + ]) def _xi(): @@ -251,13 +271,17 @@ def _xi(): def _xi_mass_mon(): - return Monitor__ParticleRange( - Input=_xi(), - name="XiMassMon", - Variable=(F.MASS - F.CHILD(1, F.MASS) + 1115.683 * MeV), - HistogramName="xi_m", - Bins=120, - Range=(1260 * MeV, 1380 * MeV)) + return monitor( + data=_xi(), + histograms=[ + histogram_1d( + name="xi_m", + title="XiMassMon", + label="MASS", + functor=(F.MASS - F.CHILD(1, F.MASS) + 1115.683 * MeV), + bins=120, + range=(1260 * MeV, 1380 * MeV)) + ]) def _omega(): @@ -286,13 +310,17 @@ def _omega(): def _omega_mass_mon(): - return Monitor__ParticleRange( - Input=_omega(), - name="OmegaMassMon", - Variable=(F.MASS - F.CHILD(1, F.MASS) + 1115.683 * MeV), - HistogramName="omega_m", - Bins=80, - Range=(1600 * MeV, 1760 * MeV)) + return monitor( + data=_omega(), + histograms=[ + histogram_1d( + name="omega_m", + title="OmegaMassMon", + label="MASS", + functor=(F.MASS - F.CHILD(1, F.MASS) + 1115.683 * MeV), + bins=80, + range=(1600 * MeV, 1760 * MeV)) + ]) def _d0(): @@ -323,13 +351,17 @@ def _d0(): def _d0_mass_mon(): - return Monitor__ParticleRange( - Input=_d0(), - name="D0MassMon", - Variable=F.MASS, - HistogramName="d0_m", - Bins=150, - Range=(1715 * MeV, 2015 * MeV)) + return monitor( + data=_d0(), + histograms=[ + histogram_1d( + name="d0_m", + title="D0MassMon", + label="MASS", + functor=F.MASS, + bins=150, + range=(1715 * MeV, 2015 * MeV)) + ]) def _dst(): @@ -349,14 +381,17 @@ def _dst(): def _dst_mass_mon(): - return Monitor__ParticleRange( - Input=_dst(), - name="DstMassMon", - Variable=(F.MASS - F.CHILD(1, F.MASS)), - HistogramName="dst_m", - Bins=80, - Range=(140 * MeV, 180 * MeV), - ) + return monitor( + data=_dst(), + histograms=[ + histogram_1d( + name="dst_m", + title="DstMassMon", + label="MASS", + functor=(F.MASS - F.CHILD(1, F.MASS)), + bins=80, + range=(140 * MeV, 180 * MeV)) + ]) def _dp(): @@ -399,36 +434,45 @@ def _filter_dm(): def _dp_mass_mon(): - return Monitor__ParticleRange( - Input=_dp(), - name="DpMassMon", - Variable=F.MASS, - HistogramName="dp_m", - Bins=100, - Range=(1670 * MeV, 2070 * MeV), - ) + return monitor( + data=_dp(), + histograms=[ + histogram_1d( + name="dp_m", + title="DpMassMon", + label="MASS", + functor=F.MASS, + bins=100, + range=(1670 * MeV, 2070 * MeV)) + ]) def _dplus_mass_mon(): - return Monitor__ParticleRange( - Input=_filter_dp(), - name="DplusMassMon", - Variable=F.MASS, - HistogramName="dplus_m", - Bins=100, - Range=(1670 * MeV, 2070 * MeV), - ) + return monitor( + data=_filter_dp(), + histograms=[ + histogram_1d( + name="dplus_m", + title="DplusMassMon", + label="MASS", + functor=F.MASS, + bins=100, + range=(1670 * MeV, 2070 * MeV)) + ]) def _dminus_mass_mon(): - return Monitor__ParticleRange( - Input=_filter_dm(), - name="DminusMassMon", - Variable=F.MASS, - HistogramName="dminus_m", - Bins=100, - Range=(1670 * MeV, 2070 * MeV), - ) + return monitor( + data=_filter_dm(), + histograms=[ + histogram_1d( + name="dminus_m", + title="DminusMassMon", + label="MASS", + functor=F.MASS, + bins=100, + range=(1670 * MeV, 2070 * MeV)) + ]) def _ds(): @@ -462,13 +506,17 @@ def _ds(): def _ds_mass_mon(): - return Monitor__ParticleRange( - Input=_ds(), - name="DsMassMon", - Variable=F.MASS, - HistogramName="ds_m", - Bins=100, - Range=(1700 * MeV, 2100 * MeV)) + return monitor( + data=_ds(), + histograms=[ + histogram_1d( + name="ds_m", + title="DsMassMon", + label="MASS", + functor=F.MASS, + bins=100, + range=(1700 * MeV, 2100 * MeV)) + ]) def _lc(): @@ -503,13 +551,17 @@ def _lc(): def _lc_mass_mon(): - return Monitor__ParticleRange( - Input=_lc(), - name="LcMassMon", - Variable=F.MASS, - HistogramName="lc_m", - Bins=125, - Range=(2130 * MeV, 2630 * MeV)) + return monitor( + data=_lc(), + histograms=[ + histogram_1d( + name="lc_m", + title="LcMassMon", + label="MASS", + functor=F.MASS, + bins=125, + range=(2130 * MeV, 2630 * MeV)) + ]) def _jpsi(): @@ -530,13 +582,17 @@ def _jpsi(): def _jpsi_mass_mon(): - return Monitor__ParticleRange( - Input=_jpsi(), - name="JpsiMassMon", - Variable=F.MASS, - HistogramName="jpsi_m", - Bins=120, - Range=(2.7 * GeV, 3.9 * GeV)) + return monitor( + data=_jpsi(), + histograms=[ + histogram_1d( + name="jpsi_m", + title="JpsiMassMon", + label="MASS", + functor=F.MASS, + bins=120, + range=(2.7 * GeV, 3.9 * GeV)) + ]) def _jpsi_ee(): @@ -544,13 +600,17 @@ def _jpsi_ee(): def _jpsi_ee_mass_mon(): - return Monitor__ParticleRange( - Input=_jpsi_ee(), - name="JpsiEEMassMon", - Variable=F.MASS, - HistogramName="jpsi_ee_m", - Bins=150, - Range=(2.0 * GeV, 3.5 * GeV)) + return monitor( + data=_jpsi_ee(), + histograms=[ + histogram_1d( + name="jpsi_ee_m", + title="JpsiEEMassMon", + label="MASS", + functor=F.MASS, + bins=150, + range=(2.0 * GeV, 3.5 * GeV)) + ]) def make_mass_monitors(): diff --git a/doc/tutorials/hlt2_line.rst b/doc/tutorials/hlt2_line.rst index 9522c27f20c..ee5af0e823c 100644 --- a/doc/tutorials/hlt2_line.rst +++ b/doc/tutorials/hlt2_line.rst @@ -888,23 +888,29 @@ Custom monitoring ^^^^^^^^^^^^^^^^^ Custom monitoring of particles can be configured -individually for each line with a functor-based Algorithm -called ``Monitor__ParticleRange``. +individually for each line using the algorithm returned +by the function ``monitor``, which can deal with both +1D and 2D histograms represented by the classes ``histogram_1d`` +and ``histogram_2d``. As an example, we can set up a mass monitor for the |lc| that is an intermediate step of our tutorial line ``Hlt2Tutorial_Lb0ToLcpPim_LcpToPpKmPip_Line`` .. code-block:: python - from PyConf.Algorithms import Monitor__ParticleRange + from SelAlgorithms.monitoring import histogram_1d, monitor ... # in the lb0_to_lcpim_line(name=...) function - lc_mass_mon = Monitor__ParticleRange( - Input=lcs, - Variable=F.MASS, - HistogramName=f"/{name}/lc_m", - Bins=60, - Range=(2080 * MeV, 2480 * MeV), + lc_mass_mon = monitor( + data=lcs, + histograms=[histogram_1d( + functor=F.MASS, + name=f"/{name}/lc_m", + title="lc_m", + label="MASS", + bins=60, + range=(2080 * MeV, 2480 * MeV), + )] ) ... return Hlt2Line( @@ -921,9 +927,9 @@ There are a few things to note: If put after ``lbs`` in the control flow, we would only get a plot of |lc| for which a |lb| candidate is found (the ones you'd see offline, plus combinatorial or opposite side |lc| candidates). * For being able to benchmark monitors, when a name is given, it should start with ``Monitor_``. - This is implicit in the example (the algorithm will be called `Monitor__ParticleRange#`; + This is implicit in the example (the algorithm will be called `Monitor____#`; you can modify it with `name=Monitor_`) - * The ``HistogramName`` property takes a full path. In this case there will be a histogram + * The ``name`` property takes a full path. In this case there will be a histogram called ``lc_m`` in the directory ``{name}`` (the trigger line name) in the output file. It is recommended to stick to this naming, which is also used for the default monitoring (there, the histogram ``m`` would exist and be filled with the |lb| mass). @@ -937,7 +943,7 @@ To test the monitoring, add the following to your Moore options file:: options.histo_file = 'my_histograms.root' -For the time being, this will create two files, and the histograms from ``Monitor__ParticleRange`` will end up in ``my_histograms_new.root`` +For the time being, this will create two files, and the histograms from the monitoring algorithm will end up in ``my_histograms_new.root`` (while histograms created with older algorithms will be put to ``my_histograms.root``). .. _further_work: -- GitLab From ce05bdd05b24f550101cf076148a0e6425e44703 Mon Sep 17 00:00:00 2001 From: RefBot Date: Wed, 10 Apr 2024 17:39:12 +0200 Subject: [PATCH 10/51] Update References for: Allen!1523 based on lhcb-2024-patches-mr/5 --- ...standalone_allen.ref.x86_64_v3-detdesc-opt | 2 +- .../refs/hlt2_with_hlt1_decisions.ref.detdesc | 2 +- ...h_hlt1_decisions.ref.x86_64_v3-detdesc-opt | 2 +- ..._forward_with_mcchecking.ref.x86_64_v3-opt | 4 +-- ...gaudi_pv_with_mcchecking.ref.x86_64_v3-opt | 36 +++++++++---------- ...nd_match_with_mcchecking.ref.x86_64_v3-opt | 4 +-- ...udi_velo_with_mcchecking.ref.x86_64_v3-opt | 14 ++++---- .../hlt1_hlt2_comparison.ref.x86_64_v3-opt | 10 +++--- ..._hlt2_pvs_vertex_compare.ref.x86_64_v3-opt | 6 ++-- ..._rec_hlt1_reco_velo_only.ref.x86_64_v3-opt | 2 +- 10 files changed, 41 insertions(+), 41 deletions(-) diff --git a/Hlt/Hlt1Conf/tests/refs/dump_for_standalone_allen.ref.x86_64_v3-detdesc-opt b/Hlt/Hlt1Conf/tests/refs/dump_for_standalone_allen.ref.x86_64_v3-detdesc-opt index 361f783b097..d078ff889e3 100644 --- a/Hlt/Hlt1Conf/tests/refs/dump_for_standalone_allen.ref.x86_64_v3-detdesc-opt +++ b/Hlt/Hlt1Conf/tests/refs/dump_for_standalone_allen.ref.x86_64_v3-detdesc-opt @@ -1,4 +1,4 @@ -LHCb__MDFWriter_aab42ea4 INFO Size:99152040 Output: 'Connection':'/workspace/build/Moore/build/Hlt/Hlt1Conf/qmtest_tmp/dump/mdf_sim-20231017-vc-mu100/dumped_file.mdf' MD5 sum:7d5bf46aa10ab6cb3143cb205b8a885f +LHCb__MDFWriter_aab42ea4 INFO Size:99152040 Output: 'Connection':'/workspace/build/Moore/build/Hlt/Hlt1Conf/qmtest_tmp/dump/mdf_sim-20231017-vc-mu100/dumped_file.mdf' MD5 sum:b9218a049be8079bf77e06397711b884 ApplicationMgr INFO Application Manager Finalized successfully ApplicationMgr INFO Application Manager Terminated successfully DeviceBeamline INFO Number of counters : 1 diff --git a/Hlt/Hlt2Conf/tests/refs/hlt2_with_hlt1_decisions.ref.detdesc b/Hlt/Hlt2Conf/tests/refs/hlt2_with_hlt1_decisions.ref.detdesc index caa938e4dfa..37e979d1801 100644 --- a/Hlt/Hlt2Conf/tests/refs/hlt2_with_hlt1_decisions.ref.detdesc +++ b/Hlt/Hlt2Conf/tests/refs/hlt2_with_hlt1_decisions.ref.detdesc @@ -171,7 +171,7 @@ GaudiAllenCountAndDumpLineDecisi... INFO Number of counters : 90 |*"Selected by Hlt1RICH1AlignmentDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1RICH2AlignmentDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1SMOG22BodyGenericDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | - |*"Selected by Hlt1SMOG22BodyGenericLowPtDecision"| 20 | 0 |( 0.000000 +- 0.000000)% | + |*"Selected by Hlt1SMOG22BodyGenericPromptDecision"| 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1SMOG2BELowMultElectronsDecision"| 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1SMOG2BENoBiasDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1SMOG2D2KpiDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | diff --git a/Hlt/Hlt2Conf/tests/refs/hlt2_with_hlt1_decisions.ref.x86_64_v3-detdesc-opt b/Hlt/Hlt2Conf/tests/refs/hlt2_with_hlt1_decisions.ref.x86_64_v3-detdesc-opt index 0d55fe1f75b..b33dafec4de 100644 --- a/Hlt/Hlt2Conf/tests/refs/hlt2_with_hlt1_decisions.ref.x86_64_v3-detdesc-opt +++ b/Hlt/Hlt2Conf/tests/refs/hlt2_with_hlt1_decisions.ref.x86_64_v3-detdesc-opt @@ -171,7 +171,7 @@ GaudiAllenCountAndDumpLineDecisi... INFO Number of counters : 90 |*"Selected by Hlt1RICH1AlignmentDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1RICH2AlignmentDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1SMOG22BodyGenericDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | - |*"Selected by Hlt1SMOG22BodyGenericLowPtDecision"| 20 | 0 |( 0.000000 +- 0.000000)% | + |*"Selected by Hlt1SMOG22BodyGenericPromptDecision"| 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1SMOG2BELowMultElectronsDecision"| 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1SMOG2BENoBiasDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1SMOG2D2KpiDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | diff --git a/Hlt/RecoConf/tests/refs/allen_gaudi_forward_with_mcchecking.ref.x86_64_v3-opt b/Hlt/RecoConf/tests/refs/allen_gaudi_forward_with_mcchecking.ref.x86_64_v3-opt index c03aa6b0f37..8e450c67161 100644 --- a/Hlt/RecoConf/tests/refs/allen_gaudi_forward_with_mcchecking.ref.x86_64_v3-opt +++ b/Hlt/RecoConf/tests/refs/allen_gaudi_forward_with_mcchecking.ref.x86_64_v3-opt @@ -38,10 +38,10 @@ fromV3TrackV1Track_32c14136 INFO Number of counters : 1 | "Nb of Produced Tracks" | 1000 | 4171 | 4.1710 | pv_beamline_cleanup INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "n_PVs" | 1000 | 5967 | 5.9670 | + | "n_PVs" | 1000 | 5968 | 5.9680 | scifi_consolidate_tracks_forward INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "n_long_tracks_forward" | 1000 | 4171 | 4.1710 | velo_consolidate_tracks INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "n_velo_tracks" | 1000 | 332973 | 332.97 | + | "n_velo_tracks" | 1000 | 332968 | 332.97 | diff --git a/Hlt/RecoConf/tests/refs/allen_gaudi_pv_with_mcchecking.ref.x86_64_v3-opt b/Hlt/RecoConf/tests/refs/allen_gaudi_pv_with_mcchecking.ref.x86_64_v3-opt index 515d8fb63de..c795ec14587 100644 --- a/Hlt/RecoConf/tests/refs/allen_gaudi_pv_with_mcchecking.ref.x86_64_v3-opt +++ b/Hlt/RecoConf/tests/refs/allen_gaudi_pv_with_mcchecking.ref.x86_64_v3-opt @@ -5,22 +5,22 @@ PrimaryVertexChecker_a611350f INFO MC efficiency split by tracks with PrimaryVertexChecker_a611350f INFO MC efficiency split by z position: <-50, (-50,50), >50 PrimaryVertexChecker_a611350f INFO REC and MC vertices matched: by distance PrimaryVertexChecker_a611350f INFO -PrimaryVertexChecker_a611350f INFO 00 all : 283 from 528 ( 772-244 ) [ 53.60 %], false 96 from reco. 379 ( 283+96 ) [ 25.33 %] +PrimaryVertexChecker_a611350f INFO 00 all : 283 from 528 ( 772-244 ) [ 53.60 %], false 95 from reco. 378 ( 283+95 ) [ 25.13 %] PrimaryVertexChecker_a611350f INFO 01 isolated : 172 from 300 ( 436-136 ) [ 57.33 %], false 0 from reco. 172 ( 172+0 ) [ 0.00 %] -PrimaryVertexChecker_a611350f INFO 02 close : 111 from 228 ( 336-108 ) [ 48.68 %], false 96 from reco. 207 ( 111+96 ) [ 46.38 %] -PrimaryVertexChecker_a611350f INFO 03 ntracks<10 : 13 from 55 ( 55-0 ) [ 23.64 %], false 96 from reco. 109 ( 13+96 ) [ 88.07 %] +PrimaryVertexChecker_a611350f INFO 02 close : 111 from 228 ( 336-108 ) [ 48.68 %], false 95 from reco. 206 ( 111+95 ) [ 46.12 %] +PrimaryVertexChecker_a611350f INFO 03 ntracks<10 : 13 from 55 ( 55-0 ) [ 23.64 %], false 95 from reco. 108 ( 13+95 ) [ 87.96 %] PrimaryVertexChecker_a611350f INFO 04 ntracks>=10 : 270 from 473 ( 473-0 ) [ 57.08 %], false 0 from reco. 270 ( 270+0 ) [ 0.00 %] PrimaryVertexChecker_a611350f INFO 05 z<-50.0 : 71 from 110 ( 171-61 ) [ 64.55 %], false 18 from reco. 89 ( 71+18 ) [ 20.22 %] -PrimaryVertexChecker_a611350f INFO 06 z in (-50.0, 50.0) : 151 from 305 ( 432-127 ) [ 49.51 %], false 59 from reco. 210 ( 151+59 ) [ 28.10 %] +PrimaryVertexChecker_a611350f INFO 06 z in (-50.0, 50.0) : 151 from 305 ( 432-127 ) [ 49.51 %], false 58 from reco. 209 ( 151+58 ) [ 27.75 %] PrimaryVertexChecker_a611350f INFO 07 z >=50.0 : 61 from 113 ( 169-56 ) [ 53.98 %], false 19 from reco. 80 ( 61+19 ) [ 23.75 %] -PrimaryVertexChecker_a611350f INFO 08 decayBeauty : 2 from 4 ( 4-0 ) [ 50.00 %], false 1 from reco. 98 ( 97+1 ) [ 1.02 %] -PrimaryVertexChecker_a611350f INFO 09 decayCharm : 50 from 79 ( 79-0 ) [ 63.29 %], false 22 from reco. 146 ( 124+22 ) [ 15.07 %] -PrimaryVertexChecker_a611350f INFO 10 decayStrange : 283 from 525 ( 567-42 ) [ 53.90 %], false 95 from reco. 379 ( 284+95 ) [ 25.07 %] -PrimaryVertexChecker_a611350f INFO 11 other : 0 from 3 ( 205-202 ) [ 0.00 %], false 1 from reco. 96 ( 95+1 ) [ 1.04 %] +PrimaryVertexChecker_a611350f INFO 08 decayBeauty : 2 from 4 ( 4-0 ) [ 50.00 %], false 1 from reco. 97 ( 96+1 ) [ 1.03 %] +PrimaryVertexChecker_a611350f INFO 09 decayCharm : 50 from 79 ( 79-0 ) [ 63.29 %], false 22 from reco. 145 ( 123+22 ) [ 15.17 %] +PrimaryVertexChecker_a611350f INFO 10 decayStrange : 283 from 525 ( 567-42 ) [ 53.90 %], false 94 from reco. 378 ( 284+94 ) [ 24.87 %] +PrimaryVertexChecker_a611350f INFO 11 other : 0 from 3 ( 205-202 ) [ 0.00 %], false 1 from reco. 95 ( 94+1 ) [ 1.05 %] PrimaryVertexChecker_a611350f INFO 12 1MCPV : 66 from 100 ( 100-0 ) [ 66.00 %], false 35 from reco. 101 ( 66+35 ) [ 34.65 %] PrimaryVertexChecker_a611350f INFO 13 2MCPV : 58 from 99 ( 100-1 ) [ 58.59 %], false 22 from reco. 80 ( 58+22 ) [ 27.50 %] PrimaryVertexChecker_a611350f INFO 14 3MCPV : 54 from 94 ( 100-6 ) [ 57.45 %], false 15 from reco. 69 ( 54+15 ) [ 21.74 %] -PrimaryVertexChecker_a611350f INFO 15 4MCPV : 35 from 76 ( 99-23 ) [ 46.05 %], false 15 from reco. 50 ( 35+15 ) [ 30.00 %] +PrimaryVertexChecker_a611350f INFO 15 4MCPV : 35 from 76 ( 99-23 ) [ 46.05 %], false 14 from reco. 49 ( 35+14 ) [ 28.57 %] PrimaryVertexChecker_a611350f INFO 16 5MCPV : 30 from 61 ( 90-29 ) [ 49.18 %], false 3 from reco. 33 ( 30+3 ) [ 9.09 %] PrimaryVertexChecker_a611350f INFO PrimaryVertexChecker_a611350f INFO 00 all : av. PV tracks: 1.00 [MC: 31.95] @@ -44,13 +44,13 @@ PrimaryVertexChecker_a611350f INFO PrimaryVertexChecker_a611350f INFO 1_res_all : x: +0.091, y: +0.089, z: +0.240 PrimaryVertexChecker_a611350f INFO 2_res_ntracks<10 : x: +0.090, y: +0.086, z: +0.234 PrimaryVertexChecker_a611350f INFO 3_res_ntracks(10,30) : x: +0.092, y: +0.087, z: +0.251 -PrimaryVertexChecker_a611350f INFO 4_res_ntracks>30 : x: +0.089, y: +0.090, z: +0.232 +PrimaryVertexChecker_a611350f INFO 4_res_ntracks>30 : x: +0.088, y: +0.090, z: +0.233 PrimaryVertexChecker_a611350f INFO 5_res_z<-50 : x: +0.092, y: +0.088, z: +0.221 -PrimaryVertexChecker_a611350f INFO 6_res_z(-50,50) : x: +0.093, y: +0.090, z: +0.252 -PrimaryVertexChecker_a611350f INFO 7_res_z>50 : x: +0.084, y: +0.088, z: +0.203 +PrimaryVertexChecker_a611350f INFO 6_res_z(-50,50) : x: +0.092, y: +0.090, z: +0.253 +PrimaryVertexChecker_a611350f INFO 7_res_z>50 : x: +0.085, y: +0.089, z: +0.203 PrimaryVertexChecker_a611350f INFO -PrimaryVertexChecker_a611350f INFO 1_pull_width_all : x: +2.639, y: +2.786, z: +2.472 -PrimaryVertexChecker_a611350f INFO 1_pull_mean_all : x: +0.107, y: -0.002, z: +0.975 +PrimaryVertexChecker_a611350f INFO 1_pull_width_all : x: +2.631, y: +2.794, z: +2.473 +PrimaryVertexChecker_a611350f INFO 1_pull_mean_all : x: +0.096, y: -0.031, z: +0.975 PrimaryVertexChecker_a611350f INFO PrimaryVertexChecker_a611350f SUCCESS Booked 2 N-Tuples and 0 Event Tag Collections PrimaryVertexChecker_a611350f SUCCESS List of booked N-Tuples in directory "FILE1/PrimaryVertexChecker_a611350f" @@ -63,7 +63,7 @@ ApplicationMgr INFO Application Manager Finalized succes ApplicationMgr INFO Application Manager Terminated successfully GaudiAllenPVsToPrimaryVertexCont... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "Nb PVs" | 100 | 379 | 3.7900 | + | "Nb PVs" | 100 | 378 | 3.7800 | HLTControlFlowMgr INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Processed events" | 100 | @@ -72,13 +72,13 @@ PrimaryVertexChecker_a611350f INFO Number of counters : 1 | "nEvents" | 100 | fromV3TrackV1Track_12472ea9 INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "Nb of Produced Tracks" | 100 | 6764 | 67.640 | + | "Nb of Produced Tracks" | 100 | 6763 | 67.630 | fromV3TrackV1Track_39119efd INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Nb of Produced Tracks" | 100 | 15018 | 150.18 | pv_beamline_cleanup INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "n_PVs" | 99 | 378 | 3.8182 | + | "n_PVs" | 99 | 377 | 3.8081 | velo_consolidate_tracks INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "n_velo_tracks" | 100 | 21782 | 217.82 | + | "n_velo_tracks" | 100 | 21781 | 217.81 | diff --git a/Hlt/RecoConf/tests/refs/allen_gaudi_seed_and_match_with_mcchecking.ref.x86_64_v3-opt b/Hlt/RecoConf/tests/refs/allen_gaudi_seed_and_match_with_mcchecking.ref.x86_64_v3-opt index e279cce673d..f8c8c6c9660 100644 --- a/Hlt/RecoConf/tests/refs/allen_gaudi_seed_and_match_with_mcchecking.ref.x86_64_v3-opt +++ b/Hlt/RecoConf/tests/refs/allen_gaudi_seed_and_match_with_mcchecking.ref.x86_64_v3-opt @@ -41,10 +41,10 @@ matching_consolidate_tracks_matc... INFO Number of counters : 1 | "n_long_tracks_matching" | 500 | 29261 | 58.522 | pv_beamline_cleanup INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "n_PVs" | 500 | 2991 | 5.9820 | + | "n_PVs" | 500 | 2992 | 5.9840 | scifi_consolidate_seeds_matching INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "n_seed_tracks" | 500 | 48653 | 97.306 | velo_consolidate_tracks INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "n_velo_tracks" | 500 | 165411 | 330.82 | + | "n_velo_tracks" | 500 | 165410 | 330.82 | diff --git a/Hlt/RecoConf/tests/refs/allen_gaudi_velo_with_mcchecking.ref.x86_64_v3-opt b/Hlt/RecoConf/tests/refs/allen_gaudi_velo_with_mcchecking.ref.x86_64_v3-opt index b133c968f20..1c875991191 100644 --- a/Hlt/RecoConf/tests/refs/allen_gaudi_velo_with_mcchecking.ref.x86_64_v3-opt +++ b/Hlt/RecoConf/tests/refs/allen_gaudi_velo_with_mcchecking.ref.x86_64_v3-opt @@ -1,8 +1,8 @@ VeloTrackChecker_9bbf6e43 INFO Results -VeloTrackChecker_9bbf6e43 INFO **** Velo 35050 tracks including 823 ghosts [ 2.35 %], Event average 2.29 % **** -VeloTrackChecker_9bbf6e43 INFO 01_velo : 14748 from 15002 [ 98.31 %] 408 clones [ 2.69 %], purity: 99.60 %, hitEff: 95.68 %, hitEffFirst3: 95.93 %, hitEffLast: 95.39 % -VeloTrackChecker_9bbf6e43 INFO 02_long : 8661 from 8724 [ 99.28 %] 188 clones [ 2.12 %], purity: 99.74 %, hitEff: 96.76 %, hitEffFirst3: 96.82 %, hitEffLast: 96.69 % -VeloTrackChecker_9bbf6e43 INFO 03_long_P>5GeV : 5762 from 5795 [ 99.43 %] 113 clones [ 1.92 %], purity: 99.76 %, hitEff: 97.29 %, hitEffFirst3: 97.48 %, hitEffLast: 97.20 % +VeloTrackChecker_9bbf6e43 INFO **** Velo 35052 tracks including 825 ghosts [ 2.35 %], Event average 2.29 % **** +VeloTrackChecker_9bbf6e43 INFO 01_velo : 14748 from 15002 [ 98.31 %] 408 clones [ 2.69 %], purity: 99.60 %, hitEff: 95.68 %, hitEffFirst3: 95.93 %, hitEffLast: 95.38 % +VeloTrackChecker_9bbf6e43 INFO 02_long : 8661 from 8724 [ 99.28 %] 188 clones [ 2.12 %], purity: 99.74 %, hitEff: 96.75 %, hitEffFirst3: 96.82 %, hitEffLast: 96.68 % +VeloTrackChecker_9bbf6e43 INFO 03_long_P>5GeV : 5762 from 5795 [ 99.43 %] 113 clones [ 1.92 %], purity: 99.76 %, hitEff: 97.29 %, hitEffFirst3: 97.48 %, hitEffLast: 97.19 % VeloTrackChecker_9bbf6e43 INFO 04_long_strange : 469 from 486 [ 96.50 %] 10 clones [ 2.09 %], purity: 98.90 %, hitEff: 95.19 %, hitEffFirst3: 94.92 %, hitEffLast: 94.74 % VeloTrackChecker_9bbf6e43 INFO 05_long_strange_P>5GeV : 238 from 247 [ 96.36 %] 5 clones [ 2.06 %], purity: 98.68 %, hitEff: 97.00 %, hitEffFirst3: 96.57 %, hitEffLast: 96.90 % VeloTrackChecker_9bbf6e43 INFO 06_long_fromB : 504 from 510 [ 98.82 %] 12 clones [ 2.33 %], purity: 99.64 %, hitEff: 97.04 %, hitEffFirst3: 96.96 %, hitEffLast: 97.05 % @@ -28,7 +28,7 @@ PrLHCbID2MCParticleVP_116b424a INFO Number of counters : 1 | "#removed null MCParticles" | 300473 | 0 | 0.0000 | PrTrackAssociator_fb4c4313 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"Efficiency" | 35050 | 34227 |( 97.65193 +- 0.08088208)% | + |*"Efficiency" | 35052 | 34227 |( 97.64635 +- 0.08097336)% | | "MC particles per track" | 34227 | 34368 | 1.0041 | VeloTrackChecker_9bbf6e43.LoKi::... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | @@ -38,7 +38,7 @@ fromV3TrackV1Track_12472ea9 INFO Number of counters : 1 | "Nb of Produced Tracks" | 100 | 12763 | 127.63 | fromV3TrackV1Track_39119efd INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "Nb of Produced Tracks" | 100 | 22287 | 222.87 | + | "Nb of Produced Tracks" | 100 | 22289 | 222.89 | velo_consolidate_tracks INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "n_velo_tracks" | 100 | 35050 | 350.50 | + | "n_velo_tracks" | 100 | 35052 | 350.52 | diff --git a/Hlt/RecoConf/tests/refs/hlt1_hlt2_comparison.ref.x86_64_v3-opt b/Hlt/RecoConf/tests/refs/hlt1_hlt2_comparison.ref.x86_64_v3-opt index 2a8752d0156..34d7d655705 100644 --- a/Hlt/RecoConf/tests/refs/hlt1_hlt2_comparison.ref.x86_64_v3-opt +++ b/Hlt/RecoConf/tests/refs/hlt1_hlt2_comparison.ref.x86_64_v3-opt @@ -6,7 +6,7 @@ CloneKillerForward_99920633 INFO Number of counters : 2 | "nTracksSelected" | 500 | 10199 | 20.398 | GaudiAllenPVsToPrimaryVertexCont... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "Nb PVs" | 500 | 2991 | 5.9820 | + | "Nb PVs" | 500 | 2992 | 5.9840 | HLTControlFlowMgr INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Processed events" | 500 | @@ -137,19 +137,19 @@ fromPrVeloTracksV1TracksMerger_c... INFO Number of counters : 1 | "Nb of converted Tracks" | 500 | 158257 | 316.51 | fromV3TrackV1Track_12472ea9 INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "Nb of Produced Tracks" | 500 | 59745 | 119.49 | + | "Nb of Produced Tracks" | 500 | 59743 | 119.49 | fromV3TrackV1Track_32c14136 INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Nb of Produced Tracks" | 500 | 2062 | 4.1240 | fromV3TrackV1Track_39119efd INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "Nb of Produced Tracks" | 500 | 105666 | 211.33 | + | "Nb of Produced Tracks" | 500 | 105667 | 211.33 | pv_beamline_cleanup INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "n_PVs" | 500 | 2991 | 5.9820 | + | "n_PVs" | 500 | 2992 | 5.9840 | scifi_consolidate_tracks_forward INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "n_long_tracks_forward" | 500 | 2062 | 4.1240 | velo_consolidate_tracks INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "n_velo_tracks" | 500 | 165411 | 330.82 | + | "n_velo_tracks" | 500 | 165410 | 330.82 | diff --git a/Hlt/RecoConf/tests/refs/hlt1_hlt2_pvs_vertex_compare.ref.x86_64_v3-opt b/Hlt/RecoConf/tests/refs/hlt1_hlt2_pvs_vertex_compare.ref.x86_64_v3-opt index cad65600ab7..59449184fe7 100644 --- a/Hlt/RecoConf/tests/refs/hlt1_hlt2_pvs_vertex_compare.ref.x86_64_v3-opt +++ b/Hlt/RecoConf/tests/refs/hlt1_hlt2_pvs_vertex_compare.ref.x86_64_v3-opt @@ -18,8 +18,8 @@ VertexCompare_6bb7df3e INFO dx: mean = -0.000 +/- 0.000, RMS VertexCompare_6bb7df3e INFO dy: mean = -0.000 +/- 0.000, RMS = 0.010 +/- 0.001 VertexCompare_6bb7df3e INFO dz: mean = -0.001 +/- 0.001, RMS = 0.082 +/- 0.006 VertexCompare_6bb7df3e INFO --------------------------------------- -VertexCompare_6bb7df3e INFO pullx: mean = -0.002 +/- 0.005, RMS = 0.378 +/- 0.007 -VertexCompare_6bb7df3e INFO pully: mean = 0.002 +/- 0.005, RMS = 0.364 +/- 0.007 +VertexCompare_6bb7df3e INFO pullx: mean = -0.001 +/- 0.005, RMS = 0.378 +/- 0.007 +VertexCompare_6bb7df3e INFO pully: mean = 0.001 +/- 0.005, RMS = 0.364 +/- 0.007 VertexCompare_6bb7df3e INFO pullz: mean = 0.011 +/- 0.006, RMS = 0.392 +/- 0.008 VertexCompare_6bb7df3e INFO --------------------------------------- VertexCompare_6bb7df3e INFO diff in x: 0.174 +/- 0.003 @@ -136,4 +136,4 @@ pv_beamline_cleanup INFO Number of counters : 1 | "n_PVs" | 999 | 5099 | 5.1041 | velo_consolidate_tracks INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "n_velo_tracks" | 1000 | 249205 | 249.21 | + | "n_velo_tracks" | 1000 | 249210 | 249.21 | diff --git a/Hlt/RecoConf/tests/refs/legacy_rec_hlt1_reco_velo_only.ref.x86_64_v3-opt b/Hlt/RecoConf/tests/refs/legacy_rec_hlt1_reco_velo_only.ref.x86_64_v3-opt index 695b70c6a97..dc0ebb9e539 100644 --- a/Hlt/RecoConf/tests/refs/legacy_rec_hlt1_reco_velo_only.ref.x86_64_v3-opt +++ b/Hlt/RecoConf/tests/refs/legacy_rec_hlt1_reco_velo_only.ref.x86_64_v3-opt @@ -13,4 +13,4 @@ LHCb__MDF__IOAlg_b77750eb INFO Number of counters : 1 VeloClusterTrackingSIMD_87c18651 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Nb of Produced Clusters" | 935 | 1617568 | 1730.0 | - | "Nb of Produced Tracks" | 935 | 215060 | 230.01 | + | "Nb of Produced Tracks" | 935 | 208711 | 223.22 | -- GitLab From 9d56d1180cbe8beac9d027f835c99ae022a3458c Mon Sep 17 00:00:00 2001 From: Luke Grazette Date: Thu, 11 Apr 2024 13:28:22 +0200 Subject: [PATCH 11/51] [DPA WP1] Add turbo_regex streaming verification. --- .../Sprucing_production_PP_24c1.py | 7 +- .../options/streaming/turbo_regex_check.py | 143 ++++++++++++++++++ .../test_hlt2_turbo_regex_check.qmt | 22 +++ 3 files changed, 169 insertions(+), 3 deletions(-) create mode 100644 Hlt/Hlt2Conf/tests/options/streaming/turbo_regex_check.py create mode 100644 Hlt/Hlt2Conf/tests/qmtest/streaming.qms/test_hlt2_turbo_regex_check.qmt diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/sprucing_settings/Sprucing_production_PP_24c1.py b/Hlt/Hlt2Conf/python/Hlt2Conf/sprucing_settings/Sprucing_production_PP_24c1.py index 6e48c2c7e87..722dd8f2974 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/sprucing_settings/Sprucing_production_PP_24c1.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/sprucing_settings/Sprucing_production_PP_24c1.py @@ -157,11 +157,12 @@ def excl_spruce_production(options: Options): turbolinedict = { "b2oc": ["Hlt2B2OC.*Decision"], "bandq": [ - "^(?!.*Full)Hlt2BandQ.*Decision", 'Hlt2_JpsiToMuMuDecision', - 'Hlt2_Psi2SToMuMuDecision' + '^(?!.*Full)Hlt2BandQ.*Decision', + '^(?!.*Full)Hlt2_JpsiToMuMu.*Decision', + '^(?!.*Full)Hlt2_Psi2SToMuMu.*Decision' ], "b2cc": ["Hlt2B2CC.*Decision"], - "charm": ["Hlt2Charm.*Decision"], + "charm": ["Hlt2Charm.*Decision", "Hlt2HadInt.*Decision"], "qee": ["^(?!.*Full)Hlt2QEE.*Decision"], "rd": ["^(?!.*Gamma.*Incl)Hlt2RD.*Decision" ], #confirm this will not omit any turbo lines diff --git a/Hlt/Hlt2Conf/tests/options/streaming/turbo_regex_check.py b/Hlt/Hlt2Conf/tests/options/streaming/turbo_regex_check.py new file mode 100644 index 00000000000..fd2e437eaec --- /dev/null +++ b/Hlt/Hlt2Conf/tests/options/streaming/turbo_regex_check.py @@ -0,0 +1,143 @@ +############################################################################### +# (c) Copyright 2024 CERN for the benefit of the LHCb Collaboration # +# # +# This software is distributed under the terms of the GNU General Public # +# Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". # +# # +# 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. # +############################################################################### +""" + Verifies the following, per WG in the turbo regex dictionary from Sprucing_production_{latest}: + - All full-stream lines (if applicable) fail the turbo regex + - All turbo-stream lines succeed the turbo regex. + - All Hlt2 lines exist in either full-stream or turbo-stream. + NB: This Skips: [SL, DetachedDiLepton, Topo]. + - No turbo lines thus no regex thus no test. + NB: It's very important this is kept up to date with the latest Sprucing production. + Currently uses: Sprucing_production_PP_24c1 +""" +import re +from Hlt2Conf.lines.bandq import (hlt2_full_lines as bandq_full_lines, + hlt2_turbo_lines as bandq_turbo_lines, + all_lines as bandq_all_lines) +from Hlt2Conf.lines.bnoc import (hlt2_lines as bnoc_turbo_lines, full_lines as + bnoc_full_lines, all_lines as bnoc_all_lines) +from Hlt2Conf.lines.b_to_charmonia import all_lines as b2cc_turbo_lines +from Hlt2Conf.lines.b_to_open_charm import (all_lines as b2oc_turbo_lines, + all_calib_lines as b2oc_full_lines, + all_lines as b2oc_all_lines) +from Hlt2Conf.lines.charm import all_lines as charm_turbo_lines +from Hlt2Conf.lines.charmonium_to_dimuon_detached import ( + all_lines as cc_to_dimu_det_full_lines, all_lines as + cc_to_dimu_det_all_lines) +from Hlt2Conf.lines.charmonium_to_dimuon import ( + full_lines as cc_to_dimu_prompt_full_lines, turbo_lines as + cc_to_dimu_prompt_turbo_lines, all_lines as cc_to_dimu_prompt_all_lines) +from Hlt2Conf.lines.ift import ift_full_lines, ift_turbo_lines, all_lines as ift_all_lines +from Hlt2Conf.lines.rd import (full_lines as rd_full_lines, turbo_lines as + rd_turbo_lines, all_lines as rd_all_lines) +from Hlt2Conf.lines.qee import (hlt2_full_lines as qee_full_lines, + hlt2_turbo_lines as qee_turbo_lines, all_lines + as qee_all_lines) + +# This needs to be kept up to date for the test to make sense. +from Hlt2Conf.sprucing_settings.Sprucing_production_PP_24c1 import turbolinedict as turbo_streaming + +linedicts = { #WG : (turbo_linedict, full_linedict, all_lines_linedict) + "b2oc": (b2oc_turbo_lines, b2oc_full_lines, b2oc_all_lines), + "bandq": ({ + **bandq_turbo_lines, + **cc_to_dimu_prompt_turbo_lines + }, { + **bandq_full_lines, + **cc_to_dimu_det_full_lines, + **cc_to_dimu_prompt_full_lines + }, { + **bandq_all_lines, + **cc_to_dimu_prompt_all_lines, + **cc_to_dimu_det_all_lines + }), + "b2cc": (b2cc_turbo_lines, {}, {}), + "bnoc": (bnoc_turbo_lines, bnoc_full_lines, bnoc_all_lines), + "charm": (charm_turbo_lines, {}, {}), + "qee": (qee_turbo_lines, qee_full_lines, qee_all_lines), + "rd": (rd_turbo_lines, rd_full_lines, rd_all_lines), + "ift": (ift_turbo_lines, ift_full_lines, ift_all_lines) + # Skip [SL, DetachedDiLepton, Topo]. no turbo lines thus no regex thus no test. +} + + +def _extract_lines(linedicts): + extract = lambda linedict: [linename for linename in linedict.keys()] + return (extract(linedict) for linedict in linedicts) + + +def _filter_lines(lines, regexes): + passed = [] + for rgx in regexes: + rgx = rgx.replace('Decision', '') + passed += [line for line in lines if re.search(rgx, line)] + return passed + + +def main(): + failures = {wg: [] for wg in linedicts.keys()} + + lines = {wg: _extract_lines(dicts) for wg, dicts in linedicts.items()} + for wg, lines in lines.items(): + turbo_lines, full_lines, all_lines = lines + lines_left_out = [ + line for line in all_lines + if (line not in turbo_lines and line not in full_lines) + ] + if lines_left_out: + print( + f"ERROR:: Some lines in {wg} all_lines are not in either full_lines or turbo_lines." + ) + failures[wg] += lines_left_out + else: + print( + f"All lines in {wg} all_lines exist in full_lines or turbo_lines" + ) + + regexes = turbo_streaming[wg] + turbo_filter = lambda lines: _filter_lines(lines=lines, regexes=regexes) + successful_turbo_lines, successful_full_lines = turbo_filter( + turbo_lines), turbo_filter(full_lines) + + if successful_full_lines: + print( + f"ERROR:: Some {wg} full-stream lines pass the turbo regexes {regexes}." + ) + failures[wg] += successful_full_lines + else: + print( + f"No {wg} full-stream lines pass the turbo regexes {regexes}.") + + failed_turbo_lines = [ + line for line in turbo_lines if line not in successful_turbo_lines + ] + if failed_turbo_lines: + print( + f"ERROR:: Some {wg} turbo-stream lines fail the turbo regexes {regexes}." + ) + failures[wg] += failed_turbo_lines + else: + print( + f"All {wg} turbo-stream lines pass the turbo regex {regexes}.") + + has_failed = False + for wg, failed_lines in failures.items(): + if failed_lines: + print( + f"\nERROR:: {wg} has the following {len(failed_lines)} failed lines:\n {failed_lines} \n" + ) + has_failed = True + if has_failed: + raise RuntimeError("Some lines failed one of the line tests.\n") + print("SUCCESS:: All lines passed the tests.") + + +main() diff --git a/Hlt/Hlt2Conf/tests/qmtest/streaming.qms/test_hlt2_turbo_regex_check.qmt b/Hlt/Hlt2Conf/tests/qmtest/streaming.qms/test_hlt2_turbo_regex_check.qmt new file mode 100644 index 00000000000..59aecfe98c4 --- /dev/null +++ b/Hlt/Hlt2Conf/tests/qmtest/streaming.qms/test_hlt2_turbo_regex_check.qmt @@ -0,0 +1,22 @@ + + + + +python +3600 + + $HLT2CONFROOT/tests/options/streaming/turbo_regex_check.py + + -- GitLab From 42d1ac9f1ace3dc1502c942ba44e7b31cc749cc7 Mon Sep 17 00:00:00 2001 From: Oscar Boente Garcia Date: Thu, 11 Apr 2024 17:42:31 +0200 Subject: [PATCH 12/51] More Bandwidth reduction in HLT2 IFT SMOG2 lines --- .../python/Hlt2Conf/lines/ift/__init__.py | 9 +- .../ift/builders/smog2_charm_builders.py | 1 + .../ift/builders/smog2_muons_builders.py | 4 +- .../Hlt2Conf/lines/ift/hlt2_ift_femtoscopy.py | 83 +++++++------- .../Hlt2Conf/lines/ift/hlt2_ift_smog2.py | 43 +++++--- .../lines/ift/hlt2_ift_smog2_chargedPID.py | 102 ++++++++++++------ .../lines/ift/hlt2_ift_smog2_charm.py | 77 +++++++++---- .../lines/ift/hlt2_ift_smog2_generic.py | 53 +++++++-- .../lines/ift/hlt2_ift_smog2_muons.py | 26 ++--- .../lines/ift/hlt2_ift_smog2_omegas.py | 9 +- .../lines/ift/hlt2_ift_smog2_trackingeff.py | 14 +-- .../ift/hlt2_ift_smog2_trackingeff_Ks.py | 12 +-- .../Hlt2Conf/lines/ift/hlt2_ift_smog2_xis.py | 9 +- 13 files changed, 285 insertions(+), 157 deletions(-) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/__init__.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/__init__.py index b844897d5a6..d1013bd595b 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/__init__.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/__init__.py @@ -38,9 +38,9 @@ all_lines.update(hlt2_ift_smog2_trackingeff_Ks.all_lines) ift_full_lines = {} ift_full_lines.update(hlt2_ift_smog2.all_lines) -ift_full_lines.update(hlt2_ift_smog2_generic.all_lines) -ift_full_lines.update(hlt2_ift_smog2_charm.all_lines) -ift_full_lines.update(hlt2_ift_smog2_chargedPID.all_lines) +ift_full_lines.update(hlt2_ift_smog2_generic.full_lines) +ift_full_lines.update(hlt2_ift_smog2_charm.full_lines) +ift_full_lines.update(hlt2_ift_smog2_chargedPID.full_lines) ift_full_lines.update(hlt2_ift_smog2_muons.all_lines) ift_full_lines.update(hlt2_ift_smog2_omegas.all_lines) ift_full_lines.update(hlt2_ift_smog2_xis.all_lines) @@ -49,6 +49,9 @@ ift_full_lines.update(hlt2_ift_smog2_trackingeff_Ks.all_lines) ift_turbo_lines = {} ift_turbo_lines.update(hlt2_ift_femtoscopy.all_lines) +ift_turbo_lines.update(hlt2_ift_smog2_generic.turbo_lines) +ift_turbo_lines.update(hlt2_ift_smog2_charm.turbo_lines) +ift_turbo_lines.update(hlt2_ift_smog2_chargedPID.turbo_lines) ##### Sprucing lines diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/builders/smog2_charm_builders.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/builders/smog2_charm_builders.py index 2699c246cdc..8f554e68154 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/builders/smog2_charm_builders.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/builders/smog2_charm_builders.py @@ -20,6 +20,7 @@ from Hlt2Conf.standard_particles import make_has_rich_long_pions, make_has_rich_ from Hlt2Conf.lines.ift.builders.smog2_builders import make_smog2_common_particles, sv_in_smog2, bpv_in_smog2 +turbo_lines, full_lines = {}, {} all_lines = {} diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/builders/smog2_muons_builders.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/builders/smog2_muons_builders.py index 93a3bad13bc..777b0057db6 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/builders/smog2_muons_builders.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/builders/smog2_muons_builders.py @@ -41,7 +41,7 @@ _HLT2_PIDmu_UPSILON = None _HLT2_PIDmu_DY = None _HLT2_PIDmu_LOWDIMUON = 0 -_HLT2_PIDmu_PIDJPIS = -5.0 +_HLT2_PIDmu_PIDJPIS = 0 #muon builder @@ -208,7 +208,7 @@ def make_Jpsi2mumutagged( ) if process == 'hlt2': probe_muon = make_probe_muons( - probecharge, p_min=3 * GeV, pt_min=0 * MeV) + probecharge, p_min=3 * GeV, pt_min=200 * MeV) tag_muon = make_tag_muons( tagcharge, p_min=3 * GeV, diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_femtoscopy.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_femtoscopy.py index 00c88b6fff1..268ef197966 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_femtoscopy.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_femtoscopy.py @@ -38,7 +38,7 @@ _PROTON_M = 938.272 * MeV # Note that this will cause an error when used with old HLT1-filtered MC. _hlt1_filter_lambda = [ #"Hlt1L02PPiDecision", - "Hlt1SMOG2L02PPiDecision" + "Hlt1SMOG2L0ToppiDecision" ] # Filter for lines including Xis and Omegas. _hlt1_filter_xiomega = ["Hlt1XiOmegaLLLDecision"] @@ -190,7 +190,7 @@ all_lines = {} # TODO: Can this be accomplished in minimum bias? @register_line_builder(all_lines) @configurable -def femto_inclusive_lambda_line(name="Hlt2IFT_Femtoscopy_InclLambdaLL", +def femto_inclusive_lambda_line(name="Hlt2IFTTurbo_Femtoscopy_InclLambdaLL", prescale=1.e-4, persistreco=True): lambdas = _make_ll_lambdas_from_hyperons() @@ -204,7 +204,7 @@ def femto_inclusive_lambda_line(name="Hlt2IFT_Femtoscopy_InclLambdaLL", @register_line_builder(all_lines) @configurable -def femto_inclusive_xi_lll_line(name="Hlt2IFT_Femtoscopy_InclXiLLL", +def femto_inclusive_xi_lll_line(name="Hlt2IFTTurbo_Femtoscopy_InclXiLLL", prescale=1.e-3, persistreco=True): xis = _make_lll_xis() @@ -218,7 +218,7 @@ def femto_inclusive_xi_lll_line(name="Hlt2IFT_Femtoscopy_InclXiLLL", @register_line_builder(all_lines) @configurable -def femto_inclusive_omega_lll_line(name="Hlt2IFT_Femtoscopy_InclOmegaLLL", +def femto_inclusive_omega_lll_line(name="Hlt2IFTTurbo_Femtoscopy_InclOmegaLLL", prescale=1.e-2, persistreco=True): omegas = _make_lll_omegas() @@ -255,7 +255,7 @@ def make_lambda_p_pairs(k_max): @register_line_builder(all_lines) @configurable -def femto_lambda_p_line(name="Hlt2IFT_Femtoscopy_LambdaP", +def femto_lambda_p_line(name="Hlt2IFTTurbo_Femtoscopy_LambdaP", k_max=1. * GeV, prescale=1.e-3, persistreco=True): @@ -270,7 +270,7 @@ def femto_lambda_p_line(name="Hlt2IFT_Femtoscopy_LambdaP", @register_line_builder(all_lines) @configurable -def femto_lambda_p_lowk_line(name="Hlt2IFT_Femtoscopy_LambdaP_lowK", +def femto_lambda_p_lowk_line(name="Hlt2IFTTurbo_Femtoscopy_LambdaP_lowK", k_max=_LOW_K_MAX, prescale=1., persistreco=True): @@ -299,7 +299,7 @@ def make_lambda_lambda_pairs(k_max): @register_line_builder(all_lines) @configurable -def femto_lambda_lambda_line(name="Hlt2IFT_Femtoscopy_LambdaLambda", +def femto_lambda_lambda_line(name="Hlt2IFTTurbo_Femtoscopy_LambdaLambda", k_max=1. * GeV, prescale=0.1, persistreco=True): @@ -314,10 +314,11 @@ def femto_lambda_lambda_line(name="Hlt2IFT_Femtoscopy_LambdaLambda", @register_line_builder(all_lines) @configurable -def femto_lambda_lambda_lowk_line(name="Hlt2IFT_Femtoscopy_LambdaLambda_lowK", - k_max=_LOW_K_MAX, - prescale=1., - persistreco=True): +def femto_lambda_lambda_lowk_line( + name="Hlt2IFTTurbo_Femtoscopy_LambdaLambda_lowK", + k_max=_LOW_K_MAX, + prescale=1., + persistreco=True): lambda_lambda_pairs = make_lambda_lambda_pairs(k_max) return Hlt2Line( name, @@ -341,7 +342,7 @@ def make_xi_p_pairs(k_max): @register_line_builder(all_lines) @configurable -def femto_xim_p_line(name="Hlt2IFT_Femtoscopy_XiP", +def femto_xim_p_line(name="Hlt2IFTTurbo_Femtoscopy_XiP", k_max=1. * GeV, prescale=0.1, persistreco=True): @@ -356,7 +357,7 @@ def femto_xim_p_line(name="Hlt2IFT_Femtoscopy_XiP", @register_line_builder(all_lines) @configurable -def femto_xim_p_lowk_line(name="Hlt2IFT_Femtoscopy_XiP_lowK", +def femto_xim_p_lowk_line(name="Hlt2IFTTurbo_Femtoscopy_XiP_lowK", k_max=_LOW_K_MAX, prescale=1., persistreco=True): @@ -385,7 +386,7 @@ def make_xi_lam_pairs(k_max): @register_line_builder(all_lines) @configurable -def femto_xim_lambda_line(name="Hlt2IFT_Femtoscopy_XiLambda", +def femto_xim_lambda_line(name="Hlt2IFTTurbo_Femtoscopy_XiLambda", k_max=1. * GeV, prescale=1., persistreco=True): @@ -400,7 +401,7 @@ def femto_xim_lambda_line(name="Hlt2IFT_Femtoscopy_XiLambda", @register_line_builder(all_lines) @configurable -def femto_xim_lambda_lowk_line(name="Hlt2IFT_Femtoscopy_XiLambda_lowK", +def femto_xim_lambda_lowk_line(name="Hlt2IFTTurbo_Femtoscopy_XiLambda_lowK", k_max=_LOW_K_MAX, prescale=1., persistreco=True): @@ -415,7 +416,7 @@ def femto_xim_lambda_lowk_line(name="Hlt2IFT_Femtoscopy_XiLambda_lowK", @register_line_builder(all_lines) @configurable -def femto_xim_xim_line(name="Hlt2IFT_Femtoscopy_XiXi", +def femto_xim_xim_line(name="Hlt2IFTTurbo_Femtoscopy_XiXi", k_max=1. * GeV, prescale=1., persistreco=True): @@ -451,7 +452,7 @@ def make_omega_p_pairs(k_max): @register_line_builder(all_lines) @configurable -def femto_omegam_p_line(name="Hlt2IFT_Femtoscopy_OmegaP", +def femto_omegam_p_line(name="Hlt2IFTTurbo_Femtoscopy_OmegaP", k_max=1. * GeV, prescale=1., persistreco=True): @@ -466,7 +467,7 @@ def femto_omegam_p_line(name="Hlt2IFT_Femtoscopy_OmegaP", @register_line_builder(all_lines) @configurable -def femto_omegam_p_lowk_line(name="Hlt2IFT_Femtoscopy_OmegaP_lowK", +def femto_omegam_p_lowk_line(name="Hlt2IFTTurbo_Femtoscopy_OmegaP_lowK", k_max=_LOW_K_MAX, prescale=1., persistreco=True): @@ -481,7 +482,7 @@ def femto_omegam_p_lowk_line(name="Hlt2IFT_Femtoscopy_OmegaP_lowK", @register_line_builder(all_lines) @configurable -def femto_omegam_lambda_line(name="Hlt2IFT_Femtoscopy_OmegaLambda", +def femto_omegam_lambda_line(name="Hlt2IFTTurbo_Femtoscopy_OmegaLambda", k_max=1. * GeV, prescale=1., persistreco=True): @@ -507,7 +508,7 @@ def femto_omegam_lambda_line(name="Hlt2IFT_Femtoscopy_OmegaLambda", @register_line_builder(all_lines) @configurable -def femto_omegam_xim_line(name="Hlt2IFT_Femtoscopy_OmegaXi", +def femto_omegam_xim_line(name="Hlt2IFTTurbo_Femtoscopy_OmegaXi", k_max=1. * GeV, prescale=1., persistreco=True): @@ -532,7 +533,7 @@ def femto_omegam_xim_line(name="Hlt2IFT_Femtoscopy_OmegaXi", @register_line_builder(all_lines) @configurable -def femto_omegam_omegam_line(name="Hlt2IFT_Femtoscopy_OmegaOmega", +def femto_omegam_omegam_line(name="Hlt2IFTTurbo_Femtoscopy_OmegaOmega", k_max=1. * GeV, prescale=1., persistreco=True): @@ -583,7 +584,7 @@ _DS_M = 1968.35 * MeV @register_line_builder(all_lines) @configurable -def femto_lc_p_line(name="Hlt2IFT_Femtoscopy_LcP", +def femto_lc_p_line(name="Hlt2IFTTurbo_Femtoscopy_LcP", k_max=1. * GeV, prescale=1., persistreco=True): @@ -607,7 +608,7 @@ def femto_lc_p_line(name="Hlt2IFT_Femtoscopy_LcP", @register_line_builder(all_lines) @configurable -def femto_lc_lambda_line(name="Hlt2IFT_Femtoscopy_LcLambda", +def femto_lc_lambda_line(name="Hlt2IFTTurbo_Femtoscopy_LcLambda", k_max=1. * GeV, prescale=1., persistreco=True): @@ -632,7 +633,7 @@ def femto_lc_lambda_line(name="Hlt2IFT_Femtoscopy_LcLambda", @register_line_builder(all_lines) @configurable -def femto_lc_xi_line(name="Hlt2IFT_Femtoscopy_LcXi", +def femto_lc_xi_line(name="Hlt2IFTTurbo_Femtoscopy_LcXi", k_max=1. * GeV, prescale=1., persistreco=True): @@ -656,7 +657,7 @@ def femto_lc_xi_line(name="Hlt2IFT_Femtoscopy_LcXi", @register_line_builder(all_lines) @configurable -def femto_lc_omega_line(name="Hlt2IFT_Femtoscopy_LcOmega", +def femto_lc_omega_line(name="Hlt2IFTTurbo_Femtoscopy_LcOmega", k_max=1. * GeV, prescale=1., persistreco=True): @@ -681,7 +682,7 @@ def femto_lc_omega_line(name="Hlt2IFT_Femtoscopy_LcOmega", @register_line_builder(all_lines) @configurable -def femto_xicp_p_line(name="Hlt2IFT_Femtoscopy_XicpP", +def femto_xicp_p_line(name="Hlt2IFTTurbo_Femtoscopy_XicpP", k_max=1. * GeV, prescale=1., persistreco=True): @@ -705,7 +706,7 @@ def femto_xicp_p_line(name="Hlt2IFT_Femtoscopy_XicpP", @register_line_builder(all_lines) @configurable -def femto_xicp_lambda_line(name="Hlt2IFT_Femtoscopy_XicpLambda", +def femto_xicp_lambda_line(name="Hlt2IFTTurbo_Femtoscopy_XicpLambda", k_max=1. * GeV, prescale=1., persistreco=True): @@ -729,7 +730,7 @@ def femto_xicp_lambda_line(name="Hlt2IFT_Femtoscopy_XicpLambda", @register_line_builder(all_lines) @configurable -def femto_xicp_xi_line(name="Hlt2IFT_Femtoscopy_XicpXi", +def femto_xicp_xi_line(name="Hlt2IFTTurbo_Femtoscopy_XicpXi", k_max=1. * GeV, prescale=1., persistreco=True): @@ -753,7 +754,7 @@ def femto_xicp_xi_line(name="Hlt2IFT_Femtoscopy_XicpXi", @register_line_builder(all_lines) @configurable -def femto_xicz_p_line(name="Hlt2IFT_Femtoscopy_XiczP", +def femto_xicz_p_line(name="Hlt2IFTTurbo_Femtoscopy_XiczP", k_max=1. * GeV, prescale=1., persistreco=True): @@ -777,7 +778,7 @@ def femto_xicz_p_line(name="Hlt2IFT_Femtoscopy_XiczP", @register_line_builder(all_lines) @configurable -def femto_xicz_lambda_line(name="Hlt2IFT_Femtoscopy_XiczLambda", +def femto_xicz_lambda_line(name="Hlt2IFTTurbo_Femtoscopy_XiczLambda", k_max=1. * GeV, prescale=1., persistreco=True): @@ -801,7 +802,7 @@ def femto_xicz_lambda_line(name="Hlt2IFT_Femtoscopy_XiczLambda", @register_line_builder(all_lines) @configurable -def femto_xicz_xi_line(name="Hlt2IFT_Femtoscopy_XiczXi", +def femto_xicz_xi_line(name="Hlt2IFTTurbo_Femtoscopy_XiczXi", k_max=1. * GeV, prescale=1., persistreco=True): @@ -837,7 +838,7 @@ def make_dz_p_pairs(k_max): @register_line_builder(all_lines) @configurable -def femto_dz_p_line(name="Hlt2IFT_Femtoscopy_DzP", +def femto_dz_p_line(name="Hlt2IFTTurbo_Femtoscopy_DzP", k_max=1. * GeV, prescale=0.1, persistreco=True): @@ -851,7 +852,7 @@ def femto_dz_p_line(name="Hlt2IFT_Femtoscopy_DzP", @register_line_builder(all_lines) @configurable -def femto_dz_p_lowk_line(name="Hlt2IFT_Femtoscopy_DzP_lowK", +def femto_dz_p_lowk_line(name="Hlt2IFTTurbo_Femtoscopy_DzP_lowK", k_max=_LOW_K_MAX, prescale=1., persistreco=True): @@ -865,7 +866,7 @@ def femto_dz_p_lowk_line(name="Hlt2IFT_Femtoscopy_DzP_lowK", @register_line_builder(all_lines) @configurable -def femto_dz_lambda_line(name="Hlt2IFT_Femtoscopy_DzLambda", +def femto_dz_lambda_line(name="Hlt2IFTTurbo_Femtoscopy_DzLambda", k_max=1. * GeV, prescale=1., persistreco=True): @@ -889,7 +890,7 @@ def femto_dz_lambda_line(name="Hlt2IFT_Femtoscopy_DzLambda", @register_line_builder(all_lines) @configurable -def femto_dz_xi_line(name="Hlt2IFT_Femtoscopy_DzXi", +def femto_dz_xi_line(name="Hlt2IFTTurbo_Femtoscopy_DzXi", k_max=1. * GeV, prescale=1., persistreco=True): @@ -911,7 +912,7 @@ def femto_dz_xi_line(name="Hlt2IFT_Femtoscopy_DzXi", @register_line_builder(all_lines) @configurable -def femto_dz_omega_line(name="Hlt2IFT_Femtoscopy_DzOmega", +def femto_dz_omega_line(name="Hlt2IFTTurbo_Femtoscopy_DzOmega", k_max=1. * GeV, prescale=1., persistreco=True): @@ -947,7 +948,7 @@ def make_dp_p_pairs(k_max): @register_line_builder(all_lines) @configurable -def femto_dp_p_line(name="Hlt2IFT_Femtoscopy_DpP", +def femto_dp_p_line(name="Hlt2IFTTurbo_Femtoscopy_DpP", k_max=1. * GeV, prescale=0.1, persistreco=True): @@ -961,7 +962,7 @@ def femto_dp_p_line(name="Hlt2IFT_Femtoscopy_DpP", @register_line_builder(all_lines) @configurable -def femto_dp_p_lowk_line(name="Hlt2IFT_Femtoscopy_DpP_lowK", +def femto_dp_p_lowk_line(name="Hlt2IFTTurbo_Femtoscopy_DpP_lowK", k_max=_LOW_K_MAX, prescale=1., persistreco=True): @@ -975,7 +976,7 @@ def femto_dp_p_lowk_line(name="Hlt2IFT_Femtoscopy_DpP_lowK", @register_line_builder(all_lines) @configurable -def femto_dp_lambda_line(name="Hlt2IFT_Femtoscopy_DpLambda", +def femto_dp_lambda_line(name="Hlt2IFTTurbo_Femtoscopy_DpLambda", k_max=1. * GeV, prescale=1., persistreco=True): @@ -999,7 +1000,7 @@ def femto_dp_lambda_line(name="Hlt2IFT_Femtoscopy_DpLambda", @register_line_builder(all_lines) @configurable -def femto_dp_xi_line(name="Hlt2IFT_Femtoscopy_DpXi", +def femto_dp_xi_line(name="Hlt2IFTTurbo_Femtoscopy_DpXi", k_max=1. * GeV, prescale=1., persistreco=True): @@ -1021,7 +1022,7 @@ def femto_dp_xi_line(name="Hlt2IFT_Femtoscopy_DpXi", @register_line_builder(all_lines) @configurable -def femto_dp_omega_line(name="Hlt2IFT_Femtoscopy_DpOmega", +def femto_dp_omega_line(name="Hlt2IFTTurbo_Femtoscopy_DpOmega", k_max=1. * GeV, prescale=1., persistreco=True): diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2.py index d189afcb7ad..90b4fec729c 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2.py @@ -18,7 +18,6 @@ from Moore.config import register_line_builder from Hlt2Conf.lines.ift.builders.smog2_builders import make_smog2_prefilters from RecoConf.reconstruction_objects import make_pvs from RecoConf.reconstruction_objects import upfront_reconstruction -from RecoConf.event_filters import require_gec PROCESS = "hlt2" all_lines = {} @@ -28,24 +27,27 @@ _hlt1_SMOG2_lines = [ "Hlt1SMOG2SingleTrackHighPtDecision", "Hlt1SMOG2SingleTrackVeryHighPtDecision", "Hlt1SMOG2SingleMuonDecision", - "Hlt1SMOG2eta2ppDecision", + "Hlt1SMOG2etacToppDecision", "Hlt1SMOG2D2KpiDecision", "Hlt1SMOG22BodyGenericDecision", - "Hlt1SMOG22BodyGenericLowPtDecision", + "Hlt1SMOG22BodyGenericPromptDecision", "Hlt1SMOG2DiMuonHighMassDecision", - "Hlt1GECPassThroughLowMult5Decision", + "Hlt1SMOG2PassThroughLowMult5Decision", "Hlt1SMOG2BENoBiasDecision", - "Hlt1SMOG2BELowMult10Decision", + "Hlt1SMOG2BELowMultElectronsDecision", "Hlt1SMOG2MinimumBiasDecision", "Hlt1PassthroughPVinSMOG2Decision", "Hlt1SMOG2KsToPiPiDecision", - "Hlt1SMOG2L02PPiDecision", + "Hlt1SMOG2L0ToppiDecision", ] +_hlt1_lumi_SMOG2_lines = ["Hlt1SMOG2BELowMultElectronsDecision"] + _hlt1_lowMult_SMOG2_lines = [ - "Hlt1SMOG2GECPassThroughLowMult5Decision", + "Hlt1SMOG2PassThroughLowMult5Decision", "Hlt1SMOG2BELowMultElectronsDecision" ] # For luminosity measurement with p-e scattering + _hlt1_minbias_SMOG2_lines = [ "Hlt1SMOG2MinimumBiasDecision", "Hlt1PassthroughPVinSMOG2Decision", "Hlt1SMOG2BENoBiasDecision" @@ -54,7 +56,7 @@ _hlt1_minbias_SMOG2_lines = [ @register_line_builder(all_lines) @configurable -def smog2_passthrough_PV(name='Hlt2IFT_SMOG2Passthrough_PV_in_SMOG2', +def smog2_passthrough_PV(name='Hlt2IFTFull_SMOG2Passthrough_PV_in_SMOG2', prescale=0.0001, persistreco=True): pvs = make_pvs @@ -69,13 +71,12 @@ def smog2_passthrough_PV(name='Hlt2IFT_SMOG2Passthrough_PV_in_SMOG2', @register_line_builder(all_lines) @configurable -def smog2_passthrough(name='Hlt2IFT_SMOG2GECPassthrough', - prescale=0.001, +def smog2_passthrough(name='Hlt2IFTFull_SMOG2Passthrough', + prescale=0.0001, persistreco=True): - gec = require_gec() return Hlt2Line( name=name, - algs=upfront_reconstruction() + [gec], + algs=upfront_reconstruction(), hlt1_filter_code=_hlt1_SMOG2_lines, prescale=prescale, persistreco=persistreco, @@ -84,9 +85,23 @@ def smog2_passthrough(name='Hlt2IFT_SMOG2GECPassthrough', @register_line_builder(all_lines) @configurable -def smog2_lumi_passthrough(name='Hlt2IFT_SMOG2LumiPassthrough', +def smog2_lumi_passthrough(name='Hlt2IFTFull_SMOG2LumiPassthrough', prescale=1, persistreco=True): + return Hlt2Line( + name=name, + algs=upfront_reconstruction(), + hlt1_filter_code=_hlt1_lumi_SMOG2_lines, + prescale=prescale, + persistreco=persistreco, + ) + + +@register_line_builder(all_lines) +@configurable +def smog2_cep_passthrough(name='Hlt2IFTFull_SMOG2CEPPassthrough', + prescale=0.001, + persistreco=True): return Hlt2Line( name=name, algs=upfront_reconstruction(), @@ -98,7 +113,7 @@ def smog2_lumi_passthrough(name='Hlt2IFT_SMOG2LumiPassthrough', @register_line_builder(all_lines) @configurable -def smog2_minbias_passthrough(name='Hlt2IFT_SMOG2MBPassthrough', +def smog2_minbias_passthrough(name='Hlt2IFTFull_SMOG2MBPassthrough', prescale=1, persistreco=True): return Hlt2Line( diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2_chargedPID.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2_chargedPID.py index 503e561af4a..92de0e8de60 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2_chargedPID.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2_chargedPID.py @@ -23,6 +23,7 @@ from RecoConf.reconstruction_objects import make_pvs from GaudiKernel.SystemOfUnits import MeV, GeV, mm, ns PROCESS = "hlt2" +full_lines, turbo_lines = {}, {} all_lines = {} _MASSWINDOW_KS = [(497.7 - 50) * MeV, (497.7 + 50) * MeV] @@ -35,6 +36,15 @@ _MASS_KS = 497.7 * MeV _MASS_Lambda0 = 1115.683 * MeV _MASS_PHI = 1019.445 * MeV +hlt1_filter_ks = ["Hlt1SMOG2KsToPiPiDecision"] +hlt1_filter_lambda = ["Hlt1SMOG2L0ToppiDecision"] +hlt1_filter_phi = [ + "Hlt1SMOG22BodyGenericDecision", "Hlt1SMOG22BodyGenericPromptDecision", + "Hlt1SMOG2SingleTrackHighPtDecision", + "Hlt1SMOG2SingleTrackVeryHighPtDecision", + "Hlt1PassthroughPVinSMOG2Decision" +] + ################################################################# ################################################################# ################### CHARGED PID LINES ######################### @@ -43,10 +53,11 @@ _MASS_PHI = 1019.445 * MeV @register_line_builder(all_lines) +@register_line_builder(full_lines) @configurable def smog2_ks2pipi_ll_line( - name="Hlt2IFT_SMOG2KS2PiPiLL", - prescale=0.002, + name="Hlt2IFTFull_SMOG2KS2PiPiLL", + prescale=0.02, persistreco=True, min_p=2 * GeV, max_trchi2dof=5, @@ -88,16 +99,19 @@ def smog2_ks2pipi_ll_line( return Hlt2Line( name=name, algs=make_smog2_prefilters(pvs=pvs) + [ks2pipi], + hlt1_filter_code=hlt1_filter_ks, prescale=prescale, persistreco=persistreco, + pv_tracks=True, ) @register_line_builder(all_lines) +@register_line_builder(full_lines) @configurable def smog2_ks2pipi_ll_lowpt_line( - name="Hlt2IFT_SMOG2KS2PiPiLLLowPT", - prescale=0.005, + name="Hlt2IFTFull_SMOG2KS2PiPiLLLowPT", + prescale=0.08, persistreco=True, min_p=2 * GeV, max_trchi2dof=5, @@ -140,16 +154,19 @@ def smog2_ks2pipi_ll_lowpt_line( return Hlt2Line( name=name, algs=make_smog2_prefilters(pvs=pvs) + [ks2pipi], + hlt1_filter_code=hlt1_filter_ks, prescale=prescale, persistreco=persistreco, + pv_tracks=True, ) @register_line_builder(all_lines) +@register_line_builder(full_lines) @configurable def smog2_ks2pipi_ll_highpt_line( - name="Hlt2IFT_SMOG2KS2PiPiLLHighPT", - prescale=0.5, + name="Hlt2IFTFull_SMOG2KS2PiPiLLHighPT", + prescale=1, persistreco=True, min_p=2 * GeV, max_trchi2dof=5, @@ -192,15 +209,18 @@ def smog2_ks2pipi_ll_highpt_line( return Hlt2Line( name=name, algs=make_smog2_prefilters(pvs=pvs) + [ks2pipi], + hlt1_filter_code=hlt1_filter_ks, prescale=prescale, persistreco=persistreco, + pv_tracks=True, ) @register_line_builder(all_lines) +@register_line_builder(full_lines) @configurable def smog2_ks2pipi_dd_line( - name="Hlt2IFT_SMOG2KS2PiPiDD", + name="Hlt2IFTFull_SMOG2KS2PiPiDD", prescale=1, persistreco=True, min_p=2 * GeV, @@ -244,13 +264,15 @@ def smog2_ks2pipi_dd_line( algs=make_smog2_prefilters(pvs=pvs) + [ks2pipi], prescale=prescale, persistreco=persistreco, + pv_tracks=True, ) @register_line_builder(all_lines) +@register_line_builder(full_lines) @configurable def smog2_L02ppi_ll_line( - name="Hlt2IFT_SMOG2Lambda02PPiLL", + name="Hlt2IFTFull_SMOG2Lambda02PPiLL", prescale=0.02, persistreco=True, min_p=2 * GeV, @@ -263,7 +285,7 @@ def smog2_L02ppi_ll_line( end_vz_max=2200 * mm, bpvvdchi2_min=0, bpvltime_min=0 * ns, - parent_bpvipchi2_max=200, + parent_bpvipchi2_max=100, ks_veto_window=20 * MeV, ): """ @@ -292,15 +314,18 @@ def smog2_L02ppi_ll_line( return Hlt2Line( name=name, algs=make_smog2_prefilters(pvs=pvs) + [l02ppi], + hlt1_filter_code=hlt1_filter_lambda, prescale=prescale, persistreco=persistreco, + pv_tracks=True, ) @register_line_builder(all_lines) +@register_line_builder(full_lines) @configurable def smog2_L02ppi_ll_highpt_line( - name="Hlt2IFT_SMOG2Lambda02PPiLLHighPT", + name="Hlt2IFTFull_SMOG2Lambda02PPiLLHighPT", prescale=1, persistreco=True, min_p=2 * GeV, @@ -308,12 +333,12 @@ def smog2_L02ppi_ll_highpt_line( min_bpvipchi2=25, mmin=_MASSWINDOW_LAMBDA0[0], mmax=_MASSWINDOW_LAMBDA0[1], - apt_min=2 * GeV, + apt_min=2.5 * GeV, vchi2pdof_max=25.0, end_vz_max=2200 * mm, bpvvdchi2_min=0, bpvltime_min=0 * ns, - parent_bpvipchi2_max=200, + parent_bpvipchi2_max=100, ks_veto_window=20 * MeV, ): """ @@ -342,15 +367,18 @@ def smog2_L02ppi_ll_highpt_line( return Hlt2Line( name=name, algs=make_smog2_prefilters(pvs=pvs) + [l02ppi], + hlt1_filter_code=hlt1_filter_lambda, prescale=prescale, persistreco=persistreco, + pv_tracks=True, ) @register_line_builder(all_lines) +@register_line_builder(full_lines) @configurable def smog2_L02ppi_dd_line( - name="Hlt2IFT_SMOG2Lambda02PPiDD", + name="Hlt2IFTFull_SMOG2Lambda02PPiDD", prescale=1, persistreco=True, min_p=2 * GeV, @@ -394,15 +422,16 @@ def smog2_L02ppi_dd_line( algs=make_smog2_prefilters(pvs=pvs) + [l02ppi], prescale=prescale, persistreco=persistreco, - ) + pv_tracks=True) @register_line_builder(all_lines) +@register_line_builder(turbo_lines) @configurable def smog2_phi2kk_line( - name="Hlt2IFT_SMOG2Phi2kk", - prescale=0.01, - persistreco=True, + name="Hlt2IFTTurbo_SMOG2Phi2kk", + prescale=0.1, + persistreco=False, min_p=3 * GeV, min_pt=600 * MeV, max_trchi2dof=5, @@ -419,7 +448,6 @@ def smog2_phi2kk_line( """ SMOG2 phi(1020) -> K K (Km probe) sprucing trigger line for physics analysis """ - name = "Hlt2IFT_SMOG2Phi2kk" pvs = make_pvs phi2kk = make_smog2_phi2kk( @@ -441,15 +469,19 @@ def smog2_phi2kk_line( return Hlt2Line( name=name, algs=make_smog2_prefilters(pvs=pvs) + [phi2kk], + hlt1_filter_code=hlt1_filter_phi, prescale=prescale, - persistreco=persistreco) + persistreco=persistreco, + pv_tracks=True, + ) @register_line_builder(all_lines) +@register_line_builder(full_lines) @configurable def smog2_phi2kk_kmProbe_line( - name="Hlt2IFT_SMOG2Phi2kk_Kmprobe", - prescale=0.01, + name="Hlt2IFTFull_SMOG2Phi2kk_Kmprobe", + prescale=0.1, persistreco=True, min_p=2 * GeV, min_pt=380 * MeV, @@ -467,7 +499,6 @@ def smog2_phi2kk_kmProbe_line( """ SMOG2 phi(1020) -> K K (Km probe) HLT2 trigger line for PID calibration """ - name = "Hlt2IFT_SMOG2Phi2kk_Kmprobe" pvs = make_pvs phi2kk = make_smog2_phi2kk_calib( @@ -490,16 +521,19 @@ def smog2_phi2kk_kmProbe_line( return Hlt2Line( name=name, algs=make_smog2_prefilters(pvs=pvs) + [phi2kk], + hlt1_filter_code=hlt1_filter_phi, prescale=prescale, persistreco=persistreco, + pv_tracks=True, ) @register_line_builder(all_lines) +@register_line_builder(full_lines) @configurable def smog2_phi2kk_kpProbe_line( - name="Hlt2IFT_SMOG2Phi2kk_Kpprobe", - prescale=0.01, + name="Hlt2IFTFull_SMOG2Phi2kk_Kpprobe", + prescale=0.1, persistreco=True, min_p=2 * GeV, min_pt=380 * MeV, @@ -517,7 +551,6 @@ def smog2_phi2kk_kpProbe_line( """ SMOG2 phi(1020) -> K K (Kp probe) HLT2 trigger line for PID calibration """ - name = "Hlt2IFT_SMOG2Phi2kk_Kpprobe" pvs = make_pvs phi2kk = make_smog2_phi2kk_calib( @@ -540,16 +573,19 @@ def smog2_phi2kk_kpProbe_line( return Hlt2Line( name=name, algs=make_smog2_prefilters(pvs=pvs) + [phi2kk], + hlt1_filter_code=hlt1_filter_phi, prescale=prescale, persistreco=persistreco, + pv_tracks=True, ) @register_line_builder(all_lines) +@register_line_builder(full_lines) @configurable def smog2_phi2kk_kmProbe_highpt_line( - name="Hlt2IFT_SMOG2Phi2kkHighPT_Kmprobe", - prescale=0.5, + name="Hlt2IFTFull_SMOG2Phi2kkHighPT_Kmprobe", + prescale=1, persistreco=True, min_p=2 * GeV, min_pt=600 * MeV, @@ -567,7 +603,7 @@ def smog2_phi2kk_kmProbe_highpt_line( """ SMOG2 phi(1020) -> K K (Km probe) HLT2 trigger line for PID calibration. Unprescaled High PT line. """ - name = "Hlt2IFT_SMOG2Phi2kkHighPT_Kmprobe" + pvs = make_pvs phi2kk = make_smog2_phi2kk_calib( @@ -590,16 +626,19 @@ def smog2_phi2kk_kmProbe_highpt_line( return Hlt2Line( name=name, algs=make_smog2_prefilters(pvs=pvs) + [phi2kk], + hlt1_filter_code=hlt1_filter_phi, prescale=prescale, persistreco=persistreco, + pv_tracks=True, ) @register_line_builder(all_lines) +@register_line_builder(full_lines) @configurable def smog2_phi2kk_kpProbe_highpt_line( - name="Hlt2IFT_SMOG2Phi2kkHighPT_Kpprobe", - prescale=0.5, + name="Hlt2IFTFull_SMOG2Phi2kkHighPT_Kpprobe", + prescale=1, persistreco=True, min_p=2 * GeV, min_pt=600 * MeV, @@ -617,7 +656,6 @@ def smog2_phi2kk_kpProbe_highpt_line( """ SMOG2 phi(1020) -> K K (Kp probe) HLT2 trigger line for PID calibration. Unprescaled high PT line """ - name = "Hlt2IFT_SMOG2Phi2kkHighPT_Kpprobe" pvs = make_pvs phi2kk = make_smog2_phi2kk_calib( @@ -640,6 +678,8 @@ def smog2_phi2kk_kpProbe_highpt_line( return Hlt2Line( name=name, algs=make_smog2_prefilters(pvs=pvs) + [phi2kk], + hlt1_filter_code=hlt1_filter_phi, prescale=prescale, persistreco=persistreco, + pv_tracks=True, ) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2_charm.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2_charm.py index c9031383901..3f7a67128b2 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2_charm.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2_charm.py @@ -19,6 +19,7 @@ from Hlt2Conf.lines.ift.builders.smog2_builders import make_smog2_prefilters from Hlt2Conf.lines.ift.builders.smog2_charm_builders import make_particle_criteria, make_comb_criteria from Hlt2Conf.lines.ift.builders.smog2_charm_builders import make_charm2hadrons, make_charm3hadrons, make_charm4hadrons, make_Dst +turbo_lines, full_lines = {}, {} all_lines = {} PROCESS = "hlt2" @@ -56,8 +57,9 @@ __MASSWin_Omegac0 = 100 * MeV @register_line_builder(all_lines) +@register_line_builder(full_lines) @configurable -def D02kpiline(name='Hlt2IFT_SMOG2D02KPi', prescale=1, persistreco=True): +def D02kpiline(name='Hlt2IFTFull_SMOG2D02KPi', prescale=1, persistreco=True): # Define bpvipchi2, minPIDk, maxPIDK, minPIDp, minpT, minp, maxtrchi2dof # if the line retention rate is low : no PID cut @@ -118,8 +120,11 @@ def D02kpiline(name='Hlt2IFT_SMOG2D02KPi', prescale=1, persistreco=True): @register_line_builder(all_lines) +@register_line_builder(full_lines) @configurable -def Dst2D0piline(name='Hlt2IFT_SMOG2Dst2KPiPID', prescale=1, persistreco=True): +def Dst2D0piline(name='Hlt2IFTFull_SMOG2Dst2KPiPID', + prescale=1, + persistreco=True): pvs = make_pvs @@ -188,8 +193,9 @@ def Dst2D0piline(name='Hlt2IFT_SMOG2Dst2KPiPID', prescale=1, persistreco=True): @register_line_builder(all_lines) +@register_line_builder(turbo_lines) @configurable -def D02kkline(name='Hlt2IFT_SMOG2D02KK', prescale=0.05, persistreco=True): +def D02kkline(name='Hlt2IFTTurbo_SMOG2D02KK', prescale=0.05, persistreco=True): pvs = make_pvs @@ -231,8 +237,11 @@ def D02kkline(name='Hlt2IFT_SMOG2D02KK', prescale=0.05, persistreco=True): @register_line_builder(all_lines) +@register_line_builder(turbo_lines) @configurable -def D02pipiline(name='Hlt2IFT_SMOG2D02pipi', prescale=0.01, persistreco=True): +def D02pipiline(name='Hlt2IFTTurbo_SMOG2D02pipi', + prescale=0.01, + persistreco=True): pvs = make_pvs @@ -274,10 +283,11 @@ def D02pipiline(name='Hlt2IFT_SMOG2D02pipi', prescale=0.01, persistreco=True): @register_line_builder(all_lines) +@register_line_builder(turbo_lines) @configurable -def Etac2ppbarline(name='Hlt2IFT_SMOG2Etac2ppbar', +def Etac2ppbarline(name='Hlt2IFTTurbo_SMOG2Etac2ppbar', prescale=1, - persistreco=True): + persistreco=False): pvs = make_pvs @@ -287,8 +297,8 @@ def Etac2ppbarline(name='Hlt2IFT_SMOG2Etac2ppbar', maxPIDK=None, minPIDp=15, minPIDpK=7, - minpT=700 * MeV, - minp=3 * GeV, + minpT=1000 * MeV, + minp=25 * GeV, maxtrchi2dof=5) Particles = ["proton", "proton"] CriteriaParticles = [CriteriaProton, CriteriaProton] @@ -296,9 +306,9 @@ def Etac2ppbarline(name='Hlt2IFT_SMOG2Etac2ppbar', CriteriaCombinations = make_comb_criteria( mass=__MASS_ETAC, masswin=__MASSWin_ETAC, - min_child_pt=1.1 * GeV, + min_child_pt=1.2 * GeV, max_sdoca=0.5 * mm, - vchi2pdof_max=16) + vchi2pdof_max=25) etac2ppbar = make_charm2hadrons( name="etac2ppbar", @@ -312,6 +322,7 @@ def Etac2ppbarline(name='Hlt2IFT_SMOG2Etac2ppbar', return Hlt2Line( name=name, algs=make_smog2_prefilters(pvs=pvs) + [etac2ppbar], + pv_tracks=True, prescale=prescale, persistreco=persistreco) @@ -322,8 +333,11 @@ def Etac2ppbarline(name='Hlt2IFT_SMOG2Etac2ppbar', @register_line_builder(all_lines) +@register_line_builder(full_lines) @configurable -def Dpm2kpipiline(name='Hlt2IFT_SMOG2Dpm2kpipi', prescale=1, persistreco=True): +def Dpm2kpipiline(name='Hlt2IFTFull_SMOG2Dpm2kpipi', + prescale=1, + persistreco=True): pvs = make_pvs @@ -374,8 +388,10 @@ def Dpm2kpipiline(name='Hlt2IFT_SMOG2Dpm2kpipi', prescale=1, persistreco=True): @register_line_builder(all_lines) +@register_line_builder(full_lines) @configurable -def Ds2kkpiline(name='Hlt2IFT_SMOG2DsToKKPi', prescale=1, persistreco=True): +def Ds2kkpiline(name='Hlt2IFTFull_SMOG2DsToKKPi', prescale=1, + persistreco=True): pvs = make_pvs @@ -426,8 +442,10 @@ def Ds2kkpiline(name='Hlt2IFT_SMOG2DsToKKPi', prescale=1, persistreco=True): @register_line_builder(all_lines) +@register_line_builder(full_lines) @configurable -def Lc2pkpiline(name='Hlt2IFT_SMOG2LcTopKPi', prescale=1, persistreco=True): +def Lc2pkpiline(name='Hlt2IFTFull_SMOG2LcTopKPi', prescale=1, + persistreco=True): pvs = make_pvs @@ -487,9 +505,11 @@ def Lc2pkpiline(name='Hlt2IFT_SMOG2LcTopKPi', prescale=1, persistreco=True): @register_line_builder(all_lines) +@register_line_builder(turbo_lines) @configurable -def Xicp2pkpiline(name='Hlt2IFT_SMOG2XicpTopKPi', prescale=1, - persistreco=True): +def Xicp2pkpiline(name='Hlt2IFTTurbo_SMOG2XicpTopKPi', + prescale=1, + persistreco=False): pvs = make_pvs @@ -545,7 +565,9 @@ def Xicp2pkpiline(name='Hlt2IFT_SMOG2XicpTopKPi', prescale=1, name=name, algs=make_smog2_prefilters(pvs=pvs) + [Xicp2pkpi], prescale=prescale, - persistreco=persistreco) + persistreco=persistreco, + pv_tracks=True, + ) #======================================== @@ -554,8 +576,9 @@ def Xicp2pkpiline(name='Hlt2IFT_SMOG2XicpTopKPi', prescale=1, @register_line_builder(all_lines) +@register_line_builder(turbo_lines) @configurable -def Xic02pkkpiline(name='Hlt2IFT_SMOG2Xic0TopKKPi', +def Xic02pkkpiline(name='Hlt2IFTTurbo_SMOG2Xic0TopKKPi', prescale=1, persistreco=True): @@ -612,12 +635,15 @@ def Xic02pkkpiline(name='Hlt2IFT_SMOG2Xic0TopKKPi', name=name, algs=make_smog2_prefilters(pvs=pvs) + [Xic02pkkpi], prescale=prescale, - persistreco=persistreco) + persistreco=persistreco, + pv_tracks=True, + ) @register_line_builder(all_lines) +@register_line_builder(turbo_lines) @configurable -def Omegac02pkkpiline(name='Hlt2IFT_SMOG2Omegac0TopKKPi', +def Omegac02pkkpiline(name='Hlt2IFTTurbo_SMOG2Omegac0TopKKPi', prescale=1, persistreco=True): @@ -674,12 +700,15 @@ def Omegac02pkkpiline(name='Hlt2IFT_SMOG2Omegac0TopKKPi', name=name, algs=make_smog2_prefilters(pvs=pvs) + [Omegac02pkkpi], prescale=prescale, - persistreco=persistreco) + persistreco=persistreco, + pv_tracks=True, + ) @register_line_builder(all_lines) +@register_line_builder(full_lines) @configurable -def Hiddencharm4piline(name='Hlt2IFT_SMOG2ccTo4Pi', +def Hiddencharm4piline(name='Hlt2IFTFull_SMOG2ccTo4Pi', prescale=0.001, persistreco=True): @@ -724,8 +753,9 @@ def Hiddencharm4piline(name='Hlt2IFT_SMOG2ccTo4Pi', @register_line_builder(all_lines) +@register_line_builder(full_lines) @configurable -def Hiddencharm2pi2k_line(name="Hlt2IFT_SMOG2ccTo2Pi2K", +def Hiddencharm2pi2k_line(name="Hlt2IFTFull_SMOG2ccTo2Pi2K", prescale=0.001, persistreco=True): @@ -777,8 +807,9 @@ def Hiddencharm2pi2k_line(name="Hlt2IFT_SMOG2ccTo2Pi2K", @register_line_builder(all_lines) +@register_line_builder(full_lines) @configurable -def Hiddencharm4k_line(name="Hlt2IFT_SMOG2ccTo4K", +def Hiddencharm4k_line(name="Hlt2IFTFull_SMOG2ccTo4K", prescale=0.005, persistreco=True): diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2_generic.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2_generic.py index 1f306e9157b..6f0538593bb 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2_generic.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2_generic.py @@ -27,13 +27,23 @@ from RecoConf.reconstruction_objects import make_pvs from GaudiKernel.SystemOfUnits import MeV, GeV, mm, ns, picosecond PROCESS = "hlt2" +full_lines, turbo_lines = {}, {} all_lines = {} +hlt1_filter_singletrack = [ + "Hlt1SMOG2SingleMuonDecision", + "Hlt1SMOG2SingleTrackHighPtDecision", + "Hlt1SMOG2SingleTrackVeryHighPtDecision", +] +hlt1_filter_ks = ["Hlt1SMOG2KsToPiPiDecision"] +hlt1_filter_lambda = ["Hlt1SMOG2L0ToppiDecision"] + @register_line_builder(all_lines) +@register_line_builder(full_lines) @configurable def smog2_singletrack_highpt_line( - name="Hlt2IFT_SMOG2SingleTrackHighPT", + name="Hlt2IFTFull_SMOG2SingleTrackHighPT", prescale=0.1, persistreco=True, min_pt=4 * GeV, @@ -61,15 +71,17 @@ def smog2_singletrack_highpt_line( return Hlt2Line( name=name, algs=make_smog2_prefilters(pvs=pvs) + [highp_track], + hlt1_filter_code=hlt1_filter_singletrack, prescale=prescale, persistreco=persistreco, ) @register_line_builder(all_lines) +@register_line_builder(full_lines) @configurable def smog2_singletrack_veryhighpt_line( - name="Hlt2IFT_SMOG2SingleTrackVeryHighPT", + name="Hlt2IFTFull_SMOG2SingleTrackVeryHighPT", prescale=1, persistreco=True, min_pt=6 * GeV, @@ -97,15 +109,17 @@ def smog2_singletrack_veryhighpt_line( return Hlt2Line( name=name, algs=make_smog2_prefilters(pvs=pvs) + [veryhighp_track], + hlt1_filter_code=hlt1_filter_singletrack, prescale=prescale, persistreco=persistreco, ) @register_line_builder(all_lines) +@register_line_builder(full_lines) @configurable def smog2_generic2bodydetached_line( - name="Hlt2IFT_SMOG2Detached2Body", + name="Hlt2IFTFull_SMOG2Detached2Body", prescale=1, persistreco=True, ): @@ -147,9 +161,10 @@ def smog2_generic2bodydetached_line( @register_line_builder(all_lines) +@register_line_builder(full_lines) @configurable def smog2_generic3bodydetached_line( - name="Hlt2IFT_SMOG2Detached3Body", + name="Hlt2IFTFull_SMOG2Detached3Body", prescale=1, persistreco=True, ): @@ -193,9 +208,10 @@ def smog2_generic3bodydetached_line( @register_line_builder(all_lines) +@register_line_builder(turbo_lines) @configurable def smog2_diks_llll_line( - name="Hlt2IFT_SMOG2DiKsLLLL", + name="Hlt2IFTTurbo_SMOG2DiKsLLLL", prescale=1, persistreco=True, ): @@ -252,15 +268,18 @@ def smog2_diks_llll_line( return Hlt2Line( name=name, algs=make_smog2_prefilters(pvs=pvs) + [diks], + hlt1_filter_code=hlt1_filter_ks, prescale=prescale, persistreco=persistreco, + pv_tracks=True, ) @register_line_builder(all_lines) +@register_line_builder(turbo_lines) @configurable def smog2_diks_lldd_line( - name="Hlt2IFT_SMOG2DiKsLLDD", + name="Hlt2IFTTurbo_SMOG2DiKsLLDD", prescale=1, persistreco=True, ): @@ -315,15 +334,18 @@ def smog2_diks_lldd_line( return Hlt2Line( name=name, algs=make_smog2_prefilters(pvs=pvs) + [diks], + hlt1_filter_code=hlt1_filter_ks, prescale=prescale, persistreco=persistreco, + pv_tracks=True, ) @register_line_builder(all_lines) +@register_line_builder(turbo_lines) @configurable def smog2_diks_dddd_line( - name="Hlt2IFT_SMOG2DiKsDDDD", + name="Hlt2IFTTurbo_SMOG2DiKsDDDD", prescale=1, persistreco=True, ): @@ -380,13 +402,15 @@ def smog2_diks_dddd_line( algs=make_smog2_prefilters(pvs=pvs) + [diks], prescale=prescale, persistreco=persistreco, + pv_tracks=True, ) @register_line_builder(all_lines) +@register_line_builder(turbo_lines) @configurable def smog2_dilambda_llll_line( - name="Hlt2IFT_SMOG2DiLambdaLLLL", + name="Hlt2IFTTurbo_SMOG2DiLambdaLLLL", prescale=1, persistreco=True, ): @@ -429,15 +453,18 @@ def smog2_dilambda_llll_line( return Hlt2Line( name=name, algs=make_smog2_prefilters(pvs=pvs) + [dilambda], + hlt1_filter_code=hlt1_filter_lambda, prescale=prescale, persistreco=persistreco, + pv_tracks=True, ) @register_line_builder(all_lines) +@register_line_builder(turbo_lines) @configurable def smog2_dilambda_lldd_line( - name="Hlt2IFT_SMOG2DiLambdaLLDD", + name="Hlt2IFTTurbo_SMOG2DiLambdaLLDD", prescale=1, persistreco=True, ): @@ -482,17 +509,20 @@ def smog2_dilambda_lldd_line( return Hlt2Line( name=name, algs=make_smog2_prefilters(pvs=pvs) + [dilambda], + hlt1_filter_code=hlt1_filter_lambda, prescale=prescale, persistreco=persistreco, + pv_tracks=True, ) @register_line_builder(all_lines) +@register_line_builder(turbo_lines) @configurable def smog2_dilambda_dddd_line( - name="Hlt2IFT_SMOG2DiLambdaDDDD", + name="Hlt2IFTTurbo_SMOG2DiLambdaDDDD", prescale=1, - persistreco=True, + persistreco=False, ): """ Two DD Lambda line @@ -539,4 +569,5 @@ def smog2_dilambda_dddd_line( algs=make_smog2_prefilters(pvs=pvs) + [dilambda], prescale=prescale, persistreco=persistreco, + pv_tracks=True, ) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2_muons.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2_muons.py index 5e4b03b88b2..313200600ba 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2_muons.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2_muons.py @@ -43,7 +43,7 @@ _MASSWINDOW_PIDJPSI = [2900.0 * MeV, 3300.0 * MeV] @register_line_builder(all_lines) @configurable def smog2_lowdimuon_line( - name="Hlt2IFT_SMOG2LowDiMuon", + name="Hlt2IFTFull_SMOG2LowDiMuon", prescale=1, persistreco=True, ): @@ -63,7 +63,7 @@ def smog2_lowdimuon_line( @register_line_builder(all_lines) @configurable def smog2_lowdimuon_SS_line( - name="Hlt2IFT_SMOG2LowDiMuonSS", + name="Hlt2IFTFull_SMOG2LowDiMuonSS", prescale=0.2, persistreco=True, ): @@ -89,7 +89,7 @@ def smog2_lowdimuon_SS_line( @register_line_builder(all_lines) @configurable def smog2_Jpsi2mumu_line( - name='Hlt2IFT_SMOG2Jpsi2MuMu', + name='Hlt2IFTFull_SMOG2Jpsi2MuMu', prescale=1, persistreco=True, massWind_Jpsi=_MASSWINDOW_JPSI, @@ -115,7 +115,7 @@ def smog2_Jpsi2mumu_line( @register_line_builder(all_lines) @configurable def smog2_Jpsi2mumu_SS_line( - name="Hlt2IFT_SMOG2Jpsi2MuMuSS", + name="Hlt2IFTFull_SMOG2Jpsi2MuMuSS", prescale=1, persistreco=True, massWind_Jpsi=_MASSWINDOW_JPSI, @@ -142,7 +142,7 @@ def smog2_Jpsi2mumu_SS_line( @register_line_builder(all_lines) @configurable def smog2_Jpsi2mumumtagged_line( - name='Hlt2IFT_SMOG2PIDJpsi2MuMumTagged', + name='Hlt2IFTFull_SMOG2PIDJpsi2MuMumTagged', prescale=1, persistreco=True, massWind_Jpsi=_MASSWINDOW_PIDJPSI, @@ -170,7 +170,7 @@ def smog2_Jpsi2mumumtagged_line( #JpsiToMuMupTagged @register_line_builder(all_lines) @configurable -def smog2_Jpsi2mumuptagged_line(name='Hlt2IFT_SMOG2PIDJpsi2MuMupTagged', +def smog2_Jpsi2mumuptagged_line(name='Hlt2IFTFull_SMOG2PIDJpsi2MuMupTagged', prescale=1, persistreco=True, massWind_Jpsi=_MASSWINDOW_PIDJPSI, @@ -197,7 +197,7 @@ def smog2_Jpsi2mumuptagged_line(name='Hlt2IFT_SMOG2PIDJpsi2MuMupTagged', @register_line_builder(all_lines) @configurable def smog2_Ups2mumu_line( - name='Hlt2IFT_SMOG2Ups2MuMu', + name='Hlt2IFTFull_SMOG2Ups2MuMu', prescale=1, persistreco=True, massWind_Ups=_MASSWINDOW_UPS, @@ -223,7 +223,7 @@ def smog2_Ups2mumu_line( @register_line_builder(all_lines) @configurable def smog2_Ups2mumu_SS_line( - name='Hlt2IFT_SMOG2Ups2MuMuSS', + name='Hlt2IFTFull_SMOG2Ups2MuMuSS', prescale=1, persistreco=True, massWind_Ups=_MASSWINDOW_UPS, @@ -254,7 +254,7 @@ def smog2_Ups2mumu_SS_line( @register_line_builder(all_lines) @configurable -def smog2_DY2mumu_line(name="Hlt2IFT_SMOG2DY2MuMu", +def smog2_DY2mumu_line(name="Hlt2IFTFull_SMOG2DY2MuMu", prescale=1, persistreco=True, minm=2500 * MeV): @@ -274,7 +274,7 @@ def smog2_DY2mumu_line(name="Hlt2IFT_SMOG2DY2MuMu", @register_line_builder(all_lines) @configurable -def smog2_DY2mumu_SS_line(name="Hlt2IFT_SMOG2DY2MuMuSS", +def smog2_DY2mumu_SS_line(name="Hlt2IFTFull_SMOG2DY2MuMuSS", prescale=1, persistreco=True, minm=2500 * MeV): @@ -296,7 +296,7 @@ def smog2_DY2mumu_SS_line(name="Hlt2IFT_SMOG2DY2MuMuSS", @register_line_builder(all_lines) @configurable def smog2_DY2mumuExcludeCCBarLow_line( - name="Hlt2IFT_SMOG2DY2MuMuExcludeCCBarLow", + name="Hlt2IFTFull_SMOG2DY2MuMuExcludeCCBarLow", prescale=1, persistreco=True, massWind_DY=_MASSWINDOW_DY_BELOWJPSI, @@ -322,7 +322,7 @@ def smog2_DY2mumuExcludeCCBarLow_line( @register_line_builder(all_lines) @configurable def smog2_DY2mumuExcludeCCBarIntermediate_line( - name="Hlt2IFT_SMOG2DY2MuMuExcludeCCBarIntermediate", + name="Hlt2IFTFull_SMOG2DY2MuMuExcludeCCBarIntermediate", prescale=1, persistreco=True, massWind_DY=_MASSWINDOW_DY_INTERMEDIATE, @@ -348,7 +348,7 @@ def smog2_DY2mumuExcludeCCBarIntermediate_line( @register_line_builder(all_lines) @configurable def smog2_DY2mumuExcludeCCBarHigh_line( - name="Hlt2IFT_SMOG2DY2MuMuExcludeCCBarHigh", + name="Hlt2IFTFull_SMOG2DY2MuMuExcludeCCBarHigh", prescale=1, persistreco=True, massWind_DY=_MASSWINDOW_DY_ABOVEPSI2S, diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2_omegas.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2_omegas.py index d583c0d805d..a22efa50ac9 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2_omegas.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2_omegas.py @@ -34,6 +34,8 @@ all_lines = {} _MASSWINDOW_LAMBDA0 = [(1115.683 - 25) * MeV, (1115.683 + 25) * MeV] _MASSWINDOW_OMEGA = [(1672 - 25) * MeV, (1672 + 25) * MeV] +hlt1_filter_lambda = ["Hlt1SMOG2L0ToppiDecision"] + ################################################################# ################################################################# ################### CHARGED PID LINES ######################### @@ -44,7 +46,7 @@ _MASSWINDOW_OMEGA = [(1672 - 25) * MeV, (1672 + 25) * MeV] @register_line_builder(all_lines) @configurable def smog2_omega2lambdak_lll_line( - name="Hlt2IFT_SMOG2Omega2Lambda0K_lll", + name="Hlt2IFTFull_SMOG2Omega2Lambda0K_lll", prescale=1, persistreco=True, min_p=2 * GeV, @@ -90,6 +92,7 @@ def smog2_omega2lambdak_lll_line( return Hlt2Line( name=name, algs=make_smog2_prefilters(pvs=pvs) + [omega2Lambda0Ks], + hlt1_filter_code=hlt1_filter_lambda, prescale=prescale, persistreco=persistreco, ) @@ -98,7 +101,7 @@ def smog2_omega2lambdak_lll_line( @register_line_builder(all_lines) @configurable def smog2_omega2lambdak_ddl_line( - name="Hlt2IFT_SMOG2Omega2Lambda0K_ddl", + name="Hlt2IFTFull_SMOG2Omega2Lambda0K_ddl", prescale=1, persistreco=True, min_p=2 * GeV, @@ -156,7 +159,7 @@ def smog2_omega2lambdak_ddl_line( @register_line_builder(all_lines) @configurable def smog2_omega2lambdak_ddd_line( - name="Hlt2IFT_SMOG2Omega2Lambda0K_ddd", + name="Hlt2IFTFull_SMOG2Omega2Lambda0K_ddd", prescale=1, persistreco=True, min_p=2 * GeV, diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2_trackingeff.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2_trackingeff.py index 51c09510800..514d93b9948 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2_trackingeff.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2_trackingeff.py @@ -82,7 +82,7 @@ def make_JPsiCombiner(particles, pvs, probe_charge, get_cuts, - name='Hlt2IFT_SMOG2TrackEff_Jpsi_{hash}'): + name='Hlt2IFTFull_SMOG2TrackEff_Jpsi_{hash}'): #upper JPsi DOCA combination_cut = F.require_all( in_range(get_cuts['min_JPsimass'], F.MASS, get_cuts['max_JPsimass']), @@ -116,7 +116,7 @@ def make_TagFilter(particles, pvs, probe_charge, get_cuts, - name='Hlt2IFT_SMOG2TrackEff_TagTrack_{hash}'): + name='Hlt2IFTFull_SMOG2TrackEff_TagTrack_{hash}'): code = F.require_all( (F.CHARGE < 0) if probe_charge == 1 else (F.CHARGE > 0), F.CHI2DOF < get_cuts['max_TagTrChi2'], @@ -135,7 +135,7 @@ def make_ProbeFilter(particles, pvs, probe_charge, get_cuts, - name='Hlt2IFT_SMOG2TrackEff_ProbeTrack_{hash}'): + name='Hlt2IFTFull_SMOG2TrackEff_ProbeTrack_{hash}'): code = F.require_all( (F.CHARGE > 0) if probe_charge == 1 else (F.CHARGE < 0), F.CHI2DOF < get_cuts['max_ProbeTrChi2'], @@ -202,8 +202,8 @@ for line, get_cuts, myparticles in zip(['VeloMuon', 'SeedMuon'], @register_line_builder(all_lines) @configurable - def LineWithTagging(name="Hlt2IFT_SMOG2TrackEff_DiMuon_" + line + "_" + - mu + "_Tag", + def LineWithTagging(name="Hlt2IFTFull_SMOG2TrackEff_DiMuon_" + line + + "_" + mu + "_Tag", prescale=1, persistreco=True, probe_charge=charge, @@ -214,8 +214,8 @@ for line, get_cuts, myparticles in zip(['VeloMuon', 'SeedMuon'], @register_line_builder(all_lines) @configurable - def LineWithMatching(name="Hlt2IFT_SMOG2TrackEff_DiMuon_" + line + "_" - + mu + "_Match", + def LineWithMatching(name="Hlt2IFTFull_SMOG2TrackEff_DiMuon_" + line + + "_" + mu + "_Match", prescale=1, persistreco=True, probe_charge=charge, diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2_trackingeff_Ks.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2_trackingeff_Ks.py index 882f26e47be..451b514d43f 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2_trackingeff_Ks.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2_trackingeff_Ks.py @@ -118,7 +118,7 @@ from PyConf.Algorithms import KSLongVeloFilter @register_line_builder(all_lines) @configurable -def kshort_velo_long_line_low(name="Hlt2IFT_SMOG2KshortVeloLong_LowPT", +def kshort_velo_long_line_low(name="Hlt2IFTFull_SMOG2KshortVeloLong_LowPT", prescale=0.01): pions = filter_pions(make_long_pions(), make_pvs, pt_min=0.5 * GeV) @@ -148,8 +148,8 @@ def kshort_velo_long_line_low(name="Hlt2IFT_SMOG2KshortVeloLong_LowPT", @register_line_builder(all_lines) @configurable -def kshort_velo_long_line_high(name="Hlt2IFT_SMOG2KshortVeloLong_HighPT", - prescale=0.1): +def kshort_velo_long_line_high(name="Hlt2IFTFull_SMOG2KshortVeloLong_HighPT", + prescale=0.2): pions = filter_pions(make_long_pions(), make_pvs, pt_min=0.5 * GeV) muonsVelo = filter_particles_velo(make_velo_muons(), make_pvs) kshorts = make_kshort_pi_muplus( @@ -162,7 +162,7 @@ def kshort_velo_long_line_high(name="Hlt2IFT_SMOG2KshortVeloLong_HighPT", PVConstrainedMassMin=350., PVConstrainedMassMax=625., PVConstrainedProbePtMin=1500., - PVConstrainedProbePtMax=3000., + PVConstrainedProbePtMax=4000., IPperpendicularMax=0.007, IPMax=0.8, name="TrackEffFilter_{hash}", @@ -179,7 +179,7 @@ def kshort_velo_long_line_high(name="Hlt2IFT_SMOG2KshortVeloLong_HighPT", @register_line_builder(all_lines) @configurable def kshort_velo_long_line_veryhigh( - name="Hlt2IFT_SMOG2KshortVeloLong_VeryHighPT", prescale=1): + name="Hlt2IFTFull_SMOG2KshortVeloLong_VeryHighPT", prescale=1): pions = filter_pions(make_long_pions(), make_pvs, pt_min=0.5 * GeV) muonsVelo = filter_particles_velo(make_velo_muons(), make_pvs) kshorts = make_kshort_pi_muplus( @@ -191,7 +191,7 @@ def kshort_velo_long_line_veryhigh( InputPVs=make_pvs(), PVConstrainedMassMin=350., PVConstrainedMassMax=625., - PVConstrainedProbePtMin=3000., + PVConstrainedProbePtMin=4000., IPperpendicularMax=0.007, IPMax=0.8, name="TrackEffFilter_{hash}", diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2_xis.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2_xis.py index 63e9249d585..6cd884c581a 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2_xis.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2_xis.py @@ -33,6 +33,8 @@ all_lines = {} _MASSWINDOW_LAMBDA0 = [(1115.683 - 25) * MeV, (1115.683 + 25) * MeV] _MASSWINDOW_XI = [(1321.71 - 25) * MeV, (1321.71 + 25) * MeV] +hlt1_filter_lambda = ["Hlt1SMOG2L0ToppiDecision"] + ################################################################# ################################################################# ################### CHARGED PID LINES ######################### @@ -43,7 +45,7 @@ _MASSWINDOW_XI = [(1321.71 - 25) * MeV, (1321.71 + 25) * MeV] @register_line_builder(all_lines) @configurable def smog2_xi2lambda0pi_lll_line( - name="Hlt2IFT_SMOG2Xi2Lambda0pi_lll", + name="Hlt2IFTFull_SMOG2Xi2Lambda0pi_lll", prescale=1, persistreco=True, min_p=2 * GeV, @@ -89,6 +91,7 @@ def smog2_xi2lambda0pi_lll_line( return Hlt2Line( name=name, algs=make_smog2_prefilters(pvs=pvs) + [xi2Lambda0pi], + hlt1_filter_code=hlt1_filter_lambda, prescale=prescale, persistreco=persistreco, ) @@ -97,7 +100,7 @@ def smog2_xi2lambda0pi_lll_line( @register_line_builder(all_lines) @configurable def smog2_xi2lambda0pi_ddl_line( - name="Hlt2IFT_SMOG2Xi2Lambda0pi_ddl", + name="Hlt2IFTFull_SMOG2Xi2Lambda0pi_ddl", prescale=1, persistreco=True, min_p=2 * GeV, @@ -156,7 +159,7 @@ def smog2_xi2lambda0pi_ddl_line( @register_line_builder(all_lines) @configurable def smog2_xi2lambda0pi_ddd_line( - name="Hlt2IFT_SMOG2Xi2Lambda0pi_ddd", + name="Hlt2IFTFull_SMOG2Xi2Lambda0pi_ddd", prescale=1, persistreco=True, min_p=2 * GeV, -- GitLab From e2978510cb00ab9ebf760dc2e19af6bc56c94c21 Mon Sep 17 00:00:00 2001 From: Kang Yang Date: Thu, 11 Apr 2024 21:21:40 +0200 Subject: [PATCH 13/51] B2OC: removed the F.CHI2DOF cut in make_bmeson_neutral_adder --- .../Hlt2Conf/lines/b_to_open_charm/builders/b_builder.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/builders/b_builder.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/builders/b_builder.py index 2d546b99d6b..ae84c971e40 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/builders/b_builder.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/builders/b_builder.py @@ -1033,7 +1033,6 @@ def make_bmeson_neutral_adder(particles, am_min_vtx=4700 * MeV, am_max_vtx=5800 * MeV, sum_pt_min=4 * GeV, - vtx_chi2pdof_max=9., bpvipchi2_max=9.): combination_code = require_all( @@ -1041,7 +1040,7 @@ def make_bmeson_neutral_adder(particles, F.SUM(F.PT) > sum_pt_min) pvs = make_pvs() vertex_code = require_all( - in_range(am_min_vtx, F.MASS, am_max_vtx), F.CHI2DOF < vtx_chi2pdof_max, + in_range(am_min_vtx, F.MASS, am_max_vtx), F.BPVIPCHI2(pvs) < bpvipchi2_max) return ParticleCombiner( -- GitLab From 3b82adf0ebb583790e1f8f03f102a5187d994aa5 Mon Sep 17 00:00:00 2001 From: Luke Grazette Date: Fri, 12 Apr 2024 12:54:47 +0200 Subject: [PATCH 14/51] [RTADPA BW Tests] Follow https://gitlab.cern.ch/lhcb/Allen/-/merge_requests/1508 to better approximate v2 of BW Division --- .../options/bandwidth/hlt1_bandwidth_streamless_streams.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Hlt/Hlt1Conf/tests/options/bandwidth/hlt1_bandwidth_streamless_streams.py b/Hlt/Hlt1Conf/tests/options/bandwidth/hlt1_bandwidth_streamless_streams.py index 62b6edd5971..b8beb5e99ab 100644 --- a/Hlt/Hlt1Conf/tests/options/bandwidth/hlt1_bandwidth_streamless_streams.py +++ b/Hlt/Hlt1Conf/tests/options/bandwidth/hlt1_bandwidth_streamless_streams.py @@ -39,7 +39,8 @@ if UseDD4Hep: DDDBConf().GeometryVersion = 'run3/before-rich1-geom-update-26052022' config = configure_input(options) -with (allen_gaudi_config.bind(sequence="hlt1_pp_forward_then_matching_no_ut"), +#choice of sequence from https://mattermost.web.cern.ch/lhcb/pl/ewxcgeppm7gxdejdcsm6ko6xky +with (allen_gaudi_config.bind(sequence="hlt1_pp_matching_no_ut_1000KHz"), allen_runtime_options.bind( filename="allen_write_hlt1_bandwidth_test_monitor.root")): line_names = get_allen_line_names() -- GitLab From d492022fe57181f69e7fcbf0c706233a5007b061 Mon Sep 17 00:00:00 2001 From: RefBot Date: Fri, 12 Apr 2024 14:43:04 +0200 Subject: [PATCH 15/51] Update References for: Moore!3210 based on lhcb-2024-patches-mr/35 --- ...ggers_on_example_b2jpsik_lines.ref.detdesc | 130 +++++++++--------- ...le_b2jpsik_lines.ref.x86_64_v3-detdesc-opt | 130 +++++++++--------- ...er_on_example_bs2jpsiphi_lines.ref.detdesc | 28 ++-- ...bs2jpsiphi_lines.ref.x86_64_v3-detdesc-opt | 28 ++-- ..._rec_hlt1_reco_velo_only.ref.x86_64_v3-opt | 2 +- 5 files changed, 159 insertions(+), 159 deletions(-) diff --git a/Hlt/Hlt2Conf/tests/refs/hlt2_flavour_taggers_on_example_b2jpsik_lines.ref.detdesc b/Hlt/Hlt2Conf/tests/refs/hlt2_flavour_taggers_on_example_b2jpsik_lines.ref.detdesc index b6b4d98f42a..bec6e393712 100644 --- a/Hlt/Hlt2Conf/tests/refs/hlt2_flavour_taggers_on_example_b2jpsik_lines.ref.detdesc +++ b/Hlt/Hlt2Conf/tests/refs/hlt2_flavour_taggers_on_example_b2jpsik_lines.ref.detdesc @@ -1,9 +1,9 @@ CopyInputStream_c1301adb INFO Events output: 28 GraphClustering_72971694 INFO Built <218.04> graph calo clustering clusters/event -Run2OSVertexChargeTagger_de65865... SUCCESS #WARNINGS = 2 Message = 'No convergency has been reached' -Run2OSVertexChargeTagger_de65865... SUCCESS #WARNINGS = 2 Message = '_iterate_opt: No convergency has been reached' -Run2OSVertexChargeTagger_de65865... SUCCESS #WARNINGS = 2 Message = 'fit(): failure from _iterate()' -Run2OSVertexChargeTagger_de65865... SUCCESS Exceptions/Errors/Warnings/Infos Statistics : 0/0/3/0 +Run2OSVertexChargeTagger_5ca20f0... SUCCESS #WARNINGS = 2 Message = 'No convergency has been reached' +Run2OSVertexChargeTagger_5ca20f0... SUCCESS #WARNINGS = 2 Message = '_iterate_opt: No convergency has been reached' +Run2OSVertexChargeTagger_5ca20f0... SUCCESS #WARNINGS = 2 Message = 'fit(): failure from _iterate()' +Run2OSVertexChargeTagger_5ca20f0... SUCCESS Exceptions/Errors/Warnings/Infos Statistics : 0/0/3/0 ApplicationMgr INFO Application Manager Finalized successfully ApplicationMgr INFO Application Manager Terminated successfully AdvancedCloneKiller_434996fd INFO Number of counters : 2 @@ -129,14 +129,14 @@ CloneKillerForward_6229b651 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "nTracksInput" | 100 | 9078 | 90.780 | | "nTracksSelected" | 100 | 1499 | 14.990 | -FlavourTagsMerger_4c3c4dfe INFO Number of counters : 2 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#BCandidates" | 28 | 28 | 1.0000 | - | "#FlavourTags" | 28 | 168 | 6.0000 | -FlavourTagsMerger_82b3cb0c INFO Number of counters : 2 +FlavourTagsMerger_8d419a86 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#BCandidates" | 3 | 3 | 1.0000 | | "#FlavourTags" | 3 | 18 | 6.0000 | +FlavourTagsMerger_a21680e5 INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#BCandidates" | 28 | 28 | 1.0000 | + | "#FlavourTags" | 28 | 168 | 6.0000 | FunctionalParticleMaker_2ff3f10f INFO Number of counters : 5 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"# passed" | 100 | 100 |( 100.0000 +- 0.000000)% | @@ -439,96 +439,83 @@ PrTrackAssociator_2021382a INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"Efficiency" | 2551 | 2136 |( 83.73187 +- 0.7307334)% | | "MC particles per track" | 2136 | 2532 | 1.1854 | -Run2OSElectronTagger_c3f6361a INFO Number of counters : 3 +Run2OSElectronTagger_981ad0bd INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#BCandidates" | 3 | 3 | 1.0000 | + | "#taggingElectrons" | 3 | 0 | 0.0000 | +Run2OSElectronTagger_b50e23a2 INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#BCandidates" | 28 | 28 | 1.0000 | |*"#goodFlavourTags" | 1 | 0 |( 0.000000 +- 0.000000)% | | "#taggingElectrons" | 28 | 1 | 0.035714 | -Run2OSElectronTagger_cf7e3532 INFO Number of counters : 2 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#BCandidates" | 3 | 3 | 1.0000 | - | "#taggingElectrons" | 3 | 0 | 0.0000 | -Run2OSKaonTagger_279ff36e INFO Number of counters : 3 +Run2OSKaonTagger_b1ee0274 INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#BCandidates" | 3 | 3 | 1.0000 | |*"#goodFlavourTags" | 3 | 0 |( 0.000000 +- 0.000000)% | | "#taggingKaons" | 3 | 129 | 43.000 | -Run2OSKaonTagger_5e6a5366 INFO Number of counters : 3 +Run2OSKaonTagger_e111b7df INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#BCandidates" | 28 | 28 | 1.0000 | |*"#goodFlavourTags" | 28 | 0 |( 0.000000 +- 0.000000)% | | "#taggingKaons" | 28 | 1365 | 48.750 | -Run2OSMuonTagger_851750c8 INFO Number of counters : 3 +Run2OSMuonTagger_4e90f0ed INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#BCandidates" | 3 | 3 | 1.0000 | | "#goodFlavourTags" | 3 | 0 | 0.0000 | | "#taggingKaons" | 3 | 9 | 3.0000 | -Run2OSMuonTagger_dccb9172 INFO Number of counters : 3 +Run2OSMuonTagger_a95a9b72 INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#BCandidates" | 28 | 28 | 1.0000 | | "#goodFlavourTags" | 28 | 0 | 0.0000 | | "#taggingKaons" | 28 | 74 | 2.6429 | -Run2OSVertexChargeTagger_764a20a8 INFO Number of counters : 3 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#BCandidates" | 3 | 3 | 1.0000 | - |*"#goodFlavourTags" | 3 | 3 |( 100.0000 +- 0.000000)% | - | "#taggingParticles" | 3 | 193 | 64.333 | -Run2OSVertexChargeTagger_764a20a... INFO Number of counters : 1 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "distance(p,p): the same particle" | 6 | -Run2OSVertexChargeTagger_764a20a... INFO Number of counters : 3 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#iterations/1" | 1264 | 2121 | 1.6780 | 0.46893 | 1.0000 | 3.0000 | - | "#iterations/2" | 861 | 1727 | 2.0058 | 0.10207 | 2.0000 | 4.0000 | - | "#iterations/Opt" | 1269 | 866 | 0.68243 | 0.47723 | 0.0000 | 3.0000 | -Run2OSVertexChargeTagger_de65865e INFO Number of counters : 3 +Run2OSVertexChargeTagger_5ca20f08 INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#BCandidates" | 28 | 28 | 1.0000 | |*"#goodFlavourTags" | 28 | 13 |( 46.42857 +- 9.424976)% | | "#taggingParticles" | 28 | 2002 | 71.500 | -Run2OSVertexChargeTagger_de65865... INFO Number of counters : 1 +Run2OSVertexChargeTagger_5ca20f0... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "distance(p,p): the same particle" | 56 | -Run2OSVertexChargeTagger_de65865... INFO Number of counters : 4 +Run2OSVertexChargeTagger_5ca20f0... INFO Number of counters : 4 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#iterations/1" | 11753 | 20096 | 1.7099 | 0.45960 | 1.0000 | 5.0000 | | "#iterations/2" | 8364 | 16774 | 2.0055 | 0.087302 | 2.0000 | 5.0000 | | "#iterations/Opt" | 11801 | 8410 | 0.71265 | 0.46271 | 0.0000 | 4.0000 | | "Seed:case(3)" | 2 | -Run2SSPionTagger_3a676383 INFO Number of counters : 3 +Run2OSVertexChargeTagger_9fcd6a04 INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#BCandidates" | 3 | 3 | 1.0000 | - |*"#goodFlavourTags" | 3 | 2 |( 66.66667 +- 27.21655)% | - | "#taggingPions" | 3 | 84 | 28.000 | -Run2SSPionTagger_3a676383.Taggin... INFO Number of counters : 3 + |*"#goodFlavourTags" | 3 | 3 |( 100.0000 +- 0.000000)% | + | "#taggingParticles" | 3 | 193 | 64.333 | +Run2OSVertexChargeTagger_9fcd6a0... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#iterations/1" | 4 | 5 | 1.2500 | 0.43301 | 1.0000 | 2.0000 | - | "#iterations/2" | 1 | 2 | 2.0000 | 0.0000 | 2.0000 | 2.0000 | - | "#iterations/Opt" | 4 | 1 | 0.25000 | 0.43301 | 0.0000 | 1.0000 | -Run2SSPionTagger_df3263b3 INFO Number of counters : 3 + | "distance(p,p): the same particle" | 6 | +Run2OSVertexChargeTagger_9fcd6a0... INFO Number of counters : 3 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#iterations/1" | 1264 | 2121 | 1.6780 | 0.46893 | 1.0000 | 3.0000 | + | "#iterations/2" | 861 | 1727 | 2.0058 | 0.10207 | 2.0000 | 4.0000 | + | "#iterations/Opt" | 1269 | 866 | 0.68243 | 0.47723 | 0.0000 | 3.0000 | +Run2SSPionTagger_e4895bac INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#BCandidates" | 28 | 28 | 1.0000 | |*"#goodFlavourTags" | 28 | 17 |( 60.71429 +- 9.229619)% | | "#taggingPions" | 28 | 850 | 30.357 | -Run2SSPionTagger_df3263b3.Taggin... INFO Number of counters : 3 +Run2SSPionTagger_e4895bac.Taggin... INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#iterations/1" | 28 | 32 | 1.1429 | 0.34993 | 1.0000 | 2.0000 | | "#iterations/2" | 4 | 8 | 2.0000 | 0.0000 | 2.0000 | 2.0000 | | "#iterations/Opt" | 28 | 4 | 0.14286 | 0.34993 | 0.0000 | 1.0000 | -Run2SSProtonTagger_391c60e0 INFO Number of counters : 6 +Run2SSPionTagger_f601f3ec INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#BCandidates" | 28 | 28 | 1.0000 | - | "#BCandidates2" | 28 | 28 | 1.0000 | - | "#allFlavourTags" | 28 | 28 | 1.0000 | - |*"#goodFlavourTags" | 28 | 15 |( 53.57143 +- 9.424976)% | - | "#no tagresult" | 13 | 13 | 1.0000 | - | "#taggingProtons" | 28 | 350 | 12.500 | -Run2SSProtonTagger_391c60e0.Tagg... INFO Number of counters : 3 + | "#BCandidates" | 3 | 3 | 1.0000 | + |*"#goodFlavourTags" | 3 | 2 |( 66.66667 +- 27.21655)% | + | "#taggingPions" | 3 | 84 | 28.000 | +Run2SSPionTagger_f601f3ec.Taggin... INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#iterations/1" | 29 | 39 | 1.3448 | 0.70837 | 1.0000 | 4.0000 | - | "#iterations/2" | 12 | 29 | 2.4167 | 0.75920 | 2.0000 | 4.0000 | - | "#iterations/Opt" | 34 | 17 | 0.50000 | 0.81349 | 0.0000 | 3.0000 | -Run2SSProtonTagger_4afabbc1 INFO Number of counters : 6 + | "#iterations/1" | 4 | 5 | 1.2500 | 0.43301 | 1.0000 | 2.0000 | + | "#iterations/2" | 1 | 2 | 2.0000 | 0.0000 | 2.0000 | 2.0000 | + | "#iterations/Opt" | 4 | 1 | 0.25000 | 0.43301 | 0.0000 | 1.0000 | +Run2SSProtonTagger_7f0e2b47 INFO Number of counters : 6 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#BCandidates" | 3 | 3 | 1.0000 | | "#BCandidates2" | 3 | 3 | 1.0000 | @@ -536,11 +523,24 @@ Run2SSProtonTagger_4afabbc1 INFO Number of counters : 6 |*"#goodFlavourTags" | 3 | 2 |( 66.66667 +- 27.21655)% | | "#no tagresult" | 1 | 1 | 1.0000 | | "#taggingProtons" | 3 | 39 | 13.000 | -Run2SSProtonTagger_4afabbc1.Tagg... INFO Number of counters : 3 +Run2SSProtonTagger_7f0e2b47.Tagg... INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#iterations/1" | 3 | 5 | 1.6667 | 0.94281 | 1.0000 | 3.0000 | | "#iterations/2" | 2 | 5 | 2.5000 | 0.50000 | 2.0000 | 3.0000 | | "#iterations/Opt" | 4 | 3 | 0.75000 | 0.82916 | 0.0000 | 2.0000 | +Run2SSProtonTagger_bae2c368 INFO Number of counters : 6 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#BCandidates" | 28 | 28 | 1.0000 | + | "#BCandidates2" | 28 | 28 | 1.0000 | + | "#allFlavourTags" | 28 | 28 | 1.0000 | + |*"#goodFlavourTags" | 28 | 15 |( 53.57143 +- 9.424976)% | + | "#no tagresult" | 13 | 13 | 1.0000 | + | "#taggingProtons" | 28 | 350 | 12.500 | +Run2SSProtonTagger_bae2c368.Tagg... INFO Number of counters : 3 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#iterations/1" | 29 | 39 | 1.3448 | 0.70837 | 1.0000 | 4.0000 | + | "#iterations/2" | 12 | 29 | 2.4167 | 0.75920 | 2.0000 | 4.0000 | + | "#iterations/Opt" | 34 | 17 | 0.50000 | 0.81349 | 0.0000 | 3.0000 | SelectHlt1HltDecReports INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"Number of selected banks" | 28 | 0 |( 0.000000 +- 0.000000)% | @@ -572,25 +572,25 @@ VeloClusterTrackingSIMD_87c18651 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Nb of Produced Clusters" | 100 | 255452 | 2554.5 | | "Nb of Produced Tracks" | 100 | 28368 | 283.68 | -bandq_b_hadron_88c90af0 INFO Number of counters : 7 +bandq_b_hadron_b7d5f974 INFO Number of counters : 8 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"# passed" | 100 | 3 |( 3.000000 +- 1.705872)% | + |*"# passed" | 100 | 28 |( 28.00000 +- 4.489989)% | |*"# passed CombinationCut" | 418 | 54 |( 12.91866 +- 1.640526)% | - |*"# passed CompositeCut" | 54 | 3 |( 5.555556 +- 3.117131)% | + |*"# passed CompositeCut" | 54 | 28 |( 51.85185 +- 6.799470)% | |*"# passed vertex fit" | 54 | 54 |( 100.0000 +- 0.000000)% | | "Input1 size" | 100 | 51 | 0.51000 | | "Input2 size" | 100 | 821 | 8.2100 | - | "candidate multiplicity" | 100 | 3 | 0.030000 | 0.17059 | 0.0000 | 1.0000 | -bandq_b_hadron_9ee3a731 INFO Number of counters : 8 + | "Lifetime fit did not converge. Aborting." | 4 | + | "candidate multiplicity" | 100 | 28 | 0.28000 | 0.44900 | 0.0000 | 1.0000 | +bandq_b_hadron_fb6b3ead INFO Number of counters : 7 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"# passed" | 100 | 28 |( 28.00000 +- 4.489989)% | + |*"# passed" | 100 | 3 |( 3.000000 +- 1.705872)% | |*"# passed CombinationCut" | 418 | 54 |( 12.91866 +- 1.640526)% | - |*"# passed CompositeCut" | 54 | 28 |( 51.85185 +- 6.799470)% | + |*"# passed CompositeCut" | 54 | 3 |( 5.555556 +- 3.117131)% | |*"# passed vertex fit" | 54 | 54 |( 100.0000 +- 0.000000)% | | "Input1 size" | 100 | 51 | 0.51000 | | "Input2 size" | 100 | 821 | 8.2100 | - | "Lifetime fit did not converge. Aborting." | 4 | - | "candidate multiplicity" | 100 | 28 | 0.28000 | 0.44900 | 0.0000 | 1.0000 | + | "candidate multiplicity" | 100 | 3 | 0.030000 | 0.17059 | 0.0000 | 1.0000 | bandq_detached_kaons_dc896bc4 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"#passed" | 100 | 99 |( 99.00000 +- 0.9949874)% | diff --git a/Hlt/Hlt2Conf/tests/refs/hlt2_flavour_taggers_on_example_b2jpsik_lines.ref.x86_64_v3-detdesc-opt b/Hlt/Hlt2Conf/tests/refs/hlt2_flavour_taggers_on_example_b2jpsik_lines.ref.x86_64_v3-detdesc-opt index 0ec4987436e..aad041f00c9 100644 --- a/Hlt/Hlt2Conf/tests/refs/hlt2_flavour_taggers_on_example_b2jpsik_lines.ref.x86_64_v3-detdesc-opt +++ b/Hlt/Hlt2Conf/tests/refs/hlt2_flavour_taggers_on_example_b2jpsik_lines.ref.x86_64_v3-detdesc-opt @@ -1,9 +1,9 @@ CopyInputStream_c1301adb INFO Events output: 28 GraphClustering_72971694 INFO Built <218.04> graph calo clustering clusters/event -Run2OSVertexChargeTagger_de65865... SUCCESS #WARNINGS = 2 Message = 'No convergency has been reached' -Run2OSVertexChargeTagger_de65865... SUCCESS #WARNINGS = 2 Message = '_iterate_opt: No convergency has been reached' -Run2OSVertexChargeTagger_de65865... SUCCESS #WARNINGS = 2 Message = 'fit(): failure from _iterate()' -Run2OSVertexChargeTagger_de65865... SUCCESS Exceptions/Errors/Warnings/Infos Statistics : 0/0/3/0 +Run2OSVertexChargeTagger_5ca20f0... SUCCESS #WARNINGS = 2 Message = 'No convergency has been reached' +Run2OSVertexChargeTagger_5ca20f0... SUCCESS #WARNINGS = 2 Message = '_iterate_opt: No convergency has been reached' +Run2OSVertexChargeTagger_5ca20f0... SUCCESS #WARNINGS = 2 Message = 'fit(): failure from _iterate()' +Run2OSVertexChargeTagger_5ca20f0... SUCCESS Exceptions/Errors/Warnings/Infos Statistics : 0/0/3/0 ApplicationMgr INFO Application Manager Finalized successfully ApplicationMgr INFO Application Manager Terminated successfully AdvancedCloneKiller_434996fd INFO Number of counters : 2 @@ -129,14 +129,14 @@ CloneKillerForward_6229b651 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "nTracksInput" | 100 | 9075 | 90.750 | | "nTracksSelected" | 100 | 1500 | 15.000 | -FlavourTagsMerger_4c3c4dfe INFO Number of counters : 2 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#BCandidates" | 28 | 28 | 1.0000 | - | "#FlavourTags" | 28 | 168 | 6.0000 | -FlavourTagsMerger_82b3cb0c INFO Number of counters : 2 +FlavourTagsMerger_8d419a86 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#BCandidates" | 3 | 3 | 1.0000 | | "#FlavourTags" | 3 | 18 | 6.0000 | +FlavourTagsMerger_a21680e5 INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#BCandidates" | 28 | 28 | 1.0000 | + | "#FlavourTags" | 28 | 168 | 6.0000 | FunctionalParticleMaker_2ff3f10f INFO Number of counters : 5 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"# passed" | 100 | 100 |( 100.0000 +- 0.000000)% | @@ -439,96 +439,83 @@ PrTrackAssociator_2021382a INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"Efficiency" | 2548 | 2138 |( 83.90895 +- 0.7279418)% | | "MC particles per track" | 2138 | 2531 | 1.1838 | -Run2OSElectronTagger_c3f6361a INFO Number of counters : 3 +Run2OSElectronTagger_981ad0bd INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#BCandidates" | 3 | 3 | 1.0000 | + | "#taggingElectrons" | 3 | 0 | 0.0000 | +Run2OSElectronTagger_b50e23a2 INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#BCandidates" | 28 | 28 | 1.0000 | |*"#goodFlavourTags" | 1 | 0 |( 0.000000 +- 0.000000)% | | "#taggingElectrons" | 28 | 1 | 0.035714 | -Run2OSElectronTagger_cf7e3532 INFO Number of counters : 2 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#BCandidates" | 3 | 3 | 1.0000 | - | "#taggingElectrons" | 3 | 0 | 0.0000 | -Run2OSKaonTagger_279ff36e INFO Number of counters : 3 +Run2OSKaonTagger_b1ee0274 INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#BCandidates" | 3 | 3 | 1.0000 | |*"#goodFlavourTags" | 3 | 0 |( 0.000000 +- 0.000000)% | | "#taggingKaons" | 3 | 129 | 43.000 | -Run2OSKaonTagger_5e6a5366 INFO Number of counters : 3 +Run2OSKaonTagger_e111b7df INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#BCandidates" | 28 | 28 | 1.0000 | |*"#goodFlavourTags" | 28 | 0 |( 0.000000 +- 0.000000)% | | "#taggingKaons" | 28 | 1366 | 48.786 | -Run2OSMuonTagger_851750c8 INFO Number of counters : 3 +Run2OSMuonTagger_4e90f0ed INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#BCandidates" | 3 | 3 | 1.0000 | | "#goodFlavourTags" | 3 | 0 | 0.0000 | | "#taggingKaons" | 3 | 9 | 3.0000 | -Run2OSMuonTagger_dccb9172 INFO Number of counters : 3 +Run2OSMuonTagger_a95a9b72 INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#BCandidates" | 28 | 28 | 1.0000 | | "#goodFlavourTags" | 28 | 0 | 0.0000 | | "#taggingKaons" | 28 | 74 | 2.6429 | -Run2OSVertexChargeTagger_764a20a8 INFO Number of counters : 3 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#BCandidates" | 3 | 3 | 1.0000 | - |*"#goodFlavourTags" | 3 | 3 |( 100.0000 +- 0.000000)% | - | "#taggingParticles" | 3 | 193 | 64.333 | -Run2OSVertexChargeTagger_764a20a... INFO Number of counters : 1 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "distance(p,p): the same particle" | 6 | -Run2OSVertexChargeTagger_764a20a... INFO Number of counters : 3 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#iterations/1" | 1285 | 2167 | 1.6864 | 0.46564 | 1.0000 | 3.0000 | - | "#iterations/2" | 886 | 1777 | 2.0056 | 0.10063 | 2.0000 | 4.0000 | - | "#iterations/Opt" | 1290 | 891 | 0.69070 | 0.47380 | 0.0000 | 3.0000 | -Run2OSVertexChargeTagger_de65865e INFO Number of counters : 3 +Run2OSVertexChargeTagger_5ca20f08 INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#BCandidates" | 28 | 28 | 1.0000 | |*"#goodFlavourTags" | 28 | 13 |( 46.42857 +- 9.424976)% | | "#taggingParticles" | 28 | 2004 | 71.571 | -Run2OSVertexChargeTagger_de65865... INFO Number of counters : 1 +Run2OSVertexChargeTagger_5ca20f0... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "distance(p,p): the same particle" | 56 | -Run2OSVertexChargeTagger_de65865... INFO Number of counters : 4 +Run2OSVertexChargeTagger_5ca20f0... INFO Number of counters : 4 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#iterations/1" | 11773 | 20145 | 1.7111 | 0.45902 | 1.0000 | 5.0000 | | "#iterations/2" | 8394 | 16834 | 2.0055 | 0.087146 | 2.0000 | 5.0000 | | "#iterations/Opt" | 11822 | 8440 | 0.71392 | 0.46211 | 0.0000 | 4.0000 | | "Seed:case(3)" | 2 | -Run2SSPionTagger_3a676383 INFO Number of counters : 3 +Run2OSVertexChargeTagger_9fcd6a04 INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#BCandidates" | 3 | 3 | 1.0000 | - |*"#goodFlavourTags" | 3 | 2 |( 66.66667 +- 27.21655)% | - | "#taggingPions" | 3 | 85 | 28.333 | -Run2SSPionTagger_3a676383.Taggin... INFO Number of counters : 3 + |*"#goodFlavourTags" | 3 | 3 |( 100.0000 +- 0.000000)% | + | "#taggingParticles" | 3 | 193 | 64.333 | +Run2OSVertexChargeTagger_9fcd6a0... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#iterations/1" | 4 | 5 | 1.2500 | 0.43301 | 1.0000 | 2.0000 | - | "#iterations/2" | 1 | 2 | 2.0000 | 0.0000 | 2.0000 | 2.0000 | - | "#iterations/Opt" | 4 | 1 | 0.25000 | 0.43301 | 0.0000 | 1.0000 | -Run2SSPionTagger_df3263b3 INFO Number of counters : 3 + | "distance(p,p): the same particle" | 6 | +Run2OSVertexChargeTagger_9fcd6a0... INFO Number of counters : 3 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#iterations/1" | 1285 | 2167 | 1.6864 | 0.46564 | 1.0000 | 3.0000 | + | "#iterations/2" | 886 | 1777 | 2.0056 | 0.10063 | 2.0000 | 4.0000 | + | "#iterations/Opt" | 1290 | 891 | 0.69070 | 0.47380 | 0.0000 | 3.0000 | +Run2SSPionTagger_e4895bac INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#BCandidates" | 28 | 28 | 1.0000 | |*"#goodFlavourTags" | 28 | 17 |( 60.71429 +- 9.229619)% | | "#taggingPions" | 28 | 848 | 30.286 | -Run2SSPionTagger_df3263b3.Taggin... INFO Number of counters : 3 +Run2SSPionTagger_e4895bac.Taggin... INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#iterations/1" | 28 | 32 | 1.1429 | 0.34993 | 1.0000 | 2.0000 | | "#iterations/2" | 4 | 8 | 2.0000 | 0.0000 | 2.0000 | 2.0000 | | "#iterations/Opt" | 28 | 4 | 0.14286 | 0.34993 | 0.0000 | 1.0000 | -Run2SSProtonTagger_391c60e0 INFO Number of counters : 6 +Run2SSPionTagger_f601f3ec INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#BCandidates" | 28 | 28 | 1.0000 | - | "#BCandidates2" | 28 | 28 | 1.0000 | - | "#allFlavourTags" | 28 | 28 | 1.0000 | - |*"#goodFlavourTags" | 28 | 15 |( 53.57143 +- 9.424976)% | - | "#no tagresult" | 13 | 13 | 1.0000 | - | "#taggingProtons" | 28 | 353 | 12.607 | -Run2SSProtonTagger_391c60e0.Tagg... INFO Number of counters : 3 + | "#BCandidates" | 3 | 3 | 1.0000 | + |*"#goodFlavourTags" | 3 | 2 |( 66.66667 +- 27.21655)% | + | "#taggingPions" | 3 | 85 | 28.333 | +Run2SSPionTagger_f601f3ec.Taggin... INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#iterations/1" | 32 | 45 | 1.4062 | 0.70086 | 1.0000 | 4.0000 | - | "#iterations/2" | 15 | 35 | 2.3333 | 0.69921 | 2.0000 | 4.0000 | - | "#iterations/Opt" | 37 | 20 | 0.54054 | 0.79167 | 0.0000 | 3.0000 | -Run2SSProtonTagger_4afabbc1 INFO Number of counters : 6 + | "#iterations/1" | 4 | 5 | 1.2500 | 0.43301 | 1.0000 | 2.0000 | + | "#iterations/2" | 1 | 2 | 2.0000 | 0.0000 | 2.0000 | 2.0000 | + | "#iterations/Opt" | 4 | 1 | 0.25000 | 0.43301 | 0.0000 | 1.0000 | +Run2SSProtonTagger_7f0e2b47 INFO Number of counters : 6 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#BCandidates" | 3 | 3 | 1.0000 | | "#BCandidates2" | 3 | 3 | 1.0000 | @@ -536,11 +523,24 @@ Run2SSProtonTagger_4afabbc1 INFO Number of counters : 6 |*"#goodFlavourTags" | 3 | 2 |( 66.66667 +- 27.21655)% | | "#no tagresult" | 1 | 1 | 1.0000 | | "#taggingProtons" | 3 | 38 | 12.667 | -Run2SSProtonTagger_4afabbc1.Tagg... INFO Number of counters : 3 +Run2SSProtonTagger_7f0e2b47.Tagg... INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#iterations/1" | 4 | 7 | 1.7500 | 0.82916 | 1.0000 | 3.0000 | | "#iterations/2" | 3 | 7 | 2.3333 | 0.47140 | 2.0000 | 3.0000 | | "#iterations/Opt" | 5 | 4 | 0.80000 | 0.74833 | 0.0000 | 2.0000 | +Run2SSProtonTagger_bae2c368 INFO Number of counters : 6 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#BCandidates" | 28 | 28 | 1.0000 | + | "#BCandidates2" | 28 | 28 | 1.0000 | + | "#allFlavourTags" | 28 | 28 | 1.0000 | + |*"#goodFlavourTags" | 28 | 15 |( 53.57143 +- 9.424976)% | + | "#no tagresult" | 13 | 13 | 1.0000 | + | "#taggingProtons" | 28 | 353 | 12.607 | +Run2SSProtonTagger_bae2c368.Tagg... INFO Number of counters : 3 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#iterations/1" | 32 | 45 | 1.4062 | 0.70086 | 1.0000 | 4.0000 | + | "#iterations/2" | 15 | 35 | 2.3333 | 0.69921 | 2.0000 | 4.0000 | + | "#iterations/Opt" | 37 | 20 | 0.54054 | 0.79167 | 0.0000 | 3.0000 | SelectHlt1HltDecReports INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"Number of selected banks" | 28 | 0 |( 0.000000 +- 0.000000)% | @@ -572,25 +572,25 @@ VeloClusterTrackingSIMD_87c18651 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Nb of Produced Clusters" | 100 | 255452 | 2554.5 | | "Nb of Produced Tracks" | 100 | 28455 | 284.55 | -bandq_b_hadron_88c90af0 INFO Number of counters : 7 +bandq_b_hadron_b7d5f974 INFO Number of counters : 8 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"# passed" | 100 | 3 |( 3.000000 +- 1.705872)% | + |*"# passed" | 100 | 28 |( 28.00000 +- 4.489989)% | |*"# passed CombinationCut" | 410 | 53 |( 12.92683 +- 1.656900)% | - |*"# passed CompositeCut" | 53 | 3 |( 5.660377 +- 3.174182)% | + |*"# passed CompositeCut" | 53 | 28 |( 52.83019 +- 6.857017)% | |*"# passed vertex fit" | 53 | 53 |( 100.0000 +- 0.000000)% | | "Input1 size" | 100 | 51 | 0.51000 | | "Input2 size" | 100 | 808 | 8.0800 | - | "candidate multiplicity" | 100 | 3 | 0.030000 | 0.17059 | 0.0000 | 1.0000 | -bandq_b_hadron_9ee3a731 INFO Number of counters : 8 + | "Lifetime fit did not converge. Aborting." | 4 | + | "candidate multiplicity" | 100 | 28 | 0.28000 | 0.44900 | 0.0000 | 1.0000 | +bandq_b_hadron_fb6b3ead INFO Number of counters : 7 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"# passed" | 100 | 28 |( 28.00000 +- 4.489989)% | + |*"# passed" | 100 | 3 |( 3.000000 +- 1.705872)% | |*"# passed CombinationCut" | 410 | 53 |( 12.92683 +- 1.656900)% | - |*"# passed CompositeCut" | 53 | 28 |( 52.83019 +- 6.857017)% | + |*"# passed CompositeCut" | 53 | 3 |( 5.660377 +- 3.174182)% | |*"# passed vertex fit" | 53 | 53 |( 100.0000 +- 0.000000)% | | "Input1 size" | 100 | 51 | 0.51000 | | "Input2 size" | 100 | 808 | 8.0800 | - | "Lifetime fit did not converge. Aborting." | 4 | - | "candidate multiplicity" | 100 | 28 | 0.28000 | 0.44900 | 0.0000 | 1.0000 | + | "candidate multiplicity" | 100 | 3 | 0.030000 | 0.17059 | 0.0000 | 1.0000 | bandq_detached_kaons_dc896bc4 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"#passed" | 100 | 99 |( 99.00000 +- 0.9949874)% | diff --git a/Hlt/Hlt2Conf/tests/refs/hlt2_sskaon_tagger_on_example_bs2jpsiphi_lines.ref.detdesc b/Hlt/Hlt2Conf/tests/refs/hlt2_sskaon_tagger_on_example_bs2jpsiphi_lines.ref.detdesc index 30b06d9d7fd..68b8e13d7b9 100644 --- a/Hlt/Hlt2Conf/tests/refs/hlt2_sskaon_tagger_on_example_bs2jpsiphi_lines.ref.detdesc +++ b/Hlt/Hlt2Conf/tests/refs/hlt2_sskaon_tagger_on_example_bs2jpsiphi_lines.ref.detdesc @@ -355,16 +355,16 @@ PrTrackAssociator_2021382a INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"Efficiency" | 2599 | 2055 |( 79.06887 +- 0.7979872)% | | "MC particles per track" | 2055 | 2403 | 1.1693 | -Run2SSKaonTagger_9fccb24c INFO Number of counters : 3 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#BCandidates" | 16 | 17 | 1.0625 | - |*"#goodFlavourTags" | 17 | 0 |( 0.000000 +- 0.000000)% | - | "#taggingKaons" | 16 | 1196 | 74.750 | -Run2SSKaonTagger_dd6c246b INFO Number of counters : 3 +Run2SSKaonTagger_976caf90 INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#BCandidates" | 22 | 27 | 1.2273 | |*"#goodFlavourTags" | 27 | 0 |( 0.000000 +- 0.000000)% | | "#taggingKaons" | 22 | 1910 | 86.818 | +Run2SSKaonTagger_e2d71c51 INFO Number of counters : 3 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#BCandidates" | 16 | 17 | 1.0625 | + |*"#goodFlavourTags" | 17 | 0 |( 0.000000 +- 0.000000)% | + | "#taggingKaons" | 16 | 1196 | 74.750 | SelectHlt1HltDecReports INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"Number of selected banks" | 22 | 0 |( 0.000000 +- 0.000000)% | @@ -396,26 +396,26 @@ VeloClusterTrackingSIMD_87c18651 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Nb of Produced Clusters" | 100 | 258638 | 2586.4 | | "Nb of Produced Tracks" | 100 | 28947 | 289.47 | -bandq_b_hadron_46d23a95 INFO Number of counters : 8 +bandq_b_hadron_13a4a9d3 INFO Number of counters : 8 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"# passed" | 100 | 22 |( 22.00000 +- 4.142463)% | + |*"# passed" | 100 | 16 |( 16.00000 +- 3.666061)% | |*"# passed CombinationCut" | 469 | 96 |( 20.46908 +- 1.863077)% | - |*"# passed CompositeCut" | 96 | 27 |( 28.12500 +- 4.588805)% | + |*"# passed CompositeCut" | 96 | 17 |( 17.70833 +- 3.896110)% | |*"# passed vertex fit" | 96 | 96 |( 100.0000 +- 0.000000)% | | "Input1 size" | 100 | 66 | 0.66000 | | "Input2 size" | 100 | 678 | 6.7800 | | "Lifetime fit did not converge. Aborting." | 3 | - | "candidate multiplicity" | 100 | 27 | 0.27000 | 0.61408 | 0.0000 | 4.0000 | -bandq_b_hadron_bf17beca INFO Number of counters : 8 + | "candidate multiplicity" | 100 | 17 | 0.17000 | 0.40137 | 0.0000 | 2.0000 | +bandq_b_hadron_5b2ed9a4 INFO Number of counters : 8 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"# passed" | 100 | 16 |( 16.00000 +- 3.666061)% | + |*"# passed" | 100 | 22 |( 22.00000 +- 4.142463)% | |*"# passed CombinationCut" | 469 | 96 |( 20.46908 +- 1.863077)% | - |*"# passed CompositeCut" | 96 | 17 |( 17.70833 +- 3.896110)% | + |*"# passed CompositeCut" | 96 | 27 |( 28.12500 +- 4.588805)% | |*"# passed vertex fit" | 96 | 96 |( 100.0000 +- 0.000000)% | | "Input1 size" | 100 | 66 | 0.66000 | | "Input2 size" | 100 | 678 | 6.7800 | | "Lifetime fit did not converge. Aborting." | 3 | - | "candidate multiplicity" | 100 | 17 | 0.17000 | 0.40137 | 0.0000 | 2.0000 | + | "candidate multiplicity" | 100 | 27 | 0.27000 | 0.61408 | 0.0000 | 4.0000 | charmonium_dimuon_a15b8b4e INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"#passed" | 100 | 63 |( 63.00000 +- 4.828043)% | diff --git a/Hlt/Hlt2Conf/tests/refs/hlt2_sskaon_tagger_on_example_bs2jpsiphi_lines.ref.x86_64_v3-detdesc-opt b/Hlt/Hlt2Conf/tests/refs/hlt2_sskaon_tagger_on_example_bs2jpsiphi_lines.ref.x86_64_v3-detdesc-opt index 055567eb72f..8283698da06 100644 --- a/Hlt/Hlt2Conf/tests/refs/hlt2_sskaon_tagger_on_example_bs2jpsiphi_lines.ref.x86_64_v3-detdesc-opt +++ b/Hlt/Hlt2Conf/tests/refs/hlt2_sskaon_tagger_on_example_bs2jpsiphi_lines.ref.x86_64_v3-detdesc-opt @@ -355,16 +355,16 @@ PrTrackAssociator_2021382a INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"Efficiency" | 2596 | 2054 |( 79.12173 +- 0.7977059)% | | "MC particles per track" | 2054 | 2403 | 1.1699 | -Run2SSKaonTagger_9fccb24c INFO Number of counters : 3 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#BCandidates" | 16 | 21 | 1.3125 | - |*"#goodFlavourTags" | 21 | 0 |( 0.000000 +- 0.000000)% | - | "#taggingKaons" | 16 | 1196 | 74.750 | -Run2SSKaonTagger_dd6c246b INFO Number of counters : 3 +Run2SSKaonTagger_976caf90 INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#BCandidates" | 22 | 29 | 1.3182 | |*"#goodFlavourTags" | 29 | 0 |( 0.000000 +- 0.000000)% | | "#taggingKaons" | 22 | 1910 | 86.818 | +Run2SSKaonTagger_e2d71c51 INFO Number of counters : 3 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#BCandidates" | 16 | 21 | 1.3125 | + |*"#goodFlavourTags" | 21 | 0 |( 0.000000 +- 0.000000)% | + | "#taggingKaons" | 16 | 1196 | 74.750 | SelectHlt1HltDecReports INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"Number of selected banks" | 22 | 0 |( 0.000000 +- 0.000000)% | @@ -396,26 +396,26 @@ VeloClusterTrackingSIMD_87c18651 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Nb of Produced Clusters" | 100 | 258638 | 2586.4 | | "Nb of Produced Tracks" | 100 | 29014 | 290.14 | -bandq_b_hadron_46d23a95 INFO Number of counters : 8 +bandq_b_hadron_13a4a9d3 INFO Number of counters : 8 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"# passed" | 100 | 22 |( 22.00000 +- 4.142463)% | + |*"# passed" | 100 | 16 |( 16.00000 +- 3.666061)% | |*"# passed CombinationCut" | 477 | 97 |( 20.33543 +- 1.842893)% | - |*"# passed CompositeCut" | 97 | 29 |( 29.89691 +- 4.648318)% | + |*"# passed CompositeCut" | 97 | 21 |( 21.64948 +- 4.181757)% | |*"# passed vertex fit" | 97 | 97 |( 100.0000 +- 0.000000)% | | "Input1 size" | 100 | 66 | 0.66000 | | "Input2 size" | 100 | 687 | 6.8700 | | "Lifetime fit did not converge. Aborting." | 4 | - | "candidate multiplicity" | 100 | 29 | 0.29000 | 0.87516 | 0.0000 | 8.0000 | -bandq_b_hadron_bf17beca INFO Number of counters : 8 + | "candidate multiplicity" | 100 | 21 | 0.21000 | 0.68257 | 0.0000 | 6.0000 | +bandq_b_hadron_5b2ed9a4 INFO Number of counters : 8 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"# passed" | 100 | 16 |( 16.00000 +- 3.666061)% | + |*"# passed" | 100 | 22 |( 22.00000 +- 4.142463)% | |*"# passed CombinationCut" | 477 | 97 |( 20.33543 +- 1.842893)% | - |*"# passed CompositeCut" | 97 | 21 |( 21.64948 +- 4.181757)% | + |*"# passed CompositeCut" | 97 | 29 |( 29.89691 +- 4.648318)% | |*"# passed vertex fit" | 97 | 97 |( 100.0000 +- 0.000000)% | | "Input1 size" | 100 | 66 | 0.66000 | | "Input2 size" | 100 | 687 | 6.8700 | | "Lifetime fit did not converge. Aborting." | 4 | - | "candidate multiplicity" | 100 | 21 | 0.21000 | 0.68257 | 0.0000 | 6.0000 | + | "candidate multiplicity" | 100 | 29 | 0.29000 | 0.87516 | 0.0000 | 8.0000 | charmonium_dimuon_a15b8b4e INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"#passed" | 100 | 63 |( 63.00000 +- 4.828043)% | diff --git a/Hlt/RecoConf/tests/refs/legacy_rec_hlt1_reco_velo_only.ref.x86_64_v3-opt b/Hlt/RecoConf/tests/refs/legacy_rec_hlt1_reco_velo_only.ref.x86_64_v3-opt index dc0ebb9e539..695b70c6a97 100644 --- a/Hlt/RecoConf/tests/refs/legacy_rec_hlt1_reco_velo_only.ref.x86_64_v3-opt +++ b/Hlt/RecoConf/tests/refs/legacy_rec_hlt1_reco_velo_only.ref.x86_64_v3-opt @@ -13,4 +13,4 @@ LHCb__MDF__IOAlg_b77750eb INFO Number of counters : 1 VeloClusterTrackingSIMD_87c18651 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Nb of Produced Clusters" | 935 | 1617568 | 1730.0 | - | "Nb of Produced Tracks" | 935 | 208711 | 223.22 | + | "Nb of Produced Tracks" | 935 | 215060 | 230.01 | -- GitLab From 7295c68ee2b97d94593714319b61bece27a3cee9 Mon Sep 17 00:00:00 2001 From: Mengzhen Wang Date: Fri, 12 Apr 2024 14:45:14 +0200 Subject: [PATCH 16/51] BandQ sprucing tuning targetting on April deadline --- .../lines/bandq/builders/b_hadrons.py | 8 ++- .../lines/bandq/builders/b_to_etacX_lines.py | 49 +++++++++++-- .../bandq/builders/dimuon_sprucing_lines.py | 16 +++-- .../lines/bandq/builders/doublecharm.py | 68 ++++++++++++++----- .../lines/bandq/builders/qqbar_to_hadrons.py | 62 +++++++++++++++-- .../python/Hlt2Conf/lines/bandq/hlt2_bandq.py | 27 ++++---- .../Hlt2Conf/lines/bandq/spruce_bandq.py | 36 +++++----- .../Hlt2Conf/lines/charmonium_to_dimuon.py | 10 +-- 8 files changed, 207 insertions(+), 69 deletions(-) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bandq/builders/b_hadrons.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bandq/builders/b_hadrons.py index 2a4a832624f..62f414b57e6 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bandq/builders/b_hadrons.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bandq/builders/b_hadrons.py @@ -142,12 +142,15 @@ def make_b_hadron( vtx_chi2pdof_max=20, bpvltime_min=0.2 * picosecond, bpvdira_min=0.995, # [AVOID BIAS IN DIRECTION WRT TO PV], 0.995 (tan<0.1) is safe enough even for B from Tbb + bpvfdchi2_min=0, minVDz=0. * mm, - minRho=0. * mm): + minRho=0. * mm, + comb_cut_add=None): vtx_cut_add = require_all(F.BPVLTIME() > bpvltime_min, F.BPVVDRHO() > minRho, F.BPVVDZ() > minVDz, + F.BPVFDCHI2() > bpvfdchi2_min, F.BPVDIRA() > bpvdira_min) return _make_generic( @@ -160,7 +163,8 @@ def make_b_hadron( m_max=m_max, achi2_doca_max=achi2_doca_max, vtx_chi2pdof_max=vtx_chi2pdof_max, - vtx_cut_add=vtx_cut_add) + vtx_cut_add=vtx_cut_add, + comb_cut_add=comb_cut_add) #################################### diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bandq/builders/b_to_etacX_lines.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bandq/builders/b_to_etacX_lines.py index cb183edfdcf..4e7d4dfc5b5 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bandq/builders/b_to_etacX_lines.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bandq/builders/b_to_etacX_lines.py @@ -12,7 +12,9 @@ Make B&Q B -> ccbar (->hadron) X combinations. """ -from GaudiKernel.SystemOfUnits import mm +import Functors as F + +from GaudiKernel.SystemOfUnits import mm, MeV from PyConf import configurable @@ -25,25 +27,45 @@ from Hlt2Conf.lines.bandq.builders import charged_hadrons, b_hadrons, qqbar_to_h @configurable -def make_lb_for_etacX(name, particles, descriptor): +def make_lb_for_etacX(name, + particles, + descriptor, + bpvfdchi2_min=50., + achi2_doca_max=25, + vtx_chi2pdof_max=20, + comb_cut_add=None): return b_hadrons.make_lb( name=name, particles=particles, descriptor=descriptor, minVDz=2.0 * mm, minRho=0.1 * mm, - bpvdira_min=0.9999) + bpvdira_min=0.9999, + bpvfdchi2_min=bpvfdchi2_min, + achi2_doca_max=achi2_doca_max, + vtx_chi2pdof_max=vtx_chi2pdof_max, + comb_cut_add=comb_cut_add) @configurable -def make_bu_for_etacX(name, particles, descriptor): +def make_bu_for_etacX(name, + particles, + descriptor, + bpvfdchi2_min=50., + achi2_doca_max=25, + vtx_chi2pdof_max=20, + comb_cut_add=None): return b_hadrons.make_bu( name=name, particles=particles, descriptor=descriptor, minVDz=2.0 * mm, minRho=0.1 * mm, - bpvdira_min=0.9999) + bpvdira_min=0.9999, + bpvfdchi2_min=bpvfdchi2_min, + achi2_doca_max=achi2_doca_max, + vtx_chi2pdof_max=vtx_chi2pdof_max, + comb_cut_add=comb_cut_add) ###################### @@ -57,10 +79,17 @@ def make_LbToEtacPpKm_EtacToHHHH(name='bandq_LbToEtacPpKm_EtacToHHHH_{hash}'): kaons = charged_hadrons.make_detached_kaons_tightpid() protons = charged_hadrons.make_detached_protons_tightpid() etac = qqbar_to_hadrons.make_detached_Etac1S2SToHHHH() + comb_cut_add = F.require_all( + F.CHILD(2, F.PT) + F.CHILD(3, F.PT) > 900. * MeV) + line_alg = make_lb_for_etacX( name=name, particles=[etac, protons, kaons], - descriptor='[Lambda_b0 -> eta_c(1S) p+ K-]cc') + descriptor='[Lambda_b0 -> eta_c(1S) p+ K-]cc', + vtx_chi2pdof_max=10, + bpvfdchi2_min=150, + comb_cut_add=comb_cut_add) + return line_alg @@ -71,10 +100,16 @@ def make_BdToEtacKpPim_EtacToHHHH( kaons = charged_hadrons.make_detached_kaons_tightpid() pions = charged_hadrons.make_detached_pions_tightpid() etac = qqbar_to_hadrons.make_detached_Etac1S2SToHHHH() + comb_cut_add = F.require_all( + F.CHILD(2, F.PT) + F.CHILD(3, F.PT) > 900. * MeV) + line_alg = make_bu_for_etacX( name=name, particles=[etac, kaons, pions], - descriptor='[B0 -> eta_c(1S) K+ pi-]cc') + descriptor='[B0 -> eta_c(1S) K+ pi-]cc', + vtx_chi2pdof_max=10, + bpvfdchi2_min=150, + comb_cut_add=comb_cut_add) return line_alg diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bandq/builders/dimuon_sprucing_lines.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bandq/builders/dimuon_sprucing_lines.py index feca09a7adb..ab2cc2ca128 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bandq/builders/dimuon_sprucing_lines.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bandq/builders/dimuon_sprucing_lines.py @@ -48,9 +48,9 @@ _TIGHTMASSMAX_PSI2S = _PSI2S_PDG_MASS_ + _TIGHTMASSWINDOW_HIGH_PSI2S_ @configurable def make_detached_jpsi_sprucing(name='bandq_detached_jpsi_sprucing_{hash}', - minPt_muon=500 * MeV, - minPIDmu=-5., - bpvdls_min=4., + minPt_muon=400 * MeV, + minPIDmu=0., + bpvdls_min=3., maxVertexChi2=20., minMass_dimuon=_MASSMIN_JPSI, maxMass_dimuon=_MASSMAX_JPSI): @@ -67,9 +67,9 @@ def make_detached_jpsi_sprucing(name='bandq_detached_jpsi_sprucing_{hash}', @configurable def make_detached_psi2s_sprucing(name='bandq_detached_psi2s_sprucing_{hash}', - minPt_muon=500 * MeV, - minPIDmu=-5., - bpvdls_min=4., + minPt_muon=400 * MeV, + minPIDmu=0., + bpvdls_min=3., maxVertexChi2=20., minMass_dimuon=_MASSMIN_PSI2S, maxMass_dimuon=_MASSMAX_PSI2S): @@ -92,6 +92,7 @@ def make_tight_prompt_jpsi_sprucing( minPt_Jpsi=3000 * MeV, minPt_muon=650 * MeV, minP_muon=10 * GeV, + minPIDmu=0., maxVertexChi2=20.): return make_jpsi( @@ -100,6 +101,7 @@ def make_tight_prompt_jpsi_sprucing( maxMass_dimuon=maxMass_dimuon, minPt_muon=minPt_muon, minP_muon=minP_muon, + minPIDmu=minPIDmu, minPt_Jpsi=minPt_Jpsi, maxVertexChi2=maxVertexChi2) @@ -112,6 +114,7 @@ def make_tight_prompt_psi2s_sprucing( minPt_Psi2S=3000 * MeV, minPt_muon=650 * MeV, minP_muon=10 * GeV, + minPIDmu=0., maxVertexChi2=20.): return make_psi2s( @@ -120,5 +123,6 @@ def make_tight_prompt_psi2s_sprucing( maxMass_dimuon=maxMass_dimuon, minPt_muon=minPt_muon, minP_muon=minP_muon, + minPIDmu=minPIDmu, minPt_Psi2S=minPt_Psi2S, maxVertexChi2=maxVertexChi2) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bandq/builders/doublecharm.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bandq/builders/doublecharm.py index b545497ba65..d2668b5f205 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bandq/builders/doublecharm.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bandq/builders/doublecharm.py @@ -23,14 +23,27 @@ from Hlt2Conf.lines.bandq.builders import c_to_hadrons from Hlt2Conf.lines.charm import d_to_hhh, d0_to_hh, cbaryon_spectroscopy from Hlt2Conf.lines.charmonium_to_dimuon import make_jpsi, make_psi2s from Hlt2Conf.lines.charm import d0_to_kshh, d0_to_hhhh +from Functors.math import in_range +from GaudiKernel.SystemOfUnits import mm +from PyConf import ConfigurationError @configurable def _make_doublecharm(particles, + process, descriptor, name='bandq_doublecharm_singledecay_template_{hash}', allowDiffInputsForSameIDChildren=False): - combination_code = require_all(F.ALL) + if process not in ['hlt2', 'spruce']: + raise ConfigurationError( + "process for _make_doublecharm must be hlt2 or spruce. Please check !" + ) + if process == 'spruce': + combination_code = require_all( + in_range(-10 * mm, (F.CHILD(1, F.BPVZ()) - (F.CHILD(2, F.BPVZ()))), + 10 * mm)) + elif process == 'hlt2': + combination_code = require_all(F.ALL) vertex_code = require_all(F.ALL) return ParticleCombiner( name=name, @@ -43,6 +56,7 @@ def _make_doublecharm(particles, @configurable def make_doublecharm(particles, + process, descriptors, name='bandq_doublecharm_template_{hash}', allowDiffInputsForSameIDChildren_dc=False): @@ -52,6 +66,7 @@ def make_doublecharm(particles, c_hadrons.append( _make_doublecharm( particles=particles, + process=process, descriptor=descriptor, allowDiffInputsForSameIDChildren= allowDiffInputsForSameIDChildren_dc)) @@ -59,7 +74,8 @@ def make_doublecharm(particles, @configurable -def make_doublecharm_samesign(name='bandq_doublecharm_samesign_{hash}'): +def make_doublecharm_samesign(process, + name='bandq_doublecharm_samesign_{hash}'): dz = d0_to_hh.make_dzeros( d0_to_hh.make_charm_kaons(), d0_to_hh.make_charm_pions(), '[D0 -> K- pi+]cc') #taken from Hlt2Charm_D0ToKmPip line in charm area @@ -97,6 +113,7 @@ def make_doublecharm_samesign(name='bandq_doublecharm_samesign_{hash}'): line_alg = make_doublecharm( name=name, particles=[c_hadron, c_hadron], + process=process, descriptors=[ '[psi(3770) -> D0 D0]cc', '[psi(3770) -> D0 D+]cc', @@ -137,7 +154,7 @@ def make_doublecharm_samesign(name='bandq_doublecharm_samesign_{hash}'): @configurable def make_doublecharm_oppositesign( - name='bandq_doublecharm_oppositesign_{hash}'): + process, name='bandq_doublecharm_oppositesign_{hash}'): dz = d0_to_hh.make_dzeros( d0_to_hh.make_charm_kaons(), d0_to_hh.make_charm_pions(), '[D0 -> K- pi+]cc') #taken from Hlt2Charm_D0ToKmPip line in charm area @@ -172,6 +189,7 @@ def make_doublecharm_oppositesign( line_alg = make_doublecharm( name=name, particles=[c_hadron, c_hadron], + process=process, descriptors=[ '[psi(3770) -> D~0 D0]cc', '[psi(3770) -> D~0 D+]cc', '[psi(3770) -> D~0 D_s+]cc', '[psi(3770) -> D~0 Lambda_c+]cc', @@ -198,6 +216,7 @@ Make B&Q quantum-correlated D0 anti-D0 combinations. @configurable def make_doublecharm_D0ToHH( # 2x2-body D0 decay modes # note that this line contains D0 -> Kpi anti-D0 -> Kpi which is also triggered above. + process, name='bandq_doublecharm_{hash}'): dz = d0_to_hh.make_dzeros( d0_to_hh.make_charm_kaons(), d0_to_hh.make_charm_pions(), @@ -217,14 +236,14 @@ def make_doublecharm_D0ToHH( # 2x2-body D0 decay modes # note that this line c line_alg = make_doublecharm( name=name, particles=[D0_meson_HH, D0_meson_HH], - descriptors=[ - '[psi(3770) -> D0 D0]cc' # due to HH modes use only D0 D0 combination, including D0 D~0 would be double counting - ]) + process=process, + descriptors=['psi(3770) -> D0 D0']) return line_alg @configurable def make_doublecharm_D0ToKsLLHH_D0ToHH( + process, name='bandq_doublecharm_{hash}'): # 3(LL)x2-body D0 decay modes dz = d0_to_hh.make_dzeros( d0_to_hh.make_charm_kaons(), d0_to_hh.make_charm_pions(), @@ -262,8 +281,9 @@ def make_doublecharm_D0ToKsLLHH_D0ToHH( line_alg = make_doublecharm( name=name, particles=[D0_meson_KsLLHH, D0_meson_HH], + process=process, descriptors=[ - '[psi(3770) -> D0 D0]cc' # due to HH modes use only D0 D0 combination, including D0 D~0 would be double counting + 'psi(3770) -> D0 D0' # contains all possible combinations ending with a KS. "KS" is pi+pi-, contains both KS and antiparticle. ], allowDiffInputsForSameIDChildren_dc=True) return line_alg @@ -271,6 +291,7 @@ def make_doublecharm_D0ToKsLLHH_D0ToHH( @configurable def make_doublecharm_D0ToKsDDHH_D0ToHH( + process, name='bandq_doublecharm_{hash}'): # 3(DD)x2-body D0 decay modes dz = d0_to_hh.make_dzeros( d0_to_hh.make_charm_kaons(), d0_to_hh.make_charm_pions(), @@ -308,8 +329,9 @@ def make_doublecharm_D0ToKsDDHH_D0ToHH( line_alg = make_doublecharm( name=name, particles=[D0_meson_KsDDHH, D0_meson_HH], + process=process, descriptors=[ - '[psi(3770) -> D0 D0]cc' # due to HH modes use only D0 D0 combination, including D0 D~0 would be double counting + 'psi(3770) -> D0 D0' # contains all possible combinations ending with a KS. "KS" is pi+pi-, contains both KS and antiparticle. ], allowDiffInputsForSameIDChildren_dc=True) return line_alg @@ -317,6 +339,7 @@ def make_doublecharm_D0ToKsDDHH_D0ToHH( @configurable def make_doublecharm_D0ToKsLLHH( + process, name='bandq_doublecharm_{hash}'): # 3(LL)x3(LL)-body D0 decay modes pions = d0_to_kshh.make_charm_pions() kaons = d0_to_kshh.make_charm_kaons() @@ -340,14 +363,16 @@ def make_doublecharm_D0ToKsLLHH( line_alg = make_doublecharm( name=name, particles=[D0_meson_KsLLHH, D0_meson_KsLLHH], + process=process, descriptors=[ - '[psi(3770) -> D0 D0]cc' # due to HH modes use only D0 D0 combination, including D0 D~0 would be double counting + 'psi(3770) -> D0 D0' # contains all possible combinations ending with two KS. "KS" is pi+pi-, contains both KS and antiparticle. ]) return line_alg @configurable def make_doublecharm_D0ToKsLLHH_D0ToKsDDHH( + process, name='bandq_doublecharm_{hash}'): # 3(LL)x3(DD)-body D0 decay modes pions = d0_to_kshh.make_charm_pions() kaons = d0_to_kshh.make_charm_kaons() @@ -387,8 +412,9 @@ def make_doublecharm_D0ToKsLLHH_D0ToKsDDHH( line_alg = make_doublecharm( name=name, particles=[D0_meson_KsLLHH, D0_meson_KsDDHH], + process=process, descriptors=[ - '[psi(3770) -> D0 D0]cc' # due to HH modes use only D0 D0 combination, including D0 D~0 would be double counting + 'psi(3770) -> D0 D0' # contains all possible combinations ending with two KS. "KS" is pi+pi-, contains both KS and antiparticle. ], allowDiffInputsForSameIDChildren_dc=True) return line_alg @@ -396,6 +422,7 @@ def make_doublecharm_D0ToKsLLHH_D0ToKsDDHH( @configurable def make_doublecharm_D0ToKsDDHH( + process, name='bandq_doublecharm_{hash}'): # 3(DD)x3(DD)-body D0 decay modes pions = d0_to_kshh.make_charm_pions() kaons = d0_to_kshh.make_charm_kaons() @@ -419,15 +446,16 @@ def make_doublecharm_D0ToKsDDHH( line_alg = make_doublecharm( name=name, particles=[D0_meson_KsDDHH, D0_meson_KsDDHH], + process=process, descriptors=[ - '[psi(3770) -> D0 D0]cc' # due to HH modes use only D0 D0 combination, including D0 D~0 would be double counting + 'psi(3770) -> D0 D0' # contains all possible combinations ending with two KS. "KS" is pi+pi-, contains both KS and antiparticle. ]) return line_alg @configurable def make_doublecharm_D0ToHHHH_D0ToHH( - name='bandq_doublecharm_{hash}'): # 4x2-body D0 decay modes + process, name='bandq_doublecharm_{hash}'): # 4x2-body D0 decay modes dz = d0_to_hh.make_dzeros( d0_to_hh.make_charm_kaons(), d0_to_hh.make_charm_pions(), '[D0 -> K- pi+]cc') #taken from Hlt2Charm_D0ToKmPip line in charm area @@ -469,8 +497,9 @@ def make_doublecharm_D0ToHHHH_D0ToHH( line_alg = make_doublecharm( name=name, particles=[D0_meson_HHHH, D0_meson_HH], + process=process, descriptors=[ - '[psi(3770) -> D0 D0]cc' # due to HH modes use only D0 D0 combination, including D0 D~0 would be double counting + 'psi(3770) -> D0 D0' # contains all possible combinations of final states ], allowDiffInputsForSameIDChildren_dc=True) return line_alg @@ -478,6 +507,7 @@ def make_doublecharm_D0ToHHHH_D0ToHH( @configurable def make_doublecharm_D0ToHHHH_D0ToKsLLHH( + process, name='bandq_doublecharm_{hash}'): # 4x3(LL)-body D0 decay modes pions = d0_to_kshh.make_charm_pions() kaons = d0_to_kshh.make_charm_kaons() @@ -524,8 +554,9 @@ def make_doublecharm_D0ToHHHH_D0ToKsLLHH( line_alg = make_doublecharm( name=name, particles=[D0_meson_HHHH, D0_meson_KsLLHH], + process=process, descriptors=[ - '[psi(3770) -> D0 D0]cc' # due to HH modes use only D0 D0 combination, including D0 D~0 would be double counting + 'psi(3770) -> D0 D0' # contains all final-state combinations. KS->pi+pi- contains both KS and its antiparticle. ], allowDiffInputsForSameIDChildren_dc=True) return line_alg @@ -533,6 +564,7 @@ def make_doublecharm_D0ToHHHH_D0ToKsLLHH( @configurable def make_doublecharm_D0ToHHHH_D0ToKsDDHH( + process, name='bandq_doublecharm_{hash}'): # 4x3(DD)-body D0 decay modes pions = d0_to_kshh.make_charm_pions() kaons = d0_to_kshh.make_charm_kaons() @@ -579,8 +611,9 @@ def make_doublecharm_D0ToHHHH_D0ToKsDDHH( line_alg = make_doublecharm( name=name, particles=[D0_meson_HHHH, D0_meson_KsDDHH], + process=process, descriptors=[ - '[psi(3770) -> D0 D0]cc' # due to HH modes use only D0 D0 combination, including D0 D~0 would be double counting + 'psi(3770) -> D0 D0' # contains all final-state combinations. KS->pi+pi- contains both KS and its antiparticle. ], allowDiffInputsForSameIDChildren_dc=True) return line_alg @@ -588,7 +621,7 @@ def make_doublecharm_D0ToHHHH_D0ToKsDDHH( @configurable def make_doublecharm_D0ToHHHH( - name='bandq_doublecharm_{hash}'): # 4x4-body D0 decay modes + process, name='bandq_doublecharm_{hash}'): # 4x4-body D0 decay modes dzpipipipi = d0_to_hhhh.make_dzeros( d0_to_hh.make_charm_kaons(), d0_to_hh.make_charm_pions(), d0_to_hh.make_charm_pions(), d0_to_hh.make_charm_pions(), @@ -616,7 +649,8 @@ def make_doublecharm_D0ToHHHH( line_alg = make_doublecharm( name=name, particles=[D0_meson_HHHH, D0_meson_HHHH], + process=process, descriptors=[ - '[psi(3770) -> D0 D0]cc' # due to HH modes use only D0 D0 combination, including D0 D~0 would be double counting + 'psi(3770) -> D0 D0' # contains all final-state combinations. KS->pi+pi- contains both KS and its antiparticle. ]) return line_alg diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bandq/builders/qqbar_to_hadrons.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bandq/builders/qqbar_to_hadrons.py index 5059966ed20..5df4b8522c6 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bandq/builders/qqbar_to_hadrons.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bandq/builders/qqbar_to_hadrons.py @@ -39,6 +39,8 @@ from .charged_hadrons import make_prompt_phi #basic constructors of the ccbar vertex #By default cut on mass and vertex quality +_MASS_MIN_LIGHTHADRON = 120 * MeV # minimal mass in case of pi0->gg + @configurable def make_ccbar_to_hadrons( @@ -74,6 +76,56 @@ def make_ccbar_to_hadrons( CompositeCut=vertex_code) +@configurable +def make_ccbar_to_hadrons_detached_fourbody( #add more 12, 23, 34... cuts than the make_ccbar_to_hadrons combiner, to reduce number of combinations + particles, + descriptor, + name='bandq_ccbar_to_hadrons_detached_fourbody_{hash}', + am_min=2650 * + MeV, # by-default cover the Jpsi and etac region. For etac analysis, Jpsi as control mode. + am_max=3350 * MeV, + apt_min=0 * MeV, + maxdoca_max=20., # the maximum doca of possible pair combinations should be smaller than this value + m_min=2700 * MeV, + m_max=3300 * MeV, + pt_min=0 * MeV, + sum_pt_min=2500 * + MeV, #copy from https://lhcbdoc.web.cern.ch/lhcbdoc/stripping/config/stripping34/bhadron/strippinglb2etackp_4hline.html 4H combination + sum_ipchi2_min=30, #copy from https://lhcbdoc.web.cern.ch/lhcbdoc/stripping/config/stripping34/bhadron/strippinglb2etackp_4hline.html 4H combination + vtx_chi2pdof_max=16, + ip_chi2_min=0.): + + pvs = make_pvs() + + combination_code = F.require_all( + in_range(am_min, F.MASS, am_max), F.MAXDOCACHI2CUT(maxdoca_max), + (F.PT > apt_min), (F.CHILD(1, F.PT) + F.CHILD(2, F.PT) + F.CHILD( + 3, F.PT) + F.CHILD(4, F.PT) > sum_pt_min), + (F.CHILD(1, F.BPVIPCHI2()) + F.CHILD(2, F.BPVIPCHI2()) + F.CHILD( + 3, F.BPVIPCHI2()) + F.CHILD(4, F.BPVIPCHI2()) > sum_ipchi2_min)) + + vertex_code = F.require_all( + in_range(m_min, F.MASS, m_max), F.CHI2DOF < vtx_chi2pdof_max, + F.BPVIPCHI2(pvs) > ip_chi2_min, (F.PT > pt_min)) + + combination12_code = F.require_all( + F.MASS < am_max - 2 * _MASS_MIN_LIGHTHADRON, + F.DOCACHI2(1, 2) < maxdoca_max) + combination123_code = F.require_all( + F.MASS < am_max - _MASS_MIN_LIGHTHADRON, + F.DOCACHI2(1, 2) < maxdoca_max, + F.DOCACHI2(2, 3) < maxdoca_max) + + return ParticleCombiner( + name=name, + Inputs=particles, + DecayDescriptor=descriptor, + Combination12Cut=combination12_code, + Combination123Cut=combination123_code, + CombinationCut=combination_code, + CompositeCut=vertex_code) + + #basic constructors of the ccbar vertex #By default cut on mass and vertex quality @@ -248,7 +300,7 @@ def make_detached_ccbarToPipPipPimPim( m_min=2700 * MeV, m_max=3300 * MeV): pions = make_detached_pions_tightpid() - return make_ccbar_to_hadrons( + return make_ccbar_to_hadrons_detached_fourbody( name=name, particles=[pions, pions, pions, pions], descriptor='eta_c(1S) -> pi+ pi+ pi- pi-', @@ -269,7 +321,7 @@ def make_detached_ccbarToKpKmPipPim( m_max=3300 * MeV): kaons = make_detached_kaons_tightpid() pions = make_detached_pions_tightpid() - return make_ccbar_to_hadrons( + return make_ccbar_to_hadrons_detached_fourbody( name=name, particles=[kaons, kaons, pions, pions], descriptor='eta_c(1S) -> K+ K- pi+ pi-', @@ -288,7 +340,7 @@ def make_detached_ccbarToKpKpKmKm(name='bandq_detached_ccbarToKpKpKmKm_{hash}', m_min=2700 * MeV, m_max=3300 * MeV): kaons = make_detached_kaons_tightpid() - return make_ccbar_to_hadrons( + return make_ccbar_to_hadrons_detached_fourbody( name=name, particles=[kaons, kaons, kaons, kaons], descriptor='eta_c(1S) -> K+ K+ K- K-', @@ -308,7 +360,7 @@ def make_detached_ccbarToPpPmKpKm(name='bandq_detached_ccbarToPpPmKpKm_{hash}', m_max=3300 * MeV): kaons = make_detached_kaons_tightpid() protons = make_detached_protons_tightpid() - return make_ccbar_to_hadrons( + return make_ccbar_to_hadrons_detached_fourbody( name=name, particles=[protons, protons, kaons, kaons], descriptor='eta_c(1S) -> p+ p~- K+ K-', @@ -329,7 +381,7 @@ def make_detached_ccbarToPpPmPipPim( m_max=3300 * MeV): pions = make_detached_pions_tightpid() protons = make_detached_protons_tightpid() - return make_ccbar_to_hadrons( + return make_ccbar_to_hadrons_detached_fourbody( name=name, particles=[protons, protons, pions, pions], descriptor='eta_c(1S) -> p+ p~- pi+ pi-', diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bandq/hlt2_bandq.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bandq/hlt2_bandq.py index c6f98df2060..482ce2a6460 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bandq/hlt2_bandq.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bandq/hlt2_bandq.py @@ -352,7 +352,7 @@ def chic2jpsimumu_line(name="Hlt2BandQ_ChicToJpsiMuMu", prescale=1): def doublecharm_samesign_line(name="Hlt2BandQ_DoubleCharmSameSignFull", prescale=1, persistreco=True): - line_alg = doublecharm.make_doublecharm_samesign() + line_alg = doublecharm.make_doublecharm_samesign(process=PROCESS) return Hlt2Line( name=name, algs=make_prefilters() + [line_alg], @@ -373,7 +373,7 @@ def X2jpsimumu_line(name="Hlt2BandQ_XToJpsiMuMu", prescale=1): def doublecharm_oppositesign_line(name="Hlt2BandQ_DoubleCharmOppositeSignFull", prescale=1, persistreco=True): - line_alg = doublecharm.make_doublecharm_oppositesign() + line_alg = doublecharm.make_doublecharm_oppositesign(process=PROCESS) return Hlt2Line( name=name, algs=make_prefilters() + [line_alg], @@ -386,7 +386,7 @@ def doublecharm_oppositesign_line(name="Hlt2BandQ_DoubleCharmOppositeSignFull", def doublecharm_D0ToHH_line(name="Hlt2BandQ_DoubleCharm_D0ToHHFull", prescale=1, persistreco=True): - line_alg = doublecharm.make_doublecharm_D0ToHH() + line_alg = doublecharm.make_doublecharm_D0ToHH(process=PROCESS) return Hlt2Line( name=name, algs=make_prefilters() + [line_alg], @@ -400,7 +400,7 @@ def doublecharm_D0ToKsLLHH_D0ToHH_line( name="Hlt2BandQ_DoubleCharm_D0ToKsLLHH_D0ToHHFull", prescale=1, persistreco=True): - line_alg = doublecharm.make_doublecharm_D0ToKsLLHH_D0ToHH() + line_alg = doublecharm.make_doublecharm_D0ToKsLLHH_D0ToHH(process=PROCESS) return Hlt2Line( name=name, algs=make_prefilters() + [line_alg], @@ -414,7 +414,7 @@ def doublecharm_D0ToKsDDHH_D0ToHH_line( name="Hlt2BandQ_DoubleCharm_D0ToKsDDHH_D0ToHHFull", prescale=1, persistreco=True): - line_alg = doublecharm.make_doublecharm_D0ToKsDDHH_D0ToHH() + line_alg = doublecharm.make_doublecharm_D0ToKsDDHH_D0ToHH(process=PROCESS) return Hlt2Line( name=name, algs=make_prefilters() + [line_alg], @@ -427,7 +427,7 @@ def doublecharm_D0ToKsDDHH_D0ToHH_line( def doublecharm_D0ToKsLLHH_line(name="Hlt2BandQ_DoubleCharm_D0ToKsLLHHFull", prescale=1, persistreco=True): - line_alg = doublecharm.make_doublecharm_D0ToKsLLHH() + line_alg = doublecharm.make_doublecharm_D0ToKsLLHH(process=PROCESS) return Hlt2Line( name=name, algs=make_prefilters() + [line_alg], @@ -441,7 +441,8 @@ def doublecharm_D0ToKsLLHH_D0ToKsDDHH_line( name="Hlt2BandQ_DoubleCharm_D0ToKsLLHH_D0ToKsDDHHFull", prescale=1, persistreco=True): - line_alg = doublecharm.make_doublecharm_D0ToKsLLHH_D0ToKsDDHH() + line_alg = doublecharm.make_doublecharm_D0ToKsLLHH_D0ToKsDDHH( + process=PROCESS) return Hlt2Line( name=name, algs=make_prefilters() + [line_alg], @@ -454,7 +455,7 @@ def doublecharm_D0ToKsLLHH_D0ToKsDDHH_line( def doublecharm_D0ToKsDDHH_line(name="Hlt2BandQ_DoubleCharm_D0ToKsDDHHFull", prescale=1, persistreco=True): - line_alg = doublecharm.make_doublecharm_D0ToKsDDHH() + line_alg = doublecharm.make_doublecharm_D0ToKsDDHH(process=PROCESS) return Hlt2Line( name=name, algs=make_prefilters() + [line_alg], @@ -468,7 +469,7 @@ def doublecharm_D0ToHHHH_D0ToHH_line( name="Hlt2BandQ_DoubleCharm_D0ToHHHH_D0ToHHFull", prescale=1, persistreco=True): - line_alg = doublecharm.make_doublecharm_D0ToHHHH_D0ToHH() + line_alg = doublecharm.make_doublecharm_D0ToHHHH_D0ToHH(process=PROCESS) return Hlt2Line( name=name, algs=make_prefilters() + [line_alg], @@ -482,7 +483,8 @@ def doublecharm_D0ToHHHH_D0ToKsLLHH_line( name="Hlt2BandQ_DoubleCharm_D0ToHHHH_D0ToKsLLHHFull", prescale=1, persistreco=True): - line_alg = doublecharm.make_doublecharm_D0ToHHHH_D0ToKsLLHH() + line_alg = doublecharm.make_doublecharm_D0ToHHHH_D0ToKsLLHH( + process=PROCESS) return Hlt2Line( name=name, algs=make_prefilters() + [line_alg], @@ -496,7 +498,8 @@ def doublecharm_D0ToHHHH_D0ToKsDDHH_line( name="Hlt2BandQ_DoubleCharm_D0ToHHHH_D0ToKsDDHHFull", prescale=1, persistreco=True): - line_alg = doublecharm.make_doublecharm_D0ToHHHH_D0ToKsDDHH() + line_alg = doublecharm.make_doublecharm_D0ToHHHH_D0ToKsDDHH( + process=PROCESS) return Hlt2Line( name=name, algs=make_prefilters() + [line_alg], @@ -509,7 +512,7 @@ def doublecharm_D0ToHHHH_D0ToKsDDHH_line( def doublecharm_D0ToHHHH_line(name="Hlt2BandQ_DoubleCharm_D0ToHHHHFull", prescale=1, persistreco=True): - line_alg = doublecharm.make_doublecharm_D0ToHHHH() + line_alg = doublecharm.make_doublecharm_D0ToHHHH(process=PROCESS) return Hlt2Line( name=name, algs=make_prefilters() + [line_alg], diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bandq/spruce_bandq.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bandq/spruce_bandq.py index f209ca734ed..481bc546453 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bandq/spruce_bandq.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bandq/spruce_bandq.py @@ -88,6 +88,7 @@ def Psi2SToMuMuTightPrompt_sprucing_line( ####################### #Move persistReco=True Turbo dimuon lines into full stream + sprucing, to avoid overlap with other streams +#Remove persistReco=True label in stripping for MDST lines in Run2: https://lhcbdoc.web.cern.ch/lhcbdoc/stripping/config/stripping34/index.html ###################### @register_line_builder(sprucing_lines) @configurable @@ -110,7 +111,7 @@ def DiMuonInc_sprucing_line(name='SpruceBandQ_DiMuonInc', prescale=1): name=name, algs=make_prefilters() + [line_alg], prescale=prescale, - persistreco=True, + persistreco=False, hlt2_filter_code=["Hlt2BandQ_DiMuonIncFullDecision"]) @@ -123,7 +124,7 @@ def DiMuonSameSignInc_sprucing_line(name='SpruceBandQ_DiMuonSameSignInc', name=name, algs=make_prefilters() + [line_alg], prescale=prescale, - persistreco=True, + persistreco=False, hlt2_filter_code=["Hlt2BandQ_DiMuonSameSignIncFullDecision"]) @@ -136,7 +137,7 @@ def DiMuonIncHighPT_sprucing_line(name='SpruceBandQ_DiMuonIncHighPT', name=name, algs=make_prefilters() + [line_alg], prescale=prescale, - persistreco=True, + persistreco=False, hlt2_filter_code=["Hlt2BandQ_DiMuonIncHighPTFullDecision"]) @@ -149,7 +150,7 @@ def DiMuonSameSignIncHighPT_sprucing_line( name=name, algs=make_prefilters() + [line_alg], prescale=prescale, - persistreco=True, + persistreco=False, hlt2_filter_code=["Hlt2BandQ_DiMuonSameSignIncHighPTFullDecision"]) @@ -1598,7 +1599,7 @@ def Omegab_for_spectroscopy_SL_sprucing_line( @configurable def doublecharm_samesign_sprucing_line(name='SpruceBandQ_DoubleCharmSameSign', prescale=1): - line_alg = doublecharm.make_doublecharm_samesign() + line_alg = doublecharm.make_doublecharm_samesign(process=PROCESS) return SpruceLine( name=name, algs=make_prefilters() + [line_alg], @@ -1611,7 +1612,7 @@ def doublecharm_samesign_sprucing_line(name='SpruceBandQ_DoubleCharmSameSign', @configurable def doublecharm_oppositesign_sprucing_line( name='SpruceBandQ_DoubleCharmOppositeSign', prescale=1): - line_alg = doublecharm.make_doublecharm_oppositesign() + line_alg = doublecharm.make_doublecharm_oppositesign(process=PROCESS) return SpruceLine( name=name, algs=make_prefilters() + [line_alg], @@ -1624,7 +1625,7 @@ def doublecharm_oppositesign_sprucing_line( @configurable def doublecharm_D0ToHH_sprucing_line(name='SpruceBandQ_DoubleCharm_D0ToHH', prescale=1): - line_alg = doublecharm.make_doublecharm_D0ToHH() + line_alg = doublecharm.make_doublecharm_D0ToHH(process=PROCESS) return SpruceLine( name=name, algs=make_prefilters() + [line_alg], @@ -1637,7 +1638,7 @@ def doublecharm_D0ToHH_sprucing_line(name='SpruceBandQ_DoubleCharm_D0ToHH', @configurable def doublecharm_D0ToKsLLHH_D0ToHH_sprucing_line( name='SpruceBandQ_DoubleCharm_D0ToKsLLHH_D0ToHH', prescale=1): - line_alg = doublecharm.make_doublecharm_D0ToKsLLHH_D0ToHH() + line_alg = doublecharm.make_doublecharm_D0ToKsLLHH_D0ToHH(process=PROCESS) return SpruceLine( name=name, algs=make_prefilters() + [line_alg], @@ -1652,7 +1653,7 @@ def doublecharm_D0ToKsLLHH_D0ToHH_sprucing_line( @configurable def doublecharm_D0ToKsDDHH_D0ToHH_sprucing_line( name='SpruceBandQ_DoubleCharm_D0ToKsDDHH_D0ToHH', prescale=1): - line_alg = doublecharm.make_doublecharm_D0ToKsDDHH_D0ToHH() + line_alg = doublecharm.make_doublecharm_D0ToKsDDHH_D0ToHH(process=PROCESS) return SpruceLine( name=name, algs=make_prefilters() + [line_alg], @@ -1667,7 +1668,7 @@ def doublecharm_D0ToKsDDHH_D0ToHH_sprucing_line( @configurable def doublecharm_D0ToKsLLHH_sprucing_line( name='SpruceBandQ_DoubleCharm_D0ToKsLLHH', prescale=1): - line_alg = doublecharm.make_doublecharm_D0ToKsLLHH() + line_alg = doublecharm.make_doublecharm_D0ToKsLLHH(process=PROCESS) return SpruceLine( name=name, algs=make_prefilters() + [line_alg], @@ -1680,7 +1681,8 @@ def doublecharm_D0ToKsLLHH_sprucing_line( @configurable def doublecharm_D0ToKsLLHH_D0ToKsDDHH_sprucing_line( name='SpruceBandQ_DoubleCharm_D0ToKsLLHH_D0ToKsDDHH', prescale=1): - line_alg = doublecharm.make_doublecharm_D0ToKsLLHH_D0ToKsDDHH() + line_alg = doublecharm.make_doublecharm_D0ToKsLLHH_D0ToKsDDHH( + process=PROCESS) return SpruceLine( name=name, algs=make_prefilters() + [line_alg], @@ -1695,7 +1697,7 @@ def doublecharm_D0ToKsLLHH_D0ToKsDDHH_sprucing_line( @configurable def doublecharm_D0ToKsDDHH_sprucing_line( name='SpruceBandQ_DoubleCharm_D0ToKsDDHH', prescale=1): - line_alg = doublecharm.make_doublecharm_D0ToKsDDHH() + line_alg = doublecharm.make_doublecharm_D0ToKsDDHH(process=PROCESS) return SpruceLine( name=name, algs=make_prefilters() + [line_alg], @@ -1708,7 +1710,7 @@ def doublecharm_D0ToKsDDHH_sprucing_line( @configurable def doublecharm_D0ToHHHH_D0ToHH_sprucing_line( name='SpruceBandQ_DoubleCharm_D0ToHHHH_D0ToHH', prescale=1): - line_alg = doublecharm.make_doublecharm_D0ToHHHH_D0ToHH() + line_alg = doublecharm.make_doublecharm_D0ToHHHH_D0ToHH(process=PROCESS) return SpruceLine( name=name, algs=make_prefilters() + [line_alg], @@ -1721,7 +1723,8 @@ def doublecharm_D0ToHHHH_D0ToHH_sprucing_line( @configurable def doublecharm_D0ToHHHH_D0ToKsLLHH_sprucing_line( name='SpruceBandQ_DoubleCharm_D0ToHHHH_D0ToKsLLHH', prescale=1): - line_alg = doublecharm.make_doublecharm_D0ToHHHH_D0ToKsLLHH() + line_alg = doublecharm.make_doublecharm_D0ToHHHH_D0ToKsLLHH( + process=PROCESS) return SpruceLine( name=name, algs=make_prefilters() + [line_alg], @@ -1736,7 +1739,8 @@ def doublecharm_D0ToHHHH_D0ToKsLLHH_sprucing_line( @configurable def doublecharm_D0ToHHHH_D0ToKsDDHH_sprucing_line( name='SpruceBandQ_DoubleCharm_D0ToHHHH_D0ToKsDDHH', prescale=1): - line_alg = doublecharm.make_doublecharm_D0ToHHHH_D0ToKsDDHH() + line_alg = doublecharm.make_doublecharm_D0ToHHHH_D0ToKsDDHH( + process=PROCESS) return SpruceLine( name=name, algs=make_prefilters() + [line_alg], @@ -1751,7 +1755,7 @@ def doublecharm_D0ToHHHH_D0ToKsDDHH_sprucing_line( @configurable def doublecharm_D0ToHHHH_sprucing_line(name='SpruceBandQ_DoubleCharm_D0ToHHHH', prescale=1): - line_alg = doublecharm.make_doublecharm_D0ToHHHH() + line_alg = doublecharm.make_doublecharm_D0ToHHHH(process=PROCESS) return SpruceLine( name=name, algs=make_prefilters() + [line_alg], diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charmonium_to_dimuon.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charmonium_to_dimuon.py index 9b768c2fb69..bda9026598c 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charmonium_to_dimuon.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/charmonium_to_dimuon.py @@ -234,7 +234,8 @@ def make_jpsi(name='jpsi_{hash}', minPt_muon=300 * MeV, minP_muon=0 * MeV, minPt_Jpsi=0 * MeV, - maxVertexChi2=25): + maxVertexChi2=25, + minPIDmu=_PIDMU_JPSI): code = (F.PT > minPt_Jpsi) @@ -243,7 +244,7 @@ def make_jpsi(name='jpsi_{hash}', minPt_dimuon=minPt_Jpsi, minPt_muon=minPt_muon, minP_muon=minP_muon, - minPIDmu=_PIDMU_JPSI, + minPIDmu=minPIDmu, minMass_dimuon=minMass_dimuon, maxMass_dimuon=maxMass_dimuon, maxVertexChi2=maxVertexChi2) @@ -259,7 +260,8 @@ def make_psi2s(name='psi2s_{hash}', minP_muon=0 * MeV, minPt_Psi2S=0 * MeV, maxPt_Psi2S=100000.0 * GeV, - maxVertexChi2=25): + maxVertexChi2=25, + minPIDmu=_PIDMU_PSI2S): code = F.require_all(F.PT > minPt_Psi2S, F.PT < maxPt_Psi2S) @@ -268,7 +270,7 @@ def make_psi2s(name='psi2s_{hash}', minPt_dimuon=minPt_Psi2S, minPt_muon=minPt_muon, minP_muon=minP_muon, - minPIDmu=_PIDMU_PSI2S, + minPIDmu=minPIDmu, minMass_dimuon=minMass_dimuon, maxMass_dimuon=maxMass_dimuon, maxVertexChi2=maxVertexChi2) -- GitLab From 86ba4896f187d0079680947583b19ce58b0aecaf Mon Sep 17 00:00:00 2001 From: Adrian Casais Vidal Date: Fri, 12 Apr 2024 17:31:03 +0200 Subject: [PATCH 17/51] Update DiElectronLowMass line names --- .../lines/qee/dielectron_persist_photons.py | 44 +++++++++---------- 1 file changed, 20 insertions(+), 24 deletions(-) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/dielectron_persist_photons.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/dielectron_persist_photons.py index 027e8c3ecc9..a0f5d4dfbd3 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/dielectron_persist_photons.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/dielectron_persist_photons.py @@ -100,8 +100,8 @@ def dielectron_sp_prompt_line(name='Hlt2QEE_DiElectronPrompt_PersistPhotons', persistreco=False, e_minpt=0., make_pvs=make_pvs): - """Aiming for prompt pi0/eta -> gamma e+ e- decays. Label the dielectron - as J/psi(1S) [during brem-recovery-reconstruction of dielectron pair] and + """Aiming for prompt pi0/eta -> gamma e+ e- decays. Label the dielectron + as J/psi(1S) [during brem-recovery-reconstruction of dielectron pair] and save photons if Pi0/eta in mass range of [5, 600]MeV.""" pvs = make_pvs() @@ -120,9 +120,7 @@ def dielectron_sp_prompt_line(name='Hlt2QEE_DiElectronPrompt_PersistPhotons', SelectionFromWeightedRelationTable( InputRelations=photons_table.OutputRelations))], prescale=prescale, - hlt1_filter_code=[ - "Hlt1LowMass(NoipDie|DiE)lectron_massSlice.*_promptDecision" - ]) + hlt1_filter_code=["Hlt1DiElectronLowMass_massSlice.*_promptDecision"]) @register_line_builder(full_lines) @@ -133,9 +131,9 @@ def dielectron_sp_prompt_line_full( persistreco=True, e_minpt=0., make_pvs=make_pvs): - """Copy of turbo line, but strongly prescaled, which allows full-event - studies e.g. of brem correction and background template for e+e- pairs - combined with a random photon (4-vector deduced from e+e- in same event + """Copy of turbo line, but strongly prescaled, which allows full-event + studies e.g. of brem correction and background template for e+e- pairs + combined with a random photon (4-vector deduced from e+e- in same event and charged pion momentum)""" pvs = make_pvs() @@ -157,9 +155,7 @@ def dielectron_sp_prompt_line_full( InputRelations=photons_table.OutputRelations)), ('ChargedPions', extra_pions)], prescale=prescale, - hlt1_filter_code=[ - "Hlt1LowMass(NoipDie|DiE)lectron_massSlice.*_promptDecision" - ]) + hlt1_filter_code=["Hlt1DiElectronLowMass_massSlice.*_promptDecision"]) # OS displaced lines (one to turbo, prescaled to full) @@ -171,8 +167,8 @@ def dielectron_sp_displaced_line( persistreco=False, e_minpt=0., make_pvs=make_pvs): - """Aiming for displaced pi0/eta -> gamma e+ e- decays. Label the - dielectron as J/psi(1S) [during brem-recovery-reconstruction of dielectron + """Aiming for displaced pi0/eta -> gamma e+ e- decays. Label the + dielectron as J/psi(1S) [during brem-recovery-reconstruction of dielectron pair] and save photons if Pi0/eta in mass range of [5, 600]MeV.""" pvs = make_pvs() @@ -193,7 +189,7 @@ def dielectron_sp_displaced_line( InputRelations=photons_table.OutputRelations))], prescale=prescale, hlt1_filter_code=[ - "Hlt1LowMass(NoipDie|DiE)lectron_massSlice.*_displacedDecision" + "Hlt1DiElectronLowMass_massSlice.*_displacedDecision" ]) @@ -205,9 +201,9 @@ def dielectron_sp_displaced_line_full( persistreco=True, e_minpt=0., make_pvs=make_pvs): - """Copy of turbo line, but strongly prescaled, which allows full-event - studies e.g. of brem correction and background template for e+e- pairs - combined with a random photon (4-vector deduced from e+e- in same event + """Copy of turbo line, but strongly prescaled, which allows full-event + studies e.g. of brem correction and background template for e+e- pairs + combined with a random photon (4-vector deduced from e+e- in same event and charged pion momentum)""" pvs = make_pvs() @@ -231,7 +227,7 @@ def dielectron_sp_displaced_line_full( ('ChargedPions', extra_pions)], prescale=prescale, hlt1_filter_code=[ - "Hlt1LowMass(NoipDie|DiE)lectron_massSlice.*_displacedDecision" + "Hlt1DiElectronLowMass_massSlice.*_displacedDecision" ]) @@ -243,8 +239,8 @@ def dielectron_sp_prompt_same_sign_line( persistreco=False, e_minpt=0., make_pvs=make_pvs): - """Aiming for prompt pi0/eta -> gamma e+ e+ or gamma e- e- decays. Label - the doubly-charged dielectron as J/psi(1S) and save photons if Pi0/eta in + """Aiming for prompt pi0/eta -> gamma e+ e+ or gamma e- e- decays. Label + the doubly-charged dielectron as J/psi(1S) and save photons if Pi0/eta in mass range of [5, 600]MeV.""" pvs = make_pvs() @@ -264,7 +260,7 @@ def dielectron_sp_prompt_same_sign_line( InputRelations=photons_table.OutputRelations))], prescale=prescale, hlt1_filter_code=[ - "Hlt1LowMass(NoipDie|DiE)lectron_SS_massSlice.*_promptDecision" + "Hlt1DiElectronLowMass_SS_massSlice.*_promptDecision" ]) @@ -276,8 +272,8 @@ def dielectron_sp_displaced_same_sign_line( persistreco=False, e_minpt=0., make_pvs=make_pvs): - """Aiming for displaced pi0/eta -> gamma e+ e+ or gamma e- e- decays. - Label the doubly-charged dielectron as J/psi(1S) and save photons if + """Aiming for displaced pi0/eta -> gamma e+ e+ or gamma e- e- decays. + Label the doubly-charged dielectron as J/psi(1S) and save photons if Pi0/eta in mass range of [5, 600]MeV.""" pvs = make_pvs() @@ -298,5 +294,5 @@ def dielectron_sp_displaced_same_sign_line( InputRelations=photons_table.OutputRelations))], prescale=prescale, hlt1_filter_code=[ - "Hlt1LowMass(NoipDie|DiE)lectron_SS_massSlice.*_displacedDecision" + "Hlt1DiElectronLowMass_SS_massSlice.*_displacedDecision" ]) -- GitLab From 5a12c8f1d37e91b08d511c1b9b8f4df00afd096f Mon Sep 17 00:00:00 2001 From: Rongrong Song Date: Mon, 15 Apr 2024 09:45:41 +0200 Subject: [PATCH 18/51] Add vertexmonitor to hlt2lines --- .../Hlt2Conf/lines/b_to_charmonia/hlt2_b2cc.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/hlt2_b2cc.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/hlt2_b2cc.py index c4987df90ec..93df272bddc 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/hlt2_b2cc.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/hlt2_b2cc.py @@ -15,6 +15,9 @@ from Moore.config import Hlt2Line, register_line_builder from Hlt2Conf.lines.b_to_charmonia.prefilters import b2cc_prefilters from Hlt2Conf.lines.b_to_charmonia import b_to_jpsix, b_to_jpsix0 +from RecoConf.hlt2_global_reco import make_pvs, make_tracks +from PyConf.Algorithms import TrackSelectionMerger, TrackVertexMonitor + PROCESS = 'hlt2' all_lines = {} @@ -54,10 +57,22 @@ def BsToJpsiPhi_line(name='Hlt2B2CC_BsToJpsiPhi', prescale=0.1, persistreco=False): line_alg = b_to_jpsix.make_BsToJpsiPhi_line(process=PROCESS) + + long_tracks = make_tracks(track_type="Long") + velo_tracks = make_tracks(track_type="Velo") + tracks = TrackSelectionMerger( + InputLocations=[long_tracks, velo_tracks]).OutputLocation + + pvs = make_pvs() + vertex_moni = TrackVertexMonitor( + name=name + "_TrackVertexMonitor", + PVContainer=pvs, + TrackContainer=tracks) + return Hlt2Line( name=name, prescale=prescale, - algs=b2cc_prefilters() + line_alg, + algs=b2cc_prefilters() + line_alg + [vertex_moni], persistreco=persistreco, pv_tracks=True) -- GitLab From 647c9ea6205a03a9eef2a502093660047ff68013 Mon Sep 17 00:00:00 2001 From: Izaac Sanderswood Date: Mon, 15 Apr 2024 09:49:18 +0200 Subject: [PATCH 19/51] [QEE] branch to collect contributions aiming for April12th. BW is Influenced by https://gitlab.cern.ch/lhcb/Allen/-/merge_requests/1372 --- .../lines/qee/b_to_majolep_majo_to_leplep.py | 336 ++++++++++-------- .../python/Hlt2Conf/lines/qee/dimuon_no_ip.py | 12 +- .../python/Hlt2Conf/lines/qee/drellyan.py | 48 ++- .../Hlt2Conf/lines/qee/high_mass_dielec.py | 2 +- .../Hlt2Conf/lines/qee/high_mass_dimuon.py | 2 +- .../python/Hlt2Conf/lines/qee/hlt2_qee.py | 2 + .../python/Hlt2Conf/lines/qee/jets.py | 175 +++++---- .../python/Hlt2Conf/lines/qee/qee_builders.py | 280 +++++++++++++-- .../python/Hlt2Conf/lines/qee/spruce_qee.py | 95 +++-- .../Hlt2Conf/lines/qee/top_muon_elec.py | 6 +- .../python/Hlt2Conf/lines/qee/ttrack_llps.py | 217 +++++++++++ .../python/Hlt2Conf/lines/qee/vjets.py | 45 ++- .../lines/qee/wz_boson_rare_decays.py | 5 +- Hlt/Hlt2Conf/python/Hlt2Conf/standard_jets.py | 29 +- .../python/Hlt2Conf/standard_particles.py | 40 ++- 15 files changed, 968 insertions(+), 326 deletions(-) create mode 100644 Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/ttrack_llps.py diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/b_to_majolep_majo_to_leplep.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/b_to_majolep_majo_to_leplep.py index fb9038771e8..fd4b256b12a 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/b_to_majolep_majo_to_leplep.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/b_to_majolep_majo_to_leplep.py @@ -36,173 +36,217 @@ Contact: Louis Henry, louis.henry@cern.ch """ from Moore.config import register_line_builder from Moore.lines import Hlt2Line -from GaudiKernel.SystemOfUnits import MeV +from GaudiKernel.SystemOfUnits import MeV, GeV -from Hlt2Conf.standard_particles import ( - make_long_muons, make_long_electrons_with_brem, make_down_muons, - make_down_electrons_no_brem) +from Hlt2Conf.standard_particles import (make_long_muons, + make_long_electrons_with_brem) +from Functors.math import in_range +from Hlt2Conf.algorithms_thor import ParticleCombiner -from RecoConf.reconstruction_objects import make_pvs - -from Hlt2Conf.lines.qee.qee_builders import make_majorana_lepton, make_bhadron_majorana, hnl_prefilter, make_majorana +from Hlt2Conf.lines.qee.qee_builders import hnl_prefilter, make_filter_tracks import Functors as F all_lines = {} _HNL_MONITORING_VARIABLES = ("pt", "eta", "vchi2", "ipchi2", "n_candidates") -_defaultCutDict = { - "Bachelor_MIN_PT": 700 * MeV, - "Child1_MIN_PT": 700 * MeV, - "Child2_MIN_PT": 700 * MeV, +defaultCutDict = { + "AllTracks": { + "P": 2000. * MeV + }, + "Children": { + "MINIPCHI2PV": 200 + }, + "Bachelor": {}, + "Child1": {}, + "Child2": {}, + "Majo": { + "FDCHI2MIN": 2000, + "MASS": [0.2 * GeV, 6. * GeV], + "MINIPCHI2PV": 20, + }, + "B": { + "MASS": [4. * GeV, 7. * GeV] + } } +child_muon_pidCut = [F.ISMUON, F.PID_MU > 0.] +bach_muon_pidCut = [F.PID_MU > 2] + +electron_pidCut = [F.PID_E > -2] + +particle_makers = {"e": make_long_electrons_with_brem, "mu": make_long_muons} + + +#Build a cut from a list of functors +def buildFromList(cutList): + toReturn = F.ALL + for i in range(0, len(cutList)): + toReturn &= cutList[i] + return toReturn + + +#Build a cut from a dictionnary +def build_cut_on_track(cutDict, pvs): + listOfFunctors = [] + for cut, cutVal in cutDict.items(): + if cut == "PIDCuts": + listOfFunctors += cutVal + elif cut == "MASS": + listOfFunctors.append(in_range(cutVal[0], F.MASS, cutVal[1])) + else: + functors = { + "P": F.P, + "PT": F.PT, + "MINIPCHI2PV": F.MINIPCHI2(pvs()), + "FDCHI2MIN": F.BPVFDCHI2(pvs()) + } + listOfFunctors.append(functors[cut] > cutVal) + #Build the cut + return buildFromList(listOfFunctors) + + +def build_combination_cut(cutDict, pvs): + listOfFunctors = [] + for cut, cutVal in cutDict.items(): + if cut == "MASS": + listOfFunctors.append(in_range(cutVal[0], F.MASS, cutVal[1])) + #Build the cut + return buildFromList(listOfFunctors) def builder_BToMajoL_line(name, - cutDict=_defaultCutDict, + bachelorName, + children, + cutDict={}, prescale=1, persistreco=True): + from RecoConf.reconstruction_objects import make_pvs pvs = make_pvs # Interpret name into a B decay - bachelorName = "mu" if name.find("MajoMu") != -1 else "e" - bachelorContainer = { - "mu": make_long_muons, - "e": make_long_electrons_with_brem - }[bachelorName] - bachelorAddCuts = {"mu": {"pid": F.ISMUON}, "e": {}}[bachelorName] - bachelorContName = { - "mu": "majo_long_muons_{hash}", - "e": "majo_long_electrons_with_brem_{hash}" - }[bachelorName] - #Interpret name into a majorana constructor - - recoMode = "LL" if name.find("LL") != -1 else "DD" - recoName1 = {"L": "long", "D": "down"}[recoMode[0]] - recoName2 = {"L": "long", "D": "down"}[recoMode[1]] - children = ("mu", "mu") if name.find("ToMuMu") != -1 else ( - "e", "e") if name.find("ToEE") != -1 else ( - "mu", "e") if name.find("SS") != -1 else ("e", "mu") - descr = "[KS0 -> " + children[0] + "+ " + children[1] + "-]cc" - constructors = { - "LL": { - "mu": make_long_muons, - "e": make_long_electrons_with_brem - }, - "DD": { - "mu": make_down_muons, - "e": make_down_electrons_no_brem - } - } - childrenNames = { - "mu_long": "long_muons", - "mu_down": "down_muons", - "e_long": "long_electrons_with_brem", - "e_down": "down_electrons_without_brem", - } - childName1 = childrenNames[children[0] + "_" + recoName1] - childName2 = childrenNames[children[1] + "_" + recoName2] - addCut1 = {} - addCut2 = {} - if recoMode == "DD": - addCut1["mipchi2dvprimary_min"] = None - addCut2["mipchi2dvprimary_min"] = None - - if children[0] == "muons": - addCut1["pid"] = F.ISMUON - if children[1] == "muons": - addCut2["pid"] = F.ISMUON - firstChild = make_majorana_lepton( - leptons=constructors[recoMode][children[0]], - name="majo_" + childName1 + "_{hash}", - pvs=pvs, - pt_min=cutDict["Child1_MIN_PT"], - **(addCut1)) - secondChild = make_majorana_lepton( - leptons=constructors[recoMode][children[1]], - name="majo_" + childName2 + "_{hash}", - pvs=pvs, - pt_min=cutDict["Child2_MIN_PT"], - **(addCut2)) - majo = make_majorana( + majoDecayDescr = "KS0 -> " + children[0] + "+ " + children[1] + "-" + recoMode = "LL" if "LL" in name else "DD" + # Build the cut dictionnaries + # Add all default cuts + for key1, val1 in defaultCutDict.items(): + if key1 not in cutDict: + cutDict[key1] = val1 + else: + for key2, val2 in val1.items(): + if key2 not in cutDict[key1]: + cutDict[key1][key2] = val2 + # Apply Children and AllTracks cuts + for key, val in cutDict["Children"].items(): + for child in ["Child1", "Child2"]: + if key not in cutDict[child]: + cutDict[child][key] = val + for key, val in cutDict["AllTracks"].items(): + for recTrack in ["Bachelor", "Child1", "Child2"]: + if key not in cutDict[recTrack]: + cutDict[recTrack][key] = val + # Apply PID cuts + cutDict["Bachelor"][ + "PIDCuts"] = bach_muon_pidCut if bachelorName == "mu" else electron_pidCut + cutDict["Child1"]["PIDCuts"] = child_muon_pidCut if children[ + 0] == "mu" else electron_pidCut + cutDict["Child2"]["PIDCuts"] = child_muon_pidCut if children[ + 1] == "mu" else electron_pidCut + + # Make particles and decays + firstChild = make_filter_tracks( + make_particles=particle_makers[children[0]], + name="majo_" + children[0] + "_{hash}", + additionalCuts=build_cut_on_track(cutDict["Child1"], pvs)) + secondChild = make_filter_tracks( + make_particles=particle_makers[children[1]], + name="majo_" + children[1] + "_{hash}", + additionalCuts=build_cut_on_track(cutDict["Child2"], pvs)) + majo = ParticleCombiner( + [firstChild, secondChild], name="Majo2" + children[0] + children[1] + "_" + recoMode + "_{hash}", - child1=firstChild, - child2=secondChild, - descriptor=descr) + DecayDescriptor=majoDecayDescr, + CombinationCut=build_combination_cut(cutDict["Majo"], pvs), + CompositeCut=build_cut_on_track(cutDict["Majo"], pvs)) #Bachelor - bachelor = make_majorana_lepton( - leptons=bachelorContainer, - name=bachelorContName, - pvs=pvs, - pt_min=cutDict["Bachelor_MIN_PT"], - **bachelorAddCuts) + bachelor = make_filter_tracks( + make_particles=particle_makers[bachelorName], + name="bachelor_{hash}", + additionalCuts=build_cut_on_track(cutDict["Bachelor"], pvs)) #Decay - b2LN = make_bhadron_majorana( - name=name + '_{hash}', - majoranas=majo, - bachelor=bachelor, - pvs=pvs, - descriptor='[B+ -> KS0 ' + bachelorName + '+]cc') - + b2LN = ParticleCombiner( + [majo, bachelor], + name=name + "_{hash}", + DecayDescriptor='[B+ -> KS0 ' + bachelorName + '+]cc', + CombinationCut=build_combination_cut(cutDict["B"], pvs), + CompositeCut=build_cut_on_track(cutDict["B"], pvs)) + + # Define monitoring + from SelAlgorithms.monitoring import monitor, histogram_1d + mons = [] + for ptName, pt in [("Child1", firstChild), ("Child2", secondChild), + ("N", majo)]: + hists = [] + for var, varName, varRange in [(F.P, "P", (0, 10000)), + (F.PT, "PT", (0, 2000)), + (F.MINIPCHI2(pvs()), "MINIPCHI2", + (0, 1000))]: + hists.append( + histogram_1d( + name=f"/{name}/{ptName}_{varName}", + title=f"/{name}/{ptName}_{varName}", + label=varName, + functor=var, + bins=1000, + range=varRange)) + + mons.append( + monitor( + name=f"Monitor__{name}__{ptName}", data=pt, histograms=hists)) + if ptName == "Child1" or ptName == "Child2": + child_specific_hists = [] + for var, varName, varRange in [(F.CHI2DOF, "TRCHI2NDOF", (0, 50)), + (F.GHOSTPROB, "GhostProb", (0, 1))]: + + child_specific_hists.append( + histogram_1d( + name=f"Monitor__{name}__{ptName}_{varName}", + title=f"{name}__{ptName}_{varName}", + label=varName, + functor=var, + bins=100, + range=varRange)) + mons.append( + monitor( + name=f"Monitor__{name}__{ptName}__child_specific", + data=pt, + histograms=child_specific_hists)) return Hlt2Line( name=name, - algs=hnl_prefilter() + [majo, b2LN], + algs=hnl_prefilter(require_GEC=True) + [b2LN] + mons, prescale=prescale, monitoring_variables=_HNL_MONITORING_VARIABLES) -@register_line_builder(all_lines) -def BpToMajoMu_MajoToMuMu_LL_Tight_line( - name="Hlt2QEE_BpToMajoMu_MajoToMuMu_LL_Tight"): - return builder_BToMajoL_line(name) - - -@register_line_builder(all_lines) -def BpToMajoMu_MajoToMuE_LL_Tight_line( - name="Hlt2QEE_BpToMajoMu_MajoToMuE_SS_LL_Tight"): - return builder_BToMajoL_line(name) - - -@register_line_builder(all_lines) -def BpToMajoMu_MajoToEMu_LL_Tight_line( - name="Hlt2QEE_BpToMajoMu_MajoToEMu_OS_LL_Tight"): - return builder_BToMajoL_line(name) - - -@register_line_builder(all_lines) -def BpToMajoMu_MajoToEE_LL_Tight_line( - name="Hlt2QEE_BpToMajoMu_MajoToEE_LL_Tight", - cutDict={ - "Bachelor_MIN_PT": 1000 * MeV, - "Child1_MIN_PT": 1000 * MeV, - "Child2_MIN_PT": 1000 * MeV, - }): - return builder_BToMajoL_line(name, cutDict) - - -# B-> eN -@register_line_builder(all_lines) -def BpToMajoE_MajoToMuMu_LL_Tight_line( - name="Hlt2QEE_BpToMajoE_MajoToMuMu_LL_Tight"): - return builder_BToMajoL_line(name) - - -@register_line_builder(all_lines) -def BpToMajoE_MajoToMuE_LL_Tight_line( - name="Hlt2QEE_BpToMajoE_MajoToMuE_SS_LL_Tight"): - return builder_BToMajoL_line(name) - - -@register_line_builder(all_lines) -def BpToMajoE_MajoToEMu_LL_Tight_line( - name="Hlt2QEE_BpToMajoE_MajoToEMu_OS_LL_Tight"): - return builder_BToMajoL_line(name) - - -@register_line_builder(all_lines) -def BpToMajoE_MajoToEE_LL_Tight_line( - name="Hlt2QEE_BpToMajoE_MajoToEE_LL_Tight", - cutDict={ - "Bachelor_MIN_PT": 1000 * MeV, - "Child1_MIN_PT": 1000 * MeV, - "Child2_MIN_PT": 1000 * MeV, - }): - return builder_BToMajoL_line(name, cutDict) +for bachelor in ["mu", "e"]: + for children in [("mu", "mu"), ("mu", "e"), ("e", "mu"), ("e", "e")]: + name = f"Hlt2QEE_BpToMajo{bachelor.capitalize()}_MajoTo{children[0].capitalize()}{children[1].capitalize()}_LL_Tight" + if children != ("e", "e"): + + @register_line_builder(all_lines) + def make_line(name=name, bachelor=bachelor, children=children): + return builder_BToMajoL_line(name, bachelor, children) + else: + + @register_line_builder(all_lines) + def make_line(name=name, bachelor=bachelor, children=children): + return builder_BToMajoL_line( + name, + bachelor, + children, + cutDict={ + "Children": { + "MINIPCHI2PV": 500, + "PT": 500 * MeV + }, + "Majo": { + "FDCHI2MIN": 3000, + }, + }) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/dimuon_no_ip.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/dimuon_no_ip.py index d243596c50b..298048882ea 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/dimuon_no_ip.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/dimuon_no_ip.py @@ -31,15 +31,9 @@ turbo_lines = {} full_lines = {} -def filter_muons(particles, - pvs, - min_ipchi2, - pid_mu, - p_min=5 * GeV, - trchi2_max=3): +def filter_muons(particles, pvs, min_ipchi2, pid_mu, p_min=5 * GeV): cut = require_all( F.P > p_min, - F.CHI2DOF < trchi2_max, F.MINIPCHI2CUT(IPChi2Cut=min_ipchi2, Vertices=pvs), ) if pid_mu: @@ -264,7 +258,7 @@ def displaceddimuon_ss_line(name="Hlt2QEE_DisplacedDiMuon_ss", prescale=.1): @register_line_builder(full_lines) def dimuonnoip_full_event_line( - name="Hlt2QEE_DiMuonNoIP_prescaledFullEventFull", + name="Hlt2QEE_DiMuonNoIP_Full", prescale=.001): #prescale down to an acceptable rate pvs = make_pvs() dimuonnoip = make_dimuons(pvs, pid_mu=None) @@ -278,7 +272,7 @@ def dimuonnoip_full_event_line( @register_line_builder(full_lines) def dimuonnoip_full_event_ss_line( - name="Hlt2QEE_DiMuonNoIP_prescaledFullEvent_ssFull", + name="Hlt2QEE_DiMuonNoIP_ssFull", prescale=.001): #prescale down to an acceptable rate pvs = make_pvs() dimuonnoip = make_dimuons(pvs, opposite_sign=False, pid_mu=None) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/drellyan.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/drellyan.py index 335dc591417..7cd1a2db764 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/drellyan.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/drellyan.py @@ -40,13 +40,15 @@ all_lines = {} ### Line configuration mass_ranges = [ - [2.9 * GeV, 5.0 * GeV, "VLowMass", 0.2, + [2.9 * GeV, 5.0 * GeV, "VLowMass", 0.2, True, True], # first two arguments: min/max - [5.0 * GeV, 10. * GeV, "LowMass", 0.5, True], # third argument: name - [10. * GeV, 400 * GeV, "Nominal", 1.0, True] + [5.0 * GeV, 10. * GeV, "LowMass", 0.75, True, + False], # third argument: name + [10. * GeV, 400 * GeV, "Nominal", 1.0, True, False] ] # fourth argument: prescale -# last argument: persist reco on/off +# fifth argument: persist reco on/off +# sixth argument: use softer muons @configurable @@ -55,15 +57,15 @@ def filter_muons( pvs, min_ip, max_ip, - min_probnnmu, - min_pt=1.4 * GeV, + min_pidmu, + min_pt, + min_p, min_eta=1.9, max_eta=4.9, - min_p=20. * GeV, ): muon_requirements = F.require_all( in_range(min_eta, F.ETA, max_eta), F.PT >= min_pt, F.P >= min_p, - F.PROBNN_MU >= min_probnnmu, in_range(min_ip, F.MINIP(pvs), max_ip)) + F.PID_MU >= min_pidmu, in_range(min_ip, F.MINIP(pvs), max_ip)) return ParticleFilter(particles, F.FILTER(muon_requirements)) @@ -76,7 +78,9 @@ def combine_muons_for_decay_descriptor(decay_descriptor, max_mass, min_ip, max_ip, - min_probnnmu, + min_pidmu, + min_muon_p, + min_muon_pt, max_doca=0.15 * mm, vchi2pdof_max=16): all_muons = make_ismuon_long_muon() @@ -84,7 +88,9 @@ def combine_muons_for_decay_descriptor(decay_descriptor, filtered_muons = filter_muons( all_muons, pvs, - min_probnnmu=min_probnnmu, + min_pidmu=min_pidmu, + min_p=min_muon_p, + min_pt=min_muon_pt, max_ip=max_ip, min_ip=min_ip) @@ -130,11 +136,15 @@ for is_ss in [True, False]: for mass_range in mass_ranges: prescale = mass_range[3] * displaced_prescale name = f"Hlt2QEE_DiMuon_DrellYan_{mass_range[2]}_{ss_string}_{displaced_string}" - - min_probnnmu = 0.0 # disabled option for now. + use_soft_muons = mass_range[5] + if use_soft_muons: + min_pidmu = 0 + else: + min_pidmu = -3 @register_line_builder(all_lines) def drell_yan_line(name=name, + use_soft_muons=use_soft_muons, min_mass=mass_range[0], max_mass=mass_range[1], max_ip=max_ip, @@ -142,8 +152,16 @@ for is_ss in [True, False]: is_ss=is_ss, prescale=prescale, persist_reco=mass_range[4], - min_probnnmu=min_probnnmu): + min_pidmu=min_pidmu): pvs = make_pvs() + + if use_soft_muons: + muon_min_p = 10. * GeV + muon_min_pt = 1.0 * GeV + else: + muon_min_p = 17.5 * GeV + muon_min_pt = 1.3 * GeV + dimuons = make_dimuon_candidates( is_ss, name + "_combiner", @@ -152,7 +170,9 @@ for is_ss in [True, False]: max_mass=max_mass, max_ip=max_ip, min_ip=min_ip, - min_probnnmu=min_probnnmu) + min_pidmu=min_pidmu, + min_muon_p=muon_min_p, + min_muon_pt=muon_min_pt) return Hlt2Line( name=name, diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/high_mass_dielec.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/high_mass_dielec.py index b0faefaf17a..deb875af6d1 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/high_mass_dielec.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/high_mass_dielec.py @@ -84,7 +84,7 @@ def z_to_e_e_line(name='Hlt2QEE_ZToEEFull', prescale=1, persistreco=True): @register_line_builder(all_lines) @configurable -def same_sign_dielec_line(name='Hlt2QEE_DiElectronSameSignFull', +def same_sign_dielec_line(name='Hlt2QEE_DiElectronHighMassSameSignFull', prescale=1, persistreco=True): """Z0 boson decay to two same-sign elecs line""" diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/high_mass_dimuon.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/high_mass_dimuon.py index 77ae0eae3fa..ca4285a5267 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/high_mass_dimuon.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/high_mass_dimuon.py @@ -132,7 +132,7 @@ def z_to_mu_mu_double_nomuid_line(name='Hlt2QEE_ZToMuMu_DoubleNoMuIDFull', @register_line_builder(all_lines) @configurable -def same_sign_dimuon_line(name='Hlt2QEE_DiMuonSameSignFull', +def same_sign_dimuon_line(name='Hlt2QEE_DiMuonHighMassSameSignFull', prescale=1, persistreco=True): """Z0 boson decay to two same-sign muons line""" diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/hlt2_qee.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/hlt2_qee.py index 1e684503206..7ba1dd91e21 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/hlt2_qee.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/hlt2_qee.py @@ -26,6 +26,7 @@ from Hlt2Conf.lines.qee import quarkonia from Hlt2Conf.lines.qee import dielectron_persist_photons from Hlt2Conf.lines.qee import dimuon_no_ip from Hlt2Conf.lines.qee import calibration +from Hlt2Conf.lines.qee import ttrack_llps full_lines = {} full_lines.update(single_high_pt_muon.all_lines) @@ -46,3 +47,4 @@ turbo_lines.update(drellyan.all_lines) turbo_lines.update(dielectron_persist_photons.turbo_lines) turbo_lines.update(calibration.turbo_lines) turbo_lines.update(wz_boson_rare_decays.all_lines) +turbo_lines.update(ttrack_llps.all_lines) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/jets.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/jets.py index 20aeccccfbc..1f0832a7918 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/jets.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/jets.py @@ -12,69 +12,48 @@ import Functors as F from GaudiKernel.SystemOfUnits import GeV from PyConf import configurable - from Moore.config import register_line_builder from Moore.lines import Hlt2Line from RecoConf.reconstruction_objects import upfront_reconstruction, make_pvs from RecoConf.event_filters import require_pvs -from Hlt2Conf.algorithms_thor import ParticleFilter, ParticleCombiner -from Hlt2Conf.standard_jets import make_particleflow, build_jets, tag_jets -from Hlt2Conf.lines.jets.topobits import make_topo_2body, make_topo_2body_with_svtag +from Hlt2Conf.algorithms_thor import ParticleCombiner +from Hlt2Conf.standard_jets import make_jets, jet_tag_maker all_lines = {} -# Until an inclusive jet line is available in HLT1, light jet lines will just -# take NoBias data. This can be used for commissioning and efficiency studies -# for HLT2 and sprucing lines. -_hlt1_light_jet_filter = ["Hlt1PassthroughDecision"] - - -@configurable -def make_jets(name='SimpleJets_{hash}', - pt_min=10 * GeV, - JetsByVtx=True, - tags=None): - pflow = make_particleflow() - jets = build_jets(pflow, JetsByVtx, name='JetBuilder' + name) - - tagObjs = None - if tags == 'SV': - tagObjs = make_topo_2body_with_svtag() - elif tags == 'TOPO': - tagObjs = make_topo_2body() - if tags is not None: - taggedjets = tag_jets( - jets, tagObjs, useflightdirection=True, name="Tags" + name) - jets = taggedjets - - code = F.require_all( - F.IS_ABS_ID("CELLjet"), F.PT > pt_min, - F.NINGENERATION(F.CHARGE != 0, 1) > 0) - return ParticleFilter(jets, F.FILTER(code), name=name) +_hlt1_light_jet_filter = ["Hlt1ConeJet(15|30|50|100)GeVDecision"] @configurable -def make_dijets(tagpair=(None, None), prod_pt_min=10 * GeV, min_dphi=0.0): +def make_dijets( + tagpair=(None, None), + min_dijet_mass=0 * GeV, + prod_pt_min=10 * GeV, + min_dphi=0.0): """Make two-jet combinations """ - jets = make_jets(pt_min=prod_pt_min, tags=tagpair[0]) - tagfilt0 = F.ALL - tagfilt1 = F.ALL + jet1 = make_jets(pt_min=prod_pt_min, tags=tagpair[0]) + jet2 = make_jets(pt_min=prod_pt_min, tags=tagpair[1]) if (min_dphi > 0.0): delta = F.ADJUST_ANGLE @ (F.CHILD(1, F.PHI) - F.CHILD(2, F.PHI)) - combination_code = F.require_all(tagfilt0, tagfilt1, - F.ABS @ delta > min_dphi) + combination_code = F.require_all( + F.MASS > min_dijet_mass, F.ABS @ delta > min_dphi, + F.CHILD(1, F.OWNPV) == F.CHILD(2, F.OWNPV)) + else: - combination_code = F.require_all(tagfilt0, tagfilt1) + combination_code = F.require_all( + F.MASS > min_dijet_mass, + F.CHILD(1, F.OWNPV) == F.CHILD(2, F.OWNPV)) return ParticleCombiner( - Inputs=[jets, jets], + Inputs=[jet1, jet2], DecayDescriptor="CLUSjet -> CELLjet CELLjet", CombinationCut=combination_code, CompositeCut=F.ALL, + AllowDiffInputsForSameIDChildren=True, ParticleCombiner="ParticleAdder") @@ -100,8 +79,9 @@ def make_Trijets(tagpair=(None, None, None), prod_pt_min=10 * GeV): ##### Functions for sprucing lines ##### @configurable def make_SVTagDijets_cand(): + SV = jet_tag_maker("SV") line_alg = make_dijets( - tagpair=('SV', 'SV'), prod_pt_min=30 * GeV, min_dphi=1.5) + tagpair=(SV, SV), prod_pt_min=30 * GeV, min_dphi=1.5) return line_alg @@ -113,7 +93,8 @@ def make_Trijets_cand(): @configurable def make_TrijetsTwoSVTag_cand(): - line_alg = make_Trijets(tagpair=('SV', 'SV', None), prod_pt_min=30 * GeV) + SV = jet_tag_maker("SV") + line_alg = make_Trijets(tagpair=(SV, SV, None), prod_pt_min=30 * GeV) return line_alg @@ -123,8 +104,8 @@ def make_TrijetsTwoSVTag_cand(): def diSVTagJet10GeV_line(name='Hlt2QEE_DiSVTagJet10GeVFull', prescale=0.0025, persistreco=True): - jets = make_dijets( - tagpair=('SV', 'SV'), prod_pt_min=10 * GeV, min_dphi=0.0) + SV = jet_tag_maker("SV") + jets = make_dijets(tagpair=(SV, SV), prod_pt_min=10 * GeV, min_dphi=0.0) return Hlt2Line( name=name, algs=upfront_reconstruction() + [require_pvs(make_pvs()), jets], @@ -138,8 +119,8 @@ def diSVTagJet10GeV_line(name='Hlt2QEE_DiSVTagJet10GeVFull', def diSVTagJet15GeV_line(name='Hlt2QEE_DiSVTagJet15GeVFull', prescale=0.01, persistreco=True): - jets = make_dijets( - tagpair=('SV', 'SV'), prod_pt_min=15 * GeV, min_dphi=0.0) + SV = jet_tag_maker("SV") + jets = make_dijets(tagpair=(SV, SV), prod_pt_min=15 * GeV, min_dphi=0.0) return Hlt2Line( name=name, algs=upfront_reconstruction() + [require_pvs(make_pvs()), jets], @@ -153,8 +134,8 @@ def diSVTagJet15GeV_line(name='Hlt2QEE_DiSVTagJet15GeVFull', def diSVTagJet20GeV_line(name='Hlt2QEE_DiSVTagJet20GeVFull', prescale=0.05, persistreco=True): - jets = make_dijets( - tagpair=('SV', 'SV'), prod_pt_min=20 * GeV, min_dphi=0.0) + SV = jet_tag_maker("SV") + jets = make_dijets(tagpair=(SV, SV), prod_pt_min=20 * GeV, min_dphi=0.0) return Hlt2Line( name=name, algs=upfront_reconstruction() + [require_pvs(make_pvs()), jets], @@ -168,8 +149,8 @@ def diSVTagJet20GeV_line(name='Hlt2QEE_DiSVTagJet20GeVFull', def diSVTagJet25GeV_line(name='Hlt2QEE_DiSVTagJet25GeVFull', prescale=0.1, persistreco=True): - jets = make_dijets( - tagpair=('SV', 'SV'), prod_pt_min=25 * GeV, min_dphi=0.0) + SV = jet_tag_maker("SV") + jets = make_dijets(tagpair=(SV, SV), prod_pt_min=25 * GeV, min_dphi=0.0) return Hlt2Line( name=name, algs=upfront_reconstruction() + [require_pvs(make_pvs()), jets], @@ -183,8 +164,8 @@ def diSVTagJet25GeV_line(name='Hlt2QEE_DiSVTagJet25GeVFull', def diSVTagJet30GeV_line(name='Hlt2QEE_DiSVTagJet30GeVFull', prescale=0.25, persistreco=True): - jets = make_dijets( - tagpair=('SV', 'SV'), prod_pt_min=30 * GeV, min_dphi=0.0) + SV = jet_tag_maker("SV") + jets = make_dijets(tagpair=(SV, SV), prod_pt_min=30 * GeV, min_dphi=0.0) return Hlt2Line( name=name, algs=upfront_reconstruction() + [require_pvs(make_pvs()), jets], @@ -198,8 +179,28 @@ def diSVTagJet30GeV_line(name='Hlt2QEE_DiSVTagJet30GeVFull', def diSVTagJet35GeV_line(name='Hlt2QEE_DiSVTagJet35GeVFull', prescale=1.0, persistreco=True): + SV = jet_tag_maker("SV") + jets = make_dijets(tagpair=(SV, SV), prod_pt_min=35 * GeV, min_dphi=0.0) + return Hlt2Line( + name=name, + algs=upfront_reconstruction() + [require_pvs(make_pvs()), jets], + prescale=prescale, + calo_clusters=True, + persistreco=persistreco) + + +############ Asymmetric dijet lines ################ +@register_line_builder(all_lines) +@configurable +def DiJetIncSVTag_line(name='Hlt2QEE_DiJetIncSVTag_pT25M40Full', + prescale=1, + persistreco=True): + SV = jet_tag_maker("SV") jets = make_dijets( - tagpair=('SV', 'SV'), prod_pt_min=35 * GeV, min_dphi=0.0) + tagpair=(None, SV), + min_dijet_mass=40 * GeV, + prod_pt_min=25 * GeV, + min_dphi=0.0) return Hlt2Line( name=name, algs=upfront_reconstruction() + [require_pvs(make_pvs()), jets], @@ -216,8 +217,9 @@ def diSVTagJet35GeV_line(name='Hlt2QEE_DiSVTagJet35GeVFull', def diTopoTagJet10GeV_line(name='Hlt2QEE_DiTopoTagJet10GeVFull', prescale=0.001, persistreco=True): + TOPO = jet_tag_maker("TOPO") jets = make_dijets( - tagpair=('TOPO', 'TOPO'), prod_pt_min=10 * GeV, min_dphi=0.0) + tagpair=(TOPO, TOPO), prod_pt_min=10 * GeV, min_dphi=0.0) return Hlt2Line( name=name, algs=upfront_reconstruction() + [require_pvs(make_pvs()), jets], @@ -231,8 +233,9 @@ def diTopoTagJet10GeV_line(name='Hlt2QEE_DiTopoTagJet10GeVFull', def diTopoTagJet15GeV_line(name='Hlt2QEE_DiTopoTagJet15GeVFull', prescale=0.001, persistreco=True): + TOPO = jet_tag_maker("TOPO") jets = make_dijets( - tagpair=('TOPO', 'TOPO'), prod_pt_min=15 * GeV, min_dphi=0.0) + tagpair=(TOPO, TOPO), prod_pt_min=15 * GeV, min_dphi=0.0) return Hlt2Line( name=name, algs=upfront_reconstruction() + [require_pvs(make_pvs()), jets], @@ -246,8 +249,9 @@ def diTopoTagJet15GeV_line(name='Hlt2QEE_DiTopoTagJet15GeVFull', def diTopoTagJet20GeV_line(name='Hlt2QEE_DiTopoTagJet20GeVFull', prescale=0.005, persistreco=True): + TOPO = jet_tag_maker("TOPO") jets = make_dijets( - tagpair=('TOPO', 'TOPO'), prod_pt_min=20 * GeV, min_dphi=0.0) + tagpair=(TOPO, TOPO), prod_pt_min=20 * GeV, min_dphi=0.0) return Hlt2Line( name=name, algs=upfront_reconstruction() + [require_pvs(make_pvs()), jets], @@ -261,8 +265,9 @@ def diTopoTagJet20GeV_line(name='Hlt2QEE_DiTopoTagJet20GeVFull', def diTopoTagJet25GeV_line(name='Hlt2QEE_DiTopoTagJet25GeVFull', prescale=0.05, persistreco=True): + TOPO = jet_tag_maker("TOPO") jets = make_dijets( - tagpair=('TOPO', 'TOPO'), prod_pt_min=25 * GeV, min_dphi=0.0) + tagpair=(TOPO, TOPO), prod_pt_min=25 * GeV, min_dphi=0.0) return Hlt2Line( name=name, algs=upfront_reconstruction() + [require_pvs(make_pvs()), jets], @@ -276,8 +281,9 @@ def diTopoTagJet25GeV_line(name='Hlt2QEE_DiTopoTagJet25GeVFull', def diTopoTagJet30GeV_line(name='Hlt2QEE_DiTopoTagJet30GeVFull', prescale=0.05, persistreco=True): + TOPO = jet_tag_maker("TOPO") jets = make_dijets( - tagpair=('TOPO', 'TOPO'), prod_pt_min=30 * GeV, min_dphi=0.0) + tagpair=(TOPO, TOPO), prod_pt_min=30 * GeV, min_dphi=0.0) return Hlt2Line( name=name, algs=upfront_reconstruction() + [require_pvs(make_pvs()), jets], @@ -291,8 +297,9 @@ def diTopoTagJet30GeV_line(name='Hlt2QEE_DiTopoTagJet30GeVFull', def diTopoTagJet35GeV_line(name='Hlt2QEE_DiTopoTagJet35GeVFull', prescale=0.1, persistreco=True): + TOPO = jet_tag_maker("TOPO") jets = make_dijets( - tagpair=('TOPO', 'TOPO'), prod_pt_min=35 * GeV, min_dphi=0.0) + tagpair=(TOPO, TOPO), prod_pt_min=35 * GeV, min_dphi=0.0) return Hlt2Line( name=name, algs=upfront_reconstruction() + [require_pvs(make_pvs()), jets], @@ -302,14 +309,27 @@ def diTopoTagJet35GeV_line(name='Hlt2QEE_DiTopoTagJet35GeVFull', ############# Inclusive jets #################### +@register_line_builder(all_lines) +@configurable +def IncJet15GeV_line(name='Hlt2QEE_IncJet15GeVFull', + prescale=0.05, + persistreco=True): + jets = make_jets(pt_min=15 * GeV) + return Hlt2Line( + name=name, + algs=upfront_reconstruction() + [require_pvs(make_pvs()), jets], + hlt1_filter_code=_hlt1_light_jet_filter, + prescale=prescale, + calo_clusters=True, + persistreco=persistreco) @register_line_builder(all_lines) @configurable -def IncJet10GeV_line(name='Hlt2QEE_IncJet10GeVFull', - prescale=0.05, +def IncJet25GeV_line(name='Hlt2QEE_IncJet25GeVFull', + prescale=0.1, persistreco=True): - jets = make_jets() + jets = make_jets(pt_min=25 * GeV) return Hlt2Line( name=name, algs=upfront_reconstruction() + [require_pvs(make_pvs()), jets], @@ -321,10 +341,25 @@ def IncJet10GeV_line(name='Hlt2QEE_IncJet10GeVFull', @register_line_builder(all_lines) @configurable -def IncDiJet10GeV_line(name='Hlt2QEE_IncDiJet10GeVFull', - prescale=0.1, - persistreco=True): - jets = make_dijets(prod_pt_min=10 * GeV, min_dphi=0.0) +def IncJet35GeV_line(name='Hlt2QEE_IncJet35GeVFull', + prescale=0.5, + persistreco=True): + jets = make_jets(pt_min=35 * GeV) + return Hlt2Line( + name=name, + algs=upfront_reconstruction() + [require_pvs(make_pvs()), jets], + hlt1_filter_code=_hlt1_light_jet_filter, + prescale=prescale, + calo_clusters=True, + persistreco=persistreco) + + +@register_line_builder(all_lines) +@configurable +def IncJet45GeV_line(name='Hlt2QEE_IncJet45GeVFull', + prescale=1.0, + persistreco=True): + jets = make_jets(pt_min=45 * GeV) return Hlt2Line( name=name, algs=upfront_reconstruction() + [require_pvs(make_pvs()), jets], @@ -337,7 +372,7 @@ def IncDiJet10GeV_line(name='Hlt2QEE_IncDiJet10GeVFull', @register_line_builder(all_lines) @configurable def IncDiJet15GeV_line(name='Hlt2QEE_IncDiJet15GeVFull', - prescale=0.5, + prescale=0.1, persistreco=True): jets = make_dijets(prod_pt_min=15 * GeV, min_dphi=0.0) return Hlt2Line( @@ -352,7 +387,7 @@ def IncDiJet15GeV_line(name='Hlt2QEE_IncDiJet15GeVFull', @register_line_builder(all_lines) @configurable def IncDiJet20GeV_line(name='Hlt2QEE_IncDiJet20GeVFull', - prescale=1.0, + prescale=0.25, persistreco=True): jets = make_dijets(prod_pt_min=20 * GeV, min_dphi=0.0) return Hlt2Line( @@ -367,7 +402,7 @@ def IncDiJet20GeV_line(name='Hlt2QEE_IncDiJet20GeVFull', @register_line_builder(all_lines) @configurable def IncDiJet25GeV_line(name='Hlt2QEE_IncDiJet25GeVFull', - prescale=1.0, + prescale=0.5, persistreco=True): jets = make_dijets(prod_pt_min=25 * GeV, min_dphi=0.0) return Hlt2Line( @@ -382,7 +417,7 @@ def IncDiJet25GeV_line(name='Hlt2QEE_IncDiJet25GeVFull', @register_line_builder(all_lines) @configurable def IncDiJet30GeV_line(name='Hlt2QEE_IncDiJet30GeVFull', - prescale=1.0, + prescale=0.75, persistreco=True): jets = make_dijets(prod_pt_min=30 * GeV, min_dphi=0.0) return Hlt2Line( diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/qee_builders.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/qee_builders.py index 43e7236fcbf..0cd780cf62d 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/qee_builders.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/qee_builders.py @@ -13,7 +13,7 @@ Definition of useful QEE filters and builders """ import Functors as F -from GaudiKernel.SystemOfUnits import GeV +from GaudiKernel.SystemOfUnits import meter, MeV, GeV from PyConf import configurable @@ -22,13 +22,13 @@ from Hlt2Conf.algorithms_thor import ParticleFilter, ParticleCombiner from Hlt2Conf.standard_particles import make_ismuon_long_muon, make_long_muons from Hlt2Conf.standard_particles import make_has_rich_long_pions from Hlt2Conf.standard_particles import make_long_electrons_with_brem, make_down_electrons_no_brem -from Hlt2Conf.standard_jets import make_particleflow, build_jets, tag_jets -from Hlt2Conf.lines.jets.topobits import make_topo_2body from Hlt2Conf.standard_particles import make_photons +from Hlt2Conf.standard_particles import make_mva_ttrack_muons, make_mva_ttrack_pions, make_mva_ttrack_kaons from Hlt2Conf.lines.qee.high_mass_dimuon import make_dimuon_novxt from Hlt2Conf.lines.qee.high_mass_dielec import make_dielec_novxt from RecoConf.reconstruction_objects import make_pvs +from RecoConf.ttrack_selections_reco import PVF_with_single_extrapolation @configurable @@ -41,18 +41,20 @@ def make_filter_tracks( trchi2dof_max=3, #TBC with Reco trghostprob_max=0.4, #TBC with Reco mipchi2dvprimary_min=None, - pid=None): + pid=None, + additionalCuts=None): """ Build generic long tracks. """ code = F.require_all( + F.SIZE(make_pvs()) > 0, F.PT > pt_min, F.P > p_min, ) - if pid is not None: code &= pid - + if additionalCuts is not None: + code &= additionalCuts if mipchi2dvprimary_min is not None: pvs = make_pvs() code &= F.MINIPCHI2(pvs) > mipchi2dvprimary_min @@ -89,26 +91,6 @@ def elec_filter_down(min_pt=0. * GeV, min_electron_id=-1): return ParticleFilter(particles, F.FILTER(code)) -@configurable -def make_jets(name='SimpleJets_{hash}', - min_pt=10 * GeV, - JetsByVtx=True, - tags=None): - #Build and tag jets - - pflow = make_particleflow() - svtags = make_topo_2body() - jets = build_jets(pflow, JetsByVtx, name='JetBuilder' + name) - - if tags is not None: - taggedjets = tag_jets(jets, svtags, name="Tags" + name) - jets = taggedjets - - code = (F.PT > min_pt) - - return ParticleFilter(jets, F.FILTER(code)) - - @configurable def make_qee_photons(name="qee_photons", make_particles=make_photons, @@ -271,7 +253,7 @@ def make_majorana(child1, pt_min=0.7 * GeV, vtxchi2_max=9.): """ - Make HNL -> lep + pi. + Make HNL -> lep + pi. """ combination_code = F.require_all( in_range(am_min, F.MASS, am_max), F.MAXSDOCACHI2CUT(adocachi2)) @@ -315,3 +297,247 @@ def make_bhadron_majorana(majoranas, DecayDescriptor=descriptor, CombinationCut=combination_code, CompositeCut=b_code) + + +@configurable +def make_long_lepton_forHNL(make_long, + name="long_lepton_forHNL_{hash}", + pt_min=500. * MeV, + p_min=3. * GeV, + ipchi2_min=25., + pid=None): + return make_filter_tracks( + make_particles=make_long, + name=name, + pt_min=pt_min, + p_min=p_min, + mipchi2dvprimary_min=ipchi2_min, + pid=pid) + + +@configurable +def make_ttrack_forHNL(make_ttrack, + name='filter_Ttrack_forHLN_{hash}', + pt_min=750. * MeV, + p_min=5. * GeV, + ipchi2_min=500., + pid=None): + return make_filter_tracks( + make_particles=make_ttrack, + name=name, + pt_min=pt_min, + p_min=p_min, + mipchi2dvprimary_min=ipchi2_min, + pid=pid) + + +@configurable +def make_HNL_TT(pions, + leptons, + name='Generic_HNL_TT', + descriptor='', + twobody_yz_intersection=1.5 * meter, + adocachi2max=300., + vtx_zmin=2. * meter, + vtx_zmax=8. * meter, + vtxchi2_max=10., + mass_min=1.5 * GeV, + mass_max=6.5 * GeV, + pt_min=1. * GeV, + p_min=30. * GeV): + """ + Make HNL -> pi + lep (with TT combiner) + """ + combination_cut = F.require_all( + F.TWOBODY_YZ_INTERSECTION_Z > twobody_yz_intersection, + F.MAXSDOCACHI2CUT(adocachi2max)) + + vertex_cut = F.require_all( + F.math.in_range(vtx_zmin, F.END_VZ, vtx_zmax), F.CHI2 < vtxchi2_max, + F.math.in_range(mass_min, F.MASS, mass_max), F.PT > pt_min, + F.P > p_min) + return ParticleCombiner( + Inputs=[leptons, pions], + DecayDescriptor=descriptor, + CombinationCut=combination_cut, + CompositeCut=vertex_cut, + ParticleCombiner=PVF_with_single_extrapolation(), + name=name) + + +@configurable +def make_BToLHNL_TT(long_leptons, + hnl_tt, + name='Generic_B_LHNL', + descriptor='', + amass_min=4.0 * GeV, + amass_max=6.5 * GeV, + mass_min=4.2 * GeV, + mass_max=6.3 * GeV, + z_vtx_max=1.0 * meter, + pt_min=1.5 * GeV): + """ + Make B-> lep + HNL (with TT combiner) + """ + combination_cut = F.require_all( + F.math.in_range(amass_min, F.MASS, amass_max)) + vertex_cut = F.require_all(F.END_VZ < z_vtx_max, + F.math.in_range(mass_min, F.MASS, mass_max), + F.PT > pt_min) + return ParticleCombiner( + Inputs=[long_leptons, hnl_tt], + DecayDescriptor=descriptor, + CombinationCut=combination_cut, + CompositeCut=vertex_cut, + ParticleCombiner=PVF_with_single_extrapolation(), + name=name) + + +### basic particle filters for Dark Higgs searches +## T tracks +@configurable +def filter_ttrack_muons_for_high_mass(pvs, + make_muons=make_mva_ttrack_muons, + ghostprob_max=0.4, + pt_min=750 * MeV, + dll_p_max=0., + dll_k_max=0., + dll_mu_min=0., + track_min=10, + chi2_max=5., + pid_mu_min=-1., + pid_k_max=0., + minipchi2_min=10000., + delta_dll_kp_max=20.): + muons = make_muons() + filter_code_high_mass = F.require_all( + F.GHOSTPROB < ghostprob_max, F.PT > pt_min, F.RICH_DLL_P < dll_p_max, + F.NFTHITS @ F.TRACK > track_min, F.CHI2 < chi2_max, + F.PID_MU > pid_mu_min, F.PID_K < pid_k_max, F.RICH_DLL_K < dll_k_max, + F.RICH_DLL_MU > dll_mu_min, + (F.RICH_DLL_K - F.RICH_DLL_P) < delta_dll_kp_max, + F.MINIPCHI2(pvs) > minipchi2_min) + return ParticleFilter(muons, F.FILTER(filter_code_high_mass)) + + +@configurable +def filter_ttrack_kaons_for_high_mass(pvs, + make_kaons=make_mva_ttrack_kaons, + ghostprob_max=0.4, + dll_p_max=0., + dll_k_min=0., + track_min=10, + pid_k_min=0., + minipchi2_min=5000., + delta_dll_muk_max=0.): + kaons = make_kaons() + filter_code_high_mass = F.require_all( + F.GHOSTPROB < ghostprob_max, F.NFTHITS @ F.TRACK > track_min, + F.PID_K > pid_k_min, F.RICH_DLL_K > dll_k_min, + F.RICH_DLL_P < dll_p_max, + (F.RICH_DLL_MU - F.RICH_DLL_K) < delta_dll_muk_max, + F.MINIPCHI2(pvs) > minipchi2_min) + return ParticleFilter(kaons, F.FILTER(filter_code_high_mass)) + + +@configurable +def filter_ttrack_pions_for_high_mass(pvs, + make_pions=make_mva_ttrack_pions, + ghostprob_max=0.4, + dll_p_max=0., + dll_mu_max=0., + dll_k_max=0., + track_min=10, + minipchi2_min=5000., + delta_dll_kpi_max=0.): + pions = make_pions() + filter_code_high_mass = F.require_all( + F.GHOSTPROB < ghostprob_max, F.NFTHITS @ F.TRACK > track_min, + F.RICH_DLL_K < dll_k_max, F.RICH_DLL_P < dll_p_max, + F.RICH_DLL_MU < dll_mu_max, + (F.RICH_DLL_K - F.RICH_DLL_PI) < delta_dll_kpi_max, + F.MINIPCHI2(pvs) > minipchi2_min) + return ParticleFilter(pions, F.FILTER(filter_code_high_mass)) + + +### Dimuon/kaon combiners +@configurable +def qee_ttrack_combiner_highmass(filtered_particle1, + filtered_particle2, + pvs, + decay_descriptor, + yz_intersection_z_min=1500., + maxdoca=50., + maxdocachi2=300., + vertex_z_min=2. * meter, + bpv_dira_min=0.9995, + max_chi2=150., + bpv_ip_max=100., + bpv_ip_chi2_max=200., + bpv_vdrho_min=80., + mass_min=2000., + mass_max=100000.): + ''' + used for T track combinations with a mass range > 2 GeV + ''' + combination_cut_high_mass = F.require_all( + F.TWOBODY_YZ_INTERSECTION_Z > yz_intersection_z_min, + F.MAXSDOCACUT(maxdoca), F.MAXSDOCACHI2CUT(maxdocachi2)) + + vertex_cut = F.require_all( + F.END_VZ > vertex_z_min, + F.BPVDIRA(pvs) > bpv_dira_min, F.CHI2 < max_chi2, + F.BPVIP(pvs) < bpv_ip_max, + F.BPVIPCHI2(pvs) < bpv_ip_chi2_max, + F.BPVVDRHO(pvs) > bpv_vdrho_min, + F.math.in_range(mass_min, F.MASS, mass_max)) # TODO: upper limit? + + return ParticleCombiner( + Inputs=[filtered_particle1, filtered_particle2], + DecayDescriptor=decay_descriptor, + CombinationCut=combination_cut_high_mass, + CompositeCut=vertex_cut, + ParticleCombiner=PVF_with_single_extrapolation(), + name="qee_ttrack_combiner_highmass_{hash}") + + +@configurable +def make_XtoTT_muons(pvs): + filtered_TT_muons = filter_ttrack_muons_for_high_mass(pvs) + return qee_ttrack_combiner_highmass(filtered_TT_muons, filtered_TT_muons, + pvs, "[KS0 -> mu+ mu-]cc") + + +@configurable +def make_XtoTT_kaons(pvs): + filtered_TT_kaons = filter_ttrack_kaons_for_high_mass(pvs) + return qee_ttrack_combiner_highmass(filtered_TT_kaons, filtered_TT_kaons, + pvs, "[KS0 -> K+ K-]cc") + + +@configurable +def make_XtoTT_pimu(pvs): + filtered_TT_pions = filter_ttrack_pions_for_high_mass(pvs) + filtered_TT_muons = filter_ttrack_muons_for_high_mass(pvs) + return qee_ttrack_combiner_highmass(filtered_TT_pions, filtered_TT_muons, + pvs, "[KS0 -> pi+ mu-]cc") + + +@configurable +def qee_BtoLX_TT(long_particles, + ttrack_particles, + decay_descriptor, + vertex_z_max=1000., + mass_min=4200., + mass_max=6300.): + combination_cut = F.require_all( + F.math.in_range(mass_min, F.MASS, mass_max)) + vertex_cut = F.require_all(F.END_VZ < vertex_z_max, + F.math.in_range(mass_min, F.MASS, mass_max)) + return ParticleCombiner( + Inputs=[long_particles, ttrack_particles], + DecayDescriptor=decay_descriptor, + CombinationCut=combination_cut, + CompositeCut=vertex_cut, + ParticleCombiner=PVF_with_single_extrapolation(), + name="qee_BtoLX_TT_{hash}") diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/spruce_qee.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/spruce_qee.py index 24a624ebf70..9186c0cafc7 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/spruce_qee.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/spruce_qee.py @@ -22,7 +22,7 @@ from Moore.config import register_line_builder, SpruceLine from RecoConf.reconstruction_objects import make_pvs, upfront_reconstruction from RecoConf.event_filters import require_pvs -from Hlt2Conf.standard_jets import make_onlytrack_particleflow +from Hlt2Conf.standard_jets import make_onlytrack_particleflow, make_jets, jet_tag_maker from GaudiKernel.SystemOfUnits import GeV from Hlt2Conf.lines.qee.high_mass_dimuon import make_Z_cand, make_Z_cand_SingleNoMuID, make_Z_cand_DoubleNoMuID, make_Zss_cand from Hlt2Conf.lines.qee.high_mass_dielec import make_Zee_cand, make_Zeess_cand @@ -33,7 +33,7 @@ from Hlt2Conf.lines.qee.diboson import make_WW_emu_cand, make_WZ_Zll_Wlnu_cand, from Hlt2Conf.lines.qee.qee_builders import muon_filter from Hlt2Conf.lines.qee.single_high_pt_muon import make_isolated_muons from Hlt2Conf.lines.qee.single_high_pt_electron import make_highpt_isolated_electrons, make_highpt_electrons_noextra, make_highpt_electrons -from Hlt2Conf.lines.qee.jets import make_dijets, make_Trijets_cand, make_TrijetsTwoSVTag_cand, make_jets +from Hlt2Conf.lines.qee.jets import make_dijets, make_Trijets_cand, make_TrijetsTwoSVTag_cand from Hlt2Conf.lines.qee.dielectron_persist_photons import dielectron_sp_prompt_line_full, dielectron_sp_displaced_line_full, charged_pion_filter, photon_filter, dielectron_maker_prompt, dielectron_maker_displaced # Necessary imports to hlt2_filter robustly; @@ -42,7 +42,7 @@ from Hlt2Conf.lines.qee.high_mass_dimuon import z_to_mu_mu_line, z_to_mu_mu_sing from Hlt2Conf.lines.qee.high_mass_dielec import z_to_e_e_line, same_sign_dielec_line from Hlt2Conf.lines.qee.single_high_pt_muon import threshold_map as muon_thresholds from Hlt2Conf.lines.qee.single_high_pt_muon import single_muon_highpt_line, single_muon_highpt_prescale_line, single_muon_highpt_iso_line, single_muon_highpt_nomuid_line -from Hlt2Conf.lines.qee.jets import IncDiJet10GeV_line, IncDiJet15GeV_line, IncDiJet20GeV_line, IncDiJet25GeV_line, IncDiJet30GeV_line, IncDiJet35GeV_line, diTopoTagJet10GeV_line, diTopoTagJet15GeV_line, diTopoTagJet20GeV_line, diTopoTagJet25GeV_line, diTopoTagJet30GeV_line, diTopoTagJet35GeV_line, diSVTagJet10GeV_line, diSVTagJet15GeV_line, diSVTagJet20GeV_line, diSVTagJet25GeV_line, diSVTagJet30GeV_line, diSVTagJet35GeV_line, IncJet10GeV_line +from Hlt2Conf.lines.qee.jets import IncDiJet15GeV_line, IncDiJet20GeV_line, IncDiJet25GeV_line, IncDiJet30GeV_line, IncDiJet35GeV_line, diTopoTagJet10GeV_line, diTopoTagJet15GeV_line, diTopoTagJet20GeV_line, diTopoTagJet25GeV_line, diTopoTagJet30GeV_line, diTopoTagJet35GeV_line, diSVTagJet10GeV_line, diSVTagJet15GeV_line, diSVTagJet20GeV_line, diSVTagJet25GeV_line, diSVTagJet30GeV_line, diSVTagJet35GeV_line, IncJet15GeV_line, IncJet25GeV_line, IncJet35GeV_line, IncJet45GeV_line, DiJetIncSVTag_line from Hlt2Conf.lines.qee.single_high_pt_electron import pt_thresholds as elec_pt_thresholds from Hlt2Conf.lines.qee.single_high_pt_electron import ecal_deposit_fractions as elec_ecal_deposit_fractions from Hlt2Conf.lines.qee.single_high_pt_electron import single_electron_highpt_line, single_electron_highpt_prescale_line, single_electron_highpt_iso_line, single_electron_veryhighpt_line @@ -51,10 +51,34 @@ sprucing_lines = {} def _hlt2_decision_regex(line_defn): + to_decision = lambda k: f"{k}Decision" + previous_hlt2_line_names = { + # Lines that have been renamed over the years - here we store their old names mapped to current + # Advice: try not to do so much renaming that this becomes an enormous dictionary of hard-coded strings... + "Hlt2QEE_DiMuonNoIP_Full": + ["Hlt2QEE_DiMuonNoIP_prescaledFullEventFull"], + "Hlt2QEE_DiMuonNoIP_ssFull": + ["Hlt2QEE_DiMuonNoIP_prescaledFullEvent_ssFull"], + "Hlt2QEE_DiMuonHighMassSameSignFull": ["Hlt2QEE_DiMuonSameSignFull"], + "Hlt2QEE_DiElectronHighMassSameSignFull": + ["Hlt2QEE_DiElectronSameSignFull"], + } line_name = signature(line_defn).parameters['name'].default - # "Full" only appended to line names after 2023 data-taking. This regex catches decision names from before then. + # "Full" only appended to line names after 2023 data-taking. These regexes catch decision names from before then. # "FULL" catches the previous naming of the full-stream DiElectron lines - return f"({line_name}Decision|{line_name.replace('Full', '')}Decision|{line_name.replace('Full', 'FULL')}Decision)" + # Other special cases are handled in previous_hlt2_line_names + regexes = [ + to_decision(pfx) for pfx in [ + line_name, + line_name.replace('Full', ''), + line_name.replace('Full', 'FULL') + ] + ] + if line_name in previous_hlt2_line_names.keys(): + regexes += [ + to_decision(pfx) for pfx in previous_hlt2_line_names[line_name] + ] + return regexes ################ Z -> ll lines ################ @@ -104,9 +128,9 @@ def z_to_mu_mu_double_nomuid_sprucing_line( @register_line_builder(sprucing_lines) @configurable -def same_sign_dimuon_sprucing_line(name='SpruceQEE_DiMuonSameSign', +def same_sign_dimuon_sprucing_line(name='SpruceQEE_DiMuonSameSignHighMass', prescale=1): - """Z0 boson decay to two same sign muons line, passthrough after Hlt2QEE_DiMuonSameSignFull""" + """Z0 boson decay to two same sign muons line, passthrough after Hlt2QEE_DiMuonSameSignHighMassFull""" line_alg = make_Zss_cand() return SpruceLine( @@ -133,9 +157,9 @@ def z_to_e_e_sprucing_line(name='SpruceQEE_ZToEE', prescale=1): @register_line_builder(sprucing_lines) @configurable -def same_sign_dielec_sprucing_line(name='SpruceQEE_DiElectronSameSign', +def same_sign_dielec_sprucing_line(name='SpruceQEE_DiElectronSameSignHighMass', prescale=1): - """Z0 boson decay to two same sign electrons line, passthrough after Hlt2QEE_DiElectronSameSignFull""" + """Z0 boson decay to two same sign electrons line, passthrough after Hlt2QEE_DiElectronSameSignHighMassFull""" line_alg = make_Zeess_cand() return SpruceLine( @@ -629,7 +653,9 @@ def single_electron_vhighpt_sprucing_line( ################ Single Jet lines ################ -for jet_pt_min, hlt2_dec in zip(["10"], [IncJet10GeV_line]): +for jet_pt_min, hlt2_dec in zip( + ["15", "25", "35", "45"], + [IncJet15GeV_line, IncJet25GeV_line, IncJet35GeV_line, IncJet45GeV_line]): @register_line_builder(sprucing_lines) @configurable @@ -645,12 +671,15 @@ for jet_pt_min, hlt2_dec in zip(["10"], [IncJet10GeV_line]): name=name, algs=upfront_reconstruction() + [require_pvs(make_pvs()), line_alg], - #calo_clusters=True, + calo_clusters=True, + persistreco=True, hlt2_filter_code=_hlt2_decision_regex(hlt2_dec), prescale=prescale) ################ SV Di/Tri-Jet lines ################ +from Hlt2Conf.lines.qee.jets import _hlt1_light_jet_filter + # SV di-jets for jet_pt_min, hlt2_dec in zip(["10", "15", "20", "25", "30", "35"], [ diSVTagJet10GeV_line, diSVTagJet15GeV_line, diSVTagJet20GeV_line, @@ -666,15 +695,14 @@ for jet_pt_min, hlt2_dec in zip(["10", "15", "20", "25", "30", "35"], [ prescale=1): f"""SV-Tagged dijet sprucing line with jet_min_pt of {jet_pt_min} GeV per child""" + SV = jet_tag_maker("SV") line_alg = make_dijets( - tagpair=('SV', 'SV'), - prod_pt_min=int(jet_pt_min) * GeV, - min_dphi=1.5) + tagpair=(SV, SV), prod_pt_min=int(jet_pt_min) * GeV, min_dphi=1.5) return SpruceLine( name=name, algs=upfront_reconstruction() + [require_pvs(make_pvs()), line_alg], - #calo_clusters=True, + calo_clusters=True, persistreco=True, hlt2_filter_code=_hlt2_decision_regex(hlt2_dec), prescale=prescale) @@ -695,23 +723,46 @@ for jet_pt_min, hlt2_dec in zip(["10", "15", "20", "25", "30", "35"], [ prescale=1): f"""Topo-Tagged dijet sprucing line with jet_min_pt of {jet_pt_min} GeV per child""" + TOPO = jet_tag_maker("TOPO") line_alg = make_dijets( - tagpair=('TOPO', 'TOPO'), + tagpair=(TOPO, TOPO), prod_pt_min=int(jet_pt_min) * GeV, min_dphi=1.5) return SpruceLine( name=name, algs=upfront_reconstruction() + [require_pvs(make_pvs()), line_alg], - #calo_clusters=True, hlt2_filter_code=_hlt2_decision_regex(hlt2_dec), prescale=prescale) +# Asymmetric Sprucing Line +@register_line_builder(sprucing_lines) +@configurable +def SVTagDijets_sprucing_line(name='SpruceQEE_IncSVTagDijets', + hlt2_dec=DiJetIncSVTag_line, + prescale=1): + """Inc+SV Tag Dijets sprucing line""" + + SV = jet_tag_maker("SV") + line_alg = make_dijets( + tagpair=(None, SV), + min_dijet_mass=40 * GeV, + prod_pt_min=int(25.0) * GeV, + min_dphi=1.5) + return SpruceLine( + name=name, + algs=upfront_reconstruction() + [require_pvs(make_pvs()), line_alg], + persistreco=True, + calo_clusters=True, + hlt2_filter_code=_hlt2_decision_regex(hlt2_dec), + prescale=prescale) + + # Inclusive di-jets -for jet_pt_min, hlt2_dec in zip(["10", "15", "20", "25", "30", "35"], [ - IncDiJet10GeV_line, IncDiJet15GeV_line, IncDiJet20GeV_line, - IncDiJet25GeV_line, IncDiJet30GeV_line, IncDiJet35GeV_line +for jet_pt_min, hlt2_dec in zip(["15", "20", "25", "30", "35"], [ + IncDiJet15GeV_line, IncDiJet20GeV_line, IncDiJet25GeV_line, + IncDiJet30GeV_line, IncDiJet35GeV_line ]): @register_line_builder(sprucing_lines) @@ -730,7 +781,8 @@ for jet_pt_min, hlt2_dec in zip(["10", "15", "20", "25", "30", "35"], [ name=name, algs=upfront_reconstruction() + [require_pvs(make_pvs()), line_alg], - #calo_clusters=True, + calo_clusters=True, + persistreco=True, hlt2_filter_code=_hlt2_decision_regex(hlt2_dec), prescale=prescale) @@ -743,6 +795,7 @@ def Trijets_sprucing_line(name='SpruceQEE_Trijets', prescale=1): line_alg = make_Trijets_cand() return SpruceLine( name=name, + hlt1_filter_code=_hlt1_light_jet_filter, algs=upfront_reconstruction() + [require_pvs(make_pvs()), line_alg], prescale=prescale) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/top_muon_elec.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/top_muon_elec.py index 37691d2366a..389122b5662 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/top_muon_elec.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/top_muon_elec.py @@ -19,7 +19,8 @@ from PyConf import configurable from PyConf.utilities import ConfigurationError from Hlt2Conf.algorithms_thor import ParticleCombiner, ParticleContainersMerger -from Hlt2Conf.lines.qee.qee_builders import muon_filter, elec_filter, make_jets +from Hlt2Conf.lines.qee.qee_builders import muon_filter, elec_filter +from Hlt2Conf.standard_jets import make_jets, jet_tag_maker @configurable @@ -89,7 +90,8 @@ def make_ttbar_MuEBjet_cand(): muons = muon_filter(min_pt=20. * GeV) electrons = elec_filter(min_pt=20. * GeV) - bjets = make_jets(min_pt=10 * GeV, tags='SV') + TOPO = jet_tag_maker("TOPO") + bjets = make_jets(pt_min=10 * GeV, tags=TOPO) line_alg = make_ttbar_MuEBjet(muons, electrons, bjets, 40 * GeV) return line_alg diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/ttrack_llps.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/ttrack_llps.py new file mode 100644 index 00000000000..a1a0583964f --- /dev/null +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/ttrack_llps.py @@ -0,0 +1,217 @@ +############################################################################### +# (c) Copyright 2024 CERN for the benefit of the LHCb Collaboration # +# # +# This software is distributed under the terms of the GNU General Public # +# Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". # +# # +# 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. # +############################################################################### +""" +Define HLT2 lines for T track LLP searches. +""" + +from Moore.config import register_line_builder +from Moore.lines import Hlt2Line + +from RecoConf.reconstruction_objects import make_pvs, upfront_reconstruction +from PyConf import configurable +from RecoConf.event_filters import require_pvs +from Hlt2Conf.standard_particles import make_long_muons, make_long_electrons_with_brem, make_ttrack_pions, make_ttrack_muons +from Hlt2Conf.lines.rd.builders.rdbuilder_thor import make_rd_detached_kaons, make_rd_detached_kstar0s, make_rd_detached_muons +from Hlt2Conf.lines.qee.qee_builders import make_long_lepton_forHNL, make_HNL_TT, make_BToLHNL_TT, make_ttrack_forHNL +from Hlt2Conf.lines.qee.qee_builders import qee_BtoLX_TT, make_XtoTT_kaons, make_XtoTT_muons, make_XtoTT_pimu + +import Functors as F + +all_lines = {} + +######################## +### Dark Higgs modes ### +######################## + + +@register_line_builder(all_lines) +@configurable +def qee_BtoKH_KK_exclTT(name="Hlt2QEE_BtoKH_KK_exclTT", prescale=1.): + pvs = make_pvs() + long_kaons = make_rd_detached_kaons() + dikaon = make_XtoTT_kaons(pvs) + b_candidate = qee_BtoLX_TT( + long_particles=long_kaons, + ttrack_particles=dikaon, + decay_descriptor="[B+ -> K+ KS0]cc", + ) + return Hlt2Line( + name=name, + algs=upfront_reconstruction() + [require_pvs(pvs), b_candidate], + prescale=prescale) + + +@register_line_builder(all_lines) +@configurable +def qee_BtoKstar0H_KK_exclTT(name="Hlt2QEE_BtoKstar0H_KK_exclTT", prescale=1.): + pvs = make_pvs() + long_kstars = make_rd_detached_kstar0s() + dikaon = make_XtoTT_kaons(pvs) + b_candidate = qee_BtoLX_TT( + long_particles=long_kstars, + ttrack_particles=dikaon, + decay_descriptor="[B0 -> K*(892)0 KS0]cc", + ) + return Hlt2Line( + name=name, + algs=upfront_reconstruction() + [require_pvs(pvs), b_candidate], + prescale=prescale) + + +@register_line_builder(all_lines) +@configurable +def qee_BtoKH_MuMu_exclTT(name="Hlt2QEE_BtoKH_MuMu_exclTT", prescale=1.): + pvs = make_pvs() + long_kaons = make_rd_detached_kaons() + dimuon = make_XtoTT_muons(pvs) + b_candidate = qee_BtoLX_TT( + long_particles=long_kaons, + ttrack_particles=dimuon, + decay_descriptor="[B+ -> K+ KS0]cc", + ) + return Hlt2Line( + name=name, + algs=upfront_reconstruction() + [require_pvs(pvs), b_candidate], + prescale=prescale) + + +@register_line_builder(all_lines) +@configurable +def qee_BtoKstar0H_MuMu_exclTT(name="Hlt2QEE_BtoKstar0H_MuMu_exclTT", + prescale=1.): + pvs = make_pvs() + long_kstars = make_rd_detached_kstar0s() + dimuon = make_XtoTT_muons(pvs) + b_candidate = qee_BtoLX_TT( + long_particles=long_kstars, + ttrack_particles=dimuon, + decay_descriptor="[B0 -> K*(892)0 KS0]cc", + ) + return Hlt2Line( + name=name, + algs=upfront_reconstruction() + [require_pvs(pvs), b_candidate], + prescale=prescale) + + +################# +### HNL modes ### +################# + + +### HNL Exclusive Lines +@register_line_builder(all_lines) +@configurable +def qee_BtoMuN_PiMu_exclTT(name="Hlt2QEE_BtoMuN_PiMu_exclTT", prescale=1.): + pvs = make_pvs() + long_muons = make_rd_detached_muons() + hnl = make_XtoTT_pimu(pvs) + b_candidate = qee_BtoLX_TT( + long_particles=long_muons, + ttrack_particles=hnl, + decay_descriptor="[B+ -> mu+ KS0]cc", + ) + return Hlt2Line( + name=name, + algs=upfront_reconstruction() + [require_pvs(pvs), b_candidate], + prescale=prescale) + + +@register_line_builder(all_lines) +@configurable +def qee_BctoMuN_PiMu_exclTT(name="Hlt2QEE_BctoMuN_PiMu_exclTT", prescale=1.): + pvs = make_pvs() + long_muons = make_rd_detached_muons() + hnl = make_XtoTT_pimu(pvs) + + b_candidate = qee_BtoLX_TT( + long_particles=long_muons, + ttrack_particles=hnl, + decay_descriptor="[B_c+ -> mu+ KS0]cc", + mass_min=5200., + mass_max=7300.) + return Hlt2Line( + name=name, + algs=upfront_reconstruction() + [require_pvs(pvs), b_candidate], + prescale=prescale) + + +## HNL Inclusive Lines +@register_line_builder(all_lines) +@configurable +def BtoMuN_MuPi_InclTT(name="Hlt2QEE_BtoMuN_MuPi_InclTT", prescale=0.1): + pvs = make_pvs() + + long_muons = make_long_lepton_forHNL( + make_long=make_long_muons, + name='filter_long_muons_forHNL_{hash}', + pid=F.require_all(F.ISMUON, F.PID_MU > 2., (F.PID_MU - F.PID_P) > 2., + (F.PID_MU - F.PID_K) > 2., + (F.PID_MU - F.PID_E) > 2.)) + filtered_Tpions = make_ttrack_forHNL( + make_ttrack=make_ttrack_pions, + name='filter_Ttrack_pions_forHLN_{hash}', + pid=F.require_all(F.PID_P < 2., F.PID_K < 2., F.PID_E < 2.)) + filtered_Tmuons = make_ttrack_forHNL( + make_ttrack=make_ttrack_muons, + name='filter_Ttrack_muons_forHLN_{hash}', + # F.ISMUON not inserted because the muon reconstruction does not yet include T tracks + pid=F.require_all((F.PID_MU - F.PID_P) > 2., (F.PID_MU - F.PID_K) > 2., + (F.PID_MU - F.PID_E) > 2.)) + hnl = make_HNL_TT( + pions=filtered_Tpions, + leptons=filtered_Tmuons, + name='HNL_TT_combiner_MuPi_{hash}', + descriptor='[KS0 -> mu- pi+]cc') + bp = make_BToLHNL_TT( + long_leptons=long_muons, + hnl_tt=hnl, + name='B_combiner_MuN_MuPiTT_{hash}', + descriptor='[B+ -> mu+ KS0]cc') + return Hlt2Line( + name=name, + algs=upfront_reconstruction() + [require_pvs(pvs), long_muons, bp], + prescale=prescale) + + +@register_line_builder(all_lines) +@configurable +def BtoEN_MuPi_InclTT(name="Hlt2QEE_BtoEN_MuPi_InclTT", prescale=0.1): + pvs = make_pvs() + long_electrons = make_long_lepton_forHNL( + make_long=make_long_electrons_with_brem, + name='filter_long_electrons_forHNL_{hash}', + pid=F.require_all(F.PID_E > 2., (F.PID_E - F.PID_P) > 2., + (F.PID_E - F.PID_K) > 2., (F.PID_E - F.PID_MU) > 2., + ~F.ISMUON)) + filtered_Tpions = make_ttrack_forHNL( + make_ttrack=make_ttrack_pions, + name='filter_Ttrack_pions_forHLN_{hash}', + pid=F.require_all(F.PID_P < 2., F.PID_K < 2., F.PID_E < 2.)) + filtered_Tmuons = make_ttrack_forHNL( + make_ttrack=make_ttrack_muons, + name='filter_Ttrack_muons_forHLN_{hash}', + # F.ISMUON not inserted because the muon reconstruction does not yet include T tracks + pid=F.require_all((F.PID_MU - F.PID_P) > 2., (F.PID_MU - F.PID_K) > 2., + (F.PID_MU - F.PID_E) > 2.)) + hnl = make_HNL_TT( + pions=filtered_Tpions, + leptons=filtered_Tmuons, + name='HNL_TT_combiner_MuPi_{hash}', + descriptor='[KS0 -> mu- pi+]cc') + bp = make_BToLHNL_TT( + long_leptons=long_electrons, + hnl_tt=hnl, + name='B_combiner_EN_MuPiTT_{hash}', + descriptor='[B+ -> e+ KS0]cc') + return Hlt2Line( + name=name, + algs=upfront_reconstruction() + [require_pvs(pvs), long_electrons, bp], + prescale=prescale) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/vjets.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/vjets.py index b9355235d5e..c2eb4fedc25 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/vjets.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/vjets.py @@ -19,7 +19,8 @@ from PyConf import configurable from PyConf.utilities import ConfigurationError from Hlt2Conf.algorithms_thor import ParticleCombiner, ParticleContainersMerger -from Hlt2Conf.lines.qee.qee_builders import muon_filter, elec_filter, make_jets +from Hlt2Conf.lines.qee.qee_builders import muon_filter, elec_filter +from Hlt2Conf.standard_jets import make_jets, jet_tag_maker ### Builders that apply to both muonic and electronic boson decays @@ -155,7 +156,7 @@ def make_Z0jet_cand(): muons = muon_filter(min_pt=20. * GeV) Z0 = make_Z0_mumu(muons) - jets = make_jets(min_pt=10 * GeV) + jets = make_jets(pt_min=10 * GeV) line_alg = make_Z0jet(Z0, jets) return line_alg @@ -166,7 +167,8 @@ def make_Z0SVjet_cand(): muons = muon_filter(min_pt=20. * GeV) Z0 = make_Z0_mumu(muons) - jets = make_jets(min_pt=10, tags='SV') + TOPO = jet_tag_maker("TOPO") + jets = make_jets(pt_min=10, tags=TOPO) line_alg = make_Z0jet(Z0, jets) return line_alg @@ -177,7 +179,7 @@ def make_Z0jetjet_cand(): muons = muon_filter(min_pt=20. * GeV) Z0 = make_Z0_mumu(muons) - jets = make_jets(min_pt=10 * GeV) + jets = make_jets(pt_min=10 * GeV) line_alg = make_Z0jetjet(Z0, jets) return line_alg @@ -188,7 +190,8 @@ def make_Z0SVjetSVjet_cand(): muons = muon_filter(min_pt=20. * GeV) Z0 = make_Z0_mumu(muons) - jets = make_jets(min_pt=10 * GeV, tags='SV') + TOPO = jet_tag_maker("TOPO") + jets = make_jets(pt_min=10 * GeV, tags=TOPO) line_alg = make_Z0jetjet(Z0, jets) return line_alg @@ -198,7 +201,7 @@ def make_Z0SVjetSVjet_cand(): def make_Wjet_cand(): muons = muon_filter(min_pt=20. * GeV) - jets = make_jets(min_pt=10 * GeV) + jets = make_jets(pt_min=10 * GeV) line_alg = make_W_mu_jet(muons, jets) return line_alg @@ -208,7 +211,8 @@ def make_Wjet_cand(): def make_WSVjet_cand(): muons = muon_filter(min_pt=20. * GeV) - jets = make_jets(min_pt=10 * GeV, tags='SV') + TOPO = jet_tag_maker("TOPO") + jets = make_jets(pt_min=10 * GeV, tags=TOPO) line_alg = make_W_mu_jet(muons, jets) return line_alg @@ -218,7 +222,7 @@ def make_WSVjet_cand(): def make_Wjetjet_cand(): muons = muon_filter(min_pt=20. * GeV) - jets = make_jets(min_pt=10 * GeV) + jets = make_jets(pt_min=10 * GeV) line_alg = make_W_mu_jetjet(muons, jets) return line_alg @@ -228,7 +232,8 @@ def make_Wjetjet_cand(): def make_WSVjetSVjet_cand(): muons = muon_filter(min_pt=20. * GeV) - jets = make_jets(min_pt=10 * GeV, tags='SV') + TOPO = jet_tag_maker("TOPO") + jets = make_jets(pt_min=10 * GeV, tags=TOPO) line_alg = make_W_mu_jetjet(muons, jets) return line_alg @@ -239,7 +244,7 @@ def make_ssdimuonjet_cand(): muons = muon_filter(min_pt=10. * GeV) ssdimuon = make_ssdimuon(muons) - jets = make_jets(min_pt=10 * GeV) + jets = make_jets(pt_min=10 * GeV) line_alg = make_Z0jet(ssdimuon, jets) return line_alg @@ -250,7 +255,7 @@ def make_Z0_elec_jet_cand(): electrons = elec_filter(min_pt=20. * GeV) Z0 = make_Z0_ee(electrons) - jets = make_jets(min_pt=10 * GeV) + jets = make_jets(pt_min=10 * GeV) line_alg = make_Z0jet(Z0, jets) return line_alg @@ -261,7 +266,8 @@ def make_Z0_elec_SVjet_cand(): electrons = elec_filter(min_pt=20. * GeV) Z0 = make_Z0_ee(electrons) - jets = make_jets(min_pt=10, tags='SV') + TOPO = jet_tag_maker("TOPO") + jets = make_jets(pt_min=10, tags=TOPO) line_alg = make_Z0jet(Z0, jets) return line_alg @@ -272,7 +278,7 @@ def make_Z0_elec_jetjet_cand(): electrons = elec_filter(min_pt=20. * GeV) Z0 = make_Z0_ee(electrons) - jets = make_jets(min_pt=10 * GeV) + jets = make_jets(pt_min=10 * GeV) line_alg = make_Z0jetjet(Z0, jets) return line_alg @@ -283,7 +289,8 @@ def make_Z0_elec_SVjetSVjet_cand(): electrons = elec_filter(min_pt=20. * GeV) Z0 = make_Z0_ee(electrons) - jets = make_jets(min_pt=10 * GeV, tags='SV') + TOPO = jet_tag_maker("TOPO") + jets = make_jets(pt_min=10 * GeV, tags=TOPO) line_alg = make_Z0jetjet(Z0, jets) return line_alg @@ -293,7 +300,7 @@ def make_Z0_elec_SVjetSVjet_cand(): def make_W_elec_jet_cand(): electrons = elec_filter(min_pt=20. * GeV) - jets = make_jets(min_pt=10 * GeV) + jets = make_jets(pt_min=10 * GeV) line_alg = make_W_elec_jet(electrons, jets) return line_alg @@ -303,7 +310,8 @@ def make_W_elec_jet_cand(): def make_W_elec_SVjet_cand(): electrons = elec_filter(min_pt=20. * GeV) - jets = make_jets(min_pt=10 * GeV, tags='SV') + TOPO = jet_tag_maker("TOPO") + jets = make_jets(pt_min=10 * GeV, tags=TOPO) line_alg = make_W_elec_jet(electrons, jets) return line_alg @@ -313,7 +321,7 @@ def make_W_elec_SVjet_cand(): def make_W_elec_jetjet_cand(): electrons = elec_filter(min_pt=20. * GeV) - jets = make_jets(min_pt=10 * GeV) + jets = make_jets(pt_min=10 * GeV) line_alg = make_W_elec_jetjet(electrons, jets) return line_alg @@ -323,7 +331,8 @@ def make_W_elec_jetjet_cand(): def make_W_elec_SVjetSVjet_cand(): electrons = elec_filter(min_pt=20. * GeV) - jets = make_jets(min_pt=10 * GeV, tags='SV') + TOPO = jet_tag_maker("TOPO") + jets = make_jets(pt_min=10 * GeV, tags=TOPO) line_alg = make_W_elec_jetjet(electrons, jets) return line_alg diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/wz_boson_rare_decays.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/wz_boson_rare_decays.py index 74624177266..6010719a21a 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/wz_boson_rare_decays.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/qee/wz_boson_rare_decays.py @@ -27,7 +27,8 @@ from RecoConf.event_filters import require_pvs from Hlt2Conf.algorithms_thor import ParticleFilter, ParticleCombiner from Hlt2Conf.standard_particles import make_has_rich_long_pions, make_has_rich_long_kaons, make_has_rich_long_protons from Hlt2Conf.lines.charmonium_to_dimuon import make_charmonium_dimuon as make_dimuon -from Hlt2Conf.lines.qee.qee_builders import make_jets, make_photons +from Hlt2Conf.lines.qee.qee_builders import make_photons +from Hlt2Conf.standard_jets import make_jets all_lines = {} @@ -586,7 +587,7 @@ def make_WZRareDecay_HadronGamma_cand(pvs, comb_m_max=2.53 * GeV, DecayDescriptor='[Xi_c+ -> p+ K- pi+]cc') elif decay_type == "JetGamma": - hadron = hadron_fun(min_pt=20. * GeV) + hadron = hadron_fun(pt_min=20. * GeV) min_mass = 10. * GeV elif decay_type in ["UpsilonGamma", "JPsiGamma"]: hadron = hadron_fun(min_pt=5. * GeV) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/standard_jets.py b/Hlt/Hlt2Conf/python/Hlt2Conf/standard_jets.py index 9f29cb7d14a..1143da7ece5 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/standard_jets.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/standard_jets.py @@ -29,6 +29,8 @@ import Functors as F from RecoConf.reconstruction_objects import ( make_charged_protoparticles as _make_charged_protoparticles, make_pvs) +from Hlt2Conf.lines.jets.topobits import make_topo_2body, make_topo_2body_with_svtag + @configurable def make_charged_particles( @@ -46,6 +48,14 @@ def make_charged_particles( PrimaryVertices=make_pvs()).Output +@configurable +def jet_tag_maker(tag_key): + return { + "TOPO": make_topo_2body(), + "SV": make_topo_2body_with_svtag(), + }[tag_key] + + @configurable def tag_jets(jets, tags, useflightdirection=False, name="TagJets_{hash}"): return JetTag( @@ -109,28 +119,21 @@ def make_trackjets(name='TrackJets', @configurable -def make_jets(name='Jets', +def make_jets(name='SimpleJets_{hash}', pt_min=10 * GeV, JetsByVtx=True, - tags=None, - useflightdirectionfortag=False): + tags=None): pflow = make_particleflow() jets = build_jets(pflow, JetsByVtx, name='JetBuilder' + name) - # tagObjs = None - # if tags == 'SV': - # tagObjs = make_topo_2body_with_svtag() - # elif tags == 'TOPO': - # tagObjs = make_topo_2body() if tags is not None: taggedjets = tag_jets( - jets, - tags, - useflightdirection=useflightdirectionfortag, - name="TagJet" + name) + jets, tags, useflightdirection=True, name="Tags" + name) jets = taggedjets - code = F.require_all(F.IS_ABS_ID("CELLjet"), F.PT > pt_min) + code = F.require_all( + F.IS_ABS_ID("CELLjet"), F.PT > pt_min, + F.NINGENERATION(F.CHARGE != 0, 1) > 0) return ParticleFilter(jets, F.FILTER(code), name=name) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/standard_particles.py b/Hlt/Hlt2Conf/python/Hlt2Conf/standard_particles.py index fccc1e5243f..910658507af 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/standard_particles.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/standard_particles.py @@ -27,9 +27,9 @@ Implemented filters and builders: - make_long_{muons, pions, kaons, protons} : basic builder for long muons, pions, kaons, protons - make_ismuon_long_muon : basic builder for long muons with ISMUON condition - make_{up, down}_{electrons_no_brem, muons, pions, kaons, protons} : basic builders for upstream or downstream electrons (no brem correction), muons, pions, kaons, protons -- make_ttrack_{pions, protons} : basic builders for ttrack protons or pions +- make_ttrack_{pions, protons, muons, kaons} : basic builders for ttrack protons or pions - make_has_rich_{long, down, up}_{pions, kaons, protons} : basic builders for longstream, downstream and upstream pions, kaons, protons -- make_has_rich_ttrack_{pions, protons} : basic builders for ttrack pions, protons +- make_has_rich_ttrack_{pions, protons, muons, kaons} : basic builders for ttrack pions, protons - make_{resolved, merged}_pi0s : basic builder to make resolved and merged pi0 - filter_leptons_loose : basic filter for preselection of leptons - _make_dielectron_with_brem : @@ -394,6 +394,22 @@ def make_ttrack_protons(make_protoparticles=make_ttrack_protoparticles): make_protoparticle_filter=standard_protoparticle_filter) +@configurable +def make_ttrack_muons(make_protoparticles=make_ttrack_protoparticles): + return _make_particles( + species="muon", + make_protoparticles=make_protoparticles, + make_protoparticle_filter=standard_protoparticle_filter) + + +@configurable +def make_ttrack_kaons(make_protoparticles=make_ttrack_protoparticles): + return _make_particles( + species="kaon", + make_protoparticles=make_protoparticles, + make_protoparticle_filter=standard_protoparticle_filter) + + # HASRICH definitions of pions/K: long, down, up @@ -465,6 +481,16 @@ def make_has_rich_ttrack_protons(): return make_ttrack_protons() +def make_has_rich_ttrack_muons(): + with standard_protoparticle_filter.bind(Code=F.PPHASRICH): + return make_ttrack_muons() + + +def make_has_rich_ttrack_kaons(): + with standard_protoparticle_filter.bind(Code=F.PPHASRICH): + return make_ttrack_kaons() + + ## MVA filtered Ttracks def make_mva_ttrack_pions(): return make_ttrack_pions( @@ -476,6 +502,16 @@ def make_mva_ttrack_protons(): make_protoparticles=make_ttrack_MVAfiltered_protoparticles) +def make_mva_ttrack_muons(): + return make_ttrack_muons( + make_protoparticles=make_ttrack_MVAfiltered_protoparticles) + + +def make_mva_ttrack_kaons(): + return make_ttrack_kaons( + make_protoparticles=make_ttrack_MVAfiltered_protoparticles) + + # Definitions of pi0 @configurable def make_resolved_pi0s(particles=make_photons, -- GitLab From 6ce2f13ab3e40492e2b277cb5eef51d39f96d19b Mon Sep 17 00:00:00 2001 From: RefBot Date: Mon, 15 Apr 2024 14:16:31 +0200 Subject: [PATCH 20/51] Update References for: Allen!1503 based on lhcb-2024-patches-mr/41 --- ..._forward_with_mcchecking.ref.x86_64_v3-opt | 4 +-- ...gaudi_pv_with_mcchecking.ref.x86_64_v3-opt | 36 +++++++++---------- ...nd_match_with_mcchecking.ref.x86_64_v3-opt | 4 +-- ...udi_velo_with_mcchecking.ref.x86_64_v3-opt | 14 ++++---- .../hlt1_hlt2_comparison.ref.x86_64_v3-opt | 10 +++--- ..._hlt2_pvs_vertex_compare.ref.x86_64_v3-opt | 6 ++-- ...lt1_reco_allen_calo_efficiency.ref.detdesc | 4 +-- .../refs/hlt1_reco_allen_calo_resolution.ref | 2 +- ...lt1_reco_allen_calo_resolution.ref.detdesc | 2 +- ...co_allen_calo_resolution.ref.x86_64_v3-opt | 4 +-- 10 files changed, 43 insertions(+), 43 deletions(-) diff --git a/Hlt/RecoConf/tests/refs/allen_gaudi_forward_with_mcchecking.ref.x86_64_v3-opt b/Hlt/RecoConf/tests/refs/allen_gaudi_forward_with_mcchecking.ref.x86_64_v3-opt index 8e450c67161..c03aa6b0f37 100644 --- a/Hlt/RecoConf/tests/refs/allen_gaudi_forward_with_mcchecking.ref.x86_64_v3-opt +++ b/Hlt/RecoConf/tests/refs/allen_gaudi_forward_with_mcchecking.ref.x86_64_v3-opt @@ -38,10 +38,10 @@ fromV3TrackV1Track_32c14136 INFO Number of counters : 1 | "Nb of Produced Tracks" | 1000 | 4171 | 4.1710 | pv_beamline_cleanup INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "n_PVs" | 1000 | 5968 | 5.9680 | + | "n_PVs" | 1000 | 5967 | 5.9670 | scifi_consolidate_tracks_forward INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "n_long_tracks_forward" | 1000 | 4171 | 4.1710 | velo_consolidate_tracks INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "n_velo_tracks" | 1000 | 332968 | 332.97 | + | "n_velo_tracks" | 1000 | 332973 | 332.97 | diff --git a/Hlt/RecoConf/tests/refs/allen_gaudi_pv_with_mcchecking.ref.x86_64_v3-opt b/Hlt/RecoConf/tests/refs/allen_gaudi_pv_with_mcchecking.ref.x86_64_v3-opt index c795ec14587..515d8fb63de 100644 --- a/Hlt/RecoConf/tests/refs/allen_gaudi_pv_with_mcchecking.ref.x86_64_v3-opt +++ b/Hlt/RecoConf/tests/refs/allen_gaudi_pv_with_mcchecking.ref.x86_64_v3-opt @@ -5,22 +5,22 @@ PrimaryVertexChecker_a611350f INFO MC efficiency split by tracks with PrimaryVertexChecker_a611350f INFO MC efficiency split by z position: <-50, (-50,50), >50 PrimaryVertexChecker_a611350f INFO REC and MC vertices matched: by distance PrimaryVertexChecker_a611350f INFO -PrimaryVertexChecker_a611350f INFO 00 all : 283 from 528 ( 772-244 ) [ 53.60 %], false 95 from reco. 378 ( 283+95 ) [ 25.13 %] +PrimaryVertexChecker_a611350f INFO 00 all : 283 from 528 ( 772-244 ) [ 53.60 %], false 96 from reco. 379 ( 283+96 ) [ 25.33 %] PrimaryVertexChecker_a611350f INFO 01 isolated : 172 from 300 ( 436-136 ) [ 57.33 %], false 0 from reco. 172 ( 172+0 ) [ 0.00 %] -PrimaryVertexChecker_a611350f INFO 02 close : 111 from 228 ( 336-108 ) [ 48.68 %], false 95 from reco. 206 ( 111+95 ) [ 46.12 %] -PrimaryVertexChecker_a611350f INFO 03 ntracks<10 : 13 from 55 ( 55-0 ) [ 23.64 %], false 95 from reco. 108 ( 13+95 ) [ 87.96 %] +PrimaryVertexChecker_a611350f INFO 02 close : 111 from 228 ( 336-108 ) [ 48.68 %], false 96 from reco. 207 ( 111+96 ) [ 46.38 %] +PrimaryVertexChecker_a611350f INFO 03 ntracks<10 : 13 from 55 ( 55-0 ) [ 23.64 %], false 96 from reco. 109 ( 13+96 ) [ 88.07 %] PrimaryVertexChecker_a611350f INFO 04 ntracks>=10 : 270 from 473 ( 473-0 ) [ 57.08 %], false 0 from reco. 270 ( 270+0 ) [ 0.00 %] PrimaryVertexChecker_a611350f INFO 05 z<-50.0 : 71 from 110 ( 171-61 ) [ 64.55 %], false 18 from reco. 89 ( 71+18 ) [ 20.22 %] -PrimaryVertexChecker_a611350f INFO 06 z in (-50.0, 50.0) : 151 from 305 ( 432-127 ) [ 49.51 %], false 58 from reco. 209 ( 151+58 ) [ 27.75 %] +PrimaryVertexChecker_a611350f INFO 06 z in (-50.0, 50.0) : 151 from 305 ( 432-127 ) [ 49.51 %], false 59 from reco. 210 ( 151+59 ) [ 28.10 %] PrimaryVertexChecker_a611350f INFO 07 z >=50.0 : 61 from 113 ( 169-56 ) [ 53.98 %], false 19 from reco. 80 ( 61+19 ) [ 23.75 %] -PrimaryVertexChecker_a611350f INFO 08 decayBeauty : 2 from 4 ( 4-0 ) [ 50.00 %], false 1 from reco. 97 ( 96+1 ) [ 1.03 %] -PrimaryVertexChecker_a611350f INFO 09 decayCharm : 50 from 79 ( 79-0 ) [ 63.29 %], false 22 from reco. 145 ( 123+22 ) [ 15.17 %] -PrimaryVertexChecker_a611350f INFO 10 decayStrange : 283 from 525 ( 567-42 ) [ 53.90 %], false 94 from reco. 378 ( 284+94 ) [ 24.87 %] -PrimaryVertexChecker_a611350f INFO 11 other : 0 from 3 ( 205-202 ) [ 0.00 %], false 1 from reco. 95 ( 94+1 ) [ 1.05 %] +PrimaryVertexChecker_a611350f INFO 08 decayBeauty : 2 from 4 ( 4-0 ) [ 50.00 %], false 1 from reco. 98 ( 97+1 ) [ 1.02 %] +PrimaryVertexChecker_a611350f INFO 09 decayCharm : 50 from 79 ( 79-0 ) [ 63.29 %], false 22 from reco. 146 ( 124+22 ) [ 15.07 %] +PrimaryVertexChecker_a611350f INFO 10 decayStrange : 283 from 525 ( 567-42 ) [ 53.90 %], false 95 from reco. 379 ( 284+95 ) [ 25.07 %] +PrimaryVertexChecker_a611350f INFO 11 other : 0 from 3 ( 205-202 ) [ 0.00 %], false 1 from reco. 96 ( 95+1 ) [ 1.04 %] PrimaryVertexChecker_a611350f INFO 12 1MCPV : 66 from 100 ( 100-0 ) [ 66.00 %], false 35 from reco. 101 ( 66+35 ) [ 34.65 %] PrimaryVertexChecker_a611350f INFO 13 2MCPV : 58 from 99 ( 100-1 ) [ 58.59 %], false 22 from reco. 80 ( 58+22 ) [ 27.50 %] PrimaryVertexChecker_a611350f INFO 14 3MCPV : 54 from 94 ( 100-6 ) [ 57.45 %], false 15 from reco. 69 ( 54+15 ) [ 21.74 %] -PrimaryVertexChecker_a611350f INFO 15 4MCPV : 35 from 76 ( 99-23 ) [ 46.05 %], false 14 from reco. 49 ( 35+14 ) [ 28.57 %] +PrimaryVertexChecker_a611350f INFO 15 4MCPV : 35 from 76 ( 99-23 ) [ 46.05 %], false 15 from reco. 50 ( 35+15 ) [ 30.00 %] PrimaryVertexChecker_a611350f INFO 16 5MCPV : 30 from 61 ( 90-29 ) [ 49.18 %], false 3 from reco. 33 ( 30+3 ) [ 9.09 %] PrimaryVertexChecker_a611350f INFO PrimaryVertexChecker_a611350f INFO 00 all : av. PV tracks: 1.00 [MC: 31.95] @@ -44,13 +44,13 @@ PrimaryVertexChecker_a611350f INFO PrimaryVertexChecker_a611350f INFO 1_res_all : x: +0.091, y: +0.089, z: +0.240 PrimaryVertexChecker_a611350f INFO 2_res_ntracks<10 : x: +0.090, y: +0.086, z: +0.234 PrimaryVertexChecker_a611350f INFO 3_res_ntracks(10,30) : x: +0.092, y: +0.087, z: +0.251 -PrimaryVertexChecker_a611350f INFO 4_res_ntracks>30 : x: +0.088, y: +0.090, z: +0.233 +PrimaryVertexChecker_a611350f INFO 4_res_ntracks>30 : x: +0.089, y: +0.090, z: +0.232 PrimaryVertexChecker_a611350f INFO 5_res_z<-50 : x: +0.092, y: +0.088, z: +0.221 -PrimaryVertexChecker_a611350f INFO 6_res_z(-50,50) : x: +0.092, y: +0.090, z: +0.253 -PrimaryVertexChecker_a611350f INFO 7_res_z>50 : x: +0.085, y: +0.089, z: +0.203 +PrimaryVertexChecker_a611350f INFO 6_res_z(-50,50) : x: +0.093, y: +0.090, z: +0.252 +PrimaryVertexChecker_a611350f INFO 7_res_z>50 : x: +0.084, y: +0.088, z: +0.203 PrimaryVertexChecker_a611350f INFO -PrimaryVertexChecker_a611350f INFO 1_pull_width_all : x: +2.631, y: +2.794, z: +2.473 -PrimaryVertexChecker_a611350f INFO 1_pull_mean_all : x: +0.096, y: -0.031, z: +0.975 +PrimaryVertexChecker_a611350f INFO 1_pull_width_all : x: +2.639, y: +2.786, z: +2.472 +PrimaryVertexChecker_a611350f INFO 1_pull_mean_all : x: +0.107, y: -0.002, z: +0.975 PrimaryVertexChecker_a611350f INFO PrimaryVertexChecker_a611350f SUCCESS Booked 2 N-Tuples and 0 Event Tag Collections PrimaryVertexChecker_a611350f SUCCESS List of booked N-Tuples in directory "FILE1/PrimaryVertexChecker_a611350f" @@ -63,7 +63,7 @@ ApplicationMgr INFO Application Manager Finalized succes ApplicationMgr INFO Application Manager Terminated successfully GaudiAllenPVsToPrimaryVertexCont... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "Nb PVs" | 100 | 378 | 3.7800 | + | "Nb PVs" | 100 | 379 | 3.7900 | HLTControlFlowMgr INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Processed events" | 100 | @@ -72,13 +72,13 @@ PrimaryVertexChecker_a611350f INFO Number of counters : 1 | "nEvents" | 100 | fromV3TrackV1Track_12472ea9 INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "Nb of Produced Tracks" | 100 | 6763 | 67.630 | + | "Nb of Produced Tracks" | 100 | 6764 | 67.640 | fromV3TrackV1Track_39119efd INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Nb of Produced Tracks" | 100 | 15018 | 150.18 | pv_beamline_cleanup INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "n_PVs" | 99 | 377 | 3.8081 | + | "n_PVs" | 99 | 378 | 3.8182 | velo_consolidate_tracks INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "n_velo_tracks" | 100 | 21781 | 217.81 | + | "n_velo_tracks" | 100 | 21782 | 217.82 | diff --git a/Hlt/RecoConf/tests/refs/allen_gaudi_seed_and_match_with_mcchecking.ref.x86_64_v3-opt b/Hlt/RecoConf/tests/refs/allen_gaudi_seed_and_match_with_mcchecking.ref.x86_64_v3-opt index f8c8c6c9660..e279cce673d 100644 --- a/Hlt/RecoConf/tests/refs/allen_gaudi_seed_and_match_with_mcchecking.ref.x86_64_v3-opt +++ b/Hlt/RecoConf/tests/refs/allen_gaudi_seed_and_match_with_mcchecking.ref.x86_64_v3-opt @@ -41,10 +41,10 @@ matching_consolidate_tracks_matc... INFO Number of counters : 1 | "n_long_tracks_matching" | 500 | 29261 | 58.522 | pv_beamline_cleanup INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "n_PVs" | 500 | 2992 | 5.9840 | + | "n_PVs" | 500 | 2991 | 5.9820 | scifi_consolidate_seeds_matching INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "n_seed_tracks" | 500 | 48653 | 97.306 | velo_consolidate_tracks INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "n_velo_tracks" | 500 | 165410 | 330.82 | + | "n_velo_tracks" | 500 | 165411 | 330.82 | diff --git a/Hlt/RecoConf/tests/refs/allen_gaudi_velo_with_mcchecking.ref.x86_64_v3-opt b/Hlt/RecoConf/tests/refs/allen_gaudi_velo_with_mcchecking.ref.x86_64_v3-opt index 1c875991191..b133c968f20 100644 --- a/Hlt/RecoConf/tests/refs/allen_gaudi_velo_with_mcchecking.ref.x86_64_v3-opt +++ b/Hlt/RecoConf/tests/refs/allen_gaudi_velo_with_mcchecking.ref.x86_64_v3-opt @@ -1,8 +1,8 @@ VeloTrackChecker_9bbf6e43 INFO Results -VeloTrackChecker_9bbf6e43 INFO **** Velo 35052 tracks including 825 ghosts [ 2.35 %], Event average 2.29 % **** -VeloTrackChecker_9bbf6e43 INFO 01_velo : 14748 from 15002 [ 98.31 %] 408 clones [ 2.69 %], purity: 99.60 %, hitEff: 95.68 %, hitEffFirst3: 95.93 %, hitEffLast: 95.38 % -VeloTrackChecker_9bbf6e43 INFO 02_long : 8661 from 8724 [ 99.28 %] 188 clones [ 2.12 %], purity: 99.74 %, hitEff: 96.75 %, hitEffFirst3: 96.82 %, hitEffLast: 96.68 % -VeloTrackChecker_9bbf6e43 INFO 03_long_P>5GeV : 5762 from 5795 [ 99.43 %] 113 clones [ 1.92 %], purity: 99.76 %, hitEff: 97.29 %, hitEffFirst3: 97.48 %, hitEffLast: 97.19 % +VeloTrackChecker_9bbf6e43 INFO **** Velo 35050 tracks including 823 ghosts [ 2.35 %], Event average 2.29 % **** +VeloTrackChecker_9bbf6e43 INFO 01_velo : 14748 from 15002 [ 98.31 %] 408 clones [ 2.69 %], purity: 99.60 %, hitEff: 95.68 %, hitEffFirst3: 95.93 %, hitEffLast: 95.39 % +VeloTrackChecker_9bbf6e43 INFO 02_long : 8661 from 8724 [ 99.28 %] 188 clones [ 2.12 %], purity: 99.74 %, hitEff: 96.76 %, hitEffFirst3: 96.82 %, hitEffLast: 96.69 % +VeloTrackChecker_9bbf6e43 INFO 03_long_P>5GeV : 5762 from 5795 [ 99.43 %] 113 clones [ 1.92 %], purity: 99.76 %, hitEff: 97.29 %, hitEffFirst3: 97.48 %, hitEffLast: 97.20 % VeloTrackChecker_9bbf6e43 INFO 04_long_strange : 469 from 486 [ 96.50 %] 10 clones [ 2.09 %], purity: 98.90 %, hitEff: 95.19 %, hitEffFirst3: 94.92 %, hitEffLast: 94.74 % VeloTrackChecker_9bbf6e43 INFO 05_long_strange_P>5GeV : 238 from 247 [ 96.36 %] 5 clones [ 2.06 %], purity: 98.68 %, hitEff: 97.00 %, hitEffFirst3: 96.57 %, hitEffLast: 96.90 % VeloTrackChecker_9bbf6e43 INFO 06_long_fromB : 504 from 510 [ 98.82 %] 12 clones [ 2.33 %], purity: 99.64 %, hitEff: 97.04 %, hitEffFirst3: 96.96 %, hitEffLast: 97.05 % @@ -28,7 +28,7 @@ PrLHCbID2MCParticleVP_116b424a INFO Number of counters : 1 | "#removed null MCParticles" | 300473 | 0 | 0.0000 | PrTrackAssociator_fb4c4313 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"Efficiency" | 35052 | 34227 |( 97.64635 +- 0.08097336)% | + |*"Efficiency" | 35050 | 34227 |( 97.65193 +- 0.08088208)% | | "MC particles per track" | 34227 | 34368 | 1.0041 | VeloTrackChecker_9bbf6e43.LoKi::... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | @@ -38,7 +38,7 @@ fromV3TrackV1Track_12472ea9 INFO Number of counters : 1 | "Nb of Produced Tracks" | 100 | 12763 | 127.63 | fromV3TrackV1Track_39119efd INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "Nb of Produced Tracks" | 100 | 22289 | 222.89 | + | "Nb of Produced Tracks" | 100 | 22287 | 222.87 | velo_consolidate_tracks INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "n_velo_tracks" | 100 | 35052 | 350.52 | + | "n_velo_tracks" | 100 | 35050 | 350.50 | diff --git a/Hlt/RecoConf/tests/refs/hlt1_hlt2_comparison.ref.x86_64_v3-opt b/Hlt/RecoConf/tests/refs/hlt1_hlt2_comparison.ref.x86_64_v3-opt index 34d7d655705..2a8752d0156 100644 --- a/Hlt/RecoConf/tests/refs/hlt1_hlt2_comparison.ref.x86_64_v3-opt +++ b/Hlt/RecoConf/tests/refs/hlt1_hlt2_comparison.ref.x86_64_v3-opt @@ -6,7 +6,7 @@ CloneKillerForward_99920633 INFO Number of counters : 2 | "nTracksSelected" | 500 | 10199 | 20.398 | GaudiAllenPVsToPrimaryVertexCont... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "Nb PVs" | 500 | 2992 | 5.9840 | + | "Nb PVs" | 500 | 2991 | 5.9820 | HLTControlFlowMgr INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Processed events" | 500 | @@ -137,19 +137,19 @@ fromPrVeloTracksV1TracksMerger_c... INFO Number of counters : 1 | "Nb of converted Tracks" | 500 | 158257 | 316.51 | fromV3TrackV1Track_12472ea9 INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "Nb of Produced Tracks" | 500 | 59743 | 119.49 | + | "Nb of Produced Tracks" | 500 | 59745 | 119.49 | fromV3TrackV1Track_32c14136 INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Nb of Produced Tracks" | 500 | 2062 | 4.1240 | fromV3TrackV1Track_39119efd INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "Nb of Produced Tracks" | 500 | 105667 | 211.33 | + | "Nb of Produced Tracks" | 500 | 105666 | 211.33 | pv_beamline_cleanup INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "n_PVs" | 500 | 2992 | 5.9840 | + | "n_PVs" | 500 | 2991 | 5.9820 | scifi_consolidate_tracks_forward INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "n_long_tracks_forward" | 500 | 2062 | 4.1240 | velo_consolidate_tracks INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "n_velo_tracks" | 500 | 165410 | 330.82 | + | "n_velo_tracks" | 500 | 165411 | 330.82 | diff --git a/Hlt/RecoConf/tests/refs/hlt1_hlt2_pvs_vertex_compare.ref.x86_64_v3-opt b/Hlt/RecoConf/tests/refs/hlt1_hlt2_pvs_vertex_compare.ref.x86_64_v3-opt index 59449184fe7..cad65600ab7 100644 --- a/Hlt/RecoConf/tests/refs/hlt1_hlt2_pvs_vertex_compare.ref.x86_64_v3-opt +++ b/Hlt/RecoConf/tests/refs/hlt1_hlt2_pvs_vertex_compare.ref.x86_64_v3-opt @@ -18,8 +18,8 @@ VertexCompare_6bb7df3e INFO dx: mean = -0.000 +/- 0.000, RMS VertexCompare_6bb7df3e INFO dy: mean = -0.000 +/- 0.000, RMS = 0.010 +/- 0.001 VertexCompare_6bb7df3e INFO dz: mean = -0.001 +/- 0.001, RMS = 0.082 +/- 0.006 VertexCompare_6bb7df3e INFO --------------------------------------- -VertexCompare_6bb7df3e INFO pullx: mean = -0.001 +/- 0.005, RMS = 0.378 +/- 0.007 -VertexCompare_6bb7df3e INFO pully: mean = 0.001 +/- 0.005, RMS = 0.364 +/- 0.007 +VertexCompare_6bb7df3e INFO pullx: mean = -0.002 +/- 0.005, RMS = 0.378 +/- 0.007 +VertexCompare_6bb7df3e INFO pully: mean = 0.002 +/- 0.005, RMS = 0.364 +/- 0.007 VertexCompare_6bb7df3e INFO pullz: mean = 0.011 +/- 0.006, RMS = 0.392 +/- 0.008 VertexCompare_6bb7df3e INFO --------------------------------------- VertexCompare_6bb7df3e INFO diff in x: 0.174 +/- 0.003 @@ -136,4 +136,4 @@ pv_beamline_cleanup INFO Number of counters : 1 | "n_PVs" | 999 | 5099 | 5.1041 | velo_consolidate_tracks INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "n_velo_tracks" | 1000 | 249210 | 249.21 | + | "n_velo_tracks" | 1000 | 249205 | 249.21 | diff --git a/Hlt/RecoConf/tests/refs/hlt1_reco_allen_calo_efficiency.ref.detdesc b/Hlt/RecoConf/tests/refs/hlt1_reco_allen_calo_efficiency.ref.detdesc index 5d00e854b20..ebc11f81515 100644 --- a/Hlt/RecoConf/tests/refs/hlt1_reco_allen_calo_efficiency.ref.detdesc +++ b/Hlt/RecoConf/tests/refs/hlt1_reco_allen_calo_efficiency.ref.detdesc @@ -13,11 +13,11 @@ CaloClusterEff INFO Number of counters : 5 | "# signal" | 1000 | 2028 | 2.0280 | 0.25143 | 2.0000 | 6.0000 | | "More than 1 endVertex found for signal" | 2 | |*"reco efficiency" | 426 | 342 |( 80.28169 +- 1.927695)% | -CaloClusterMCTruth_1e84572d INFO Number of counters : 2 +CaloClusterMCTruth_e3b1817b INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#CC2MC links" | 1000 | 1148188 | 1148.2 | |*"No MC information for the cluster is found" | 66254 | 2 |(0.003018686 +- 0.002134501)% | -CaloFutureClusterMonitor_a9522891 INFO Number of counters : 1 +CaloFutureClusterMonitor_bee57f04 INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "# clusters over threshold" | 1000 | 66254 | 66.254 | 28.546 | 3.0000 | 181.00 | CaloFutureDigit2MCLinks2Table_b7... INFO Number of counters : 2 diff --git a/Hlt/RecoConf/tests/refs/hlt1_reco_allen_calo_resolution.ref b/Hlt/RecoConf/tests/refs/hlt1_reco_allen_calo_resolution.ref index e48bc3e7f6d..d241be62ecc 100644 --- a/Hlt/RecoConf/tests/refs/hlt1_reco_allen_calo_resolution.ref +++ b/Hlt/RecoConf/tests/refs/hlt1_reco_allen_calo_resolution.ref @@ -6,7 +6,7 @@ TFile: name=Hlt1RecoAllenCaloResolutionNTuple.root, title=Gaudi Trees, option=CR NTupleSvc INFO NTuples saved successfully ApplicationMgr INFO Application Manager Finalized successfully ApplicationMgr INFO Application Manager Terminated successfully -CaloClusterMCTruth_1e84572d INFO Number of counters : 2 +CaloClusterMCTruth_e3b1817b INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#CC2MC links" | 1000 | 1148188 | 1148.2 | |*"No MC information for the cluster is found" | 66254 | 2 |(0.003018686 +- 0.002134501)% | diff --git a/Hlt/RecoConf/tests/refs/hlt1_reco_allen_calo_resolution.ref.detdesc b/Hlt/RecoConf/tests/refs/hlt1_reco_allen_calo_resolution.ref.detdesc index 42b937b6688..009af8e4b62 100644 --- a/Hlt/RecoConf/tests/refs/hlt1_reco_allen_calo_resolution.ref.detdesc +++ b/Hlt/RecoConf/tests/refs/hlt1_reco_allen_calo_resolution.ref.detdesc @@ -6,7 +6,7 @@ TFile: name=Hlt1RecoAllenCaloResolutionNTuple.root, title=Gaudi Trees, option=CR NTupleSvc INFO NTuples saved successfully ApplicationMgr INFO Application Manager Finalized successfully ApplicationMgr INFO Application Manager Terminated successfully -CaloClusterMCTruth_1e84572d INFO Number of counters : 2 +CaloClusterMCTruth_e3b1817b INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#CC2MC links" | 1000 | 1148188 | 1148.2 | |*"No MC information for the cluster is found" | 66254 | 2 |(0.003018686 +- 0.002134501)% | diff --git a/Hlt/RecoConf/tests/refs/hlt1_reco_allen_calo_resolution.ref.x86_64_v3-opt b/Hlt/RecoConf/tests/refs/hlt1_reco_allen_calo_resolution.ref.x86_64_v3-opt index 7623a6b64b3..d241be62ecc 100644 --- a/Hlt/RecoConf/tests/refs/hlt1_reco_allen_calo_resolution.ref.x86_64_v3-opt +++ b/Hlt/RecoConf/tests/refs/hlt1_reco_allen_calo_resolution.ref.x86_64_v3-opt @@ -6,7 +6,7 @@ TFile: name=Hlt1RecoAllenCaloResolutionNTuple.root, title=Gaudi Trees, option=CR NTupleSvc INFO NTuples saved successfully ApplicationMgr INFO Application Manager Finalized successfully ApplicationMgr INFO Application Manager Terminated successfully -CaloClusterMCTruth_1e84572d INFO Number of counters : 2 +CaloClusterMCTruth_e3b1817b INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#CC2MC links" | 1000 | 1148188 | 1148.2 | |*"No MC information for the cluster is found" | 66254 | 2 |(0.003018686 +- 0.002134501)% | @@ -14,7 +14,7 @@ CaloClusterResolutionAllenCluste... INFO Number of counters : 4 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "DeltaEOverE" | 1253 | -514.0634 | -0.41027 | 0.71793 | -0.99629 | 18.819 | | "DeltaX" | 1253 | 58467.69 | 46.662 | 918.24 | -6583.3 | 4563.1 | - | "DeltaY" | 1253 | -5970.398 | -4.7649 | 326.18 | -3832.8 | 6589.9 | + | "DeltaY" | 1253 | -5970.396 | -4.7649 | 326.18 | -3832.8 | 6589.9 | |*"Matched" | 66254 | 1253 |( 1.891207 +- 0.05291970)% | CaloFutureDigit2MCLinks2Table_b7... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | -- GitLab From a53a5ffb527d287fdd17062eb803e751d74bd759 Mon Sep 17 00:00:00 2001 From: Rosen Matev Date: Tue, 2 Apr 2024 11:05:20 +0200 Subject: [PATCH 21/51] Add HLT2CALIB to hlt2slim settings --- Hlt/Hlt2Conf/python/Hlt2Conf/settings/hlt2_slim.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/settings/hlt2_slim.py b/Hlt/Hlt2Conf/python/Hlt2Conf/settings/hlt2_slim.py index 8aceccd5835..35e8e462033 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/settings/hlt2_slim.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/settings/hlt2_slim.py @@ -20,6 +20,7 @@ from Hlt2Conf.lines.luminosity import ( lumi_nanofy_line, calibration_lines as lumi_calibration_lines, ) +from Hlt2Conf.lines.calibration import all_lines as calibration_lines from Hlt2Conf.standard_particles import (make_long_pions, make_long_protons, make_photons) from Hlt2Conf.algorithms_thor import ParticleCombiner, ParticleFilter @@ -155,11 +156,13 @@ def _make_streams(): lambda_ll_line(), lumi_line ] lumi_lines = [builder() for builder in lumi_calibration_lines.values()] + hlt2calib_lines = [builder() for builder in calibration_lines.values()] return Streams(streams=[ Stream("full", lines=full_lines), Stream("turbo", lines=turbo_lines), - Stream("lumi", lines=lumi_lines) + Stream("lumi", lines=lumi_lines), + Stream("hlt2calib", lines=hlt2calib_lines), ]) -- GitLab From 2c075e80209bdd3bc22830c56c19c38a12fe63fc Mon Sep 17 00:00:00 2001 From: Oscar Boente Garcia Date: Mon, 15 Apr 2024 16:30:03 +0200 Subject: [PATCH 22/51] Modify regex ift turbo lines --- .../Hlt2Conf/sprucing_settings/Sprucing_production_PP_24c1.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/sprucing_settings/Sprucing_production_PP_24c1.py b/Hlt/Hlt2Conf/python/Hlt2Conf/sprucing_settings/Sprucing_production_PP_24c1.py index 60115ff3ac5..a6390eddd99 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/sprucing_settings/Sprucing_production_PP_24c1.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/sprucing_settings/Sprucing_production_PP_24c1.py @@ -167,8 +167,7 @@ turbolinedict = { "rd": ["^(?!.*Gamma.*Incl)Hlt2RD.*Decision" ], #confirm this will not omit any turbo lines "bnoc": ["^(?!.*Full)Hlt2BnoC.*Decision"], - "ift": ["Hlt2IFT_Femtoscopy.*Decision" - ] #ift turbo lines all have `Hlt2IFT_Femtoscopy`? + "ift": ["Hlt2IFTTurbo.*Decision"] } # turbolinedict = { -- GitLab From 6e590865b87ca2c1faa50ed319cfd9105d3b3765 Mon Sep 17 00:00:00 2001 From: Suzanne Klaver Date: Mon, 15 Apr 2024 18:49:52 +0200 Subject: [PATCH 23/51] Adding new lines B2Dplnu, with Dp2KKpi --- .../Hlt2Conf/lines/semileptonic/HbToHcLNu.py | 56 +++++++++++++ .../builders/charm_hadron_builder.py | 45 +++++++++++ .../lines/semileptonic/hlt2_semileptonic.py | 64 +++++++++++++++ .../lines/semileptonic/spruce_semileptonic.py | 80 +++++++++++++++++++ 4 files changed, 245 insertions(+) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/HbToHcLNu.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/HbToHcLNu.py index ee80f1fcd34..3ef8d244583 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/HbToHcLNu.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/HbToHcLNu.py @@ -17,6 +17,7 @@ from .builders.base_builder import ( from .builders.charm_hadron_builder import ( make_d0_tokpi, make_dplus_tokpipi, + make_dplus_tokkpi, make_d0_tok3pi, make_ds_tokkpi, make_dst_to_dsgamma, @@ -220,6 +221,61 @@ def make_b0todplnu_dptokpipi_fakelepton(process, lepton): return line_alg +def make_b0todplnu_dptokkpi(process, lepton): + """ + Selction for the Cabibbo-suppressed decay B0 -> D+(-> K K pi) l nu. + """ + if lepton == "mu": + leptons = make_muons_from_b() + descriptor_rs = "[B0 -> D- mu+]cc" + descriptor_ws = "[B0 -> D- mu-]cc" + elif lepton == "e": + leptons = make_electrons_from_b() + descriptor_rs = "[B0 -> D- e+]cc" + descriptor_ws = "[B0 -> D- e-]cc" + else: + raise ConfigurationError("Lepton must be either mu or e") + + dps = make_dplus_tokkpi() + b0s_rightsign = make_b2xclnu([dps, leptons], + descriptor=descriptor_rs, + name=f"B02Dp{lepton}Nu_Dp2KKPi_combiner") + b0s_wrongsign = make_b2xclnu([dps, leptons], + descriptor=descriptor_ws, + name=f"B02Dp{lepton}Nu_Dp2KKPi_WS_combiner") + line_alg = ParticleContainersMerger([b0s_rightsign, b0s_wrongsign]) + + return line_alg + + +def make_b0todplnu_dptokkpi_fakelepton(process, lepton): + """ + Selection for the Cabibbo-suppressed decay B0 -> D+(-> K K pi) l nu, with a fake lepton. + """ + if lepton == "mu": + fake_leptons = make_fake_muons_from_b_reversedPID() + descriptor_rs = "[B0 -> D- mu+]cc" + descriptor_ws = "[B0 -> D- mu-]cc" + elif lepton == "e": + fake_leptons = make_fake_electrons_from_b_reversedPID() + descriptor_rs = "[B0 -> D- e+]cc" + descriptor_ws = "[B0 -> D- e-]cc" + else: + raise ConfigurationError("Lepton must be either mu or e") + dps = make_dplus_tokkpi() + b0s_rightsign = make_b2xclnu( + [dps, fake_leptons], + descriptor=descriptor_rs, + name=f"B02Dp{lepton}Nu_Dp2KKPi_fakeL_combiner") + b0s_wrongsign = make_b2xclnu( + [dps, fake_leptons], + descriptor=descriptor_ws, + name=f"B02Dp{lepton}Nu_Dp2KKPi_fakeL_WS_combiner") + line_alg = ParticleContainersMerger([b0s_rightsign, b0s_wrongsign]) + + return line_alg + + def make_butod0lnu_d0tok3pi(process, lepton): """ Selction for the decay B+ -> D0(-> K pi pi pi) l nu. diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/builders/charm_hadron_builder.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/builders/charm_hadron_builder.py index 2b7c28228a7..826b55a6777 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/builders/charm_hadron_builder.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/builders/charm_hadron_builder.py @@ -193,6 +193,51 @@ def make_dplus_tokpipi(name='SLB_DpToKPiPiBuilder_{hash}', comb_pt_sum_min=comb_pt_sum_min) +@configurable +def make_dplus_tokkpi(name='SLB_DpToKKPiBuilder_{hash}', + comb_m_min=1830 * MeV, + comb_m_max=1910 * MeV, + comb_pt_any_min=800 * MeV, + comb_pt_sum_min=2500 * MeV, + daughter_p_min=5 * GeV, + daughter_pt_min=300 * MeV, + daughter_mipchi2_min=9., + kaon_pid=(F.PID_K > 4.), + pion_pid=(F.PID_K < 2.), + vchi2pdof_max=6, + bpvdira_min=0.999, + bpvvdz_min=None, + bpvfdchi2_min=0.): + """ + Builder for the decay D+->K+K-pi+. + """ + + with base_builder.make_candidate.bind( + p_min=daughter_p_min, + pt_min=daughter_pt_min, + mipchi2_min=daughter_mipchi2_min): + particles = [ + base_builder.make_kaons(pid=kaon_pid), + base_builder.make_kaons(pid=kaon_pid), + base_builder.make_pions(pid=pion_pid) + ] + + descriptor = "[D+ -> K+ K- pi+]cc" + + return make_Hc_to_nbody( + particles, + descriptor, + comb_m_min, + comb_m_max, + name=name, + comb_pt_any_min=comb_pt_any_min, + comb_pt_sum_min=comb_pt_sum_min, + vchi2pdof_max=vchi2pdof_max, + bpvdira_min=bpvdira_min, + bpvvdz_min=bpvvdz_min, + bpvfdchi2_min=bpvfdchi2_min) + + @configurable def make_d0_tok3pi(name='SLB_D0ToK3PiBuilder_{hash}', comb_m_min=1784.84 * MeV, diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/hlt2_semileptonic.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/hlt2_semileptonic.py index 258483d77ec..4e321612c8c 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/hlt2_semileptonic.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/hlt2_semileptonic.py @@ -86,6 +86,8 @@ from .HbToHcLNu import ( make_butod0lnu_d0tokpi_fakelepton, make_b0todplnu_dptokpipi, make_b0todplnu_dptokpipi_fakelepton, + make_b0todplnu_dptokkpi, + make_b0todplnu_dptokkpi_fakelepton, make_butod0lnu_d0tok3pi, make_butod0lnu_d0tok3pi_fakelepton, make_bstodslnu_dstokkpi, @@ -857,6 +859,68 @@ def hlt2_b0todpenu_dptokpipi_fakeelectron_line( algs=sl_line_prefilter() + [line_alg]) +@register_line_builder(hlt2_lines) +def hlt2_b0todpmunu_dptokkpi_line(name="Hlt2SLB_B0ToDpMuNu_DpToKKPi", + prescale=1, + persistreco=True): + """ + SL Hlt2 line for the decay B0 -> D+(-> K K pi) mu nu. + """ + line_alg = make_b0todplnu_dptokkpi(process=PROCESS, lepton="mu") + return Hlt2Line( + name=name, + prescale=prescale, + persistreco=persistreco, + algs=sl_line_prefilter() + [line_alg]) + + +@register_line_builder(hlt2_lines) +def hlt2_b0todpmunu_dptokkpi_fakemuon_line( + name="Hlt2SLB_B0ToDpMuNu_DpToKKPi_FakeMuon", + prescale=0.1, + persistreco=True): + """ + SL Hlt2 line for the decay B0 -> D+(-> K K pi) mu nu, with a fake muon. + """ + line_alg = make_b0todplnu_dptokkpi_fakelepton(process=PROCESS, lepton="mu") + return Hlt2Line( + name=name, + prescale=prescale, + persistreco=persistreco, + algs=sl_line_prefilter() + [line_alg]) + + +@register_line_builder(hlt2_lines) +def hlt2_b0todpenu_dptokkpi_line(name="Hlt2SLB_B0ToDpENu_DpToKKPi", + prescale=1, + persistreco=True): + """ + SL Hlt2 line for the decay B0 -> D+(-> K K pi) e nu. + """ + line_alg = make_b0todplnu_dptokkpi(process=PROCESS, lepton="e") + return Hlt2Line( + name=name, + prescale=prescale, + persistreco=persistreco, + algs=sl_line_prefilter() + [line_alg]) + + +@register_line_builder(hlt2_lines) +def hlt2_b0todpenu_dptokkpi_fakeelectron_line( + name="Hlt2SLB_B0ToDpENu_DpToKKPi_FakeElectron", + prescale=0.1, + persistreco=True): + """ + SL Hlt2 line for the decay B0 -> D+(-> K K pi) e nu, with a fake electron. + """ + line_alg = make_b0todplnu_dptokpipi_fakelepton(process=PROCESS, lepton="e") + return Hlt2Line( + name=name, + prescale=prescale, + persistreco=persistreco, + algs=sl_line_prefilter() + [line_alg]) + + @register_line_builder(hlt2_lines) def hlt2_bstodsmunu_dstokkpi_line(name="Hlt2SLB_BsToDsMuNu_DsToKKPi", prescale=1, diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/spruce_semileptonic.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/spruce_semileptonic.py index 8fe4d27ba1d..07b6b083f73 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/spruce_semileptonic.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/semileptonic/spruce_semileptonic.py @@ -124,6 +124,8 @@ from .HbToHcLNu import ( make_butod0lnu_d0tokpi_fakelepton, make_b0todplnu_dptokpipi, make_b0todplnu_dptokpipi_fakelepton, + make_b0todplnu_dptokkpi, + make_b0todplnu_dptokkpi_fakelepton, make_butod0lnu_d0tok3pi, make_butod0lnu_d0tok3pi_fakelepton, make_bstodslnu_dstokkpi, @@ -1076,6 +1078,84 @@ def spruce_b0todpenu_dptokpipi_fakeelectron_line( algs=sl_line_prefilter() + [line_alg]) +@register_line_builder(spruce_lines) +def spruce_b0todpmunu_dptokkpi_line(name="SpruceSLB_B0ToDpMuNu_DpToKKPi", + prescale=1, + persistreco=False): + """ + SL Spruce line for the decay B0 -> D+(-> K K pi) mu nu. + """ + line_alg = make_b0todplnu_dptokkpi(process=PROCESS, lepton="mu") + return SpruceLine( + name=name, + hlt2_filter_code=[ + f"{name.replace('Spruce','Hlt2')}Decision", + "Hlt2Topo2BodyDecision", "Hlt2Topo3BodyDecision" + ], + prescale=prescale, + persistreco=persistreco, + algs=sl_line_prefilter() + [line_alg]) + + +@register_line_builder(spruce_lines) +def spruce_b0todpmunu_dptokkpi_fakemuon_line( + name="SpruceSLB_B0ToDpMuNu_DpToKKPi_FakeMuon", + prescale=0.1, + persistreco=False): + """ + SL Spruce line for the decay B0 -> D+(-> K K pi) mu nu, with a fake muon. + """ + line_alg = make_b0todplnu_dptokkpi_fakelepton(process=PROCESS, lepton="mu") + return SpruceLine( + name=name, + hlt2_filter_code=[ + f"{name.replace('Spruce','Hlt2')}Decision", + "Hlt2Topo2BodyDecision", "Hlt2Topo3BodyDecision" + ], + prescale=prescale, + persistreco=persistreco, + algs=sl_line_prefilter() + [line_alg]) + + +@register_line_builder(spruce_lines) +def spruce_b0todpenu_dptokkpi_line(name="SpruceSLB_B0ToDpENu_DpToKKPi", + prescale=1, + persistreco=True): + """ + SL Spruce line for the decay B0 -> D+(-> K K pi) e nu. + """ + line_alg = make_b0todplnu_dptokkpi(process=PROCESS, lepton="e") + return SpruceLine( + name=name, + hlt2_filter_code=[ + f"{name.replace('Spruce','Hlt2')}Decision", + "Hlt2Topo2BodyDecision", "Hlt2Topo3BodyDecision" + ], + prescale=prescale, + persistreco=persistreco, + algs=sl_line_prefilter() + [line_alg]) + + +@register_line_builder(spruce_lines) +def spruce_b0todpenu_dptokkpi_fakeelectron_line( + name="SpruceSLB_B0ToDpENu_DpToKKPi_FakeElectron", + prescale=0.1, + persistreco=True): + """ + SL Spruce line for the decay B0 -> D+(-> K K pi) e nu, with a fake electron. + """ + line_alg = make_b0todplnu_dptokkpi_fakelepton(process=PROCESS, lepton="e") + return SpruceLine( + name=name, + hlt2_filter_code=[ + f"{name.replace('Spruce','Hlt2')}Decision", + "Hlt2Topo2BodyDecision", "Hlt2Topo3BodyDecision" + ], + prescale=prescale, + persistreco=persistreco, + algs=sl_line_prefilter() + [line_alg]) + + @register_line_builder(spruce_lines) def spruce_bstodsmunu_dstokkpi_line(name="SpruceSLB_BsToDsMuNu_DsToKKPi", prescale=1, -- GitLab From 2d3fe0738c20344f2868b2aaaa18308488f1e370 Mon Sep 17 00:00:00 2001 From: Mengzhen Wang Date: Mon, 15 Apr 2024 22:46:17 +0200 Subject: [PATCH 24/51] Bug fix for the Upsilon trigger high mass window --- .../python/Hlt2Conf/lines/bandq/builders/dimuon_lines.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bandq/builders/dimuon_lines.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bandq/builders/dimuon_lines.py index dd09c5cb8c2..e1c872fa530 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bandq/builders/dimuon_lines.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/bandq/builders/dimuon_lines.py @@ -28,6 +28,7 @@ from Hlt2Conf.lines.charmonium_to_dimuon import make_jpsi from Hlt2Conf.lines.charmonium_to_dimuon import make_charmonium_muons as make_bandq_muons _MASSMIN_UPSILON = 7900 * MeV +_MASSMAX_UPSILON = 12000 * MeV _PIDMU_UPSILON = -5. #mass window and pidmu cuts of jpsi and psi2s defined in Hlt2Conf.lines.charmonium_to_dimuon @@ -93,6 +94,7 @@ def make_jpsi_highpt(name='bandq_jpsi_highpt_{hash}'): @configurable def make_upsilon(name='bandq_upsilon_{hash}', minMass_dimuon=_MASSMIN_UPSILON, + maxMass_dimuon=_MASSMAX_UPSILON, minPt_muon=300 * MeV, minP_muon=0 * MeV, minPt_upsilon=0 * MeV): @@ -105,7 +107,8 @@ def make_upsilon(name='bandq_upsilon_{hash}', minP_muon=minP_muon, minPt_muon=minPt_muon, minPIDmu=_PIDMU_UPSILON, - minMass_dimuon=minMass_dimuon) + minMass_dimuon=minMass_dimuon, + maxMass_dimuon=maxMass_dimuon) return ParticleFilter(dimuon, name=name, Cut=F.FILTER(code)) -- GitLab From 448a68bac61c72e40061a954f80a2f45284d17f1 Mon Sep 17 00:00:00 2001 From: Alessandro Bertolin Date: Tue, 16 Apr 2024 09:48:56 +0200 Subject: [PATCH 25/51] B2OC: add TrackVertexMonitor to a relevant line --- .../lines/b_to_open_charm/hlt2_b2oc.py | 32 +++++++++++++++++-- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/hlt2_b2oc.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/hlt2_b2oc.py index 58945df2719..c00b80bedca 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/hlt2_b2oc.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/hlt2_b2oc.py @@ -29,6 +29,10 @@ from Moore.config import Hlt2Line, register_line_builder from Moore.streams import DETECTORS from RecoConf.reconstruction_objects import make_pvs +# to run TrackVertexMonitor on specific lines +from RecoConf.hlt2_global_reco import make_pvs as make_pvs_trkvtx_monitor +from RecoConf.hlt2_global_reco import make_tracks +from PyConf.Algorithms import TrackSelectionMerger, TrackVertexMonitor from PyConf import configurable @@ -153,6 +157,7 @@ def make_hlt2_lines(line_dict=hlt2_lines, else: # use custom MVA line_alg = line_makers[maker_name]( process=PROCESS, MVACut=MVACut) + return Hlt2Line( name=name, prescale=prescale, @@ -242,7 +247,6 @@ all_lines = [ # lines from b_to_dx_ltu 'BdToDsmK_DsmToKpKmPim_LTU', - 'BdToDmPi_DmToPimPimKp_LTU', 'BdToDsmKPiPi_DsmToKmKpPim_LTU', # lines from b_to_dhh @@ -688,7 +692,6 @@ extra_config = { # lines from b_to_dx_ltu 'BdToDsmK_DsmToKpKmPim_LTU': 0.01, - 'BdToDmPi_DmToPimPimKp_LTU': 0.01, 'BdToDsmKPiPi_DsmToKmKpPim_LTU': 0.01, # lines from b_to_dhh @@ -908,7 +911,7 @@ make_hlt2_lines( # -# test line, add any new line above this last one +# special purpose lines # @register_line_builder(hlt2_calib_lines) def BdToDsmPi_DsmToKpKmPim_Calib(name='Hlt2Calib_BdToDsmPi_DsmToKpKmPim', @@ -934,3 +937,26 @@ def BdToDmPi_DmToPimPimKp_Calib(name='Hlt2Calib_BdToDmPi_DmToPimPimKp', persistreco=True, raw_banks=DETECTORS, algs=prefilters.b2oc_prefilters() + [line_alg]) + + +@register_line_builder(hlt2_lines) +def BdToDmPi_DmToPimPimKp_LTU(name='Hlt2B2OC_BdToDmPi_DmToPimPimKp_LTU', + prescale=0.01): + + line_alg = b_to_dx_ltu.make_BdToDmPi_DmToPimPimKp_LTU(process=PROCESS) + + long_tracks = make_tracks(track_type="Long") + velo_tracks = make_tracks(track_type="Velo") + tracks = TrackSelectionMerger( + InputLocations=[long_tracks, velo_tracks]).OutputLocation + + pvs = make_pvs_trkvtx_monitor() + vertex_moni = TrackVertexMonitor( + name="TrackVertexMonitor_B2OC_BdToDmPi_LTU", + PVContainer=pvs, + TrackContainer=tracks) + + return Hlt2Line( + name=name, + prescale=prescale, + algs=prefilters.b2oc_prefilters() + [line_alg, vertex_moni]) -- GitLab From 52bc8a4f39cb6e48cf50c9286bd7666a05afb8d7 Mon Sep 17 00:00:00 2001 From: Christina Agapopoulou Date: Tue, 16 Apr 2024 11:42:09 +0200 Subject: [PATCH 26/51] Revert "Merge branch 'b2oc_upgrade-TrackVertexMonitor' into '2024-patches'" --- .../lines/b_to_open_charm/hlt2_b2oc.py | 32 ++----------------- 1 file changed, 3 insertions(+), 29 deletions(-) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/hlt2_b2oc.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/hlt2_b2oc.py index c00b80bedca..58945df2719 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/hlt2_b2oc.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/hlt2_b2oc.py @@ -29,10 +29,6 @@ from Moore.config import Hlt2Line, register_line_builder from Moore.streams import DETECTORS from RecoConf.reconstruction_objects import make_pvs -# to run TrackVertexMonitor on specific lines -from RecoConf.hlt2_global_reco import make_pvs as make_pvs_trkvtx_monitor -from RecoConf.hlt2_global_reco import make_tracks -from PyConf.Algorithms import TrackSelectionMerger, TrackVertexMonitor from PyConf import configurable @@ -157,7 +153,6 @@ def make_hlt2_lines(line_dict=hlt2_lines, else: # use custom MVA line_alg = line_makers[maker_name]( process=PROCESS, MVACut=MVACut) - return Hlt2Line( name=name, prescale=prescale, @@ -247,6 +242,7 @@ all_lines = [ # lines from b_to_dx_ltu 'BdToDsmK_DsmToKpKmPim_LTU', + 'BdToDmPi_DmToPimPimKp_LTU', 'BdToDsmKPiPi_DsmToKmKpPim_LTU', # lines from b_to_dhh @@ -692,6 +688,7 @@ extra_config = { # lines from b_to_dx_ltu 'BdToDsmK_DsmToKpKmPim_LTU': 0.01, + 'BdToDmPi_DmToPimPimKp_LTU': 0.01, 'BdToDsmKPiPi_DsmToKmKpPim_LTU': 0.01, # lines from b_to_dhh @@ -911,7 +908,7 @@ make_hlt2_lines( # -# special purpose lines +# test line, add any new line above this last one # @register_line_builder(hlt2_calib_lines) def BdToDsmPi_DsmToKpKmPim_Calib(name='Hlt2Calib_BdToDsmPi_DsmToKpKmPim', @@ -937,26 +934,3 @@ def BdToDmPi_DmToPimPimKp_Calib(name='Hlt2Calib_BdToDmPi_DmToPimPimKp', persistreco=True, raw_banks=DETECTORS, algs=prefilters.b2oc_prefilters() + [line_alg]) - - -@register_line_builder(hlt2_lines) -def BdToDmPi_DmToPimPimKp_LTU(name='Hlt2B2OC_BdToDmPi_DmToPimPimKp_LTU', - prescale=0.01): - - line_alg = b_to_dx_ltu.make_BdToDmPi_DmToPimPimKp_LTU(process=PROCESS) - - long_tracks = make_tracks(track_type="Long") - velo_tracks = make_tracks(track_type="Velo") - tracks = TrackSelectionMerger( - InputLocations=[long_tracks, velo_tracks]).OutputLocation - - pvs = make_pvs_trkvtx_monitor() - vertex_moni = TrackVertexMonitor( - name="TrackVertexMonitor_B2OC_BdToDmPi_LTU", - PVContainer=pvs, - TrackContainer=tracks) - - return Hlt2Line( - name=name, - prescale=prescale, - algs=prefilters.b2oc_prefilters() + [line_alg, vertex_moni]) -- GitLab From 2f3d3d44e9887d828eb87579a9a2bf2c6de1c974 Mon Sep 17 00:00:00 2001 From: Rosen Matev Date: Tue, 16 Apr 2024 15:43:13 +0200 Subject: [PATCH 27/51] Do not instantiate TrackMasterExtrapolator on the module level --- Hlt/RecoConf/python/RecoConf/hlt2_tracking.py | 47 ++++++++++--------- 1 file changed, 24 insertions(+), 23 deletions(-) diff --git a/Hlt/RecoConf/python/RecoConf/hlt2_tracking.py b/Hlt/RecoConf/python/RecoConf/hlt2_tracking.py index d2fb559b229..3b195be3afd 100644 --- a/Hlt/RecoConf/python/RecoConf/hlt2_tracking.py +++ b/Hlt/RecoConf/python/RecoConf/hlt2_tracking.py @@ -194,6 +194,12 @@ def get_track_master_fitter( MaxUpdateTransports=MaxUpdateTransports) +@configurable +def get_track_master_extrapolator( + get_materiallocator=get_global_materiallocator): + return TrackMasterExtrapolator(MaterialLocator=get_materiallocator()) + + @configurable def make_TrackEventFitter_fitted_tracks(tracks, fitter_tool=get_track_master_fitter): @@ -468,8 +474,7 @@ def make_PrKalmanFilter_tracks( max_chi2ndof: float = 2.8, max_chi2ndof_pre_outlier_removal: float = 20, min_chi2_outlier: float = 9, - reference_extrapolator: Any = TrackMasterExtrapolator( - MaterialLocator=get_global_materiallocator()), + reference_extrapolator: Any = get_track_master_extrapolator, name: str = None, ) -> DataHandle: """Configure the PrKalmanFilter to fit Long Tracks. @@ -482,7 +487,7 @@ def make_PrKalmanFilter_tracks( max_chi2ndof (float, optional): Maximum chi2/ndof of the fitted track. Defaults to 2.8. max_chi2ndof_pre_outlier_removal (float, optional): Maximum chi2/ndof of the fitted track before outlier removal. Defaults to 20. min_chi2_outlier (float, optional): Minimum chi2 of node to be counted as outlier. Defaults to 9. - reference_extrapolator (Any, optional): Defaults to TrackMasterExtrapolator( MaterialLocator=get_global_materiallocator()). + reference_extrapolator (Any, optional): Defaults to get_track_master_extrapolator. name (str, optional): Defaults to None. Returns: @@ -496,7 +501,7 @@ def make_PrKalmanFilter_tracks( MaxChi2=max_chi2ndof, MaxChi2PreOutlierRemoval=max_chi2ndof_pre_outlier_removal, MinChi2Outlier=min_chi2_outlier, - ReferenceExtrapolator=reference_extrapolator, + ReferenceExtrapolator=reference_extrapolator(), name=name, InputUniqueIDGenerator=make_unique_id_generator(), ).OutputTracks @@ -510,8 +515,7 @@ def make_PrKalmanFilter_noUT_tracks( max_chi2ndof: float = 2.8, max_chi2ndof_pre_outlier_removal: float = 20, min_chi2_outlier: float = 9, - reference_extrapolator: Any = TrackMasterExtrapolator( - MaterialLocator=get_global_materiallocator()), + reference_extrapolator: Any = get_track_master_extrapolator, name: str = None, ) -> DataHandle: """Configure the PrKalmanFilter to fit Long Tracks without UT hits. @@ -523,7 +527,7 @@ def make_PrKalmanFilter_noUT_tracks( max_chi2ndof (float, optional): Maximum chi2/ndof of the fitted track. Defaults to 2.8. max_chi2ndof_pre_outlier_removal (float, optional): Maximum chi2/ndof of the fitted track before outlier removal. Defaults to 20. min_chi2_outlier (float, optional): Minimum chi2 of node to be counted as outlier. Defaults to 9. - reference_extrapolator (Any, optional): Defaults to TrackMasterExtrapolator( MaterialLocator=get_global_materiallocator()). + reference_extrapolator (Any, optional): Defaults to get_track_master_extrapolator. name (str, optional): Defaults to None. Returns: @@ -536,7 +540,7 @@ def make_PrKalmanFilter_noUT_tracks( MaxChi2=max_chi2ndof, MaxChi2PreOutlierRemoval=max_chi2ndof_pre_outlier_removal, MinChi2Outlier=min_chi2_outlier, - ReferenceExtrapolator=reference_extrapolator, + ReferenceExtrapolator=reference_extrapolator(), name=name, InputUniqueIDGenerator=make_unique_id_generator(), ).OutputTracks @@ -550,8 +554,7 @@ def make_PrKalmanFilter_Downstream_tracks( max_chi2ndof: float = 2.8, max_chi2ndof_pre_outlier_removal: float = 20, min_chi2_outlier: float = 9, - reference_extrapolator: Any = TrackMasterExtrapolator( - MaterialLocator=get_global_materiallocator()), + reference_extrapolator: Any = get_track_master_extrapolator, name: str = None, ) -> DataHandle: """Configure the PrKalmanFilter to fit Downstream Tracks. @@ -563,7 +566,7 @@ def make_PrKalmanFilter_Downstream_tracks( max_chi2ndof (float, optional): Maximum chi2/ndof of the fitted track. Defaults to 2.8. max_chi2ndof_pre_outlier_removal (float, optional): Maximum chi2/ndof of the fitted track before outlier removal. Defaults to 20. min_chi2_outlier (float, optional): Minimum chi2 of node to be counted as outlier. Defaults to 9. - reference_extrapolator (Any, optional): Defaults to TrackMasterExtrapolator( MaterialLocator=get_global_materiallocator()). + reference_extrapolator (Any, optional): Defaults to get_track_master_extrapolator. name (str, optional): Defaults to None. Returns: @@ -576,7 +579,7 @@ def make_PrKalmanFilter_Downstream_tracks( MaxChi2=max_chi2ndof, MaxChi2PreOutlierRemoval=max_chi2ndof_pre_outlier_removal, MinChi2Outlier=min_chi2_outlier, - ReferenceExtrapolator=reference_extrapolator, + ReferenceExtrapolator=reference_extrapolator(), name=name, InputUniqueIDGenerator=make_unique_id_generator(), ).OutputTracks @@ -590,8 +593,7 @@ def make_PrKalmanFilter_Upstream_tracks( max_chi2ndof: float = 2.8, max_chi2ndof_pre_outlier_removal: float = 20, min_chi2_outlier: float = 9, - reference_extrapolator: Any = TrackMasterExtrapolator( - MaterialLocator=get_global_materiallocator()), + reference_extrapolator: Any = get_track_master_extrapolator, name: str = None, ) -> DataHandle: """Configure the PrKalmanFilter to fit Upstream Tracks. @@ -603,7 +605,7 @@ def make_PrKalmanFilter_Upstream_tracks( max_chi2ndof (float, optional): Maximum chi2/ndof of the fitted track. Defaults to 2.8. max_chi2ndof_pre_outlier_removal (float, optional): Maximum chi2/ndof of the fitted track before outlier removal. Defaults to 20. min_chi2_outlier (float, optional): Minimum chi2 of node to be counted as outlier. Defaults to 9. - reference_extrapolator (Any, optional): Defaults to TrackMasterExtrapolator( MaterialLocator=get_global_materiallocator()). + reference_extrapolator (Any, optional): Defaults to get_track_master_extrapolator. name (str, optional): Defaults to None. Returns: @@ -615,7 +617,7 @@ def make_PrKalmanFilter_Upstream_tracks( MaxChi2PreOutlierRemoval=max_chi2ndof_pre_outlier_removal, HitsUT=hits_ut, HitsVP=hits_vp, - ReferenceExtrapolator=reference_extrapolator, + ReferenceExtrapolator=reference_extrapolator(), name=name, InputUniqueIDGenerator=make_unique_id_generator()).OutputTracks @@ -627,7 +629,7 @@ def make_PrKalmanFilter_Velo_tracks( max_chi2ndof: float = 2.8, max_chi2ndof_pre_outlier_removal: float = 20, min_chi2_outlier: float = 9, - reference_extrapolator: Any = TrackLinearExtrapolator(), + reference_extrapolator: Any = TrackLinearExtrapolator, name: str = None, ) -> DataHandle: """Configure the PrKalmanFilter to fit Velo Tracks. @@ -650,7 +652,7 @@ def make_PrKalmanFilter_Velo_tracks( MaxChi2=max_chi2ndof, MaxChi2PreOutlierRemoval=max_chi2ndof_pre_outlier_removal, MinChi2Outlier=min_chi2_outlier, - ReferenceExtrapolator=reference_extrapolator, + ReferenceExtrapolator=reference_extrapolator(), name=name, InputUniqueIDGenerator=make_unique_id_generator(), ).OutputTracks @@ -663,8 +665,7 @@ def make_PrKalmanFilter_Seed_tracks( max_chi2ndof: float = 2.8, max_chi2ndof_pre_outlier_removal: float = 20, min_chi2_outlier: float = 9, - reference_extrapolator: Any = TrackMasterExtrapolator( - MaterialLocator=get_global_materiallocator()), + reference_extrapolator: Any = get_track_master_extrapolator, name: str = None, ) -> DataHandle: """Configure the PrKalmanFilter to fit Seed Tracks. @@ -675,7 +676,7 @@ def make_PrKalmanFilter_Seed_tracks( max_chi2ndof (float, optional): Maximum chi2/ndof of the fitted track. Defaults to 2.8. max_chi2ndof_pre_outlier_removal (float, optional): Maximum chi2/ndof of the fitted track before outlier removal. Defaults to 20. min_chi2_outlier (float, optional): Minimum chi2 of node to be counted as outlier. Defaults to 9. - reference_extrapolator (Any, optional): Defaults to TrackMasterExtrapolator( MaterialLocator=get_global_materiallocator()). + reference_extrapolator (Any, optional): Defaults to get_track_master_extrapolator. name (str, optional): Defaults to None. Returns: @@ -687,7 +688,7 @@ def make_PrKalmanFilter_Seed_tracks( MaxChi2=max_chi2ndof, MaxChi2PreOutlierRemoval=max_chi2ndof_pre_outlier_removal, MinChi2Outlier=min_chi2_outlier, - ReferenceExtrapolator=reference_extrapolator, + ReferenceExtrapolator=reference_extrapolator(), name=name, InputUniqueIDGenerator=make_unique_id_generator(), ).OutputTracks @@ -1223,7 +1224,7 @@ def make_pr_kf_light_reco_best_tracks(tracks, best_2 = make_TrackBestTrackCreator_tracks( tracks=[fitted_2], - name="TBTC" + name_2 + "_{hash}", + name="TBTC" + name_2 + "_{hash}", # FIXME TBTC -> TBTC_ get_ghost_tool=get_GhostProbabilityTool(track_type='Long'), do_not_refit=True, fit_tracks=False)["Best"] -- GitLab From bbd65bd5e9946db59cc72e7674933c999369cbd4 Mon Sep 17 00:00:00 2001 From: Rosen Matev Date: Tue, 16 Apr 2024 16:18:10 +0200 Subject: [PATCH 28/51] Disable material corrections explicitly --- Hlt/Hlt2Conf/options/hlt2_pp_2024.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Hlt/Hlt2Conf/options/hlt2_pp_2024.py b/Hlt/Hlt2Conf/options/hlt2_pp_2024.py index d06790fb537..601b86d2ce7 100644 --- a/Hlt/Hlt2Conf/options/hlt2_pp_2024.py +++ b/Hlt/Hlt2Conf/options/hlt2_pp_2024.py @@ -12,9 +12,20 @@ from Moore import options, run_moore from RecoConf.reconstruction_objects import reconstruction from RecoConf.global_tools import stateProvider_with_simplified_geom, trackMasterExtrapolator_with_simplified_geom from Hlt2Conf.settings.hlt2_pp_2024 import make_streams +from DDDB.CheckDD4Hep import UseDD4Hep options.lines_maker = make_streams +if UseDD4Hep: + # This needs to happen before the public tools are instantiated, + # which means we cannot put it inside make_streams(). + from PyConf.Tools import TrackMasterExtrapolator, TrackMasterFitter + TrackMasterExtrapolator.global_bind( + ApplyMultScattCorr=False, + ApplyEnergyLossCorr=False, + ApplyElectronEnergyLossCorr=False) + TrackMasterFitter.global_bind(ApplyMaterialCorrections=False) + public_tools = [ trackMasterExtrapolator_with_simplified_geom(), stateProvider_with_simplified_geom() -- GitLab From 425786d5c05c918d90221aa5377328b1eea971cd Mon Sep 17 00:00:00 2001 From: Rosen Matev Date: Tue, 16 Apr 2024 16:22:39 +0200 Subject: [PATCH 29/51] Add hlt2_slim option file --- Hlt/Hlt2Conf/options/hlt2_slim.py | 35 +++++++++++++++++++ .../python/Hlt2Conf/settings/hlt2_slim.py | 5 +-- 2 files changed, 36 insertions(+), 4 deletions(-) create mode 100644 Hlt/Hlt2Conf/options/hlt2_slim.py diff --git a/Hlt/Hlt2Conf/options/hlt2_slim.py b/Hlt/Hlt2Conf/options/hlt2_slim.py new file mode 100644 index 00000000000..6750232e3a2 --- /dev/null +++ b/Hlt/Hlt2Conf/options/hlt2_slim.py @@ -0,0 +1,35 @@ +############################################################################### +# (c) Copyright 2021-2024 CERN for the benefit of the LHCb Collaboration # +# # +# This software is distributed under the terms of the GNU General Public # +# Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". # +# # +# 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 Moore import options, run_moore +from RecoConf.reconstruction_objects import reconstruction +from RecoConf.global_tools import stateProvider_with_simplified_geom, trackMasterExtrapolator_with_simplified_geom +from Hlt2Conf.settings.hlt2_slim import make_streams +from DDDB.CheckDD4Hep import UseDD4Hep + +options.lines_maker = make_streams + +if UseDD4Hep: + # This needs to happen before the public tools are instantiated, + # which means we cannot put it inside make_streams(). + from PyConf.Tools import TrackMasterExtrapolator, TrackMasterFitter + TrackMasterExtrapolator.global_bind( + ApplyMultScattCorr=False, + ApplyEnergyLossCorr=False, + ApplyElectronEnergyLossCorr=False) + TrackMasterFitter.global_bind(ApplyMaterialCorrections=False) + +public_tools = [ + trackMasterExtrapolator_with_simplified_geom(), + stateProvider_with_simplified_geom() +] + +with reconstruction.bind(from_file=False): + config = run_moore(options, public_tools=public_tools) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/settings/hlt2_slim.py b/Hlt/Hlt2Conf/python/Hlt2Conf/settings/hlt2_slim.py index 8aceccd5835..042f2c5b173 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/settings/hlt2_slim.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/settings/hlt2_slim.py @@ -173,8 +173,6 @@ def make_streams(): from RecoConf.hlt2_tracking import ( make_PrKalmanFilter_noUT_tracks, make_PrKalmanFilter_Seed_tracks, make_PrKalmanFilter_Velo_tracks, make_TrackBestTrackCreator_tracks) - # Workaround to enable running of Tracking efficiency lines using special muon reconstruction - from PyConf.Tools import TrackMasterFitter with make_TrackBestTrackCreator_tracks.bind(max_chi2ndof=4.),\ make_PrKalmanFilter_Velo_tracks.bind(max_chi2ndof=6.),\ @@ -184,7 +182,6 @@ def make_streams(): make_VeloClusterTrackingSIMD.bind(SkipForward=4),\ make_muon_hits.bind(geometry_version=3),\ make_reco_pvs.bind(make_pvs_from_velo_tracks=make_PatPV3DFuture_pvs),\ - make_digits.bind(calo_raw_bank=True),\ - TrackMasterFitter.bind(FastMaterialApproximation=True): + make_digits.bind(calo_raw_bank=True): return _make_streams() -- GitLab From 315e217215d5b8aba9a5094706bbfa7f575d53b6 Mon Sep 17 00:00:00 2001 From: Nicole Skidmore Date: Tue, 16 Apr 2024 20:14:18 +0200 Subject: [PATCH 30/51] Do not pass routing bit filters if there is an issue with rb rawbank --- Hlt/Moore/python/Moore/config.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Hlt/Moore/python/Moore/config.py b/Hlt/Moore/python/Moore/config.py index 3ed15d22cba..92ce4e3507d 100644 --- a/Hlt/Moore/python/Moore/config.py +++ b/Hlt/Moore/python/Moore/config.py @@ -313,14 +313,16 @@ def run_moore(options, HltRoutingBitsFilter( name="PhysFilter", RawBanks=rb_bank, - RequireMask=physFilterRequireMask) + RequireMask=physFilterRequireMask, + PassOnError=False) ] lumi_filter = [ HltRoutingBitsFilter( name="LumiFilter", RawBanks=rb_bank, - RequireMask=lumiFilterRequireMask) + RequireMask=lumiFilterRequireMask, + PassOnError=False) ] physics_sprucing_node = CompositeNode( -- GitLab From f0a92ee54e451b9b1a641bf4c282d0c071a5cf6f Mon Sep 17 00:00:00 2001 From: Juan Leite Date: Wed, 17 Apr 2024 10:21:06 +0200 Subject: [PATCH 31/51] B2OC: Lb0 Neutron Lines tunning --- .../b_to_open_charm/bbaryon_to_cbaryons_h.py | 31 ++++++++++++------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/bbaryon_to_cbaryons_h.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/bbaryon_to_cbaryons_h.py index 5743ae6ecd6..6202b7e57a7 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/bbaryon_to_cbaryons_h.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_open_charm/bbaryon_to_cbaryons_h.py @@ -10,7 +10,7 @@ """ Definition of Neutron Lines """ -from GaudiKernel.SystemOfUnits import MeV, GeV +from GaudiKernel.SystemOfUnits import MeV, GeV, mm from Hlt2Conf.lines.b_to_open_charm.utils import check_process from Hlt2Conf.lines.b_to_open_charm.builders import (cbaryon_builder, @@ -21,10 +21,15 @@ from Hlt2Conf.lines.b_to_open_charm.builders import (cbaryon_builder, @check_process def make_Lb0ToLcpLcmN0(process): lc = cbaryon_builder.make_lc_to_pkpi( - pi_pidk_max=20., - p_pidp_min=-10., - k_pidk_min=-10., - ) + pi_pidk_max=15., + p_pidp_min=-5., + k_pidk_min=-5., + p_p_min=5. * GeV, + adoca12_max=0.2 * mm, + adoca13_max=0.2 * mm, + adoca23_max=0.2 * mm, + vchi2pdof_max=4., + bpvvdchi2_min=30.) line_alg = b_builder.make_b2x( [lc, lc], @@ -33,7 +38,11 @@ def make_Lb0ToLcpLcmN0(process): am_max=7000 * MeV, am_min_vtx=4000 * MeV, am_max_vtx=7000 * MeV, - ) + vtx_chi2pdof_max=10., + sum_pt_min=5. * GeV, + bpvipchi2_max=30, + bpvltime_min=0., + bpvdira_min=0.9995) return line_alg @@ -41,15 +50,15 @@ def make_Lb0ToLcpLcmN0(process): @check_process def make_Lb0ToPbarPN0(process): proton = basic_builder.make_protons( - p_pidp_min=0, p_min=1.5 * GeV, pt_min=500 * MeV) + p_pidp_min=0., p_min=1.5 * GeV, pt_min=500 * MeV) line_alg = b_builder.make_b2x( [proton, proton], descriptors=["Lambda_b0 -> p+ p~-"], - am_min=4000 * MeV, - am_max=7000 * MeV, - am_min_vtx=4000 * MeV, - am_max_vtx=7000 * MeV, + am_min=4000. * MeV, + am_max=7000. * MeV, + am_min_vtx=4000. * MeV, + am_max_vtx=7000. * MeV, ) return line_alg -- GitLab From 6092b3119bd214869a63e7dd7c22b738550507a8 Mon Sep 17 00:00:00 2001 From: Rosen Matev Date: Wed, 17 Apr 2024 13:02:37 +0200 Subject: [PATCH 32/51] Add missing refs and update from lhcb-2024-patches/12 --- ...n_gaudi_seed_and_match_with_mcchecking.ref | 18 +- ...seed_and_match_with_mcchecking.ref.detdesc | 18 +- .../refs/hlt1_reco_allen_calo_efficiency.ref | 30 +- ..._calo_efficiency.ref.x86_64_v3-detdesc-opt | 4 +- ...co_allen_calo_efficiency.ref.x86_64_v3-opt | 30 +- ..._calo_resolution.ref.x86_64_v3-detdesc-opt | 2 +- .../hlt2_protoparticles_baseline.ref.detdesc | 5360 ++++++++--------- ..._protoparticles_ttrack_fastest.ref.detdesc | 921 ++- ...1_reco_velo_only.ref.x86_64_v3-detdesc-opt | 16 + 9 files changed, 3659 insertions(+), 2740 deletions(-) mode change 120000 => 100644 Hlt/RecoConf/tests/refs/hlt1_reco_allen_calo_efficiency.ref mode change 120000 => 100644 Hlt/RecoConf/tests/refs/hlt1_reco_allen_calo_efficiency.ref.x86_64_v3-opt create mode 100644 Hlt/RecoConf/tests/refs/legacy_rec_hlt1_reco_velo_only.ref.x86_64_v3-detdesc-opt diff --git a/Hlt/RecoConf/tests/refs/allen_gaudi_seed_and_match_with_mcchecking.ref b/Hlt/RecoConf/tests/refs/allen_gaudi_seed_and_match_with_mcchecking.ref index ca332fc6ef0..9d931c6f267 100644 --- a/Hlt/RecoConf/tests/refs/allen_gaudi_seed_and_match_with_mcchecking.ref +++ b/Hlt/RecoConf/tests/refs/allen_gaudi_seed_and_match_with_mcchecking.ref @@ -1,8 +1,8 @@ SeedAndMatchTrackChecker_83ffadf3 INFO Results -SeedAndMatchTrackChecker_83ffadf3 INFO **** SeedAndMatch 29263 tracks including 1735 ghosts [ 5.93 %], Event average 5.47 % **** -SeedAndMatchTrackChecker_83ffadf3 INFO 01_long : 25970 from 40913 [ 63.48 %] 0 clones [ 0.00 %], purity: 99.77 %, hitEff: 98.28 % +SeedAndMatchTrackChecker_83ffadf3 INFO **** SeedAndMatch 29264 tracks including 1735 ghosts [ 5.93 %], Event average 5.47 % **** +SeedAndMatchTrackChecker_83ffadf3 INFO 01_long : 25971 from 40913 [ 63.48 %] 0 clones [ 0.00 %], purity: 99.77 %, hitEff: 98.28 % SeedAndMatchTrackChecker_83ffadf3 INFO 02_long_P>5GeV : 20919 from 26774 [ 78.13 %] 0 clones [ 0.00 %], purity: 99.78 %, hitEff: 98.54 % -SeedAndMatchTrackChecker_83ffadf3 INFO 03_long_strange : 1197 from 2281 [ 52.48 %] 0 clones [ 0.00 %], purity: 99.66 %, hitEff: 98.16 % +SeedAndMatchTrackChecker_83ffadf3 INFO 03_long_strange : 1198 from 2281 [ 52.52 %] 0 clones [ 0.00 %], purity: 99.66 %, hitEff: 98.16 % SeedAndMatchTrackChecker_83ffadf3 INFO 04_long_strange_P>5GeV : 812 from 1095 [ 74.16 %] 0 clones [ 0.00 %], purity: 99.62 %, hitEff: 98.39 % SeedAndMatchTrackChecker_83ffadf3 INFO 05_long_fromB : 1885 from 2424 [ 77.76 %] 0 clones [ 0.00 %], purity: 99.77 %, hitEff: 98.63 % SeedAndMatchTrackChecker_83ffadf3 INFO 05_long_fromD : 749 from 1081 [ 69.29 %] 0 clones [ 0.00 %], purity: 99.74 %, hitEff: 98.20 % @@ -15,7 +15,7 @@ SeedAndMatchTrackChecker_83ffadf3 INFO 09_long_fromB_electrons_P>5GeV SeedAndMatchTrackChecker_83ffadf3 INFO 10_long_fromB_P>3GeV_Pt>0.5GeV : 1593 from 1861 [ 85.60 %] 0 clones [ 0.00 %], purity: 99.76 %, hitEff: 98.67 % SeedAndMatchTrackChecker_83ffadf3 INFO 10_long_fromB_electrons_P>3GeV_Pt>0.5GeV : 33 from 49 [ 67.35 %] 0 clones [ 0.00 %], purity: 99.48 %, hitEff: 99.49 % SeedAndMatchTrackChecker_83ffadf3 INFO 10_long_fromD_P>3GeV_Pt>0.5GeV : 499 from 599 [ 83.31 %] 0 clones [ 0.00 %], purity: 99.70 %, hitEff: 98.21 % -SeedAndMatchTrackChecker_83ffadf3 INFO 10_long_strange_P>3GeV_Pt>0.5GeV : 430 from 578 [ 74.39 %] 0 clones [ 0.00 %], purity: 99.64 %, hitEff: 98.33 % +SeedAndMatchTrackChecker_83ffadf3 INFO 10_long_strange_P>3GeV_Pt>0.5GeV : 431 from 578 [ 74.57 %] 0 clones [ 0.00 %], purity: 99.64 %, hitEff: 98.33 % SeedAndMatchTrackChecker_83ffadf3 INFO 11_UT_long_fromB_P>3GeV_Pt>0.5GeV : 1592 from 1859 [ 85.64 %] 0 clones [ 0.00 %], purity: 99.76 %, hitEff: 98.68 % SeedAndMatchTrackChecker_83ffadf3 INFO ApplicationMgr INFO Application Manager Finalized successfully @@ -28,23 +28,23 @@ PrLHCbID2MCParticleVPFT_7b5311b2 INFO Number of counters : 1 | "#removed null MCParticles" | 3931020 | 0 | 0.0000 | PrTrackAssociator_fc96b920 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"Efficiency" | 29263 | 27528 |( 94.07101 +- 0.1380571)% | - | "MC particles per track" | 27528 | 31983 | 1.1618 | + |*"Efficiency" | 29264 | 27529 |( 94.07121 +- 0.1380525)% | + | "MC particles per track" | 27529 | 31984 | 1.1618 | SeedAndMatchTrackChecker_83ffadf... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "# loaded from PYTHON" | 17 | fromV3TrackV1Track_32c14136 INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "Nb of Produced Tracks" | 500 | 29263 | 58.526 | + | "Nb of Produced Tracks" | 500 | 29264 | 58.528 | matching_consolidate_tracks_matc... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "n_long_tracks_matching" | 500 | 29263 | 58.526 | + | "n_long_tracks_matching" | 500 | 29264 | 58.528 | pv_beamline_cleanup INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "n_PVs" | 500 | 2993 | 5.9860 | scifi_consolidate_seeds_matching INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "n_seed_tracks" | 500 | 48652 | 97.304 | + | "n_seed_tracks" | 500 | 48653 | 97.306 | velo_consolidate_tracks INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "n_velo_tracks" | 500 | 165415 | 330.83 | diff --git a/Hlt/RecoConf/tests/refs/allen_gaudi_seed_and_match_with_mcchecking.ref.detdesc b/Hlt/RecoConf/tests/refs/allen_gaudi_seed_and_match_with_mcchecking.ref.detdesc index 48e67a6dc1f..809f5753916 100644 --- a/Hlt/RecoConf/tests/refs/allen_gaudi_seed_and_match_with_mcchecking.ref.detdesc +++ b/Hlt/RecoConf/tests/refs/allen_gaudi_seed_and_match_with_mcchecking.ref.detdesc @@ -1,8 +1,8 @@ SeedAndMatchTrackChecker_83ffadf3 INFO Results -SeedAndMatchTrackChecker_83ffadf3 INFO **** SeedAndMatch 29257 tracks including 1730 ghosts [ 5.91 %], Event average 5.45 % **** -SeedAndMatchTrackChecker_83ffadf3 INFO 01_long : 25972 from 40913 [ 63.48 %] 0 clones [ 0.00 %], purity: 99.77 %, hitEff: 98.29 % +SeedAndMatchTrackChecker_83ffadf3 INFO **** SeedAndMatch 29256 tracks including 1730 ghosts [ 5.91 %], Event average 5.45 % **** +SeedAndMatchTrackChecker_83ffadf3 INFO 01_long : 25971 from 40913 [ 63.48 %] 0 clones [ 0.00 %], purity: 99.77 %, hitEff: 98.29 % SeedAndMatchTrackChecker_83ffadf3 INFO 02_long_P>5GeV : 20922 from 26774 [ 78.14 %] 0 clones [ 0.00 %], purity: 99.78 %, hitEff: 98.55 % -SeedAndMatchTrackChecker_83ffadf3 INFO 03_long_strange : 1198 from 2281 [ 52.52 %] 0 clones [ 0.00 %], purity: 99.67 %, hitEff: 98.20 % +SeedAndMatchTrackChecker_83ffadf3 INFO 03_long_strange : 1197 from 2281 [ 52.48 %] 0 clones [ 0.00 %], purity: 99.67 %, hitEff: 98.20 % SeedAndMatchTrackChecker_83ffadf3 INFO 04_long_strange_P>5GeV : 811 from 1095 [ 74.06 %] 0 clones [ 0.00 %], purity: 99.64 %, hitEff: 98.44 % SeedAndMatchTrackChecker_83ffadf3 INFO 05_long_fromB : 1887 from 2424 [ 77.85 %] 0 clones [ 0.00 %], purity: 99.77 %, hitEff: 98.63 % SeedAndMatchTrackChecker_83ffadf3 INFO 05_long_fromD : 749 from 1081 [ 69.29 %] 0 clones [ 0.00 %], purity: 99.75 %, hitEff: 98.24 % @@ -15,7 +15,7 @@ SeedAndMatchTrackChecker_83ffadf3 INFO 09_long_fromB_electrons_P>5GeV SeedAndMatchTrackChecker_83ffadf3 INFO 10_long_fromB_P>3GeV_Pt>0.5GeV : 1596 from 1861 [ 85.76 %] 0 clones [ 0.00 %], purity: 99.76 %, hitEff: 98.65 % SeedAndMatchTrackChecker_83ffadf3 INFO 10_long_fromB_electrons_P>3GeV_Pt>0.5GeV : 33 from 49 [ 67.35 %] 0 clones [ 0.00 %], purity: 99.48 %, hitEff: 99.49 % SeedAndMatchTrackChecker_83ffadf3 INFO 10_long_fromD_P>3GeV_Pt>0.5GeV : 499 from 599 [ 83.31 %] 0 clones [ 0.00 %], purity: 99.70 %, hitEff: 98.21 % -SeedAndMatchTrackChecker_83ffadf3 INFO 10_long_strange_P>3GeV_Pt>0.5GeV : 431 from 578 [ 74.57 %] 0 clones [ 0.00 %], purity: 99.63 %, hitEff: 98.29 % +SeedAndMatchTrackChecker_83ffadf3 INFO 10_long_strange_P>3GeV_Pt>0.5GeV : 430 from 578 [ 74.39 %] 0 clones [ 0.00 %], purity: 99.63 %, hitEff: 98.29 % SeedAndMatchTrackChecker_83ffadf3 INFO 11_UT_long_fromB_P>3GeV_Pt>0.5GeV : 1595 from 1859 [ 85.80 %] 0 clones [ 0.00 %], purity: 99.76 %, hitEff: 98.66 % SeedAndMatchTrackChecker_83ffadf3 INFO ApplicationMgr INFO Application Manager Finalized successfully @@ -28,23 +28,23 @@ PrLHCbID2MCParticleVPFT_7b5311b2 INFO Number of counters : 1 | "#removed null MCParticles" | 3931020 | 0 | 0.0000 | PrTrackAssociator_fc96b920 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"Efficiency" | 29257 | 27527 |( 94.08689 +- 0.1378979)% | - | "MC particles per track" | 27527 | 31984 | 1.1619 | + |*"Efficiency" | 29256 | 27526 |( 94.08668 +- 0.1379025)% | + | "MC particles per track" | 27526 | 31983 | 1.1619 | SeedAndMatchTrackChecker_83ffadf... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "# loaded from PYTHON" | 17 | fromV3TrackV1Track_32c14136 INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "Nb of Produced Tracks" | 500 | 29257 | 58.514 | + | "Nb of Produced Tracks" | 500 | 29256 | 58.512 | matching_consolidate_tracks_matc... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "n_long_tracks_matching" | 500 | 29257 | 58.514 | + | "n_long_tracks_matching" | 500 | 29256 | 58.512 | pv_beamline_cleanup INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "n_PVs" | 500 | 2993 | 5.9860 | scifi_consolidate_seeds_matching INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "n_seed_tracks" | 500 | 48606 | 97.212 | + | "n_seed_tracks" | 500 | 48605 | 97.210 | velo_consolidate_tracks INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "n_velo_tracks" | 500 | 165415 | 330.83 | diff --git a/Hlt/RecoConf/tests/refs/hlt1_reco_allen_calo_efficiency.ref b/Hlt/RecoConf/tests/refs/hlt1_reco_allen_calo_efficiency.ref deleted file mode 120000 index 9fa2e2e0135..00000000000 --- a/Hlt/RecoConf/tests/refs/hlt1_reco_allen_calo_efficiency.ref +++ /dev/null @@ -1 +0,0 @@ -hlt1_reco_allen_calo_efficiency.ref.detdesc \ No newline at end of file diff --git a/Hlt/RecoConf/tests/refs/hlt1_reco_allen_calo_efficiency.ref b/Hlt/RecoConf/tests/refs/hlt1_reco_allen_calo_efficiency.ref new file mode 100644 index 00000000000..ebc11f81515 --- /dev/null +++ b/Hlt/RecoConf/tests/refs/hlt1_reco_allen_calo_efficiency.ref @@ -0,0 +1,29 @@ +CaloClusterEff SUCCESS Booked 1 N-Tuples and 0 Event Tag Collections +CaloClusterEff SUCCESS List of booked N-Tuples in directory "FILE1/CaloClusterEff" +CaloClusterEff SUCCESS ID=clusEff Title="clusEff" #items=13 {endVtx_X,endVtx_Y,endVtx_Z,endVtx_type,max_fMCP,f_cl,cl_e,cl_et,cl_x,cl_y,cl_z,cl} +RFileCnv INFO dumping contents of /NTUPLES/FILE1 +TFile: name=Hlt1RecoAllenCaloEfficiencyNTuple.root, title=Gaudi Trees, option=CREATE +NTupleSvc INFO NTuples saved successfully +ApplicationMgr INFO Application Manager Finalized successfully +ApplicationMgr INFO Application Manager Terminated successfully +CaloClusterEff INFO Number of counters : 5 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "# reconstructed" | 1000 | 342 | 0.34200 | 0.47438 | 0.0000 | 1.0000 | + | "# reconstructible" | 1000 | 429 | 0.42900 | 0.49896 | 0.0000 | 2.0000 | + | "# signal" | 1000 | 2028 | 2.0280 | 0.25143 | 2.0000 | 6.0000 | + | "More than 1 endVertex found for signal" | 2 | + |*"reco efficiency" | 426 | 342 |( 80.28169 +- 1.927695)% | +CaloClusterMCTruth_e3b1817b INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#CC2MC links" | 1000 | 1148188 | 1148.2 | + |*"No MC information for the cluster is found" | 66254 | 2 |(0.003018686 +- 0.002134501)% | +CaloFutureClusterMonitor_bee57f04 INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "# clusters over threshold" | 1000 | 66254 | 66.254 | 28.546 | 3.0000 | 181.00 | +CaloFutureDigit2MCLinks2Table_b7... INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#CD2MC links" | 1000 | 0 | 0.0000 | + | "Empty Relation table" | 1000 | +HLTControlFlowMgr INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Processed events" | 1000 | diff --git a/Hlt/RecoConf/tests/refs/hlt1_reco_allen_calo_efficiency.ref.x86_64_v3-detdesc-opt b/Hlt/RecoConf/tests/refs/hlt1_reco_allen_calo_efficiency.ref.x86_64_v3-detdesc-opt index 5d00e854b20..ebc11f81515 100644 --- a/Hlt/RecoConf/tests/refs/hlt1_reco_allen_calo_efficiency.ref.x86_64_v3-detdesc-opt +++ b/Hlt/RecoConf/tests/refs/hlt1_reco_allen_calo_efficiency.ref.x86_64_v3-detdesc-opt @@ -13,11 +13,11 @@ CaloClusterEff INFO Number of counters : 5 | "# signal" | 1000 | 2028 | 2.0280 | 0.25143 | 2.0000 | 6.0000 | | "More than 1 endVertex found for signal" | 2 | |*"reco efficiency" | 426 | 342 |( 80.28169 +- 1.927695)% | -CaloClusterMCTruth_1e84572d INFO Number of counters : 2 +CaloClusterMCTruth_e3b1817b INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#CC2MC links" | 1000 | 1148188 | 1148.2 | |*"No MC information for the cluster is found" | 66254 | 2 |(0.003018686 +- 0.002134501)% | -CaloFutureClusterMonitor_a9522891 INFO Number of counters : 1 +CaloFutureClusterMonitor_bee57f04 INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "# clusters over threshold" | 1000 | 66254 | 66.254 | 28.546 | 3.0000 | 181.00 | CaloFutureDigit2MCLinks2Table_b7... INFO Number of counters : 2 diff --git a/Hlt/RecoConf/tests/refs/hlt1_reco_allen_calo_efficiency.ref.x86_64_v3-opt b/Hlt/RecoConf/tests/refs/hlt1_reco_allen_calo_efficiency.ref.x86_64_v3-opt deleted file mode 120000 index 07bb686ef11..00000000000 --- a/Hlt/RecoConf/tests/refs/hlt1_reco_allen_calo_efficiency.ref.x86_64_v3-opt +++ /dev/null @@ -1 +0,0 @@ -hlt1_reco_allen_calo_efficiency.ref.x86_64_v3-detdesc-opt \ No newline at end of file diff --git a/Hlt/RecoConf/tests/refs/hlt1_reco_allen_calo_efficiency.ref.x86_64_v3-opt b/Hlt/RecoConf/tests/refs/hlt1_reco_allen_calo_efficiency.ref.x86_64_v3-opt new file mode 100644 index 00000000000..ebc11f81515 --- /dev/null +++ b/Hlt/RecoConf/tests/refs/hlt1_reco_allen_calo_efficiency.ref.x86_64_v3-opt @@ -0,0 +1,29 @@ +CaloClusterEff SUCCESS Booked 1 N-Tuples and 0 Event Tag Collections +CaloClusterEff SUCCESS List of booked N-Tuples in directory "FILE1/CaloClusterEff" +CaloClusterEff SUCCESS ID=clusEff Title="clusEff" #items=13 {endVtx_X,endVtx_Y,endVtx_Z,endVtx_type,max_fMCP,f_cl,cl_e,cl_et,cl_x,cl_y,cl_z,cl} +RFileCnv INFO dumping contents of /NTUPLES/FILE1 +TFile: name=Hlt1RecoAllenCaloEfficiencyNTuple.root, title=Gaudi Trees, option=CREATE +NTupleSvc INFO NTuples saved successfully +ApplicationMgr INFO Application Manager Finalized successfully +ApplicationMgr INFO Application Manager Terminated successfully +CaloClusterEff INFO Number of counters : 5 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "# reconstructed" | 1000 | 342 | 0.34200 | 0.47438 | 0.0000 | 1.0000 | + | "# reconstructible" | 1000 | 429 | 0.42900 | 0.49896 | 0.0000 | 2.0000 | + | "# signal" | 1000 | 2028 | 2.0280 | 0.25143 | 2.0000 | 6.0000 | + | "More than 1 endVertex found for signal" | 2 | + |*"reco efficiency" | 426 | 342 |( 80.28169 +- 1.927695)% | +CaloClusterMCTruth_e3b1817b INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#CC2MC links" | 1000 | 1148188 | 1148.2 | + |*"No MC information for the cluster is found" | 66254 | 2 |(0.003018686 +- 0.002134501)% | +CaloFutureClusterMonitor_bee57f04 INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "# clusters over threshold" | 1000 | 66254 | 66.254 | 28.546 | 3.0000 | 181.00 | +CaloFutureDigit2MCLinks2Table_b7... INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#CD2MC links" | 1000 | 0 | 0.0000 | + | "Empty Relation table" | 1000 | +HLTControlFlowMgr INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Processed events" | 1000 | diff --git a/Hlt/RecoConf/tests/refs/hlt1_reco_allen_calo_resolution.ref.x86_64_v3-detdesc-opt b/Hlt/RecoConf/tests/refs/hlt1_reco_allen_calo_resolution.ref.x86_64_v3-detdesc-opt index 45c84826cd1..c25ca98aa7d 100644 --- a/Hlt/RecoConf/tests/refs/hlt1_reco_allen_calo_resolution.ref.x86_64_v3-detdesc-opt +++ b/Hlt/RecoConf/tests/refs/hlt1_reco_allen_calo_resolution.ref.x86_64_v3-detdesc-opt @@ -6,7 +6,7 @@ TFile: name=Hlt1RecoAllenCaloResolutionNTuple.root, title=Gaudi Trees, option=CR NTupleSvc INFO NTuples saved successfully ApplicationMgr INFO Application Manager Finalized successfully ApplicationMgr INFO Application Manager Terminated successfully -CaloClusterMCTruth_1e84572d INFO Number of counters : 2 +CaloClusterMCTruth_e3b1817b INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#CC2MC links" | 1000 | 1148188 | 1148.2 | |*"No MC information for the cluster is found" | 66254 | 2 |(0.003018686 +- 0.002134501)% | diff --git a/Hlt/RecoConf/tests/refs/hlt2_protoparticles_baseline.ref.detdesc b/Hlt/RecoConf/tests/refs/hlt2_protoparticles_baseline.ref.detdesc index 6face7617cf..8dc3141a210 100644 --- a/Hlt/RecoConf/tests/refs/hlt2_protoparticles_baseline.ref.detdesc +++ b/Hlt/RecoConf/tests/refs/hlt2_protoparticles_baseline.ref.detdesc @@ -8,22 +8,22 @@ CaloFutureClusterCovarianceAlg_1... INFO ConstantX : [9, 2, 0.5] mm CaloFutureClusterCovarianceAlg_1... INFO ConstantY : [9, 2, 0.5] mm CaloFutureClusterCovarianceAlg_1... INFO Energy mask : (from DB) CaloFutureClusterCovarianceAlg_1... INFO Position mask : (from DB) -CaloFutureMergedPi0_b03c9eb4.Eca... INFO Energy mask : (from DB) -CaloFutureMergedPi0_b03c9eb4.Eca... INFO Position mask : (from DB) -CaloFutureMergedPi0_b03c9eb4.Eca... INFO == Parameters for covariance estimation == -CaloFutureMergedPi0_b03c9eb4.Eca... INFO Stochastic : [0.21, 0.14, 0.14] Sqrt(GeV) -CaloFutureMergedPi0_b03c9eb4.Eca... INFO GainError : [0.045, 0.025, 0.025] -CaloFutureMergedPi0_b03c9eb4.Eca... INFO IncoherentNoise : [2.2, 2.2, 2.2] ADC -CaloFutureMergedPi0_b03c9eb4.Eca... INFO CoherentNoise : [1.3, 1.3, 1.3] ADC -CaloFutureMergedPi0_b03c9eb4.Eca... INFO ConstantE : [0, 0, 0] MeV -CaloFutureMergedPi0_b03c9eb4.Eca... INFO ConstantX : [9, 2, 0.5] mm -CaloFutureMergedPi0_b03c9eb4.Eca... INFO ConstantY : [9, 2, 0.5] mm -ChargedProtoParticleMaker_Long_3... INFO ANNPID : Tune=MCUpTuneV1 TrackType=Long Particle=electron -ChargedProtoParticleMaker_Long_3... INFO ANNPID : Tune=MCUpTuneV1 TrackType=Long Particle=muon -ChargedProtoParticleMaker_Long_3... INFO ANNPID : Tune=MCUpTuneV1 TrackType=Long Particle=pion -ChargedProtoParticleMaker_Long_3... INFO ANNPID : Tune=MCUpTuneV1 TrackType=Long Particle=kaon -ChargedProtoParticleMaker_Long_3... INFO ANNPID : Tune=MCUpTuneV1 TrackType=Long Particle=proton -ChargedProtoParticleMaker_Long_3... INFO ANNPID : Tune=MCUpTuneV1 TrackType=Long Particle=ghost +CaloFutureMergedPi0_803400c5.Eca... INFO Energy mask : (from DB) +CaloFutureMergedPi0_803400c5.Eca... INFO Position mask : (from DB) +CaloFutureMergedPi0_803400c5.Eca... INFO == Parameters for covariance estimation == +CaloFutureMergedPi0_803400c5.Eca... INFO Stochastic : [0.21, 0.14, 0.14] Sqrt(GeV) +CaloFutureMergedPi0_803400c5.Eca... INFO GainError : [0.045, 0.025, 0.025] +CaloFutureMergedPi0_803400c5.Eca... INFO IncoherentNoise : [2.2, 2.2, 2.2] ADC +CaloFutureMergedPi0_803400c5.Eca... INFO CoherentNoise : [1.3, 1.3, 1.3] ADC +CaloFutureMergedPi0_803400c5.Eca... INFO ConstantE : [0, 0, 0] MeV +CaloFutureMergedPi0_803400c5.Eca... INFO ConstantX : [9, 2, 0.5] mm +CaloFutureMergedPi0_803400c5.Eca... INFO ConstantY : [9, 2, 0.5] mm +ChargedProtoParticleMaker_Long_a... INFO ANNPID : Tune=MCUpTuneV1 TrackType=Long Particle=electron +ChargedProtoParticleMaker_Long_a... INFO ANNPID : Tune=MCUpTuneV1 TrackType=Long Particle=muon +ChargedProtoParticleMaker_Long_a... INFO ANNPID : Tune=MCUpTuneV1 TrackType=Long Particle=pion +ChargedProtoParticleMaker_Long_a... INFO ANNPID : Tune=MCUpTuneV1 TrackType=Long Particle=kaon +ChargedProtoParticleMaker_Long_a... INFO ANNPID : Tune=MCUpTuneV1 TrackType=Long Particle=proton +ChargedProtoParticleMaker_Long_a... INFO ANNPID : Tune=MCUpTuneV1 TrackType=Long Particle=ghost PrintLongProtos SUCCESS Print all proto particles of an event PrintLongProtos SUCCESS Printing ended ChargedProtoParticleMaker_Downst... INFO ANNPID : Tune=MCUpTuneV1 TrackType=Downstream Particle=electron @@ -35,2710 +35,2002 @@ ChargedProtoParticleMaker_Downst... INFO ANNPID : Tune=MCUpTuneV1 TrackTyp PrintDownstreamProtos SUCCESS Print all proto particles of an event PrintDownstreamProtos SUCCESS Printing ended PrintNeutralProtos SUCCESS Print all proto particles of an event -PrintNeutralProtos SUCCESS { Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +PrintNeutralProtos SUCCESS { Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -Printing ended -PrintLongProtos SUCCESS Print all proto particles of an event -PrintLongProtos SUCCESS Printing ended -PrintDownstreamProtos SUCCESS Print all proto particles of an event -PrintDownstreamProtos SUCCESS Printing ended -PrintNeutralProtos SUCCESS Print all proto particles of an event -PrintNeutralProtos SUCCESS { Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +Printing ended +PrintLongProtos SUCCESS Print all proto particles of an event +PrintLongProtos SUCCESS Printing ended +PrintDownstreamProtos SUCCESS Print all proto particles of an event +PrintDownstreamProtos SUCCESS Printing ended +PrintNeutralProtos SUCCESS Print all proto particles of an event +PrintNeutralProtos SUCCESS { Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -Printing ended -PrintLongProtos SUCCESS Print all proto particles of an event -PrintLongProtos SUCCESS Printing ended -PrintDownstreamProtos SUCCESS Print all proto particles of an event -PrintDownstreamProtos SUCCESS Printing ended -PrintNeutralProtos SUCCESS Print all proto particles of an event -PrintNeutralProtos SUCCESS { Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } Printing ended @@ -2747,1138 +2039,1368 @@ PrintLongProtos SUCCESS Printing ended PrintDownstreamProtos SUCCESS Print all proto particles of an event PrintDownstreamProtos SUCCESS Printing ended PrintNeutralProtos SUCCESS Print all proto particles of an event -PrintNeutralProtos SUCCESS { Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +PrintNeutralProtos SUCCESS { Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -Printing ended -PrintLongProtos SUCCESS Print all proto particles of an event -PrintLongProtos SUCCESS Printing ended -PrintDownstreamProtos SUCCESS Print all proto particles of an event -PrintDownstreamProtos SUCCESS Printing ended -PrintNeutralProtos SUCCESS Print all proto particles of an event -PrintNeutralProtos SUCCESS { Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +Printing ended +PrintLongProtos SUCCESS Print all proto particles of an event +PrintLongProtos SUCCESS Printing ended +PrintDownstreamProtos SUCCESS Print all proto particles of an event +PrintDownstreamProtos SUCCESS Printing ended +PrintNeutralProtos SUCCESS Print all proto particles of an event +PrintNeutralProtos SUCCESS { Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +Printing ended +PrintLongProtos SUCCESS Print all proto particles of an event +PrintLongProtos SUCCESS Printing ended +PrintDownstreamProtos SUCCESS Print all proto particles of an event +PrintDownstreamProtos SUCCESS Printing ended +PrintNeutralProtos SUCCESS Print all proto particles of an event +PrintNeutralProtos SUCCESS { Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } Printing ended @@ -3887,1431 +3409,1855 @@ PrintLongProtos SUCCESS Printing ended PrintDownstreamProtos SUCCESS Print all proto particles of an event PrintDownstreamProtos SUCCESS Printing ended PrintNeutralProtos SUCCESS Print all proto particles of an event -PrintNeutralProtos SUCCESS { Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +PrintNeutralProtos SUCCESS { Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 -ExtraInfo [ - ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +Printing ended +PrintLongProtos SUCCESS Print all proto particles of an event +PrintLongProtos SUCCESS Printing ended +PrintDownstreamProtos SUCCESS Print all proto particles of an event +PrintDownstreamProtos SUCCESS Printing ended +PrintNeutralProtos SUCCESS Print all proto particles of an event +PrintNeutralProtos SUCCESS { Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -Printing ended -PrintLongProtos SUCCESS Print all proto particles of an event -PrintLongProtos SUCCESS Printing ended -PrintDownstreamProtos SUCCESS Print all proto particles of an event -PrintDownstreamProtos SUCCESS Printing ended -PrintNeutralProtos SUCCESS Print all proto particles of an event -PrintNeutralProtos SUCCESS { Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +Printing ended +PrintLongProtos SUCCESS Print all proto particles of an event +PrintLongProtos SUCCESS Printing ended +PrintDownstreamProtos SUCCESS Print all proto particles of an event +PrintDownstreamProtos SUCCESS Printing ended +PrintNeutralProtos SUCCESS Print all proto particles of an event +PrintNeutralProtos SUCCESS { Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } -{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 NeutralPID 1 +{ Track 0 CaloHypos 1 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 1 + CaloChargedPID 0 BremInfo 0 ExtraInfo [ ] } Printing ended CaloAcceptanceBremAlg_Downstream... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#total tracks" | 7 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | - | "#tracks in acceptance" | 7 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | + | "#total tracks" | 8 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | + | "#tracks in acceptance" | 8 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | CaloAcceptanceBremAlg_Long_142dbbc6 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#total tracks" | 7 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | - | "#tracks in acceptance" | 7 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | + | "#total tracks" | 8 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | + | "#tracks in acceptance" | 8 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | CaloAcceptanceEcalAlg_Downstream... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#total tracks" | 7 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | - | "#tracks in acceptance" | 7 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | + | "#total tracks" | 8 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | + | "#tracks in acceptance" | 8 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | CaloAcceptanceEcalAlg_Long_71599283 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#total tracks" | 7 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | - | "#tracks in acceptance" | 7 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | + | "#total tracks" | 8 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | + | "#tracks in acceptance" | 8 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | CaloAcceptanceEcalAlg_Ttrack_b29... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#total tracks" | 7 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | - | "#tracks in acceptance" | 7 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | + | "#total tracks" | 8 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | + | "#tracks in acceptance" | 8 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | CaloAcceptanceHcalAlg_Downstream... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#total tracks" | 7 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | - | "#tracks in acceptance" | 7 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | + | "#total tracks" | 8 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | + | "#tracks in acceptance" | 8 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | CaloAcceptanceHcalAlg_Long_1fd97970 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#total tracks" | 7 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | - | "#tracks in acceptance" | 7 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | + | "#total tracks" | 8 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | + | "#tracks in acceptance" | 8 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | CaloFutureClusterCovarianceAlg_1... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "# clusters" | 1527 | + | "# clusters" | 1226 | CaloFutureClusterCovarianceAlg_1... INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "Corrected Clusters: # cells " | 124 | 682 | 5.5000 | 1.9240 | 2.0000 | 11.000 | - | "Corrected Clusters: ET" | 124 | 37004 | 298.42 | 283.20 | 50.000 | 1423.6 | - | "Corrected Clusters: size ratio" | 124 | 45.20213 | 0.36453 | 0.23906 | 0.0000 | 1.4474 | -CaloFutureMergedPi0_b03c9eb4 INFO Number of counters : 12 + | "Corrected Clusters: # cells " | 102 | 444 | 4.3529 | 1.1935 | 3.0000 | 9.0000 | + | "Corrected Clusters: ET" | 102 | 25354.81 | 248.58 | 292.25 | 35.200 | 1669.2 | + | "Corrected Clusters: size ratio" | 102 | 56.27983 | 0.55176 | 0.39564 | 0.0000 | 2.0517 | +CaloFutureMergedPi0_803400c5 INFO Number of counters : 12 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"Cluster without 2nd seed found" | 60 | 0 |( 0.000000 +- 0.000000)% | - | "Corrected energy" | 120 | 1101812 | 9181.8 | 8000.7 | 499.96 | 41789.0 | - |*"Fails to set covariance" | 120 | 0 |( 0.000000 +- 0.000000)% | - |*"Fails to set spread" | 120 | 0 |( 0.000000 +- 0.000000)% | - |*"Fails to tag(E) cluster (1)" | 60 | 0 |( 0.000000 +- 0.000000)% | - |*"Fails to tag(E) cluster (2)" | 60 | 0 |( 0.000000 +- 0.000000)% | - | "Photon Delta(E)" | 120 | -37578.32 | -313.15 | 308.04 | -1779.0 | 185.66 | - | "Photon Delta(X)" | 120 | 243.133 | 2.0261 | 13.873 | -22.780 | 22.310 | - | "Photon Delta(Y)" | 120 | 153.9431 | 1.2829 | 13.487 | -22.678 | 22.322 | - | "Photon Delta(Z)" | 120 | 9422.83 | 78.524 | 11.724 | 29.916 | 101.66 | - | "clusters => mergedPi0s" | 7 | 60 | 8.5714 | - | "clusters => splitClusters" | 7 | 120 | 17.143 | -CaloFutureMergedPi0_b03c9eb4.Cal... INFO Number of counters : 6 + |*"Cluster without 2nd seed found" | 17 | 0 |( 0.000000 +- 0.000000)% | + | "Corrected energy" | 34 | 457394.7 | 13453. | 10257. | 1030.1 | 39245. | + |*"Fails to set covariance" | 34 | 0 |( 0.000000 +- 0.000000)% | + |*"Fails to set spread" | 34 | 0 |( 0.000000 +- 0.000000)% | + |*"Fails to tag(E) cluster (1)" | 17 | 0 |( 0.000000 +- 0.000000)% | + |*"Fails to tag(E) cluster (2)" | 17 | 0 |( 0.000000 +- 0.000000)% | + | "Photon Delta(E)" | 34 | -19180.1 | -564.12 | 410.61 | -1853.4 | 54.574 | + | "Photon Delta(X)" | 34 | 88.56156 | 2.6048 | 10.747 | -20.234 | 22.295 | + | "Photon Delta(Y)" | 34 | -70.90358 | -2.0854 | 11.059 | -22.774 | 21.226 | + | "Photon Delta(Z)" | 34 | 2530.707 | 74.433 | 9.8951 | 54.679 | 98.472 | + | "clusters => mergedPi0s" | 8 | 17 | 2.1250 | + | "clusters => splitClusters" | 8 | 34 | 4.2500 | +CaloFutureMergedPi0_803400c5.Cal... INFO Number of counters : 6 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | " Inner" | 16 | 16.01589 | 1.0010 | 0.037273 | 0.96574 | 1.1321 | - | " Middle" | 38 | 37.85947 | 0.99630 | 0.016109 | 0.97788 | 1.0613 | - | " Outer" | 66 | 66.03362 | 1.0005 | 0.018547 | 0.97534 | 1.0594 | - | "Pileup offset" | 120 | 33186.09 | 276.55 | 283.35 | 9.1717 | 1752.0 | - | "Pileup scale" | 120 | 648 | 5.4000 | 1.5620 | 3.0000 | 8.0000 | - | "Pileup subtracted ratio" | 120 | 115.8138 | 0.96511 | 0.028907 | 0.85134 | 0.99859 | -CaloFutureMergedPi0_b03c9eb4.Eca... INFO Number of counters : 3 + | " Inner" | 18 | 17.78094 | 0.98783 | 0.016624 | 0.96957 | 1.0270 | + | " Middle" | 2 | 1.987385 | 0.99369 | 0.0091869 | 0.98451 | 1.0029 | + | " Outer" | 14 | 13.85573 | 0.98970 | 0.012046 | 0.97573 | 1.0185 | + | "Pileup offset" | 34 | 13230.83 | 389.14 | 310.31 | 2.8176 | 1336.1 | + | "Pileup scale" | 34 | 200 | 5.8824 | 2.0831 | 2.0000 | 8.0000 | + | "Pileup subtracted ratio" | 34 | 32.73385 | 0.96276 | 0.031279 | 0.89692 | 0.99925 | +CaloFutureMergedPi0_803400c5.Eca... INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "Corrected Clusters: # cells " | 10 | 54 | 5.4000 | 1.6248 | 4.0000 | 8.0000 | - | "Corrected Clusters: ET" | 10 | 8517.2 | 851.72 | 490.83 | 159.80 | 1605.0 | - | "Corrected Clusters: size ratio" | 10 | 7.231915 | 0.72319 | 0.50805 | 0.25912 | 1.8776 | + | "Corrected Clusters: # cells " | 5 | 29 | 5.8000 | 0.97980 | 4.0000 | 7.0000 | + | "Corrected Clusters: ET" | 5 | 4607.4 | 921.48 | 564.57 | 230.80 | 1461.8 | + | "Corrected Clusters: size ratio" | 5 | 1.316703 | 0.26334 | 0.10993 | 0.11783 | 0.44847 | CaloSelectiveBremMatchAlg_Downst... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#links in table" | 7 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | -CaloSelectiveBremMatchAlg_Long_a... INFO Number of counters : 1 + | "#links in table" | 8 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | +CaloSelectiveBremMatchAlg_Long_5... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#links in table" | 7 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | + | "#links in table" | 8 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | CaloSelectiveElectronMatchAlg_Do... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#links in table" | 7 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | + | "#links in table" | 8 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | CaloSelectiveElectronMatchAlg_Lo... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#links in table" | 7 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | + | "#links in table" | 8 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | CaloSelectiveTrackMatchAlg_Downs... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#links in table" | 7 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | + | "#links in table" | 8 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | CaloSelectiveTrackMatchAlg_Long_... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#links in table" | 7 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | + | "#links in table" | 8 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | CaloSelectiveTrackMatchAlg_Ttrac... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#links in table" | 7 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | -ClassifyPhotonElectronAlg_cb2df72b INFO Number of counters : 8 + | "#links in table" | 8 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | +ClassifyPhotonElectronAlg_92b33908 INFO Number of counters : 8 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "Photon Delta(E)" | 1527 | -413130.8 | -270.55 | 438.59 | -3155.8 | 3677.7 | - | "Photon Delta(X)" | 1527 | -263.2884 | -0.17242 | 12.314 | -22.781 | 22.326 | - | "Photon Delta(Y)" | 1527 | -273.2466 | -0.17894 | 12.240 | -22.780 | 22.326 | - | "Photon Delta(Z)" | 1527 | 93748.21 | 61.394 | 14.456 | 14.094 | 107.12 | - | "Photon corrected energy" | 1527 | 7647870 | 5008.4 | 6456.1 | 110.50 | 67269.0 | - | "Photons pT-rejected after correction" | 9 | - | "electronHypos" | 7 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | - | "photonHypos" | 7 | 1518 | 216.86 | 60.175 | 138.00 | 333.00 | -ClassifyPhotonElectronAlg_cb2df7... INFO Number of counters : 7 + | "Photon Delta(E)" | 1222 | -333493 | -272.91 | 433.77 | -3146.1 | 636.69 | + | "Photon Delta(X)" | 1222 | -701.2305 | -0.57384 | 12.780 | -26.911 | 22.326 | + | "Photon Delta(Y)" | 1222 | -402.8876 | -0.32970 | 12.711 | -25.320 | 22.326 | + | "Photon Delta(Z)" | 1222 | 71959.12 | 58.886 | 13.682 | 6.5508 | 101.52 | + | "Photon corrected energy" | 1222 | 5132947 | 4200.4 | 5758.8 | 150.25 | 59681. | + | "Photons pT-rejected after correction" | 15 | + | "electronHypos" | 8 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | + | "photonHypos" | 8 | 1207 | 150.88 | 79.827 | 27.000 | 282.00 | +ClassifyPhotonElectronAlg_92b339... INFO Number of counters : 7 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | " Inner" | 408 | 405.2876 | 0.99335 | 0.019054 | 0.96519 | 1.0715 | - | " Middle" | 435 | 436.4447 | 1.0033 | 0.018357 | 0.97776 | 1.0881 | - | " Outer" | 683 | 681.2586 | 0.99745 | 0.014832 | 0.97430 | 1.0452 | - | "Pileup offset" | 1526 | 526507.3 | 345.02 | 409.39 | 5.6030 | 2968.4 | - | "Pileup scale" | 1527 | 8350 | 5.4682 | 1.6282 | 3.0000 | 8.0000 | - | "Pileup subtracted ratio" | 1526 | 1373.04 | 0.89976 | 0.10342 | 0.062476 | 0.99767 | - | "Skip negative energy correction" | 1 | + | " Inner" | 339 | 337.5159 | 0.99562 | 0.020377 | 0.96654 | 1.0664 | + | " Middle" | 317 | 318.2401 | 1.0039 | 0.017926 | 0.97767 | 1.0821 | + | " Outer" | 562 | 561.9141 | 0.99985 | 0.015962 | 0.97523 | 1.0774 | + | "Pileup offset" | 1218 | 424832.8 | 348.80 | 422.22 | 3.6671 | 3126.7 | + | "Pileup scale" | 1222 | 6563 | 5.3707 | 1.8743 | 2.0000 | 8.0000 | + | "Pileup subtracted ratio" | 1218 | 1077.841 | 0.88493 | 0.11743 | 0.078355 | 0.99838 | + | "Skip negative energy correction" | 4 | DefaultGECFilter INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Nb Events Processed" | 10 | - | "Nb events removed" | 3 | + | "Nb events removed" | 2 | FutureNeutralProtoPAlg_70ea5ecd INFO Number of counters : 4 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "Neutral Protos" | 7 | 1698 | 242.57 | 75.314 | 144.00 | 381.00 | - | "Neutral Protos from MergedPi0s" | 7 | 60 | 8.5714 | 5.3946 | 2.0000 | 17.000 | - | "Neutral Protos from Photons" | 7 | 1518 | 216.86 | 60.175 | 138.00 | 333.00 | - | "Neutral Protos from SplitPhotons" | 7 | 120 | 17.143 | 10.789 | 4.0000 | 34.000 | + | "Neutral Protos" | 8 | 1258 | 157.25 | 84.574 | 27.000 | 294.00 | + | "Neutral Protos from MergedPi0s" | 8 | 17 | 2.1250 | 1.9645 | 0.0000 | 6.0000 | + | "Neutral Protos from Photons" | 8 | 1207 | 150.88 | 79.827 | 27.000 | 282.00 | + | "Neutral Protos from SplitPhotons" | 8 | 34 | 4.2500 | 3.9291 | 0.0000 | 12.000 | GraphClustering_72971694 INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "# clusters" | 7 | 1527 | 218.14 | 60.312 | 138.00 | 334.00 | - | "Cluster energy" | 1527 | 8061001 | 5279.0 | 6636.0 | 179.00 | 63591.0 | - | "Cluster size" | 1527 | 15776 | 10.331 | 2.5527 | 6.0000 | 25.000 | + | "# clusters" | 8 | 1226 | 153.25 | 80.187 | 29.000 | 283.00 | + | "Cluster energy" | 1226 | 5468007 | 4460.0 | 5967.1 | 198.20 | 60899. | + | "Cluster size" | 1226 | 12382 | 10.100 | 2.2993 | 6.0000 | 24.000 | HLTControlFlowMgr INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Processed events" | 10 | LHCb__Converters__Track__SOA__fr... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "Nb of Events without Tracks" | 7 | 0 | 0.0000 | + | "Nb of Events without Tracks" | 8 | 0 | 0.0000 | LHCb__Converters__Track__SOA__fr... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "Nb of Events without Tracks" | 7 | 0 | 0.0000 | + | "Nb of Events without Tracks" | 8 | 0 | 0.0000 | LHCb__Converters__Track__SOA__fr... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "Nb of Events without Tracks" | 7 | 0 | 0.0000 | + | "Nb of Events without Tracks" | 8 | 0 | 0.0000 | MuonPIDV2ToMuonTracks_Downstream... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "Nb of input v2 MuonPIDs" | 7 | 0 | 0.0000 | -MuonPIDV2ToMuonTracks_Long_a14aec54 INFO Number of counters : 1 + | "Nb of input v2 MuonPIDs" | 8 | 0 | 0.0000 | +MuonPIDV2ToMuonTracks_Long_da5469c1 INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "Nb of input v2 MuonPIDs" | 7 | 0 | 0.0000 | -TrackBeamLineVertexFinderSoA_f85... INFO Number of counters : 1 + | "Nb of input v2 MuonPIDs" | 8 | 0 | 0.0000 | +TrackBeamLineVertexFinderSoA_e2f... INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "Nb PVs" | 7 | 37 | 5.2857 | -VeloClusterTrackingSIMD_87c18651 INFO Number of counters : 2 + |*"Fraction of failed PV fits" | 37 | 0 |( 0.000000 +- 0.000000)% | + |*"Fraction of unconverged PV fits" | 37 | 1 |( 2.702703 +- 2.665930)% | + | "Nb PVs" | 8 | 36 | 4.5000 | +VeloRetinaClusterTrackingSIMD_3c... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "Nb of Produced Clusters" | 7 | 17878 | 2554.0 | - | "Nb of Produced Tracks" | 7 | 2352 | 336.00 | + | "Nb of Produced Clusters" | 8 | 15925 | 1990.6 | + | "Nb of Produced Tracks" | 8 | 1730 | 216.25 | fromV2MuonPIDV1MuonPIDDownstream... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "Nb of Produced MuonPIDs" | 7 | 0 | 0.0000 | -fromV2MuonPIDV1MuonPIDLong_bf527188 INFO Number of counters : 1 + | "Nb of Produced MuonPIDs" | 8 | 0 | 0.0000 | +fromV2MuonPIDV1MuonPIDLong_e60c416d INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "Nb of Produced MuonPIDs" | 7 | 0 | 0.0000 | + | "Nb of Produced MuonPIDs" | 8 | 0 | 0.0000 | diff --git a/Hlt/RecoConf/tests/refs/hlt2_protoparticles_ttrack_fastest.ref.detdesc b/Hlt/RecoConf/tests/refs/hlt2_protoparticles_ttrack_fastest.ref.detdesc index 2c87bee2657..eadba74e575 100644 --- a/Hlt/RecoConf/tests/refs/hlt2_protoparticles_ttrack_fastest.ref.detdesc +++ b/Hlt/RecoConf/tests/refs/hlt2_protoparticles_ttrack_fastest.ref.detdesc @@ -1,20 +1,921 @@ +FTRawBankDecoder INFO Conditions DB is compatible with FT bank version 7 and 8. TtrackProtos SUCCESS Print all proto particles of an event -TtrackProtos SUCCESS Printing ended +TtrackProtos SUCCESS { Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +Printing ended TtrackProtos SUCCESS Print all proto particles of an event -TtrackProtos SUCCESS Printing ended +TtrackProtos SUCCESS { Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +Printing ended TtrackProtos SUCCESS Print all proto particles of an event -TtrackProtos SUCCESS Printing ended +TtrackProtos SUCCESS { Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +Printing ended TtrackProtos SUCCESS Print all proto particles of an event -TtrackProtos SUCCESS Printing ended -TtrackProtos SUCCESS Print all proto particles of an event -TtrackProtos SUCCESS Printing ended -DefaultGECFilter INFO Number of counters : 1 +TtrackProtos SUCCESS { Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 1 MuonPID 0 GlobalChargedPID 1 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +{ Track 1 CaloHypos 0 RichPID 0 MuonPID 0 GlobalChargedPID 0 NeutralPID 0 + CaloChargedPID 0 BremInfo 0 +ExtraInfo [ + ] } +Printing ended +CloneKillerMatch_2ee65964 INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "nTracksInput" | 4 | 315 | 78.750 | + | "nTracksSelected" | 4 | 315 | 78.750 | +DefaultGECFilter INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Nb Events Processed" | 5 | + | "Nb events removed" | 1 | +FunctionalChargedProtoParticleMa... INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "CreatedProtos" | 193 | HLTControlFlowMgr INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Processed events" | 5 | -TtrackSel_TrackListRefiner_d2005562 INFO Number of counters : 2 +PrForwardTrackingVelo_2f7ad4e4 INFO Number of counters : 10 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Accepted input tracks" | 4 | 327 | 81.750 | + | "Created long tracks" | 4 | 16 | 4.0000 | + | "Input tracks" | 4 | 360 | 90.000 | + | "Number of candidate bins per track" | 327 | 295 | 0.90214 | 1.2885 | 0.0000 | 7.0000 | + | "Number of complete candidates/track 1st Loop" | 154 | 8 | 0.051948 | 0.22192 | 0.0000 | 1.0000 | + | "Number of complete candidates/track 2nd Loop" | 148 | 8 | 0.054054 | 0.22612 | 0.0000 | 1.0000 | + | "Number of x candidates per track 1st Loop" | 154 | 57 | 0.37013 | 0.59162 | + | "Number of x candidates per track 2nd Loop" | 148 | 118 | 0.79730 | 0.90015 | + | "Percentage second loop execution" | 154 | 148 | 0.96104 | + | "Removed duplicates" | 4 | 0 | 0.0000 | +PrForwardTrackingVelo_2f7ad4e4.P... INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#UT hits added" | 13 | 51 | 3.9231 | + | "#tracks with hits added" | 13 | +PrHybridSeeding_4d0337cc INFO Number of counters : 21 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Created T2x1 three-hit combinations in case 0" | 7430 | 4210 | 0.56662 | 0.57943 | 0.0000 | 4.0000 | + | "Created T2x1 three-hit combinations in case 1" | 10813 | 6515 | 0.60252 | 0.64794 | 0.0000 | 5.0000 | + | "Created T2x1 three-hit combinations in case 2" | 18097 | 12660 | 0.69956 | 0.77243 | 0.0000 | 10.000 | + | "Created XZ tracks (part 0)" | 12 | 721 | 60.083 | 30.748 | 17.000 | 110.00 | + | "Created XZ tracks (part 1)" | 12 | 605 | 50.417 | 30.390 | 15.000 | 104.00 | + | "Created XZ tracks in case 0" | 8 | 441 | 55.125 | 29.294 | 21.000 | 101.00 | + | "Created XZ tracks in case 1" | 8 | 495 | 61.875 | 29.565 | 29.000 | 110.00 | + | "Created XZ tracks in case 2" | 8 | 390 | 48.750 | 32.484 | 15.000 | 104.00 | + | "Created full hit combinations in case 0" | 665 | 665 | 1.0000 | 0.0000 | 1.0000 | 1.0000 | + | "Created full hit combinations in case 1" | 581 | 581 | 1.0000 | 0.0000 | 1.0000 | 1.0000 | + | "Created full hit combinations in case 2" | 539 | 539 | 1.0000 | 0.0000 | 1.0000 | 1.0000 | + | "Created seed tracks" | 8 | 481 | 60.125 | 21.699 | 34.000 | 91.000 | + | "Created seed tracks (part 0)" | 4 | 291 | 72.750 | 22.873 | 46.000 | 101.00 | + | "Created seed tracks (part 1)" | 4 | 251 | 62.750 | 26.061 | 37.000 | 99.000 | + | "Created seed tracks in case 0" | 8 | 239 | 29.875 | 13.448 | 14.000 | 47.000 | + | "Created seed tracks in case 1" | 8 | 443 | 55.375 | 21.029 | 28.000 | 82.000 | + | "Created seed tracks in case 2" | 8 | 510 | 63.750 | 23.784 | 35.000 | 94.000 | + | "Created seed tracks in recovery step" | 4 | 32 | 8.0000 | 3.0000 | 5.0000 | 13.000 | + | "Created two-hit combinations in case 0" | 1352 | 30480 | 22.544 | 14.075 | 1.0000 | 57.000 | + | "Created two-hit combinations in case 1" | 1207 | 38143 | 31.601 | 15.786 | 4.0000 | 74.000 | + | "Created two-hit combinations in case 2" | 1006 | 47941 | 47.655 | 22.966 | 5.0000 | 99.000 | +PrKalmanFilterForward_4d9fbd43 INFO Number of counters : 5 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "chi2 cut" | 3 | + | "nIterations" | 16 | 41 | 2.5625 | + | "nOutlierIterations" | 16 | 9 | 0.56250 | + | "nTracksInput" | 4 | 16 | 4.0000 | + | "nTracksOutput" | 4 | 13 | 3.2500 | +PrKalmanFilterMatch_c7ab9251 INFO Number of counters : 6 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Pre outlier chi2 cut" | 7 | + | "chi2 cut" | 30 | + | "nIterations" | 315 | 688 | 2.1841 | + | "nOutlierIterations" | 308 | 165 | 0.53571 | + | "nTracksInput" | 4 | 315 | 78.750 | + | "nTracksOutput" | 4 | 278 | 69.500 | +PrKalmanFilter_Seed_67fafb18 INFO Number of counters : 5 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "chi2 cut" | 8 | + | "nIterations" | 481 | 979 | 2.0353 | + | "nOutlierIterations" | 481 | 122 | 0.25364 | + | "nTracksInput" | 4 | 481 | 120.25 | + | "nTracksOutput" | 4 | 473 | 118.25 | +PrMatchNN_e4c71bc2 INFO Number of counters : 3 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#MatchingChi2" | 4 | 4319.696 | 1079.9 | + | "#MatchingMLP" | 315 | 266.064 | 0.84465 | + | "#MatchingTracks" | 4 | 315 | 78.750 | +PrMatchNN_e4c71bc2.PrAddUTHitsTool INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#UT hits added" | 271 | 1098 | 4.0517 | + | "#tracks with hits added" | 271 | +PrStorePrUTHits_df75b912 INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#banks" | 4 | 864 | 216.00 | +PrStoreSciFiHits_fb0eba02 INFO Number of counters : 25 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Average X in T1U" | 1389 | 19726.06 | 14.202 | 1231.3 | -2625.4 | 2642.8 | + | "Average X in T1V" | 1437 | -64480.5 | -44.872 | 1221.0 | -2650.6 | 2645.6 | + | "Average X in T1X1" | 1352 | -61013.72 | -45.128 | 1231.8 | -2640.7 | 2626.8 | + | "Average X in T1X2" | 1405 | 25624.32 | 18.238 | 1188.6 | -2640.2 | 2628.9 | + | "Average X in T2U" | 1461 | 147894.1 | 101.23 | 1212.4 | -2655.5 | 2646.6 | + | "Average X in T2V" | 1460 | 93457.39 | 64.012 | 1184.4 | -2650.8 | 2644.3 | + | "Average X in T2X1" | 1306 | -98676.4 | -75.556 | 1241.7 | -2644.0 | 2639.6 | + | "Average X in T2X2" | 1547 | -73247.82 | -47.348 | 1237.8 | -2645.5 | 2636.5 | + | "Average X in T3U" | 1486 | -59390.26 | -39.967 | 1503.6 | -3182.1 | 3184.2 | + | "Average X in T3V" | 1503 | 26840.62 | 17.858 | 1436.0 | -3187.0 | 3186.6 | + | "Average X in T3X1" | 1419 | 52810.1 | 37.216 | 1456.6 | -3164.4 | 3174.9 | + | "Average X in T3X2" | 1597 | 96037.74 | 60.136 | 1451.1 | -3167.6 | 3155.3 | + | "Hits in T1U" | 16 | 1389 | 86.812 | 18.676 | 49.000 | 115.00 | + | "Hits in T1V" | 16 | 1437 | 89.812 | 20.815 | 56.000 | 134.00 | + | "Hits in T1X1" | 16 | 1352 | 84.500 | 23.966 | 48.000 | 120.00 | + | "Hits in T1X2" | 16 | 1405 | 87.812 | 22.179 | 55.000 | 134.00 | + | "Hits in T2U" | 16 | 1461 | 91.312 | 26.074 | 52.000 | 146.00 | + | "Hits in T2V" | 16 | 1460 | 91.250 | 26.846 | 51.000 | 149.00 | + | "Hits in T2X1" | 16 | 1306 | 81.625 | 17.765 | 51.000 | 115.00 | + | "Hits in T2X2" | 16 | 1547 | 96.688 | 28.379 | 53.000 | 162.00 | + | "Hits in T3U" | 16 | 1486 | 92.875 | 24.059 | 57.000 | 140.00 | + | "Hits in T3V" | 16 | 1503 | 93.938 | 24.621 | 57.000 | 140.00 | + | "Hits in T3X1" | 16 | 1419 | 88.688 | 21.566 | 55.000 | 119.00 | + | "Hits in T3X2" | 16 | 1597 | 99.812 | 22.459 | 73.000 | 139.00 | + | "Total number of hits" | 4 | 17362 | 4340.5 | 916.26 | 3142.0 | 5523.0 | +PrVPHitsToVPLightClusters_be1d4c28 INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb of Produced Clusters" | 4 | 10224 | 2556.0 | +TBTCMatch_dd723256 INFO Number of counters : 3 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + |*"BadInput" | 278 | 0 |( 0.000000 +- 0.000000)% | + |*"FitFailed" | 278 | 0 |( 0.000000 +- 0.000000)% | + | "FittedBefore" | 278 | +TBTC_Forward_b397f920 INFO Number of counters : 3 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + |*"BadInput" | 13 | 0 |( 0.000000 +- 0.000000)% | + |*"FitFailed" | 13 | 0 |( 0.000000 +- 0.000000)% | + | "FittedBefore" | 13 | +TBTC_Seed_1cb74de8 INFO Number of counters : 3 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + |*"BadInput" | 473 | 0 |( 0.000000 +- 0.000000)% | + |*"FitFailed" | 473 | 0 |( 0.000000 +- 0.000000)% | + | "FittedBefore" | 473 | +TtrackSel_TrackListRefiner_d9b52b84 INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#passed" | 4 | 193 | 48.250 | 14.025 | 32.000 | 65.000 | + | "#seeds" | 4 | 211 | 52.750 | 13.645 | 36.000 | 69.000 | +VeloRetinaClusterTrackingSIMD_3c... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#passed" | 5 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | - | "#seeds" | 5 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | + | "Nb of Produced Clusters" | 4 | 10224 | 2556.0 | + | "Nb of Produced Tracks" | 4 | 1171 | 292.75 | diff --git a/Hlt/RecoConf/tests/refs/legacy_rec_hlt1_reco_velo_only.ref.x86_64_v3-detdesc-opt b/Hlt/RecoConf/tests/refs/legacy_rec_hlt1_reco_velo_only.ref.x86_64_v3-detdesc-opt new file mode 100644 index 00000000000..dc0ebb9e539 --- /dev/null +++ b/Hlt/RecoConf/tests/refs/legacy_rec_hlt1_reco_velo_only.ref.x86_64_v3-detdesc-opt @@ -0,0 +1,16 @@ +ApplicationMgr INFO Application Manager Finalized successfully +ApplicationMgr INFO Application Manager Terminated successfully +DefaultGECFilter INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb Events Processed" | 1000 | + | "Nb events removed" | 65 | +HLTControlFlowMgr INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Processed events" | 1000 | +LHCb__MDF__IOAlg_b77750eb INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#banks in raw event" | 1000 | 1025000 | 1025.0 | 0.0000 | 1025.0 | 1025.0 | +VeloClusterTrackingSIMD_87c18651 INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb of Produced Clusters" | 935 | 1617568 | 1730.0 | + | "Nb of Produced Tracks" | 935 | 208711 | 223.22 | -- GitLab From 4aa34d9e5dad781f9db7c4932285cb1dc78ef318 Mon Sep 17 00:00:00 2001 From: RefBot Date: Wed, 17 Apr 2024 11:36:05 +0200 Subject: [PATCH 33/51] Update References for: Rec!3862, Moore!3318 based on lhcb-2024-patches-mr/116 --- ...r_fitter_full_geometry_with_mcchecking.ref | 154 ++++++------- ..._full_geometry_with_mcchecking.ref.detdesc | 206 +++++++++--------- ..._with_mcchecking.ref.x86_64_v3-detdesc-opt | 206 +++++++++--------- ...geometry_with_mcchecking.ref.x86_64_v3-opt | 154 ++++++------- .../refs/hlt2_protoparticles_fastest.ref | 12 - ...2_protoparticles_fastest.ref.x86_64_v3-opt | 12 - .../hlt2_protoparticles_ttrack_fastest.ref | 12 - ...particles_ttrack_fastest.ref.x86_64_v3-opt | 12 - .../tests/refs/hlt2_ttracks_mva_filter.ref | 12 - .../hlt2_ttracks_mva_filter.ref.x86_64_v3-opt | 12 - 10 files changed, 360 insertions(+), 432 deletions(-) diff --git a/Hlt/RecoConf/tests/refs/hlt2_default_reco_track_master_fitter_full_geometry_with_mcchecking.ref b/Hlt/RecoConf/tests/refs/hlt2_default_reco_track_master_fitter_full_geometry_with_mcchecking.ref index a5367d0aed1..72054a6078d 100644 --- a/Hlt/RecoConf/tests/refs/hlt2_default_reco_track_master_fitter_full_geometry_with_mcchecking.ref +++ b/Hlt/RecoConf/tests/refs/hlt2_default_reco_track_master_fitter_full_geometry_with_mcchecking.ref @@ -303,7 +303,7 @@ CaloAcceptanceBremAlg_Long_380534a7 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#total tracks" | 89 | 360 | 4.0449 | 2.9219 | 0.0000 | 12.000 | | "#tracks in acceptance" | 89 | 129 | 1.4494 | 1.6006 | 0.0000 | 7.0000 | -CaloAcceptanceBremAlg_Long_f9587749 INFO Number of counters : 2 +CaloAcceptanceBremAlg_Long_48f0441c INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#total tracks" | 89 | 5091 | 57.202 | 32.384 | 3.0000 | 137.00 | | "#tracks in acceptance" | 89 | 3665 | 41.180 | 23.612 | 3.0000 | 107.00 | @@ -315,19 +315,19 @@ CaloAcceptanceEcalAlg_Downstream... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#total tracks" | 89 | 2646 | 29.730 | 14.574 | 3.0000 | 62.000 | | "#tracks in acceptance" | 89 | 2375 | 26.685 | 13.398 | 3.0000 | 56.000 | +CaloAcceptanceEcalAlg_Long_12686cdb INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#total tracks" | 89 | 5091 | 57.202 | 32.384 | 3.0000 | 137.00 | + | "#tracks in acceptance" | 89 | 4251 | 47.764 | 27.153 | 3.0000 | 116.00 | CaloAcceptanceEcalAlg_Long_b1547b3d INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#total tracks" | 89 | 360 | 4.0449 | 2.9219 | 0.0000 | 12.000 | | "#tracks in acceptance" | 89 | 273 | 3.0674 | 2.2675 | 0.0000 | 10.000 | -CaloAcceptanceEcalAlg_Long_b5b62afb INFO Number of counters : 2 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#total tracks" | 89 | 5091 | 57.202 | 32.384 | 3.0000 | 137.00 | - | "#tracks in acceptance" | 89 | 4251 | 47.764 | 27.153 | 3.0000 | 116.00 | CaloAcceptanceEcalAlg_Ttrack_41b... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#total tracks" | 89 | 5117 | 57.494 | 31.709 | 4.0000 | 115.00 | | "#tracks in acceptance" | 89 | 4009 | 45.045 | 25.330 | 3.0000 | 92.000 | -CaloAcceptanceEcalAlg_Ttrack_648... INFO Number of counters : 2 +CaloAcceptanceEcalAlg_Ttrack_60a... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#total tracks" | 89 | 3535 | 39.719 | 20.775 | 0.0000 | 79.000 | | "#tracks in acceptance" | 89 | 2797 | 31.427 | 17.071 | 0.0000 | 64.000 | @@ -339,7 +339,7 @@ CaloAcceptanceHcalAlg_Long_a19361f7 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#total tracks" | 89 | 360 | 4.0449 | 2.9219 | 0.0000 | 12.000 | | "#tracks in acceptance" | 89 | 274 | 3.0787 | 2.2696 | 0.0000 | 10.000 | -CaloAcceptanceHcalAlg_Long_c8c37185 INFO Number of counters : 2 +CaloAcceptanceHcalAlg_Long_b487fa3a INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#total tracks" | 89 | 5091 | 57.202 | 32.384 | 3.0000 | 137.00 | | "#tracks in acceptance" | 89 | 4005 | 45.000 | 25.537 | 3.0000 | 109.00 | @@ -447,7 +447,7 @@ CaloSelectiveBremMatchAlg_Downst... INFO Number of counters : 3 | "#links in table" | 89 | 542 | 6.0899 | 5.3035 | 0.0000 | 25.000 | | "average chi2" | 542 | 1484.62 | 2.7392 | 3.7312 | 0.00045802 | 31.917 | | "average energy (track based)" | 2094 | 37768.3 | 18.036 | 68.116 | 0.0000 | 1554.0 | -CaloSelectiveBremMatchAlg_Long_3... INFO Number of counters : 3 +CaloSelectiveBremMatchAlg_Long_5... INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#links in table" | 89 | 1271 | 14.281 | 12.521 | 0.0000 | 71.000 | | "average chi2" | 1271 | 1341.067 | 1.0551 | 1.9119 | 0.00022836 | 36.441 | @@ -476,47 +476,47 @@ CaloSelectiveTrackMatchAlg_Downs... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#links in table" | 89 | 1939 | 21.787 | 12.167 | 2.0000 | 49.000 | | "average chi2" | 1939 | 544.8031 | 0.28097 | 0.48532 | 2.8126e-05 | 8.7533 | -CaloSelectiveTrackMatchAlg_Long_... INFO Number of counters : 2 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#links in table" | 89 | 3469 | 38.978 | 24.111 | 2.0000 | 100.00 | - | "average chi2" | 3469 | 570.0429 | 0.16432 | 0.33689 | 7.0026e-06 | 8.8313 | CaloSelectiveTrackMatchAlg_Long_... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#links in table" | 89 | 233 | 2.6180 | 2.3536 | 0.0000 | 11.000 | | "average chi2" | 233 | 534.7147 | 2.2949 | 3.4414 | 0.0012498 | 23.254 | -CaloSelectiveTrackMatchAlg_Ttrac... INFO Number of counters : 2 +CaloSelectiveTrackMatchAlg_Long_... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#links in table" | 89 | 2338 | 26.270 | 14.629 | 0.0000 | 57.000 | - | "average chi2" | 2338 | 180.348 | 0.077138 | 0.13066 | 7.1919e-06 | 1.9943 | + | "#links in table" | 89 | 3469 | 38.978 | 24.111 | 2.0000 | 100.00 | + | "average chi2" | 3469 | 570.0429 | 0.16432 | 0.33689 | 7.0026e-06 | 8.8313 | CaloSelectiveTrackMatchAlg_Ttrac... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#links in table" | 89 | 3285 | 36.910 | 21.270 | 0.0000 | 77.000 | | "average chi2" | 3285 | 548.2462 | 0.16689 | 0.30882 | 1.8640e-05 | 8.5837 | +CaloSelectiveTrackMatchAlg_Ttrac... INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#links in table" | 89 | 2338 | 26.270 | 14.629 | 0.0000 | 57.000 | + | "average chi2" | 2338 | 180.348 | 0.077138 | 0.13066 | 7.1919e-06 | 1.9943 | CaloTrackBasedElectronShowerAlg_... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "average DLL" | 2375 | -281.4394 | -0.11850 | 0.19773 | -2.6275 | 0.56068 | | "average E/p" | 2375 | 29.94204 | 0.012607 | 0.016446 | 0.0000 | 0.19822 | -CaloTrackBasedElectronShowerAlg_... INFO Number of counters : 2 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "average DLL" | 273 | -278.743 | -1.0210 | 1.5988 | -10.234 | 1.9716 | - | "average E/p" | 273 | 21.98001 | 0.080513 | 0.10451 | 0.0000 | 0.80219 | CaloTrackBasedElectronShowerAlg_... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "average DLL" | 4251 | -285.4005 | -0.067137 | 0.12092 | -2.7206 | 0.57219 | | "average E/p" | 4251 | 29.91463 | 0.0070371 | 0.0099333 | 0.0000 | 0.14788 | +CaloTrackBasedElectronShowerAlg_... INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "average DLL" | 273 | -278.743 | -1.0210 | 1.5988 | -10.234 | 1.9716 | + | "average E/p" | 273 | 21.98001 | 0.080513 | 0.10451 | 0.0000 | 0.80219 | CaloTrackToHcalEnergyAlg_Downstr... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "energy (calo) associated to track" | 2247 | 8458344 | 3764.3 | 6792.6 | 0.0000 | 1.0735e+05 | CaloTrackToHcalEnergyAlg_Long_17... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "energy (calo) associated to track" | 274 | 2999158 | 10946. | 16604. | 0.0000 | 1.0735e+05 | -CaloTrackToHcalEnergyAlg_Long_dd... INFO Number of counters : 1 +CaloTrackToHcalEnergyAlg_Long_d3... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "energy (calo) associated to track" | 4005 |1.738091e+07 | 4339.8 | 8603.3 | 0.0000 | 1.0735e+05 | ChargedProtoParticleMaker_577ad7af INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "CreatedProtos" | 3738 | -ChargedProtoParticleMaker_Long_e... INFO Number of counters : 1 +ChargedProtoParticleMaker_Long_f... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "CreatedProtos" | 5091 | ClassifyPhotonElectronAlg_1932537c INFO Number of counters : 14 @@ -544,7 +544,7 @@ ClassifyPhotonElectronAlg_193253... INFO Number of counters : 7 | "Pileup scale" | 14303 | 73717 | 5.1540 | 1.8536 | 1.0000 | 9.0000 | | "Pileup subtracted ratio" | 14261 | 12528.04 | 0.87848 | 0.12695 | 0.00047684 | 0.99895 | | "Skip negative energy correction" | 42 | -ClassifyPhotonElectronAlg_f1962edb INFO Number of counters : 14 +ClassifyPhotonElectronAlg_2afe5b27 INFO Number of counters : 14 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Electron Delta(E)" | 4677 | -1734558 | -370.87 | 508.72 | -3870.4 | 1429.8 | | "Electron Delta(X)" | 4677 | -1632.478 | -0.34904 | 12.432 | -87.161 | 29.057 | @@ -560,7 +560,7 @@ ClassifyPhotonElectronAlg_f1962edb INFO Number of counters : 14 | "Photons pT-rejected after correction" | 199 | | "electronHypos" | 89 | 4632 | 52.045 | 26.512 | 6.0000 | 111.00 | | "photonHypos" | 89 | 9194 | 103.30 | 45.152 | 10.000 | 195.00 | -ClassifyPhotonElectronAlg_f1962e... INFO Number of counters : 7 +ClassifyPhotonElectronAlg_2afe5b... INFO Number of counters : 7 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | " Inner" | 3978 | 3957.621 | 0.99488 | 0.020008 | 0.96438 | 1.1318 | | " Middle" | 3716 | 3738.964 | 1.0062 | 0.020763 | 0.97692 | 1.2128 | @@ -569,7 +569,7 @@ ClassifyPhotonElectronAlg_f1962e... INFO Number of counters : 7 | "Pileup scale" | 14070 | 72402 | 5.1458 | 1.8547 | 1.0000 | 9.0000 | | "Pileup subtracted ratio" | 14028 | 12329.66 | 0.87893 | 0.12700 | 0.00047684 | 0.99895 | | "Skip negative energy correction" | 42 | -CloneKillerForward_99920633 INFO Number of counters : 2 +CloneKillerForward_d87adb1b INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "nTracksInput" | 89 | 4911 | 55.180 | | "nTracksSelected" | 89 | 650 | 7.3034 | @@ -599,58 +599,58 @@ ForwardTrackChecker_62017966.LoK... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | ForwardUTHitsChecker_b7beb324.Lo... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | -FunctionalDiElectronMaker_d38289be INFO Number of counters : 3 +FunctionalDiElectronMaker_211010b6 INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"# passed" | 89 | 0 |( 0.000000 +- 0.000000)% | | "Corrected electron pairs" | 89 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | | "DiElectrons selected" | 89 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | -FunctionalParticleMaker_131ae88d INFO Number of counters : 5 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"# passed" | 89 | 89 |( 100.0000 +- 0.000000)% | - |*"# passed ProtoParticle filter" | 5091 | 5091 |( 100.0000 +- 0.000000)% | - |*"# passed Track filter" | 5091 | 5091 |( 100.0000 +- 0.000000)% | - | "Nb created anti-particles" | 89 | 2542 | 28.562 | 16.420 | 1.0000 | 71.000 | - | "Nb created particles" | 89 | 2549 | 28.640 | 16.440 | 2.0000 | 70.000 | -FunctionalParticleMaker_79d087e3 INFO Number of counters : 5 +FunctionalParticleMaker_431627fb INFO Number of counters : 5 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"# passed" | 89 | 89 |( 100.0000 +- 0.000000)% | |*"# passed ProtoParticle filter" | 5091 | 5091 |( 100.0000 +- 0.000000)% | |*"# passed Track filter" | 5091 | 5091 |( 100.0000 +- 0.000000)% | | "Nb created anti-particles" | 89 | 2542 | 28.562 | 16.420 | 1.0000 | 71.000 | | "Nb created particles" | 89 | 2549 | 28.640 | 16.440 | 2.0000 | 70.000 | -FunctionalParticleMaker_af159d75 INFO Number of counters : 5 +FunctionalParticleMaker_802aca72 INFO Number of counters : 5 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"# passed" | 89 | 89 |( 100.0000 +- 0.000000)% | |*"# passed ProtoParticle filter" | 5091 | 5091 |( 100.0000 +- 0.000000)% | |*"# passed Track filter" | 5091 | 5091 |( 100.0000 +- 0.000000)% | | "Nb created anti-particles" | 89 | 2542 | 28.562 | 16.420 | 1.0000 | 71.000 | | "Nb created particles" | 89 | 2549 | 28.640 | 16.440 | 2.0000 | 70.000 | -FunctionalParticleMaker_bc62c3b1 INFO Number of counters : 5 +FunctionalParticleMaker_c23723bf INFO Number of counters : 5 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"# passed" | 89 | 89 |( 100.0000 +- 0.000000)% | |*"# passed ProtoParticle filter" | 5091 | 5091 |( 100.0000 +- 0.000000)% | |*"# passed Track filter" | 5091 | 5091 |( 100.0000 +- 0.000000)% | | "Nb created anti-particles" | 89 | 2542 | 28.562 | 16.420 | 1.0000 | 71.000 | | "Nb created particles" | 89 | 2549 | 28.640 | 16.440 | 2.0000 | 70.000 | -FunctionalParticleMaker_e1f6074c INFO Number of counters : 5 +FunctionalParticleMaker_c84f0945 INFO Number of counters : 5 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"# passed" | 89 | 76 |( 85.39326 +- 3.743635)% | |*"# passed ProtoParticle filter" | 5091 | 380 |( 7.464152 +- 0.3683356)% | |*"# passed Track filter" | 5091 | 5091 |( 100.0000 +- 0.000000)% | | "Nb created anti-particles" | 89 | 171 | 1.9213 | 2.3283 | 0.0000 | 10.000 | | "Nb created particles" | 89 | 209 | 2.3483 | 2.5882 | 0.0000 | 12.000 | -FutureNeutralProtoPAlg_315629c4 INFO Number of counters : 4 +FunctionalParticleMaker_f10de5ad INFO Number of counters : 5 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "Neutral Protos" | 89 | 9896 | 111.19 | 51.040 | 10.000 | 204.00 | - | "Neutral Protos from MergedPi0s" | 89 | 234 | 2.6292 | 2.5894 | 0.0000 | 11.000 | - | "Neutral Protos from Photons" | 89 | 9194 | 103.30 | 45.152 | 10.000 | 195.00 | - | "Neutral Protos from SplitPhotons" | 89 | 468 | 5.2584 | 5.1789 | 0.0000 | 22.000 | + |*"# passed" | 89 | 89 |( 100.0000 +- 0.000000)% | + |*"# passed ProtoParticle filter" | 5091 | 5091 |( 100.0000 +- 0.000000)% | + |*"# passed Track filter" | 5091 | 5091 |( 100.0000 +- 0.000000)% | + | "Nb created anti-particles" | 89 | 2542 | 28.562 | 16.420 | 1.0000 | 71.000 | + | "Nb created particles" | 89 | 2549 | 28.640 | 16.440 | 2.0000 | 70.000 | FutureNeutralProtoPAlg_4e4c691f INFO Number of counters : 4 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Neutral Protos" | 89 | 10199 | 114.60 | 53.438 | 10.000 | 217.00 | | "Neutral Protos from MergedPi0s" | 89 | 234 | 2.6292 | 2.5894 | 0.0000 | 11.000 | | "Neutral Protos from Photons" | 89 | 9497 | 106.71 | 47.539 | 10.000 | 203.00 | | "Neutral Protos from SplitPhotons" | 89 | 468 | 5.2584 | 5.1789 | 0.0000 | 22.000 | +FutureNeutralProtoPAlg_f402bd2e INFO Number of counters : 4 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Neutral Protos" | 89 | 9896 | 111.19 | 51.040 | 10.000 | 204.00 | + | "Neutral Protos from MergedPi0s" | 89 | 234 | 2.6292 | 2.5894 | 0.0000 | 11.000 | + | "Neutral Protos from Photons" | 89 | 9194 | 103.30 | 45.152 | 10.000 | 195.00 | + | "Neutral Protos from SplitPhotons" | 89 | 468 | 5.2584 | 5.1789 | 0.0000 | 22.000 | GraphClustering_72971694 INFO Number of counters : 4 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "# clusters" | 100 | 17042 | 170.42 | 79.915 | 16.000 | 358.00 | @@ -709,7 +709,7 @@ MuonIDHlt2AlgLong_40c2ff0a INFO Number of counters : 7 |*"nIsMuon" | 360 | 22 |( 6.111111 +- 1.262455)% | |*"nIsMuonTight" | 360 | 11 |( 3.055556 +- 0.9071003)% | |*"nMomentumCut" | 360 | 352 |( 97.77778 +- 0.7768954)% | -MuonIDHlt2AlgLong_b2f49f44 INFO Number of counters : 7 +MuonIDHlt2AlgLong_c5deca87 INFO Number of counters : 7 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "BgLL" | 380 | -182.2989 | -0.47973 | 0.90198 | -6.0696 | 0.0000 | | "MuLL" | 380 | -3582.354 | -9.4272 | 3.0266 | -11.513 | -0.13634 | @@ -721,40 +721,43 @@ MuonIDHlt2AlgLong_b2f49f44 INFO Number of counters : 7 MuonPIDV2ToMuonTracks_Downstream... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Nb of input v2 MuonPIDs" | 89 | 2646 | 29.730 | -MuonPIDV2ToMuonTracks_Long_a5c54496 INFO Number of counters : 1 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "Nb of input v2 MuonPIDs" | 89 | 5091 | 57.202 | MuonPIDV2ToMuonTracks_Long_b2f2b7ad INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Nb of input v2 MuonPIDs" | 89 | 360 | 4.0449 | +MuonPIDV2ToMuonTracks_Long_fe07e723 INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb of input v2 MuonPIDs" | 89 | 5091 | 57.202 | ParticleRangeFilter_199b0e58 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"#passed" | 89 | 1 |( 1.123596 +- 1.117265)% | |*"Cut selection efficiency" | 2 | 1 |( 50.00000 +- 35.35534)% | +ParticleRangeFilter_1a8a91d6 INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + |*"#passed" | 89 | 84 |( 94.38202 +- 2.440842)% | + |*"Cut selection efficiency" | 5091 | 637 |( 12.51228 +- 0.4637033)% | ParticleRangeFilter_1b91da00 INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"#passed" | 89 | 0 |( 0.000000 +- 0.000000)% | -ParticleRangeFilter_1efd28cf INFO Number of counters : 2 +ParticleRangeFilter_29eb2373 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"#passed" | 89 | 67 |( 75.28090 +- 4.572605)% | - |*"Cut selection efficiency" | 5091 | 211 |( 4.144569 +- 0.2793486)% | -ParticleRangeFilter_2005d057 INFO Number of counters : 2 + |*"#passed" | 89 | 88 |( 98.87640 +- 1.117265)% | + |*"Cut selection efficiency" | 5091 | 1242 |( 24.39599 +- 0.6019080)% | +ParticleRangeFilter_488a209b INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + |*"#passed" | 89 | 0 |( 0.000000 +- 0.000000)% | +ParticleRangeFilter_57648a95 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"#passed" | 89 | 11 |( 12.35955 +- 3.488660)% | |*"Cut selection efficiency" | 5091 | 13 |(0.2553526 +- 0.07073158)% | -ParticleRangeFilter_3a1ff600 INFO Number of counters : 2 +ParticleRangeFilter_8262df80 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"#passed" | 89 | 84 |( 94.38202 +- 2.440842)% | - |*"Cut selection efficiency" | 5091 | 637 |( 12.51228 +- 0.4637033)% | -ParticleRangeFilter_4ff33eb4 INFO Number of counters : 2 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"#passed" | 89 | 30 |( 33.70787 +- 5.010737)% | - |*"Cut selection efficiency" | 5091 | 48 |(0.9428403 +- 0.1354442)% | -ParticleRangeFilter_5a7b1479 INFO Number of counters : 2 + |*"#passed" | 89 | 69 |( 77.52809 +- 4.424402)% | + |*"Cut selection efficiency" | 5767 | 168 |( 2.913126 +- 0.2214547)% | +ParticleRangeFilter_895e090b INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"#passed" | 89 | 21 |( 23.59551 +- 4.500690)% | |*"Cut selection efficiency" | 5091 | 33 |(0.6482027 +- 0.1124713)% | -ParticleRangeFilter_baf14498 INFO Number of counters : 2 +ParticleRangeFilter_9204cac0 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"#passed" | 89 | 77 |( 86.51685 +- 3.620353)% | |*"Cut selection efficiency" | 5091 | 416 |( 8.171283 +- 0.3839130)% | @@ -762,29 +765,26 @@ ParticleRangeFilter_bd903019 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"#passed" | 89 | 1 |( 1.123596 +- 1.117265)% | |*"Cut selection efficiency" | 2 | 1 |( 50.00000 +- 35.35534)% | -ParticleRangeFilter_da64202b INFO Number of counters : 2 +ParticleRangeFilter_cf532f30 INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + |*"#passed" | 89 | 30 |( 33.70787 +- 5.010737)% | + |*"Cut selection efficiency" | 5091 | 48 |(0.9428403 +- 0.1354442)% | +ParticleRangeFilter_d111280d INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"#passed" | 89 | 75 |( 84.26966 +- 3.859310)% | |*"Cut selection efficiency" | 5091 | 296 |( 5.814182 +- 0.3279711)% | -ParticleRangeFilter_da66a5d7 INFO Number of counters : 2 +ParticleRangeFilter_d1222576 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"#passed" | 89 | 69 |( 77.52809 +- 4.424402)% | - |*"Cut selection efficiency" | 5767 | 168 |( 2.913126 +- 0.2214547)% | + |*"#passed" | 89 | 67 |( 75.28090 +- 4.572605)% | + |*"Cut selection efficiency" | 5091 | 211 |( 4.144569 +- 0.2793486)% | ParticleRangeFilter_e127acf7 INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"#passed" | 89 | 0 |( 0.000000 +- 0.000000)% | -ParticleRangeFilter_ece6b797 INFO Number of counters : 2 +ParticleRangeFilter_f97585fb INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"#passed" | 89 | 6 |( 6.741573 +- 2.657845)% | |*"Cut selection efficiency" | 380 | 6 |( 1.578947 +- 0.6394933)% | -ParticleRangeFilter_f50abdc6 INFO Number of counters : 1 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"#passed" | 89 | 0 |( 0.000000 +- 0.000000)% | -ParticleRangeFilter_ff5bd3d5 INFO Number of counters : 2 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"#passed" | 89 | 88 |( 98.87640 +- 1.117265)% | - |*"Cut selection efficiency" | 5091 | 1242 |( 24.39599 +- 0.6019080)% | -PrCloneKillerSeed_99195a45 INFO Number of counters : 2 +PrCloneKillerSeed_46dd9764 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "nTracksInput" | 89 | 8096 | 90.966 | | "nTracksSelected" | 89 | 3535 | 39.719 | @@ -839,7 +839,7 @@ PrHybridSeeding_4d0337cc INFO Number of counters : 21 | "Created two-hit combinations in case 0" | 26343 | 552986 | 20.992 | 14.317 | 0.0000 | 73.000 | | "Created two-hit combinations in case 1" | 23300 | 689671 | 29.600 | 16.786 | 0.0000 | 91.000 | | "Created two-hit combinations in case 2" | 20201 | 930957 | 46.085 | 26.089 | 1.0000 | 149.00 | -PrKalmanFilterForward_a17c6f0f INFO Number of counters : 6 +PrKalmanFilterForward_4d5b4459 INFO Number of counters : 6 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Pre outlier chi2 cut" | 49 | | "chi2 cut" | 187 | @@ -847,7 +847,7 @@ PrKalmanFilterForward_a17c6f0f INFO Number of counters : 6 | "nOutlierIterations" | 601 | 558 | 0.92845 | | "nTracksInput" | 89 | 650 | 7.3034 | | "nTracksOutput" | 89 | 414 | 4.6517 | -PrKalmanFilterMatch_cfe2412a INFO Number of counters : 6 +PrKalmanFilterMatch_9906135f INFO Number of counters : 6 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Pre outlier chi2 cut" | 81 | | "chi2 cut" | 272 | @@ -1242,12 +1242,12 @@ SciFiTrackForwarding_793576d3 INFO Number of counters : 2 | "Created long tracks" | 89 | 1602 | 18.000 | SeedTrackChecker_ffd9ead8.LoKi::... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | -TBTCForward_f3609e91 INFO Number of counters : 3 +TBTCForward_ebbf1e58 INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"BadInput" | 414 | 0 |( 0.000000 +- 0.000000)% | |*"FitFailed" | 414 | 0 |( 0.000000 +- 0.000000)% | | "FittedBefore" | 414 | -TBTC_Match_9250fbf6 INFO Number of counters : 3 +TBTC_Match_45c201eb INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"BadInput" | 4677 | 0 |( 0.000000 +- 0.000000)% | |*"FitFailed" | 4677 | 0 |( 0.000000 +- 0.000000)% | @@ -1379,7 +1379,7 @@ fromPrMatchTracksV1Tracks_1e9cf955 INFO Number of counters : 1 fromPrSeedingTracksV1Tracks_84cd... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Nb of converted Tracks" | 89 | 8096 | 90.966 | -fromPrSeedingTracksV1Tracks_8aab... INFO Number of counters : 1 +fromPrSeedingTracksV1Tracks_9243... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Nb of converted Tracks" | 89 | 3535 | 39.719 | fromPrUpstreamTracksV1Tracks_965... INFO Number of counters : 1 @@ -1391,7 +1391,7 @@ fromPrVeloTracksV1TracksMerger_c... INFO Number of counters : 1 fromV2MuonPIDV1MuonPIDDownstream... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Nb of Produced MuonPIDs" | 89 | 2646 | 29.730 | -fromV2MuonPIDV1MuonPIDLong_4c2b1305 INFO Number of counters : 1 +fromV2MuonPIDV1MuonPIDLong_2a4e607d INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Nb of Produced MuonPIDs" | 89 | 5091 | 57.202 | fromV2MuonPIDV1MuonPIDLong_86c39276 INFO Number of counters : 1 diff --git a/Hlt/RecoConf/tests/refs/hlt2_default_reco_track_master_fitter_full_geometry_with_mcchecking.ref.detdesc b/Hlt/RecoConf/tests/refs/hlt2_default_reco_track_master_fitter_full_geometry_with_mcchecking.ref.detdesc index fe3db38faba..21c698a956f 100644 --- a/Hlt/RecoConf/tests/refs/hlt2_default_reco_track_master_fitter_full_geometry_with_mcchecking.ref.detdesc +++ b/Hlt/RecoConf/tests/refs/hlt2_default_reco_track_master_fitter_full_geometry_with_mcchecking.ref.detdesc @@ -390,7 +390,7 @@ CaloAcceptanceBremAlg_Long_380534a7 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#total tracks" | 89 | 4942 | 55.528 | 30.782 | 3.0000 | 130.00 | | "#tracks in acceptance" | 89 | 3574 | 40.157 | 22.768 | 3.0000 | 103.00 | -CaloAcceptanceBremAlg_Long_f9587749 INFO Number of counters : 2 +CaloAcceptanceBremAlg_Long_48f0441c INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#total tracks" | 89 | 5079 | 57.067 | 32.293 | 3.0000 | 137.00 | | "#tracks in acceptance" | 89 | 3648 | 40.989 | 23.484 | 3.0000 | 107.00 | @@ -402,19 +402,19 @@ CaloAcceptanceEcalAlg_Downstream... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#total tracks" | 89 | 959 | 10.775 | 7.2496 | 0.0000 | 30.000 | | "#tracks in acceptance" | 89 | 747 | 8.3933 | 5.8283 | 0.0000 | 25.000 | +CaloAcceptanceEcalAlg_Long_12686cdb INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#total tracks" | 89 | 5079 | 57.067 | 32.293 | 3.0000 | 137.00 | + | "#tracks in acceptance" | 89 | 4241 | 47.652 | 27.119 | 3.0000 | 114.00 | CaloAcceptanceEcalAlg_Long_b1547b3d INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#total tracks" | 89 | 4942 | 55.528 | 30.782 | 3.0000 | 130.00 | | "#tracks in acceptance" | 89 | 4120 | 46.292 | 25.687 | 3.0000 | 107.00 | -CaloAcceptanceEcalAlg_Long_b5b62afb INFO Number of counters : 2 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#total tracks" | 89 | 5079 | 57.067 | 32.293 | 3.0000 | 137.00 | - | "#tracks in acceptance" | 89 | 4241 | 47.652 | 27.119 | 3.0000 | 114.00 | CaloAcceptanceEcalAlg_Ttrack_41b... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#total tracks" | 89 | 2736 | 30.742 | 16.449 | 0.0000 | 62.000 | | "#tracks in acceptance" | 89 | 2172 | 24.404 | 13.483 | 0.0000 | 50.000 | -CaloAcceptanceEcalAlg_Ttrack_648... INFO Number of counters : 2 +CaloAcceptanceEcalAlg_Ttrack_60a... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#total tracks" | 89 | 3548 | 39.865 | 20.798 | 0.0000 | 78.000 | | "#tracks in acceptance" | 89 | 2808 | 31.551 | 17.064 | 0.0000 | 65.000 | @@ -426,7 +426,7 @@ CaloAcceptanceHcalAlg_Long_a19361f7 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#total tracks" | 89 | 4942 | 55.528 | 30.782 | 3.0000 | 130.00 | | "#tracks in acceptance" | 89 | 3891 | 43.719 | 24.302 | 3.0000 | 100.00 | -CaloAcceptanceHcalAlg_Long_c8c37185 INFO Number of counters : 2 +CaloAcceptanceHcalAlg_Long_b487fa3a INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#total tracks" | 89 | 5079 | 57.067 | 32.293 | 3.0000 | 137.00 | | "#tracks in acceptance" | 89 | 4003 | 44.978 | 25.627 | 3.0000 | 107.00 | @@ -539,7 +539,7 @@ CaloSelectiveBremMatchAlg_Long_1... INFO Number of counters : 3 | "#links in table" | 89 | 1280 | 14.382 | 12.294 | 0.0000 | 65.000 | | "average chi2" | 1280 | 1428.889 | 1.1163 | 2.0197 | 3.4653e-06 | 38.937 | | "average energy (track based)" | 3574 | 68811.73 | 19.253 | 60.749 | 0.0000 | 1322.7 | -CaloSelectiveBremMatchAlg_Long_c... INFO Number of counters : 3 +CaloSelectiveBremMatchAlg_Long_b... INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#links in table" | 89 | 1250 | 14.045 | 12.254 | 0.0000 | 69.000 | | "average chi2" | 1250 | 1358.327 | 1.0867 | 1.9679 | 7.7724e-05 | 37.830 | @@ -548,15 +548,15 @@ CaloSelectiveElectronMatchAlg_Do... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#links in table" | 89 | 679 | 7.6292 | 5.4698 | 0.0000 | 23.000 | | "average chi2" | 679 | 8459.273 | 12.458 | 25.423 | 0.0073505 | 312.49 | +CaloSelectiveElectronMatchAlg_Lo... INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#links in table" | 89 | 3414 | 38.360 | 23.824 | 2.0000 | 98.000 | + | "average chi2" | 3414 | 18133.76 | 5.3116 | 10.752 | 0.0030280 | 199.24 | CaloSelectiveElectronMatchAlg_Lo... INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#above threshold" | 1 | 1 | 1.0000 | 0.0000 | 1.0000 | 1.0000 | | "#links in table" | 89 | 3284 | 36.899 | 22.419 | 2.0000 | 93.000 | | "average chi2" | 3284 | 17362.91 | 5.2871 | 10.370 | 0.0021891 | 166.31 | -CaloSelectiveElectronMatchAlg_Lo... INFO Number of counters : 2 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#links in table" | 89 | 3414 | 38.360 | 23.824 | 2.0000 | 98.000 | - | "average chi2" | 3414 | 18133.76 | 5.3116 | 10.752 | 0.0030280 | 199.24 | CaloSelectiveTrackMatchAlg_Downs... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#links in table" | 89 | 682 | 7.6629 | 5.4607 | 0.0000 | 23.000 | @@ -564,14 +564,14 @@ CaloSelectiveTrackMatchAlg_Downs... INFO Number of counters : 2 CaloSelectiveTrackMatchAlg_Downs... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#links in table" | 89 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | -CaloSelectiveTrackMatchAlg_Long_... INFO Number of counters : 2 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#links in table" | 89 | 3457 | 38.843 | 23.991 | 2.0000 | 98.000 | - | "average chi2" | 3457 | 568.1942 | 0.16436 | 0.33819 | 3.0767e-06 | 8.8273 | CaloSelectiveTrackMatchAlg_Long_... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#links in table" | 89 | 3328 | 37.393 | 22.584 | 2.0000 | 93.000 | | "average chi2" | 3328 | 567.1044 | 0.17040 | 0.34780 | 1.3608e-06 | 8.8187 | +CaloSelectiveTrackMatchAlg_Long_... INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#links in table" | 89 | 3457 | 38.843 | 23.991 | 2.0000 | 98.000 | + | "average chi2" | 3457 | 568.1942 | 0.16436 | 0.33819 | 3.0767e-06 | 8.8273 | CaloSelectiveTrackMatchAlg_Ttrac... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#links in table" | 89 | 1764 | 19.820 | 11.317 | 0.0000 | 43.000 | @@ -584,54 +584,29 @@ CaloTrackBasedElectronShowerAlg_... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "average DLL" | 747 | -89.43972 | -0.11973 | 0.62554 | -7.3786 | 2.9264 | | "average E/p" | 747 | 47.31812 | 0.063344 | 0.079832 | 0.0000 | 0.93229 | -CaloTrackBasedElectronShowerAlg_... INFO Number of counters : 2 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "average DLL" | 4120 | -293.2133 | -0.071168 | 0.12282 | -2.6860 | 0.50555 | - | "average E/p" | 4120 | 29.13411 | 0.0070714 | 0.010060 | 0.0000 | 0.14222 | CaloTrackBasedElectronShowerAlg_... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "average DLL" | 4241 | -286.1187 | -0.067465 | 0.12098 | -2.7103 | 0.57343 | | "average E/p" | 4241 | 29.8763 | 0.0070446 | 0.0099781 | 0.0000 | 0.14213 | +CaloTrackBasedElectronShowerAlg_... INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "average DLL" | 4120 | -293.2133 | -0.071168 | 0.12282 | -2.6860 | 0.50555 | + | "average E/p" | 4120 | 29.13411 | 0.0070714 | 0.010060 | 0.0000 | 0.14222 | CaloTrackToHcalEnergyAlg_Downstr... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "energy (calo) associated to track" | 663 | 1461073 | 2203.7 | 5533.8 | 0.0000 | 90279. | CaloTrackToHcalEnergyAlg_Long_17... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "energy (calo) associated to track" | 3891 |1.744153e+07 | 4482.5 | 8949.7 | 0.0000 | 1.0735e+05 | -CaloTrackToHcalEnergyAlg_Long_dd... INFO Number of counters : 1 +CaloTrackToHcalEnergyAlg_Long_d3... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "energy (calo) associated to track" | 4003 |1.730147e+07 | 4322.1 | 8606.3 | 0.0000 | 1.0735e+05 | ChargedProtoParticleMaker_991e6d85 INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "CreatedProtos" | 6452 | -ChargedProtoParticleMaker_Long_6... INFO Number of counters : 1 +ChargedProtoParticleMaker_Long_a... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "CreatedProtos" | 5079 | -ClassifyPhotonElectronAlg_219a5ec8 INFO Number of counters : 14 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "Electron Delta(E)" | 4677 | -1735542 | -371.08 | 508.45 | -3871.1 | 1431.7 | - | "Electron Delta(X)" | 4677 | -1641.327 | -0.35094 | 12.436 | -87.161 | 29.057 | - | "Electron Delta(Y)" | 4677 | -532.0908 | -0.11377 | 12.348 | -32.805 | 22.669 | - | "Electron Delta(Z)" | 4677 | 302579.2 | 64.695 | 13.993 | -10.804 | 107.85 | - | "Electron corrected energy" | 4677 |2.686675e+07 | 5744.4 | 6777.3 | 19.715 | 96237. | - | "Electrons pT-rejected after correction" | 46 | - | "Photon Delta(E)" | 9390 | -2103202 | -223.98 | 381.19 | -4040.0 | 818.14 | - | "Photon Delta(X)" | 9390 | -3103.771 | -0.33054 | 12.686 | -91.984 | 32.112 | - | "Photon Delta(Y)" | 9390 | -2519.571 | -0.26832 | 12.607 | -91.966 | 38.582 | - | "Photon Delta(Z)" | 9390 | 513234.1 | 54.658 | 13.014 | -1.1836 | 114.41 | - | "Photon corrected energy" | 9390 |3.091453e+07 | 3292.3 | 5517.4 | 38.834 | 1.2653e+05 | - | "Photons pT-rejected after correction" | 200 | - | "electronHypos" | 89 | 4631 | 52.034 | 26.494 | 6.0000 | 111.00 | - | "photonHypos" | 89 | 9190 | 103.26 | 45.153 | 10.000 | 195.00 | -ClassifyPhotonElectronAlg_219a5e... INFO Number of counters : 7 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | " Inner" | 3975 | 3954.481 | 0.99484 | 0.019962 | 0.96439 | 1.1318 | - | " Middle" | 3716 | 3738.989 | 1.0062 | 0.020770 | 0.97692 | 1.2128 | - | " Outer" | 6334 | 6331.484 | 0.99960 | 0.016593 | 0.97371 | 1.1067 | - | "Pileup offset" | 14025 | 4827254 | 344.19 | 411.58 | 2.6870 | 3722.1 | - | "Pileup scale" | 14067 | 72413 | 5.1477 | 1.8540 | 1.0000 | 9.0000 | - | "Pileup subtracted ratio" | 14025 | 12326.83 | 0.87892 | 0.12726 | 0.00021643 | 0.99896 | - | "Skip negative energy correction" | 42 | ClassifyPhotonElectronAlg_22d51a37 INFO Number of counters : 14 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Electron Delta(E)" | 4668 | -1730951 | -370.81 | 508.83 | -3871.1 | 1431.7 | @@ -657,7 +632,32 @@ ClassifyPhotonElectronAlg_22d51a... INFO Number of counters : 7 | "Pileup scale" | 14305 | 73727 | 5.1539 | 1.8536 | 1.0000 | 9.0000 | | "Pileup subtracted ratio" | 14263 | 12532.74 | 0.87869 | 0.12711 | 0.00021643 | 0.99896 | | "Skip negative energy correction" | 42 | -CloneKillerForward_99920633 INFO Number of counters : 2 +ClassifyPhotonElectronAlg_4e844293 INFO Number of counters : 14 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Electron Delta(E)" | 4677 | -1735542 | -371.08 | 508.45 | -3871.1 | 1431.7 | + | "Electron Delta(X)" | 4677 | -1641.327 | -0.35094 | 12.436 | -87.161 | 29.057 | + | "Electron Delta(Y)" | 4677 | -532.0908 | -0.11377 | 12.348 | -32.805 | 22.669 | + | "Electron Delta(Z)" | 4677 | 302579.2 | 64.695 | 13.993 | -10.804 | 107.85 | + | "Electron corrected energy" | 4677 |2.686675e+07 | 5744.4 | 6777.3 | 19.715 | 96237. | + | "Electrons pT-rejected after correction" | 46 | + | "Photon Delta(E)" | 9390 | -2103202 | -223.98 | 381.19 | -4040.0 | 818.14 | + | "Photon Delta(X)" | 9390 | -3103.771 | -0.33054 | 12.686 | -91.984 | 32.112 | + | "Photon Delta(Y)" | 9390 | -2519.571 | -0.26832 | 12.607 | -91.966 | 38.582 | + | "Photon Delta(Z)" | 9390 | 513234.1 | 54.658 | 13.014 | -1.1836 | 114.41 | + | "Photon corrected energy" | 9390 |3.091453e+07 | 3292.3 | 5517.4 | 38.834 | 1.2653e+05 | + | "Photons pT-rejected after correction" | 200 | + | "electronHypos" | 89 | 4631 | 52.034 | 26.494 | 6.0000 | 111.00 | + | "photonHypos" | 89 | 9190 | 103.26 | 45.153 | 10.000 | 195.00 | +ClassifyPhotonElectronAlg_4e8442... INFO Number of counters : 7 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | " Inner" | 3975 | 3954.481 | 0.99484 | 0.019962 | 0.96439 | 1.1318 | + | " Middle" | 3716 | 3738.989 | 1.0062 | 0.020770 | 0.97692 | 1.2128 | + | " Outer" | 6334 | 6331.484 | 0.99960 | 0.016593 | 0.97371 | 1.1067 | + | "Pileup offset" | 14025 | 4827254 | 344.19 | 411.58 | 2.6870 | 3722.1 | + | "Pileup scale" | 14067 | 72413 | 5.1477 | 1.8540 | 1.0000 | 9.0000 | + | "Pileup subtracted ratio" | 14025 | 12326.83 | 0.87892 | 0.12726 | 0.00021643 | 0.99896 | + | "Skip negative energy correction" | 42 | +CloneKillerForward_d87adb1b INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "nTracksInput" | 89 | 4906 | 55.124 | | "nTracksSelected" | 89 | 640 | 7.1910 | @@ -687,58 +687,58 @@ ForwardTrackChecker_62017966.LoK... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | ForwardUTHitsChecker_b7beb324.Lo... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | -FunctionalDiElectronMaker_ae01d70b INFO Number of counters : 3 +FunctionalDiElectronMaker_de8b454b INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"# passed" | 89 | 0 |( 0.000000 +- 0.000000)% | | "Corrected electron pairs" | 89 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | | "DiElectrons selected" | 89 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | -FunctionalParticleMaker_479e4efe INFO Number of counters : 5 +FunctionalParticleMaker_20e42246 INFO Number of counters : 5 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"# passed" | 89 | 89 |( 100.0000 +- 0.000000)% | |*"# passed ProtoParticle filter" | 5079 | 5079 |( 100.0000 +- 0.000000)% | |*"# passed Track filter" | 5079 | 5079 |( 100.0000 +- 0.000000)% | | "Nb created anti-particles" | 89 | 2549 | 28.640 | 16.486 | 2.0000 | 71.000 | | "Nb created particles" | 89 | 2530 | 28.427 | 16.283 | 1.0000 | 70.000 | -FunctionalParticleMaker_a507a36f INFO Number of counters : 5 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"# passed" | 89 | 77 |( 86.51685 +- 3.620353)% | - |*"# passed ProtoParticle filter" | 5079 | 415 |( 8.170900 +- 0.3843581)% | - |*"# passed Track filter" | 5079 | 5079 |( 100.0000 +- 0.000000)% | - | "Nb created anti-particles" | 89 | 203 | 2.2809 | 2.2980 | 0.0000 | 9.0000 | - | "Nb created particles" | 89 | 212 | 2.3820 | 2.7662 | 0.0000 | 12.000 | -FunctionalParticleMaker_a8599818 INFO Number of counters : 5 +FunctionalParticleMaker_4628204e INFO Number of counters : 5 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"# passed" | 89 | 89 |( 100.0000 +- 0.000000)% | |*"# passed ProtoParticle filter" | 5079 | 5079 |( 100.0000 +- 0.000000)% | |*"# passed Track filter" | 5079 | 5079 |( 100.0000 +- 0.000000)% | | "Nb created anti-particles" | 89 | 2549 | 28.640 | 16.486 | 2.0000 | 71.000 | | "Nb created particles" | 89 | 2530 | 28.427 | 16.283 | 1.0000 | 70.000 | -FunctionalParticleMaker_c925914f INFO Number of counters : 5 +FunctionalParticleMaker_820af8b8 INFO Number of counters : 5 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"# passed" | 89 | 89 |( 100.0000 +- 0.000000)% | |*"# passed ProtoParticle filter" | 5079 | 5079 |( 100.0000 +- 0.000000)% | |*"# passed Track filter" | 5079 | 5079 |( 100.0000 +- 0.000000)% | | "Nb created anti-particles" | 89 | 2549 | 28.640 | 16.486 | 2.0000 | 71.000 | | "Nb created particles" | 89 | 2530 | 28.427 | 16.283 | 1.0000 | 70.000 | -FunctionalParticleMaker_da0c797f INFO Number of counters : 5 +FunctionalParticleMaker_b064547a INFO Number of counters : 5 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"# passed" | 89 | 89 |( 100.0000 +- 0.000000)% | |*"# passed ProtoParticle filter" | 5079 | 5079 |( 100.0000 +- 0.000000)% | |*"# passed Track filter" | 5079 | 5079 |( 100.0000 +- 0.000000)% | | "Nb created anti-particles" | 89 | 2549 | 28.640 | 16.486 | 2.0000 | 71.000 | | "Nb created particles" | 89 | 2530 | 28.427 | 16.283 | 1.0000 | 70.000 | -FutureNeutralProtoPAlg_15fdb312 INFO Number of counters : 4 +FunctionalParticleMaker_b440661a INFO Number of counters : 5 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "Neutral Protos" | 89 | 9892 | 111.15 | 51.043 | 10.000 | 204.00 | - | "Neutral Protos from MergedPi0s" | 89 | 234 | 2.6292 | 2.5894 | 0.0000 | 11.000 | - | "Neutral Protos from Photons" | 89 | 9190 | 103.26 | 45.153 | 10.000 | 195.00 | - | "Neutral Protos from SplitPhotons" | 89 | 468 | 5.2584 | 5.1789 | 0.0000 | 22.000 | + |*"# passed" | 89 | 77 |( 86.51685 +- 3.620353)% | + |*"# passed ProtoParticle filter" | 5079 | 415 |( 8.170900 +- 0.3843581)% | + |*"# passed Track filter" | 5079 | 5079 |( 100.0000 +- 0.000000)% | + | "Nb created anti-particles" | 89 | 203 | 2.2809 | 2.2980 | 0.0000 | 9.0000 | + | "Nb created particles" | 89 | 212 | 2.3820 | 2.7662 | 0.0000 | 12.000 | FutureNeutralProtoPAlg_276fceef INFO Number of counters : 4 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Neutral Protos" | 89 | 10137 | 113.90 | 52.832 | 10.000 | 213.00 | | "Neutral Protos from MergedPi0s" | 89 | 234 | 2.6292 | 2.5894 | 0.0000 | 11.000 | | "Neutral Protos from Photons" | 89 | 9435 | 106.01 | 46.948 | 10.000 | 204.00 | | "Neutral Protos from SplitPhotons" | 89 | 468 | 5.2584 | 5.1789 | 0.0000 | 22.000 | +FutureNeutralProtoPAlg_7d77475d INFO Number of counters : 4 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Neutral Protos" | 89 | 9892 | 111.15 | 51.043 | 10.000 | 204.00 | + | "Neutral Protos from MergedPi0s" | 89 | 234 | 2.6292 | 2.5894 | 0.0000 | 11.000 | + | "Neutral Protos from Photons" | 89 | 9190 | 103.26 | 45.153 | 10.000 | 195.00 | + | "Neutral Protos from SplitPhotons" | 89 | 468 | 5.2584 | 5.1789 | 0.0000 | 22.000 | GraphClustering_72971694 INFO Number of counters : 4 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "# clusters" | 100 | 17042 | 170.42 | 79.915 | 16.000 | 358.00 | @@ -797,7 +797,7 @@ MuonIDHlt2AlgLong_40c2ff0a INFO Number of counters : 7 |*"nIsMuon" | 4942 | 391 |( 7.911777 +- 0.3839615)% | |*"nIsMuonTight" | 4942 | 184 |( 3.723189 +- 0.2693190)% | |*"nMomentumCut" | 4942 | 4214 |( 85.26912 +- 0.5041489)% | -MuonIDHlt2AlgLong_b2f49f44 INFO Number of counters : 7 +MuonIDHlt2AlgLong_c5deca87 INFO Number of counters : 7 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "BgLL" | 415 | -294.3324 | -0.70923 | 1.0782 | -6.0603 | 0.0000 | | "MuLL" | 415 | -3556.781 | -8.5706 | 3.4597 | -11.513 | -0.13741 | @@ -809,12 +809,12 @@ MuonIDHlt2AlgLong_b2f49f44 INFO Number of counters : 7 MuonPIDV2ToMuonTracks_Downstream... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Nb of input v2 MuonPIDs" | 89 | 959 | 10.775 | -MuonPIDV2ToMuonTracks_Long_a5c54496 INFO Number of counters : 1 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "Nb of input v2 MuonPIDs" | 89 | 5079 | 57.067 | MuonPIDV2ToMuonTracks_Long_b2f2b7ad INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Nb of input v2 MuonPIDs" | 89 | 4942 | 55.528 | +MuonPIDV2ToMuonTracks_Long_fe07e723 INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb of input v2 MuonPIDs" | 89 | 5079 | 57.067 | ParticleRangeFilter_199b0e58 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"#passed" | 89 | 1 |( 1.123596 +- 1.117265)% | @@ -822,57 +822,57 @@ ParticleRangeFilter_199b0e58 INFO Number of counters : 2 ParticleRangeFilter_1b91da00 INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"#passed" | 89 | 0 |( 0.000000 +- 0.000000)% | -ParticleRangeFilter_42745dad INFO Number of counters : 2 +ParticleRangeFilter_1e35e525 INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + |*"#passed" | 89 | 26 |( 29.21348 +- 4.820276)% | + |*"Cut selection efficiency" | 5079 | 41 |(0.8072455 +- 0.1255607)% | +ParticleRangeFilter_2621123d INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + |*"#passed" | 89 | 0 |( 0.000000 +- 0.000000)% | +ParticleRangeFilter_287fb69d INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"#passed" | 89 | 7 |( 7.865169 +- 2.853454)% | |*"Cut selection efficiency" | 415 | 7 |( 1.686747 +- 0.6321308)% | -ParticleRangeFilter_4e58eb5f INFO Number of counters : 2 +ParticleRangeFilter_4502ad01 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"#passed" | 89 | 64 |( 71.91011 +- 4.764035)% | |*"Cut selection efficiency" | 5079 | 195 |( 3.839338 +- 0.2696111)% | -ParticleRangeFilter_5c8c0ff2 INFO Number of counters : 2 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"#passed" | 89 | 10 |( 11.23596 +- 3.347561)% | - |*"Cut selection efficiency" | 5079 | 12 |(0.2362670 +- 0.06812378)% | -ParticleRangeFilter_6de52333 INFO Number of counters : 2 +ParticleRangeFilter_49108d61 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"#passed" | 89 | 69 |( 77.52809 +- 4.424402)% | |*"Cut selection efficiency" | 5770 | 167 |( 2.894281 +- 0.2207013)% | -ParticleRangeFilter_80529eb6 INFO Number of counters : 1 +ParticleRangeFilter_9718b593 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"#passed" | 89 | 0 |( 0.000000 +- 0.000000)% | -ParticleRangeFilter_9c8c5061 INFO Number of counters : 2 + |*"#passed" | 89 | 74 |( 83.14607 +- 3.968044)% | + |*"Cut selection efficiency" | 5079 | 277 |( 5.453829 +- 0.3186278)% | +ParticleRangeFilter_9af95a83 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"#passed" | 89 | 88 |( 98.87640 +- 1.117265)% | |*"Cut selection efficiency" | 5079 | 1228 |( 24.17799 +- 0.6007844)% | -ParticleRangeFilter_aaf46c30 INFO Number of counters : 2 +ParticleRangeFilter_b021e4a1 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"#passed" | 89 | 75 |( 84.26966 +- 3.859310)% | - |*"Cut selection efficiency" | 5079 | 411 |( 8.092144 +- 0.3826652)% | + |*"#passed" | 89 | 10 |( 11.23596 +- 3.347561)% | + |*"Cut selection efficiency" | 5079 | 12 |(0.2362670 +- 0.06812378)% | +ParticleRangeFilter_b924ecb9 INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + |*"#passed" | 89 | 84 |( 94.38202 +- 2.440842)% | + |*"Cut selection efficiency" | 5079 | 620 |( 12.20713 +- 0.4593537)% | ParticleRangeFilter_bd903019 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"#passed" | 89 | 1 |( 1.123596 +- 1.117265)% | |*"Cut selection efficiency" | 2 | 1 |( 50.00000 +- 35.35534)% | -ParticleRangeFilter_beefb1b6 INFO Number of counters : 2 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"#passed" | 89 | 26 |( 29.21348 +- 4.820276)% | - |*"Cut selection efficiency" | 5079 | 41 |(0.8072455 +- 0.1255607)% | -ParticleRangeFilter_da3c6e28 INFO Number of counters : 2 +ParticleRangeFilter_c90c3e9b INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"#passed" | 89 | 74 |( 83.14607 +- 3.968044)% | - |*"Cut selection efficiency" | 5079 | 277 |( 5.453829 +- 0.3186278)% | + |*"#passed" | 89 | 21 |( 23.59551 +- 4.500690)% | + |*"Cut selection efficiency" | 5079 | 32 |(0.6300453 +- 0.1110259)% | ParticleRangeFilter_e127acf7 INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"#passed" | 89 | 0 |( 0.000000 +- 0.000000)% | -ParticleRangeFilter_e50f99f3 INFO Number of counters : 2 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"#passed" | 89 | 84 |( 94.38202 +- 2.440842)% | - |*"Cut selection efficiency" | 5079 | 620 |( 12.20713 +- 0.4593537)% | -ParticleRangeFilter_f1c9f1a2 INFO Number of counters : 2 +ParticleRangeFilter_f21f37e4 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"#passed" | 89 | 21 |( 23.59551 +- 4.500690)% | - |*"Cut selection efficiency" | 5079 | 32 |(0.6300453 +- 0.1110259)% | -PrCloneKillerSeed_99195a45 INFO Number of counters : 2 + |*"#passed" | 89 | 75 |( 84.26966 +- 3.859310)% | + |*"Cut selection efficiency" | 5079 | 411 |( 8.092144 +- 0.3826652)% | +PrCloneKillerSeed_46dd9764 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "nTracksInput" | 89 | 8096 | 90.966 | | "nTracksSelected" | 89 | 3548 | 39.865 | @@ -927,7 +927,7 @@ PrHybridSeeding_4d0337cc INFO Number of counters : 21 | "Created two-hit combinations in case 0" | 26343 | 552986 | 20.992 | 14.317 | 0.0000 | 73.000 | | "Created two-hit combinations in case 1" | 23300 | 689671 | 29.600 | 16.786 | 0.0000 | 91.000 | | "Created two-hit combinations in case 2" | 20201 | 930957 | 46.085 | 26.089 | 1.0000 | 149.00 | -PrKalmanFilterForward_a17c6f0f INFO Number of counters : 6 +PrKalmanFilterForward_4d5b4459 INFO Number of counters : 6 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Pre outlier chi2 cut" | 47 | | "chi2 cut" | 188 | @@ -935,7 +935,7 @@ PrKalmanFilterForward_a17c6f0f INFO Number of counters : 6 | "nOutlierIterations" | 593 | 545 | 0.91906 | | "nTracksInput" | 89 | 640 | 7.1910 | | "nTracksOutput" | 89 | 405 | 4.5506 | -PrKalmanFilterMatch_cfe2412a INFO Number of counters : 6 +PrKalmanFilterMatch_9906135f INFO Number of counters : 6 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Pre outlier chi2 cut" | 78 | | "chi2 cut" | 300 | @@ -1321,12 +1321,12 @@ SciFiTrackForwarding_793576d3 INFO Number of counters : 2 | "Created long tracks" | 89 | 1831 | 20.573 | SeedTrackChecker_ffd9ead8.LoKi::... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | -TBTCForward_f3609e91 INFO Number of counters : 3 +TBTCForward_ebbf1e58 INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"BadInput" | 405 | 0 |( 0.000000 +- 0.000000)% | |*"FitFailed" | 405 | 0 |( 0.000000 +- 0.000000)% | | "FittedBefore" | 405 | -TBTC_Match_9250fbf6 INFO Number of counters : 3 +TBTC_Match_45c201eb INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"BadInput" | 4674 | 0 |( 0.000000 +- 0.000000)% | |*"FitFailed" | 4674 | 0 |( 0.000000 +- 0.000000)% | @@ -1455,7 +1455,7 @@ fromPrMatchTracksV1Tracks_1e9cf955 INFO Number of counters : 1 fromPrSeedingTracksV1Tracks_84cd... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Nb of converted Tracks" | 89 | 8096 | 90.966 | -fromPrSeedingTracksV1Tracks_8aab... INFO Number of counters : 1 +fromPrSeedingTracksV1Tracks_9243... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Nb of converted Tracks" | 89 | 3548 | 39.865 | fromPrUpstreamTracksV1Tracks_965... INFO Number of counters : 1 @@ -1467,7 +1467,7 @@ fromPrVeloTracksV1TracksMerger_c... INFO Number of counters : 1 fromV2MuonPIDV1MuonPIDDownstream... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Nb of Produced MuonPIDs" | 89 | 959 | 10.775 | -fromV2MuonPIDV1MuonPIDLong_4c2b1305 INFO Number of counters : 1 +fromV2MuonPIDV1MuonPIDLong_2a4e607d INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Nb of Produced MuonPIDs" | 89 | 5079 | 57.067 | fromV2MuonPIDV1MuonPIDLong_86c39276 INFO Number of counters : 1 diff --git a/Hlt/RecoConf/tests/refs/hlt2_default_reco_track_master_fitter_full_geometry_with_mcchecking.ref.x86_64_v3-detdesc-opt b/Hlt/RecoConf/tests/refs/hlt2_default_reco_track_master_fitter_full_geometry_with_mcchecking.ref.x86_64_v3-detdesc-opt index 22802a62111..4fe98b6b034 100644 --- a/Hlt/RecoConf/tests/refs/hlt2_default_reco_track_master_fitter_full_geometry_with_mcchecking.ref.x86_64_v3-detdesc-opt +++ b/Hlt/RecoConf/tests/refs/hlt2_default_reco_track_master_fitter_full_geometry_with_mcchecking.ref.x86_64_v3-detdesc-opt @@ -390,7 +390,7 @@ CaloAcceptanceBremAlg_Long_380534a7 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#total tracks" | 89 | 4941 | 55.517 | 30.797 | 3.0000 | 129.00 | | "#tracks in acceptance" | 89 | 3576 | 40.180 | 22.806 | 3.0000 | 103.00 | -CaloAcceptanceBremAlg_Long_f9587749 INFO Number of counters : 2 +CaloAcceptanceBremAlg_Long_48f0441c INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#total tracks" | 89 | 5071 | 56.978 | 32.228 | 3.0000 | 135.00 | | "#tracks in acceptance" | 89 | 3648 | 40.989 | 23.497 | 3.0000 | 107.00 | @@ -402,19 +402,19 @@ CaloAcceptanceEcalAlg_Downstream... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#total tracks" | 89 | 959 | 10.775 | 7.2542 | 0.0000 | 30.000 | | "#tracks in acceptance" | 89 | 748 | 8.4045 | 5.8477 | 0.0000 | 25.000 | +CaloAcceptanceEcalAlg_Long_12686cdb INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#total tracks" | 89 | 5071 | 56.978 | 32.228 | 3.0000 | 135.00 | + | "#tracks in acceptance" | 89 | 4232 | 47.551 | 27.036 | 3.0000 | 114.00 | CaloAcceptanceEcalAlg_Long_b1547b3d INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#total tracks" | 89 | 4941 | 55.517 | 30.797 | 3.0000 | 129.00 | | "#tracks in acceptance" | 89 | 4117 | 46.258 | 25.669 | 3.0000 | 107.00 | -CaloAcceptanceEcalAlg_Long_b5b62afb INFO Number of counters : 2 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#total tracks" | 89 | 5071 | 56.978 | 32.228 | 3.0000 | 135.00 | - | "#tracks in acceptance" | 89 | 4232 | 47.551 | 27.036 | 3.0000 | 114.00 | CaloAcceptanceEcalAlg_Ttrack_41b... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#total tracks" | 89 | 2738 | 30.764 | 16.482 | 0.0000 | 63.000 | | "#tracks in acceptance" | 89 | 2173 | 24.416 | 13.497 | 0.0000 | 50.000 | -CaloAcceptanceEcalAlg_Ttrack_648... INFO Number of counters : 2 +CaloAcceptanceEcalAlg_Ttrack_60a... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#total tracks" | 89 | 3553 | 39.921 | 20.869 | 0.0000 | 78.000 | | "#tracks in acceptance" | 89 | 2812 | 31.596 | 17.111 | 0.0000 | 65.000 | @@ -426,7 +426,7 @@ CaloAcceptanceHcalAlg_Long_a19361f7 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#total tracks" | 89 | 4941 | 55.517 | 30.797 | 3.0000 | 129.00 | | "#tracks in acceptance" | 89 | 3888 | 43.685 | 24.289 | 3.0000 | 100.00 | -CaloAcceptanceHcalAlg_Long_c8c37185 INFO Number of counters : 2 +CaloAcceptanceHcalAlg_Long_b487fa3a INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#total tracks" | 89 | 5071 | 56.978 | 32.228 | 3.0000 | 135.00 | | "#tracks in acceptance" | 89 | 3994 | 44.876 | 25.547 | 3.0000 | 107.00 | @@ -539,7 +539,7 @@ CaloSelectiveBremMatchAlg_Long_1... INFO Number of counters : 3 | "#links in table" | 89 | 1272 | 14.292 | 12.270 | 0.0000 | 65.000 | | "average chi2" | 1272 | 1434.874 | 1.1280 | 2.0508 | 3.4837e-06 | 38.937 | | "average energy (track based)" | 3576 | 67789.88 | 18.957 | 60.108 | 0.0000 | 1322.7 | -CaloSelectiveBremMatchAlg_Long_c... INFO Number of counters : 3 +CaloSelectiveBremMatchAlg_Long_b... INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#links in table" | 89 | 1244 | 13.978 | 12.244 | 0.0000 | 69.000 | | "average chi2" | 1244 | 1359.219 | 1.0926 | 1.9765 | 0.00023622 | 37.830 | @@ -548,15 +548,15 @@ CaloSelectiveElectronMatchAlg_Do... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#links in table" | 89 | 680 | 7.6404 | 5.4839 | 0.0000 | 23.000 | | "average chi2" | 680 | 8439.051 | 12.410 | 25.405 | 0.0069137 | 312.49 | +CaloSelectiveElectronMatchAlg_Lo... INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#links in table" | 89 | 3406 | 38.270 | 23.747 | 2.0000 | 98.000 | + | "average chi2" | 3406 | 18149.78 | 5.3288 | 10.768 | 0.0030280 | 199.24 | CaloSelectiveElectronMatchAlg_Lo... INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#above threshold" | 1 | 1 | 1.0000 | 0.0000 | 1.0000 | 1.0000 | | "#links in table" | 89 | 3281 | 36.865 | 22.415 | 2.0000 | 93.000 | | "average chi2" | 3281 | 17384.59 | 5.2986 | 10.376 | 0.0021891 | 166.31 | -CaloSelectiveElectronMatchAlg_Lo... INFO Number of counters : 2 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#links in table" | 89 | 3406 | 38.270 | 23.747 | 2.0000 | 98.000 | - | "average chi2" | 3406 | 18149.78 | 5.3288 | 10.768 | 0.0030280 | 199.24 | CaloSelectiveTrackMatchAlg_Downs... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#links in table" | 89 | 683 | 7.6742 | 5.4747 | 0.0000 | 23.000 | @@ -564,14 +564,14 @@ CaloSelectiveTrackMatchAlg_Downs... INFO Number of counters : 2 CaloSelectiveTrackMatchAlg_Downs... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#links in table" | 89 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | -CaloSelectiveTrackMatchAlg_Long_... INFO Number of counters : 2 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#links in table" | 89 | 3449 | 38.753 | 23.917 | 2.0000 | 98.000 | - | "average chi2" | 3449 | 569.5602 | 0.16514 | 0.33930 | 3.0782e-06 | 8.8273 | CaloSelectiveTrackMatchAlg_Long_... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#links in table" | 89 | 3325 | 37.360 | 22.583 | 2.0000 | 93.000 | | "average chi2" | 3325 | 568.1113 | 0.17086 | 0.34845 | 1.3610e-06 | 8.8187 | +CaloSelectiveTrackMatchAlg_Long_... INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#links in table" | 89 | 3449 | 38.753 | 23.917 | 2.0000 | 98.000 | + | "average chi2" | 3449 | 569.5602 | 0.16514 | 0.33930 | 3.0782e-06 | 8.8273 | CaloSelectiveTrackMatchAlg_Ttrac... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#links in table" | 89 | 1765 | 19.831 | 11.331 | 0.0000 | 43.000 | @@ -584,54 +584,29 @@ CaloTrackBasedElectronShowerAlg_... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "average DLL" | 748 | -88.75983 | -0.11866 | 0.62523 | -7.3786 | 2.9264 | | "average E/p" | 748 | 47.36003 | 0.063316 | 0.079759 | 0.0000 | 0.93229 | -CaloTrackBasedElectronShowerAlg_... INFO Number of counters : 2 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "average DLL" | 4117 | -293.657 | -0.071328 | 0.12288 | -2.6860 | 0.50555 | - | "average E/p" | 4117 | 29.08871 | 0.0070655 | 0.010057 | 0.0000 | 0.14222 | CaloTrackBasedElectronShowerAlg_... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "average DLL" | 4232 | -286.685 | -0.067742 | 0.12112 | -2.7103 | 0.57343 | | "average E/p" | 4232 | 29.78666 | 0.0070384 | 0.0099639 | 0.0000 | 0.14213 | +CaloTrackBasedElectronShowerAlg_... INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "average DLL" | 4117 | -293.657 | -0.071328 | 0.12288 | -2.6860 | 0.50555 | + | "average E/p" | 4117 | 29.08871 | 0.0070655 | 0.010057 | 0.0000 | 0.14222 | CaloTrackToHcalEnergyAlg_Downstr... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "energy (calo) associated to track" | 664 | 1461870 | 2201.6 | 5529.9 | 0.0000 | 90279. | CaloTrackToHcalEnergyAlg_Long_17... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "energy (calo) associated to track" | 3888 |1.743039e+07 | 4483.1 | 8953.1 | 0.0000 | 1.0735e+05 | -CaloTrackToHcalEnergyAlg_Long_dd... INFO Number of counters : 1 +CaloTrackToHcalEnergyAlg_Long_d3... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "energy (calo) associated to track" | 3994 |1.727407e+07 | 4325.0 | 8614.3 | 0.0000 | 1.0735e+05 | ChargedProtoParticleMaker_991e6d85 INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "CreatedProtos" | 6452 | -ChargedProtoParticleMaker_Long_6... INFO Number of counters : 1 +ChargedProtoParticleMaker_Long_a... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "CreatedProtos" | 5071 | -ClassifyPhotonElectronAlg_219a5ec8 INFO Number of counters : 14 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "Electron Delta(E)" | 4677 | -1733437 | -370.63 | 508.30 | -3871.1 | 1431.7 | - | "Electron Delta(X)" | 4677 | -1641.326 | -0.35094 | 12.436 | -87.161 | 29.057 | - | "Electron Delta(Y)" | 4677 | -532.0901 | -0.11377 | 12.348 | -32.805 | 22.669 | - | "Electron Delta(Z)" | 4677 | 302597.8 | 64.699 | 13.987 | -10.804 | 107.85 | - | "Electron corrected energy" | 4677 |2.686885e+07 | 5744.9 | 6777.3 | 19.715 | 96237. | - | "Electrons pT-rejected after correction" | 46 | - | "Photon Delta(E)" | 9390 | -2099462 | -223.58 | 381.05 | -4040.0 | 818.14 | - | "Photon Delta(X)" | 9390 | -3103.771 | -0.33054 | 12.686 | -91.984 | 32.112 | - | "Photon Delta(Y)" | 9390 | -2519.572 | -0.26833 | 12.607 | -91.966 | 38.582 | - | "Photon Delta(Z)" | 9390 | 513282.1 | 54.663 | 13.006 | -1.1836 | 114.41 | - | "Photon corrected energy" | 9390 |3.091827e+07 | 3292.7 | 5517.5 | 38.834 | 1.2653e+05 | - | "Photons pT-rejected after correction" | 199 | - | "electronHypos" | 89 | 4631 | 52.034 | 26.494 | 6.0000 | 111.00 | - | "photonHypos" | 89 | 9191 | 103.27 | 45.139 | 10.000 | 195.00 | -ClassifyPhotonElectronAlg_219a5e... INFO Number of counters : 7 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | " Inner" | 3975 | 3954.481 | 0.99484 | 0.019962 | 0.96439 | 1.1318 | - | " Middle" | 3716 | 3738.989 | 1.0062 | 0.020770 | 0.97692 | 1.2128 | - | " Outer" | 6334 | 6331.484 | 0.99960 | 0.016593 | 0.97371 | 1.1067 | - | "Pileup offset" | 14025 | 4821429 | 343.77 | 411.43 | 2.6870 | 3722.1 | - | "Pileup scale" | 14067 | 72336 | 5.1422 | 1.8588 | 1.0000 | 9.0000 | - | "Pileup subtracted ratio" | 14025 | 12329.88 | 0.87914 | 0.12692 | 0.00021643 | 0.99896 | - | "Skip negative energy correction" | 42 | ClassifyPhotonElectronAlg_22d51a37 INFO Number of counters : 14 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Electron Delta(E)" | 4668 | -1728845 | -370.36 | 508.69 | -3871.1 | 1431.7 | @@ -657,7 +632,32 @@ ClassifyPhotonElectronAlg_22d51a... INFO Number of counters : 7 | "Pileup scale" | 14305 | 73649 | 5.1485 | 1.8584 | 1.0000 | 9.0000 | | "Pileup subtracted ratio" | 14263 | 12535.83 | 0.87891 | 0.12678 | 0.00021643 | 0.99896 | | "Skip negative energy correction" | 42 | -CloneKillerForward_99920633 INFO Number of counters : 2 +ClassifyPhotonElectronAlg_4e844293 INFO Number of counters : 14 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Electron Delta(E)" | 4677 | -1733437 | -370.63 | 508.30 | -3871.1 | 1431.7 | + | "Electron Delta(X)" | 4677 | -1641.326 | -0.35094 | 12.436 | -87.161 | 29.057 | + | "Electron Delta(Y)" | 4677 | -532.0901 | -0.11377 | 12.348 | -32.805 | 22.669 | + | "Electron Delta(Z)" | 4677 | 302597.8 | 64.699 | 13.987 | -10.804 | 107.85 | + | "Electron corrected energy" | 4677 |2.686885e+07 | 5744.9 | 6777.3 | 19.715 | 96237. | + | "Electrons pT-rejected after correction" | 46 | + | "Photon Delta(E)" | 9390 | -2099462 | -223.58 | 381.05 | -4040.0 | 818.14 | + | "Photon Delta(X)" | 9390 | -3103.771 | -0.33054 | 12.686 | -91.984 | 32.112 | + | "Photon Delta(Y)" | 9390 | -2519.572 | -0.26833 | 12.607 | -91.966 | 38.582 | + | "Photon Delta(Z)" | 9390 | 513282.1 | 54.663 | 13.006 | -1.1836 | 114.41 | + | "Photon corrected energy" | 9390 |3.091827e+07 | 3292.7 | 5517.5 | 38.834 | 1.2653e+05 | + | "Photons pT-rejected after correction" | 199 | + | "electronHypos" | 89 | 4631 | 52.034 | 26.494 | 6.0000 | 111.00 | + | "photonHypos" | 89 | 9191 | 103.27 | 45.139 | 10.000 | 195.00 | +ClassifyPhotonElectronAlg_4e8442... INFO Number of counters : 7 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | " Inner" | 3975 | 3954.481 | 0.99484 | 0.019962 | 0.96439 | 1.1318 | + | " Middle" | 3716 | 3738.989 | 1.0062 | 0.020770 | 0.97692 | 1.2128 | + | " Outer" | 6334 | 6331.484 | 0.99960 | 0.016593 | 0.97371 | 1.1067 | + | "Pileup offset" | 14025 | 4821429 | 343.77 | 411.43 | 2.6870 | 3722.1 | + | "Pileup scale" | 14067 | 72336 | 5.1422 | 1.8588 | 1.0000 | 9.0000 | + | "Pileup subtracted ratio" | 14025 | 12329.88 | 0.87914 | 0.12692 | 0.00021643 | 0.99896 | + | "Skip negative energy correction" | 42 | +CloneKillerForward_d87adb1b INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "nTracksInput" | 89 | 4902 | 55.079 | | "nTracksSelected" | 89 | 631 | 7.0899 | @@ -687,58 +687,58 @@ ForwardTrackChecker_62017966.LoK... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | ForwardUTHitsChecker_b7beb324.Lo... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | -FunctionalDiElectronMaker_ae01d70b INFO Number of counters : 3 +FunctionalDiElectronMaker_de8b454b INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"# passed" | 89 | 0 |( 0.000000 +- 0.000000)% | | "Corrected electron pairs" | 89 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | | "DiElectrons selected" | 89 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | -FunctionalParticleMaker_479e4efe INFO Number of counters : 5 +FunctionalParticleMaker_20e42246 INFO Number of counters : 5 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"# passed" | 89 | 89 |( 100.0000 +- 0.000000)% | |*"# passed ProtoParticle filter" | 5071 | 5071 |( 100.0000 +- 0.000000)% | |*"# passed Track filter" | 5071 | 5071 |( 100.0000 +- 0.000000)% | | "Nb created anti-particles" | 89 | 2547 | 28.618 | 16.463 | 2.0000 | 69.000 | | "Nb created particles" | 89 | 2524 | 28.360 | 16.241 | 1.0000 | 70.000 | -FunctionalParticleMaker_a507a36f INFO Number of counters : 5 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"# passed" | 89 | 77 |( 86.51685 +- 3.620353)% | - |*"# passed ProtoParticle filter" | 5071 | 415 |( 8.183790 +- 0.3849374)% | - |*"# passed Track filter" | 5071 | 5071 |( 100.0000 +- 0.000000)% | - | "Nb created anti-particles" | 89 | 203 | 2.2809 | 2.2980 | 0.0000 | 9.0000 | - | "Nb created particles" | 89 | 212 | 2.3820 | 2.7662 | 0.0000 | 12.000 | -FunctionalParticleMaker_a8599818 INFO Number of counters : 5 +FunctionalParticleMaker_4628204e INFO Number of counters : 5 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"# passed" | 89 | 89 |( 100.0000 +- 0.000000)% | |*"# passed ProtoParticle filter" | 5071 | 5071 |( 100.0000 +- 0.000000)% | |*"# passed Track filter" | 5071 | 5071 |( 100.0000 +- 0.000000)% | | "Nb created anti-particles" | 89 | 2547 | 28.618 | 16.463 | 2.0000 | 69.000 | | "Nb created particles" | 89 | 2524 | 28.360 | 16.241 | 1.0000 | 70.000 | -FunctionalParticleMaker_c925914f INFO Number of counters : 5 +FunctionalParticleMaker_820af8b8 INFO Number of counters : 5 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"# passed" | 89 | 89 |( 100.0000 +- 0.000000)% | |*"# passed ProtoParticle filter" | 5071 | 5071 |( 100.0000 +- 0.000000)% | |*"# passed Track filter" | 5071 | 5071 |( 100.0000 +- 0.000000)% | | "Nb created anti-particles" | 89 | 2547 | 28.618 | 16.463 | 2.0000 | 69.000 | | "Nb created particles" | 89 | 2524 | 28.360 | 16.241 | 1.0000 | 70.000 | -FunctionalParticleMaker_da0c797f INFO Number of counters : 5 +FunctionalParticleMaker_b064547a INFO Number of counters : 5 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"# passed" | 89 | 89 |( 100.0000 +- 0.000000)% | |*"# passed ProtoParticle filter" | 5071 | 5071 |( 100.0000 +- 0.000000)% | |*"# passed Track filter" | 5071 | 5071 |( 100.0000 +- 0.000000)% | | "Nb created anti-particles" | 89 | 2547 | 28.618 | 16.463 | 2.0000 | 69.000 | | "Nb created particles" | 89 | 2524 | 28.360 | 16.241 | 1.0000 | 70.000 | -FutureNeutralProtoPAlg_15fdb312 INFO Number of counters : 4 +FunctionalParticleMaker_b440661a INFO Number of counters : 5 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "Neutral Protos" | 89 | 9893 | 111.16 | 51.029 | 10.000 | 204.00 | - | "Neutral Protos from MergedPi0s" | 89 | 234 | 2.6292 | 2.5894 | 0.0000 | 11.000 | - | "Neutral Protos from Photons" | 89 | 9191 | 103.27 | 45.139 | 10.000 | 195.00 | - | "Neutral Protos from SplitPhotons" | 89 | 468 | 5.2584 | 5.1789 | 0.0000 | 22.000 | + |*"# passed" | 89 | 77 |( 86.51685 +- 3.620353)% | + |*"# passed ProtoParticle filter" | 5071 | 415 |( 8.183790 +- 0.3849374)% | + |*"# passed Track filter" | 5071 | 5071 |( 100.0000 +- 0.000000)% | + | "Nb created anti-particles" | 89 | 203 | 2.2809 | 2.2980 | 0.0000 | 9.0000 | + | "Nb created particles" | 89 | 212 | 2.3820 | 2.7662 | 0.0000 | 12.000 | FutureNeutralProtoPAlg_276fceef INFO Number of counters : 4 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Neutral Protos" | 89 | 10138 | 113.91 | 52.818 | 10.000 | 213.00 | | "Neutral Protos from MergedPi0s" | 89 | 234 | 2.6292 | 2.5894 | 0.0000 | 11.000 | | "Neutral Protos from Photons" | 89 | 9436 | 106.02 | 46.935 | 10.000 | 204.00 | | "Neutral Protos from SplitPhotons" | 89 | 468 | 5.2584 | 5.1789 | 0.0000 | 22.000 | +FutureNeutralProtoPAlg_7d77475d INFO Number of counters : 4 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Neutral Protos" | 89 | 9893 | 111.16 | 51.029 | 10.000 | 204.00 | + | "Neutral Protos from MergedPi0s" | 89 | 234 | 2.6292 | 2.5894 | 0.0000 | 11.000 | + | "Neutral Protos from Photons" | 89 | 9191 | 103.27 | 45.139 | 10.000 | 195.00 | + | "Neutral Protos from SplitPhotons" | 89 | 468 | 5.2584 | 5.1789 | 0.0000 | 22.000 | GraphClustering_72971694 INFO Number of counters : 4 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "# clusters" | 100 | 17042 | 170.42 | 79.915 | 16.000 | 358.00 | @@ -797,7 +797,7 @@ MuonIDHlt2AlgLong_40c2ff0a INFO Number of counters : 7 |*"nIsMuon" | 4941 | 391 |( 7.913378 +- 0.3840359)% | |*"nIsMuonTight" | 4941 | 184 |( 3.723943 +- 0.2693725)% | |*"nMomentumCut" | 4941 | 4210 |( 85.20542 +- 0.5051001)% | -MuonIDHlt2AlgLong_b2f49f44 INFO Number of counters : 7 +MuonIDHlt2AlgLong_c5deca87 INFO Number of counters : 7 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "BgLL" | 415 | -294.3341 | -0.70924 | 1.0783 | -6.0603 | 0.0000 | | "MuLL" | 415 | -3556.782 | -8.5706 | 3.4597 | -11.513 | -0.13741 | @@ -809,12 +809,12 @@ MuonIDHlt2AlgLong_b2f49f44 INFO Number of counters : 7 MuonPIDV2ToMuonTracks_Downstream... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Nb of input v2 MuonPIDs" | 89 | 959 | 10.775 | -MuonPIDV2ToMuonTracks_Long_a5c54496 INFO Number of counters : 1 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "Nb of input v2 MuonPIDs" | 89 | 5071 | 56.978 | MuonPIDV2ToMuonTracks_Long_b2f2b7ad INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Nb of input v2 MuonPIDs" | 89 | 4941 | 55.517 | +MuonPIDV2ToMuonTracks_Long_fe07e723 INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb of input v2 MuonPIDs" | 89 | 5071 | 56.978 | ParticleRangeFilter_199b0e58 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"#passed" | 89 | 1 |( 1.123596 +- 1.117265)% | @@ -822,57 +822,57 @@ ParticleRangeFilter_199b0e58 INFO Number of counters : 2 ParticleRangeFilter_1b91da00 INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"#passed" | 89 | 0 |( 0.000000 +- 0.000000)% | -ParticleRangeFilter_42745dad INFO Number of counters : 2 +ParticleRangeFilter_1e35e525 INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + |*"#passed" | 89 | 27 |( 30.33708 +- 4.872959)% | + |*"Cut selection efficiency" | 5071 | 41 |(0.8085190 +- 0.1257580)% | +ParticleRangeFilter_2621123d INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + |*"#passed" | 89 | 0 |( 0.000000 +- 0.000000)% | +ParticleRangeFilter_287fb69d INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"#passed" | 89 | 8 |( 8.988764 +- 3.031814)% | |*"Cut selection efficiency" | 415 | 8 |( 1.927711 +- 0.6749476)% | -ParticleRangeFilter_4e58eb5f INFO Number of counters : 2 +ParticleRangeFilter_4502ad01 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"#passed" | 89 | 66 |( 74.15730 +- 4.640351)% | |*"Cut selection efficiency" | 5071 | 193 |( 3.805955 +- 0.2686947)% | -ParticleRangeFilter_5c8c0ff2 INFO Number of counters : 2 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"#passed" | 89 | 10 |( 11.23596 +- 3.347561)% | - |*"Cut selection efficiency" | 5071 | 12 |(0.2366397 +- 0.06823113)% | -ParticleRangeFilter_6de52333 INFO Number of counters : 2 +ParticleRangeFilter_49108d61 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"#passed" | 89 | 69 |( 77.52809 +- 4.424402)% | |*"Cut selection efficiency" | 5771 | 167 |( 2.893779 +- 0.2206636)% | -ParticleRangeFilter_80529eb6 INFO Number of counters : 1 +ParticleRangeFilter_9718b593 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"#passed" | 89 | 0 |( 0.000000 +- 0.000000)% | -ParticleRangeFilter_9c8c5061 INFO Number of counters : 2 + |*"#passed" | 89 | 75 |( 84.26966 +- 3.859310)% | + |*"Cut selection efficiency" | 5071 | 272 |( 5.363834 +- 0.3163876)% | +ParticleRangeFilter_9af95a83 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"#passed" | 89 | 88 |( 98.87640 +- 1.117265)% | |*"Cut selection efficiency" | 5071 | 1221 |( 24.07809 +- 0.6004098)% | -ParticleRangeFilter_aaf46c30 INFO Number of counters : 2 +ParticleRangeFilter_b021e4a1 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"#passed" | 89 | 75 |( 84.26966 +- 3.859310)% | - |*"Cut selection efficiency" | 5071 | 411 |( 8.104910 +- 0.3832423)% | + |*"#passed" | 89 | 10 |( 11.23596 +- 3.347561)% | + |*"Cut selection efficiency" | 5071 | 12 |(0.2366397 +- 0.06823113)% | +ParticleRangeFilter_b924ecb9 INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + |*"#passed" | 89 | 84 |( 94.38202 +- 2.440842)% | + |*"Cut selection efficiency" | 5071 | 622 |( 12.26583 +- 0.4606658)% | ParticleRangeFilter_bd903019 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"#passed" | 89 | 1 |( 1.123596 +- 1.117265)% | |*"Cut selection efficiency" | 2 | 1 |( 50.00000 +- 35.35534)% | -ParticleRangeFilter_beefb1b6 INFO Number of counters : 2 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"#passed" | 89 | 27 |( 30.33708 +- 4.872959)% | - |*"Cut selection efficiency" | 5071 | 41 |(0.8085190 +- 0.1257580)% | -ParticleRangeFilter_da3c6e28 INFO Number of counters : 2 +ParticleRangeFilter_c90c3e9b INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"#passed" | 89 | 75 |( 84.26966 +- 3.859310)% | - |*"Cut selection efficiency" | 5071 | 272 |( 5.363834 +- 0.3163876)% | + |*"#passed" | 89 | 21 |( 23.59551 +- 4.500690)% | + |*"Cut selection efficiency" | 5071 | 33 |(0.6507592 +- 0.1129134)% | ParticleRangeFilter_e127acf7 INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"#passed" | 89 | 0 |( 0.000000 +- 0.000000)% | -ParticleRangeFilter_e50f99f3 INFO Number of counters : 2 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"#passed" | 89 | 84 |( 94.38202 +- 2.440842)% | - |*"Cut selection efficiency" | 5071 | 622 |( 12.26583 +- 0.4606658)% | -ParticleRangeFilter_f1c9f1a2 INFO Number of counters : 2 +ParticleRangeFilter_f21f37e4 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"#passed" | 89 | 21 |( 23.59551 +- 4.500690)% | - |*"Cut selection efficiency" | 5071 | 33 |(0.6507592 +- 0.1129134)% | -PrCloneKillerSeed_99195a45 INFO Number of counters : 2 + |*"#passed" | 89 | 75 |( 84.26966 +- 3.859310)% | + |*"Cut selection efficiency" | 5071 | 411 |( 8.104910 +- 0.3832423)% | +PrCloneKillerSeed_46dd9764 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "nTracksInput" | 89 | 8097 | 90.978 | | "nTracksSelected" | 89 | 3553 | 39.921 | @@ -927,7 +927,7 @@ PrHybridSeeding_4d0337cc INFO Number of counters : 21 | "Created two-hit combinations in case 0" | 26343 | 552986 | 20.992 | 14.317 | 0.0000 | 73.000 | | "Created two-hit combinations in case 1" | 23300 | 689671 | 29.600 | 16.786 | 0.0000 | 91.000 | | "Created two-hit combinations in case 2" | 20200 | 930928 | 46.086 | 26.089 | 1.0000 | 149.00 | -PrKalmanFilterForward_a17c6f0f INFO Number of counters : 6 +PrKalmanFilterForward_4d5b4459 INFO Number of counters : 6 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Pre outlier chi2 cut" | 46 | | "chi2 cut" | 188 | @@ -935,7 +935,7 @@ PrKalmanFilterForward_a17c6f0f INFO Number of counters : 6 | "nOutlierIterations" | 585 | 548 | 0.93675 | | "nTracksInput" | 89 | 631 | 7.0899 | | "nTracksOutput" | 89 | 397 | 4.4607 | -PrKalmanFilterMatch_cfe2412a INFO Number of counters : 6 +PrKalmanFilterMatch_9906135f INFO Number of counters : 6 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Pre outlier chi2 cut" | 78 | | "chi2 cut" | 304 | @@ -1323,12 +1323,12 @@ SciFiTrackForwarding_793576d3 INFO Number of counters : 2 | "Created long tracks" | 89 | 1831 | 20.573 | SeedTrackChecker_ffd9ead8.LoKi::... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | -TBTCForward_f3609e91 INFO Number of counters : 3 +TBTCForward_ebbf1e58 INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"BadInput" | 397 | 0 |( 0.000000 +- 0.000000)% | |*"FitFailed" | 397 | 0 |( 0.000000 +- 0.000000)% | | "FittedBefore" | 397 | -TBTC_Match_9250fbf6 INFO Number of counters : 3 +TBTC_Match_45c201eb INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"BadInput" | 4674 | 0 |( 0.000000 +- 0.000000)% | |*"FitFailed" | 4674 | 0 |( 0.000000 +- 0.000000)% | @@ -1457,7 +1457,7 @@ fromPrMatchTracksV1Tracks_1e9cf955 INFO Number of counters : 1 fromPrSeedingTracksV1Tracks_84cd... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Nb of converted Tracks" | 89 | 8097 | 90.978 | -fromPrSeedingTracksV1Tracks_8aab... INFO Number of counters : 1 +fromPrSeedingTracksV1Tracks_9243... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Nb of converted Tracks" | 89 | 3553 | 39.921 | fromPrUpstreamTracksV1Tracks_965... INFO Number of counters : 1 @@ -1469,7 +1469,7 @@ fromPrVeloTracksV1TracksMerger_c... INFO Number of counters : 1 fromV2MuonPIDV1MuonPIDDownstream... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Nb of Produced MuonPIDs" | 89 | 959 | 10.775 | -fromV2MuonPIDV1MuonPIDLong_4c2b1305 INFO Number of counters : 1 +fromV2MuonPIDV1MuonPIDLong_2a4e607d INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Nb of Produced MuonPIDs" | 89 | 5071 | 56.978 | fromV2MuonPIDV1MuonPIDLong_86c39276 INFO Number of counters : 1 diff --git a/Hlt/RecoConf/tests/refs/hlt2_default_reco_track_master_fitter_full_geometry_with_mcchecking.ref.x86_64_v3-opt b/Hlt/RecoConf/tests/refs/hlt2_default_reco_track_master_fitter_full_geometry_with_mcchecking.ref.x86_64_v3-opt index 4149b86c684..73422f16085 100644 --- a/Hlt/RecoConf/tests/refs/hlt2_default_reco_track_master_fitter_full_geometry_with_mcchecking.ref.x86_64_v3-opt +++ b/Hlt/RecoConf/tests/refs/hlt2_default_reco_track_master_fitter_full_geometry_with_mcchecking.ref.x86_64_v3-opt @@ -303,7 +303,7 @@ CaloAcceptanceBremAlg_Long_380534a7 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#total tracks" | 89 | 359 | 4.0337 | 2.9124 | 0.0000 | 12.000 | | "#tracks in acceptance" | 89 | 128 | 1.4382 | 1.5861 | 0.0000 | 7.0000 | -CaloAcceptanceBremAlg_Long_f9587749 INFO Number of counters : 2 +CaloAcceptanceBremAlg_Long_48f0441c INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#total tracks" | 89 | 5085 | 57.135 | 32.292 | 3.0000 | 135.00 | | "#tracks in acceptance" | 89 | 3665 | 41.180 | 23.593 | 3.0000 | 107.00 | @@ -315,19 +315,19 @@ CaloAcceptanceEcalAlg_Downstream... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#total tracks" | 89 | 2646 | 29.730 | 14.584 | 3.0000 | 62.000 | | "#tracks in acceptance" | 89 | 2375 | 26.685 | 13.407 | 3.0000 | 56.000 | +CaloAcceptanceEcalAlg_Long_12686cdb INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#total tracks" | 89 | 5085 | 57.135 | 32.292 | 3.0000 | 135.00 | + | "#tracks in acceptance" | 89 | 4243 | 47.674 | 27.037 | 3.0000 | 116.00 | CaloAcceptanceEcalAlg_Long_b1547b3d INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#total tracks" | 89 | 359 | 4.0337 | 2.9124 | 0.0000 | 12.000 | | "#tracks in acceptance" | 89 | 272 | 3.0562 | 2.2554 | 0.0000 | 10.000 | -CaloAcceptanceEcalAlg_Long_b5b62afb INFO Number of counters : 2 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#total tracks" | 89 | 5085 | 57.135 | 32.292 | 3.0000 | 135.00 | - | "#tracks in acceptance" | 89 | 4243 | 47.674 | 27.037 | 3.0000 | 116.00 | CaloAcceptanceEcalAlg_Ttrack_41b... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#total tracks" | 89 | 5119 | 57.517 | 31.724 | 4.0000 | 115.00 | | "#tracks in acceptance" | 89 | 4010 | 45.056 | 25.333 | 3.0000 | 92.000 | -CaloAcceptanceEcalAlg_Ttrack_648... INFO Number of counters : 2 +CaloAcceptanceEcalAlg_Ttrack_60a... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#total tracks" | 89 | 3541 | 39.787 | 20.858 | 0.0000 | 79.000 | | "#tracks in acceptance" | 89 | 2802 | 31.483 | 17.124 | 0.0000 | 64.000 | @@ -339,7 +339,7 @@ CaloAcceptanceHcalAlg_Long_a19361f7 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#total tracks" | 89 | 359 | 4.0337 | 2.9124 | 0.0000 | 12.000 | | "#tracks in acceptance" | 89 | 273 | 3.0674 | 2.2576 | 0.0000 | 10.000 | -CaloAcceptanceHcalAlg_Long_c8c37185 INFO Number of counters : 2 +CaloAcceptanceHcalAlg_Long_b487fa3a INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#total tracks" | 89 | 5085 | 57.135 | 32.292 | 3.0000 | 135.00 | | "#tracks in acceptance" | 89 | 3997 | 44.910 | 25.419 | 3.0000 | 109.00 | @@ -447,7 +447,7 @@ CaloSelectiveBremMatchAlg_Downst... INFO Number of counters : 3 | "#links in table" | 89 | 542 | 6.0899 | 5.3035 | 0.0000 | 25.000 | | "average chi2" | 542 | 1484.604 | 2.7391 | 3.7311 | 0.00045802 | 31.917 | | "average energy (track based)" | 2095 | 38461.42 | 18.359 | 69.453 | 0.0000 | 1554.0 | -CaloSelectiveBremMatchAlg_Long_3... INFO Number of counters : 3 +CaloSelectiveBremMatchAlg_Long_5... INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#links in table" | 89 | 1265 | 14.213 | 12.496 | 0.0000 | 71.000 | | "average chi2" | 1265 | 1342.658 | 1.0614 | 1.9196 | 0.00049189 | 36.441 | @@ -476,47 +476,47 @@ CaloSelectiveTrackMatchAlg_Downs... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#links in table" | 89 | 1939 | 21.787 | 12.178 | 2.0000 | 49.000 | | "average chi2" | 1939 | 544.9296 | 0.28104 | 0.48552 | 2.8127e-05 | 8.7533 | -CaloSelectiveTrackMatchAlg_Long_... INFO Number of counters : 2 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#links in table" | 89 | 3461 | 38.888 | 24.029 | 2.0000 | 100.00 | - | "average chi2" | 3461 | 571.5162 | 0.16513 | 0.33789 | 7.0025e-06 | 8.8313 | CaloSelectiveTrackMatchAlg_Long_... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#links in table" | 89 | 232 | 2.6067 | 2.3541 | 0.0000 | 11.000 | | "average chi2" | 232 | 530.9041 | 2.2884 | 3.3787 | 0.0012498 | 23.254 | -CaloSelectiveTrackMatchAlg_Ttrac... INFO Number of counters : 2 +CaloSelectiveTrackMatchAlg_Long_... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "#links in table" | 89 | 2343 | 26.326 | 14.671 | 0.0000 | 57.000 | - | "average chi2" | 2343 | 180.2792 | 0.076944 | 0.13040 | 7.2743e-06 | 1.9943 | + | "#links in table" | 89 | 3461 | 38.888 | 24.029 | 2.0000 | 100.00 | + | "average chi2" | 3461 | 571.5162 | 0.16513 | 0.33789 | 7.0025e-06 | 8.8313 | CaloSelectiveTrackMatchAlg_Ttrac... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#links in table" | 89 | 3286 | 36.921 | 21.273 | 0.0000 | 77.000 | | "average chi2" | 3286 | 548.1618 | 0.16682 | 0.30878 | 1.8640e-05 | 8.5837 | +CaloSelectiveTrackMatchAlg_Ttrac... INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "#links in table" | 89 | 2343 | 26.326 | 14.671 | 0.0000 | 57.000 | + | "average chi2" | 2343 | 180.2792 | 0.076944 | 0.13040 | 7.2743e-06 | 1.9943 | CaloTrackBasedElectronShowerAlg_... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "average DLL" | 2375 | -281.5958 | -0.11857 | 0.19774 | -2.6275 | 0.56068 | | "average E/p" | 2375 | 29.92531 | 0.012600 | 0.016434 | 0.0000 | 0.19822 | -CaloTrackBasedElectronShowerAlg_... INFO Number of counters : 2 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "average DLL" | 272 | -279.5688 | -1.0278 | 1.5997 | -10.234 | 1.9716 | - | "average E/p" | 272 | 21.98582 | 0.080830 | 0.10532 | 0.0000 | 0.80219 | CaloTrackBasedElectronShowerAlg_... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "average DLL" | 4243 | -286.4008 | -0.067500 | 0.12107 | -2.7206 | 0.57219 | | "average E/p" | 4243 | 29.80886 | 0.0070254 | 0.0099155 | 0.0000 | 0.14788 | +CaloTrackBasedElectronShowerAlg_... INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "average DLL" | 272 | -279.5688 | -1.0278 | 1.5997 | -10.234 | 1.9716 | + | "average E/p" | 272 | 21.98582 | 0.080830 | 0.10532 | 0.0000 | 0.80219 | CaloTrackToHcalEnergyAlg_Downstr... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "energy (calo) associated to track" | 2247 | 8458344 | 3764.3 | 6792.6 | 0.0000 | 1.0735e+05 | CaloTrackToHcalEnergyAlg_Long_17... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "energy (calo) associated to track" | 273 | 2999158 | 10986. | 16621. | 0.0000 | 1.0735e+05 | -CaloTrackToHcalEnergyAlg_Long_dd... INFO Number of counters : 1 +CaloTrackToHcalEnergyAlg_Long_d3... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "energy (calo) associated to track" | 3997 |1.737217e+07 | 4346.3 | 8611.1 | 0.0000 | 1.0735e+05 | ChargedProtoParticleMaker_577ad7af INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "CreatedProtos" | 3738 | -ChargedProtoParticleMaker_Long_e... INFO Number of counters : 1 +ChargedProtoParticleMaker_Long_f... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "CreatedProtos" | 5085 | ClassifyPhotonElectronAlg_1932537c INFO Number of counters : 14 @@ -544,7 +544,7 @@ ClassifyPhotonElectronAlg_193253... INFO Number of counters : 7 | "Pileup scale" | 14302 | 73703 | 5.1533 | 1.8542 | 1.0000 | 9.0000 | | "Pileup subtracted ratio" | 14260 | 12528 | 0.87854 | 0.12678 | 0.00047684 | 0.99895 | | "Skip negative energy correction" | 42 | -ClassifyPhotonElectronAlg_f1962edb INFO Number of counters : 14 +ClassifyPhotonElectronAlg_2afe5b27 INFO Number of counters : 14 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Electron Delta(E)" | 4677 | -1733962 | -370.74 | 508.49 | -3870.4 | 1429.8 | | "Electron Delta(X)" | 4677 | -1632.477 | -0.34904 | 12.432 | -87.161 | 29.057 | @@ -560,7 +560,7 @@ ClassifyPhotonElectronAlg_f1962edb INFO Number of counters : 14 | "Photons pT-rejected after correction" | 199 | | "electronHypos" | 89 | 4632 | 52.045 | 26.512 | 6.0000 | 111.00 | | "photonHypos" | 89 | 9194 | 103.30 | 45.153 | 10.000 | 195.00 | -ClassifyPhotonElectronAlg_f1962e... INFO Number of counters : 7 +ClassifyPhotonElectronAlg_2afe5b... INFO Number of counters : 7 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | " Inner" | 3978 | 3957.621 | 0.99488 | 0.020008 | 0.96438 | 1.1318 | | " Middle" | 3716 | 3738.964 | 1.0062 | 0.020763 | 0.97692 | 1.2128 | @@ -569,7 +569,7 @@ ClassifyPhotonElectronAlg_f1962e... INFO Number of counters : 7 | "Pileup scale" | 14070 | 72391 | 5.1451 | 1.8554 | 1.0000 | 9.0000 | | "Pileup subtracted ratio" | 14028 | 12330.41 | 0.87899 | 0.12683 | 0.00047684 | 0.99895 | | "Skip negative energy correction" | 42 | -CloneKillerForward_99920633 INFO Number of counters : 2 +CloneKillerForward_d87adb1b INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "nTracksInput" | 89 | 4909 | 55.157 | | "nTracksSelected" | 89 | 646 | 7.2584 | @@ -599,58 +599,58 @@ ForwardTrackChecker_62017966.LoK... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | ForwardUTHitsChecker_b7beb324.Lo... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | -FunctionalDiElectronMaker_d38289be INFO Number of counters : 3 +FunctionalDiElectronMaker_211010b6 INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"# passed" | 89 | 0 |( 0.000000 +- 0.000000)% | | "Corrected electron pairs" | 89 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | | "DiElectrons selected" | 89 | 0 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | -FunctionalParticleMaker_131ae88d INFO Number of counters : 5 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"# passed" | 89 | 89 |( 100.0000 +- 0.000000)% | - |*"# passed ProtoParticle filter" | 5085 | 5085 |( 100.0000 +- 0.000000)% | - |*"# passed Track filter" | 5085 | 5085 |( 100.0000 +- 0.000000)% | - | "Nb created anti-particles" | 89 | 2537 | 28.506 | 16.373 | 1.0000 | 71.000 | - | "Nb created particles" | 89 | 2548 | 28.629 | 16.398 | 2.0000 | 68.000 | -FunctionalParticleMaker_79d087e3 INFO Number of counters : 5 +FunctionalParticleMaker_431627fb INFO Number of counters : 5 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"# passed" | 89 | 89 |( 100.0000 +- 0.000000)% | |*"# passed ProtoParticle filter" | 5085 | 5085 |( 100.0000 +- 0.000000)% | |*"# passed Track filter" | 5085 | 5085 |( 100.0000 +- 0.000000)% | | "Nb created anti-particles" | 89 | 2537 | 28.506 | 16.373 | 1.0000 | 71.000 | | "Nb created particles" | 89 | 2548 | 28.629 | 16.398 | 2.0000 | 68.000 | -FunctionalParticleMaker_af159d75 INFO Number of counters : 5 +FunctionalParticleMaker_802aca72 INFO Number of counters : 5 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"# passed" | 89 | 89 |( 100.0000 +- 0.000000)% | |*"# passed ProtoParticle filter" | 5085 | 5085 |( 100.0000 +- 0.000000)% | |*"# passed Track filter" | 5085 | 5085 |( 100.0000 +- 0.000000)% | | "Nb created anti-particles" | 89 | 2537 | 28.506 | 16.373 | 1.0000 | 71.000 | | "Nb created particles" | 89 | 2548 | 28.629 | 16.398 | 2.0000 | 68.000 | -FunctionalParticleMaker_bc62c3b1 INFO Number of counters : 5 +FunctionalParticleMaker_c23723bf INFO Number of counters : 5 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"# passed" | 89 | 89 |( 100.0000 +- 0.000000)% | |*"# passed ProtoParticle filter" | 5085 | 5085 |( 100.0000 +- 0.000000)% | |*"# passed Track filter" | 5085 | 5085 |( 100.0000 +- 0.000000)% | | "Nb created anti-particles" | 89 | 2537 | 28.506 | 16.373 | 1.0000 | 71.000 | | "Nb created particles" | 89 | 2548 | 28.629 | 16.398 | 2.0000 | 68.000 | -FunctionalParticleMaker_e1f6074c INFO Number of counters : 5 +FunctionalParticleMaker_c84f0945 INFO Number of counters : 5 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"# passed" | 89 | 76 |( 85.39326 +- 3.743635)% | |*"# passed ProtoParticle filter" | 5085 | 380 |( 7.472960 +- 0.3687527)% | |*"# passed Track filter" | 5085 | 5085 |( 100.0000 +- 0.000000)% | | "Nb created anti-particles" | 89 | 171 | 1.9213 | 2.3283 | 0.0000 | 10.000 | | "Nb created particles" | 89 | 209 | 2.3483 | 2.5882 | 0.0000 | 12.000 | -FutureNeutralProtoPAlg_315629c4 INFO Number of counters : 4 +FunctionalParticleMaker_f10de5ad INFO Number of counters : 5 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "Neutral Protos" | 89 | 9896 | 111.19 | 51.041 | 10.000 | 204.00 | - | "Neutral Protos from MergedPi0s" | 89 | 234 | 2.6292 | 2.5894 | 0.0000 | 11.000 | - | "Neutral Protos from Photons" | 89 | 9194 | 103.30 | 45.153 | 10.000 | 195.00 | - | "Neutral Protos from SplitPhotons" | 89 | 468 | 5.2584 | 5.1789 | 0.0000 | 22.000 | + |*"# passed" | 89 | 89 |( 100.0000 +- 0.000000)% | + |*"# passed ProtoParticle filter" | 5085 | 5085 |( 100.0000 +- 0.000000)% | + |*"# passed Track filter" | 5085 | 5085 |( 100.0000 +- 0.000000)% | + | "Nb created anti-particles" | 89 | 2537 | 28.506 | 16.373 | 1.0000 | 71.000 | + | "Nb created particles" | 89 | 2548 | 28.629 | 16.398 | 2.0000 | 68.000 | FutureNeutralProtoPAlg_4e4c691f INFO Number of counters : 4 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Neutral Protos" | 89 | 10198 | 114.58 | 53.432 | 10.000 | 217.00 | | "Neutral Protos from MergedPi0s" | 89 | 234 | 2.6292 | 2.5894 | 0.0000 | 11.000 | | "Neutral Protos from Photons" | 89 | 9496 | 106.70 | 47.533 | 10.000 | 203.00 | | "Neutral Protos from SplitPhotons" | 89 | 468 | 5.2584 | 5.1789 | 0.0000 | 22.000 | +FutureNeutralProtoPAlg_f402bd2e INFO Number of counters : 4 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Neutral Protos" | 89 | 9896 | 111.19 | 51.041 | 10.000 | 204.00 | + | "Neutral Protos from MergedPi0s" | 89 | 234 | 2.6292 | 2.5894 | 0.0000 | 11.000 | + | "Neutral Protos from Photons" | 89 | 9194 | 103.30 | 45.153 | 10.000 | 195.00 | + | "Neutral Protos from SplitPhotons" | 89 | 468 | 5.2584 | 5.1789 | 0.0000 | 22.000 | GraphClustering_72971694 INFO Number of counters : 4 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "# clusters" | 100 | 17042 | 170.42 | 79.915 | 16.000 | 358.00 | @@ -709,7 +709,7 @@ MuonIDHlt2AlgLong_40c2ff0a INFO Number of counters : 7 |*"nIsMuon" | 359 | 22 |( 6.128134 +- 1.265857)% | |*"nIsMuonTight" | 359 | 11 |( 3.064067 +- 0.9095871)% | |*"nMomentumCut" | 359 | 351 |( 97.77159 +- 0.7790348)% | -MuonIDHlt2AlgLong_b2f49f44 INFO Number of counters : 7 +MuonIDHlt2AlgLong_c5deca87 INFO Number of counters : 7 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "BgLL" | 380 | -182.2987 | -0.47973 | 0.90197 | -6.0696 | 0.0000 | | "MuLL" | 380 | -3582.354 | -9.4272 | 3.0266 | -11.513 | -0.13634 | @@ -721,40 +721,43 @@ MuonIDHlt2AlgLong_b2f49f44 INFO Number of counters : 7 MuonPIDV2ToMuonTracks_Downstream... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Nb of input v2 MuonPIDs" | 89 | 2646 | 29.730 | -MuonPIDV2ToMuonTracks_Long_a5c54496 INFO Number of counters : 1 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - | "Nb of input v2 MuonPIDs" | 89 | 5085 | 57.135 | MuonPIDV2ToMuonTracks_Long_b2f2b7ad INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Nb of input v2 MuonPIDs" | 89 | 359 | 4.0337 | +MuonPIDV2ToMuonTracks_Long_fe07e723 INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + | "Nb of input v2 MuonPIDs" | 89 | 5085 | 57.135 | ParticleRangeFilter_199b0e58 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"#passed" | 89 | 1 |( 1.123596 +- 1.117265)% | |*"Cut selection efficiency" | 2 | 1 |( 50.00000 +- 35.35534)% | +ParticleRangeFilter_1a8a91d6 INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + |*"#passed" | 89 | 84 |( 94.38202 +- 2.440842)% | + |*"Cut selection efficiency" | 5085 | 636 |( 12.50737 +- 0.4638989)% | ParticleRangeFilter_1b91da00 INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"#passed" | 89 | 0 |( 0.000000 +- 0.000000)% | -ParticleRangeFilter_1efd28cf INFO Number of counters : 2 +ParticleRangeFilter_29eb2373 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"#passed" | 89 | 68 |( 76.40449 +- 4.500690)% | - |*"Cut selection efficiency" | 5085 | 213 |( 4.188791 +- 0.2809357)% | -ParticleRangeFilter_2005d057 INFO Number of counters : 2 + |*"#passed" | 89 | 88 |( 98.87640 +- 1.117265)% | + |*"Cut selection efficiency" | 5085 | 1242 |( 24.42478 +- 0.6025035)% | +ParticleRangeFilter_488a209b INFO Number of counters : 1 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + |*"#passed" | 89 | 0 |( 0.000000 +- 0.000000)% | +ParticleRangeFilter_57648a95 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"#passed" | 89 | 11 |( 12.35955 +- 3.488660)% | |*"Cut selection efficiency" | 5085 | 12 |(0.2359882 +- 0.06804350)% | -ParticleRangeFilter_3a1ff600 INFO Number of counters : 2 +ParticleRangeFilter_8262df80 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"#passed" | 89 | 84 |( 94.38202 +- 2.440842)% | - |*"Cut selection efficiency" | 5085 | 636 |( 12.50737 +- 0.4638989)% | -ParticleRangeFilter_4ff33eb4 INFO Number of counters : 2 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"#passed" | 89 | 31 |( 34.83146 +- 5.050215)% | - |*"Cut selection efficiency" | 5085 | 49 |(0.9636185 +- 0.1369949)% | -ParticleRangeFilter_5a7b1479 INFO Number of counters : 2 + |*"#passed" | 89 | 69 |( 77.52809 +- 4.424402)% | + |*"Cut selection efficiency" | 5769 | 168 |( 2.912116 +- 0.2213791)% | +ParticleRangeFilter_895e090b INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"#passed" | 89 | 24 |( 26.96629 +- 4.704108)% | |*"Cut selection efficiency" | 5085 | 36 |(0.7079646 +- 0.1175757)% | -ParticleRangeFilter_baf14498 INFO Number of counters : 2 +ParticleRangeFilter_9204cac0 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"#passed" | 89 | 77 |( 86.51685 +- 3.620353)% | |*"Cut selection efficiency" | 5085 | 415 |( 8.161259 +- 0.3839247)% | @@ -762,29 +765,26 @@ ParticleRangeFilter_bd903019 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"#passed" | 89 | 1 |( 1.123596 +- 1.117265)% | |*"Cut selection efficiency" | 2 | 1 |( 50.00000 +- 35.35534)% | -ParticleRangeFilter_da64202b INFO Number of counters : 2 +ParticleRangeFilter_cf532f30 INFO Number of counters : 2 + | Counter | # | sum | mean/eff^* | rms/err^* | min | max | + |*"#passed" | 89 | 31 |( 34.83146 +- 5.050215)% | + |*"Cut selection efficiency" | 5085 | 49 |(0.9636185 +- 0.1369949)% | +ParticleRangeFilter_d111280d INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"#passed" | 89 | 74 |( 83.14607 +- 3.968044)% | |*"Cut selection efficiency" | 5085 | 283 |( 5.565388 +- 0.3214903)% | -ParticleRangeFilter_da66a5d7 INFO Number of counters : 2 +ParticleRangeFilter_d1222576 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"#passed" | 89 | 69 |( 77.52809 +- 4.424402)% | - |*"Cut selection efficiency" | 5769 | 168 |( 2.912116 +- 0.2213791)% | + |*"#passed" | 89 | 68 |( 76.40449 +- 4.500690)% | + |*"Cut selection efficiency" | 5085 | 213 |( 4.188791 +- 0.2809357)% | ParticleRangeFilter_e127acf7 INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"#passed" | 89 | 0 |( 0.000000 +- 0.000000)% | -ParticleRangeFilter_ece6b797 INFO Number of counters : 2 +ParticleRangeFilter_f97585fb INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"#passed" | 89 | 6 |( 6.741573 +- 2.657845)% | |*"Cut selection efficiency" | 380 | 6 |( 1.578947 +- 0.6394933)% | -ParticleRangeFilter_f50abdc6 INFO Number of counters : 1 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"#passed" | 89 | 0 |( 0.000000 +- 0.000000)% | -ParticleRangeFilter_ff5bd3d5 INFO Number of counters : 2 - | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"#passed" | 89 | 88 |( 98.87640 +- 1.117265)% | - |*"Cut selection efficiency" | 5085 | 1242 |( 24.42478 +- 0.6025035)% | -PrCloneKillerSeed_99195a45 INFO Number of counters : 2 +PrCloneKillerSeed_46dd9764 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "nTracksInput" | 89 | 8097 | 90.978 | | "nTracksSelected" | 89 | 3541 | 39.787 | @@ -839,7 +839,7 @@ PrHybridSeeding_4d0337cc INFO Number of counters : 21 | "Created two-hit combinations in case 0" | 26343 | 552986 | 20.992 | 14.317 | 0.0000 | 73.000 | | "Created two-hit combinations in case 1" | 23300 | 689671 | 29.600 | 16.786 | 0.0000 | 91.000 | | "Created two-hit combinations in case 2" | 20200 | 930928 | 46.086 | 26.089 | 1.0000 | 149.00 | -PrKalmanFilterForward_a17c6f0f INFO Number of counters : 6 +PrKalmanFilterForward_4d5b4459 INFO Number of counters : 6 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Pre outlier chi2 cut" | 48 | | "chi2 cut" | 190 | @@ -847,7 +847,7 @@ PrKalmanFilterForward_a17c6f0f INFO Number of counters : 6 | "nOutlierIterations" | 598 | 563 | 0.94147 | | "nTracksInput" | 89 | 646 | 7.2584 | | "nTracksOutput" | 89 | 408 | 4.5843 | -PrKalmanFilterMatch_cfe2412a INFO Number of counters : 6 +PrKalmanFilterMatch_9906135f INFO Number of counters : 6 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Pre outlier chi2 cut" | 79 | | "chi2 cut" | 278 | @@ -1239,12 +1239,12 @@ SciFiTrackForwarding_793576d3 INFO Number of counters : 2 | "Created long tracks" | 89 | 1601 | 17.989 | SeedTrackChecker_ffd9ead8.LoKi::... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | -TBTCForward_f3609e91 INFO Number of counters : 3 +TBTCForward_ebbf1e58 INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"BadInput" | 408 | 0 |( 0.000000 +- 0.000000)% | |*"FitFailed" | 408 | 0 |( 0.000000 +- 0.000000)% | | "FittedBefore" | 408 | -TBTC_Match_9250fbf6 INFO Number of counters : 3 +TBTC_Match_45c201eb INFO Number of counters : 3 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"BadInput" | 4677 | 0 |( 0.000000 +- 0.000000)% | |*"FitFailed" | 4677 | 0 |( 0.000000 +- 0.000000)% | @@ -1376,7 +1376,7 @@ fromPrMatchTracksV1Tracks_1e9cf955 INFO Number of counters : 1 fromPrSeedingTracksV1Tracks_84cd... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Nb of converted Tracks" | 89 | 8097 | 90.978 | -fromPrSeedingTracksV1Tracks_8aab... INFO Number of counters : 1 +fromPrSeedingTracksV1Tracks_9243... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Nb of converted Tracks" | 89 | 3541 | 39.787 | fromPrUpstreamTracksV1Tracks_965... INFO Number of counters : 1 @@ -1388,7 +1388,7 @@ fromPrVeloTracksV1TracksMerger_c... INFO Number of counters : 1 fromV2MuonPIDV1MuonPIDDownstream... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Nb of Produced MuonPIDs" | 89 | 2646 | 29.730 | -fromV2MuonPIDV1MuonPIDLong_4c2b1305 INFO Number of counters : 1 +fromV2MuonPIDV1MuonPIDLong_2a4e607d INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Nb of Produced MuonPIDs" | 89 | 5085 | 57.135 | fromV2MuonPIDV1MuonPIDLong_86c39276 INFO Number of counters : 1 diff --git a/Hlt/RecoConf/tests/refs/hlt2_protoparticles_fastest.ref b/Hlt/RecoConf/tests/refs/hlt2_protoparticles_fastest.ref index 9efca16cece..e4962ed92d4 100644 --- a/Hlt/RecoConf/tests/refs/hlt2_protoparticles_fastest.ref +++ b/Hlt/RecoConf/tests/refs/hlt2_protoparticles_fastest.ref @@ -5525,18 +5525,6 @@ ExtraInfo [ ExtraInfo [ ] } Printing ended -TBTCMatch_dd723256.TrackMasterFi... WARNING Material corrections currently not supported with DD4HEP and thus disabled. -TBTCMatch_dd723256.TrackMasterFi... WARNING See https://gitlab.cern.ch/lhcb/Rec/-/issues/326 for more details -TBTCMatch_dd723256.TrackMasterFi... WARNING TransportSvc is currently incompatible with DD4HEP. Disabling its use and thus any material corrections. -TBTCMatch_dd723256.TrackMasterFi... WARNING See https://gitlab.cern.ch/lhcb/Rec/-/issues/326 for more details -TBTC_Forward_b397f920.TrackMaste... WARNING Material corrections currently not supported with DD4HEP and thus disabled. -TBTC_Forward_b397f920.TrackMaste... WARNING See https://gitlab.cern.ch/lhcb/Rec/-/issues/326 for more details -TBTC_Forward_b397f920.TrackMaste... WARNING TransportSvc is currently incompatible with DD4HEP. Disabling its use and thus any material corrections. -TBTC_Forward_b397f920.TrackMaste... WARNING See https://gitlab.cern.ch/lhcb/Rec/-/issues/326 for more details -TBTC_down_1c3e58b2.TrackMasterFi... WARNING Material corrections currently not supported with DD4HEP and thus disabled. -TBTC_down_1c3e58b2.TrackMasterFi... WARNING See https://gitlab.cern.ch/lhcb/Rec/-/issues/326 for more details -TBTC_down_1c3e58b2.TrackMasterFi... WARNING TransportSvc is currently incompatible with DD4HEP. Disabling its use and thus any material corrections. -TBTC_down_1c3e58b2.TrackMasterFi... WARNING See https://gitlab.cern.ch/lhcb/Rec/-/issues/326 for more details CaloAcceptanceBremAlg_Downstream... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#total tracks" | 8 | 70 | 8.7500 | 5.8041 | 0.0000 | 15.000 | diff --git a/Hlt/RecoConf/tests/refs/hlt2_protoparticles_fastest.ref.x86_64_v3-opt b/Hlt/RecoConf/tests/refs/hlt2_protoparticles_fastest.ref.x86_64_v3-opt index e16f10730c7..70927205042 100644 --- a/Hlt/RecoConf/tests/refs/hlt2_protoparticles_fastest.ref.x86_64_v3-opt +++ b/Hlt/RecoConf/tests/refs/hlt2_protoparticles_fastest.ref.x86_64_v3-opt @@ -5525,18 +5525,6 @@ ExtraInfo [ ExtraInfo [ ] } Printing ended -TBTCMatch_dd723256.TrackMasterFi... WARNING Material corrections currently not supported with DD4HEP and thus disabled. -TBTCMatch_dd723256.TrackMasterFi... WARNING See https://gitlab.cern.ch/lhcb/Rec/-/issues/326 for more details -TBTCMatch_dd723256.TrackMasterFi... WARNING TransportSvc is currently incompatible with DD4HEP. Disabling its use and thus any material corrections. -TBTCMatch_dd723256.TrackMasterFi... WARNING See https://gitlab.cern.ch/lhcb/Rec/-/issues/326 for more details -TBTC_Forward_b397f920.TrackMaste... WARNING Material corrections currently not supported with DD4HEP and thus disabled. -TBTC_Forward_b397f920.TrackMaste... WARNING See https://gitlab.cern.ch/lhcb/Rec/-/issues/326 for more details -TBTC_Forward_b397f920.TrackMaste... WARNING TransportSvc is currently incompatible with DD4HEP. Disabling its use and thus any material corrections. -TBTC_Forward_b397f920.TrackMaste... WARNING See https://gitlab.cern.ch/lhcb/Rec/-/issues/326 for more details -TBTC_down_1c3e58b2.TrackMasterFi... WARNING Material corrections currently not supported with DD4HEP and thus disabled. -TBTC_down_1c3e58b2.TrackMasterFi... WARNING See https://gitlab.cern.ch/lhcb/Rec/-/issues/326 for more details -TBTC_down_1c3e58b2.TrackMasterFi... WARNING TransportSvc is currently incompatible with DD4HEP. Disabling its use and thus any material corrections. -TBTC_down_1c3e58b2.TrackMasterFi... WARNING See https://gitlab.cern.ch/lhcb/Rec/-/issues/326 for more details CaloAcceptanceBremAlg_Downstream... INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "#total tracks" | 8 | 70 | 8.7500 | 5.8041 | 0.0000 | 15.000 | diff --git a/Hlt/RecoConf/tests/refs/hlt2_protoparticles_ttrack_fastest.ref b/Hlt/RecoConf/tests/refs/hlt2_protoparticles_ttrack_fastest.ref index 4baa9aa449f..7bb21c80c3a 100644 --- a/Hlt/RecoConf/tests/refs/hlt2_protoparticles_ttrack_fastest.ref +++ b/Hlt/RecoConf/tests/refs/hlt2_protoparticles_ttrack_fastest.ref @@ -849,18 +849,6 @@ ExtraInfo [ ExtraInfo [ ] } Printing ended -TBTCMatch_dd723256.TrackMasterFi... WARNING Material corrections currently not supported with DD4HEP and thus disabled. -TBTCMatch_dd723256.TrackMasterFi... WARNING See https://gitlab.cern.ch/lhcb/Rec/-/issues/326 for more details -TBTCMatch_dd723256.TrackMasterFi... WARNING TransportSvc is currently incompatible with DD4HEP. Disabling its use and thus any material corrections. -TBTCMatch_dd723256.TrackMasterFi... WARNING See https://gitlab.cern.ch/lhcb/Rec/-/issues/326 for more details -TBTC_Forward_b397f920.TrackMaste... WARNING Material corrections currently not supported with DD4HEP and thus disabled. -TBTC_Forward_b397f920.TrackMaste... WARNING See https://gitlab.cern.ch/lhcb/Rec/-/issues/326 for more details -TBTC_Forward_b397f920.TrackMaste... WARNING TransportSvc is currently incompatible with DD4HEP. Disabling its use and thus any material corrections. -TBTC_Forward_b397f920.TrackMaste... WARNING See https://gitlab.cern.ch/lhcb/Rec/-/issues/326 for more details -TBTC_Seed_1cb74de8.TrackMasterFi... WARNING Material corrections currently not supported with DD4HEP and thus disabled. -TBTC_Seed_1cb74de8.TrackMasterFi... WARNING See https://gitlab.cern.ch/lhcb/Rec/-/issues/326 for more details -TBTC_Seed_1cb74de8.TrackMasterFi... WARNING TransportSvc is currently incompatible with DD4HEP. Disabling its use and thus any material corrections. -TBTC_Seed_1cb74de8.TrackMasterFi... WARNING See https://gitlab.cern.ch/lhcb/Rec/-/issues/326 for more details CloneKillerMatch_2ee65964 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "nTracksInput" | 4 | 313 | 78.250 | diff --git a/Hlt/RecoConf/tests/refs/hlt2_protoparticles_ttrack_fastest.ref.x86_64_v3-opt b/Hlt/RecoConf/tests/refs/hlt2_protoparticles_ttrack_fastest.ref.x86_64_v3-opt index 47d9da2c638..87b5e71c99c 100644 --- a/Hlt/RecoConf/tests/refs/hlt2_protoparticles_ttrack_fastest.ref.x86_64_v3-opt +++ b/Hlt/RecoConf/tests/refs/hlt2_protoparticles_ttrack_fastest.ref.x86_64_v3-opt @@ -853,18 +853,6 @@ ExtraInfo [ ExtraInfo [ ] } Printing ended -TBTCMatch_dd723256.TrackMasterFi... WARNING Material corrections currently not supported with DD4HEP and thus disabled. -TBTCMatch_dd723256.TrackMasterFi... WARNING See https://gitlab.cern.ch/lhcb/Rec/-/issues/326 for more details -TBTCMatch_dd723256.TrackMasterFi... WARNING TransportSvc is currently incompatible with DD4HEP. Disabling its use and thus any material corrections. -TBTCMatch_dd723256.TrackMasterFi... WARNING See https://gitlab.cern.ch/lhcb/Rec/-/issues/326 for more details -TBTC_Forward_b397f920.TrackMaste... WARNING Material corrections currently not supported with DD4HEP and thus disabled. -TBTC_Forward_b397f920.TrackMaste... WARNING See https://gitlab.cern.ch/lhcb/Rec/-/issues/326 for more details -TBTC_Forward_b397f920.TrackMaste... WARNING TransportSvc is currently incompatible with DD4HEP. Disabling its use and thus any material corrections. -TBTC_Forward_b397f920.TrackMaste... WARNING See https://gitlab.cern.ch/lhcb/Rec/-/issues/326 for more details -TBTC_Seed_1cb74de8.TrackMasterFi... WARNING Material corrections currently not supported with DD4HEP and thus disabled. -TBTC_Seed_1cb74de8.TrackMasterFi... WARNING See https://gitlab.cern.ch/lhcb/Rec/-/issues/326 for more details -TBTC_Seed_1cb74de8.TrackMasterFi... WARNING TransportSvc is currently incompatible with DD4HEP. Disabling its use and thus any material corrections. -TBTC_Seed_1cb74de8.TrackMasterFi... WARNING See https://gitlab.cern.ch/lhcb/Rec/-/issues/326 for more details CloneKillerMatch_2ee65964 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "nTracksInput" | 4 | 312 | 78.000 | diff --git a/Hlt/RecoConf/tests/refs/hlt2_ttracks_mva_filter.ref b/Hlt/RecoConf/tests/refs/hlt2_ttracks_mva_filter.ref index b4604cf4aa7..87417604af4 100644 --- a/Hlt/RecoConf/tests/refs/hlt2_ttracks_mva_filter.ref +++ b/Hlt/RecoConf/tests/refs/hlt2_ttracks_mva_filter.ref @@ -1,18 +1,6 @@ DeMagnetConditionCall INFO Loading mag field from DBASE/FieldMap/vXrYpZ/cdf MagneticFieldExtension INFO Scale factor: 1.000000 FTRawBankDecoder INFO Conditions DB is compatible with FT bank version 7 and 8. -TBTCMatch_dd723256.TrackMasterFi... WARNING Material corrections currently not supported with DD4HEP and thus disabled. -TBTCMatch_dd723256.TrackMasterFi... WARNING See https://gitlab.cern.ch/lhcb/Rec/-/issues/326 for more details -TBTCMatch_dd723256.TrackMasterFi... WARNING TransportSvc is currently incompatible with DD4HEP. Disabling its use and thus any material corrections. -TBTCMatch_dd723256.TrackMasterFi... WARNING See https://gitlab.cern.ch/lhcb/Rec/-/issues/326 for more details -TBTC_Forward_b397f920.TrackMaste... WARNING Material corrections currently not supported with DD4HEP and thus disabled. -TBTC_Forward_b397f920.TrackMaste... WARNING See https://gitlab.cern.ch/lhcb/Rec/-/issues/326 for more details -TBTC_Forward_b397f920.TrackMaste... WARNING TransportSvc is currently incompatible with DD4HEP. Disabling its use and thus any material corrections. -TBTC_Forward_b397f920.TrackMaste... WARNING See https://gitlab.cern.ch/lhcb/Rec/-/issues/326 for more details -TBTC_down_1c3e58b2.TrackMasterFi... WARNING Material corrections currently not supported with DD4HEP and thus disabled. -TBTC_down_1c3e58b2.TrackMasterFi... WARNING See https://gitlab.cern.ch/lhcb/Rec/-/issues/326 for more details -TBTC_down_1c3e58b2.TrackMasterFi... WARNING TransportSvc is currently incompatible with DD4HEP. Disabling its use and thus any material corrections. -TBTC_down_1c3e58b2.TrackMasterFi... WARNING See https://gitlab.cern.ch/lhcb/Rec/-/issues/326 for more details CloneKillerMatch_2ee65964 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "nTracksInput" | 4 | 313 | 78.250 | diff --git a/Hlt/RecoConf/tests/refs/hlt2_ttracks_mva_filter.ref.x86_64_v3-opt b/Hlt/RecoConf/tests/refs/hlt2_ttracks_mva_filter.ref.x86_64_v3-opt index 60747567428..4112b328bd5 100644 --- a/Hlt/RecoConf/tests/refs/hlt2_ttracks_mva_filter.ref.x86_64_v3-opt +++ b/Hlt/RecoConf/tests/refs/hlt2_ttracks_mva_filter.ref.x86_64_v3-opt @@ -1,18 +1,6 @@ DeMagnetConditionCall INFO Loading mag field from DBASE/FieldMap/vXrYpZ/cdf MagneticFieldExtension INFO Scale factor: 1.000000 FTRawBankDecoder INFO Conditions DB is compatible with FT bank version 7 and 8. -TBTCMatch_dd723256.TrackMasterFi... WARNING Material corrections currently not supported with DD4HEP and thus disabled. -TBTCMatch_dd723256.TrackMasterFi... WARNING See https://gitlab.cern.ch/lhcb/Rec/-/issues/326 for more details -TBTCMatch_dd723256.TrackMasterFi... WARNING TransportSvc is currently incompatible with DD4HEP. Disabling its use and thus any material corrections. -TBTCMatch_dd723256.TrackMasterFi... WARNING See https://gitlab.cern.ch/lhcb/Rec/-/issues/326 for more details -TBTC_Forward_b397f920.TrackMaste... WARNING Material corrections currently not supported with DD4HEP and thus disabled. -TBTC_Forward_b397f920.TrackMaste... WARNING See https://gitlab.cern.ch/lhcb/Rec/-/issues/326 for more details -TBTC_Forward_b397f920.TrackMaste... WARNING TransportSvc is currently incompatible with DD4HEP. Disabling its use and thus any material corrections. -TBTC_Forward_b397f920.TrackMaste... WARNING See https://gitlab.cern.ch/lhcb/Rec/-/issues/326 for more details -TBTC_down_1c3e58b2.TrackMasterFi... WARNING Material corrections currently not supported with DD4HEP and thus disabled. -TBTC_down_1c3e58b2.TrackMasterFi... WARNING See https://gitlab.cern.ch/lhcb/Rec/-/issues/326 for more details -TBTC_down_1c3e58b2.TrackMasterFi... WARNING TransportSvc is currently incompatible with DD4HEP. Disabling its use and thus any material corrections. -TBTC_down_1c3e58b2.TrackMasterFi... WARNING See https://gitlab.cern.ch/lhcb/Rec/-/issues/326 for more details CloneKillerMatch_2ee65964 INFO Number of counters : 2 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "nTracksInput" | 4 | 312 | 78.000 | -- GitLab From dc1f197a4a3e3ebc21a86bcf37f58a0f2c6ddc43 Mon Sep 17 00:00:00 2001 From: Ross John Hunter Date: Wed, 17 Apr 2024 20:04:58 +0200 Subject: [PATCH 34/51] Hotfix to the doc build --- doc/dump_line_data.py | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/doc/dump_line_data.py b/doc/dump_line_data.py index 8b1d2b438d0..4f65950a077 100644 --- a/doc/dump_line_data.py +++ b/doc/dump_line_data.py @@ -169,19 +169,24 @@ def generate_line_doc(path, bldr, heading=True, autofunction=True): picked_nodes = [] doc_line("Algorithms", lvl=1) for node in line.node.children: - node_name, node_combine, _, _ = node.represent() - - doc_line(f"{node_name} (``{node_combine}``)", lvl=2) - for i, node_ in enumerate(node.children): - if node_.name.startswith("Monitor_"): continue - if hasattr(node_, "typename"): - if "ParticleContainerMerger" in node_.typename or \ - "BodyCombiner" in node_.typename: - picked_nodes.append(node_) + try: + node_name, node_combine, _, _ = node.represent() + + doc_line(f"{node_name} (``{node_combine}``)", lvl=2) + for i, node_ in enumerate(node.children): + if node_.name.startswith("Monitor_"): continue + if hasattr(node_, "typename"): + if "ParticleContainerMerger" in node_.typename or \ + "BodyCombiner" in node_.typename: + picked_nodes.append(node_) + doc_line( + f"{i+1}. {node_.typename if hasattr(node_, 'typename') else ''} ``{node_.name}``", + lvl=3) + doc_line("") + except AttributeError: doc_line( - f"{i+1}. {node_.typename if hasattr(node_, 'typename') else ''} ``{node_.name}``", - lvl=3) - doc_line("") + f"{node} - this node doesnt have a \"represent\" method, so dont know how to display it.", + lvl=2) doc_line("") doc_line("\n") -- GitLab From e624a00f62c62d26ed2a9af8a02c5807a73f6c50 Mon Sep 17 00:00:00 2001 From: Carla Marin Benito Date: Wed, 17 Apr 2024 20:11:01 +0200 Subject: [PATCH 35/51] Update contributing file --- CONTRIBUTING.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0e456fceb10..3f066bbcba5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -37,10 +37,15 @@ you notice things are out of date. ## Branches -The `master` branch is used for Run 3 development and data-taking. This is the -usual branch to open merge requests against. +The `master` branch is used for Run 3 developments. +Dedicated branches exist for the data-taking in a specific year, eg `2024-patches`. How to know which branch your MR should target: +- Fixes and additions for the data-taking in the current year should target the specific `{year}-patches` branch. +By default, it is understood that a MR targeting the current year branch should also be included in `master`, +so the `master` branch is regularly synchronised with the current year branch. +If you are putting in a temporary fix that is not meant as a long-term solution and should not be included in `master`, please state it clearly in the MR description. +- If you are working on a long-term development that is not meant for immediate inclusion in the data taking (e.g., for end-of-year Sprucing), your MR should target the `master` branch. + +In case of doubt, you are encouraged to contact the coordinators of the WP you work within. -Some other branches track code from previous campaigns. Open an issue if you're -unsure what branch to use. [shifterpage]: https://twiki.cern.ch/twiki/bin/viewauth/LHCb/RealTimeAnalysisShifterChecklist -- GitLab From b508f6a4d3b93e5f5a0fc50aa9712ce4b0bdaca3 Mon Sep 17 00:00:00 2001 From: Nicole Skidmore Date: Thu, 18 Apr 2024 11:10:51 +0200 Subject: [PATCH 36/51] Unit test for checking configuration of physics Sprucing --- .../Sprucing_production_PP_24c1.py | 168 +++--------------- .../sprucing_physicsstreams_config_check.py | 129 ++++++++++++++ Hlt/Hlt2Conf/tests/qmtest/hlt2_pp_2024.qmt | 2 + .../sprucing_physicsstreams_config_check.qmt | 25 +++ 4 files changed, 181 insertions(+), 143 deletions(-) create mode 100644 Hlt/Hlt2Conf/tests/options/streaming/sprucing_physicsstreams_config_check.py create mode 100644 Hlt/Hlt2Conf/tests/qmtest/sprucing.qms/sprucing_physicsstreams_config_check.qmt diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/sprucing_settings/Sprucing_production_PP_24c1.py b/Hlt/Hlt2Conf/python/Hlt2Conf/sprucing_settings/Sprucing_production_PP_24c1.py index a6390eddd99..2fd58f2846a 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/sprucing_settings/Sprucing_production_PP_24c1.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/sprucing_settings/Sprucing_production_PP_24c1.py @@ -8,7 +8,8 @@ # granted to it by virtue of its status as an Intergovernmental Organization # # or submit itself to any jurisdiction. # ############################################################################### -## Options for Sprucing 2024 data (c1) +## Options for Sprucing 2024 data - this is a living script +## which is compared to the output of hlt2_pp_2024 and should be updated by line authors when prompted to do so from Moore import Options, run_moore from RecoConf.global_tools import stateProvider_with_simplified_geom @@ -29,11 +30,11 @@ from Hlt2Conf.lines.semileptonic import sprucing_lines as spruce_sl_lines from Hlt2Conf.lines.ift import sprucing_lines as spruce_ift_lines from Hlt2Conf.lines.b_to_open_charm import all_calib_lines as b_to_open_charm_calib_lines -from Hlt2Conf.lines.bandq import hlt2_full_lines as bandq_full_lines #Megzhen fixing -from Hlt2Conf.lines.bnoc import full_lines as bnoc_full_lines #Confirming on `Full` +from Hlt2Conf.lines.bandq import hlt2_full_lines as bandq_full_lines +from Hlt2Conf.lines.bnoc import full_lines as bnoc_full_lines from Hlt2Conf.lines.ift import ift_full_lines from Hlt2Conf.lines.inclusive_detached_dilepton import all_lines as inclusive_detached_dilepton_lines -from Hlt2Conf.lines.qee import hlt2_full_lines as qee_full_lines #Confirm all end in `Full` +from Hlt2Conf.lines.qee import hlt2_full_lines as qee_full_lines from Hlt2Conf.lines.rd import full_lines as rd_full_lines from Hlt2Conf.lines.semileptonic import all_lines as semileptonic_lines from Hlt2Conf.lines.topological_b import all_lines as topological_b_lines @@ -72,39 +73,15 @@ full_modules_for_TISTOS = [ def lines_for_TISTOS(full_modules_for_TISTOS): - """Configure FULL lines - with removals - for TISTOS persistency in exclusive Sprucing + """Configure FULL lines for TISTOS persistency in exclusive Sprucing Note there will hopefully be nicer ways to configure this in the future""" - ##Switch following to import from hlt2_pp_2024.py when !2994 is merged - from Hlt2Conf.settings.hlt2_pp_commissioning import to_remove - full_lines_for_TISTOS = [ linename for module in full_modules_for_TISTOS for linename in module.keys() ] - ## for removing lines that are incompatible with DD4HEP - filtered_full_line_list = [ - line for line in full_lines_for_TISTOS - if not any(substring in line for substring in to_remove) - ] - removed_lines = [ - line for line in full_lines_for_TISTOS - if any(substring in line for substring in to_remove) - ] - print( - f"The following {len(filtered_full_line_list)} FULL lines will have TISTOS info persistency : {filtered_full_line_list}" - ) - print( - f"The following FULL {len(removed_lines)} lines were excluded from the TISTOS info persistency list : {removed_lines}" - ) - return filtered_full_line_list - - -# lines_for_TISTOS = [ -# # Should be configured like https://gitlab.cern.ch/lhcb-datapkg/TurboStreamProd/-/blob/master/python/TurboStreamProd/streams_2018.py -# # in TCK -# ] + return full_lines_for_TISTOS def lines_running(linedict): @@ -164,17 +141,12 @@ turbolinedict = { "b2cc": ["Hlt2B2CC.*Decision"], "charm": ["Hlt2Charm.*Decision", "Hlt2HadInt.*Decision"], "qee": ["^(?!.*Full)Hlt2QEE.*Decision"], - "rd": ["^(?!.*Gamma.*Incl)Hlt2RD.*Decision" - ], #confirm this will not omit any turbo lines + "rd": ["^(?!.*Gamma.*Incl)Hlt2RD.*Decision"], "bnoc": ["^(?!.*Full)Hlt2BnoC.*Decision"], - "ift": ["Hlt2IFTTurbo.*Decision"] + "ift": ["Hlt2IFTTurbo.*Decision"], + "trackeff": ["Hlt2TurboVelo2Long.*Decision"] } -# turbolinedict = { -# # Should be configured like https://gitlab.cern.ch/lhcb-datapkg/TurboStreamProd/-/blob/master/python/TurboStreamProd/streams_2018.py -# # in TCK -# } - def turbo_spruce_production(options: Options): def make_streams(): @@ -203,11 +175,6 @@ def turbo_spruce_production(options: Options): ###################### MDST SPRUCING ON TURCAL STREAM #################### -# turcallinedict = { -# # Should be configured like https://gitlab.cern.ch/lhcb-datapkg/TurboStreamProd/-/blob/master/python/TurboStreamProd/streams_2018.py -# # in TCK -# } - nominal_lines = [ "Hlt2PID_BToJpsiK_JpsiToMuMumTagged_Detached", "Hlt2PID_BToJpsiK_JpsiToMuMupTagged_Detached", @@ -267,6 +234,21 @@ persist_reco_rawbank_lines = [ "Hlt2TrackEff_ZToMuMu_VeloMuon_mup_Match", "Hlt2TrackEff_Velo2Long_B2JpsiK_MuonProbe_VELO", "Hlt2TrackEff_Velo2Long_B2JpsiK_ElectronProbe_VELO", + "Hlt2TurCalVelo2Long_KshortVSoft", + "Hlt2TurCalVelo2Long_KshortHard", + "Hlt2TurCalVelo2Long_Kshort", + "Hlt2TurCalVelo2Long_KshortSoft", + "Hlt2TurCalVelo2Long_KshortVHard", + + ## tbc + "Hlt2PID_PhiToKmKpTagged_Detached", + "Hlt2PID_KsToPiPi_DD", + "Hlt2PID_L0ToPPi_DD_LowPT", + "Hlt2PID_L0ToPPi_DD_MidPT", + "Hlt2PID_OmegaToL0K_L0ToPPi_DDD", + "Hlt2PID_L0ToPPi_DD_HighPT", + "Hlt2PID_PhiToKpKmTagged_Detached", + "Hlt2PID_L0ToPPi_DD_VeryHighPT", ] @@ -318,103 +300,3 @@ def turcal_spruce_production(options: Options): config = run_moore(options, make_streams, public_tools=[]) return config - - -###################### PASSTHROUGH SPRUCING ON NOBIAS STREAM #################### - -#NoBias stream only has the HLT2NoBias line. Require full passthrough with LumiReports - - -def nobias_spruce_production(options: Options): - def make_streams(): - streams = [ - Stream( - "nobias", - lines=[PassLine(name="Passnobias", )], - detectors=DETECTORS), - ] - - return Streams(streams=streams) - - config = run_moore(options, make_streams, public_tools=[]) - return config - - -###################### PASSTHROUGH SPRUCING ON HLT2CALIB STREAM #################### - -hlt2caliblinedict = { - # Should be configured like https://gitlab.cern.ch/lhcb-datapkg/TurboStreamProd/-/blob/master/python/TurboStreamProd/streams_2018.py - # in TCK -} - - -def hlt2calib_spruce_production(options: Options): - def make_streams(): - streams = [ - Stream( - wg, - lines=[ - PassLine( - name="Pass" + wg, - hlt2_filter_code=hlt2caliblinedict[wg], - ) - ], - detectors=DETECTORS) for wg in hlt2caliblinedict - ] - - return Streams(streams=streams) - - for wg in hlt2caliblinedict.keys(): - print( - f"Stream {wg} will contain the lines matching the regex : {hlt2caliblinedict[wg]} \n" - ) - - config = run_moore(options, make_streams, public_tools=[]) - return config - - -###################### PASSTHROUGH SPRUCING ON LUMI STREAM #################### - -lumilinedict = { - # Should be configured like https://gitlab.cern.ch/lhcb-datapkg/TurboStreamProd/-/blob/master/python/TurboStreamProd/streams_2018.py - # in TCK - - #Hlt2LumiCalibration passes Hlt1ODIN1kHzLumiDecision - #Hlt2LumiDefaultRawBanks passes Hlt1ODINLumiDecision - "odinlumi": ["Hlt2LumiDefaultRawBanksDecision"], - "odin1khzlumi": ["Hlt2LumiCalibrationDecision"] -} - - -def lumi_spruce_production(options: Options): - def make_streams(): - streams = [ - Stream( - "odinlumi", - lines=[ - PassLine( - name="Pass" + "odinlumi", - hlt2_filter_code=lumilinedict["odinlumi"], - ) - ], - detectors=DETECTORS), - Stream( - "odin1khzlumi", - lines=[ - PassLine( - name="Pass" + "odin1khzlumi", - hlt2_filter_code=lumilinedict["odin1khzlumi"], - ) - ], - detectors=[]), - ] - - return Streams(streams=streams) - - for stream in lumilinedict.keys(): - print( - f"Stream {stream} will contain the lines matching the regex : {lumilinedict[stream]} \n" - ) - - config = run_moore(options, make_streams, public_tools=[]) - return config diff --git a/Hlt/Hlt2Conf/tests/options/streaming/sprucing_physicsstreams_config_check.py b/Hlt/Hlt2Conf/tests/options/streaming/sprucing_physicsstreams_config_check.py new file mode 100644 index 00000000000..b75fdbe023b --- /dev/null +++ b/Hlt/Hlt2Conf/tests/options/streaming/sprucing_physicsstreams_config_check.py @@ -0,0 +1,129 @@ +############################################################################### +# (c) Copyright 2024 CERN for the benefit of the LHCb Collaboration # +# # +# This software is distributed under the terms of the GNU General Public # +# Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". # +# # +# 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. # +############################################################################### +""" + Verifies whether all the HLT2 TURCAL and TURBO lines are to be streamed in passthrough Sprucing and the HLT2 FULL lines to be included for TISTOS persistency in exclusive Sprucing + + NB: It's very important this is kept up to date with the latest Sprucing production. + Currently uses: Sprucing_production_PP_24c1 +""" + +import ast +from pathlib import Path +import re + +#This needs to be kept up to date for the test to make sense!! +from Hlt2Conf.sprucing_settings.Sprucing_production_PP_24c1 import ( + turbolinedict, nominal_lines, persist_reco_lines, rawbank_lines, + persist_reco_rawbank_lines, full_modules_for_TISTOS, lines_for_TISTOS) + + +def get_hlt2_streaming(hlt2optsdumpfile): + """Takes job opts dump of HLT2 job and returns the streaming configuration. Million thanks to Chris Burr for this!""" + app_config = ast.literal_eval(Path(hlt2optsdumpfile).read_text()) + decisions = dict() + for name, _, nodes, _ in app_config["HLTControlFlowMgr"][ + "CompositeCFNodes"]: + if not name.endswith("_writer"): + continue + if name in decisions: + raise NotImplementedError("Found two nodes named '{name}'") + if len(nodes) != 2 or not nodes[0].startswith( + "HltDecReportsFilter/HltDecReportsFilter_"): + raise NotImplementedError(f"Unexpected nodes for {name}: {nodes}") + decisions[name.removesuffix('_writer')] = [ + line.removesuffix("Decision") + for line in app_config[nodes[0].split("/", 1)[1]]["Lines"] + ] + for name, lines in decisions.items(): + print(f"First 3 lines of stream {name} are ({len(lines)}) :", + *lines[:3], "...") + return decisions + + +#Lumi line not to be streamed to disk +omit_lines = ["Hlt2Lumi"] +#Monitoring and Commissioning lines not to be streamed to disk +turcal_omit_lines = ["Hlt2Monitoring", "Hlt2Commissioning"] + omit_lines + +##Get HLT2 lines by stream ("Decision" suffix added for TURBO for regex compatibility) +decisions = get_hlt2_streaming("hlt2_pp_2024_optsdump.py") +turbo_hlt2_lines = [ + line + "Decision" for line in decisions["turbo"] + if not any(x in line for x in omit_lines) +] +turcal_hlt2_lines = [ + line for line in decisions['turcal'] + if not any(x in line for x in turcal_omit_lines) +] +full_hlt2_lines = [ + line for line in decisions['full'] + if not any(x in line for x in omit_lines) +] + +##Add together all WG regexes +turbo_regex = [ + item for sublist in [list(turbolinedict[wg]) for wg in turbolinedict] + for item in sublist +] +r = re.compile('|'.join(turbo_regex)) +###print(f"r : {r.pattern}") + +#TURBO +##Turbo lines to be spruced are +turbo_spruce_lines = list(filter(r.match, turbo_hlt2_lines)) +##Turbo lines running in HLT2 but not being streamed by Sprucing are +turbo_hlt2_not_spruce = list(set(turbo_hlt2_lines) - set(turbo_spruce_lines)) + +#TURCAL +##Turcal lines to be spruced are +turcal_spruce_lines = nominal_lines + persist_reco_lines + rawbank_lines + persist_reco_rawbank_lines +##Turcal lines running in HLT2 but not being streamed by Sprucing are +turcal_hlt2_not_spruce = list( + set(turcal_hlt2_lines) - set(turcal_spruce_lines)) +##Turcal lines set to be Spruced but not running in HLT2 are +turcal_spruce_not_hlt2 = list( + set(turcal_spruce_lines) - set(turcal_hlt2_lines)) + +#FULL +##Full lines for TISTOS in exclusive sprucing are +full_spruce_lines = lines_for_TISTOS(full_modules_for_TISTOS) +##Full lines running in HLT2 but not with TISTOS persistency in sprucing are +full_hlt2_not_spruce = list(set(full_hlt2_lines) - set(full_spruce_lines)) +##Full lines set for TISTOS persistency but not running in HLT2 are +full_spruce_not_hlt2 = list(set(full_spruce_lines) - set(full_hlt2_lines)) + +has_failed = False + +turbo = (turbo_hlt2_not_spruce, []) +turcal = (turcal_hlt2_not_spruce, turcal_spruce_not_hlt2) +full = (full_hlt2_not_spruce, full_spruce_not_hlt2) +streams = {"TURBO": turbo, "TURCAL": turcal, "FULL": full} + +for stream, lines in streams.items(): + hlt2_not_spruce, spruce_not_hlt2 = lines + if hlt2_not_spruce: + print( + f"ERROR:: Lines {hlt2_not_spruce} of {stream} stream will not be spruced and therefore will not be avaliable on disk. In the case of FULL lines you will not have TISTOS persistency. Please update the Sprucing configuration.\n" + ) + has_failed = True + + elif spruce_not_hlt2: + print( + f"ERROR:: Lines {spruce_not_hlt2} of {stream} stream are due to be spruced but did not run in HLT2. Please update the Sprucing configuration.\n" + ) + has_failed = True + else: + print(f"{stream} stream correctly configured \n") + +if has_failed: + raise RuntimeError("Some lines failed one of the line tests.\n") + +print("SUCCESS:: All lines passed the tests.") diff --git a/Hlt/Hlt2Conf/tests/qmtest/hlt2_pp_2024.qmt b/Hlt/Hlt2Conf/tests/qmtest/hlt2_pp_2024.qmt index bc19d3eff3e..da525a656b3 100644 --- a/Hlt/Hlt2Conf/tests/qmtest/hlt2_pp_2024.qmt +++ b/Hlt/Hlt2Conf/tests/qmtest/hlt2_pp_2024.qmt @@ -17,6 +17,8 @@ gaudirun.py 3600 + -o + hlt2_pp_2024_optsdump.py $MOOREROOT/tests/options/mdf_input_and_conds_hlt2_2024.py $MOOREROOT/tests/options/set_evt_max_to_5.py $HLT2CONFROOT/options/hlt2_pp_2024.py diff --git a/Hlt/Hlt2Conf/tests/qmtest/sprucing.qms/sprucing_physicsstreams_config_check.qmt b/Hlt/Hlt2Conf/tests/qmtest/sprucing.qms/sprucing_physicsstreams_config_check.qmt new file mode 100644 index 00000000000..dccbd412f93 --- /dev/null +++ b/Hlt/Hlt2Conf/tests/qmtest/sprucing.qms/sprucing_physicsstreams_config_check.qmt @@ -0,0 +1,25 @@ + + + + + + hlt2_pp_2024PASS + +python +3600 + + $HLT2CONFROOT/tests/options/streaming/sprucing_physicsstreams_config_check.py + + + true + + \ No newline at end of file -- GitLab From acbf5a9fc92a855bd4358a293044da025115d501 Mon Sep 17 00:00:00 2001 From: Shunan Zhang Date: Thu, 18 Apr 2024 12:29:16 +0200 Subject: [PATCH 37/51] [RTA/DPA BW tests]: Use v2 min bias sample for BW tests --- .../options/sprucing/spruce_all_lines.py | 7 +- .../sprucing_settings/fixed_line_configs.py | 398 ++++++++++++++++++ .../bandwidth/hlt2_bandwidth_input_2024.yaml | 9 +- .../bandwidth/spruce_bandwidth_input.py | 6 +- .../bandwidth/spruce_bandwidth_input.yaml | 15 +- .../bandwidth/spruce_bandwidth_wg_streams.py | 2 - ...test_spruce_alllines_realtime_gaudirun.qmt | 2 +- .../sprucing.qms/test_spruce_bandwidth.qmt | 2 +- 8 files changed, 414 insertions(+), 27 deletions(-) diff --git a/Hlt/Hlt2Conf/options/sprucing/spruce_all_lines.py b/Hlt/Hlt2Conf/options/sprucing/spruce_all_lines.py index a79affbe3e6..0be9613ed31 100644 --- a/Hlt/Hlt2Conf/options/sprucing/spruce_all_lines.py +++ b/Hlt/Hlt2Conf/options/sprucing/spruce_all_lines.py @@ -15,18 +15,15 @@ from Moore import options, run_moore from RecoConf.global_tools import stateProvider_with_simplified_geom, trackMasterExtrapolator_with_simplified_geom from RecoConf.reconstruction_objects import reconstruction -from PyConf.application import metainfo_repos - from Hlt2Conf.lines import sprucing_lines import logging log = logging.getLogger() from Moore.persistence.hlt2_tistos import list_of_full_stream_lines -from Hlt2Conf.sprucing_settings.fixed_line_configs import lines_for_TISTOS_BW_Aug2023 as lines_for_TISTOS +from Hlt2Conf.sprucing_settings.fixed_line_configs import lines_for_TISTOS_BW_March2024 as lines_for_TISTOS -metainfo_repos.global_bind(extra_central_tags=['key-7e074b7d']) -options.input_raw_format = 0.3 +options.input_raw_format = 0.5 options.input_process = 'Hlt2' options.output_file = "spruce_all_lines.dst" options.output_type = "ROOT" diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/sprucing_settings/fixed_line_configs.py b/Hlt/Hlt2Conf/python/Hlt2Conf/sprucing_settings/fixed_line_configs.py index cd5f64e7416..96d60daa484 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/sprucing_settings/fixed_line_configs.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/sprucing_settings/fixed_line_configs.py @@ -10,6 +10,404 @@ ############################################################################### # ## Use this file to define set lists of lines needed for various tests +lines_for_TISTOS_BW_March2024 = [ + 'Hlt2BandQ_BcForSpectroscopy', + 'Hlt2BandQ_BcForSpectroscopySL', + 'Hlt2BandQ_BdForSpectroscopy', + 'Hlt2BandQ_BsForSpectroscopy', + 'Hlt2BandQ_BsForSpectroscopySL', + 'Hlt2BandQ_BuForSpectroscopy', + 'Hlt2BandQ_BudForSpectroscopySL', + 'Hlt2BandQ_DiMuonInc', + 'Hlt2BandQ_DiMuonIncHighPT', + 'Hlt2BandQ_DiMuonSameSignHighMass', + 'Hlt2BandQ_DiMuonSameSignInc', + 'Hlt2BandQ_DiMuonSameSignIncHighPT', + 'Hlt2BandQ_DiMuonSoft', + 'Hlt2BandQ_DiMuonUpsilon', + 'Hlt2BandQ_DoubleCharmOppositeSign', + 'Hlt2BandQ_DoubleCharmSameSign', + 'Hlt2BandQ_DoubleCharm_D0ToHH', + 'Hlt2BandQ_DoubleCharm_D0ToHHHH', + 'Hlt2BandQ_DoubleCharm_D0ToHHHH_D0ToHH', + 'Hlt2BandQ_DoubleCharm_D0ToHHHH_D0ToKsDDHH', + 'Hlt2BandQ_DoubleCharm_D0ToHHHH_D0ToKsLLHH', + 'Hlt2BandQ_DoubleCharm_D0ToKsDDHH', + 'Hlt2BandQ_DoubleCharm_D0ToKsDDHH_D0ToHH', + 'Hlt2BandQ_DoubleCharm_D0ToKsLLHH', + 'Hlt2BandQ_DoubleCharm_D0ToKsLLHH_D0ToHH', + 'Hlt2BandQ_DoubleCharm_D0ToKsLLHH_D0ToKsDDHH', + 'Hlt2BandQ_LbForSpectroscopy', + 'Hlt2BandQ_LbForSpectroscopySL', + 'Hlt2BandQ_OmegabForSpectroscopy', + 'Hlt2BandQ_OmegabForSpectroscopySL', + 'Hlt2BandQ_Xib0ForSpectroscopy', + 'Hlt2BandQ_XibForSpectroscopySL', + 'Hlt2BandQ_XibmForSpectroscopy', + 'Hlt2BnoC_BdToPipPim_NoPID_Full', + 'Hlt2Calib_BdToDmPi_DmToPimPimKp', + 'Hlt2Calib_BdToDsmPi_DsmToKpKmPim', + 'Hlt2CutBasedInclDielectron', + 'Hlt2CutBasedInclDielectronFakeE', + 'Hlt2CutBasedInclDielectronFakeEE', + 'Hlt2CutBasedInclDielectronFakeEEPlusTrack', + 'Hlt2CutBasedInclDielectronFakeEEPlusTrackSS', + 'Hlt2CutBasedInclDielectronFakeEEPlusTwoTrack', + 'Hlt2CutBasedInclDielectronFakeEEPlusTwoTrackSS', + 'Hlt2CutBasedInclDielectronFakeEESS', + 'Hlt2CutBasedInclDielectronFakeEPlusTrack', + 'Hlt2CutBasedInclDielectronFakeEPlusTrackSS', + 'Hlt2CutBasedInclDielectronFakeEPlusTwoTrack', + 'Hlt2CutBasedInclDielectronFakeEPlusTwoTrackSS', + 'Hlt2CutBasedInclDielectronFakeESS', + 'Hlt2CutBasedInclDielectronPlusTrack', + 'Hlt2CutBasedInclDielectronPlusTrackSS', + 'Hlt2CutBasedInclDielectronPlusTwoTrack', + 'Hlt2CutBasedInclDielectronPlusTwoTrackSS', + 'Hlt2CutBasedInclDielectronSS', + 'Hlt2CutBasedInclDimuon', + 'Hlt2CutBasedInclDimuonFakeMu', + 'Hlt2CutBasedInclDimuonFakeMuMu', + 'Hlt2CutBasedInclDimuonFakeMuMuPlusTrack', + 'Hlt2CutBasedInclDimuonFakeMuMuPlusTrackSS', + 'Hlt2CutBasedInclDimuonFakeMuMuPlusTwoTrack', + 'Hlt2CutBasedInclDimuonFakeMuMuPlusTwoTrackSS', + 'Hlt2CutBasedInclDimuonFakeMuMuSS', + 'Hlt2CutBasedInclDimuonFakeMuPlusTrack', + 'Hlt2CutBasedInclDimuonFakeMuPlusTrackSS', + 'Hlt2CutBasedInclDimuonFakeMuPlusTwoTrack', + 'Hlt2CutBasedInclDimuonFakeMuPlusTwoTrackSS', + 'Hlt2CutBasedInclDimuonFakeMuSS', + 'Hlt2CutBasedInclDimuonPlusTrack', + 'Hlt2CutBasedInclDimuonPlusTrackSS', + 'Hlt2CutBasedInclDimuonPlusTwoTrack', + 'Hlt2CutBasedInclDimuonPlusTwoTrackSS', + 'Hlt2CutBasedInclDimuonSS', + 'Hlt2CutBasedInclElectronMuon', + 'Hlt2CutBasedInclElectronMuonFakeE', + 'Hlt2CutBasedInclElectronMuonFakeEMu', + 'Hlt2CutBasedInclElectronMuonFakeEMuPlusTrack', + 'Hlt2CutBasedInclElectronMuonFakeEMuPlusTrackSS', + 'Hlt2CutBasedInclElectronMuonFakeEMuPlusTwoTrack', + 'Hlt2CutBasedInclElectronMuonFakeEMuPlusTwoTrackSS', + 'Hlt2CutBasedInclElectronMuonFakeEMuSS', + 'Hlt2CutBasedInclElectronMuonFakeEPlusTrack', + 'Hlt2CutBasedInclElectronMuonFakeEPlusTrackSS', + 'Hlt2CutBasedInclElectronMuonFakeEPlusTwoTrack', + 'Hlt2CutBasedInclElectronMuonFakeEPlusTwoTrackSS', + 'Hlt2CutBasedInclElectronMuonFakeESS', + 'Hlt2CutBasedInclElectronMuonFakeMu', + 'Hlt2CutBasedInclElectronMuonFakeMuPlusTrack', + 'Hlt2CutBasedInclElectronMuonFakeMuPlusTrackSS', + 'Hlt2CutBasedInclElectronMuonFakeMuPlusTwoTrack', + 'Hlt2CutBasedInclElectronMuonFakeMuPlusTwoTrackSS', + 'Hlt2CutBasedInclElectronMuonFakeMuSS', + 'Hlt2CutBasedInclElectronMuonPlusTrack', + 'Hlt2CutBasedInclElectronMuonPlusTrackSS', + 'Hlt2CutBasedInclElectronMuonPlusTwoTrack', + 'Hlt2CutBasedInclElectronMuonPlusTwoTrackSS', + 'Hlt2CutBasedInclElectronMuonSS', + 'Hlt2IFT_SMOG2D02KK', + 'Hlt2IFT_SMOG2D02KPi', + 'Hlt2IFT_SMOG2D02pipi', + 'Hlt2IFT_SMOG2DY2MuMu', + 'Hlt2IFT_SMOG2DY2MuMuExcludeCCBarHigh', + 'Hlt2IFT_SMOG2DY2MuMuExcludeCCBarIntermediate', + 'Hlt2IFT_SMOG2DY2MuMuExcludeCCBarLow', + 'Hlt2IFT_SMOG2DY2MuMuSS', + 'Hlt2IFT_SMOG2Detached2Body', + 'Hlt2IFT_SMOG2Detached3Body', + 'Hlt2IFT_SMOG2DiKsDDDD', + 'Hlt2IFT_SMOG2DiKsLLDD', + 'Hlt2IFT_SMOG2DiKsLLLL', + 'Hlt2IFT_SMOG2DiLambdaDDDD', + 'Hlt2IFT_SMOG2DiLambdaLLDD', + 'Hlt2IFT_SMOG2DiLambdaLLLL', + 'Hlt2IFT_SMOG2Dpm2kpipi', + 'Hlt2IFT_SMOG2DsToKKPi', + 'Hlt2IFT_SMOG2Dst2KPiPID', + 'Hlt2IFT_SMOG2Etac2ppbar', + 'Hlt2IFT_SMOG2Jpsi2MuMu', + 'Hlt2IFT_SMOG2Jpsi2MuMuSS', + 'Hlt2IFT_SMOG2KS2PiPiDD', + 'Hlt2IFT_SMOG2KS2PiPiLL', + 'Hlt2IFT_SMOG2KS2PiPiLLHighPT', + 'Hlt2IFT_SMOG2KS2PiPiLLLowPT', + 'Hlt2IFT_SMOG2KshortVeloLong_HighPT', + 'Hlt2IFT_SMOG2KshortVeloLong_LowPT', + 'Hlt2IFT_SMOG2Lambda02PPiDD', + 'Hlt2IFT_SMOG2Lambda02PPiLL', + 'Hlt2IFT_SMOG2LcTopKPi', + 'Hlt2IFT_SMOG2LowDiMuon', + 'Hlt2IFT_SMOG2LowDiMuonSS', + 'Hlt2IFT_SMOG2Omega2Lambda0K_ddd', + 'Hlt2IFT_SMOG2Omega2Lambda0K_ddl', + 'Hlt2IFT_SMOG2Omega2Lambda0K_lll', + 'Hlt2IFT_SMOG2Omegac0TopKKPi', + 'Hlt2IFT_SMOG2PIDJpsi2MuMumTagged', + 'Hlt2IFT_SMOG2PIDJpsi2MuMupTagged', + 'Hlt2IFT_SMOG2Passthrough_PV_in_SMOG2', + 'Hlt2IFT_SMOG2Phi2kk', + 'Hlt2IFT_SMOG2Phi2kk_Kmprobe', + 'Hlt2IFT_SMOG2Phi2kk_Kpprobe', + 'Hlt2IFT_SMOG2SingleTrackHighPT', + 'Hlt2IFT_SMOG2SingleTrackVeryHighPT', + 'Hlt2IFT_SMOG2TrackEff_DiMuon_SeedMuon_mum_Match', + 'Hlt2IFT_SMOG2TrackEff_DiMuon_SeedMuon_mum_Tag', + 'Hlt2IFT_SMOG2TrackEff_DiMuon_SeedMuon_mup_Match', + 'Hlt2IFT_SMOG2TrackEff_DiMuon_SeedMuon_mup_Tag', + 'Hlt2IFT_SMOG2TrackEff_DiMuon_VeloMuon_mum_Match', + 'Hlt2IFT_SMOG2TrackEff_DiMuon_VeloMuon_mum_Tag', + 'Hlt2IFT_SMOG2TrackEff_DiMuon_VeloMuon_mup_Match', + 'Hlt2IFT_SMOG2TrackEff_DiMuon_VeloMuon_mup_Tag', + 'Hlt2IFT_SMOG2Ups2MuMu', + 'Hlt2IFT_SMOG2Ups2MuMuSS', + 'Hlt2IFT_SMOG2Xi2Lambda0pi_ddd', + 'Hlt2IFT_SMOG2Xi2Lambda0pi_ddl', + 'Hlt2IFT_SMOG2Xi2Lambda0pi_lll', + 'Hlt2IFT_SMOG2Xic0TopKKPi', + 'Hlt2IFT_SMOG2XicpTopKPi', + 'Hlt2IFT_SMOG2ccTo2Pi2K', + 'Hlt2IFT_SMOG2ccTo4K', + 'Hlt2IFT_SMOG2ccTo4Pi', + 'Hlt2QEE_DiElectronSameSignFull', + 'Hlt2QEE_DiMuonNoIP_prescaledFullEventFull', + 'Hlt2QEE_DiMuonNoIP_prescaledFullEvent_ssFull', + 'Hlt2QEE_DiMuonSameSignFull', + 'Hlt2QEE_DiSVTagJet10GeVFull', + 'Hlt2QEE_DiSVTagJet15GeVFull', + 'Hlt2QEE_DiSVTagJet20GeVFull', + 'Hlt2QEE_DiSVTagJet25GeVFull', + 'Hlt2QEE_DiSVTagJet30GeVFull', + 'Hlt2QEE_DiSVTagJet35GeVFull', + 'Hlt2QEE_DiTopoTagJet10GeVFull', + 'Hlt2QEE_DiTopoTagJet15GeVFull', + 'Hlt2QEE_DiTopoTagJet20GeVFull', + 'Hlt2QEE_DiTopoTagJet25GeVFull', + 'Hlt2QEE_DiTopoTagJet30GeVFull', + 'Hlt2QEE_DiTopoTagJet35GeVFull', + 'Hlt2QEE_SingleHighPtElectronFull', + 'Hlt2QEE_SingleHighPtElectronIsoFull', + 'Hlt2QEE_SingleHighPtElectronPrescaleFull', + 'Hlt2QEE_SingleHighPtMuonFull', + 'Hlt2QEE_SingleHighPtMuonIsoFull', + 'Hlt2QEE_SingleHighPtMuonNoMuIDFull', + 'Hlt2QEE_SingleHighPtMuonPrescaleFull', + 'Hlt2QEE_SingleVHighPtElectronFull', + 'Hlt2QEE_ZToEEFull', + 'Hlt2QEE_ZToMuMuFull', + 'Hlt2QEE_ZToMuMu_DoubleNoMuIDFull', + 'Hlt2QEE_ZToMuMu_SingleNoMuIDFull', + 'Hlt2RD_BToHHGamma_GammaToEE_Incl', + 'Hlt2RD_BToHHGamma_Incl', + 'Hlt2RD_BToHHHGamma_GammaToEE_Incl', + 'Hlt2RD_BToHHHGamma_Incl', + 'Hlt2SLB_B0ToDpENu_DpToKPiPi', + 'Hlt2SLB_B0ToDpENu_DpToKPiPi_FakeElectron', + 'Hlt2SLB_B0ToDpMuNu_DpToKPiPi', + 'Hlt2SLB_B0ToDpMuNu_DpToKPiPi_FakeMuon', + 'Hlt2SLB_B0ToDpTauNu_DpToKPiPi_FakeElectron', + 'Hlt2SLB_B0ToDpTauNu_DpToKPiPi_FakeMuon', + 'Hlt2SLB_B0ToDpTauNu_DpToKPiPi_TauToENuNu', + 'Hlt2SLB_B0ToDpTauNu_DpToKPiPi_TauToMuNuNu', + 'Hlt2SLB_B0ToDpTauNu_DpToKPiPi_TauToPiPiPiNu', + 'Hlt2SLB_B2EEENu', + 'Hlt2SLB_B2EEENu_OneFakeElectron', + 'Hlt2SLB_B2EEENu_SS', + 'Hlt2SLB_B2EEENu_TriFakeElectron', + 'Hlt2SLB_B2EMuMuNu', + 'Hlt2SLB_B2EMuMuNu_FakeElectron', + 'Hlt2SLB_B2EMuMuNu_SS', + 'Hlt2SLB_B2MuEENu', + 'Hlt2SLB_B2MuEENu_FakeMuon', + 'Hlt2SLB_B2MuEENu_SS', + 'Hlt2SLB_B2MuMuMuNu', + 'Hlt2SLB_B2MuMuMuNu_OneFakeMuon', + 'Hlt2SLB_B2MuMuMuNu_SS', + 'Hlt2SLB_B2MuMuMuNu_TriFakeMuon', + 'Hlt2SLB_B2PPbarMuNu', + 'Hlt2SLB_B2PPbarMuNu_FakeMu', + 'Hlt2SLB_B2PPbarMuNu_FakeP', + 'Hlt2SLB_B2PPbarMuNu_SS', + 'Hlt2SLB_B2TauEENu_3Pi', + 'Hlt2SLB_B2TauEENu_3Pi_SS', + 'Hlt2SLB_B2TauMuMuNu_3Pi', + 'Hlt2SLB_B2TauMuMuNu_3Pi_SS', + 'Hlt2SLB_B2XuMuNuB02Pi', + 'Hlt2SLB_B2XuMuNuB02pi_NoPIDMu', + 'Hlt2SLB_B2XuMuNuB02pi_NoPIDPi', + 'Hlt2SLB_B2XuMuNuBs2K', + 'Hlt2SLB_B2XuMuNuBs2K_NoPIDK', + 'Hlt2SLB_B2XuMuNuBs2K_NoPIDMu', + 'Hlt2SLB_B2XuTauNu_HadronicB02Pi', + 'Hlt2SLB_B2XuTauNu_HadronicBs2K', + 'Hlt2SLB_B2XuTauNu_MuonicBs2K', + 'Hlt2SLB_B2XuTauNu_MuonicBs2K_NoPIDK', + 'Hlt2SLB_B2XuTauNu_MuonicBs2K_NoPIDMu', + 'Hlt2SLB_BToDPiPi_DToKPiPi_BTracking', + 'Hlt2SLB_BToTauNu_TauToPiPiPiNu_BTracking', + 'Hlt2SLB_BcToBsENu_BsToDsK', + 'Hlt2SLB_BcToBsENu_BsToDsPi', + 'Hlt2SLB_BcToBsENu_BsToJpsiPhi', + 'Hlt2SLB_BcToBsENu_BsToKK', + 'Hlt2SLB_BcToBsENu_BsToKPi', + 'Hlt2SLB_BcToBsENu_BsToPiPi', + 'Hlt2SLB_BcToBsK_BsToDsK', + 'Hlt2SLB_BcToBsK_BsToDsPi', + 'Hlt2SLB_BcToBsK_BsToJpsiPhi', + 'Hlt2SLB_BcToBsK_BsToKK', + 'Hlt2SLB_BcToBsK_BsToKPi', + 'Hlt2SLB_BcToBsK_BsToPiPi', + 'Hlt2SLB_BcToBsMuNu_BsToDsK', + 'Hlt2SLB_BcToBsMuNu_BsToDsPi', + 'Hlt2SLB_BcToBsMuNu_BsToJpsiPhi', + 'Hlt2SLB_BcToBsMuNu_BsToKK', + 'Hlt2SLB_BcToBsMuNu_BsToKPi', + 'Hlt2SLB_BcToBsMuNu_BsToPiPi', + 'Hlt2SLB_BcToBsPi_BsToDsK', + 'Hlt2SLB_BcToBsPi_BsToDsPi', + 'Hlt2SLB_BcToBsPi_BsToJpsiPhi', + 'Hlt2SLB_BcToBsPi_BsToKK', + 'Hlt2SLB_BcToBsPi_BsToKPi', + 'Hlt2SLB_BcToBsPi_BsToPiPi', + 'Hlt2SLB_BcToD0ENu_D0ToKPi', + 'Hlt2SLB_BcToD0ENu_D0ToKPi_FakeElectron', + 'Hlt2SLB_BcToD0MuNu_D0ToKPi', + 'Hlt2SLB_BcToD0MuNu_D0ToKPi_FakeMuon', + 'Hlt2SLB_BcToJpsiENu_JpsiToMuMu', + 'Hlt2SLB_BcToJpsiENu_JpsiToMuMu_FakeElectron', + 'Hlt2SLB_BcToJpsiMuNu_JpsiToMuMu', + 'Hlt2SLB_BcToJpsiMuNu_JpsiToMuMu_FakeMuon', + 'Hlt2SLB_BcToJpsiTauNu_JpsiToMuMu_FakeElectron', + 'Hlt2SLB_BcToJpsiTauNu_JpsiToMuMu_FakeMuon', + 'Hlt2SLB_BcToJpsiTauNu_JpsiToMuMu_TauToENuNu', + 'Hlt2SLB_BcToJpsiTauNu_JpsiToMuMu_TauToMuNuNu', + 'Hlt2SLB_BcToJpsiTauNu_JpsiToMuMu_TauToPiPiPiNu', + 'Hlt2SLB_BsToDsENu_DsToKKPi', + 'Hlt2SLB_BsToDsENu_DsToKKPi_FakeElectron', + 'Hlt2SLB_BsToDsMuNu_DsToKKPi', + 'Hlt2SLB_BsToDsMuNu_DsToKKPi_FakeMuon', + 'Hlt2SLB_BsToDsTauNu_DpToKKPi_FakeElectron', + 'Hlt2SLB_BsToDsTauNu_DpToKKPi_FakeMuon', + 'Hlt2SLB_BsToDsTauNu_DsToKKPi_TauToENuNu', + 'Hlt2SLB_BsToDsTauNu_DsToKKPi_TauToMuNuNu', + 'Hlt2SLB_BsToDsTauNu_DsToKKPi_TauToPiPiPiNu', + 'Hlt2SLB_BsToDsstMuNu_DsstToDsGamma_DsToKKPi_Gamma2EE', + 'Hlt2SLB_BuToD0ENu_D0ToK3Pi', + 'Hlt2SLB_BuToD0ENu_D0ToK3Pi_FakeElectron', + 'Hlt2SLB_BuToD0ENu_D0ToKPi', + 'Hlt2SLB_BuToD0ENu_D0ToKPi_FakeElectron', + 'Hlt2SLB_BuToD0MuNu_D0ToK3Pi', + 'Hlt2SLB_BuToD0MuNu_D0ToK3Pi_FakeMuon', + 'Hlt2SLB_BuToD0MuNu_D0ToKPi', + 'Hlt2SLB_BuToD0MuNu_D0ToKPi_FakeMuon', + 'Hlt2SLB_BuToD0TauNu_D0ToK3Pi_FakeElectron', + 'Hlt2SLB_BuToD0TauNu_D0ToK3Pi_FakeMuon', + 'Hlt2SLB_BuToD0TauNu_D0ToK3Pi_TauToENuNu', + 'Hlt2SLB_BuToD0TauNu_D0ToK3Pi_TauToMuNuNu', + 'Hlt2SLB_BuToD0TauNu_D0ToK3Pi_TauToPiPiPiNu', + 'Hlt2SLB_BuToD0TauNu_D0ToKPi_FakeElectron', + 'Hlt2SLB_BuToD0TauNu_D0ToKPi_FakeMuon', + 'Hlt2SLB_BuToD0TauNu_D0ToKPi_TauToENuNu', + 'Hlt2SLB_BuToD0TauNu_D0ToKPi_TauToMuNuNu', + 'Hlt2SLB_BuToD0TauNu_D0ToKPi_TauToPiPiPiNu', + 'Hlt2SLB_Lb2pMuNuFakeSSmu', + 'Hlt2SLB_Lb2pMuNuFakeSSp', + 'Hlt2SLB_Lb2pMuNuFakemu', + 'Hlt2SLB_Lb2pMuNuFakep', + 'Hlt2SLB_Lb2pMuNuSS', + 'Hlt2SLB_LbToLcENu_LcToLambdaPiDD', + 'Hlt2SLB_LbToLcENu_LcToLambdaPiDD_FakeElectron', + 'Hlt2SLB_LbToLcENu_LcToLambdaPiLL', + 'Hlt2SLB_LbToLcENu_LcToLambdaPiLL_FakeElectron', + 'Hlt2SLB_LbToLcENu_LcToPKPi', + 'Hlt2SLB_LbToLcENu_LcToPKPi_FakeElectron', + 'Hlt2SLB_LbToLcENu_LcToPKSDD', + 'Hlt2SLB_LbToLcENu_LcToPKSDD_FakeElectron', + 'Hlt2SLB_LbToLcENu_LcToPKSLL', + 'Hlt2SLB_LbToLcENu_LcToPKSLL_FakeElectron', + 'Hlt2SLB_LbToLcMuNu_LcToLambdaPiDD', + 'Hlt2SLB_LbToLcMuNu_LcToLambdaPiDD_FakeMuon', + 'Hlt2SLB_LbToLcMuNu_LcToLambdaPiLL', + 'Hlt2SLB_LbToLcMuNu_LcToLambdaPiLL_FakeMuon', + 'Hlt2SLB_LbToLcMuNu_LcToPKPi', + 'Hlt2SLB_LbToLcMuNu_LcToPKPi_FakeMuon', + 'Hlt2SLB_LbToLcMuNu_LcToPKSDD', + 'Hlt2SLB_LbToLcMuNu_LcToPKSDD_FakeMuon', + 'Hlt2SLB_LbToLcMuNu_LcToPKSLL', + 'Hlt2SLB_LbToLcMuNu_LcToPKSLL_FakeMuon', + 'Hlt2SLB_LbToLcTauNu_LcToLambdaPiDD_FakeElectron', + 'Hlt2SLB_LbToLcTauNu_LcToLambdaPiDD_FakeMuon', + 'Hlt2SLB_LbToLcTauNu_LcToLambdaPiDD_TautoENuNu', + 'Hlt2SLB_LbToLcTauNu_LcToLambdaPiDD_TautoMuNuNu', + 'Hlt2SLB_LbToLcTauNu_LcToLambdaPiLL_FakeElectron', + 'Hlt2SLB_LbToLcTauNu_LcToLambdaPiLL_FakeMuon', + 'Hlt2SLB_LbToLcTauNu_LcToLambdaPiLL_TautoENuNu', + 'Hlt2SLB_LbToLcTauNu_LcToLambdaPiLL_TautoMuNuNu', + 'Hlt2SLB_LbToLcTauNu_LcToPKPi_FakeElectron', + 'Hlt2SLB_LbToLcTauNu_LcToPKPi_FakeMuon', + 'Hlt2SLB_LbToLcTauNu_LcToPKPi_TauToENuNu', + 'Hlt2SLB_LbToLcTauNu_LcToPKPi_TauToMuNuNu', + 'Hlt2SLB_LbToLcTauNu_LcToPKSDD_FakeElectron', + 'Hlt2SLB_LbToLcTauNu_LcToPKSDD_FakeMuon', + 'Hlt2SLB_LbToLcTauNu_LcToPKSDD_TautoENuNu', + 'Hlt2SLB_LbToLcTauNu_LcToPKSDD_TautoMuNuNu', + 'Hlt2SLB_LbToLcTauNu_LcToPKSLL_FakeElectron', + 'Hlt2SLB_LbToLcTauNu_LcToPKSLL_FakeMuon', + 'Hlt2SLB_LbToLcTauNu_LcToPKSLL_TautoENuNu', + 'Hlt2SLB_LbToLcTauNu_LcToPKSLL_TautoMuNuNu', + 'Hlt2SLB_LbToLcTauNu_LcTopKPi_TauToPiPiPiNu', + 'Hlt2SLB_LbToPMuNu', + 'Hlt2SLB_LbTopTauNu_TauToPiPiPiNu', + 'Hlt2SLB_OmegabToOmegacMuNu_OmegacToPKKPi', + 'Hlt2SLB_OmegabToOmegacMuNu_OmegacToPKKPi_FakeMuon', + 'Hlt2SLB_OmegabToOmegacTauNu_OmegacToPKKPi_FakeMuon', + 'Hlt2SLB_OmegabToOmegacTauNu_OmegacToPKKPi_TauToMuNuNu', + 'Hlt2SLB_Xib0ToXicplusMuNu_XicplusTopKPi', + 'Hlt2SLB_Xib0ToXicplusMuNu_XicplusTopKPi_FakeMuon', + 'Hlt2SLB_Xib0ToXicplusTauNu_XicplusTopKPi_FakeMuon', + 'Hlt2SLB_Xib0ToXicplusTauNu_XicplusTopKPi_TauToMuNuNu', + 'Hlt2SLB_XibminusToXic0MuNu_Xic0TopKKPi', + 'Hlt2SLB_XibminusToXic0MuNu_Xic0TopKKPi_FakeMuon', + 'Hlt2SLB_XibminusToXic0TauNu_Xic0TopKKPi_FakeMuon', + 'Hlt2SLB_XibminusToXic0TauNu_Xic0TopKKPi_TauToMuNuNu', + 'Hlt2Topo2Body', + 'Hlt2Topo3Body', + 'Hlt2TopoMu2Body', + 'Hlt2TopoMu3Body', + 'Hlt2_DiMuonJPsiTight', + 'Hlt2_DiMuonPsi2STight', + 'Hlt2_InclDetDiElectron', + 'Hlt2_InclDetDiElectron_3Body', + 'Hlt2_InclDetDiElectron_3Body_SS', + 'Hlt2_InclDetDiElectron_4Body', + 'Hlt2_InclDetDiElectron_4Body_PionSS', + 'Hlt2_InclDetDiElectron_4Body_SS', + 'Hlt2_InclDetDiElectron_SS', + 'Hlt2_InclDetDiElectron_neutral', + 'Hlt2_InclDetDiElectron_neutral_SS', + 'Hlt2_InclDetDiMuE', + 'Hlt2_InclDetDiMuE_3Body', + 'Hlt2_InclDetDiMuE_3Body_SS', + 'Hlt2_InclDetDiMuE_4Body', + 'Hlt2_InclDetDiMuE_4Body_PionSS', + 'Hlt2_InclDetDiMuE_4Body_SS', + 'Hlt2_InclDetDiMuE_SS', + 'Hlt2_InclDetDiMuE_neutral', + 'Hlt2_InclDetDiMuE_neutral_SS', + 'Hlt2_InclDetDiMuon', + 'Hlt2_InclDetDiMuon_3Body', + 'Hlt2_InclDetDiMuon_3Body_SS', + 'Hlt2_InclDetDiMuon_4Body', + 'Hlt2_InclDetDiMuon_4Body_PionSS', + 'Hlt2_InclDetDiMuon_4Body_SS', + 'Hlt2_InclDetDiMuon_SS', + 'Hlt2_InclDetDiMuon_neutral', + 'Hlt2_InclDetDiMuon_neutral_SS', + 'Hlt2_JpsiToMuMuDetached', + 'Hlt2_Psi2SToMuMuDetached', +] + ##Define FULL lines for TISTOS taken from https://gitlab.cern.ch/lhcb-dpa/project/-/issues/272#note_7032725 lines_for_TISTOS_BW_Aug2023 = [ 'Hlt2CutBasedInclDielectron', 'Hlt2CutBasedInclDielectronPlusTrack', diff --git a/Hlt/Hlt2Conf/tests/options/bandwidth/hlt2_bandwidth_input_2024.yaml b/Hlt/Hlt2Conf/tests/options/bandwidth/hlt2_bandwidth_input_2024.yaml index a115713f141..37818564142 100644 --- a/Hlt/Hlt2Conf/tests/options/bandwidth/hlt2_bandwidth_input_2024.yaml +++ b/Hlt/Hlt2Conf/tests/options/bandwidth/hlt2_bandwidth_input_2024.yaml @@ -1,13 +1,12 @@ # Periodic BW tests input config for using 2024 conditions HLT1-filtered min. bias -testfiledb_key: expected_2024_min_bias_hlt1_filtered -input_type: 'MDF' +testfiledb_key: expected_2024_min_bias_hlt1_filtered_v2 input_raw_format: 0.5 -input_rate: 1140 # kHz +input_type: 'MDF' +input_rate: 1000 # kHz production_bookkeeping_path: "" nu: 7.6 velo_radial_opening: 5.1 # in mm filtering_info_links: # HLT1 bandwidth division was the "post-patch unweighted scenario" described here - https://indico.cern.ch/event/1332271/contributions/5710654/attachments/2778230/4842174/HLT1_BW_Division_LHCb_UK_Update.pdf - # This gives a 1 MHz output rate, then + 140 kHz of fixed lines to give 1.14 MHz as described here: - - https://indico.cern.ch/event/1361635/contributions/5753029/attachments/2780757/4846644/bandwidth_division_jan15.pdf + # v2 update in March 2024, input rate 1 MHz \ No newline at end of file diff --git a/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_input.py b/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_input.py index cac5ec0075c..a11c22bcc9f 100644 --- a/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_input.py +++ b/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_input.py @@ -21,14 +21,12 @@ If updating, please also update spruce_bandwidth_input.yaml from Moore import options from Moore.persistence.hlt2_tistos import list_of_full_stream_lines from Hlt2Conf.sprucing_settings.fixed_line_configs import lines_for_TISTOS_BW_Aug2023 as lines_for_TISTOS -from RecoConf.calorimeter_reconstruction import make_digits options.set_input_and_conds_from_testfiledb( - 'upgrade-minbias-hlt2-full-output-Dec2023') -options.input_raw_format = 0.3 + 'expected_2024_min_bias_hlt2_full_stream_v2') +options.input_raw_format = 0.5 options.input_type = "MDF" options.evt_max = 1000 options.n_threads = 1 -make_digits.global_bind(calo_raw_bank=False) list_of_full_stream_lines.global_bind(lines=lines_for_TISTOS) diff --git a/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_input.yaml b/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_input.yaml index 2d6ab0ca85e..2c9d32f39c6 100644 --- a/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_input.yaml +++ b/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_input.yaml @@ -1,16 +1,13 @@ # Periodic BW tests input config for using HLT2 output for sprucing -testfiledb_key: upgrade-minbias-hlt2-full-output-Dec2023 +testfiledb_key: expected_2024_min_bias_hlt2_full_stream_v2 input_raw_format: 0.5 input_type: 'MDF' -input_rate: 128 # kHz +input_rate: 59 # kHz production_bookkeeping_path: None nu: 7.6 velo_radial_opening: 5.1 # in mm; see arxiv:2305.10515 Table 1 filtering_info_links: - # Input to HLT2 was from upgrade_minbias_hlt1_filtered from the TestFileDB - # HLT1-filtering on that is described in: - - https://gitlab.cern.ch/lhcb/MooreAnalysis/-/issues/42#note_6815192 - - https://indico.cern.ch/event/692134/contributions/2908624/attachments/1605986/2548060/UpgradeHLT1-180223.pdf - - https://gitlab.cern.ch/lhcb/Moore/-/snippets/2784 - # With HLT1 output rate of 1.65 MHz. - # HLT2 FULL stream retention was 7.5% on this. See snippet. + # Output of HLT2 full stream running on HLT1-filtered min bias in expected 2024 conditions + # v2 update in March 2024 + # include HLT2 full stream update as of March 21, 2024, commit 1afb9c020 + # efficiency around 5.9%, input rate around 59 kHz \ No newline at end of file diff --git a/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_wg_streams.py b/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_wg_streams.py index 69743a41394..dd7d5469d32 100644 --- a/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_wg_streams.py +++ b/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_wg_streams.py @@ -23,7 +23,6 @@ from RecoConf.global_tools import stateProvider_with_simplified_geom from RecoConf.reconstruction_objects import reconstruction from Moore.streams import Stream, Streams -from PyConf.application import metainfo_repos import logging import json from PRConfig.bandwidth_helpers import FileNameHelper @@ -46,7 +45,6 @@ MODULES = { 'ift': ift } -metainfo_repos.global_bind(extra_central_tags=['key-7e074b7d']) options.input_process = 'Hlt2' fname_helper = FileNameHelper(process="spruce") diff --git a/Hlt/Hlt2Conf/tests/qmtest/sprucing.qms/test_spruce_alllines_realtime_gaudirun.qmt b/Hlt/Hlt2Conf/tests/qmtest/sprucing.qms/test_spruce_alllines_realtime_gaudirun.qmt index 970fea0dcd0..00795823a32 100644 --- a/Hlt/Hlt2Conf/tests/qmtest/sprucing.qms/test_spruce_alllines_realtime_gaudirun.qmt +++ b/Hlt/Hlt2Conf/tests/qmtest/sprucing.qms/test_spruce_alllines_realtime_gaudirun.qmt @@ -23,7 +23,7 @@ Test sprucing on all lines using gaudirun. This tests the script used for Throug from Moore.qmtest.exclusions import remove_known_warnings -countErrorLines({"FATAL": 0, "ERROR": 0, "WARNING": 0}, +countErrorLines({"FATAL": 0, "ERROR": 0, "WARNING": 2}, stdout=remove_known_warnings(stdout)) diff --git a/Hlt/Hlt2Conf/tests/qmtest/sprucing.qms/test_spruce_bandwidth.qmt b/Hlt/Hlt2Conf/tests/qmtest/sprucing.qms/test_spruce_bandwidth.qmt index 3e5ab6ca287..5eac9dffa30 100644 --- a/Hlt/Hlt2Conf/tests/qmtest/sprucing.qms/test_spruce_bandwidth.qmt +++ b/Hlt/Hlt2Conf/tests/qmtest/sprucing.qms/test_spruce_bandwidth.qmt @@ -32,7 +32,7 @@ remove_known_warnings = remove_known_warnings + LineSkipper([ "WARNING Lifetime fit did not converge. Aborting.", "WARNING Negative variance produced in lifetime fit iteration.", ]) -countErrorLines({"FATAL": 0, "ERROR": 0, "WARNING": 0}, +countErrorLines({"FATAL": 0, "ERROR": 0, "WARNING": 2}, stdout=remove_known_warnings(stdout)) import re -- GitLab From ebb35d95e52a352320bbf4657f4cae2ce325c41a Mon Sep 17 00:00:00 2001 From: Yiming Liu Date: Thu, 18 Apr 2024 12:53:53 +0200 Subject: [PATCH 38/51] Few points for B2CC HLT2 [reduces the BW ] --- .../lines/b_to_charmonia/b_to_jpsix.py | 24 +- .../b_to_charmonia/builders/basic_builder.py | 490 ++++++++---------- .../lines/b_to_charmonia/hlt2_b2cc.py | 9 +- 3 files changed, 218 insertions(+), 305 deletions(-) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/b_to_jpsix.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/b_to_jpsix.py index 1e663a960db..cf6b515d84a 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/b_to_jpsix.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/b_to_jpsix.py @@ -438,10 +438,8 @@ def make_BsToJpsiKstar_line(process, if process == 'spruce': kstar = basic_builder.make_selected_kstar2kpi_widerange( pid_pi=0.0, - tr_chi2pdof_max_pi=5.0, pt_pi=500.0 * MeV, mipchi2_min_pi=4.0, - tr_chi2pdof_max_k=5.0, pt_k=500.0 * MeV, mipchi2_min_k=4.0) @@ -907,10 +905,8 @@ def make_BdToJpsimumuKstar_detached_line(process): pt=500. * MeV, pt_pi=500. * MeV, p_pi=1000. * MeV, - tr_chi2pdof_pi=5, pt_k=500. * MeV, p_k=1000. * MeV, - tr_chi2pdof_k=5, pid_k=-2, pid_pi=3) b2jpsikstar = make_Bd2JpsimumuKshort_detached( @@ -941,10 +937,8 @@ def make_BdToJpsimumuKstar_tight_line(process): pt=500. * MeV, pt_pi=500. * MeV, p_pi=1500. * MeV, - tr_chi2pdof_pi=5, pt_k=500. * MeV, p_k=1500. * MeV, - tr_chi2pdof_k=5, pid_k=0, pid_pi=0) b2jpsikstar = make_Bd2JpsimumuKshort_detached( @@ -1016,23 +1010,11 @@ def make_BdToJpsippKstar(process): ], 'Line must be defined as Hlt2 or Sprucing line!' proton = basic_builder.make_protons( - pid_p=-5., - pt_min=300. * MeV, - p_min=1500 * MeV, - mipchi2_min=3, - tr_chi2pdof_max=10.) + pid_p=-5., pt_min=300. * MeV, p_min=1500 * MeV, mipchi2_min=3) kaon = basic_builder.make_kaons( - pid=-5., - pt=300. * MeV, - p=1500. * MeV, - mipchi2_min=5, - tr_chi2pdof_max=10.) + pid=-5., pt=300. * MeV, p=1500. * MeV, mipchi2_min=5) pion = basic_builder.make_pions( - pid=-5., - pt=300. * MeV, - p=1500. * MeV, - mipchi2_min=8, - tr_chi2pdof_max=10.) + pid=-5., pt=300. * MeV, p=1500. * MeV, mipchi2_min=8) b2jpsikst = special_builder.make_JpsiPP_X( particles=[proton, proton, kaon, pion], diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/builders/basic_builder.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/builders/basic_builder.py index e40657d2041..c13e83bb61c 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/builders/basic_builder.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/builders/basic_builder.py @@ -25,24 +25,24 @@ from Hlt2Conf.standard_particles import ( import Functors as F from Functors.math import in_range +from PyConf import configurable #################################### # Track selections # #################################### -def make_selected_particles( - make_particles=make_has_rich_long_pions, - make_pvs=make_pvs, - tr_chi2pdof_max=99, ## placeholder to be tightened once it is reliable - mipchi2_min=0, - pt_min=250 * MeV, - p_min=0 * GeV, - pid=None, - isMuon=None, - filterAlg=None): - - code = require_all(F.PT > pt_min, F.P > p_min, F.CHI2DOF < tr_chi2pdof_max) +@configurable +def make_selected_particles(make_particles=make_has_rich_long_pions, + make_pvs=make_pvs, + mipchi2_min=0, + pt_min=250 * MeV, + p_min=0 * GeV, + pid=None, + isMuon=None, + filterAlg=None): + + code = require_all(F.PT > pt_min, F.P > p_min) if mipchi2_min is not None: code = code & (F.MINIPCHI2(make_pvs()) > mipchi2_min) if pid is not None: @@ -53,41 +53,32 @@ def make_selected_particles( return ParticleFilter(make_particles(), F.FILTER(code)) -def make_pions(pid=5, - tr_chi2pdof_max=5, - pt=200 * MeV, - p=1 * GeV, - **decay_arguments): +@configurable +def make_pions(pid=5, pt=200 * MeV, p=1 * GeV, **decay_arguments): """Return pions filtered by thresholds common to B2CC decay product selections.""" return make_selected_particles( make_particles=make_has_rich_long_pions, - tr_chi2pdof_max=tr_chi2pdof_max, pt_min=pt, p_min=p, pid=(F.PID_K < pid), **decay_arguments) -def make_kaons( - pid=-3, - tr_chi2pdof_max=10, ##TODO: to be tightened once the variable become more reliable - pt=200 * MeV, - p=2 * GeV, - **decay_arguments): +@configurable +def make_kaons(pid=-3, pt=200 * MeV, p=2 * GeV, **decay_arguments): """Return kaons filtered by thresholds common to B2CC decay product selections.""" return make_selected_particles( make_particles=make_has_rich_long_kaons, - tr_chi2pdof_max=tr_chi2pdof_max, pt_min=pt, p_min=p, pid=(F.PID_K > pid), **decay_arguments) -def make_muons(pid=-999, - tr_chi2pdof_max=5, +@configurable +def make_muons(pid=None, pt=500 * MeV, p=0 * GeV, mipchi2_min=0, @@ -95,45 +86,43 @@ def make_muons(pid=-999, **decay_arguments): """Return muons filtered by thresholds common to B2CC decay product selections.""" + if pid is not None: + pid = (F.PID_MU > pid) + return make_selected_particles( make_particles=make_ismuon_long_muon, - tr_chi2pdof_max=tr_chi2pdof_max, mipchi2_min=mipchi2_min, pt_min=pt, p_min=p, - pid=(F.PID_MU > pid), + pid=pid, isMuon=ismuon, **decay_arguments) -def make_electrons( - particles=make_long_electrons_no_brem, - pid=0, - tr_chi2pdof_max=10, ## TODO to be tighten (3) once the variable is reliable - pt=250 * MeV, - mipchi2_min=0, - **decay_arguments): +@configurable +def make_electrons(particles=make_long_electrons_no_brem, + pid=0, + pt=250 * MeV, + mipchi2_min=0, + **decay_arguments): """Return electrons filtered by thresholds common to B2CC decay product Jpsi->ee selections.""" return make_selected_particles( make_particles=particles, - tr_chi2pdof_max=tr_chi2pdof_max, pt_min=pt, mipchi2_min=mipchi2_min, pid=(F.PID_E > pid), **decay_arguments) -def make_protons( - pid_p=0., - delta_pid_pK=-10., - tr_chi2pdof_max=10., ##TODO to be tighten once the variable is reliable - p_min=0 * MeV, - mipchi2_min=4., - **decay_arguments): +@configurable +def make_protons(pid_p=0., + delta_pid_pK=-10., + p_min=0 * MeV, + mipchi2_min=4., + **decay_arguments): """Return protons filtered by thresholds common to B2CC decay product selections.""" return make_selected_particles( make_particles=make_has_rich_long_protons, - tr_chi2pdof_max=tr_chi2pdof_max, p_min=p_min, mipchi2_min=mipchi2_min, pid=((F.PID_P > pid_p) & ((F.PID_P - F.PID_K) > delta_pid_pK)), @@ -145,6 +134,7 @@ def make_protons( #################################### +@configurable def make_twobody(particles, descriptor, comb_m_min, @@ -177,23 +167,21 @@ def make_twobody(particles, CompositeCut=vertex_code) -def make_selected_phi( - name='B2CC_Phi2KK_Filter_{hash}', - descriptor='phi(1020) -> K+ K-', - comb_m_min=980. * MeV, - comb_m_max=1060. * MeV, - vtx_m_min=980. * MeV, - vtx_m_max=1060. * MeV, - pt=500. * MeV, - max_docachi2=30., - max_vchi2pdof=25., - tr_chi2pdof_max=10, ##TODO to be tightened once the variable is more reliable - pid_k=0, - pt_k=500. * MeV, - p_k=2. * GeV): +@configurable +def make_selected_phi(name='B2CC_Phi2KK_Filter_{hash}', + descriptor='phi(1020) -> K+ K-', + comb_m_min=980. * MeV, + comb_m_max=1060. * MeV, + vtx_m_min=980. * MeV, + vtx_m_max=1060. * MeV, + pt=500. * MeV, + max_docachi2=30., + max_vchi2pdof=25., + pid_k=0, + pt_k=500. * MeV, + p_k=2. * GeV): - kaons = make_kaons( - pid=pid_k, tr_chi2pdof_max=tr_chi2pdof_max, pt=pt_k, p=p_k) + kaons = make_kaons(pid=pid_k, pt=pt_k, p=p_k) return make_twobody( particles=[kaons, kaons], @@ -208,25 +196,24 @@ def make_selected_phi( max_vchi2pdof=max_vchi2pdof) -def make_selected_phi_bs2jpsieephi( - name='B2CC_Phi2KK_Bs2JpsiEEPhi_{hash}', - descriptor_rs='phi(1020) -> K- K+', - descriptor_ws='[phi(1020) -> K- K-]cc', - comb_m_min=980. * MeV, - comb_m_max=1060. * MeV, - vtx_m_min=980. * MeV, - vtx_m_max=1060. * MeV, - max_vchi2pdof=15, - pt=1000. * MeV, - max_docachi2=30., - tr_chi2pdof=10, ##TODO to be tightened once the variable is more reliable - pid_k=1, - pt_k=400. * MeV, - p_k=4. * GeV): +@configurable +def make_selected_phi_bs2jpsieephi(name='B2CC_Phi2KK_Bs2JpsiEEPhi_{hash}', + descriptor_rs='phi(1020) -> K- K+', + descriptor_ws='[phi(1020) -> K- K-]cc', + comb_m_min=980. * MeV, + comb_m_max=1060. * MeV, + vtx_m_min=980. * MeV, + vtx_m_max=1060. * MeV, + max_vchi2pdof=15, + pt=1000. * MeV, + max_docachi2=30., + pid_k=1, + pt_k=400. * MeV, + p_k=4. * GeV): """ Filter phi candiates for B2CC. Default cuts refered to Bs2JpsieePhi. """ - kaons = make_kaons(pid=pid_k, tr_chi2pdof_max=tr_chi2pdof, pt=pt_k, p=p_k) + kaons = make_kaons(pid=pid_k, pt=pt_k, p=p_k) phi2kk = make_twobody( particles=[kaons, kaons], descriptor=descriptor_rs, @@ -253,6 +240,7 @@ def make_selected_phi_bs2jpsieephi( return ParticleContainersMerger([phi2kk, phi2kk_ws], name=name + "_Merge") +@configurable def make_selected_ks(input_ks, name='B2CC_Ks_Filter_{hash}', chi2vx=30, @@ -267,6 +255,7 @@ def make_selected_ks(input_ks, return ParticleFilter(input_ks, F.FILTER(code)) +@configurable def make_ks_LL(make_ks=make_KsLL, pi_pmin=2 * GeV, pi_mipchi2pv=9., @@ -280,8 +269,6 @@ def make_ks_LL(make_ks=make_KsLL, input_ks=make_ks( make_selected_particles( make_particles=make_long_pions_for_V0, - tr_chi2pdof_max= - 10, ##TODO to be tightened once the variable is more reliable pt_min=0 * MeV, p_min=pi_pmin, mipchi2_min=pi_mipchi2pv)), @@ -290,6 +277,7 @@ def make_ks_LL(make_ks=make_KsLL, bpvvdchi2=bpvvdchi2) +@configurable def make_ks_DD(make_ks=make_KsDD, pi_pmin=2 * GeV, chi2vx=30, bpvvdchi2=5.): ''' Builds DD Kshorts, currently corresponding to the Run2 @@ -299,8 +287,6 @@ def make_ks_DD(make_ks=make_KsDD, pi_pmin=2 * GeV, chi2vx=30, bpvvdchi2=5.): input_ks=make_ks( make_selected_particles( make_particles=make_down_pions_for_V0, - tr_chi2pdof_max= - 10, ##TODO to be tightened once the variable is more reliable pt_min=0 * MeV, p_min=pi_pmin, mipchi2_min=None)), @@ -309,6 +295,7 @@ def make_ks_DD(make_ks=make_KsDD, pi_pmin=2 * GeV, chi2vx=30, bpvvdchi2=5.): bpvvdchi2=bpvvdchi2) +@configurable def make_ks_LD(make_ks=make_KsLD, pi_pmin=2 * GeV, pi_mipchi2pv=4., @@ -322,15 +309,11 @@ def make_ks_LD(make_ks=make_KsLD, input_ks=make_ks( pions_down=make_selected_particles( make_particles=make_down_pions_for_V0, - tr_chi2pdof_max= - 10, ##TODO to be tightened once the variable is more reliable pt_min=0 * MeV, p_min=pi_pmin, mipchi2_min=None), pions_long=make_selected_particles( make_particles=make_long_pions_for_V0, - tr_chi2pdof_max= - 10, ##TODO to be tightened once the variable is more reliable pt_min=0 * MeV, p_min=pi_pmin, mipchi2_min=pi_mipchi2pv)), @@ -339,6 +322,7 @@ def make_ks_LD(make_ks=make_KsLD, bpvvdchi2=bpvvdchi2) +@configurable def make_ks_UL(make_ks=make_KsUL, pi_pmin=2 * GeV, pi_u_pmin=1 * GeV, @@ -353,15 +337,11 @@ def make_ks_UL(make_ks=make_KsUL, input_ks=make_ks( pions_long=make_selected_particles( make_particles=make_long_pions_for_V0, - tr_chi2pdof_max= - 10, ##TODO to be tightened once the variable is more reliable pt_min=0 * MeV, p_min=pi_pmin, mipchi2_min=pi_mipchi2pv), pions_up=make_selected_particles( make_particles=make_up_pions_for_V0, - tr_chi2pdof_max= - 10, ##TODO to be tightened once the variable is more reliable pt_min=0 * MeV, p_min=pi_u_pmin, mipchi2_min=pi_mipchi2pv)), @@ -370,30 +350,24 @@ def make_ks_UL(make_ks=make_KsUL, bpvvdchi2=bpvvdchi2) -def make_selected_jpsi2mumu( - name='B2CC_Jpsi2MuMu_Filter_{hash}', - descriptor='J/psi(1S) -> mu+ mu-', - comb_m_min=2700. * MeV, - comb_m_max=3400. * MeV, - vtx_m_min=2950. * MeV, - vtx_m_max=3250. * MeV, - max_vchi2pdof=16., - pt=500. * MeV, - max_docachi2=20., - tr_chi2pdof=15., ##TODO to be tightened once the variable is more reliable - pt_mu=500. * MeV, - p_mu=0 * MeV, - pid_mu=-5, - mipchi2_mu=0): +@configurable +def make_selected_jpsi2mumu(name='B2CC_Jpsi2MuMu_Filter_{hash}', + descriptor='J/psi(1S) -> mu+ mu-', + comb_m_min=2700. * MeV, + comb_m_max=3400. * MeV, + vtx_m_min=2950. * MeV, + vtx_m_max=3250. * MeV, + max_vchi2pdof=16., + pt=500. * MeV, + max_docachi2=20., + pt_mu=500. * MeV, + p_mu=0 * MeV, + pid_mu=-5, + mipchi2_mu=0): """ Filter jpsi(mumu) candiates for B2CC. Default cuts refered to Bs2JpsiPhi. """ - muons = make_muons( - pid=pid_mu, - tr_chi2pdof_max=tr_chi2pdof, - pt=pt_mu, - p=p_mu, - mipchi2_min=mipchi2_mu) + muons = make_muons(pid=pid_mu, pt=pt_mu, p=p_mu, mipchi2_min=mipchi2_mu) return make_twobody( particles=[muons, muons], @@ -408,6 +382,7 @@ def make_selected_jpsi2mumu( max_vchi2pdof=max_vchi2pdof) +@configurable def make_selected_jpsi_bd2jpsimumukshort(muons, admass=100 * MeV, admass_vtx=100 * MeV, @@ -437,6 +412,7 @@ def make_selected_jpsi_bd2jpsimumukshort(muons, CompositeCut=vertex_code) +@configurable def filter_muons_loose(particles, pt_min=500 * MeV, pidmu=0, @@ -452,6 +428,7 @@ def filter_muons_loose(particles, return ParticleFilter(particles, F.FILTER(code)) +@configurable def make_selected_jpsi2ee(name='B2CC_Jpsi2EE_Filter_{hash}', descriptor='J/psi(1S) -> e- e+', comb_m_min=2250. * MeV, @@ -462,7 +439,6 @@ def make_selected_jpsi2ee(name='B2CC_Jpsi2EE_Filter_{hash}', pt=1000. * MeV, electron_particles=make_long_electrons_no_brem, max_docachi2=30., - tr_chi2pdof=10., pt_e=500 * MeV, pid_e=1, mipchi2_e=None): @@ -472,7 +448,6 @@ def make_selected_jpsi2ee(name='B2CC_Jpsi2EE_Filter_{hash}', electrons = make_electrons( particles=electron_particles, pid=pid_e, - tr_chi2pdof_max=tr_chi2pdof, pt=pt_e, mipchi2_min=mipchi2_e) @@ -486,6 +461,7 @@ def make_selected_jpsi2ee(name='B2CC_Jpsi2EE_Filter_{hash}', F.FILTER(code_dielectron)) +@configurable def make_selected_jpsi2ee_wrongsign( name='B2CC_Jpsi2EE_WrongSign_{hash}', descriptor='[J/psi(1S) -> e- e-]cc', @@ -497,7 +473,6 @@ def make_selected_jpsi2ee_wrongsign( pt=1000. * MeV, electron_particles=make_long_electrons_no_brem, max_docachi2=30., - tr_chi2pdof=10., pt_e=500 * MeV, pid_e=1, mipchi2_e=None): @@ -507,7 +482,6 @@ def make_selected_jpsi2ee_wrongsign( electrons = make_electrons( particles=electron_particles, pid=pid_e, - tr_chi2pdof_max=tr_chi2pdof, pt=pt_e, mipchi2_min=mipchi2_e) @@ -524,32 +498,28 @@ def make_selected_jpsi2ee_wrongsign( F.FILTER(code_dielectron)) -def make_selected_kstar2kpi( - name='B2CC_Kstar2KPi_Filter_{hash}', - descriptor='[K*(892)0 -> K+ pi-]cc', - comb_m_min=826. * MeV, - comb_m_max=966. * MeV, - vtx_m_min=842. * MeV, - vtx_m_max=926. * MeV, - max_vchi2pdof=20, - pt=1500. * MeV, - max_docachi2=30., - pid_k=1, - tr_chi2pdof_k=10, ##TODO to be tightened once the variable is more reliable - pt_k=400. * MeV, - p_k=4. * GeV, - pid_pi=3, - tr_chi2pdof_pi=10, ##TODO to be tightened once the variable is more reliable - pt_pi=300. * MeV, - p_pi=3. * GeV): +@configurable +def make_selected_kstar2kpi(name='B2CC_Kstar2KPi_Filter_{hash}', + descriptor='[K*(892)0 -> K+ pi-]cc', + comb_m_min=826. * MeV, + comb_m_max=966. * MeV, + vtx_m_min=842. * MeV, + vtx_m_max=926. * MeV, + max_vchi2pdof=20, + pt=1500. * MeV, + max_docachi2=30., + pid_k=1, + pt_k=400. * MeV, + p_k=4. * GeV, + pid_pi=3, + pt_pi=300. * MeV, + p_pi=3. * GeV): """ Filter kstar->kpi candiates for B2CC. Default cuts refered to Bs2JpsieeKstar. """ - kaons = make_kaons( - pid=pid_k, tr_chi2pdof_max=tr_chi2pdof_k, pt=pt_k, p=p_k) - pions = make_pions( - pid=pid_pi, tr_chi2pdof_max=tr_chi2pdof_pi, pt=pt_pi, p=p_pi) + kaons = make_kaons(pid=pid_k, pt=pt_k, p=p_k) + pions = make_pions(pid=pid_pi, pt=pt_pi, p=p_pi) return make_twobody( particles=[kaons, pions], @@ -564,32 +534,28 @@ def make_selected_kstar2kpi( max_vchi2pdof=max_vchi2pdof) -def make_selected_kstar2kpi_wrongsign( - name='B2CC_Kstar2KPi_WrongSign_{hash}', - descriptor='[K*(892)0 -> K- pi-]cc', - comb_m_min=826. * MeV, - comb_m_max=966. * MeV, - vtx_m_min=842. * MeV, - vtx_m_max=926. * MeV, - max_vchi2pdof=20, - pt=1500. * MeV, - max_docachi2=30., - pid_k=1, - tr_chi2pdof_k=10, ##TODO to be tightened once the variable is more reliable - pt_k=400. * MeV, - p_k=4. * GeV, - pid_pi=3, - tr_chi2pdof_pi=10, ##TODO to be tightened once the variable is more reliable - pt_pi=300. * MeV, - p_pi=3. * GeV): +@configurable +def make_selected_kstar2kpi_wrongsign(name='B2CC_Kstar2KPi_WrongSign_{hash}', + descriptor='[K*(892)0 -> K- pi-]cc', + comb_m_min=826. * MeV, + comb_m_max=966. * MeV, + vtx_m_min=842. * MeV, + vtx_m_max=926. * MeV, + max_vchi2pdof=20, + pt=1500. * MeV, + max_docachi2=30., + pid_k=1, + pt_k=400. * MeV, + p_k=4. * GeV, + pid_pi=3, + pt_pi=300. * MeV, + p_pi=3. * GeV): """ Filter kstar->kpi candiates wrong size for B2CC. Default cuts refered to Bs2JpsieeKstar. """ - kaons = make_kaons( - pid=pid_k, tr_chi2pdof_max=tr_chi2pdof_k, pt=pt_k, p=p_k) - pions = make_pions( - pid=pid_pi, tr_chi2pdof_max=tr_chi2pdof_pi, pt=pt_pi, p=p_pi) + kaons = make_kaons(pid=pid_k, pt=pt_k, p=p_k) + pions = make_pions(pid=pid_pi, pt=pt_pi, p=p_pi) return make_twobody( particles=[kaons, pions], @@ -604,6 +570,7 @@ def make_selected_kstar2kpi_wrongsign( max_vchi2pdof=max_vchi2pdof) +@configurable def make_selected_kstar2kpi_widerange( name='B2CC_Kstar2KPi_WideRange_Filter_{hash}', descriptor='[K*(892)0 -> K+ pi-]cc', @@ -616,26 +583,16 @@ def make_selected_kstar2kpi_widerange( max_docachi2=30., max_vchi2pdof=25., pid_pi=10., - tr_chi2pdof_max_pi=10., ##TODO: to be tightened once the variable become more reliable pt_pi=250. * MeV, mipchi2_min_pi=0., pid_k=0., - tr_chi2pdof_max_k=10., ##TODO: to be tightened once the variable become more reliable pt_k=250. * MeV, mipchi2_min_k=0.): """ Filter kstar->kpi candiates for B2CC. Default cuts refered to Bs2JpsiKstar. """ - pions = make_pions( - pid=pid_pi, - tr_chi2pdof_max=tr_chi2pdof_max_pi, - pt=pt_pi, - mipchi2_min=mipchi2_min_pi) - kaons = make_kaons( - pid=pid_k, - tr_chi2pdof_max=tr_chi2pdof_max_k, - pt=pt_k, - mipchi2_min=mipchi2_min_k) + pions = make_pions(pid=pid_pi, pt=pt_pi, mipchi2_min=mipchi2_min_pi) + kaons = make_kaons(pid=pid_k, pt=pt_k, mipchi2_min=mipchi2_min_k) return make_twobody( particles=[kaons, pions], descriptor=descriptor, @@ -650,29 +607,24 @@ def make_selected_kstar2kpi_widerange( max_vchi2pdof=max_vchi2pdof) -def make_selected_f0( - name='B2CC_f0_Filter_{hash}', - descriptor='f_0(980) -> pi+ pi-', - comb_m_min=278. * MeV, - comb_m_max=2700. * MeV, - vtx_m_min=278. * MeV, - vtx_m_max=2700. * MeV, - pt=0. * MeV, - pt_sum=1000. * MeV, - maxmax_docachi2=20., - max_vchi2pdof=16., - pid_pi=10., - tr_chi2pdof_max_pi=10., ##TODO: to be tightened once the variable become more reliable - mipchi2_min_pi=4., - pt_pi=250 * MeV): +@configurable +def make_selected_f0(name='B2CC_f0_Filter_{hash}', + descriptor='f_0(980) -> pi+ pi-', + comb_m_min=278. * MeV, + comb_m_max=2700. * MeV, + vtx_m_min=278. * MeV, + vtx_m_max=2700. * MeV, + pt=0. * MeV, + pt_sum=1000. * MeV, + maxmax_docachi2=20., + max_vchi2pdof=16., + pid_pi=10., + mipchi2_min_pi=4., + pt_pi=250 * MeV): """ Filter f0->pi pi candiates for B2CC. Default cuts refered to Bs2Jpsif0. """ - pions = make_pions( - pid=pid_pi, - tr_chi2pdof_max=tr_chi2pdof_max_pi, - pt=pt_pi, - mipchi2_min=mipchi2_min_pi) + pions = make_pions(pid=pid_pi, pt=pt_pi, mipchi2_min=mipchi2_min_pi) return make_twobody( particles=[pions, pions], descriptor=descriptor, @@ -687,29 +639,24 @@ def make_selected_f0( max_vchi2pdof=max_vchi2pdof) -def make_selected_f0kaon( - name='B2CC_f0Kaon_Filter_{hash}', - descriptor='f_0(980) -> K+ K-', - comb_m_min=986. * MeV, - comb_m_max=2700. * MeV, - vtx_m_min=986. * MeV, - vtx_m_max=2700. * MeV, - pt=0. * MeV, - pt_sum=1000. * MeV, - max_docachi2=20., - max_vchi2pdof=16., - pid_k=0., - tr_chi2pdof_max_k=10., ##TODO: to be tightened once the variable become more reliable - mipchi2_min_k=4., - pt_k=250. * MeV): +@configurable +def make_selected_f0kaon(name='B2CC_f0Kaon_Filter_{hash}', + descriptor='f_0(980) -> K+ K-', + comb_m_min=986. * MeV, + comb_m_max=2700. * MeV, + vtx_m_min=986. * MeV, + vtx_m_max=2700. * MeV, + pt=0. * MeV, + pt_sum=1000. * MeV, + max_docachi2=20., + max_vchi2pdof=16., + pid_k=0., + mipchi2_min_k=4., + pt_k=250. * MeV): """ Filter f0->K+ K- candiates for B2CC. Default cuts refered to Bs2Jpsif0Kaon. """ - kaons = make_kaons( - pid=pid_k, - tr_chi2pdof_max=tr_chi2pdof_max_k, - pt=pt_k, - mipchi2_min=mipchi2_min_k) + kaons = make_kaons(pid=pid_k, pt=pt_k, mipchi2_min=mipchi2_min_k) return make_twobody( particles=[kaons, kaons], descriptor=descriptor, @@ -724,29 +671,24 @@ def make_selected_f0kaon( max_vchi2pdof=max_vchi2pdof) -def make_selected_f0ws( - name='B2CC_f0ws_Filter_{hash}', - descriptor='[f_0(980) -> pi- pi-]cc', - comb_m_min=278. * MeV, - comb_m_max=2700. * MeV, - vtx_m_min=278. * MeV, - vtx_m_max=2700. * MeV, - pt=0. * MeV, - pt_sum=1000. * MeV, - max_docachi2=20., - max_vchi2pdof=16., - pid_pi=10., - tr_chi2pdof_max_pi=10., ##TODO: to be tightened once the variable become more reliable - mipchi2_min_pi=4., - pt_pi=250. * MeV): +@configurable +def make_selected_f0ws(name='B2CC_f0ws_Filter_{hash}', + descriptor='[f_0(980) -> pi- pi-]cc', + comb_m_min=278. * MeV, + comb_m_max=2700. * MeV, + vtx_m_min=278. * MeV, + vtx_m_max=2700. * MeV, + pt=0. * MeV, + pt_sum=1000. * MeV, + max_docachi2=20., + max_vchi2pdof=16., + pid_pi=10., + mipchi2_min_pi=4., + pt_pi=250. * MeV): """ Filter f0->pi+ pi- wrong sign candiates for B2CC. Default cuts refered to Bs2Jpsif0ws. """ - pions = make_pions( - pid=pid_pi, - tr_chi2pdof_max=tr_chi2pdof_max_pi, - pt=pt_pi, - mipchi2_min=mipchi2_min_pi) + pions = make_pions(pid=pid_pi, pt=pt_pi, mipchi2_min=mipchi2_min_pi) return make_twobody( particles=[pions, pions], descriptor=descriptor, @@ -761,6 +703,7 @@ def make_selected_f0ws( max_vchi2pdof=max_vchi2pdof) +@configurable def make_selected_f0Unbiased(name='B2CC_f0unbiased_Filter_{hash}', name_pions='B2CC_f0unbiased_Filter_Pions', name_kaons='B2CC_f0unbiased_Filter_Kaons', @@ -782,30 +725,25 @@ def make_selected_f0Unbiased(name='B2CC_f0unbiased_Filter_{hash}', return ParticleContainersMerger([f0_to_pipi, f0_to_kk], name=name) -def make_selected_lambda0_pk( - name='B2CC_Lambda0_pK_Filter_{hash}', - descriptor='[Lambda(1520)0 -> p+ K-]cc', - comb_m_min=1430. * MeV, - comb_m_max=3100. * MeV, - vtx_m_min=1430. * MeV, - vtx_m_max=3100. * MeV, - pt=0. * MeV, - pt_sum=1000. * MeV, - max_docachi2=20., - max_vchi2pdof=16., - pid_k=0., - tr_chi2pdof_max_k=10., ##TODO: to be tightened once the variable become more reliable - pt_k=250. * MeV, - mipchi2_min_k=4.): +@configurable +def make_selected_lambda0_pk(name='B2CC_Lambda0_pK_Filter_{hash}', + descriptor='[Lambda(1520)0 -> p+ K-]cc', + comb_m_min=1430. * MeV, + comb_m_max=3100. * MeV, + vtx_m_min=1430. * MeV, + vtx_m_max=3100. * MeV, + pt=0. * MeV, + pt_sum=1000. * MeV, + max_docachi2=20., + max_vchi2pdof=16., + pid_k=0., + pt_k=250. * MeV, + mipchi2_min_k=4.): """ Filter lambda0 -> p K candiates for B2CC. Default cuts refered to Lb2JpsipH. """ protons = make_protons() - kaons = make_kaons( - pid=pid_k, - tr_chi2pdof_max=tr_chi2pdof_max_k, - pt=pt_k, - mipchi2_min=mipchi2_min_k) + kaons = make_kaons(pid=pid_k, pt=pt_k, mipchi2_min=mipchi2_min_k) return make_twobody( particles=[protons, kaons], descriptor=descriptor, @@ -820,30 +758,25 @@ def make_selected_lambda0_pk( max_vchi2pdof=max_vchi2pdof) -def make_selected_lambda0_pkws( - name='B2CC_Lambda0_pKws_Filter_{hash}', - descriptor='[Lambda(1520)0 -> p+ K+]cc', - comb_m_min=1430. * MeV, - comb_m_max=3100. * MeV, - vtx_m_min=1430. * MeV, - vtx_m_max=3100. * MeV, - pt=0. * MeV, - pt_sum=1000. * MeV, - max_docachi2=20., - max_vchi2pdof=16., - pid_k=0., - tr_chi2pdof_max_k=10, ##TODO: to be tightened once the variable become more reliable - pt_k=250. * MeV, - mipchi2_min_k=4.): +@configurable +def make_selected_lambda0_pkws(name='B2CC_Lambda0_pKws_Filter_{hash}', + descriptor='[Lambda(1520)0 -> p+ K+]cc', + comb_m_min=1430. * MeV, + comb_m_max=3100. * MeV, + vtx_m_min=1430. * MeV, + vtx_m_max=3100. * MeV, + pt=0. * MeV, + pt_sum=1000. * MeV, + max_docachi2=20., + max_vchi2pdof=16., + pid_k=0., + pt_k=250. * MeV, + mipchi2_min_k=4.): """ Filter lambda0 -> p K wrong sign candiates for B2CC. Default cuts refered to Lb2JpsipH. """ protons = make_protons() - kaons = make_kaons( - pid=pid_k, - tr_chi2pdof_max=tr_chi2pdof_max_k, - pt=pt_k, - mipchi2_min=mipchi2_min_k) + kaons = make_kaons(pid=pid_k, pt=pt_k, mipchi2_min=mipchi2_min_k) return make_twobody( particles=[protons, kaons], descriptor=descriptor, @@ -858,6 +791,7 @@ def make_selected_lambda0_pkws( max_vchi2pdof=max_vchi2pdof) +@configurable def make_selected_lambda0_ppi(name='B2CC_Lambda0_pPi_Filter_{hash}', descriptor='[Lambda(1520)0 -> p+ pi-]cc', comb_m_min=1077. * MeV, @@ -869,18 +803,13 @@ def make_selected_lambda0_ppi(name='B2CC_Lambda0_pPi_Filter_{hash}', max_docachi2=20., max_vchi2pdof=16., pid_pi=10., - tr_chi2pdof_max_pi=5., pt_pi=250. * MeV, mipchi2_min_pi=4.): """ Filter lambda0 -> p pi candiates for B2CC. Default cuts refered to Lb2JpsipH. """ protons = make_protons() - pions = make_pions( - pid=pid_pi, - tr_chi2pdof_max=tr_chi2pdof_max_pi, - pt=pt_pi, - mipchi2_min=mipchi2_min_pi) + pions = make_pions(pid=pid_pi, pt=pt_pi, mipchi2_min=mipchi2_min_pi) return make_twobody( particles=[protons, pions], descriptor=descriptor, @@ -895,6 +824,7 @@ def make_selected_lambda0_ppi(name='B2CC_Lambda0_pPi_Filter_{hash}', max_vchi2pdof=max_vchi2pdof) +@configurable def make_selected_lambda0_ppiws(name='B2CC_Lambda0_pPiws_Filter_{hash}', descriptor='[Lambda(1520)0 -> p+ pi+]cc', comb_m_min=1077. * MeV, @@ -906,18 +836,13 @@ def make_selected_lambda0_ppiws(name='B2CC_Lambda0_pPiws_Filter_{hash}', max_docachi2=20., max_vchi2pdof=16., pid_pi=10., - tr_chi2pdof_max_pi=5., pt_pi=250. * MeV, mipchi2_min_pi=4.): """ Filter lambda0 -> p pi wrong sign candiates for B2CC. Default cuts refered to Lb2JpsipH. """ protons = make_protons() - pions = make_pions( - pid=pid_pi, - tr_chi2pdof_max=tr_chi2pdof_max_pi, - pt=pt_pi, - mipchi2_min=mipchi2_min_pi) + pions = make_pions(pid=pid_pi, pt=pt_pi, mipchi2_min=mipchi2_min_pi) return make_twobody( particles=[protons, pions], descriptor=descriptor, @@ -932,6 +857,7 @@ def make_selected_lambda0_ppiws(name='B2CC_Lambda0_pPiws_Filter_{hash}', max_vchi2pdof=max_vchi2pdof) +@configurable def make_selected_lambda0(name='B2CC_Lambda0_Filter_{hash}'): """ Filter lambda0 -> p K, lambda0 -> p Pi candiates for B2CC. Default cuts refered to Lb2JpsipH. diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/hlt2_b2cc.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/hlt2_b2cc.py index 93df272bddc..6baf28b731e 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/hlt2_b2cc.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/b_to_charmonia/hlt2_b2cc.py @@ -73,6 +73,7 @@ def BsToJpsiPhi_line(name='Hlt2B2CC_BsToJpsiPhi', name=name, prescale=prescale, algs=b2cc_prefilters() + line_alg + [vertex_moni], + raw_banks=['VP', 'UT', 'FT', 'Rich', 'Muon', 'Calo'], persistreco=persistreco, pv_tracks=True) @@ -108,7 +109,7 @@ def BsToJpsieePhi_line(name='Hlt2B2CC_BsToJpsiPhi_JpsiToEE', @register_line_builder(all_lines) def BdToJpsieeKstar_detached_line( name='Hlt2B2CC_BdToJpsiKstar_JpsiToEE_Detached', - prescale=1, + prescale=0.8, persistreco=False): line_alg = b_to_jpsix.make_BdToJpsieeKstar_detached_line(process=PROCESS) @@ -291,7 +292,7 @@ def BdToJpsieeKshort_DD_prompt_line( @register_line_builder(all_lines) def BuToJpsieeKplus_detached_line( name='Hlt2B2CC_BuToJpsiKplus_JpsiToEE_Detached', - prescale=1, + prescale=0.8, persistreco=False): line_alg = b_to_jpsix.make_BuToJpsieeKplus_detached_line(process=PROCESS) @@ -385,6 +386,7 @@ def BdToJpsimumuKshort_LL_detached_line( prescale=prescale, algs=b2cc_prefilters() + line_alg, tagging_particles=True, + raw_banks=['VP', 'UT', 'FT', 'Rich', 'Muon', 'Calo'], persistreco=persistreco, pv_tracks=True) @@ -402,6 +404,7 @@ def BdToJpsimumuKshort_DD_detached_line( prescale=prescale, algs=b2cc_prefilters() + line_alg, tagging_particles=True, + raw_banks=['VP', 'UT', 'FT', 'Rich', 'Muon', 'Calo'], persistreco=persistreco, pv_tracks=True) @@ -419,6 +422,7 @@ def BdToJpsimumuKshort_LD_detached_line( prescale=prescale, algs=b2cc_prefilters() + line_alg, tagging_particles=True, + raw_banks=['VP', 'UT', 'FT', 'Rich', 'Muon', 'Calo'], persistreco=persistreco, pv_tracks=True) @@ -436,6 +440,7 @@ def BdToJpsimumuKshort_UL_detached_line( prescale=prescale, algs=b2cc_prefilters() + line_alg, tagging_particles=True, + raw_banks=['VP', 'UT', 'FT', 'Rich', 'Muon', 'Calo'], persistreco=persistreco, pv_tracks=True) -- GitLab From d270806dda3e4a77c2e15d3769af462d48982b85 Mon Sep 17 00:00:00 2001 From: Ross John Hunter Date: Fri, 19 Apr 2024 11:21:48 +0200 Subject: [PATCH 39/51] Update HltEfficiencyChecker and expected2024 docs to latest reco binds --- .../options/hlt2_pp_expected_24_without_UT.py | 6 +- doc/tutorials/hltefficiencychecker.rst | 86 ++++++++++++++----- 2 files changed, 70 insertions(+), 22 deletions(-) diff --git a/Hlt/Hlt2Conf/options/hlt2_pp_expected_24_without_UT.py b/Hlt/Hlt2Conf/options/hlt2_pp_expected_24_without_UT.py index 0657192e763..a7d85a620d1 100644 --- a/Hlt/Hlt2Conf/options/hlt2_pp_expected_24_without_UT.py +++ b/Hlt/Hlt2Conf/options/hlt2_pp_expected_24_without_UT.py @@ -30,7 +30,9 @@ from RecoConf.hlt2_tracking import ( make_PrKalmanFilter_Seed_tracks, ) from RecoConf.decoders import default_VeloCluster_source +from RecoConf.protoparticles import make_charged_protoparticles from RecoConf.event_filters import require_gec +from Hlt2Conf.settings.defaults import get_default_hlt1_filter_code_for_hlt2 from Moore.streams import Stream, Streams from Hlt2Conf.lines.semileptonic import all_lines as full_lines # all full-stream lines import sys @@ -83,8 +85,10 @@ public_tools = [ with reconstruction.bind(from_file=False), hlt2_reconstruction.bind(make_reconstruction=make_light_reco_pr_kf_without_UT),\ require_gec.bind(skipUT=True),\ default_VeloCluster_source.bind(bank_type="VPRetinaCluster"),\ + make_charged_protoparticles.bind(fill_probnn_defaults=True),\ make_TrackBestTrackCreator_tracks.bind(max_ghost_prob=0.7, max_chi2ndof=sys.float_info.max),\ make_PrKalmanFilter_Velo_tracks.bind(max_chi2ndof=5.),\ make_PrKalmanFilter_noUT_tracks.bind(max_chi2ndof=4.),\ - make_PrKalmanFilter_Seed_tracks.bind(max_chi2ndof=6.): + make_PrKalmanFilter_Seed_tracks.bind(max_chi2ndof=6.),\ + get_default_hlt1_filter_code_for_hlt2.bind(code=r"Hlt1(?!PassthroughLargeEvent).*Decision"): config = run_moore(options, make_streams, public_tools) diff --git a/doc/tutorials/hltefficiencychecker.rst b/doc/tutorials/hltefficiencychecker.rst index d3f87b59677..314c24d7c34 100644 --- a/doc/tutorials/hltefficiencychecker.rst +++ b/doc/tutorials/hltefficiencychecker.rst @@ -118,7 +118,7 @@ say we are interested in measuring some HLT1 efficiencies on |PhiPhi-decay|. Her evt_max: 100 testfiledb_key: Upgrade_BsPhiPhi_MD_FTv4_DIGI_retinacluster debug_mode: False - hlt1_configuration: hlt1_pp_forward_then_matching_no_ut + hlt1_configuration: hlt1_pp_matching_no_ut_1000KHz options: # - $HLTEFFICIENCYCHECKERROOT/options/hlt1_moore_lines_example.py # Allen lines are specified internally to Allen - $HLTEFFICIENCYCHECKERROOT/options/options_template.py.jinja # first rendered with jinja2 @@ -166,7 +166,7 @@ of interest. We also specify an ``hlt1_configuration`` with the appropriate key; .. note:: The ``hlt1_configuration`` (or ``Allen`` sequence) is a string that maps to the configured set of algorithms that will run in HLT1. The default ones - -- including ``hlt1_pp_forward_then_matching_no_ut``, which is the default for the beginning of 2024 -- now expect `Retina Clusters`_, but older MC + -- including ``hlt1_pp_matching_no_ut_1000KHz``, which is the default for the beginning of 2024 -- now expect `Retina Clusters`_, but older MC does not contain them. Although they `can be added to existing DIGI files `_, you can also use a configuration that doesn't require them, e.g. ``hlt1_pp_veloSP``. @@ -386,7 +386,7 @@ We'll this time follow the example decay of |jpsiPhi-decay|, which has an exampl job: trigger_level: 2 evt_max: 200 - testfiledb_key: expected_2024_min_bias_hlt1_filtered + testfiledb_key: expected_2024_min_bias_hlt1_filtered_v2 lines_from: Hlt2Conf.lines.topological_b hlt2_configuration: current_without_UT options: @@ -395,7 +395,7 @@ We'll this time follow the example decay of |jpsiPhi-decay|, which has an exampl script: $HLTEFFICIENCYCHECKERROOT/scripts/hlt_calculate_rates.py args: input: *NTUPLE - input_rate: 1140 # See links in TestFileDB entry + input_rate: 1000 # See links in TestFileDB entry json: Hlt2_rates.json The first thing you might notice is the absence of the ``annotated_decay_descriptor``. We are interested in estimating the rate that a @@ -595,7 +595,7 @@ analysis scripts will see more triggers, we have to tell it what the input rate the HLT1-filtering) to get the correct HLT2 output rate. This is achieved with the ``input_rate`` analysis key, which accepts a value in kHz. The default is therefore 30000. HLT1-filtered min. bias should have an input rate around `1000 kHz `_, -but can differ between samples. For example, the ``expected_2024_min_bias_hlt1_filtered`` sample has a HLT1 output rate of 1.14 MHz, whilst +but can differ between samples. For example, the ``expected_2024_min_bias_hlt1_filtered_v2`` sample has a HLT1 output rate of 1 MHz, whilst the older ``upgrade_minbias_hlt1_filtered`` featured a looser HLT1 configuration and has an output rate of 1.65 MHz. Beyond the wizard: writing and running your own options file @@ -622,7 +622,7 @@ and an options file defining the input: from Moore import options from HltEfficiencyChecker.config import run_moore_with_tuples - # Imports for 2024-like no-UT reconstruction scenario aligned with hlt2_pp_thor_without_UT + # Imports for 2024-like no-UT reconstruction scenario aligned with hlt2_pp_2024 from RecoConf.global_tools import ( stateProvider_with_simplified_geom, trackMasterExtrapolator_with_simplified_geom, @@ -632,7 +632,17 @@ and an options file defining the input: reconstruction as hlt2_reconstruction, make_light_reco_pr_kf_without_UT, ) - from RecoConf.ttrack_selections_reco import make_ttrack_reco + from RecoConf.hlt2_tracking import ( + make_TrackBestTrackCreator_tracks, + make_PrKalmanFilter_noUT_tracks, + make_PrKalmanFilter_Velo_tracks, + make_PrKalmanFilter_Seed_tracks, + ) + from RecoConf.decoders import default_VeloCluster_source + from RecoConf.event_filters import require_gec + from RecoConf.protoparticles import make_charged_protoparticles + from Hlt2Conf.settings.defaults import get_default_hlt1_filter_code_for_hlt2 + import sys from RecoConf.calorimeter_reconstruction import make_digits from RecoConf.muonid import make_muon_hits @@ -669,10 +679,22 @@ and an options file defining the input: trackMasterExtrapolator_with_simplified_geom(), stateProvider_with_simplified_geom(), ] - with reconstruction.bind(from_file=False), make_light_reco_pr_kf_without_UT.bind( - skipRich=False, skipCalo=False, skipMuon=False - ), make_ttrack_reco.bind(skipCalo=False), hlt2_reconstruction.bind( + with reconstruction.bind(from_file=False), hlt2_reconstruction.bind( make_reconstruction=make_light_reco_pr_kf_without_UT + ), require_gec.bind(skipUT=True), default_VeloCluster_source.bind( + bank_type="VPRetinaCluster" + ), make_charged_protoparticles.bind( + fill_probnn_defaults=True + ), make_TrackBestTrackCreator_tracks.bind( + max_ghost_prob=0.7, max_chi2ndof=sys.float_info.max + ), make_PrKalmanFilter_Velo_tracks.bind( + max_chi2ndof=5.0 + ), make_PrKalmanFilter_noUT_tracks.bind( + max_chi2ndof=4.0 + ), make_PrKalmanFilter_Seed_tracks.bind( + max_chi2ndof=6.0 + ), get_default_hlt1_filter_code_for_hlt2.bind( + code=r"Hlt1(?!PassthroughLargeEvent).*Decision" ): run_moore_with_tuples(options, False, decay, public_tools=public_tools) @@ -687,7 +709,7 @@ indicates whether HLT1 (``True``) or HLT2 (``False``) is running and the annotat full HLT2 reconstruction, we wrap the ``run_moore_with_tuples`` call in ``with reconstruction.bind(from_file=False)``. Providing the ``reco_from_file`` key earlier amounts to putting ``from_file=True`` here. The ``hlt2_configuration`` key we provided earlier was ``current_without_UT``, which maps to the ``make_light_reco_pr_kf_without_UT`` function and a series of binds. Alternatively, ``future_with_UT`` would map to the -``make_fastest_reconstruction`` reconstruction function. The lines: +``make_light_reco_pr_kf`` reconstruction function. The lines: .. code-block:: python @@ -728,7 +750,7 @@ The rate of this line can be calculated by first configuring a minimum bias run from Moore import options from HltEfficiencyChecker.config import run_moore_with_tuples - # Imports for 2024-like no-UT reconstruction scenario aligned with hlt2_pp_thor_without_UT + # Imports for 2024-like no-UT reconstruction scenario aligned with hlt2_pp_2024 from RecoConf.global_tools import ( stateProvider_with_simplified_geom, trackMasterExtrapolator_with_simplified_geom, @@ -738,10 +760,20 @@ The rate of this line can be calculated by first configuring a minimum bias run reconstruction as hlt2_reconstruction, make_light_reco_pr_kf_without_UT, ) - from RecoConf.ttrack_selections_reco import make_ttrack_reco - - # Expected HLT1 output rate of this sample is ~1.14 MHz. - options.set_input_and_conds_from_testfiledb("expected_2024_min_bias_hlt1_filtered") + from RecoConf.hlt2_tracking import ( + make_TrackBestTrackCreator_tracks, + make_PrKalmanFilter_noUT_tracks, + make_PrKalmanFilter_Velo_tracks, + make_PrKalmanFilter_Seed_tracks, + ) + from RecoConf.decoders import default_VeloCluster_source + from RecoConf.event_filters import require_gec + from RecoConf.protoparticles import make_charged_protoparticles + from Hlt2Conf.settings.defaults import get_default_hlt1_filter_code_for_hlt2 + import sys + + # Expected HLT1 output rate of this sample is ~1 MHz. + options.set_input_and_conds_from_testfiledb("expected_2024_min_bias_hlt1_filtered_v2") options.evt_max = 200 options.ntuple_file = "hlt2_rate_ntuple.root" options.scheduler_legacy_mode = False @@ -751,10 +783,22 @@ The rate of this line can be calculated by first configuring a minimum bias run trackMasterExtrapolator_with_simplified_geom(), stateProvider_with_simplified_geom(), ] - with reconstruction.bind(from_file=False), make_light_reco_pr_kf_without_UT.bind( - skipRich=False, skipCalo=False, skipMuon=False - ), make_ttrack_reco.bind(skipCalo=False), hlt2_reconstruction.bind( + with reconstruction.bind(from_file=False), hlt2_reconstruction.bind( make_reconstruction=make_light_reco_pr_kf_without_UT + ), require_gec.bind(skipUT=True), default_VeloCluster_source.bind( + bank_type="VPRetinaCluster" + ), make_charged_protoparticles.bind( + fill_probnn_defaults=True + ), make_TrackBestTrackCreator_tracks.bind( + max_ghost_prob=0.7, max_chi2ndof=sys.float_info.max + ), make_PrKalmanFilter_Velo_tracks.bind( + max_chi2ndof=5.0 + ), make_PrKalmanFilter_noUT_tracks.bind( + max_chi2ndof=4.0 + ), make_PrKalmanFilter_Seed_tracks.bind( + max_chi2ndof=6.0 + ), get_default_hlt1_filter_code_for_hlt2.bind( + code=r"Hlt1(?!PassthroughLargeEvent).*Decision" ): run_moore_with_tuples(options, False, public_tools=public_tools) @@ -762,7 +806,7 @@ and then running these options (``DaVinci/HltEfficiencyChecker/options/hlt2_rate ``hlt_calculate_rates.py`` on ``rate_ntuple.root``:: DaVinci/run gaudirun.py DaVinci/HltEfficiencyChecker/options/hlt2_lines_example.py DaVinci/HltEfficiencyChecker/options/hlt2_rate_example.py - DaVinci/run DaVinci/HltEfficiencyChecker/scripts/hlt_calculate_rates.py hlt2_rate_ntuple.root --input-rate 1140 --json Hlt2_rates.json + DaVinci/run DaVinci/HltEfficiencyChecker/scripts/hlt_calculate_rates.py hlt2_rate_ntuple.root --input-rate 1000 --json Hlt2_rates.json which gives the output:: @@ -845,7 +889,7 @@ The ``.yaml`` configuration of the wizard for overlap calculation is much the sa trigger_level: 1 evt_max: 100 testfiledb_key: exp_24_minbias_Sim10c_magdown - hlt1_configuration: hlt1_pp_forward_then_matching_no_ut + hlt1_configuration: hlt1_pp_matching_no_ut_1000KHz options: - $HLTEFFICIENCYCHECKERROOT/options/options_template.py.jinja # first rendered with jinja2 analysis: -- GitLab From 53045b6c48fa884035f60fcb063bb60b5c422954 Mon Sep 17 00:00:00 2001 From: Rosen Matev Date: Fri, 19 Apr 2024 03:12:48 +0200 Subject: [PATCH 40/51] TAE handling for EvtStoreSvc --- .../Hlt2Conf/lines/calibration/calibration.py | 17 +++++++---------- .../python/Hlt2Conf/settings/hlt2_slim.py | 11 +++++++++++ Hlt/Moore/python/Moore/stream_writers.py | 1 + MooreCache/CMakeLists.txt | 15 ++++++++------- 4 files changed, 27 insertions(+), 17 deletions(-) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/calibration/calibration.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/calibration/calibration.py index 03da76c5c20..2bd4286de0e 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/calibration/calibration.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/calibration/calibration.py @@ -11,7 +11,7 @@ from Moore.config import register_line_builder from Moore.lines import Hlt2Line -from PyConf.Algorithms import Gaudi__DataCopy as DataCopy +from PyConf.Algorithms import CopyUnsignedInt from PyConf.control_flow import CompositeNode, NodeLogic all_lines = {} @@ -60,19 +60,16 @@ def hlt2_tae_line(name: str = 'Hlt2Calib_TAE', prescale: float = 0.33): raw_banks=['VP', 'UT', 'FT', 'Rich', 'Muon', 'Calo', 'Plume'], ) - copy_algs = [ - DataCopy(What=f"Banks/{tae}", Target=f"OutputBanks/{tae}") - for tae in ["Prev3", "Prev2", "Prev1", "Next1", "Next2", "Next3"] - ] - - # FIXME: this emits Gaudi__DataCopy_d408adeb WARNING No valid data found - # when node logic is LAZY_OR + copy_alg = CopyUnsignedInt( + Input="/Event/Banks/TAEHalfWindow", + Output="/Event/Banks/TAEHalfWindowOutput", + # see application.py:online_writer() + ) line.node = CompositeNode( name=line.name + "DecisionWithOutput", - children=[line.node] + copy_algs, + children=[line.node, copy_alg], combine_logic=NodeLogic.LAZY_AND, ) - return line diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/settings/hlt2_slim.py b/Hlt/Hlt2Conf/python/Hlt2Conf/settings/hlt2_slim.py index f1e0a256151..b762d58658d 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/settings/hlt2_slim.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/settings/hlt2_slim.py @@ -158,6 +158,17 @@ def _make_streams(): lumi_lines = [builder() for builder in lumi_calibration_lines.values()] hlt2calib_lines = [builder() for builder in calibration_lines.values()] + # Select all TAE events with a line different than the (prescaled) + # Hlt2Calib_TAE line. This allows us to test that only TAE events selected + # by Hlt2Calib_TAE line are TAE in the output. + hlt2calib_lines.append( + Hlt2Line( + name="Hlt2Calib_TAENoTAE", + algs=[], + hlt1_filter_code=r"Hlt1TAE.*Decision", + prescale=1, + )) + return Streams(streams=[ Stream("full", lines=full_lines), Stream("turbo", lines=turbo_lines), diff --git a/Hlt/Moore/python/Moore/stream_writers.py b/Hlt/Moore/python/Moore/stream_writers.py index 8f9a37b2037..3f1ebfb9612 100644 --- a/Hlt/Moore/python/Moore/stream_writers.py +++ b/Hlt/Moore/python/Moore/stream_writers.py @@ -113,6 +113,7 @@ def stream_writer(options, writers.append( online_writer( consolidate_views.RawEvent, + stream=stream.name, enable_tae=stream.name.upper() == "HLT2CALIB", )) elif options.output_type == ROOT_KEY: diff --git a/MooreCache/CMakeLists.txt b/MooreCache/CMakeLists.txt index c5ed641a274..939ab6828f3 100644 --- a/MooreCache/CMakeLists.txt +++ b/MooreCache/CMakeLists.txt @@ -48,13 +48,14 @@ set(LOKI_FUNCTORS_CACHE_POST_ACTION_OPTS) list(APPEND hlt1_settings hlt1_pp_default) list(APPEND hlt2_settings - options/hlt2_pp_thor - options/hlt2_pp_commissioning - options/hlt2_pp_thor_without_UT - options/hlt2_pp_2022_reprocessing - options/sprucing/spruce_production_2023_1 - options/sprucing/spruce_production_2023_2 - options/sprucing/spruce_production_2022 + options/hlt2_pp_2024 +# options/hlt2_pp_thor +# options/hlt2_pp_commissioning +# options/hlt2_pp_thor_without_UT +# options/hlt2_pp_2022_reprocessing +# options/sprucing/spruce_production_2023_1 +# options/sprucing/spruce_production_2023_2 +# options/sprucing/spruce_production_2022 ) foreach(name IN LISTS hlt1_settings) -- GitLab From fa8246ddd44c4c932b9a76ac2e1c5994516ef047 Mon Sep 17 00:00:00 2001 From: Rosen Matev Date: Fri, 19 Apr 2024 13:45:13 +0200 Subject: [PATCH 41/51] Add back accidentally removed functor caches --- MooreCache/CMakeLists.txt | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/MooreCache/CMakeLists.txt b/MooreCache/CMakeLists.txt index 939ab6828f3..762b1557f41 100644 --- a/MooreCache/CMakeLists.txt +++ b/MooreCache/CMakeLists.txt @@ -49,13 +49,12 @@ set(LOKI_FUNCTORS_CACHE_POST_ACTION_OPTS) list(APPEND hlt1_settings hlt1_pp_default) list(APPEND hlt2_settings options/hlt2_pp_2024 -# options/hlt2_pp_thor -# options/hlt2_pp_commissioning -# options/hlt2_pp_thor_without_UT -# options/hlt2_pp_2022_reprocessing -# options/sprucing/spruce_production_2023_1 -# options/sprucing/spruce_production_2023_2 -# options/sprucing/spruce_production_2022 + options/hlt2_pp_thor + options/hlt2_pp_thor_without_UT + options/hlt2_pp_2022_reprocessing + options/sprucing/spruce_production_2023_1 + options/sprucing/spruce_production_2023_2 + options/sprucing/spruce_production_2022 ) foreach(name IN LISTS hlt1_settings) -- GitLab From 03f8e9886c6f09337cbfd5199767a5a351910264 Mon Sep 17 00:00:00 2001 From: Nicole Skidmore Date: Fri, 19 Apr 2024 13:59:55 +0200 Subject: [PATCH 42/51] Add cache for exclusive Sprucing --- .../options/sprucing/spruce_production.py | 32 +++++++++++++++++++ .../Sprucing_production_PP_24c1.py | 18 +++++------ MooreCache/CMakeLists.txt | 16 ++++++---- 3 files changed, 49 insertions(+), 17 deletions(-) create mode 100644 Hlt/Hlt2Conf/options/sprucing/spruce_production.py diff --git a/Hlt/Hlt2Conf/options/sprucing/spruce_production.py b/Hlt/Hlt2Conf/options/sprucing/spruce_production.py new file mode 100644 index 00000000000..e4ea64948bd --- /dev/null +++ b/Hlt/Hlt2Conf/options/sprucing/spruce_production.py @@ -0,0 +1,32 @@ +############################################################################### +# (c) Copyright 2023 CERN for the benefit of the LHCb Collaboration # +# # +# This software is distributed under the terms of the GNU General Public # +# Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". # +# # +# 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. # +############################################################################### +""" +Job option to make exclusive Sprucing cache. +""" +from Moore import options +from Gaudi.Configuration import EventPersistencySvc +from Configurables import ApplicationMgr, Gaudi__RootCnvSvc +from RecoConf.reconstruction_objects import reconstruction +from Hlt2Conf.sprucing_settings.Sprucing_production_PP_24c1 import excl_spruce_production + +options.output_file = 'spruce_example_realtimereco_{stream}.dst' +options.output_type = 'ROOT' +##Next line needed as Hlt/Moore/tests/options/mdf_input_and_conds_hlt2.py fixes it to 0.0 +options.persistreco_version = 1.0 + +# Next few lines are needed for building functor caches from this option file +ApplicationMgr().ExtSvc += ["Gaudi::IODataManager/IODataManager"] +rootSvc = Gaudi__RootCnvSvc("RootCnvSvc") +EventPersistencySvc().CnvServices += [rootSvc] +ApplicationMgr().ExtSvc += [rootSvc] + +with reconstruction.bind(from_file=True, spruce=True): + config = excl_spruce_production(options) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/sprucing_settings/Sprucing_production_PP_24c1.py b/Hlt/Hlt2Conf/python/Hlt2Conf/sprucing_settings/Sprucing_production_PP_24c1.py index 2fd58f2846a..bc8465e076b 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/sprucing_settings/Sprucing_production_PP_24c1.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/sprucing_settings/Sprucing_production_PP_24c1.py @@ -189,6 +189,14 @@ nominal_lines = [ "Hlt2PID_LcToPKPi", "Hlt2PID_OmegaToL0K_L0ToPPi_LLL", "Hlt2PID_PhiToKK_Unbiased_Detached", + "Hlt2PID_PhiToKmKpTagged_Detached", + "Hlt2PID_KsToPiPi_DD", + "Hlt2PID_L0ToPPi_DD_LowPT", + "Hlt2PID_L0ToPPi_DD_MidPT", + "Hlt2PID_OmegaToL0K_L0ToPPi_DDD", + "Hlt2PID_L0ToPPi_DD_HighPT", + "Hlt2PID_PhiToKpKmTagged_Detached", + "Hlt2PID_L0ToPPi_DD_VeryHighPT", ] persist_reco_lines = [ @@ -239,16 +247,6 @@ persist_reco_rawbank_lines = [ "Hlt2TurCalVelo2Long_Kshort", "Hlt2TurCalVelo2Long_KshortSoft", "Hlt2TurCalVelo2Long_KshortVHard", - - ## tbc - "Hlt2PID_PhiToKmKpTagged_Detached", - "Hlt2PID_KsToPiPi_DD", - "Hlt2PID_L0ToPPi_DD_LowPT", - "Hlt2PID_L0ToPPi_DD_MidPT", - "Hlt2PID_OmegaToL0K_L0ToPPi_DDD", - "Hlt2PID_L0ToPPi_DD_HighPT", - "Hlt2PID_PhiToKpKmTagged_Detached", - "Hlt2PID_L0ToPPi_DD_VeryHighPT", ] diff --git a/MooreCache/CMakeLists.txt b/MooreCache/CMakeLists.txt index 762b1557f41..a8542113f44 100644 --- a/MooreCache/CMakeLists.txt +++ b/MooreCache/CMakeLists.txt @@ -48,13 +48,15 @@ set(LOKI_FUNCTORS_CACHE_POST_ACTION_OPTS) list(APPEND hlt1_settings hlt1_pp_default) list(APPEND hlt2_settings - options/hlt2_pp_2024 - options/hlt2_pp_thor - options/hlt2_pp_thor_without_UT - options/hlt2_pp_2022_reprocessing - options/sprucing/spruce_production_2023_1 - options/sprucing/spruce_production_2023_2 - options/sprucing/spruce_production_2022 + options/hlt2_pp_2024 + options/hlt2_pp_thor + options/hlt2_pp_commissioning + options/hlt2_pp_thor_without_UT + options/hlt2_pp_2022_reprocessing + options/sprucing/spruce_production_2023_1 + options/sprucing/spruce_production_2023_2 + options/sprucing/spruce_production_2022 + options/sprucing/spruce_production ) foreach(name IN LISTS hlt1_settings) -- GitLab From e3bc3f6d8260bcdfbaa4e0b686e4dc88fb94f661 Mon Sep 17 00:00:00 2001 From: Christina Agapopoulou Date: Fri, 19 Apr 2024 14:32:16 +0200 Subject: [PATCH 43/51] update references for Allen!1566 manually --- .../tests/refs/hlt2_with_hlt1_decisions.ref.detdesc | 10 ++++------ .../hlt2_with_hlt1_decisions.ref.x86_64_v3-detdesc-opt | 10 ++++------ 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/Hlt/Hlt2Conf/tests/refs/hlt2_with_hlt1_decisions.ref.detdesc b/Hlt/Hlt2Conf/tests/refs/hlt2_with_hlt1_decisions.ref.detdesc index 37e979d1801..74470fd8fc3 100644 --- a/Hlt/Hlt2Conf/tests/refs/hlt2_with_hlt1_decisions.ref.detdesc +++ b/Hlt/Hlt2Conf/tests/refs/hlt2_with_hlt1_decisions.ref.detdesc @@ -105,12 +105,11 @@ FunctionalParticleMaker_fa1d2992 INFO Number of counters : 5 |*"# passed Track filter" | 1767 | 1767 |( 100.0000 +- 0.000000)% | | "Nb created anti-particles" | 20 | 891 | 44.550 | 23.125 | 9.0000 | 91.000 | | "Nb created particles" | 20 | 876 | 43.800 | 21.035 | 7.0000 | 101.00 | -GaudiAllenCountAndDumpLineDecisi... INFO Number of counters : 90 +GaudiAllenCountAndDumpLineDecisi... INFO Number of counters : 88 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"Selected by Hlt1BGIPseudoPVsBeamOneDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1BGIPseudoPVsBeamTwoDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1BGIPseudoPVsDownBeamBeamDecision"| 20 | 0 |( 0.000000 +- 0.000000)% | - |*"Selected by Hlt1BGIPseudoPVsIRBeamBeamDecision"| 20 | 3 |( 15.00000 +- 7.984360)% | |*"Selected by Hlt1BGIPseudoPVsNoBeamDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1BGIPseudoPVsUpBeamBeamDecision"| 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1BeamGasDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | @@ -154,7 +153,7 @@ GaudiAllenCountAndDumpLineDecisi... INFO Number of counters : 90 |*"Selected by Hlt1Dst2D0PiAlignmentDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1Dst2D0PiDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1ErrorBankDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | - |*"Selected by Hlt1GlobalDecision" | 20 | 14 |( 70.00000 +- 10.24695)% | + |*"Selected by Hlt1GlobalDecision" | 20 | 11 |( 55.00000 +- 11.12430)% | |*"Selected by Hlt1KsToPiPiDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1KsToPiPiDoubleMuonMisIDDecision"| 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1LambdaLLDetachedTrackDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | @@ -163,7 +162,6 @@ GaudiAllenCountAndDumpLineDecisi... INFO Number of counters : 90 |*"Selected by Hlt1ODIN1kHzLumiDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1ODINCalibDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1ODINLumiDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | - |*"Selected by Hlt1ODINNoBiasDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1OneMuonTrackLineDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1PassthroughDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1PassthroughPVinSMOG2Decision" | 20 | 0 |( 0.000000 +- 0.000000)% | @@ -194,7 +192,7 @@ GaudiAllenCountAndDumpLineDecisi... INFO Number of counters : 90 |*"Selected by Hlt1TwoKsDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1TwoTrackKsDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1TwoTrackMVADecision" | 20 | 8 |( 40.00000 +- 10.95445)% | - |*"Selected by Hlt1VeloMicroBiasDecision" | 20 | 1 |( 5.000000 +- 4.873397)% | + |*"Selected by Hlt1VeloMicroBiasDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1VeloMicroBiasVeloClosingDecision"| 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1XiOmegaLLLDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | GraphClustering_72971694 INFO Number of counters : 3 @@ -469,7 +467,7 @@ VeloClusterTrackingSIMD_87c18651 INFO Number of counters : 2 | "Nb of Produced Tracks" | 20 | 5339 | 266.95 | VoidFilter_e9b061eb INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"Cut selection efficiency" | 14 | 0 |( 0.000000 +- 0.000000)% | + |*"Cut selection efficiency" | 11 | 0 |( 0.000000 +- 0.000000)% | fromPrSeedingTracksV1Tracks_26a4... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Nb of converted Tracks" | 20 | 1336 | 66.800 | diff --git a/Hlt/Hlt2Conf/tests/refs/hlt2_with_hlt1_decisions.ref.x86_64_v3-detdesc-opt b/Hlt/Hlt2Conf/tests/refs/hlt2_with_hlt1_decisions.ref.x86_64_v3-detdesc-opt index b33dafec4de..86e3e36c3b7 100644 --- a/Hlt/Hlt2Conf/tests/refs/hlt2_with_hlt1_decisions.ref.x86_64_v3-detdesc-opt +++ b/Hlt/Hlt2Conf/tests/refs/hlt2_with_hlt1_decisions.ref.x86_64_v3-detdesc-opt @@ -105,12 +105,11 @@ FunctionalParticleMaker_fa1d2992 INFO Number of counters : 5 |*"# passed Track filter" | 1766 | 1766 |( 100.0000 +- 0.000000)% | | "Nb created anti-particles" | 20 | 890 | 44.500 | 23.161 | 9.0000 | 91.000 | | "Nb created particles" | 20 | 876 | 43.800 | 21.122 | 7.0000 | 101.00 | -GaudiAllenCountAndDumpLineDecisi... INFO Number of counters : 90 +GaudiAllenCountAndDumpLineDecisi... INFO Number of counters : 88 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | |*"Selected by Hlt1BGIPseudoPVsBeamOneDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1BGIPseudoPVsBeamTwoDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1BGIPseudoPVsDownBeamBeamDecision"| 20 | 0 |( 0.000000 +- 0.000000)% | - |*"Selected by Hlt1BGIPseudoPVsIRBeamBeamDecision"| 20 | 3 |( 15.00000 +- 7.984360)% | |*"Selected by Hlt1BGIPseudoPVsNoBeamDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1BGIPseudoPVsUpBeamBeamDecision"| 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1BeamGasDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | @@ -154,7 +153,7 @@ GaudiAllenCountAndDumpLineDecisi... INFO Number of counters : 90 |*"Selected by Hlt1Dst2D0PiAlignmentDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1Dst2D0PiDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1ErrorBankDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | - |*"Selected by Hlt1GlobalDecision" | 20 | 14 |( 70.00000 +- 10.24695)% | + |*"Selected by Hlt1GlobalDecision" | 20 | 11 |( 55.00000 +- 11.12430)% | |*"Selected by Hlt1KsToPiPiDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1KsToPiPiDoubleMuonMisIDDecision"| 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1LambdaLLDetachedTrackDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | @@ -163,7 +162,6 @@ GaudiAllenCountAndDumpLineDecisi... INFO Number of counters : 90 |*"Selected by Hlt1ODIN1kHzLumiDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1ODINCalibDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1ODINLumiDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | - |*"Selected by Hlt1ODINNoBiasDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1OneMuonTrackLineDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1PassthroughDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1PassthroughPVinSMOG2Decision" | 20 | 0 |( 0.000000 +- 0.000000)% | @@ -194,7 +192,7 @@ GaudiAllenCountAndDumpLineDecisi... INFO Number of counters : 90 |*"Selected by Hlt1TwoKsDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1TwoTrackKsDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1TwoTrackMVADecision" | 20 | 9 |( 45.00000 +- 11.12430)% | - |*"Selected by Hlt1VeloMicroBiasDecision" | 20 | 1 |( 5.000000 +- 4.873397)% | + |*"Selected by Hlt1VeloMicroBiasDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1VeloMicroBiasVeloClosingDecision"| 20 | 0 |( 0.000000 +- 0.000000)% | |*"Selected by Hlt1XiOmegaLLLDecision" | 20 | 0 |( 0.000000 +- 0.000000)% | GraphClustering_72971694 INFO Number of counters : 3 @@ -469,7 +467,7 @@ VeloClusterTrackingSIMD_87c18651 INFO Number of counters : 2 | "Nb of Produced Tracks" | 20 | 5354 | 267.70 | VoidFilter_e9b061eb INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | - |*"Cut selection efficiency" | 14 | 0 |( 0.000000 +- 0.000000)% | + |*"Cut selection efficiency" | 11 | 0 |( 0.000000 +- 0.000000)% | fromPrSeedingTracksV1Tracks_26a4... INFO Number of counters : 1 | Counter | # | sum | mean/eff^* | rms/err^* | min | max | | "Nb of converted Tracks" | 20 | 1335 | 66.750 | -- GitLab From 010599a6e3a9f04aa6c450dd259a10afff10b45e Mon Sep 17 00:00:00 2001 From: Jamie Gooding Date: Fri, 19 Apr 2024 14:57:02 +0200 Subject: [PATCH 44/51] Add settings for running on data with super pixel clusters --- Hlt/Hlt2Conf/options/hlt2_pp_2024.py | 4 ++- Hlt/Hlt2Conf/options/hlt2_pp_2024_veloSP.py | 26 +++++++++++++++++++ .../python/Hlt2Conf/settings/hlt2_pp_2024.py | 2 -- 3 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 Hlt/Hlt2Conf/options/hlt2_pp_2024_veloSP.py diff --git a/Hlt/Hlt2Conf/options/hlt2_pp_2024.py b/Hlt/Hlt2Conf/options/hlt2_pp_2024.py index 601b86d2ce7..4ead86aa356 100644 --- a/Hlt/Hlt2Conf/options/hlt2_pp_2024.py +++ b/Hlt/Hlt2Conf/options/hlt2_pp_2024.py @@ -10,6 +10,7 @@ ############################################################################### from Moore import options, run_moore from RecoConf.reconstruction_objects import reconstruction +from RecoConf.decoders import default_VeloCluster_source from RecoConf.global_tools import stateProvider_with_simplified_geom, trackMasterExtrapolator_with_simplified_geom from Hlt2Conf.settings.hlt2_pp_2024 import make_streams from DDDB.CheckDD4Hep import UseDD4Hep @@ -31,5 +32,6 @@ public_tools = [ stateProvider_with_simplified_geom() ] -with reconstruction.bind(from_file=False): +with reconstruction.bind(from_file=False),\ + default_VeloCluster_source.bind(bank_type="VPRetinaCluster"): config = run_moore(options, public_tools=public_tools) diff --git a/Hlt/Hlt2Conf/options/hlt2_pp_2024_veloSP.py b/Hlt/Hlt2Conf/options/hlt2_pp_2024_veloSP.py new file mode 100644 index 00000000000..e8eb15e21fe --- /dev/null +++ b/Hlt/Hlt2Conf/options/hlt2_pp_2024_veloSP.py @@ -0,0 +1,26 @@ +############################################################################### +# (c) Copyright 2024 CERN for the benefit of the LHCb Collaboration # +# # +# This software is distributed under the terms of the GNU General Public # +# Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". # +# # +# 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 Moore import options, run_moore +from RecoConf.reconstruction_objects import reconstruction +from RecoConf.decoders import default_VeloCluster_source +from RecoConf.global_tools import stateProvider_with_simplified_geom, trackMasterExtrapolator_with_simplified_geom +from Hlt2Conf.settings.hlt2_pp_2024 import make_streams + +options.lines_maker = make_streams + +public_tools = [ + trackMasterExtrapolator_with_simplified_geom(), + stateProvider_with_simplified_geom() +] + +with reconstruction.bind(from_file=False),\ + default_VeloCluster_source.bind(bank_type="VP"): + config = run_moore(options, public_tools=public_tools) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/settings/hlt2_pp_2024.py b/Hlt/Hlt2Conf/python/Hlt2Conf/settings/hlt2_pp_2024.py index 1d7efe80bef..58ce8434cf1 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/settings/hlt2_pp_2024.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/settings/hlt2_pp_2024.py @@ -237,7 +237,6 @@ def make_streams(real_make_streams: Callable = _make_streams) -> Streams: make_PrKalmanFilter_Velo_tracks, make_PrKalmanFilter_Seed_tracks, ) - from RecoConf.decoders import default_VeloCluster_source from RecoConf.event_filters import require_gec from RecoConf.protoparticles import make_charged_protoparticles from Hlt2Conf.settings.defaults import get_default_hlt1_filter_code_for_hlt2 @@ -249,7 +248,6 @@ def make_streams(real_make_streams: Callable = _make_streams) -> Streams: # FIXME: once ProbNNs are trained for 2024 drop make_charged_protoparticles.bind(fill_probnn_defaults=True) with reconstruction.bind(make_reconstruction=make_light_reco_pr_kf_without_UT),\ require_gec.bind(skipUT=True),\ - default_VeloCluster_source.bind(bank_type="VPRetinaCluster"),\ make_charged_protoparticles.bind(fill_probnn_defaults=True),\ make_TrackBestTrackCreator_tracks.bind(max_ghost_prob=0.7, max_chi2ndof=sys.float_info.max),\ make_PrKalmanFilter_Velo_tracks.bind(max_chi2ndof=5.),\ -- GitLab From 332f1e0bd78b9c6c07580d2a57acc0862aa0f68a Mon Sep 17 00:00:00 2001 From: Kara Mattioli Date: Fri, 19 Apr 2024 15:42:50 +0200 Subject: [PATCH 45/51] Reduce SMOG2 sprucing bandwidth --- .../options/sprucing/spruce_all_lines.py | 19 +- .../python/Hlt2Conf/Sprucing_tests.py | 40 +- .../python/Hlt2Conf/lines/ift/__init__.py | 8 +- .../ift/builders/smog2_muons_builders.py | 17 +- .../Hlt2Conf/lines/ift/hlt2_ift_smog2.py | 2 +- .../lines/ift/hlt2_ift_smog2_chargedPID.py | 2 +- .../lines/ift/hlt2_ift_smog2_generic.py | 2 +- .../Hlt2Conf/lines/ift/spruce_ift_smog2.py | 34 +- .../lines/ift/spruce_ift_smog2_chargedPID.py | 340 +++++++++- .../lines/ift/spruce_ift_smog2_charm.py | 604 +++++++----------- .../lines/ift/spruce_ift_smog2_generic.py | 193 ++++++ .../lines/ift/spruce_ift_smog2_muons.py | 109 ++-- .../lines/ift/spruce_ift_smog2_omegas.py | 8 +- .../lines/ift/spruce_ift_smog2_trackingeff.py | 225 +++++++ .../ift/spruce_ift_smog2_trackingeff_Ks.py | 205 ++++++ .../lines/ift/spruce_ift_smog2_xis.py | 8 +- .../sprucing.qms/test_spruce_bandwidth.qmt | 7 + 17 files changed, 1345 insertions(+), 478 deletions(-) create mode 100644 Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/spruce_ift_smog2_generic.py create mode 100644 Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/spruce_ift_smog2_trackingeff.py create mode 100644 Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/spruce_ift_smog2_trackingeff_Ks.py diff --git a/Hlt/Hlt2Conf/options/sprucing/spruce_all_lines.py b/Hlt/Hlt2Conf/options/sprucing/spruce_all_lines.py index 0be9613ed31..09e9614fc48 100644 --- a/Hlt/Hlt2Conf/options/sprucing/spruce_all_lines.py +++ b/Hlt/Hlt2Conf/options/sprucing/spruce_all_lines.py @@ -28,11 +28,24 @@ options.input_process = 'Hlt2' options.output_file = "spruce_all_lines.dst" options.output_type = "ROOT" +lines_to_remove = [ + 'SpruceB2OC_BdToDsmK_DsmToHHH_FEST', + "SpruceIFT_SMOG2TrackEff_DiMuon_SeedMuon_mum_Match", + "SpruceIFT_SMOG2TrackEff_DiMuon_SeedMuon_mum_Tag", + "SpruceIFT_SMOG2TrackEff_DiMuon_SeedMuon_mup_Match", + "SpruceIFT_SMOG2TrackEff_DiMuon_SeedMuon_mup_Tag", + "SpruceIFT_SMOG2TrackEff_DiMuon_VeloMuon_mum_Match", + "SpruceIFT_SMOG2TrackEff_DiMuon_VeloMuon_mum_Tag", + "SpruceIFT_SMOG2TrackEff_DiMuon_VeloMuon_mup_Match", + "SpruceIFT_SMOG2TrackEff_DiMuon_VeloMuon_mup_Tag" +] + def make_lines(): - if 'SpruceB2OC_BdToDsmK_DsmToHHH_FEST' in sprucing_lines.keys(): - print("Removing SpruceB2OC_BdToDsmK_DsmToHHH_FEST") - sprucing_lines.pop('SpruceB2OC_BdToDsmK_DsmToHHH_FEST') + for line in lines_to_remove: + if line in sprucing_lines.keys(): + print("Removing {line_name}".format(line_name=line)) + sprucing_lines.pop(line) return [builder() for builder in sprucing_lines.values()] diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/Sprucing_tests.py b/Hlt/Hlt2Conf/python/Hlt2Conf/Sprucing_tests.py index 231f3eed395..3e81b0dc992 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/Sprucing_tests.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/Sprucing_tests.py @@ -18,11 +18,33 @@ from Moore.lines import PassLine, SpruceLine from Moore.persistence import persist_line_outputs from PyConf.application import metainfo_repos from Moore.persistence.hlt2_tistos import list_of_full_stream_lines +import re from Moore.streams import Stream, Streams, DETECTORS public_tools = [stateProvider_with_simplified_geom()] +#Remove SMOG2 dimuon tracking efficiency lines which do not currently pass sprucing tests due to incompatible HLT2-filtered test file +to_remove = [ + "SpruceIFT_SMOG2TrackEff_DiMuon_SeedMuon_mum_Match", + "SpruceIFT_SMOG2TrackEff_DiMuon_SeedMuon_mum_Tag", + "SpruceIFT_SMOG2TrackEff_DiMuon_SeedMuon_mup_Match", + "SpruceIFT_SMOG2TrackEff_DiMuon_SeedMuon_mup_Tag", + "SpruceIFT_SMOG2TrackEff_DiMuon_VeloMuon_mum_Match", + "SpruceIFT_SMOG2TrackEff_DiMuon_VeloMuon_mum_Tag", + "SpruceIFT_SMOG2TrackEff_DiMuon_VeloMuon_mup_Match", + "SpruceIFT_SMOG2TrackEff_DiMuon_VeloMuon_mup_Tag" +] + + +def remove_lines(lines_dict, pattern_to_remove): + filtered = { + name: line + for name, line in lines_dict.items() + if re.search(pattern_to_remove, name) is None + } + return filtered + def spruce_streaming(options: Options): """ @@ -57,8 +79,15 @@ def spruce_all_lines_realtime(options: Options): metainfo_repos.global_bind(extra_central_tags=['key-ac5f2a28']) + trunc_lines = sprucing_lines + + for remove in to_remove: + trunc_lines = remove_lines(trunc_lines, remove) + + print("Removed lines: ", sprucing_lines.keys() - trunc_lines.keys()) + def make_lines(): - return [builder() for builder in sprucing_lines.values()] + return [builder() for builder in trunc_lines.values()] config = run_moore(options, make_lines, public_tools) return config @@ -191,8 +220,15 @@ def spruce_all_lines_realtime_test_old_json(options: Options): ./Moore/run gaudirun.py spruce_all_lines_realtime.py """ + trunc_lines = sprucing_lines + + for remove in to_remove: + trunc_lines = remove_lines(trunc_lines, remove) + + print("Removed lines: ", sprucing_lines.keys() - trunc_lines.keys()) + def make_lines(): - return [builder() for builder in sprucing_lines.values()] + return [builder() for builder in trunc_lines.values()] ##Old file has the "Line" suffix on lines with persist_line_outputs.bind( diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/__init__.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/__init__.py index d1013bd595b..172f5db142f 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/__init__.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/__init__.py @@ -56,19 +56,23 @@ ift_turbo_lines.update(hlt2_ift_smog2_chargedPID.turbo_lines) ##### Sprucing lines from . import spruce_ift_smog2 -#from . import spruce_ift_generic # to be added +from . import spruce_ift_smog2_generic from . import spruce_ift_smog2_charm from . import spruce_ift_smog2_chargedPID from . import spruce_ift_smog2_muons from . import spruce_ift_smog2_xis from . import spruce_ift_smog2_omegas +from . import spruce_ift_smog2_trackingeff +from . import spruce_ift_smog2_trackingeff_Ks # provide "sprucing_lines" for correct registration by the overall sprucing lines module sprucing_lines = {} sprucing_lines.update(spruce_ift_smog2.sprucing_lines) -#sprucing_lines.update(spruce_ift_smog2_generic.sprucing_lines) # to be added +sprucing_lines.update(spruce_ift_smog2_generic.sprucing_lines) sprucing_lines.update(spruce_ift_smog2_charm.sprucing_lines) sprucing_lines.update(spruce_ift_smog2_chargedPID.sprucing_lines) sprucing_lines.update(spruce_ift_smog2_muons.sprucing_lines) sprucing_lines.update(spruce_ift_smog2_xis.sprucing_lines) sprucing_lines.update(spruce_ift_smog2_omegas.sprucing_lines) +sprucing_lines.update(spruce_ift_smog2_trackingeff.sprucing_lines) +sprucing_lines.update(spruce_ift_smog2_trackingeff_Ks.sprucing_lines) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/builders/smog2_muons_builders.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/builders/smog2_muons_builders.py index 777b0057db6..7a47b563531 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/builders/smog2_muons_builders.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/builders/smog2_muons_builders.py @@ -151,7 +151,8 @@ def make_Jpsi2mumu( code = F.require_all(F.MASS > massWind_Jpsi[0], F.MASS < massWind_Jpsi[1]) if process == 'spruce': - muons = make_muons(max_trchi2dof=5, pid_cut=_SPRUCE_PIDmu_JPSI) + muons = make_muons( + max_trchi2dof=5, min_pt=500 * MeV, pid_cut=_SPRUCE_PIDmu_JPSI) dimuon = make_dimuon( particles=muons, descriptors=descriptor, @@ -185,7 +186,7 @@ def make_Jpsi2mumutagged( if process == 'spruce': probe_muon = make_probe_muons( - probecharge, p_min=1 * GeV, pt_min=400 * MeV) + probecharge, p_min=3 * GeV, pt_min=200 * MeV) tag_muon = make_tag_muons( tagcharge, p_min=3 * GeV, @@ -245,7 +246,8 @@ def make_Ups2mumu( code = F.require_all(F.MASS > massWind_Ups[0], F.MASS < massWind_Ups[1]) if process == 'spruce': - muons = make_muons(pid_cut=_SPRUCE_PIDmu_JPSI) + muons = make_muons( + max_trchi2dof=5, min_pt=500 * MeV, pid_cut=_SPRUCE_PIDmu_JPSI) dimuon = make_dimuon( particles=muons, descriptors=descriptor, @@ -274,7 +276,8 @@ def make_low_dimumu( code = F.require_all(F.MASS < 2900 * MeV) if process == 'spruce': - muons = make_muons(pid_cut=_SPRUCE_PIDmu_JPSI) + muons = make_muons( + max_trchi2dof=5, min_pt=500 * MeV, pid_cut=_SPRUCE_PIDmu_JPSI) dimuon = make_dimuon( particles=muons, descriptors=descriptor, @@ -302,7 +305,8 @@ def make_DY2mumu(name='DY2mumu_{hash}', code = F.require_all(F.MASS > minm) if process == 'spruce': - muons = make_muons(pid_cut=_SPRUCE_PIDmu_JPSI) + muons = make_muons( + max_trchi2dof=5, min_pt=500 * MeV, pid_cut=_SPRUCE_PIDmu_JPSI) dimuon = make_dimuon( particles=muons, descriptors=descriptor, @@ -332,7 +336,8 @@ def make_DY2mumu_ExcludeCCBar( code = F.require_all(F.MASS > massWind_DY[0], F.MASS < massWind_DY[1]) if process == 'spruce': - muons = make_muons(pid_cut=_SPRUCE_PIDmu_JPSI) + muons = make_muons( + max_trchi2dof=5, min_pt=500 * MeV, pid_cut=_SPRUCE_PIDmu_JPSI) dimuon = make_dimuon( particles=muons, descriptors=descriptor, diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2.py index 90b4fec729c..0d412a34cc6 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2.py @@ -37,7 +37,7 @@ _hlt1_SMOG2_lines = [ "Hlt1SMOG2BELowMultElectronsDecision", "Hlt1SMOG2MinimumBiasDecision", "Hlt1PassthroughPVinSMOG2Decision", - "Hlt1SMOG2KsToPiPiDecision", + "Hlt1SMOG2KsTopipiDecision", "Hlt1SMOG2L0ToppiDecision", ] diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2_chargedPID.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2_chargedPID.py index 92de0e8de60..05df0c16915 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2_chargedPID.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2_chargedPID.py @@ -36,7 +36,7 @@ _MASS_KS = 497.7 * MeV _MASS_Lambda0 = 1115.683 * MeV _MASS_PHI = 1019.445 * MeV -hlt1_filter_ks = ["Hlt1SMOG2KsToPiPiDecision"] +hlt1_filter_ks = ["Hlt1SMOG2KsTopipiDecision"] hlt1_filter_lambda = ["Hlt1SMOG2L0ToppiDecision"] hlt1_filter_phi = [ "Hlt1SMOG22BodyGenericDecision", "Hlt1SMOG22BodyGenericPromptDecision", diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2_generic.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2_generic.py index 6f0538593bb..c22a06501ea 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2_generic.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/hlt2_ift_smog2_generic.py @@ -35,7 +35,7 @@ hlt1_filter_singletrack = [ "Hlt1SMOG2SingleTrackHighPtDecision", "Hlt1SMOG2SingleTrackVeryHighPtDecision", ] -hlt1_filter_ks = ["Hlt1SMOG2KsToPiPiDecision"] +hlt1_filter_ks = ["Hlt1SMOG2KsTopipiDecision"] hlt1_filter_lambda = ["Hlt1SMOG2L0ToppiDecision"] diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/spruce_ift_smog2.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/spruce_ift_smog2.py index a5dfd3780e3..a42f38123e7 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/spruce_ift_smog2.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/spruce_ift_smog2.py @@ -18,7 +18,6 @@ from PyConf import configurable from RecoConf.reconstruction_objects import upfront_reconstruction from Hlt2Conf.lines.ift.builders.smog2_builders import make_smog2_prefilters from RecoConf.reconstruction_objects import make_pvs -from RecoConf.event_filters import require_gec PROCESS = "spruce" sprucing_lines = {} @@ -27,28 +26,27 @@ sprucing_lines = {} @configurable def smog2_passthrough_PV_spruceline( name='SpruceIFT_SMOG2Passthrough_PV_in_SMOG2', - prescale=1, + prescale=0.08, persistreco=True): pvs = make_pvs return SpruceLine( name=name, algs=make_smog2_prefilters(pvs=pvs), - hlt2_filter_code='Hlt2IFT_SMOG2Passthrough_PV_in_SMOG2Decision', + hlt2_filter_code='Hlt2IFTFull_SMOG2Passthrough_PV_in_SMOG2Decision', prescale=prescale, persistreco=persistreco) @register_line_builder(sprucing_lines) @configurable -def smog2_passthrough_spruceline(name='SpruceIFT_SMOG2GECPassthrough', - prescale=1, +def smog2_passthrough_spruceline(name='SpruceIFT_SMOG2Passthrough', + prescale=0.05, persistreco=True): - gec = require_gec() return SpruceLine( name=name, - algs=upfront_reconstruction() + [gec], + algs=upfront_reconstruction(), prescale=prescale, - hlt2_filter_code='Hlt2IFT_SMOG2GECPassthroughDecision', + hlt2_filter_code='Hlt2IFTFull_SMOG2PassthroughDecision', persistreco=persistreco) @@ -60,7 +58,21 @@ def smog2_lumi_passthrough_spruceline(name='SpruceIFT_SMOG2LumiPassthrough', return SpruceLine( name=name, algs=upfront_reconstruction(), - hlt2_filter_code='Hlt2IFT_SMOG2LumiPassthroughDecision', + hlt2_filter_code='Hlt2IFTFull_SMOG2LumiPassthroughDecision', + prescale=prescale, + persistreco=persistreco, + ) + + +@register_line_builder(sprucing_lines) +@configurable +def smog2_cep_passthrough_spruceline(name='SpruceIFT_SMOG2CEPPassthrough', + prescale=1, + persistreco=True): + return SpruceLine( + name=name, + algs=upfront_reconstruction(), + hlt2_filter_code='Hlt2IFTFull_SMOG2CEPPassthroughDecision', prescale=prescale, persistreco=persistreco, ) @@ -69,12 +81,12 @@ def smog2_lumi_passthrough_spruceline(name='SpruceIFT_SMOG2LumiPassthrough', @register_line_builder(sprucing_lines) @configurable def smog2_minbias_passthrough_spruceline(name='SpruceIFT_SMOG2MBPassthrough', - prescale=1, + prescale=0.1, persistreco=True): return SpruceLine( name=name, algs=upfront_reconstruction(), - hlt2_filter_code='Hlt2IFT_SMOG2MBPassthroughDecision', + hlt2_filter_code='Hlt2IFTFull_SMOG2MBPassthroughDecision', prescale=prescale, persistreco=persistreco, ) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/spruce_ift_smog2_chargedPID.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/spruce_ift_smog2_chargedPID.py index 6e0b467b9f3..f4891f97a68 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/spruce_ift_smog2_chargedPID.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/spruce_ift_smog2_chargedPID.py @@ -48,7 +48,7 @@ _MASS_PHI = 1019.445 * MeV def smog2_ks2pipi_ll_spruceline( name="SpruceIFT_SMOG2KS2PiPiLL", prescale=1, - persistreco=True, + persistreco=False, min_p=2 * GeV, max_trchi2dof=5, min_bpvipchi2=25, @@ -63,7 +63,7 @@ def smog2_ks2pipi_ll_spruceline( lambda_veto_window=9 * MeV, ): """ - SMOG2 KS -> pi pi HLT2 trigger line for PID calibration (no PID requirements) + SMOG2 KS -> pi pi Sprucing line for PID calibration (no PID requirements) Children reconstructed as long tracks """ pvs = make_pvs @@ -87,17 +87,126 @@ def smog2_ks2pipi_ll_spruceline( return SpruceLine( name=name, algs=make_smog2_prefilters(pvs=pvs) + [ks2pipi], - hlt2_filter_code='Hlt2IFT_SMOG2KS2PiPiLLDecision', + hlt2_filter_code='Hlt2IFTFull_SMOG2KS2PiPiLLDecision', + pv_tracks=True, prescale=prescale, persistreco=persistreco) +@register_line_builder(sprucing_lines) +@configurable +def smog2_ks2pipi_ll_lowpt_spruceline( + name="SpruceIFT_SMOG2KS2PiPiLLLowPT", + prescale=1, + persistreco=False, + min_p=2 * GeV, + max_trchi2dof=5, + min_bpvipchi2=25, + mmin=_MASSWINDOW_KS[0], + mmax=_MASSWINDOW_KS[1], + apt_min=0 * GeV, + apt_max=2 * GeV, + vchi2pdof_max=25.0, + end_vz_max=2200 * mm, + bpvvdchi2_min=0, + bpvltime_min=0 * ns, + parent_bpvipchi2_max=75, + lambda_veto_window=9 * MeV, +): + """ + SMOG2 KS -> pi pi Sprucing line for PID calibration (no PID requirements) + Children reconstructed as long tracks + """ + pvs = make_pvs + + ks2pipi = make_smog2_ks2pipi_ll_line( + pvs=pvs, + min_p=min_p, + max_trchi2dof=max_trchi2dof, + min_bpvipchi2=min_bpvipchi2, + mmin=mmin, + mmax=mmax, + apt_min=apt_min, + apt_max=apt_max, + vchi2pdof_max=vchi2pdof_max, + end_vz_max=end_vz_max, + bpvvdchi2_min=bpvvdchi2_min, + bpvltime_min=bpvltime_min, + parent_bpvipchi2_max=parent_bpvipchi2_max, + lambda_veto_window=lambda_veto_window, + process="spruce", + name="smog2_ks2pipi_ll_lowpt", + ) + return SpruceLine( + name=name, + algs=make_smog2_prefilters(pvs=pvs) + [ks2pipi], + hlt2_filter_code='Hlt2IFTFull_SMOG2KS2PiPiLLLowPTDecision', + pv_tracks=True, + prescale=prescale, + persistreco=persistreco, + ) + + +@register_line_builder(sprucing_lines) +@configurable +def smog2_ks2pipi_ll_highpt_spruceline( + name="SpruceIFT_SMOG2KS2PiPiLLHighPT", + prescale=1, + persistreco=False, + min_p=2 * GeV, + max_trchi2dof=5, + min_bpvipchi2=25, + mmin=_MASSWINDOW_KS[0], + mmax=_MASSWINDOW_KS[1], + apt_min=2 * GeV, + apt_max=None, + vchi2pdof_max=25.0, + end_vz_max=2200 * mm, + bpvvdchi2_min=0, + bpvltime_min=0 * ns, + parent_bpvipchi2_max=75, + lambda_veto_window=9 * MeV, +): + """ + SMOG2 KS -> pi pi Sprucing line for PID calibration (no PID requirements) + Children reconstructed as long tracks + """ + pvs = make_pvs + + ks2pipi = make_smog2_ks2pipi_ll_line( + pvs=pvs, + min_p=min_p, + max_trchi2dof=max_trchi2dof, + min_bpvipchi2=min_bpvipchi2, + mmin=mmin, + mmax=mmax, + apt_min=apt_min, + apt_max=apt_max, + vchi2pdof_max=vchi2pdof_max, + end_vz_max=end_vz_max, + bpvvdchi2_min=bpvvdchi2_min, + bpvltime_min=bpvltime_min, + parent_bpvipchi2_max=parent_bpvipchi2_max, + lambda_veto_window=lambda_veto_window, + process="spruce", + name="smog2_ks2pipi_ll_highpt", + ) + return SpruceLine( + name=name, + algs=make_smog2_prefilters(pvs=pvs) + [ks2pipi], + hlt2_filter_code='Hlt2IFTFull_SMOG2KS2PiPiLLHighPTDecision', + pv_tracks=True, + prescale=prescale, + persistreco=persistreco, + ) + + @register_line_builder(sprucing_lines) @configurable def smog2_ks2pipi_dd_spruceline( name="SpruceIFT_SMOG2KS2PiPiDD", prescale=1, - persistreco=True, + persistreco=False, min_p=2 * GeV, max_trchi2dof=5, min_bpvipchi2=25, @@ -112,7 +221,7 @@ def smog2_ks2pipi_dd_spruceline( lambda_veto_window=18 * MeV, ): """ - SMOG2 KS -> pi pi HLT2 trigger line for PID calibration (no PID requirements) + SMOG2 KS -> pi pi Sprucing line for PID calibration (no PID requirements) Children reconstructed as downstream tracks """ pvs = make_pvs @@ -136,7 +245,8 @@ def smog2_ks2pipi_dd_spruceline( return SpruceLine( name=name, algs=make_smog2_prefilters(pvs=pvs) + [ks2pipi], - hlt2_filter_code='Hlt2IFT_SMOG2KS2PiPiDDDecision', + hlt2_filter_code='Hlt2IFTFull_SMOG2KS2PiPiDDDecision', + pv_tracks=True, prescale=prescale, persistreco=persistreco) @@ -145,12 +255,12 @@ def smog2_ks2pipi_dd_spruceline( @configurable def smog2_Kstar2Kpi_spruceline( name="SpruceIFT_SMOG2Kstar2KPi", - prescale=1, - persistreco=True, + prescale=0.1, + persistreco=False, min_p=2 * GeV, max_trchi2dof=5, - minPIDKaon=0, - maxPIDKaon=5, + minPIDKaon=5, + maxPIDKaon=0, min_bpvipchi2=25, mmin=_MASSWINDOW_KStar[0], mmax=_MASSWINDOW_KStar[1], @@ -186,9 +296,10 @@ def smog2_Kstar2Kpi_spruceline( name=name, algs=make_smog2_prefilters(pvs=pvs) + [kstar2kpi], hlt2_filter_code=[ - 'Hlt2IFT_SMOG2Passthrough_PV_in_SMOG2Decision', - 'Hlt2IFT_SMOG2MBPassthroughDecision' + 'Hlt2IFTFull_SMOG2Passthrough_PV_in_SMOG2Decision', + 'Hlt2IFTFull_SMOG2MBPassthroughDecision' ], + pv_tracks=True, prescale=prescale, persistreco=persistreco) @@ -198,7 +309,7 @@ def smog2_Kstar2Kpi_spruceline( def smog2_L02ppi_ll_spruceline( name="SpruceIFT_SMOG2Lambda02PPiLL", prescale=1, - persistreco=True, + persistreco=False, min_p=2 * GeV, max_trchi2dof=5, min_bpvipchi2=25, @@ -209,11 +320,11 @@ def smog2_L02ppi_ll_spruceline( end_vz_max=2200 * mm, bpvvdchi2_min=0, bpvltime_min=0 * ns, - parent_bpvipchi2_max=200, + parent_bpvipchi2_max=100, ks_veto_window=20 * MeV, ): """ - SMOG2 Lambda0 -> p pi sprucing trigger line for PID calibration (no PID requirements) + SMOG2 Lambda0 -> p pi sprucing line for PID calibration (no PID requirements) Children reconstructed as long tracks """ pvs = make_pvs @@ -238,17 +349,70 @@ def smog2_L02ppi_ll_spruceline( return SpruceLine( name=name, algs=make_smog2_prefilters(pvs=pvs) + [l02ppi], - hlt2_filter_code='Hlt2IFT_SMOG2Lambda02PPiLLDecision', + hlt2_filter_code='Hlt2IFTFull_SMOG2Lambda02PPiLLDecision', + pv_tracks=True, prescale=prescale, persistreco=persistreco) +@register_line_builder(sprucing_lines) +@configurable +def smog2_L02ppi_ll_highpt_line( + name="SpruceIFT_SMOG2Lambda02PPiLLHighPT", + prescale=1, + persistreco=False, + min_p=2 * GeV, + max_trchi2dof=5, + min_bpvipchi2=25, + mmin=_MASSWINDOW_LAMBDA0[0], + mmax=_MASSWINDOW_LAMBDA0[1], + apt_min=2.5 * GeV, + vchi2pdof_max=25.0, + end_vz_max=2200 * mm, + bpvvdchi2_min=0, + bpvltime_min=0 * ns, + parent_bpvipchi2_max=100, + ks_veto_window=20 * MeV, +): + """ + SMOG2 Lambda0 -> p pi sprucing line for PID calibration (no PID requirements). High pT line without presale for pT>1.5 + Children reconstructed as long tracks + """ + pvs = make_pvs + + l02ppi = make_smog2_L02ppi_ll_line( + pvs=pvs, + min_p=min_p, + max_trchi2dof=max_trchi2dof, + min_bpvipchi2=min_bpvipchi2, + mmin=mmin, + mmax=mmax, + apt_min=apt_min, + vchi2pdof_max=vchi2pdof_max, + end_vz_max=end_vz_max, + bpvvdchi2_min=bpvvdchi2_min, + bpvltime_min=bpvltime_min, + parent_bpvipchi2_max=parent_bpvipchi2_max, + ks_veto_window=ks_veto_window, + process="spruce", + name="smog2_lambda2ppi_ll_highpt", + ) + return SpruceLine( + name=name, + algs=make_smog2_prefilters(pvs=pvs) + [l02ppi], + hlt2_filter_code='Hlt2IFTFull_SMOG2Lambda02PPiLLHighPTDecision', + pv_tracks=True, + prescale=prescale, + persistreco=persistreco, + ) + + @register_line_builder(sprucing_lines) @configurable def smog2_L02ppi_dd_spruceline( name="SpruceIFT_SMOG2Lambda02PPiDD", prescale=1, - persistreco=True, + persistreco=False, min_p=2 * GeV, max_trchi2dof=5, min_bpvipchi2=25, @@ -263,7 +427,7 @@ def smog2_L02ppi_dd_spruceline( ks_veto_window=40 * MeV, ): """ - SMOG2 Lambda0 -> p pi HLT2 trigger line for PID calibration (no PID requirements) + SMOG2 Lambda0 -> p pi sprucing trigger line for PID calibration (no PID requirements) Children reconstructed as downstream tracks """ pvs = make_pvs @@ -288,7 +452,8 @@ def smog2_L02ppi_dd_spruceline( return SpruceLine( name=name, algs=make_smog2_prefilters(pvs=pvs) + [l02ppi], - hlt2_filter_code='Hlt2IFT_SMOG2Lambda02PPiDDDecision', + hlt2_filter_code='Hlt2IFTFull_SMOG2Lambda02PPiDDDecision', + pv_tracks=True, prescale=prescale, persistreco=persistreco) @@ -298,22 +463,22 @@ def smog2_L02ppi_dd_spruceline( def smog2_phi2kk_spruceline( name="SpruceIFT_SMOG2Phi2kk", prescale=1, - persistreco=True, - min_p=2 * GeV, - min_pt=380 * MeV, + persistreco=False, + min_p=3 * GeV, + min_pt=600 * MeV, max_trchi2dof=5, max_ghostprob=0.25, - min_pidk=0, + min_pidk=10, mmincomb=_MASSWINDOW_COMB_PHI[0], mmaxcomb=_MASSWINDOW_COMB_PHI[1], mminver=_MASSWINDOW_VERTEX_PHI[0], mmaxver=_MASSWINDOW_VERTEX_PHI[1], apt_min=0 * MeV, - maxsdoca=10 * mm, + maxsdoca=2 * mm, vchi2pdof_max=16., ): """ - SMOG2 phi(1020) -> K K (Km probe) sprucing trigger line for physics analysis + SMOG2 phi(1020) -> K K (Km probe) sprucing line for physics analysis """ name = "SpruceIFT_SMOG2Phi2kk" pvs = make_pvs @@ -338,9 +503,10 @@ def smog2_phi2kk_spruceline( name=name, algs=make_smog2_prefilters(pvs=pvs) + [phi2kk], hlt2_filter_code=[ - 'Hlt2IFT_SMOG2Passthrough_PV_in_SMOG2Decision', - 'Hlt2IFT_SMOG2MBPassthroughDecision' + 'Hlt2IFTFull_SMOG2Passthrough_PV_in_SMOG2Decision', + 'Hlt2IFTFull_SMOG2MBPassthroughDecision' ], + pv_tracks=True, prescale=prescale, persistreco=persistreco) @@ -350,7 +516,7 @@ def smog2_phi2kk_spruceline( def smog2_phi2kk_kmProbe_spruceline( name="SpruceIFT_SMOG2Phi2kk_Kmprobe", prescale=1, - persistreco=True, + persistreco=False, min_p=2 * GeV, min_pt=380 * MeV, max_trchi2dof=5, @@ -361,11 +527,11 @@ def smog2_phi2kk_kmProbe_spruceline( mminver=_MASSWINDOW_VERTEX_PHI[0], mmaxver=_MASSWINDOW_VERTEX_PHI[1], apt_min=0 * MeV, - maxsdoca=10 * mm, + maxsdoca=2 * mm, vchi2pdof_max=16., ): """ - SMOG2 phi(1020) -> K K (Km probe) sprucing trigger line for PID calibration + SMOG2 phi(1020) -> K K (Km probe) sprucing line for PID calibration """ name = "SpruceIFT_SMOG2Phi2kk_Kmprobe" pvs = make_pvs @@ -389,7 +555,8 @@ def smog2_phi2kk_kmProbe_spruceline( return SpruceLine( name=name, algs=make_smog2_prefilters(pvs=pvs) + [phi2kk], - hlt2_filter_code='Hlt2IFT_SMOG2Phi2kk_KmprobeDecision', + hlt2_filter_code='Hlt2IFTFull_SMOG2Phi2kk_KmprobeDecision', + pv_tracks=True, prescale=prescale, persistreco=persistreco) @@ -398,7 +565,7 @@ def smog2_phi2kk_kmProbe_spruceline( @configurable def smog2_phi2kk_kpProbe_spruceline(name="SpruceIFT_SMOG2Phi2kk_Kpprobe", prescale=1, - persistreco=True, + persistreco=False, min_p=2 * GeV, min_pt=380 * MeV, max_trchi2dof=5, @@ -409,7 +576,7 @@ def smog2_phi2kk_kpProbe_spruceline(name="SpruceIFT_SMOG2Phi2kk_Kpprobe", mminver=_MASSWINDOW_VERTEX_PHI[0], mmaxver=_MASSWINDOW_VERTEX_PHI[1], apt_min=0 * MeV, - maxsdoca=10 * mm, + maxsdoca=2 * mm, vchi2pdof_max=16.): """ SMOG2 phi(1020) -> K K (Kp probe) sprucing trigger line for PID calibration @@ -436,6 +603,111 @@ def smog2_phi2kk_kpProbe_spruceline(name="SpruceIFT_SMOG2Phi2kk_Kpprobe", return SpruceLine( name=name, algs=make_smog2_prefilters(pvs=pvs) + [phi2kk], - hlt2_filter_code='Hlt2IFT_SMOG2Phi2kk_KpprobeDecision', + hlt2_filter_code='Hlt2IFTFull_SMOG2Phi2kk_KpprobeDecision', + pv_tracks=True, prescale=prescale, persistreco=persistreco) + + +@register_line_builder(sprucing_lines) +@configurable +def smog2_phi2kk_kmProbe_highpt_line( + name="SpruceIFT_SMOG2Phi2kkHighPT_Kmprobe", + prescale=1, + persistreco=False, + min_p=2 * GeV, + min_pt=600 * MeV, + max_trchi2dof=5, + max_ghostprob=0.25, + min_pidk=15, + mmincomb=_MASSWINDOW_COMB_PHI[0], + mmaxcomb=_MASSWINDOW_COMB_PHI[1], + mminver=_MASSWINDOW_VERTEX_PHI[0], + mmaxver=_MASSWINDOW_VERTEX_PHI[1], + apt_min=2.5 * GeV, + maxsdoca=2 * mm, + vchi2pdof_max=16.0, +): + """ + SMOG2 phi(1020) -> K K (Km probe) sprucing trigger line for PID calibration. Unprescaled High PT line. + """ + name = "SpruceIFT_SMOG2Phi2kkHighPT_Kmprobe" + pvs = make_pvs + + phi2kk = make_smog2_phi2kk_calib( + name, + pvs=pvs, + min_p=min_p, + min_pt=min_pt, + max_trchi2dof=max_trchi2dof, + max_ghostprob=max_ghostprob, + min_pidk=min_pidk, + mmincomb=mmincomb, + mmaxcomb=mmaxcomb, + mminver=mminver, + mmaxver=mmaxver, + apt_min=apt_min, + maxsdoca=maxsdoca, + vchi2pdof_max=vchi2pdof_max, + process="spruce", + ) + return SpruceLine( + name=name, + algs=make_smog2_prefilters(pvs=pvs) + [phi2kk], + hlt2_filter_code='Hlt2IFTFull_SMOG2Phi2kkHighPT_KmprobeDecision', + pv_tracks=True, + prescale=prescale, + persistreco=persistreco, + ) + + +@register_line_builder(sprucing_lines) +@configurable +def smog2_phi2kk_kpProbe_highpt_line( + name="SpruceIFT_SMOG2Phi2kkHighPT_Kpprobe", + prescale=1, + persistreco=False, + min_p=2 * GeV, + min_pt=600 * MeV, + max_trchi2dof=5, + max_ghostprob=0.25, + min_pidk=15, + mmincomb=_MASSWINDOW_COMB_PHI[0], + mmaxcomb=_MASSWINDOW_COMB_PHI[1], + mminver=_MASSWINDOW_VERTEX_PHI[0], + mmaxver=_MASSWINDOW_VERTEX_PHI[1], + apt_min=2.5 * GeV, + maxsdoca=10 * mm, + vchi2pdof_max=16.0, +): + """ + SMOG2 phi(1020) -> K K (Kp probe) sprucing trigger line for PID calibration. Unprescaled high PT line + """ + name = "SpruceIFT_SMOG2Phi2kkHighPT_Kpprobe" + pvs = make_pvs + + phi2kk = make_smog2_phi2kk_calib( + name, + pvs=pvs, + min_p=min_p, + min_pt=min_pt, + max_trchi2dof=max_trchi2dof, + max_ghostprob=max_ghostprob, + min_pidk=min_pidk, + mmincomb=mmincomb, + mmaxcomb=mmaxcomb, + mminver=mminver, + mmaxver=mmaxver, + apt_min=apt_min, + maxsdoca=maxsdoca, + vchi2pdof_max=vchi2pdof_max, + process="spruce", + ) + return SpruceLine( + name=name, + algs=make_smog2_prefilters(pvs=pvs) + [phi2kk], + hlt2_filter_code='Hlt2IFTFull_SMOG2Phi2kkHighPT_KpprobeDecision', + pv_tracks=True, + prescale=prescale, + persistreco=persistreco, + ) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/spruce_ift_smog2_charm.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/spruce_ift_smog2_charm.py index 005d550efd0..c3f8de5d23a 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/spruce_ift_smog2_charm.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/spruce_ift_smog2_charm.py @@ -14,11 +14,11 @@ from Moore.config import register_line_builder, SpruceLine from RecoConf.reconstruction_objects import make_pvs from PyConf import configurable -from GaudiKernel.SystemOfUnits import GeV, MeV, mm +from GaudiKernel.SystemOfUnits import GeV, MeV, mm, picosecond from Hlt2Conf.lines.ift.builders.smog2_builders import make_smog2_prefilters -from Hlt2Conf.lines.ift.builders.smog2_charm_builders import make_particle_criteria, make_comb_criteria -from Hlt2Conf.lines.ift.builders.smog2_charm_builders import make_charm2hadrons, make_charm3hadrons, make_charm4hadrons +from Hlt2Conf.lines.ift.builders.smog2_charm_builders import make_particle_criteria, make_comb_criteria, make_charm_pions, make_charm_kaons +from Hlt2Conf.lines.ift.builders.smog2_charm_builders import make_charm2hadrons, make_charm3hadrons, make_charm4hadrons, make_Dst sprucing_lines = {} PROCESS = "spruce" @@ -28,6 +28,7 @@ PROCESS = "spruce" #=================== __MASS_D0 = 1864.83 * MeV +__MASS_DSTAR = 2010.26 * MeV __MASS_DP = 1869.62 * MeV __MASS_DS = 1968.49 * MeV __MASS_Lc = 2286.46 * MeV @@ -40,14 +41,15 @@ __MASS_CHIC0 = 3414.7 * MeV __MASS_CHIC2 = 3556.17 * MeV __MASS_PSI2S = 3686.1 * MeV -__MASSWin_D0 = 150 * MeV -__MASSWin_ETAC = 300 * MeV -__MASSWin_DP = 150 * MeV -__MASSWin_DS = 150 * MeV -__MASSWin_Lc = 150 * MeV -__MASSWin_Xicp = 150 * MeV -__MASSWin_Xic0 = 150 * MeV -__MASSWin_Omegac0 = 150 * MeV +__MASSWin_D0 = 80 * MeV +__MASSWin_DSTAR = 75 * MeV +__MASSWin_ETAC = 200 * MeV +__MASSWin_DP = 80 * MeV +__MASSWin_DS = 80 * MeV +__MASSWin_Lc = 80 * MeV +__MASSWin_Xicp = 80 * MeV +__MASSWin_Xic0 = 80 * MeV +__MASSWin_Omegac0 = 100 * MeV #======================================== # 2-body decays @@ -58,7 +60,7 @@ __MASSWin_Omegac0 = 150 * MeV @configurable def smog2_D02kpi_spruceline(name='SpruceIFT_SMOG2D02KPi', prescale=1, - persistreco=True): + persistreco=False): # Define bpvipchi2, minPIDk, maxPIDK, minPIDp, minpT, minp, maxtrchi2dof # if the line retention rate is low : no PID cut @@ -73,21 +75,21 @@ def smog2_D02kpi_spruceline(name='SpruceIFT_SMOG2D02KPi', pvs = make_pvs CriteriaKaon = make_particle_criteria( - bpvipchi2=2, - minPIDK=10, + bpvipchi2=4, + minPIDK=5, maxPIDK=None, minPIDp=None, minPIDpK=None, - minpT=250 * MeV, + minpT=600 * MeV, minp=3 * GeV, maxtrchi2dof=5) CriteriaPion = make_particle_criteria( - bpvipchi2=2, + bpvipchi2=4, minPIDK=None, maxPIDK=0, minPIDp=None, minPIDpK=None, - minpT=250 * MeV, + minpT=600 * MeV, minp=3 * GeV, maxtrchi2dof=5) Particles = ["kaon", "pion"] @@ -96,9 +98,24 @@ def smog2_D02kpi_spruceline(name='SpruceIFT_SMOG2D02KPi', CriteriaCombinations = make_comb_criteria( mass=__MASS_D0, masswin=__MASSWin_D0, - min_child_pt=0 * MeV, - max_sdoca=2 * mm, - vchi2pdof_max=25) + min_child_pt=800 * MeV, + max_sdoca=0.5 * mm, + vchi2pdof_max=25, + min_bpvltime=0.5 * picosecond) + + CharmKaons = make_charm_kaons( + bpvipchi2=4, + minPIDKaon=5, + min_pt=250 * MeV, + min_p=3 * GeV, + max_trchi2dof=5) + + CharmPions = make_charm_pions( + bpvipchi2=4, + maxPIDKaon=0, + min_pt=250 * MeV, + min_p=3 * GeV, + max_trchi2dof=5) D02kpi = make_charm2hadrons( name="D02kpi", @@ -112,138 +129,98 @@ def smog2_D02kpi_spruceline(name='SpruceIFT_SMOG2D02KPi', return SpruceLine( name=name, algs=make_smog2_prefilters(pvs=pvs) + [D02kpi], - hlt2_filter_code='Hlt2IFT_SMOG2D02KPiDecision', + hlt2_filter_code='Hlt2IFTFull_SMOG2D02KPiDecision', prescale=prescale, + pv_tracks=True, + extra_outputs=[("CharmKaons", CharmKaons), ("CharmPions", CharmPions)], persistreco=persistreco) @register_line_builder(sprucing_lines) @configurable -def D02kk_spruceline(name='SpruceIFT_SMOG2D02KK', prescale=1, - persistreco=True): +def Dst2D0pi_spruceline(name='SpruceIFT_SMOG2Dst2KPiPID', + prescale=1, + persistreco=False): pvs = make_pvs CriteriaKaon = make_particle_criteria( bpvipchi2=4, - minPIDK=10, + minPIDK=None, maxPIDK=None, minPIDp=None, minPIDpK=None, minpT=250 * MeV, minp=3 * GeV, maxtrchi2dof=5) - Particles = ["kaon", "kaon"] - CriteriaParticles = [CriteriaKaon, CriteriaKaon] - - CriteriaCombinations = make_comb_criteria( - mass=__MASS_D0, - masswin=__MASSWin_D0, - min_child_pt=0 * MeV, - max_sdoca=2 * mm, - vchi2pdof_max=25) - - D02kk = make_charm2hadrons( - name="D02kk", - process="spruce", - pvs=pvs, - decay="D0 -> K- K+", - particle=Particles, - CriteriaParticle=CriteriaParticles, - CriteriaCombination=CriteriaCombinations) - - return SpruceLine( - name=name, - algs=make_smog2_prefilters(pvs=pvs) + [D02kk], - hlt2_filter_code='Hlt2IFT_SMOG2D02KKDecision', - prescale=prescale, - persistreco=persistreco) - - -@register_line_builder(sprucing_lines) -@configurable -def D02pipi_spruceline(name='SpruceIFT_SMOG2D02pipi', - prescale=1, - persistreco=True): - - pvs = make_pvs - CriteriaPion = make_particle_criteria( bpvipchi2=4, minPIDK=None, - maxPIDK=0, + maxPIDK=None, minPIDp=None, minPIDpK=None, minpT=250 * MeV, minp=3 * GeV, maxtrchi2dof=5) - Particles = ["pion", "pion"] - CriteriaParticles = [CriteriaPion, CriteriaPion] - CriteriaCombinations = make_comb_criteria( - mass=__MASS_D0, - masswin=__MASSWin_D0, - min_child_pt=0 * MeV, - max_sdoca=2 * mm, - vchi2pdof_max=25) - - D02pipi = make_charm2hadrons( - name="D02pipi", - process="spruce", - pvs=pvs, - decay="D0 -> pi- pi+", - particle=Particles, - CriteriaParticle=CriteriaParticles, - CriteriaCombination=CriteriaCombinations) - - return SpruceLine( - name=name, - algs=make_smog2_prefilters(pvs=pvs) + [D02pipi], - hlt2_filter_code='Hlt2IFT_SMOG2D02pipiDecision', - prescale=prescale, - persistreco=persistreco) - - -@register_line_builder(sprucing_lines) -@configurable -def Etac2ppbar_spruceline(name='SpruceIFT_SMOG2Etac2ppbar', - prescale=1, - persistreco=True): - - pvs = make_pvs - - CriteriaProton = make_particle_criteria( - bpvipchi2=None, + CriteriaSlowPion = make_particle_criteria( + bpvipchi2=0, minPIDK=None, maxPIDK=None, - minPIDp=5, - minPIDpK=3, - minpT=250 * MeV, - minp=3 * GeV, + minPIDp=None, + minPIDpK=None, + minpT=100 * MeV, + minp=1.0 * GeV, maxtrchi2dof=5) - Particles = ["proton", "proton"] - CriteriaParticles = [CriteriaProton, CriteriaProton] - CriteriaCombinations = make_comb_criteria( - mass=__MASS_ETAC, - masswin=__MASSWin_ETAC, + CriteriaParticlesD0 = [CriteriaKaon, CriteriaPion] + + CriteriaCombinationD0 = make_comb_criteria( + mass=__MASS_D0, + masswin=__MASSWin_D0, + min_child_pt=800 * MeV, + max_sdoca=0.2 * mm, + vchi2pdof_max=16, + min_bpvltime=0.5 * picosecond, + min_mother_pt=400 * MeV) + + CriteriaCombinationDstar = make_comb_criteria( + mass=__MASS_DSTAR, + masswin=__MASSWin_DSTAR, min_child_pt=0 * MeV, - max_sdoca=2 * mm, - vchi2pdof_max=25) + max_sdoca=0.5 * mm, + vchi2pdof_max=16) - etac2ppbar = make_charm2hadrons( - name="etac2ppbar", + Dst2D0pi = make_Dst( + name='smog2_PID_DstToD0Pi_Combiner_{hash}', process="spruce", pvs=pvs, - decay='eta_c(1S) -> p+ p~-', - particle=Particles, - CriteriaParticle=CriteriaParticles, - CriteriaCombination=CriteriaCombinations) + CriteriaParticleD0=CriteriaParticlesD0, + CriteriaCombinationD0=CriteriaCombinationD0, + CriteriaSlowPion=CriteriaSlowPion, + CriteriaCombinationDstar=CriteriaCombinationDstar, + ) + + CharmKaons = make_charm_kaons( + bpvipchi2=4, + minPIDKaon=5, + min_pt=250 * MeV, + min_p=3 * GeV, + max_trchi2dof=5) + + CharmPions = make_charm_pions( + bpvipchi2=4, + maxPIDKaon=0, + min_pt=250 * MeV, + min_p=3 * GeV, + max_trchi2dof=5) return SpruceLine( name=name, - algs=make_smog2_prefilters(pvs=pvs) + [etac2ppbar], - hlt2_filter_code='Hlt2IFT_SMOG2Etac2ppbarDecision', + algs=make_smog2_prefilters(pvs=pvs) + [Dst2D0pi], + hlt2_filter_code='Hlt2IFTFull_SMOG2Dst2KPiPIDDecision', + pv_tracks=True, + extra_outputs=[("CharmKaons", CharmKaons), ("CharmPions", CharmPions)], prescale=prescale, persistreco=persistreco) @@ -257,26 +234,26 @@ def Etac2ppbar_spruceline(name='SpruceIFT_SMOG2Etac2ppbar', @configurable def Dpm2kpipi_spruceline(name='SpruceIFT_SMOG2Dpm2kpipi', prescale=1, - persistreco=True): + persistreco=False): pvs = make_pvs CriteriaKaon = make_particle_criteria( - bpvipchi2=4, - minPIDK=10, + bpvipchi2=5, + minPIDK=5, maxPIDK=None, minPIDp=None, minPIDpK=None, - minpT=250 * MeV, + minpT=400 * MeV, minp=3 * GeV, maxtrchi2dof=5) CriteriaPion = make_particle_criteria( - bpvipchi2=4, + bpvipchi2=5, minPIDK=None, maxPIDK=0, minPIDp=None, minPIDpK=None, - minpT=250 * MeV, + minpT=400 * MeV, minp=3 * GeV, maxtrchi2dof=5) Particles = ["kaon", "pion", "pion"] @@ -285,9 +262,10 @@ def Dpm2kpipi_spruceline(name='SpruceIFT_SMOG2Dpm2kpipi', CriteriaCombinations = make_comb_criteria( mass=__MASS_DP, masswin=__MASSWin_DP, - min_child_pt=0 * MeV, - max_sdoca=2 * mm, - vchi2pdof_max=25) + min_child_pt=800 * MeV, + max_sdoca=0.5 * mm, + vchi2pdof_max=25, + min_bpvltime=0.1 * picosecond) Dpm2kpipi = make_charm3hadrons( name="Dpm2kpipi", @@ -298,10 +276,26 @@ def Dpm2kpipi_spruceline(name='SpruceIFT_SMOG2Dpm2kpipi', CriteriaParticle=CriteriaParticles, CriteriaCombination=CriteriaCombinations) + CharmKaons = make_charm_kaons( + bpvipchi2=4, + minPIDKaon=5, + min_pt=250 * MeV, + min_p=3 * GeV, + max_trchi2dof=5) + + CharmPions = make_charm_pions( + bpvipchi2=4, + maxPIDKaon=0, + min_pt=250 * MeV, + min_p=3 * GeV, + max_trchi2dof=5) + return SpruceLine( name=name, algs=make_smog2_prefilters(pvs=pvs) + [Dpm2kpipi], - hlt2_filter_code='Hlt2IFT_SMOG2Dpm2kpipiDecision', + hlt2_filter_code='Hlt2IFTFull_SMOG2Dpm2kpipiDecision', + pv_tracks=True, + extra_outputs=[("CharmKaons", CharmKaons), ("CharmPions", CharmPions)], prescale=prescale, persistreco=persistreco) @@ -310,26 +304,26 @@ def Dpm2kpipi_spruceline(name='SpruceIFT_SMOG2Dpm2kpipi', @configurable def Ds2kkpi_spruceline(name='SpruceIFT_SMOG2DsToKKPi', prescale=1, - persistreco=True): + persistreco=False): pvs = make_pvs CriteriaKaon = make_particle_criteria( - bpvipchi2=4, - minPIDK=10, + bpvipchi2=5, + minPIDK=5, maxPIDK=None, minPIDp=None, minPIDpK=None, - minpT=250 * MeV, + minpT=400 * MeV, minp=3 * GeV, maxtrchi2dof=5) CriteriaPion = make_particle_criteria( - bpvipchi2=4, + bpvipchi2=5, minPIDK=None, maxPIDK=0, minPIDp=None, minPIDpK=None, - minpT=250 * MeV, + minpT=400 * MeV, minp=3 * GeV, maxtrchi2dof=5) Particles = ["kaon", "kaon", "pion"] @@ -338,9 +332,10 @@ def Ds2kkpi_spruceline(name='SpruceIFT_SMOG2DsToKKPi', CriteriaCombinations = make_comb_criteria( mass=__MASS_DS, masswin=__MASSWin_DS, - min_child_pt=0 * MeV, - max_sdoca=2 * mm, - vchi2pdof_max=25) + min_child_pt=800 * MeV, + max_sdoca=0.5 * mm, + vchi2pdof_max=25, + min_bpvltime=0.1 * picosecond) Ds2kkpi = make_charm3hadrons( name="Ds2kkpi", @@ -351,10 +346,26 @@ def Ds2kkpi_spruceline(name='SpruceIFT_SMOG2DsToKKPi', CriteriaParticle=CriteriaParticles, CriteriaCombination=CriteriaCombinations) + CharmKaons = make_charm_kaons( + bpvipchi2=4, + minPIDKaon=5, + min_pt=250 * MeV, + min_p=3 * GeV, + max_trchi2dof=5) + + CharmPions = make_charm_pions( + bpvipchi2=4, + maxPIDKaon=0, + min_pt=250 * MeV, + min_p=3 * GeV, + max_trchi2dof=5) + return SpruceLine( name=name, algs=make_smog2_prefilters(pvs=pvs) + [Ds2kkpi], - hlt2_filter_code='Hlt2IFT_SMOG2DsToKKPiDecision', + hlt2_filter_code='Hlt2IFTFull_SMOG2DsToKKPiDecision', + pv_tracks=True, + extra_outputs=[("CharmKaons", CharmKaons), ("CharmPions", CharmPions)], prescale=prescale, persistreco=persistreco) @@ -363,12 +374,12 @@ def Ds2kkpi_spruceline(name='SpruceIFT_SMOG2DsToKKPi', @configurable def Lc2pkpi_spruceline(name='SpruceIFT_SMOG2LcTopKPi', prescale=1, - persistreco=True): + persistreco=False): pvs = make_pvs CriteriaProton = make_particle_criteria( - bpvipchi2=4, + bpvipchi2=5, minPIDK=None, maxPIDK=None, minPIDp=5, @@ -377,8 +388,8 @@ def Lc2pkpi_spruceline(name='SpruceIFT_SMOG2LcTopKPi', minp=3 * GeV, maxtrchi2dof=5) CriteriaKaon = make_particle_criteria( - bpvipchi2=4, - minPIDK=10, + bpvipchi2=5, + minPIDK=5, maxPIDK=None, minPIDp=None, minPIDpK=None, @@ -386,7 +397,7 @@ def Lc2pkpi_spruceline(name='SpruceIFT_SMOG2LcTopKPi', minp=3 * GeV, maxtrchi2dof=5) CriteriaPion = make_particle_criteria( - bpvipchi2=4, + bpvipchi2=5, minPIDK=None, maxPIDK=0, minPIDp=None, @@ -400,9 +411,10 @@ def Lc2pkpi_spruceline(name='SpruceIFT_SMOG2LcTopKPi', CriteriaCombinations = make_comb_criteria( mass=__MASS_Lc, masswin=__MASSWin_Lc, - min_child_pt=0 * MeV, - max_sdoca=2 * mm, - vchi2pdof_max=25) + min_child_pt=800 * MeV, + max_sdoca=0.5 * mm, + vchi2pdof_max=25, + min_bpvltime=0.1 * picosecond) Lc2pkpi = make_charm3hadrons( name="Lc2pkpi", @@ -413,72 +425,26 @@ def Lc2pkpi_spruceline(name='SpruceIFT_SMOG2LcTopKPi', CriteriaParticle=CriteriaParticles, CriteriaCombination=CriteriaCombinations) - return SpruceLine( - name=name, - algs=make_smog2_prefilters(pvs=pvs) + [Lc2pkpi], - hlt2_filter_code='Hlt2IFT_SMOG2LcTopKPiDecision', - prescale=prescale, - persistreco=persistreco) - - -@register_line_builder(sprucing_lines) -@configurable -def Xicp2pkpi_spruceline(name='SpruceIFT_SMOG2XicpTopKPi', - prescale=1, - persistreco=True): - - pvs = make_pvs - - CriteriaProton = make_particle_criteria( - bpvipchi2=4, - minPIDK=None, - maxPIDK=None, - minPIDp=5, - minPIDpK=3, - minpT=250 * MeV, - minp=3 * GeV, - maxtrchi2dof=5) - CriteriaKaon = make_particle_criteria( - bpvipchi2=4, - minPIDK=10, - maxPIDK=None, - minPIDp=None, - minPIDpK=None, - minpT=250 * MeV, - minp=3 * GeV, - maxtrchi2dof=5) - CriteriaPion = make_particle_criteria( + CharmKaons = make_charm_kaons( bpvipchi2=4, - minPIDK=None, - maxPIDK=0, - minPIDp=None, - minPIDpK=None, - minpT=250 * MeV, - minp=3 * GeV, - maxtrchi2dof=5) - Particles = ["proton", "kaon", "pion"] - CriteriaParticles = [CriteriaProton, CriteriaKaon, CriteriaPion] + minPIDKaon=5, + min_pt=250 * MeV, + min_p=3 * GeV, + max_trchi2dof=5) - CriteriaCombinations = make_comb_criteria( - mass=__MASS_Xicp, - masswin=__MASSWin_Xicp, - min_child_pt=0 * MeV, - max_sdoca=2 * mm, - vchi2pdof_max=25) - - Xicp2pkpi = make_charm3hadrons( - name="Xicp2pkpi", - process="spruce", - pvs=pvs, - decay="[Xi_c+ -> p+ K- pi+]cc", - particle=Particles, - CriteriaParticle=CriteriaParticles, - CriteriaCombination=CriteriaCombinations) + CharmPions = make_charm_pions( + bpvipchi2=4, + maxPIDKaon=0, + min_pt=250 * MeV, + min_p=3 * GeV, + max_trchi2dof=5) return SpruceLine( name=name, - algs=make_smog2_prefilters(pvs=pvs) + [Xicp2pkpi], - hlt2_filter_code='Hlt2IFT_SMOG2XicpTopKPiDecision', + algs=make_smog2_prefilters(pvs=pvs) + [Lc2pkpi], + hlt2_filter_code='Hlt2IFTFull_SMOG2LcTopKPiDecision', + pv_tracks=True, + extra_outputs=[("CharmKaons", CharmKaons), ("CharmPions", CharmPions)], prescale=prescale, persistreco=persistreco) @@ -488,137 +454,11 @@ def Xicp2pkpi_spruceline(name='SpruceIFT_SMOG2XicpTopKPi', #======================================== -@register_line_builder(sprucing_lines) -@configurable -def Xic02pkkpi_spruceline(name='SpruceIFT_SMOG2Xic0TopKKPi', - prescale=1, - persistreco=True): - - pvs = make_pvs - - CriteriaProton = make_particle_criteria( - bpvipchi2=4, - minPIDK=None, - maxPIDK=None, - minPIDp=5, - minPIDpK=3, - minpT=250 * MeV, - minp=3 * GeV, - maxtrchi2dof=5) - CriteriaKaon = make_particle_criteria( - bpvipchi2=4, - minPIDK=10, - maxPIDK=None, - minPIDp=None, - minPIDpK=None, - minpT=250 * MeV, - minp=3 * GeV, - maxtrchi2dof=5) - CriteriaPion = make_particle_criteria( - bpvipchi2=4, - minPIDK=None, - maxPIDK=0, - minPIDp=None, - minPIDpK=None, - minpT=250 * MeV, - minp=3 * GeV, - maxtrchi2dof=5) - Particles = ["proton", "kaon", "kaon", "pion"] - CriteriaParticles = [ - CriteriaProton, CriteriaKaon, CriteriaKaon, CriteriaPion - ] - - Xic02pkkpi = make_charm4hadrons( - name="Xic02pkkpi", - process="spruce", - pvs=pvs, - decay="[Xi_c0 -> p+ K- K- pi+]cc", - particle=Particles, - CriteriaParticle=CriteriaParticles, - mass=__MASS_Xic0, - masswindow=__MASSWin_Xic0, - max_sdoca=2 * mm, - max_vchi2pdof=25, - allchild_ptcut=0 * GeV, - twochild_ptcut=0 * GeV, - onechild_ptcut=0 * GeV) - - return SpruceLine( - name=name, - algs=make_smog2_prefilters(pvs=pvs) + [Xic02pkkpi], - hlt2_filter_code='Hlt2IFT_SMOG2Xic0TopKKPiDecision', - prescale=prescale, - persistreco=persistreco) - - -@register_line_builder(sprucing_lines) -@configurable -def Omegac02pkkpi_spruceline(name='SpruceIFT_SMOG2Omegac0TopKKPi', - prescale=1, - persistreco=True): - - pvs = make_pvs - - CriteriaProton = make_particle_criteria( - bpvipchi2=4, - minPIDK=None, - maxPIDK=None, - minPIDp=5, - minPIDpK=3, - minpT=250 * MeV, - minp=3 * GeV, - maxtrchi2dof=5) - CriteriaKaon = make_particle_criteria( - bpvipchi2=4, - minPIDK=10, - maxPIDK=None, - minPIDp=None, - minPIDpK=None, - minpT=250 * MeV, - minp=3 * GeV, - maxtrchi2dof=5) - CriteriaPion = make_particle_criteria( - bpvipchi2=4, - minPIDK=None, - maxPIDK=0, - minPIDp=None, - minPIDpK=None, - minpT=250 * MeV, - minp=3 * GeV, - maxtrchi2dof=5) - Particles = ["proton", "kaon", "kaon", "pion"] - CriteriaParticles = [ - CriteriaProton, CriteriaKaon, CriteriaKaon, CriteriaPion - ] - - Omegac02pkkpi = make_charm4hadrons( - name="Omegac02pkkpi", - process="spruce", - pvs=pvs, - decay="[Omega_c0 -> p+ K- K- pi+]cc", - particle=Particles, - CriteriaParticle=CriteriaParticles, - mass=__MASS_Omegac0, - masswindow=__MASSWin_Omegac0, - max_sdoca=2 * mm, - max_vchi2pdof=25, - allchild_ptcut=0 * GeV, - twochild_ptcut=0 * GeV, - onechild_ptcut=0 * GeV) - - return SpruceLine( - name=name, - algs=make_smog2_prefilters(pvs=pvs) + [Omegac02pkkpi], - hlt2_filter_code='Hlt2IFT_SMOG2Omegac0TopKKPiDecision', - prescale=prescale, - persistreco=persistreco) - - @register_line_builder(sprucing_lines) @configurable def Hiddencharm4pi_spruceline(name='SpruceIFT_SMOG2ccTo4Pi', prescale=1, - persistreco=True): + persistreco=False): pvs = make_pvs @@ -628,9 +468,9 @@ def Hiddencharm4pi_spruceline(name='SpruceIFT_SMOG2ccTo4Pi', maxPIDK=0, minPIDp=None, minPIDpK=None, - minpT=250 * MeV, + minpT=500 * MeV, minp=3 * GeV, - maxtrchi2dof=5) + maxtrchi2dof=3) Particles = ["pion", "pion", "pion", "pion"] CriteriaParticles = [ CriteriaPion, CriteriaPion, CriteriaPion, CriteriaPion @@ -643,18 +483,34 @@ def Hiddencharm4pi_spruceline(name='SpruceIFT_SMOG2ccTo4Pi', decay='eta_c(1S) -> pi- pi- pi+ pi+', particle=Particles, CriteriaParticle=CriteriaParticles, - max_sdoca=2.0 * mm, + max_sdoca=0.5 * mm, max_vchi2pdof=25., mass=3300 * MeV, masswindow=500 * MeV, - allchild_ptcut=0.25 * GeV, - twochild_ptcut=0.25 * GeV, - onechild_ptcut=0.25 * GeV) + allchild_ptcut=0.5 * GeV, + twochild_ptcut=1.0 * GeV, + onechild_ptcut=1.2 * GeV) + + CharmKaons = make_charm_kaons( + bpvipchi2=4, + minPIDKaon=5, + min_pt=250 * MeV, + min_p=3 * GeV, + max_trchi2dof=5) + + CharmPions = make_charm_pions( + bpvipchi2=4, + maxPIDKaon=0, + min_pt=250 * MeV, + min_p=3 * GeV, + max_trchi2dof=5) return SpruceLine( name=name, algs=make_smog2_prefilters(pvs=pvs) + [cc2pipipipi], - hlt2_filter_code='Hlt2IFT_SMOG2ccTo4PiDecision', + hlt2_filter_code='Hlt2IFTFull_SMOG2ccTo4PiDecision', + pv_tracks=True, + extra_outputs=[("CharmKaons", CharmKaons), ("CharmPions", CharmPions)], prescale=prescale, persistreco=persistreco) @@ -663,7 +519,7 @@ def Hiddencharm4pi_spruceline(name='SpruceIFT_SMOG2ccTo4Pi', @configurable def Hiddencharm2pi2k_spruceline(name="SpruceIFT_SMOG2ccTo2Pi2K", prescale=1, - persistreco=True): + persistreco=False): pvs = make_pvs @@ -673,18 +529,18 @@ def Hiddencharm2pi2k_spruceline(name="SpruceIFT_SMOG2ccTo2Pi2K", maxPIDK=0, minPIDp=None, minPIDpK=None, - minpT=250 * MeV, + minpT=400 * MeV, minp=3 * GeV, - maxtrchi2dof=5) + maxtrchi2dof=3) CriteriaKaon = make_particle_criteria( bpvipchi2=None, - minPIDK=10, + minPIDK=5, maxPIDK=None, minPIDp=None, minPIDpK=None, - minpT=250 * MeV, + minpT=400 * MeV, minp=3 * GeV, - maxtrchi2dof=5) + maxtrchi2dof=3) Particles = ["kaon", "kaon", "pion", "pion"] CriteriaParticles = [ CriteriaKaon, CriteriaKaon, CriteriaPion, CriteriaPion @@ -697,18 +553,34 @@ def Hiddencharm2pi2k_spruceline(name="SpruceIFT_SMOG2ccTo2Pi2K", decay='chi_c1(1P) -> K- K+ pi- pi+', particle=Particles, CriteriaParticle=CriteriaParticles, - max_sdoca=2.0 * mm, + max_sdoca=0.5 * mm, max_vchi2pdof=25., mass=__MASS_CHIC0, masswindow=600 * MeV, - allchild_ptcut=0.25 * GeV, - twochild_ptcut=0.25 * GeV, - onechild_ptcut=0.25 * GeV) + allchild_ptcut=0.4 * GeV, + twochild_ptcut=1.0 * GeV, + onechild_ptcut=1.2 * GeV) + + CharmKaons = make_charm_kaons( + bpvipchi2=4, + minPIDKaon=5, + min_pt=250 * MeV, + min_p=3 * GeV, + max_trchi2dof=5) + + CharmPions = make_charm_pions( + bpvipchi2=4, + maxPIDKaon=0, + min_pt=250 * MeV, + min_p=3 * GeV, + max_trchi2dof=5) return SpruceLine( name=name, algs=make_smog2_prefilters(pvs=pvs) + [cc2kkpipi], - hlt2_filter_code='Hlt2IFT_SMOG2ccTo2Pi2KDecision', + hlt2_filter_code='Hlt2IFTFull_SMOG2ccTo2Pi2KDecision', + pv_tracks=True, + extra_outputs=[("CharmKaons", CharmKaons), ("CharmPions", CharmPions)], prescale=prescale, persistreco=persistreco) @@ -717,19 +589,19 @@ def Hiddencharm2pi2k_spruceline(name="SpruceIFT_SMOG2ccTo2Pi2K", @configurable def Hiddencharm4k_spruceline(name="SpruceIFT_SMOG2ccTo4K", prescale=1, - persistreco=True): + persistreco=False): pvs = make_pvs CriteriaKaon = make_particle_criteria( bpvipchi2=None, - minPIDK=10, + minPIDK=5, maxPIDK=None, minPIDp=None, minPIDpK=None, - minpT=250 * MeV, + minpT=400 * MeV, minp=3 * GeV, - maxtrchi2dof=5) + maxtrchi2dof=3) Particles = ["kaon", "kaon", "kaon", "kaon"] CriteriaParticles = [ CriteriaKaon, CriteriaKaon, CriteriaKaon, CriteriaKaon @@ -742,17 +614,33 @@ def Hiddencharm4k_spruceline(name="SpruceIFT_SMOG2ccTo4K", decay='chi_c1(1P) -> K- K- K+ K+', particle=Particles, CriteriaParticle=CriteriaParticles, - max_sdoca=2.0 * mm, + max_sdoca=0.5 * mm, max_vchi2pdof=25, mass=__MASS_CHIC0, masswindow=600 * MeV, - allchild_ptcut=0.25 * GeV, - twochild_ptcut=0.25 * GeV, - onechild_ptcut=0.25 * GeV) + allchild_ptcut=0.4 * GeV, + twochild_ptcut=0.6 * GeV, + onechild_ptcut=0.8 * GeV) + + CharmKaons = make_charm_kaons( + bpvipchi2=4, + minPIDKaon=5, + min_pt=250 * MeV, + min_p=3 * GeV, + max_trchi2dof=5) + + CharmPions = make_charm_pions( + bpvipchi2=4, + maxPIDKaon=0, + min_pt=250 * MeV, + min_p=3 * GeV, + max_trchi2dof=5) return SpruceLine( name=name, algs=make_smog2_prefilters(pvs=pvs) + [cc2kkkk], - hlt2_filter_code='Hlt2IFT_SMOG2ccTo4KDecision', + hlt2_filter_code='Hlt2IFTFull_SMOG2ccTo4KDecision', + pv_tracks=True, + extra_outputs=[("CharmKaons", CharmKaons), ("CharmPions", CharmPions)], prescale=prescale, persistreco=persistreco) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/spruce_ift_smog2_generic.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/spruce_ift_smog2_generic.py new file mode 100644 index 00000000000..f75f0d6f6d9 --- /dev/null +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/spruce_ift_smog2_generic.py @@ -0,0 +1,193 @@ +############################################################################### +# (c) Copyright 2022 CERN for the benefit of the LHCb Collaboration # +# # +# This software is distributed under the terms of the GNU General Public # +# Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". # +# # +# 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. # +############################################################################### +""" +Generic SMOG2 Sprucing high pt lines: high pt single hadron, generic two body, 2-body V0 +""" + +from PyConf import configurable +from Moore.config import register_line_builder +from Moore.lines import SpruceLine + +from Hlt2Conf.standard_particles import make_has_rich_long_pions, make_long_pions +from Hlt2Conf.lines.ift.builders.smog2_builders import make_smog2_prefilters +from Hlt2Conf.lines.ift.builders.smog2_builders import make_smog2_common_particles +from Hlt2Conf.lines.ift.builders.smog2_generic_builders import make_smog2_generic_2body, make_smog2_generic_3body +from RecoConf.reconstruction_objects import make_pvs +from GaudiKernel.SystemOfUnits import MeV, GeV, mm, picosecond + +PROCESS = "spruce" +sprucing_lines = {} + + +@register_line_builder(sprucing_lines) +@configurable +def smog2_singletrack_highpt_spruceline( + name="SpruceIFT_SMOG2SingleTrackHighPT", + prescale=0.07, + persistreco=True, + min_pt=4 * GeV, +): + """ + Line requiring one single track with pt>2.GeV comming from the SMOG2 region + """ + pvs = make_pvs + + highp_track = make_smog2_common_particles( + make_long_pions, + max_trchi2dof=5, + min_p=0 * MeV, + min_pt=min_pt, + pid_cut=None, + particle=None, + pvs=make_pvs, + min_bpvipchi2=None, + min_bpvip=None, + max_bpvipchi2=50, + max_bpvip=None, + pvinsmog2=True, + ) + + return SpruceLine( + name=name, + algs=make_smog2_prefilters(pvs=pvs) + [highp_track], + hlt2_filter_code='Hlt2IFTFull_SMOG2SingleTrackHighPTDecision', + prescale=prescale, + persistreco=persistreco, + ) + + +@register_line_builder(sprucing_lines) +@configurable +def smog2_singletrack_veryhighpt_spruceline( + name="SpruceIFT_SMOG2SingleTrackVeryHighPT", + prescale=0.1, + persistreco=True, + min_pt=6 * GeV, +): + """ + Line requiring one single track with pt>4GeV comming from the SMOG2 region + """ + pvs = make_pvs + + veryhighp_track = make_smog2_common_particles( + make_long_pions, + max_trchi2dof=5, + min_p=0 * GeV, + min_pt=min_pt, + pid_cut=None, + particle=None, + pvs=make_pvs, + min_bpvipchi2=None, + min_bpvip=None, + max_bpvipchi2=50, + max_bpvip=None, + pvinsmog2=True, + ) + + return SpruceLine( + name=name, + algs=make_smog2_prefilters(pvs=pvs) + [veryhighp_track], + hlt2_filter_code='Hlt2IFTFull_SMOG2SingleTrackVeryHighPTDecision', + prescale=prescale, + persistreco=persistreco, + ) + + +@register_line_builder(sprucing_lines) +@configurable +def smog2_generic2bodydetached_spruceline( + name="SpruceIFT_SMOG2Detached2Body", + prescale=0.05, + persistreco=True, +): + """ + Detached generic 2-body decay coming from the SMOG2 region + """ + pvs = make_pvs + generic_particle = make_smog2_common_particles( + make_has_rich_long_pions, + max_trchi2dof=3, + min_p=5000 * MeV, + min_pt=1 * GeV, + pvs=make_pvs, + ) + + generic_2body = make_smog2_generic_2body( + pvs, + generic_particle, + generic_particle, + name="generic_2body_smog2", + descriptor="B0 -> pi- pi+", + apt_min=0 * GeV, + maxsdoca=0.2 * mm, + vchi2pdof_max=25, + bpvvdchi2_min=40, + single_pt_min=2 * GeV, + mipchi2_min=20, + sv_insmog=True, + minmass=3.5 * GeV, + min_bpvltime=1 * picosecond, + ) + + return SpruceLine( + name=name, + algs=make_smog2_prefilters(pvs=pvs) + [generic_2body], + hlt2_filter_code='Hlt2IFTFull_SMOG2Detached2BodyDecision', + prescale=prescale, + persistreco=persistreco, + ) + + +@register_line_builder(sprucing_lines) +@configurable +def smog2_generic3bodydetached_spruceline( + name="SpruceIFT_SMOG2Detached3Body", + prescale=0.1, + persistreco=True, +): + """ + Detached generic 2-body decay coming from the SMOG2 region + """ + pvs = make_pvs + + generic_particle = make_smog2_common_particles( + make_has_rich_long_pions, + max_trchi2dof=3, + min_p=5000 * MeV, + min_pt=800 * MeV, + pvs=make_pvs, + ) + + generic_3body = make_smog2_generic_3body( + pvs, + generic_particle, + generic_particle, + generic_particle, + name="generic_3body_smog2", + descriptor="B0 -> pi+ pi+ pi-", + apt_min=0 * GeV, + maxsdoca=0.2 * mm, + vchi2pdof_max=25, + bpvvdchi2_min=50, + single_pt_min=2 * GeV, + mipchi2_min=20, + sv_insmog=True, + minmass=3.5 * GeV, + min_bpvltime=1 * picosecond, + ) + + return SpruceLine( + name=name, + algs=make_smog2_prefilters(pvs=pvs) + [generic_3body], + hlt2_filter_code='Hlt2IFTFull_SMOG2Detached3BodyDecision', + prescale=prescale, + persistreco=persistreco, + ) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/spruce_ift_smog2_muons.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/spruce_ift_smog2_muons.py index 7d788157662..2c85cfea8c3 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/spruce_ift_smog2_muons.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/spruce_ift_smog2_muons.py @@ -16,7 +16,7 @@ from PyConf import configurable from Moore.config import SpruceLine, register_line_builder #from Moore.lines import SpruceLine from Hlt2Conf.lines.ift.builders.smog2_builders import make_smog2_prefilters -from Hlt2Conf.lines.ift.builders.smog2_muons_builders import make_Jpsi2mumu, make_low_dimumu, make_DY2mumu, make_DY2mumu_ExcludeCCBar, make_Ups2mumu +from Hlt2Conf.lines.ift.builders.smog2_muons_builders import make_Jpsi2mumu, make_Jpsi2mumutagged, make_low_dimumu, make_DY2mumu, make_DY2mumu_ExcludeCCBar, make_Ups2mumu from RecoConf.reconstruction_objects import make_pvs from GaudiKernel.SystemOfUnits import MeV @@ -30,10 +30,12 @@ _MASSWINDOW_DY_BELOWJPSI = [2500.0 * MeV, 2900.0 * MeV] _MASSWINDOW_DY_INTERMEDIATE = [3300.0 * MeV, 3500.0 * MeV] _MASSWINDOW_DY_ABOVEPSI2S = [4000.0 * MeV, 8000.0 * MeV] -_MASSWINDOW_JPSI = [2900.0 * MeV, 3200.0 * MeV] +_MASSWINDOW_JPSI = [2900.0 * MeV, 4000.0 * MeV] _MASSWINDOW_PSI2S = [3200.0 * MeV, 4000.0 * MeV] _MASSWINDOW_UPS = [8000.0 * MeV, 12000.0 * MeV] +_MASSWINDOW_PIDJPSI = [2900.0 * MeV, 3300.0 * MeV] + #======================================== # Low mass dimuons #======================================== @@ -55,7 +57,7 @@ def smog2_lowdimuon_spruceline( return SpruceLine( name=name, algs=make_smog2_prefilters(pvs=pvs) + [low_dimuons], - hlt2_filter_code='Hlt2IFT_SMOG2LowDiMuonDecision', + hlt2_filter_code='Hlt2IFTFull_SMOG2LowDiMuonDecision', prescale=prescale, persistreco=persistreco) @@ -72,13 +74,13 @@ def smog2_lowdimuon_SS_line( """ pvs = make_pvs low_dimuons_SS = make_low_dimumu( - process='hlt2', descriptor='[J/psi(1S) -> mu+ mu+]cc', pvs=pvs) + process='spruce', descriptor='[J/psi(1S) -> mu+ mu+]cc', pvs=pvs) return SpruceLine( name=name, algs=make_smog2_prefilters(pvs=pvs) + [low_dimuons_SS], prescale=prescale, - hlt2_filter_code='Hlt2IFT_SMOG2LowDimuonSSDecision', + hlt2_filter_code='Hlt2IFTFull_SMOG2LowDimuonSSDecision', persistreco=persistreco) @@ -96,7 +98,7 @@ def smog2_Jpsi2mumu_spruceline( massWind_Jpsi=_MASSWINDOW_JPSI, ): """ - SMOG2 J/psi(1S) -> mu mu sprucing line + SMOG2 J/psi(1S) -> mu mu and Psi(2S) -> mu mu sprucing line """ pvs = make_pvs jpsis = make_Jpsi2mumu( @@ -108,7 +110,7 @@ def smog2_Jpsi2mumu_spruceline( return SpruceLine( name=name, algs=make_smog2_prefilters(pvs=pvs) + [jpsis], - hlt2_filter_code='Hlt2IFT_SMOG2Jpsi2MuMuDecision', + hlt2_filter_code='Hlt2IFTFull_SMOG2Jpsi2MuMuDecision', prescale=prescale, persistreco=persistreco, ) @@ -116,84 +118,88 @@ def smog2_Jpsi2mumu_spruceline( @register_line_builder(sprucing_lines) @configurable -def smog2_Psi2S2mumu_spruceline( - name='SpruceIFT_SMOG2Psi2S2MuMu', +def smog2_Jpsi2mumu_SS_spruceline( + name="SpruceIFT_SMOG2Jpsi2MuMuSS", prescale=1, persistreco=True, - massWind_Jpsi=_MASSWINDOW_PSI2S, + massWind_Jpsi=_MASSWINDOW_JPSI, ): """ - SMOG2 Psi(2S) -> mu mu sprucing line + SMOG2 J/psi(1S) -> mu mu same sign sprucing line """ pvs = make_pvs - psis = make_Jpsi2mumu( + + jpsis_SS = make_Jpsi2mumu( process='spruce', - descriptor='psi(2S) -> mu- mu+', + descriptor='[J/psi(1S) -> mu+ mu+]cc', pvs=pvs, - massWind_Jpsi=massWind_Jpsi, - ) + massWind_Jpsi=massWind_Jpsi) return SpruceLine( name=name, - algs=make_smog2_prefilters(pvs=pvs) + [psis], - hlt2_filter_code='Hlt2IFT_SMOG2Jpsi2MuMuDecision', + algs=make_smog2_prefilters(pvs=pvs) + [jpsis_SS], + hlt2_filter_code='Hlt2IFTFull_SMOG2Jpsi2MuMuSSDecision', prescale=prescale, - persistreco=persistreco, - ) + persistreco=persistreco) @register_line_builder(sprucing_lines) @configurable -def smog2_Jpsi2mumu_SS_spruceline( - name="SpruceIFT_SMOG2Jpsi2MuMuSS", +def smog2_Jpsi2mumumtagged_spruceline( + name='SpruceIFT_SMOG2PIDJpsi2MuMumTagged', prescale=1, - persistreco=True, - massWind_Jpsi=_MASSWINDOW_JPSI, + persistreco=False, + massWind_Jpsi=_MASSWINDOW_PIDJPSI, + tagcharge=-1, ): """ - SMOG2 J/psi(1S) -> mu mu same sign sprucing line + SMOG2 J/psi(1S) -> mu mu and Psi(2S) -> mu mu sprucing line """ pvs = make_pvs - - jpsis_SS = make_Jpsi2mumu( + jpsis = make_Jpsi2mumutagged( process='spruce', - descriptor='[J/psi(1S) -> mu+ mu+]cc', pvs=pvs, - massWind_Jpsi=massWind_Jpsi) + massWind_Jpsi=massWind_Jpsi, + tagcharge=tagcharge, + ) return SpruceLine( name=name, - algs=make_smog2_prefilters(pvs=pvs) + [jpsis_SS], - hlt2_filter_code='Hlt2IFT_SMOG2Jpsi2MuMuSSDecision', + algs=make_smog2_prefilters(pvs=pvs) + [jpsis], + hlt2_filter_code='Hlt2IFTFull_SMOG2PIDJpsi2MuMumTaggedDecision', + pv_tracks=True, prescale=prescale, - persistreco=persistreco) + persistreco=persistreco, + ) @register_line_builder(sprucing_lines) @configurable -def smog2_Psi2S2mumu_SS_spruceline( - name="SpruceIFT_SMOG2Psi2S2MuMuSS", +def smog2_Jpsi2mumuptagged_spruceline( + name='SpruceIFT_SMOG2PIDJpsi2MuMupTagged', prescale=1, - persistreco=True, - massWind_Jpsi=_MASSWINDOW_PSI2S, -): + persistreco=False, + massWind_Jpsi=_MASSWINDOW_PIDJPSI, + tagcharge=+1): """ - SMOG2 Psi(2S) -> mu mu same sign sprucing line + SMOG2 J/psi(1S) -> mu mu and Psi(2S) -> mu mu sprucing line """ pvs = make_pvs - - psis_SS = make_Jpsi2mumu( + jpsis = make_Jpsi2mumutagged( process='spruce', - descriptor='[psi(2S) -> mu+ mu+]cc', pvs=pvs, - massWind_Jpsi=massWind_Jpsi) + tagcharge=tagcharge, + massWind_Jpsi=massWind_Jpsi, + ) return SpruceLine( name=name, - algs=make_smog2_prefilters(pvs=pvs) + [psis_SS], - hlt2_filter_code='Hlt2IFT_SMOG2Jpsi2MuMuSSDecision', + algs=make_smog2_prefilters(pvs=pvs) + [jpsis], + hlt2_filter_code='Hlt2IFTFull_SMOG2PIDJpsi2MuMupTaggedDecision', + pv_tracks=True, prescale=prescale, - persistreco=persistreco) + persistreco=persistreco, + ) @register_line_builder(sprucing_lines) @@ -218,7 +224,7 @@ def smog2_Ups2mumu_spruceline( return SpruceLine( name=name, algs=make_smog2_prefilters(pvs=pvs) + [ups], - hlt2_filter_code='Hlt2IFT_SMOG2Ups2MuMuDecision', + hlt2_filter_code='Hlt2IFTFull_SMOG2Ups2MuMuDecision', prescale=prescale, persistreco=persistreco) @@ -246,7 +252,7 @@ def smog2_Ups2mumu_SS_spruceline( return SpruceLine( name=name, algs=make_smog2_prefilters(pvs=pvs) + [ups_SS], - hlt2_filter_code='Hlt2IFT_SMOG2Ups2MuMuSSDecision', + hlt2_filter_code='Hlt2IFTFull_SMOG2Ups2MuMuSSDecision', prescale=prescale, persistreco=persistreco) @@ -272,7 +278,7 @@ def smog2_DY2mumu_line(name="SpruceIFT_SMOG2DY2MuMu", return SpruceLine( name=name, algs=make_smog2_prefilters(pvs=pvs) + [DY_dimuons], - hlt2_filter_code='Hlt2IFT_SMOG2DY2MuMuDecision', + hlt2_filter_code='Hlt2IFTFull_SMOG2DY2MuMuDecision', prescale=prescale, persistreco=persistreco) @@ -294,7 +300,7 @@ def smog2_DY2mumu_SS_line(name="SpruceIFT_SMOG2DY2MuMuSS", return SpruceLine( name=name, algs=make_smog2_prefilters(pvs=pvs) + [DY_dimuons_SS], - hlt2_filter_code='Hlt2IFT_SMOG2DY2MuMuSSDecision', + hlt2_filter_code='Hlt2IFTFull_SMOG2DY2MuMuSSDecision', prescale=prescale, persistreco=persistreco) @@ -321,7 +327,7 @@ def smog2_DY2mumuExcludeCCBarLow_line( return SpruceLine( name=name, algs=make_smog2_prefilters(pvs=pvs) + [DY_dimuons], - hlt2_filter_code='Hlt2IFT_SMOG2DY2MuMuExcludeCCBarLowDecision', + hlt2_filter_code='Hlt2IFTFull_SMOG2DY2MuMuExcludeCCBarLowDecision', prescale=prescale, persistreco=persistreco) @@ -348,7 +354,8 @@ def smog2_DY2mumuExcludeCCBarIntermediate_line( return SpruceLine( name=name, algs=make_smog2_prefilters(pvs=pvs) + [DY_dimuons], - hlt2_filter_code='Hlt2IFT_SMOG2DY2MuMuExcludeCCBarIntermediateDecision', + hlt2_filter_code= + 'Hlt2IFTFull_SMOG2DY2MuMuExcludeCCBarIntermediateDecision', prescale=prescale, persistreco=persistreco) @@ -375,6 +382,6 @@ def smog2_DY2mumuExcludeCCBarHigh_line( return SpruceLine( name=name, algs=make_smog2_prefilters(pvs=pvs) + [DY_dimuons], - hlt2_filter_code='Hlt2IFT_SMOG2DY2MuMuExcludeCCBarHighDecision', + hlt2_filter_code='Hlt2IFTFull_SMOG2DY2MuMuExcludeCCBarHighDecision', prescale=prescale, persistreco=persistreco) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/spruce_ift_smog2_omegas.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/spruce_ift_smog2_omegas.py index 591eb6497ed..b80f4d08073 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/spruce_ift_smog2_omegas.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/spruce_ift_smog2_omegas.py @@ -48,7 +48,7 @@ _MASSWINDOW_OMEGA = [(F.PDG_MASS("Omega-") - 25) * MeV, @configurable def smog2_omega2lambdak_lll_spruceline( name="SpruceIFT_SMOG2Omega2Lambda0K_lll", - prescale=1, + prescale=0.35, persistreco=True, min_p=2 * GeV, min_pt=100 * MeV, @@ -96,7 +96,7 @@ def smog2_omega2lambdak_lll_spruceline( return SpruceLine( name=name, algs=make_smog2_prefilters(pvs=pvs) + [omega2Lambda0Ks], - hlt2_filter_code="Hlt2IFT_SMOG2Omega2Lambda0K_lllDecision", + hlt2_filter_code="Hlt2IFTFull_SMOG2Omega2Lambda0K_lllDecision", prescale=prescale, persistreco=persistreco, ) @@ -158,7 +158,7 @@ def smog2_omega2lambdak_ddl_spruceline( return SpruceLine( name=name, algs=make_smog2_prefilters(pvs=pvs) + [omega2Lambda0Ks], - hlt2_filter_code="Hlt2IFT_SMOG2Omega2Lambda0K_ddlDecision", + hlt2_filter_code="Hlt2IFTFull_SMOG2Omega2Lambda0K_ddlDecision", prescale=prescale, persistreco=persistreco, ) @@ -216,7 +216,7 @@ def smog2_omega2lambdak_ddd_spruceline( return SpruceLine( name=name, algs=make_smog2_prefilters(pvs=pvs) + [omega2Lambda0Ks], - hlt2_filter_code="Hlt2IFT_SMOG2Omega2Lambda0K_dddDecision", + hlt2_filter_code="Hlt2IFTFull_SMOG2Omega2Lambda0K_dddDecision", prescale=prescale, persistreco=persistreco, ) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/spruce_ift_smog2_trackingeff.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/spruce_ift_smog2_trackingeff.py new file mode 100644 index 00000000000..fe6f8eec6cf --- /dev/null +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/spruce_ift_smog2_trackingeff.py @@ -0,0 +1,225 @@ +############################################################################### +# (c) Copyright 2022 CERN for the benefit of the LHCb Collaboration # +# # +# This software is distributed under the terms of the GNU General Public # +# Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". # +# # +# 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. # +############################################################################### +""" +Definition of SMOG2 tracking efficiency sprucing lines - following pp tracking efficiency method: + - Combination of long 'tag' track and partially reconstructed 'probe' track + - Matching of probe with long track + - running without UT: VeloMuon and SeedMuon lines +""" +from PyConf import configurable +from Moore.config import register_line_builder +from Moore.lines import SpruceLine +from Hlt2Conf.lines.ift.builders.smog2_builders import make_smog2_prefilters +from RecoConf.reconstruction_objects import make_pvs +from GaudiKernel.SystemOfUnits import MeV, GeV, mm +from Hlt2Conf.standard_particles import make_ismuon_long_muon +from Hlt2Conf.probe_muons import make_velomuon_muons, make_seed_muons +from PyConf.Algorithms import MuonProbeToLongMatcher +import Functors as F +from Functors.math import in_range +from Hlt2Conf.algorithms_thor import ParticleFilter, ParticleCombiner +from Hlt2Conf.lines.ift.builders.smog2_builders import sv_in_smog2, bpv_in_smog2 +from Hlt2Conf.lines.trackeff.DiMuonTrackEfficiency import make_LongFilter + +sprucing_lines = {} + +#use Velo+Muon track for efficiency of SciFi(+UT) +VeloMuon_cuts = { + 'max_ProbeTrChi2': 5, + 'min_ProbeP': 2 * GeV, + 'min_ProbePT': 0.2 * GeV, + 'max_TagTrChi2': 5, + 'min_TagP': 2 * GeV, + 'min_TagPT': 0 * GeV, + 'min_TagMuonID': -1, + 'max_TagGhostProb': 1, + 'max_JPsiDOCA': 3 * mm, + 'max_JPsiVtxChi2': 32, + 'min_JPsiPT': 0 * GeV, + 'min_JPsimass': 2600 * MeV, + 'max_JPsimass': 3600 * MeV, + 'checkVP': True, + 'checkFT': False, + 'checkUT': False, + 'checkMuon': True, + 'require_ismuon': False, +} + +#use SciFi+Muon track for efficiency of Velo(+UT) +SeedMuon_cuts = { + 'max_ProbeTrChi2': 5, + 'min_ProbeP': 2 * GeV, + 'min_ProbePT': 0.2 * GeV, + 'max_TagTrChi2': 5, + 'min_TagP': 2 * GeV, + 'min_TagPT': 0 * GeV, + 'min_TagMuonID': -1, + 'max_TagGhostProb': 1, + 'max_JPsiDOCA': 3 * mm, + 'max_JPsiVtxChi2': 32, + 'min_JPsiPT': 0 * GeV, + 'min_JPsimass': 2600 * MeV, + 'max_JPsimass': 3600 * MeV, + 'checkVP': False, + 'checkFT': True, + 'checkUT': False, + 'checkMuon': True, + 'require_ismuon': False, +} + + +@configurable +# Combination of Tag and Probe to make the JPsi candidate +def make_JPsiCombiner(particles, + pvs, + probe_charge, + get_cuts, + name='SpruceIFT_SMOG2TrackEff_Jpsi_{hash}'): + #upper JPsi DOCA + combination_cut = F.require_all( + in_range(get_cuts['min_JPsimass'], F.MASS, get_cuts['max_JPsimass']), + F.SUM(F.PT) > get_cuts['min_JPsiPT'], + ) + if get_cuts['max_JPsiDOCA'] is not None: + combination_cut = F.require_all(combination_cut, + F.MAXDOCACUT(get_cuts['max_JPsiDOCA'])) + #additional cuts + mother_cut = F.require_all( + in_range(get_cuts['min_JPsimass'], F.MASS, get_cuts['max_JPsimass']), + F.PT > get_cuts['min_JPsiPT'], + ) + if get_cuts['max_JPsiVtxChi2'] is not None: + mother_cut = F.require_all(mother_cut, + F.CHI2DOF < get_cuts['max_JPsiVtxChi2'], + sv_in_smog2(), bpv_in_smog2(pvs)) + + decay_descriptor = "J/psi(1S) -> mu- mu+" if probe_charge == 1 else "J/psi(1S) -> mu+ mu-" + return ParticleCombiner( + Inputs=particles, + DecayDescriptor=decay_descriptor, + CombinationCut=combination_cut, + CompositeCut=mother_cut, + name=name) + + +@configurable +# Tag filter +def make_TagFilter(particles, + pvs, + probe_charge, + get_cuts, + name='SpruceIFT_SMOG2TrackEff_TagTrack_{hash}'): + code = F.require_all( + (F.CHARGE < 0) if probe_charge == 1 else (F.CHARGE > 0), + F.CHI2DOF < get_cuts['max_TagTrChi2'], + F.P > get_cuts['min_TagP'], + F.PT > get_cuts['min_TagPT'], + F.ISMUON(), + F.PID_MU > get_cuts['min_TagMuonID'], + F.GHOSTPROB() < get_cuts['max_TagGhostProb'], + ) + return ParticleFilter(particles, F.FILTER(code), name=name) + + +@configurable +# Probe filter +def make_ProbeFilter(particles, + pvs, + probe_charge, + get_cuts, + name='SpruceIFT_SMOG2TrackEff_ProbeTrack_{hash}'): + code = F.require_all( + (F.CHARGE > 0) if probe_charge == 1 else (F.CHARGE < 0), + F.CHI2DOF < get_cuts['max_ProbeTrChi2'], + F.P > get_cuts['min_ProbeP'], + F.PT > get_cuts['min_ProbePT'], + ) + if get_cuts['require_ismuon']: + code = F.require_all(code, F.ISMUON()) + return ParticleFilter(particles, F.FILTER(code), name=name) + + +@configurable +def create_TagLine(name, prescale, persistreco, probe_charge, get_cuts, + particles): + pvs = make_pvs + probe_muons = make_ProbeFilter(particles, pvs, probe_charge, get_cuts) + tag_muons = make_TagFilter(make_ismuon_long_muon(), pvs, probe_charge, + get_cuts) + JPsi = make_JPsiCombiner([tag_muons, probe_muons], pvs, probe_charge, + get_cuts) + + return SpruceLine( + name=name, + algs=make_smog2_prefilters(pvs=pvs) + [JPsi], + hlt2_filter_code=name.replace('SpruceIFT', 'Hlt2IFTFull') + 'Decision', + prescale=prescale, + persistreco=persistreco) + + +@configurable +def create_MatchLine(name, prescale, persistreco, probe_charge, get_cuts, + particles): + pvs = make_pvs + probe_muons = make_ProbeFilter(particles, pvs, probe_charge, get_cuts) + tag_muons = make_TagFilter(make_ismuon_long_muon(), pvs, probe_charge, + get_cuts) + long_track = make_LongFilter(make_ismuon_long_muon(), probe_charge) + JPsi = make_JPsiCombiner([tag_muons, probe_muons], pvs, probe_charge, + get_cuts) + + matcher = MuonProbeToLongMatcher( + TwoBodyComposites=JPsi, + LongTracks=long_track, + checkVP=get_cuts['checkVP'], + checkFT=get_cuts['checkFT'], + checkUT=get_cuts['checkUT'], + checkMuon=get_cuts['checkMuon']) + JPsi_matched = matcher.MatchedComposites + long_matched = matcher.MatchedLongTracks + long_save = make_LongFilter(long_matched, probe_charge) + return SpruceLine( + name=name, + algs=make_smog2_prefilters(pvs=pvs) + [JPsi, JPsi_matched], + hlt2_filter_code=name.replace('SpruceIFT', 'Hlt2IFTFull') + 'Decision', + extra_outputs=[("LongMatched", long_save)], + prescale=prescale, + persistreco=persistreco) + + +for line, get_cuts, myparticles in zip(['VeloMuon', 'SeedMuon'], + [VeloMuon_cuts, SeedMuon_cuts], + [make_velomuon_muons, make_seed_muons]): + for charge, mu in zip([1, 0], ['mup', 'mum']): + + @register_line_builder(sprucing_lines) + @configurable + def LineWithTagging(name="SpruceIFT_SMOG2TrackEff_DiMuon_" + line + "_" + + mu + "_Tag", + prescale=1, + persistreco=True, + probe_charge=charge, + get_cuts=get_cuts, + get_particles=myparticles): + return create_TagLine(name, prescale, persistreco, probe_charge, + get_cuts, get_particles()) + + @register_line_builder(sprucing_lines) + @configurable + def LineWithMatching(name="SpruceIFT_SMOG2TrackEff_DiMuon_" + line + + "_" + mu + "_Match", + prescale=1, + persistreco=True, + probe_charge=charge, + get_cuts=get_cuts, + get_particles=myparticles): + return create_MatchLine(name, prescale, persistreco, probe_charge, + get_cuts, get_particles()) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/spruce_ift_smog2_trackingeff_Ks.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/spruce_ift_smog2_trackingeff_Ks.py new file mode 100644 index 00000000000..234dc6dbfd5 --- /dev/null +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/spruce_ift_smog2_trackingeff_Ks.py @@ -0,0 +1,205 @@ +############################################################################### +# (c) Copyright 2022 CERN for the benefit of the LHCb Collaboration # +# # +# This software is distributed under the terms of the GNU General Public # +# Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". # +# # +# 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 PyConf import configurable +from Moore.config import register_line_builder +from Moore.lines import SpruceLine +from Hlt2Conf.lines.ift.builders.smog2_builders import make_smog2_prefilters +from RecoConf.reconstruction_objects import make_pvs +from GaudiKernel.SystemOfUnits import MeV, GeV, mm +import Functors as F +from Functors.math import in_range +from Hlt2Conf.algorithms_thor import ParticleFilter, ParticleCombiner +from Hlt2Conf.lines.ift.builders.smog2_builders import bpv_in_smog2 +from Hlt2Conf.standard_particles import make_long_pions +from Hlt2Conf.probe_muons import make_velo_muons + +sprucing_lines = {} + + +@configurable +def filter_pions(particles, pvs=None, pt_min=0.2 * GeV): + cut = F.require_all( + F.P > 2000, + F.PT > pt_min, + F.ETA < 5.0, + F.ETA > 1.5, + F.BPVIPCHI2(pvs()) >= 25, + ) + return ParticleFilter(particles, F.FILTER(cut)) + + +@configurable +def filter_particles_velo(particles, pvs): + cut = F.require_all( + F.ETA < 4.5, + F.ETA > 1.5, + F.BPVIPCHI2(pvs()) >= 20, + ) + return ParticleFilter(particles, F.FILTER(cut)) + + +@configurable +def make_kshort_pi_muplus_specific_charge(pions, + muons, + pvs, + decay_descriptor, + comb_m_min=0 * MeV, + comb_m_max=2650 * MeV, + comb_maxdoca=0.15 * mm, + name="KShortMuPiCombiner_{hash}"): + combination_code = F.require_all( + in_range(comb_m_min, F.MASS, comb_m_max), + F.MAXDOCACUT(comb_maxdoca), + ) + vertex_code = F.require_all( + F.END_VRHO < 100 * mm, + F.END_VZ < 2200 * mm, + bpv_in_smog2(pvs), + ) + return ParticleCombiner( + [pions, muons], + name=name, + DecayDescriptor=decay_descriptor, + CombinationCut=combination_code, + CompositeCut=vertex_code, + ) + + +from Hlt2Conf.algorithms_thor import ParticleContainersMerger + + +def make_kshort_pi_muplus(pions, muons, pvs, **kwargs): + ks_particle_combinations = [ + make_kshort_pi_muplus_specific_charge( + pions, + muons, + pvs, + "KS0 -> pi+ mu+", + name="KShortMuPiCombiner_{hash}", + **kwargs), + make_kshort_pi_muplus_specific_charge( + pions, + muons, + pvs, + "KS0 -> pi+ mu-", + name="KShortMuPiCombiner_{hash}", + **kwargs), + make_kshort_pi_muplus_specific_charge( + pions, + muons, + pvs, + "KS0 -> pi- mu-", + name="KShortMuPiCombiner_{hash}", + **kwargs), + make_kshort_pi_muplus_specific_charge( + pions, + muons, + pvs, + "KS0 -> pi- mu+", + name="KShortMuPiCombiner_{hash}", + **kwargs), + ] + + return ParticleContainersMerger( + ks_particle_combinations, name="KS_combinations_{hash}") + + +from PyConf.Algorithms import KSLongVeloFilter + + +@register_line_builder(sprucing_lines) +@configurable +def kshort_velo_long_line_low(name="SpruceIFT_SMOG2KshortVeloLong_LowPT", + prescale=0.04): + + pions = filter_pions(make_long_pions(), make_pvs, pt_min=0.5 * GeV) + muonsVelo = filter_particles_velo(make_velo_muons(), make_pvs) + kshorts = make_kshort_pi_muplus( + pions, muonsVelo, make_pvs, comb_m_max=1500, + comb_m_min=0) # probe should be on index 1 + + filtered_kshorts = KSLongVeloFilter( + InputParticle=kshorts, + InputPVs=make_pvs(), + PVConstrainedMassMin=350., + PVConstrainedMassMax=625., + PVConstrainedProbePtMax=1500., + IPperpendicularMax=0.007, + IPMax=0.8, + name="TrackEffFilter_{hash}", + ).OutputParticles + + return SpruceLine( + name=name, + algs=make_smog2_prefilters(pvs=make_pvs) + [filtered_kshorts], + hlt2_filter_code='Hlt2IFTFull_SMOG2KshortVeloLong_LowPTDecision', + prescale=prescale, + persistreco=True) + + +@register_line_builder(sprucing_lines) +@configurable +def kshort_velo_long_line_high(name="SpruceIFT_SMOG2KshortVeloLong_HighPT", + prescale=0.03): + pions = filter_pions(make_long_pions(), make_pvs, pt_min=0.5 * GeV) + muonsVelo = filter_particles_velo(make_velo_muons(), make_pvs) + kshorts = make_kshort_pi_muplus( + pions, muonsVelo, make_pvs, comb_m_max=1500, + comb_m_min=0) # probe should be on index 1 + + filtered_kshorts = KSLongVeloFilter( + InputParticle=kshorts, + InputPVs=make_pvs(), + PVConstrainedMassMin=350., + PVConstrainedMassMax=625., + PVConstrainedProbePtMin=1500., + PVConstrainedProbePtMax=4000., + IPperpendicularMax=0.007, + IPMax=0.8, + name="TrackEffFilter_{hash}", + ).OutputParticles + + return SpruceLine( + name=name, + algs=make_smog2_prefilters(pvs=make_pvs) + [filtered_kshorts], + hlt2_filter_code='Hlt2IFTFull_SMOG2KshortVeloLong_HighPTDecision', + prescale=prescale, + persistreco=True) + + +@register_line_builder(sprucing_lines) +@configurable +def kshort_velo_long_line_veryhigh( + name="SpruceIFT_SMOG2KshortVeloLong_VeryHighPT", prescale=0.02): + pions = filter_pions(make_long_pions(), make_pvs, pt_min=0.5 * GeV) + muonsVelo = filter_particles_velo(make_velo_muons(), make_pvs) + kshorts = make_kshort_pi_muplus( + pions, muonsVelo, make_pvs, comb_m_max=1500, + comb_m_min=0) # probe should be on index 1 + + filtered_kshorts = KSLongVeloFilter( + InputParticle=kshorts, + InputPVs=make_pvs(), + PVConstrainedMassMin=350., + PVConstrainedMassMax=625., + PVConstrainedProbePtMin=4000., + IPperpendicularMax=0.007, + IPMax=0.8, + name="TrackEffFilter_{hash}", + ).OutputParticles + + return SpruceLine( + name=name, + algs=make_smog2_prefilters(pvs=make_pvs) + [filtered_kshorts], + hlt2_filter_code='Hlt2IFTFull_SMOG2KshortVeloLong_VeryHighPTDecision', + prescale=prescale, + persistreco=True) diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/spruce_ift_smog2_xis.py b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/spruce_ift_smog2_xis.py index c672a10fec8..237d0e6d71e 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/spruce_ift_smog2_xis.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/lines/ift/spruce_ift_smog2_xis.py @@ -48,7 +48,7 @@ _MASSWINDOW_XI = [(F.PDG_MASS("Xi-") - 25) * MeV, @configurable def smog2_xi2lambda0pi_lll_spruceline( name="SpruceIFT_SMOG2Xi2Lambda0pi_lll", - prescale=1, + prescale=0.3, persistreco=True, min_p=2 * GeV, min_pt=100 * MeV, @@ -96,7 +96,7 @@ def smog2_xi2lambda0pi_lll_spruceline( return SpruceLine( name=name, algs=make_smog2_prefilters(pvs=pvs) + [xi2Lambda0pi], - hlt2_filter_code="Hlt2IFT_SMOG2Xi2Lambda0pi_lllDecision", + hlt2_filter_code="Hlt2IFTFull_SMOG2Xi2Lambda0pi_lllDecision", prescale=prescale, persistreco=persistreco, ) @@ -158,7 +158,7 @@ def smog2_xi2lambda0pi_ddl_spruceline( return SpruceLine( name=name, algs=make_smog2_prefilters(pvs=pvs) + [xi2Lambda0pi], - hlt2_filter_code="Hlt2IFT_SMOG2Xi2Lambda0pi_ddlDecision", + hlt2_filter_code="Hlt2IFTFull_SMOG2Xi2Lambda0pi_ddlDecision", prescale=prescale, persistreco=persistreco, ) @@ -216,7 +216,7 @@ def smog2_xi2lambda0pi_ddd_spruceline( return SpruceLine( name=name, algs=make_smog2_prefilters(pvs=pvs) + [xi2Lambda0pi], - hlt2_filter_code="Hlt2IFT_SMOG2Xi2Lambda0pi_dddDecision", + hlt2_filter_code="Hlt2IFTFull_SMOG2Xi2Lambda0pi_dddDecision", prescale=prescale, persistreco=persistreco, ) diff --git a/Hlt/Hlt2Conf/tests/qmtest/sprucing.qms/test_spruce_bandwidth.qmt b/Hlt/Hlt2Conf/tests/qmtest/sprucing.qms/test_spruce_bandwidth.qmt index 5eac9dffa30..4d7cca88b53 100644 --- a/Hlt/Hlt2Conf/tests/qmtest/sprucing.qms/test_spruce_bandwidth.qmt +++ b/Hlt/Hlt2Conf/tests/qmtest/sprucing.qms/test_spruce_bandwidth.qmt @@ -41,4 +41,11 @@ if not matches: causes.append('no line decisions found') + + + .* + -- GitLab From 83269fc9adb1b36c7391a123d3a2368affa44a8d Mon Sep 17 00:00:00 2001 From: Rosen Matev Date: Fri, 19 Apr 2024 16:06:53 +0200 Subject: [PATCH 46/51] Prepare Moore v55r7 [ci skip] --- CMakeLists.txt | 2 +- ReleaseNotes/v55r7.md | 80 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 ReleaseNotes/v55r7.md diff --git a/CMakeLists.txt b/CMakeLists.txt index 7993a544269..d97def933b6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,7 +11,7 @@ cmake_minimum_required(VERSION 3.15) -project(Moore VERSION 55.6 +project(Moore VERSION 55.7 LANGUAGES CXX) # Enable testing with CTest/CDash diff --git a/ReleaseNotes/v55r7.md b/ReleaseNotes/v55r7.md new file mode 100644 index 00000000000..d7b3203ac99 --- /dev/null +++ b/ReleaseNotes/v55r7.md @@ -0,0 +1,80 @@ +2024-04-19 Moore v55r7 +=== + +This version uses +Allen [v4r7](../../../../Allen/-/tags/v4r7), +Rec [v36r7](../../../../Rec/-/tags/v36r7), +Lbcom [v35r7](../../../../Lbcom/-/tags/v35r7), +LHCb [v55r7](../../../../LHCb/-/tags/v55r7), +Gaudi [v38r1](../../../../Gaudi/-/tags/v38r1), +Detector [v1r31](../../../../Detector/-/tags/v1r31) and +LCG [105a](http://lcginfo.cern.ch/release/105a/) with ROOT 6.30.04. + +This version is released on the `2024-patches` branch. +Built relative to Moore [v55r6](/../../tags/v55r6), with the following changes: + +### New features ~"new feature" + +- Upstream project highlights :star: + + +### Fixes ~"bug fix" ~workaround + +- Upstream project highlights :star: + + +### Enhancements ~enhancement + +- ~Persistency | TAE handling for EvtStoreSvc, !3333 (@rmatev) +- Upstream project highlights :star: + + +### Code cleanups and changes to tests ~modernisation ~cleanup ~testing + +- Add HLT2CALIB to hlt2slim settings, !3243 (@rmatev) +- Unit test for checking configuration of physics Sprucing, !3327 (@nskidmor) +- Suppress warnings from TrackMasterExtrapolator and TrackMasterFitter, !3318 (@rmatev) +- [DPA WP1] Add turbo_regex streaming verification., !3246 (@lugrazet) +- Upstream project highlights :star: + + +### Documentation ~Documentation + +- Update HltEfficiencyChecker and expected2024 docs to latest reco binds, !3290 (@rjhunter) +- Update contributing file, !3296 (@cmarinbe) +- Hotfix to the doc build, !3289 (@rjhunter) +- Add examples to documentation for running with UT, and emulating HLT1,2 & sprucing without UT on expected24 MC, !3224 (@rjhunter) +### Other + +- ~selection | Bug fix for the Upsilon trigger high mass window, !3310 (@mengzhen) +- ~selection | BandQ sprucing tuning targetting on April deadline, !3210 (@mengzhen) +- ~selection | Add isolation information to B2VV lines, !3104 (@dlancier) +- ~hlt2 | Few points for B2CC HLT2 [reduces the BW ], !3129 (@yimingli) +- ~hlt2 | B2OC: removed the F.CHI2DOF cut in make_bmeson_neutral_adder, !3202 (@yangk) +- ~hlt2 ~Monitoring | Simplify the monitoring and enable the creation of multidimensional histograms, !3119 (@mramospe) +- ~Configuration | Remove upfront_decoder.bind which is deprecated by LHCb!4463, !3117 (@graven) +- Update references for Allen!1566 manually, !3337 (@cagapopo) +- Add back accidentally removed functor caches, !3336 (@rmatev) +- Add settings for running on data with super pixel clusters, !3335 (@jagoodin) +- Add cache for exclusive Sprucing, !3332 (@nskidmor) +- Reduce SMOG2 sprucing bandwidth, !3277 (@kmattiol) +- [RTA/DPA BW tests]: Use v2 min bias sample for BW tests, !3231 (@shunan) +- Add missing refs and update from lhcb-2024-patches/12, !3325 (@rmatev) +- Update References for: Rec!3862, Moore!3318 based on lhcb-2024-patches-mr/116, !3322 (@lhcbsoft) +- Revert "Merge branch 'b2oc_upgrade-TrackVertexMonitor' into '2024-patches'", !3316 (@cagapopo) +- Do not pass routing bit filters if there is an issue with rb rawbank, !3314 (@nskidmor) +- B2OC: Lb0 Neutron Lines tunning, !3297 (@jbaptist) +- Changing the prescale value to 0.5 for 6 lines in hexaquarks, !3156 (@cacochat) +- Update References for: Allen!1503 based on lhcb-2024-patches-mr/41, !3313 (@lhcbsoft) +- Update References for: Moore!3210 based on lhcb-2024-patches-mr/35, !3303 (@lhcbsoft) +- Modify regex ift turbo lines, !3301 (@oboenteg) +- Adding new lines B2Dplnu, with Dp2KKpi, !3274 (@sklaver) [PAPER-2019] +- Update DiElectronLowMass line names, !3239 (@acasaisv) +- B2OC: add TrackVertexMonitor to a relevant line, !3198 (@abertoli) +- Add vertexmonitor to hlt2lines, !3180 (@rosong) +- [QEE] branch to collect contributions aiming for April12th. BW is Influenced by https://gitlab.cern.ch/lhcb/Allen/-/merge_requests/1372, !3151 (@isanders) +- Update References for: Allen!1523 based on lhcb-2024-patches-mr/5, !3287 (@lhcbsoft) +- More Bandwidth reduction in HLT2 IFT SMOG2 lines, !3266 (@oboenteg) +- BandQ Upsilon to Mu Mu Turbo line, !3257 (@yajing) +- [RTADPA BW Tests] Follow https://gitlab.cern.ch/lhcb/Allen/-/merge_requests/1508 to better approximate v2 of BW Division, !3254 (@lugrazet) +- [RTADPA BW Tests] Add IFT module to Sprucing tests, !3236 (@lugrazet) -- GitLab From 60e58201a27e37ecf8f01b4b4ea93210eddebb6a Mon Sep 17 00:00:00 2001 From: Ross John Hunter Date: Fri, 19 Apr 2024 16:45:54 +0200 Subject: [PATCH 47/51] [RTA/DPA BW tests]: Add options for sprucing jobs on Turbo and TurCal in the bandwidth tests --- .../sprucing/sprucepass_pp_expected_24.py | 2 +- .../Sprucing_production_PP_24c1.py | 126 +++++++++--------- .../run_spruce_bandwidth_latest_tests.sh | 28 ++++ .../bandwidth/spruce_bandwidth_input.yaml | 3 +- ...uce_bandwidth_input_latest__common_opts.py | 20 +++ ...=> spruce_bandwidth_input_latest__full.py} | 9 -- .../spruce_bandwidth_input_latest__turbo.py | 30 +++++ .../spruce_bandwidth_input_latest__turcal.py | 30 +++++ .../spruce_bandwidth_turcal_streams.py | 55 ++++++++ .../bandwidth/spruce_bandwidth_wg_streams.py | 67 ++-------- .../spruce_bandwidth_wgpass_streams.py | 54 ++++++++ .../test_spruce_bandwidth_latest.qmt | 18 +-- 12 files changed, 306 insertions(+), 136 deletions(-) create mode 100755 Hlt/Hlt2Conf/tests/options/bandwidth/run_spruce_bandwidth_latest_tests.sh create mode 100644 Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_input_latest__common_opts.py rename Hlt/Hlt2Conf/tests/options/bandwidth/{spruce_bandwidth_input_latest.py => spruce_bandwidth_input_latest__full.py} (87%) create mode 100644 Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_input_latest__turbo.py create mode 100644 Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_input_latest__turcal.py create mode 100644 Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_turcal_streams.py create mode 100644 Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_wgpass_streams.py diff --git a/Hlt/Hlt2Conf/options/sprucing/sprucepass_pp_expected_24.py b/Hlt/Hlt2Conf/options/sprucing/sprucepass_pp_expected_24.py index d49a91903a9..8f294bfe366 100644 --- a/Hlt/Hlt2Conf/options/sprucing/sprucepass_pp_expected_24.py +++ b/Hlt/Hlt2Conf/options/sprucing/sprucepass_pp_expected_24.py @@ -49,7 +49,7 @@ WG = 'qee' def make_streams(): # adjust hlt2_filter_code according to WG of choice # example here corresponds to output of QEE HLT2 turbo lines - # See Hlt/Hlt2Conf/python/Hlt2Conf/sprucing_settings/Sprucing_2023_2_production.py for inspiration + # See Hlt/Hlt2Conf/python/Hlt2Conf/sprucing_settings/Sprucing_production_PP_24c1.py for inspiration # detectors will only be persisted if already saved by HLT2 streams = [ Stream( diff --git a/Hlt/Hlt2Conf/python/Hlt2Conf/sprucing_settings/Sprucing_production_PP_24c1.py b/Hlt/Hlt2Conf/python/Hlt2Conf/sprucing_settings/Sprucing_production_PP_24c1.py index 2fd58f2846a..6534f2157ff 100644 --- a/Hlt/Hlt2Conf/python/Hlt2Conf/sprucing_settings/Sprucing_production_PP_24c1.py +++ b/Hlt/Hlt2Conf/python/Hlt2Conf/sprucing_settings/Sprucing_production_PP_24c1.py @@ -98,23 +98,11 @@ def lines_not_running(all_lines, lines_to_run): return [item for item in list(all_lines) if item not in lines_to_run] -def excl_spruce_production(options: Options): - +def make_excl_spruce_prod_streams(): spruce_b2oc_lines.pop('SpruceB2OC_BdToDsmK_DsmToHHH_FEST') - lines_to_run = lines_running(fulllinedict) missing_lines = lines_not_running(sprucing_lines, lines_to_run) - def make_streams(): - streams = [ - Stream( - wg, - lines=[builder() for builder in fulllinedict[wg].values()], - detectors=[]) for wg in fulllinedict - ] - - return Streams(streams=streams) - print(f"Running {len(lines_to_run)} lines") for wg in fulllinedict.keys(): lines = list(fulllinedict[wg].keys()) @@ -123,9 +111,22 @@ def excl_spruce_production(options: Options): print( f"The following lines exist but are not appended to any stream : {missing_lines} \n end of missing lines." ) + + streams = [ + Stream( + wg, + lines=[builder() for builder in fulllinedict[wg].values()], + detectors=[]) for wg in fulllinedict + ] + + return Streams(streams=streams) + + +def excl_spruce_production(options: Options): with list_of_full_stream_lines.bind( lines=lines_for_TISTOS(full_modules_for_TISTOS)): - config = run_moore(options, make_streams, public_tools=[]) + config = run_moore( + options, make_excl_spruce_prod_streams, public_tools=[]) return config @@ -148,28 +149,31 @@ turbolinedict = { } -def turbo_spruce_production(options: Options): - def make_streams(): - streams = [ - Stream( - wg, - lines=[ - PassLine( - name="Pass" + wg, - hlt2_filter_code=turbolinedict[wg], - ) - ], - detectors=DETECTORS) for wg in turbolinedict - ] - - return Streams(streams=streams) +def make_turbo_spruce_prod_streams(): + streams = [ + Stream( + wg, + lines=[ + PassLine( + name="Pass" + wg, + hlt2_filter_code=turbolinedict[wg], + ) + ], + detectors=DETECTORS) for wg in turbolinedict + ] for wg in turbolinedict.keys(): print( f"Stream {wg} will contain the lines matching the regex : {turbolinedict[wg]} \n" ) - config = run_moore(options, make_streams, public_tools=[]) + return Streams(streams=streams) + + +def turbo_spruce_production(options: Options): + + config = run_moore( + options, make_turbo_spruce_prod_streams, public_tools=[]) return config @@ -267,36 +271,36 @@ def make_turcal_spruceline(hlt2_linename, persist_reco=False, prescale=1.): return turcal_spruce_line +def make_turcal_spruce_prod_streams(): + streams = [ + Stream( + "Turcal_mDST", + lines=[make_turcal_spruceline(line) for line in nominal_lines], + detectors=[]), + Stream( + "Turcal_persistreco", + lines=[ + make_turcal_spruceline(line, persist_reco=True) + for line in persist_reco_lines + ], + detectors=[]), + Stream( + "Turcal_rawbanks", + lines=[make_turcal_spruceline(line) for line in rawbank_lines], + detectors=DETECTORS), + Stream( + "Turcal_persistrecorawbanks", + lines=[ + make_turcal_spruceline(line, persist_reco=True) + for line in persist_reco_rawbank_lines + ], + detectors=DETECTORS) + ] + print(streams) + return Streams(streams=streams) + + def turcal_spruce_production(options: Options): - def make_streams(): - streams = [ - Stream( - "Turcal_mDST", - lines=[make_turcal_spruceline(line) for line in nominal_lines], - detectors=[]), - Stream( - "Turcal_persistreco", - lines=[ - make_turcal_spruceline(line, persist_reco=True) - for line in persist_reco_lines - ], - detectors=[]), - Stream( - "Turcal_rawbanks", - lines=[make_turcal_spruceline(line) for line in rawbank_lines], - detectors=DETECTORS), - Stream( - "Turcal_persistrecorawbanks", - lines=[ - make_turcal_spruceline(line, persist_reco=True) - for line in persist_reco_rawbank_lines - ], - detectors=DETECTORS) - ] - - print(streams) - - return Streams(streams=streams) - - config = run_moore(options, make_streams, public_tools=[]) + config = run_moore( + options, make_turcal_spruce_prod_streams, public_tools=[]) return config diff --git a/Hlt/Hlt2Conf/tests/options/bandwidth/run_spruce_bandwidth_latest_tests.sh b/Hlt/Hlt2Conf/tests/options/bandwidth/run_spruce_bandwidth_latest_tests.sh new file mode 100755 index 00000000000..cc9c6c85dd3 --- /dev/null +++ b/Hlt/Hlt2Conf/tests/options/bandwidth/run_spruce_bandwidth_latest_tests.sh @@ -0,0 +1,28 @@ +#!/bin/bash +############################################################################### +# (c) Copyright 2024 CERN for the benefit of the LHCb Collaboration # +# # +# This software is distributed under the terms of the GNU General Public # +# Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". # +# # +# 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. # +############################################################################### +set -euxo pipefail + +TEST_PATH_PREFIX='$HLT2CONFROOT/tests/options/bandwidth/' +for STREAM_CONFIG in wg wgpass turcal; do + if [ $STREAM_CONFIG = "wg" ]; then + HLT2_OUTPUT_STREAM="full" + elif [ $STREAM_CONFIG = "wgpass" ]; then + HLT2_OUTPUT_STREAM="turbo" + elif [ $STREAM_CONFIG = "turcal" ]; then + HLT2_OUTPUT_STREAM="turcal" + fi + + gaudirun.py \ + "${TEST_PATH_PREFIX}spruce_bandwidth_input_latest__common_opts.py" \ + "${TEST_PATH_PREFIX}spruce_bandwidth_input_latest__${HLT2_OUTPUT_STREAM}.py" \ + "${TEST_PATH_PREFIX}spruce_bandwidth_${STREAM_CONFIG}_streams.py" +done \ No newline at end of file diff --git a/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_input.yaml b/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_input.yaml index 2c9d32f39c6..bdfd2f4cd0d 100644 --- a/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_input.yaml +++ b/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_input.yaml @@ -10,4 +10,5 @@ filtering_info_links: # Output of HLT2 full stream running on HLT1-filtered min bias in expected 2024 conditions # v2 update in March 2024 # include HLT2 full stream update as of March 21, 2024, commit 1afb9c020 - # efficiency around 5.9%, input rate around 59 kHz \ No newline at end of file + # efficiency around 5.9%, input rate around 59 kHz +fixed_list_of_full_stream_lines: lines_for_TISTOS_BW_March2024 diff --git a/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_input_latest__common_opts.py b/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_input_latest__common_opts.py new file mode 100644 index 00000000000..b50087ddac9 --- /dev/null +++ b/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_input_latest__common_opts.py @@ -0,0 +1,20 @@ +############################################################################### +# (c) Copyright 2024 CERN for the benefit of the LHCb Collaboration # +# # +# This software is distributed under the terms of the GNU General Public # +# Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". # +# # +# 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. # +############################################################################### +''' +Common options for sprucing the 3 HLT2 output streams +''' +from Moore import options +# HLT2 has been run on the below TestFileDB sample, so we can take its conds. +options.set_conds_from_testfiledb('expected_2024_min_bias_hlt1_filtered') +options.evt_max = 100 +options.n_threads = 1 +options.input_raw_format = 0.5 +options.input_type = 'MDF' diff --git a/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_input_latest.py b/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_input_latest__full.py similarity index 87% rename from Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_input_latest.py rename to Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_input_latest__full.py index 3cb408e9c75..3dadf826b47 100644 --- a/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_input_latest.py +++ b/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_input_latest__full.py @@ -24,15 +24,6 @@ from PRConfig.bandwidth_helpers import FileNameHelper stream = 'full' stream_config = 'production' -# From hlt2_bandwidth_input_2024.py -options.dddb_tag = "dddb-20231017" -options.conddb_tag = "sim-20231017-vc-md100" -options.simulation = True -options.input_type = 'MDF' -options.evt_max = 100 -options.n_threads = 1 -options.input_raw_format = 0.5 - fname_helper = FileNameHelper(process="hlt2") options.input_files = [ fname_helper.mdfdst_fname_for_Moore(stream_config=stream_config).format( diff --git a/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_input_latest__turbo.py b/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_input_latest__turbo.py new file mode 100644 index 00000000000..1ccdb9101bc --- /dev/null +++ b/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_input_latest__turbo.py @@ -0,0 +1,30 @@ +############################################################################### +# (c) Copyright 2023-2024 CERN for the benefit of the LHCb Collaboration # +# # +# This software is distributed under the terms of the GNU General Public # +# Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". # +# # +# 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. # +############################################################################### +''' +Configure input files for the spruce_latest bandwidth tests for the Turbo stream + +This is needed for the qmtest in Moore. +For the test in LHCbPR, the input files are configured by +$PRCONFIGROOT/python/MooreTests/run_bandwidth_test_jobs.py + +''' +from Moore import options +from PRConfig.bandwidth_helpers import FileNameHelper + +stream = 'turbo' +stream_config = 'production' + +fname_helper = FileNameHelper(process="hlt2") +options.input_files = [ + fname_helper.mdfdst_fname_for_Moore(stream_config=stream_config).format( + stream=stream) +] +options.input_manifest_file = fname_helper.tck(stream_config=stream_config) diff --git a/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_input_latest__turcal.py b/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_input_latest__turcal.py new file mode 100644 index 00000000000..26723cf4fbc --- /dev/null +++ b/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_input_latest__turcal.py @@ -0,0 +1,30 @@ +############################################################################### +# (c) Copyright 2023-2024 CERN for the benefit of the LHCb Collaboration # +# # +# This software is distributed under the terms of the GNU General Public # +# Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". # +# # +# 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. # +############################################################################### +''' +Configure input files for the spruce_latest bandwidth tests for the TurCal stream + +This is needed for the qmtest in Moore. +For the test in LHCbPR, the input files are configured by +$PRCONFIGROOT/python/MooreTests/run_bandwidth_test_jobs.py + +''' +from Moore import options +from PRConfig.bandwidth_helpers import FileNameHelper + +stream = 'turcal' +stream_config = 'production' + +fname_helper = FileNameHelper(process="hlt2") +options.input_files = [ + fname_helper.mdfdst_fname_for_Moore(stream_config=stream_config).format( + stream=stream) +] +options.input_manifest_file = fname_helper.tck(stream_config=stream_config) diff --git a/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_turcal_streams.py b/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_turcal_streams.py new file mode 100644 index 00000000000..e739162cf0e --- /dev/null +++ b/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_turcal_streams.py @@ -0,0 +1,55 @@ +############################################################################### +# (c) Copyright 2024 CERN for the benefit of the LHCb Collaboration # +# # +# This software is distributed under the terms of the GNU General Public # +# Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". # +# # +# 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. # +############################################################################### +''' +Test options for the Sprucing bandwidth test in LHCbPR performing a sprucing job on TurCal output +Options taken directly from the files used for real sprucing production + +To launch it in Moore, run with + ./run gaudirun.py spruce_bandwidth_input.py spruce_bandwidth_turcal_streams.py +''' + +from Moore import options, run_moore +from RecoConf.reconstruction_objects import reconstruction +from Hlt2Conf.sprucing_settings.Sprucing_production_PP_24c1 import make_turcal_spruce_prod_streams + +import logging +import json +from PRConfig.bandwidth_helpers import FileNameHelper +log = logging.getLogger() + +options.input_process = 'Hlt2' + +STREAM_CONFIG = "turcal" +fname_helper = FileNameHelper(process="spruce") +fname_helper.make_tmp_dirs() +options.output_file = fname_helper.mdfdst_fname_for_Moore( + stream_config=STREAM_CONFIG, ext=".dst") +options.output_type = 'ROOT' +options.output_manifest_file = fname_helper.tck(stream_config=STREAM_CONFIG) + + +def make_streams(): + real_streams = make_turcal_spruce_prod_streams() + + # Write out stream configuration to JSON file for use later in the test + with open( + fname_helper.stream_config_json_path(stream_config=STREAM_CONFIG), + 'w') as f: + json.dump({ + stream.name: [line.name for line in stream.lines] + for stream in real_streams.streams + }, f) + + return real_streams + + +with reconstruction.bind(from_file=True, spruce=True): + config = run_moore(options, make_streams, public_tools=[]) diff --git a/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_wg_streams.py b/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_wg_streams.py index dd7d5469d32..b5a0bbfc075 100644 --- a/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_wg_streams.py +++ b/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_wg_streams.py @@ -1,5 +1,5 @@ ############################################################################### -# (c) Copyright 2023 CERN for the benefit of the LHCb Collaboration # +# (c) Copyright 2023-2024 CERN for the benefit of the LHCb Collaboration # # # # This software is distributed under the terms of the GNU General Public # # Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". # @@ -9,10 +9,9 @@ # or submit itself to any jurisdiction. # ############################################################################### ''' -Test option for the Sprucing bandwidth test in LHCbPR +Test option for the Sprucing bandwidth test in LHCbPR for sprucing of the Full stream -The streaming configuration in this test is `wg-stream`, -which means one stream per WG. +The streaming configuration in this test is taking from the current sprucing production options To launch it in Moore, run with ./run gaudirun.py spruce_bandwidth_input.py spruce_bandwidth_wg_streams.py @@ -21,78 +20,40 @@ To launch it in Moore, run with from Moore import options, run_moore from RecoConf.global_tools import stateProvider_with_simplified_geom from RecoConf.reconstruction_objects import reconstruction -from Moore.streams import Stream, Streams +from Hlt2Conf.sprucing_settings.Sprucing_production_PP_24c1 import make_excl_spruce_prod_streams import logging import json from PRConfig.bandwidth_helpers import FileNameHelper log = logging.getLogger() -from Hlt2Conf.lines import (b_to_open_charm, rd, bandq, qee, charm, - b_to_charmonia, semileptonic, charmonium_to_dimuon, - bnoc, ift) - -MODULES = { - "b_to_open_charm": b_to_open_charm, - 'rd': rd, - 'bandq': bandq, - 'qee': qee, - 'charm': charm, - 'b_to_charmonia': b_to_charmonia, - 'slepton': semileptonic, - 'c_to_dimuon': charmonium_to_dimuon, - 'bnoc': bnoc, - 'ift': ift -} - options.input_process = 'Hlt2' +STREAM_CONFIG = "wg" fname_helper = FileNameHelper(process="spruce") fname_helper.make_tmp_dirs() options.output_file = fname_helper.mdfdst_fname_for_Moore( - stream_config="wg", ext=".dst") + stream_config=STREAM_CONFIG, ext=".dst") options.output_type = 'ROOT' -options.output_manifest_file = fname_helper.tck(stream_config="wg") - - -def make_module_lines(mod): - - builders = [] - try: - lines = mod.sprucing_lines - if 'SpruceB2OC_BdToDsmK_DsmToHHH_FEST' in lines.keys(): - print("Removing SpruceB2OC_BdToDsmK_DsmToHHH_FEST") - lines.pop('SpruceB2OC_BdToDsmK_DsmToHHH_FEST') - for builder in lines.values(): - builders.append(builder()) - except AttributeError: - log.info( - f'line module {mod.__name__} does not define `sprucing_lines`') - - return builders +options.output_manifest_file = fname_helper.tck(stream_config=STREAM_CONFIG) def make_module_streams(): - mod_streams = [] - for mod_name, module in MODULES.items(): - builders = make_module_lines(module) - if builders: - mod_streams.append(Stream(mod_name, lines=builders, detectors=[])) + real_streams = make_excl_spruce_prod_streams() # Write out stream configuration to JSON file for use later in the test - with open(fname_helper.stream_config_json_path(stream_config="wg"), - 'w') as f: + with open( + fname_helper.stream_config_json_path(stream_config=STREAM_CONFIG), + 'w') as f: json.dump({ stream.name: [line.name for line in stream.lines] - for stream in mod_streams + for stream in real_streams.streams }, f) - return Streams(streams=mod_streams) + return real_streams -# Only running thread-safe lines public_tools = [stateProvider_with_simplified_geom()] with reconstruction.bind(from_file=True, spruce=True): - config = run_moore( - options, make_module_streams, public_tools, exclude_incompatible=True) + config = run_moore(options, make_module_streams, public_tools) diff --git a/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_wgpass_streams.py b/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_wgpass_streams.py new file mode 100644 index 00000000000..21d4d82650c --- /dev/null +++ b/Hlt/Hlt2Conf/tests/options/bandwidth/spruce_bandwidth_wgpass_streams.py @@ -0,0 +1,54 @@ +############################################################################### +# (c) Copyright 2024 CERN for the benefit of the LHCb Collaboration # +# # +# This software is distributed under the terms of the GNU General Public # +# Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". # +# # +# 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. # +############################################################################### +''' +Test options for the Sprucing bandwidth test in LHCbPR performing a sprucing-pass job on Turbo output + +To launch it in Moore, run with + ./run gaudirun.py spruce_bandwidth_input.py spruce_bandwidth_wgpass_streams.py +''' + +from Moore import options, run_moore +from RecoConf.reconstruction_objects import reconstruction +from Hlt2Conf.sprucing_settings.Sprucing_production_PP_24c1 import make_turbo_spruce_prod_streams + +import logging +import json +from PRConfig.bandwidth_helpers import FileNameHelper +log = logging.getLogger() + +options.input_process = 'Hlt2' + +STREAM_CONFIG = "wgpass" +fname_helper = FileNameHelper(process="spruce") +fname_helper.make_tmp_dirs() +options.output_file = fname_helper.mdfdst_fname_for_Moore( + stream_config=STREAM_CONFIG, ext=".dst") +options.output_type = 'ROOT' +options.output_manifest_file = fname_helper.tck(stream_config=STREAM_CONFIG) + + +def make_streams(): + real_streams = make_turbo_spruce_prod_streams() + + # Write out stream configuration to JSON file for use later in the test + with open( + fname_helper.stream_config_json_path(stream_config=STREAM_CONFIG), + 'w') as f: + json.dump({ + stream.name: [line.name for line in stream.lines] + for stream in real_streams.streams + }, f) + + return real_streams + + +with reconstruction.bind(from_file=True, spruce=True): + config = run_moore(options, make_streams, public_tools=[]) diff --git a/Hlt/Hlt2Conf/tests/qmtest/sprucing.qms/test_spruce_bandwidth_latest.qmt b/Hlt/Hlt2Conf/tests/qmtest/sprucing.qms/test_spruce_bandwidth_latest.qmt index c146e60852b..28200f55181 100644 --- a/Hlt/Hlt2Conf/tests/qmtest/sprucing.qms/test_spruce_bandwidth_latest.qmt +++ b/Hlt/Hlt2Conf/tests/qmtest/sprucing.qms/test_spruce_bandwidth_latest.qmt @@ -1,6 +1,6 @@