diff --git a/Rich/Panoptes/python/Panoptes/alignment.py b/Rich/Panoptes/python/Panoptes/alignment.py index 4426807a4ffd7a4cd54de6794369712cebaef4bd..9b74e33e44796db89989a421f9aa967e97885d9c 100644 --- a/Rich/Panoptes/python/Panoptes/alignment.py +++ b/Rich/Panoptes/python/Panoptes/alignment.py @@ -215,6 +215,7 @@ def standalone_rich_panel_align_reco( MaxGhostProbCut=tight_sel["MaxGhostProb"], ), CKResHistoRange=moni_opts["CKResHistoRange"], + RichSIMDPixelSummariesLocation=conf["RichSIMDPixels"], TracksLocation=conf["InputTracks"], TrackSegmentsLocation=conf["TrackSegments"], CherenkovPhotonLocation=conf["CherenkovPhotons"], @@ -328,6 +329,7 @@ def standalone_rich_online_align_reco( MaxGhostProbCut=tight_sel["MaxGhostProb"], ), CKResHistoRange=moni_opts["CKResHistoRange"], + RichSIMDPixelSummariesLocation=conf["RichSIMDPixels"], TracksLocation=conf["InputTracks"], TrackSegmentsLocation=conf["TrackSegments"], CherenkovPhotonLocation=conf["CherenkovPhotons"], diff --git a/Rich/Panoptes/tests/options/2024-data.py b/Rich/Panoptes/tests/options/2024-data.py index 3d7480b61113d0edfd351ea33391b9bd63242124..ccab7f0bbe8402d1d5ceea332490f7a3f7768735 100644 --- a/Rich/Panoptes/tests/options/2024-data.py +++ b/Rich/Panoptes/tests/options/2024-data.py @@ -19,19 +19,26 @@ myName = os.getenv("QMTTEST_NAME") # Start with config from TestFileDB options.set_input_and_conds_from_testfiledb("rich-decode-2024-panoptes") # If in Cambridge, use local PFNs -jonPath = "/usera/jonesc/NFS/data/RunIII/Hlt2/LHCb/RefIndexCalib/2024/" -if not myName and os.path.exists(jonPath): - options.input_files = [ - jonPath + "data-{i:04d}.mdf".format(i=i) for i in range(0, 4) - ] -print("Data :-", options.input_files) +# jonPath = "/usera/jonesc/NFS/data/RunIII/Hlt2/LHCb/RefIndexCalib/2024/" +# if not myName and os.path.exists(jonPath): +# options.input_files = [ +# jonPath + "data-{i:04d}.mdf".format(i=i) for i in range(0, 4) +# ] +# print("Data :-", options.input_files) + +import glob +path = "/calib/align/LHCb/Rich1/0000307065/*.mdf" +files = glob.glob(path) +# options.input_files = files[:4] +options.input_files = files options.evt_max = 1000 options.print_freq = 100 # If required force use of trunk geom -if myName and "trunk_geom" in myName: - options.geometry_version = "run3/trunk" +# if myName and "trunk_geom" in myName: +options.geometry_version = "run3/trunk" +options.conditions_version = "RICH_alignment_2025" # Due to issues with hit sorting in FT disable Mat corrections # See for more details https://gitlab.cern.ch/lhcb/Panoptes/-/issues/7 diff --git a/Rich/RichMirrorAlignmentOnline/files/OfflineScripts/PanelAlignment/surveys/hlt2_reco_rich2_noUT_survey_dd4hep_survey.py b/Rich/RichMirrorAlignmentOnline/files/OfflineScripts/PanelAlignment/surveys/hlt2_reco_rich2_noUT_survey_dd4hep_survey.py index 314c5a701334ac53f3509a2d00511fc38f81943f..7e5992b42375db4b167dc3eefdee196afbb5d0b1 100644 --- a/Rich/RichMirrorAlignmentOnline/files/OfflineScripts/PanelAlignment/surveys/hlt2_reco_rich2_noUT_survey_dd4hep_survey.py +++ b/Rich/RichMirrorAlignmentOnline/files/OfflineScripts/PanelAlignment/surveys/hlt2_reco_rich2_noUT_survey_dd4hep_survey.py @@ -18,8 +18,10 @@ import sys from GaudiKernel.SystemOfUnits import GeV, MeV, mm, mrad from Moore import ( options, - run_reconstruction, + # run_reconstruction, # 2024 script ) +from RecoConf.config import run_reconstruction # 2025 script?? + from Panoptes.alignment import ( standalone_rich_online_align_reco, standalone_rich_panel_align_reco, @@ -46,6 +48,13 @@ from RecoConf.rich_reconstruction import default_rich_reco_options # from Configurables import ( # UpdateManagerSvc # ) + +from PyConf.application import ( + configure, + configure_input, +) + + """Options for running over data with FT raw bank version 6.""" from RecoConf.decoders import ( default_ft_decoding_version, @@ -74,7 +83,8 @@ options.evt_max = yml_opts["evt_max"] options.n_threads = yml_opts["n_threads"] # options.n_event_slots = options.n_threads * 3 options.scheduler_legacy_mode = False -options.use_iosvc = True +# options.use_iosvc = True # 2024 script + if useRealData is not True: options.set_input_and_conds_from_testfiledb("upgrade_Sept2022_minbias_0fb_md_xdigi") @@ -134,9 +144,13 @@ else: return files + # options.input_files = obtain_files_from_many_runs( + # base_dir_files, 299618, 299683 + # ) options.input_files = obtain_files_from_many_runs( - base_dir_files, 299618, 299683 + base_dir_files, 307065, 307075 ) + # base_dir_files, 298656, 300124) # base_dir = "/calib/align/LHCb/Rich/0000255353/" @@ -181,8 +195,8 @@ if UseDD4Hep: dd4hep.ConditionsVersion = "master" # needed for when reconstruction changed to SuperPixels (change was at run 289434) - DDDBConf().GeometryVersion = "run3/2024.Q1.2-v00.00" - options.geometry_version = "run3/2024.Q1.2-v00.00" + DDDBConf().GeometryVersion = "run3/trunk" + options.geometry_version = "run3/trunk" else: options.conddb_tag = ( "jonrob/all-pmts-active" # used for DetDesc MC samples with DD4Hep @@ -210,6 +224,10 @@ else: options.conddb_tag = "upgrade/sim-20220612-vc-md100-RICHcustomFTv6" options.simulation = True +# configure input +config = configure_input(options) + + rich = f"rich{whichRich}" radiator = f"Rich{whichRich}Gas" @@ -319,13 +337,13 @@ else: # dd4hep.ConditionsOverride = {"/world/BeforeMagnetRegion/VP:alignment_delta": condval} # # ####### 2nd July 2024 overlay -# ####### 4th July 2024 overlay -## NB: these overlays already included in /group/rich/sw/alignment/ConditionsOverlayForPanels/ -# dd4hep.UseConditionsOverlay = True -# dd4hep.ConditionsOverlayInitPath = '/group/online/alignment/prelim_align_2024/07_01_Run3Map_withUT_0207' -condval = "!alignment{ position: [0 * mm, 0 * mm, 0 * mm], rotation: [-0.000511080865103135 * rad, -0.00021828767680766154 * rad, -0.000866016317444813 * rad]}" -dd4hep.ConditionsOverride = {"/world/BeforeMagnetRegion/VP:alignment_delta": condval} -# ####### 4th July 2024 overlay +# # ####### 4th July 2024 overlay +# ## NB: these overlays already included in /group/rich/sw/alignment/ConditionsOverlayForPanels/ +# # dd4hep.UseConditionsOverlay = True +# # dd4hep.ConditionsOverlayInitPath = '/group/online/alignment/prelim_align_2024/07_01_Run3Map_withUT_0207' +# condval = "!alignment{ position: [0 * mm, 0 * mm, 0 * mm], rotation: [-0.000511080865103135 * rad, -0.00021828767680766154 * rad, -0.000866016317444813 * rad]}" +# dd4hep.ConditionsOverride = {"/world/BeforeMagnetRegion/VP:alignment_delta": condval} +# # ####### 4th July 2024 overlay default_moni_opts = {} default_reco_opts = {} @@ -367,7 +385,10 @@ if whichRich == 2: default_moni_opts.update(tighter_minp) # wider_histo = {'CKResHistoRange': (0.025, 0.005, 0.004)} -wider_histo = {"CKResHistoRange": (0.025, 0.0055, 0.0055)} +# wider_histo = {"CKResHistoRange": (0.025, 0.0055, 0.0055)} # 2024 script +# wider_histo = {"CKResHistoRange": (0.025, 0.0055)} +wider_histo = {"CKResHistoRange": (0.0055, 0.0055)} + default_moni_opts.update(wider_histo) useUT = {"UseUT": useUT_bool} default_moni_opts.update(useUT) @@ -428,9 +449,9 @@ selDec = HltSelReportsDecoder( RawBanks=unpacker.RawBankLocations[1], ) -app = ApplicationMgr( - TopAlg=[unpacker, decDec, selDec], ExtSvc=[configured_ann_svc(name="HltANNSvc")] -) +# app = ApplicationMgr( +# TopAlg=[unpacker, decDec, selDec], ExtSvc=[configured_ann_svc(name="HltANNSvc")] +# ) # by default, no additional filtering of the events event_filter = [] @@ -498,3 +519,46 @@ with ( default_rich_monitoring_options.bind(init_override_opts=default_moni_opts), ): run_reconstruction(options, standalone_rich_panel_align_reco) + + + + +# noUT = True +# if useUT_bool: +# noUT = False +# from RecoConf.hlt2_tracking import make_hlt2_tracks as track_maker +# else: +# from RecoConf.hlt2_tracking import make_hlt2_tracks_without_UT as track_maker + +# tasks = [ +# "Produce", # # fill the production set of histograms +# #'Monitor', # add various checking histograms +# #'MapExlore', # explore tracks and photons for the HLT1 pre-selection line "map" +# #'MapConstruct', # construct exploratory data structure for the HLT1 pre-selection line "map" +# #'Map', # create data structure to be used in the HLT1 selection line with entire contents +# #'MapUse', # use the "map" data structure a la in the HLT1 pre-selection line "map" +# #'AllFillCount', # add counters for optimization of the RICH2 mirror combinations subset +# #'AllFillPhi', # fill 1D phi histos for optimization of the RICH2 mirror combinations subset +# #'MapPhi', # create data structure to be used in the HLT1 selection line with contents in quantiles +# #'MapPhiUse', # use the "mapPhi" data structure in the HLT1 pre-selection line "mapPhi" +# #'CheckRestFill',# check filling the rest of RICH2 mirror combinations along with 8 poorest +# #'SkipFilled', # check filling all RICH2 mirror combinations with skipping when filled +# ] + + +# with ( +# # PrForwardTrackingVelo.bind(MinP=min_p), +# # PrMatchNN.bind(MinP=min_p), +# # PrHybridSeeding.bind(MinP=min_p), +# track_maker.bind(use_pr_kf=True, light_reco=True, fast_reco=True), +# default_rich_reco_options.bind(init_override_opts=default_reco_opts), +# default_rich_monitoring_options.bind(init_override_opts=default_moni_opts), +# alignment_rich_monitoring_options.bind( +# radiator="Rich1Gas", init_override_opts=align_opts +# ), +# ): +# reconstruction = standalone_rich_panel_align_reco( +# # RichGas="Rich1Gas", MirrorAlignTasks=tasks, EventFilter=event_filter, noUT=noUT +# RichGas="Rich1Gas", EventFilter=event_filter, noUT=noUT +# ) +# config.update(configure(options, reconstruction.node)) \ No newline at end of file diff --git a/Rich/RichMirrorAlignmentOnline/files/OfflineScripts/PanelAlignment/surveys/survey_opts.yml b/Rich/RichMirrorAlignmentOnline/files/OfflineScripts/PanelAlignment/surveys/survey_opts.yml index 8f693ca5970a8b6e6174ea054659521a45da8994..399bf383ffe9dbc1b5b00feca34e45d23b1ceefe 100644 --- a/Rich/RichMirrorAlignmentOnline/files/OfflineScripts/PanelAlignment/surveys/survey_opts.yml +++ b/Rich/RichMirrorAlignmentOnline/files/OfflineScripts/PanelAlignment/surveys/survey_opts.yml @@ -187,10 +187,10 @@ stack_path: /group/rich/sw/alignment/stack/ R1: - P0: + P0: # top perf_trans: - x: 0.75 - y: -4.2 + x: 0.8999999999999999 + y: -5.95 z: 0.0 perf_rot: x: 0.0 @@ -198,8 +198,8 @@ R1: z: 0.0 P1: perf_trans: - x: -3.6984375000000016 - y: 8.4015625 + x: -4.398437500000002 + y: 6.0515625 z: 0.0 perf_rot: x: 0.0 diff --git a/Rich/RichMirrorAlignmentOnline/python/PyMirrAlignOnline/Iterator.py b/Rich/RichMirrorAlignmentOnline/python/PyMirrAlignOnline/Iterator.py index b0266abe81e7e45e4bd95034e7b39b96ea968037..fa5b4ac893bed8154f76f005492423d09fde3aaa 100644 --- a/Rich/RichMirrorAlignmentOnline/python/PyMirrAlignOnline/Iterator.py +++ b/Rich/RichMirrorAlignmentOnline/python/PyMirrAlignOnline/Iterator.py @@ -172,6 +172,7 @@ def run(whichRich, offline=False, runInlineReco=False): else: lastAlignSuccessLine = "UNKNOWN\n" + print("testbench: are we here AA") ### Now that we have the lastAlignSuccessLine, Reset lastAlignSuccessFile to default try: lastAlignSuccessFile = open(lastAlignSuccess, "w") @@ -200,7 +201,7 @@ def run(whichRich, offline=False, runInlineReco=False): logProcess.stdout.close() logProcess.stderr.close() - sys.stdout.flush() + sys.stdout.flush() # hanging in the testbench print("INFO: Logger Initializing (8 second pause).") sleep(8) # wait long enough for logger to initialize diff --git a/Rich/RichMirrorAlignmentOnline/python/PyMirrAlignOnline/RichAnalyzer.py b/Rich/RichMirrorAlignmentOnline/python/PyMirrAlignOnline/RichAnalyzer.py index 101262b48d5a699b92fe81e4b81004e0c6391545..bd18d49204be09ec0192de557fde7edb2d943a10 100755 --- a/Rich/RichMirrorAlignmentOnline/python/PyMirrAlignOnline/RichAnalyzer.py +++ b/Rich/RichMirrorAlignmentOnline/python/PyMirrAlignOnline/RichAnalyzer.py @@ -194,8 +194,9 @@ class hlt2_reco_rich_noUT_panoptes_dd4hep_both: from GaudiKernel.SystemOfUnits import GeV, MeV, mm, mrad from Moore import ( options, - run_reconstruction, + # run_reconstruction, ) + from RecoConf.config import run_reconstruction from Panoptes.alignment import ( standalone_rich_online_align_reco, standalone_rich_panel_align_reco, @@ -219,6 +220,11 @@ class hlt2_reco_rich_noUT_panoptes_dd4hep_both: ) from RecoConf.rich_reconstruction import default_rich_reco_options + from PyConf.application import ( + configure, + configure_input, + ) + """Options for running over data with FT raw bank version 6.""" from RecoConf.decoders import ( default_ft_decoding_version, @@ -338,7 +344,41 @@ class hlt2_reco_rich_noUT_panoptes_dd4hep_both: "alignment2022" # need alignment2022 for 2022 data ) elif "Collision24" in dataVariant: - dd4hep.ConditionsVersion = OnlineEnv.CondDBTag + # dd4hep.ConditionsVersion = OnlineEnv.CondDBTag + # dd4hep.ConditionsVersion = "RICH_alignment_2025" + dd4hep.ConditionsVersion = "RICH_alignment_2025_Mar2" + + if "overrideGeom" in dataVariant: + print("INFO: overrideGeom ON") + dd4hep.ConditionsVersion = "master" + dd4hep.ConditionsLocation = ( + "git:/cvmfs/lhcb.cern.ch/lib/lhcb/git-conddb/lhcb-conditions-database.git" + ) + # conddb_path = ( + # "/group/rich/sw/alignment/ConditionsNewPanels/lhcb-conditions-database" + # ) + # dd4hep.ConditionsLocation = f"file://{conddb_path}" + + options.conddb_tag = OnlineEnv.CondDBTag # used for real data + options.dddb_tag = OnlineEnv.DDDBTag + DDDBConf().GeometryVersion = OnlineEnv.DDDBTag + options.geometry_version = OnlineEnv.DDDBTag + + options.conddb_tag = "master" # used for real data + options.dddb_tag = "run3/trunk" + + dd4hep.UseConditionsOverlay = True + dd4hep.ConditionsVersion = "master" + + # needed for when reconstruction changed to SuperPixels (change was at run 289434) + DDDBConf().GeometryVersion = "run3/trunk" + options.geometry_version = "run3/trunk" + + # temporary + options.conddb_tag = "RICH_alignment_2025" # used for real data + options.conditions_version = "RICH_alignment_2025" # used for real data + dd4hep.ConditionsVersion = "RICH_alignment_2025" + if useCondDBPath: # PN - Here we only want to replace the @@ -433,33 +473,76 @@ class hlt2_reco_rich_noUT_panoptes_dd4hep_both: shutil.copyfile(fromFile, toFile) sys.stdout.flush() + + # elif useConditionsOverlay: + # doCondOverlay = False + # if n_it == 0: + # dd4hep.UseConditionsOverlay = False + + # # only change conditions on it0 if there is a starting yaml defined + # yamlCondUpdate = alignConf.getProp("startYAMLFile") + # if yamlCondUpdate != "": + # fromFile = yamlCondUpdate + # doCondOverlay = True + + # if n_it >= 1: # always update conditions for n_it >= 1 + # fromFile = f"{workdir}" + f"CondDB_Rich{whichRich}.yml" + # doCondOverlay = True + + # if doCondOverlay: + # dd4hep.UseConditionsOverlay = True + # dd4hep.ConditionsOverlayInitPath = ( + # "/group/rich/sw/alignment/ConditionsOverlay" + # ) + + # toFile = f"/group/rich/sw/alignment/ConditionsOverlay/Conditions/Rich{whichRich}/Alignment/Mirrors.yml" + + # if tiltName != "": + # print(f"TILTING: {tiltName}") + # tilt_file = glob.glob(f'{workdir}/*{tiltName}_i{n_it}.yml')[0] + # fromFile = tilt_file + + # print(f"INFO: Copying (useConditionsOverlay) (n_it: {n_it}, tiltName: {tiltName}) {fromFile} to {toFile}") + + # shutil.copyfile(fromFile, toFile) + # sys.stdout.flush() + + # ALEX CHANGES elif useConditionsOverlay: - doCondOverlay = False + + toFile = f"/group/rich/sw/alignment/ConditionsOverlay/Conditions/Rich{whichRich}/Alignment/Mirrors.yml" + + print('INFO: useConditionsOverlay n_it',n_it) if n_it == 0: - dd4hep.UseConditionsOverlay = False - # only change conditions on it0 if there is a starting yaml defined yamlCondUpdate = alignConf.getProp("startYAMLFile") if yamlCondUpdate != "": fromFile = yamlCondUpdate - doCondOverlay = True - - if n_it >= 1: # always update conditions for n_it >= 1 + print("START YAML", fromFile) + else: # no overlay + print("NO START YAML") + try: os.remove(toFile) + except Exception as e: print(toFile, "already blank") + fromFile = None + + elif n_it >= 1: # always update conditions for n_it >= 1 fromFile = f"{workdir}" + f"CondDB_Rich{whichRich}.yml" - doCondOverlay = True - if doCondOverlay: - dd4hep.UseConditionsOverlay = True - dd4hep.ConditionsOverlayInitPath = ( - "/group/rich/sw/alignment/ConditionsOverlay" - ) + dd4hep.UseConditionsOverlay = True + dd4hep.ConditionsOverlayInitPath = ( + "/group/rich/sw/alignment/ConditionsOverlay" + ) - toFile = f"/group/rich/sw/alignment/ConditionsOverlay/Conditions/Rich{whichRich}/Alignment/Mirrors.yml" + if tiltName != "": + print(f"TILTING: {tiltName}") + tilt_file = glob.glob(f'{workdir}/*{tiltName}_i{n_it}.yml')[0] + fromFile = tilt_file + if fromFile is not None: print(f"INFO: Copying {fromFile} to {toFile}") - + print(getpass.getuser()) shutil.copyfile(fromFile, toFile) - sys.stdout.flush() + sys.stdout.flush() else: options.conddb_tag = ( @@ -505,6 +588,8 @@ class hlt2_reco_rich_noUT_panoptes_dd4hep_both: options.conddb_tag = "upgrade/sim-20220612-vc-md100-RICHcustomFTv6" options.simulation = True + config = configure_input(options) + param_list = ["p0_x", "p1_x", "p0_y", "p1_y", "p0_z", "p1_z"] param_dict = dict.fromkeys(param_list) @@ -644,7 +729,8 @@ class hlt2_reco_rich_noUT_panoptes_dd4hep_both: } } default_moni_opts.update(tighter_minp) - wider_histo = {"CKResHistoRange": (0.025, 0.005, 0.004)} + # wider_histo = {"CKResHistoRange": (0.025, 0.005, 0.004)} + wider_histo = {"CKResHistoRange": (0.005, 0.005)} default_moni_opts.update(wider_histo) useUT = {"UseUT": useUT_bool} default_moni_opts.update(useUT) diff --git a/Rich/RichMirrorAlignmentOnline/python/PyMirrAlignOnline/RichAnalyzerControl.py b/Rich/RichMirrorAlignmentOnline/python/PyMirrAlignOnline/RichAnalyzerControl.py index 93baf0e9024af73f592ab091833a1a8e8751c4da..7fe08369815a2cf8ac2ff85b2af3980bcf254238 100644 --- a/Rich/RichMirrorAlignmentOnline/python/PyMirrAlignOnline/RichAnalyzerControl.py +++ b/Rich/RichMirrorAlignmentOnline/python/PyMirrAlignOnline/RichAnalyzerControl.py @@ -141,7 +141,7 @@ class RichAnalyzerControl: myStdErr = open(analyzerStdErrFile, "w") self.dataVariant = alignConf.getProp("dataVariant") - if self.dataVariant == "Collision24": + if self.dataVariant == "Collision24" or self.dataVariant == "Collision24_overrideGeom": if self.whichRich == 1: which_data_online = "data_online_Rich1.py" elif self.whichRich == 2: @@ -149,7 +149,7 @@ class RichAnalyzerControl: else: which_data_online = "data_online.py" - cmd = f"cd {self.workdir} ; `which gaudirun.py` $RICHMIRRORALIGNMENTONLINEROOT/python/PyMirrAlignOnline/{which_data_online} $RICHMIRRORALIGNMENTONLINEROOT/python/PyMirrAlignOnline/RichAnalyzer.py > {richAnalyzerOutFile} ; cd - " + cmd = f"cd {self.workdir} ; `which gaudirun.py` $RICHMIRRORALIGNMENTONLINEROOT/python/PyMirrAlignOnline/{which_data_online} $RICHMIRRORALIGNMENTONLINEROOT/python/PyMirrAlignOnline/RichAnalyzer.py | head -n 500 > {richAnalyzerOutFile} ; cd - " # only keep first 1000 lines, rest is useless anyway print(f"INFO: Starting RichAnalyzer.") print(f"INFO: cmd = {cmd}") sys.stdout.flush() diff --git a/Rich/RichMirrorAlignmentOnline/python/PyMirrAlignOnline/data_online_Rich1.py b/Rich/RichMirrorAlignmentOnline/python/PyMirrAlignOnline/data_online_Rich1.py index ab391eb02df6ae0730a8404be3d1b8c5cfe87e12..1ca3c5f171c4893915051d19adc75ada85468321 100644 --- a/Rich/RichMirrorAlignmentOnline/python/PyMirrAlignOnline/data_online_Rich1.py +++ b/Rich/RichMirrorAlignmentOnline/python/PyMirrAlignOnline/data_online_Rich1.py @@ -146,7 +146,8 @@ if select_runs_TESTBENCH and "online" not in getpass.getuser(): # select_run_numbers = [28985, 28986, 28987] # select_run_numbers = "290034" # select_run_numbers = [299620,299673,299681] - select_run_numbers = [299620] + # select_run_numbers = [307065, 307066, 307067] + select_run_numbers = [307065] if not isinstance(select_run_numbers, list): select_run_numbers = [select_run_numbers] options.input_files = [ @@ -154,6 +155,25 @@ if select_runs_TESTBENCH and "online" not in getpass.getuser(): for x in options.input_files if any(str(run_number) in x for run_number in select_run_numbers) ] + options.input_files = options.input_files[:10] + + +#### HACKKKK +base_dir = "/calib/align/LHCb/Rich1/*/" +dirs = glob.glob(base_dir, recursive=True) +files = [] +for dir_i in dirs: + files += glob.glob(dir_i + "*") +files_HACK = [] +for file in files: + file_id = file.split("/")[-2] + # if int(file_id[4:]) >= 306402 and int(file_id[4:]) <= 306707: # large set + if int(file_id[4:]) >= 306402 and int(file_id[4:]) <= 306405: + files_HACK.append(file) +files = files_HACK +files = sorted(files, reverse=True) +options.input_files = files +print("HACKKKK") print(f"{len(options.input_files)} .mdf files...") diff --git a/Rich/RichMirrorAlignmentOnline/python/RichMirrorAlignmentOnline/Configuration.py b/Rich/RichMirrorAlignmentOnline/python/RichMirrorAlignmentOnline/Configuration.py index f00cc43ac5c9265fdb52d083729c78f48151cbf6..50a33d7f8a136c1c206d19af4882d50e86254e03 100644 --- a/Rich/RichMirrorAlignmentOnline/python/RichMirrorAlignmentOnline/Configuration.py +++ b/Rich/RichMirrorAlignmentOnline/python/RichMirrorAlignmentOnline/Configuration.py @@ -51,20 +51,24 @@ class Rich1MirrAlignOnConf(LHCbConfigurableUser): "MinItStart": # will be automatically forced to be MajItStart multiplied by the length of tiltNames, if magnFactorModes = 0 0, # 18 ### Better not change these, only for very very VERY good reasons - "dataVariant": "Collision24", + "dataVariant": "Collision24_overrideGeom", + # "dataVariant": "Collision24", "useHltDecisions": False, "useReducedSubset": False, "stackDir": "/group/rich/sw/alignment/stack/", - "magnFactorsMode": 0, # 0, + "magnFactorsMode": 0, # 0, # 2 doesnt exist "magnifDir": # relative to stackDir (i.e. remove /group/rich/sw/alignment/stack/) - # "Panoptes/Rich/RichMirrorAlignmentOnline/files/MagnifFactors/Rich1/2024-03-13T11-26/", # use for sajans detector branch - "Panoptes/Rich/RichMirrorAlignmentOnline/files/MagnifFactors/Rich1/20230514_202521/", + "Panoptes/Rich/RichMirrorAlignmentOnline/files/MagnifFactors/Rich1/2024-03-13T11-26/", # use for sajans detector branch + # "Panoptes/Rich/RichMirrorAlignmentOnline/files/MagnifFactors/Rich1/2025-02-08T21-21/", # 2025 run3/trunk - mental values + # "Panoptes/Rich/RichMirrorAlignmentOnline/files/MagnifFactors/Rich1/20230514_202521/", "richFiles": "/group/online/AligWork/tempAlignmentFiles", # "/group/rich/AlignmentFiles/", "maxIterations": 8, # 8, "testing": True, # False, - "WorkDir": "/group/online/AligWork/Rich1/", + "WorkDir": + "/group/online/AligWork/Rich1/", # "/home/marshall/Bristol_RICH/testbench/Rich1/", # If running in the testbench this path must be changed - "SaveDir": "/group/online/AligWork/MirrorAlignments/", + "SaveDir": + "/group/online/AligWork/MirrorAlignments/", # "/home/marshall/Bristol_RICH/testbench/MirrorAlignments/", # If running in the testbench this path must be changed "ItNrFile": "/group/online/dataflow/options/LHCbA/Rich1_Alignment_Reference_File.txt", "thisCase": "online", @@ -86,15 +90,14 @@ class Rich1MirrAlignOnConf(LHCbConfigurableUser): ### May be changed if you know what you are doing, explanations below "startXMLFile": "", # "/group/rich/sw/alignment/stack/Panoptes/Rich/RichMirrorAlignmentOnline/files/ZeroDB/Rich1_Zeroed.xml" # if testing is not True OR this is blank, it automatically uses the DB XML file "compareXMLFile": "", # "/group/rich/sw/alignment/stack/Panoptes/Rich/RichMirrorAlignmentOnline/files/ZeroDB/Rich1_Zeroed.xml" # if this is blank, it automatically uses the DB XML file - "startYAMLFile": "", - # "/group/rich/sw/alignment/lhcb-conditions-database-new/Conditions/Rich1/Alignment/Mirrors.yml/.pool/v10" # if testing is not True OR this is blank, it automatically uses the DB XML file + "startYAMLFile": "/group/rich/sw/alignment/lhcb-conditions-database-new/Conditions/Rich1/Alignment/Mirrors.yml/.pool/vTest", # if testing is not True OR this is blank, it automatically uses the DB XML file # "/group/rich/sw/alignment/yaml_files/starting_points/v4_altered.yml" # if testing is not True OR this is blank, it automatically uses the DB XML file - "compareYAMLFile": "", - # "/group/rich/sw/alignment/lhcb-conditions-database-new/Conditions/Rich1/Alignment/Mirrors.yml/.pool/v10" # if this is blank, it automatically uses the DB YAML file + "compareYAMLFile": "/group/rich/sw/alignment/lhcb-conditions-database-new/Conditions/Rich1/Alignment/Mirrors.yml/.pool/vTest", # if this is blank, it automatically uses the DB YAML file # "/group/rich/sw/alignment/yaml_files/starting_points/v4_altered.yml" # if this is blank, it automatically uses the DB YAML file "YAMLio": True, "useDD4hep": True, - "minP": 30.0, + # "minP": 30.0, + "minP": 10.0, "coeffCalibTilt": 0.7, "minAverageBinPop": 6.0, "phiBinFactor": 3,