and GEC Filter to eff options files trained network with correct parameterisation sample4 new effs with sample4 NN weights
		
			
				
	
	
		
			115 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			115 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
# flake8: noqa
 | 
						|
 | 
						|
 | 
						|
"""
 | 
						|
This set of options is used for reconstruction development purposes,
 | 
						|
and assumes that the input contains MCHits (i.e. is of `Exended`
 | 
						|
DST/digi type).
 | 
						|
author:     Furkan Cetin
 | 
						|
date:       10/2023
 | 
						|
"""
 | 
						|
 | 
						|
from Moore import options, run_reconstruction
 | 
						|
 | 
						|
from Moore.config import Reconstruction
 | 
						|
from PyConf.Algorithms import (
 | 
						|
    PrMatchNN,
 | 
						|
    fromPrMatchTracksV1Tracks,
 | 
						|
)
 | 
						|
from PyConf.Tools import TrackMasterExtrapolator
 | 
						|
from RecoConf.hlt1_tracking import make_all_pvs
 | 
						|
from RecoConf.event_filters import require_gec
 | 
						|
from RecoConf.mc_checking import (
 | 
						|
    check_track_resolution,
 | 
						|
    check_tracking_efficiency,
 | 
						|
    get_mc_categories,
 | 
						|
    get_hit_type_mask,
 | 
						|
    make_links_lhcbids_mcparticles_tracking_system,
 | 
						|
    make_links_tracks_mcparticles,
 | 
						|
    get_track_checkers,
 | 
						|
    get_fitted_tracks_checkers,
 | 
						|
)
 | 
						|
from RecoConf.core_algorithms import make_unique_id_generator
 | 
						|
from RecoConf.hlt2_tracking import (
 | 
						|
    make_hlt2_tracks,
 | 
						|
    get_default_out_track_types_for_light_reco,
 | 
						|
    get_global_ut_hits_tool,
 | 
						|
)
 | 
						|
from RecoConf.hlt1_tracking import (
 | 
						|
    make_VeloClusterTrackingSIMD_hits,
 | 
						|
    make_PrStorePrUTHits_hits,
 | 
						|
    make_PrStoreSciFiHits_hits,
 | 
						|
    get_global_materiallocator,
 | 
						|
)
 | 
						|
import glob
 | 
						|
 | 
						|
decay = "testJpsi"
 | 
						|
 | 
						|
options.evt_max = -1
 | 
						|
 | 
						|
options.ntuple_file = f"/work/cetin/LHCb/reco_tuner/data_matching/sample4_data/match_effs_{decay}_EFilter.root"
 | 
						|
options.input_type = "ROOT"
 | 
						|
 | 
						|
 | 
						|
if decay == "B":
 | 
						|
    options.input_files = glob.glob("/auto/data/guenther/Bd_Kstee/*.xdigi")
 | 
						|
elif decay == "BJpsi":
 | 
						|
    options.input_files = glob.glob("/auto/data/guenther/Bd_JpsiKst_ee/*.xdigi")
 | 
						|
elif decay == "D":
 | 
						|
    options.input_files = glob.glob("/auto/data/guenther/Dst_D0ee/*.xdigi")
 | 
						|
elif decay == "testJpsi":
 | 
						|
    options.input_files = [
 | 
						|
        "/auto/data/guenther/Bd_JpsiKst_ee/00143565_00000009_1.xdigi",
 | 
						|
        "/auto/data/guenther/Bd_JpsiKst_ee/00143565_00000059_1.xdigi",
 | 
						|
        "/auto/data/guenther/Bd_JpsiKst_ee/00143565_00000020_1.xdigi",
 | 
						|
    ]
 | 
						|
elif decay == "test":
 | 
						|
    options.input_files = ["/auto/data/guenther/Bd_Kstee/00151673_00000002_1.xdigi"]
 | 
						|
 | 
						|
options.dddb_tag = "dddb-20210617"
 | 
						|
options.conddb_tag = "sim-20210617-vc-md100"
 | 
						|
options.simulation = True
 | 
						|
options.output_level = 3
 | 
						|
 | 
						|
 | 
						|
def run_tracking_debug():
 | 
						|
    tracks = make_hlt2_tracks(light_reco=True, fast_reco=False, use_pr_kf=True)
 | 
						|
 | 
						|
    matching_params = dict(
 | 
						|
        MinMatchNN=0.5,  # NN response cut value
 | 
						|
    )
 | 
						|
 | 
						|
    match_long = PrMatchNN(
 | 
						|
        VeloInput=tracks["Velo"]["Pr"],
 | 
						|
        SeedInput=tracks["Seed"]["Pr"],
 | 
						|
        AddUTHitsToolName=get_global_ut_hits_tool(),
 | 
						|
        **matching_params,
 | 
						|
    ).MatchOutput
 | 
						|
 | 
						|
    match_tracks = {}
 | 
						|
    match_tracks["Pr"] = match_long
 | 
						|
    match_tracks["v1"] = fromPrMatchTracksV1Tracks(
 | 
						|
        InputTracksLocation=match_tracks["Pr"],
 | 
						|
        VeloTracksLocation=tracks["Velo"]["v1"],
 | 
						|
        SeedTracksLocation=tracks["Seed"]["v1"],
 | 
						|
    ).OutputTracksLocation
 | 
						|
 | 
						|
    types_and_locations_for_checkers = {
 | 
						|
        "Forward": tracks["Forward"],
 | 
						|
        "Seed": tracks["Seed"],
 | 
						|
        "Match": match_tracks,
 | 
						|
    }
 | 
						|
 | 
						|
    best_tracks = {
 | 
						|
        "BestLong": tracks["BestLong"],
 | 
						|
    }
 | 
						|
 | 
						|
    data = [match_long]
 | 
						|
    data += get_track_checkers(types_and_locations_for_checkers)
 | 
						|
    # data += get_fitted_tracks_checkers(best_tracks, fitted_track_types=["BestLong"])
 | 
						|
 | 
						|
    return Reconstruction("hlt2_matching_reco", data, [require_gec()])
 | 
						|
 | 
						|
 | 
						|
run_reconstruction(options, run_tracking_debug)
 |