From 2496cf069f3517bcf1f7fc6df748ef640e9cba90 Mon Sep 17 00:00:00 2001 From: saganatt <8majak8@gmail.com> Date: Tue, 15 Jul 2025 14:32:06 +0200 Subject: [PATCH 1/9] Databases from pass 6 branch. To be adjusted for PR --- ...base_ml_parameters_LcToPKPi_multiclass.yml | 427 ---------- ..._ml_parameters_LcToPKPi_multiclass_ana.yml | 615 ++++++++++++++ ..._ml_parameters_LcToPKPi_multiclass_fdd.yml | 801 ++++++++++++++++++ ...e_ml_parameters_LcToPKPi_multiclass_ml.yml | 783 +++++++++++++++++ 4 files changed, 2199 insertions(+), 427 deletions(-) delete mode 100644 machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass.yml create mode 100644 machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_ana.yml create mode 100644 machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_fdd.yml create mode 100644 machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_ml.yml diff --git a/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass.yml b/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass.yml deleted file mode 100644 index 7920531766..0000000000 --- a/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass.yml +++ /dev/null @@ -1,427 +0,0 @@ ---- -############################################################################# -## © Copyright CERN 2023. All rights not expressly granted are reserved. ## -## Author: Gian.Michele.Innocenti@cern.ch ## -## This program is free software: you can redistribute it and/or modify it ## -## under the terms of the GNU General Public License as published by the ## -## Free Software Foundation, either version 3 of the License, or (at your ## -## option) any later version. This program is distributed in the hope that ## -## it will be useful, but WITHOUT ANY WARRANTY; without even the implied ## -## warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ## -## See the GNU General Public License for more details. ## -## You should have received a copy of the GNU General Public License ## -## along with this program. if not, see . ## -############################################################################# - -LcpKpi: - doml: true - mass: 2.286 - sel_reco_unp: "fPt>0" - sel_gen_unp: "fPt>0" - sel_cen_unp: null - sel_good_evt_unp: null - sel_reco_skim: [null, null, null, null, null, null] - sel_gen_skim: [null, null, null, null, null, null] - sel_skim_binmin: [1, 2, 4, 6, 8, 12] #list of nbins - sel_skim_binmax: [2, 4, 6, 8, 12, 24] #list of nbins - apply_yptacccut: false - var_binning: fPt - dofullevtmerge: false - var_cand: fCandidateSelFlag - var_swap: fIsCandidateSwapped - bitmap_sel: - var_name: fFlagMcMatchRec - var_name_gen: fFlagMcMatchGen - var_name_origgen: fOriginMcGen - var_name_origrec: fOriginMcRec - var_isstd: isstd - var_ismcsignal: ismcsignal - var_ismcprompt: ismcprompt - var_ismcfd: ismcfd - var_ismcbkg: ismcbkg - var_ismcrefl: ismcref - isstd: [[1], []] - ismcsignal: [[1], []] - ismcprompt: [[0], []] - ismcfd: [[1], []] - ismcbkg: [[], [1]] - ismcrefl: [[1], [1]] - - dfs: - read: - evtorig: - level: all - index: fIndexHf3PCollBases - trees: - O2hf3pcollbase: [fPosX, fPosY, fPosZ, fNumContrib, fMultZeqNTracksPV, fCentFT0A, fCentFT0C, fCentFT0M, fCentFV0A] - extra: - fIsEventReject: 0 - - reco: - level: all - index: fIndexHf3PBases - trees: - O2hf3pbase: [fIndexHf3PCollBases, fPt, fEta, fPhi, fM] - O2hf3ppar: [fNProngsContributorsPV, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2] - O2hf3pmc: - level: mc - vars: [fFlagMcMatchRec, fOriginMcRec, fIsCandidateSwapped] - O2hf3psel: - level: mc - vars: [fCandidateSelFlag] - filter: "fPt > 1." - extra: - fY: log((sqrt(2.28646**2 + (fPt * cosh(fEta))**2) + fPt * sinh(fEta)) / sqrt(2.28646**2 + fPt**2)) #TODO : change mass or make sure Lc mass is updated - tags: - isstd: {var: fFlagMcMatchRec, req: [[1], []], level: mc} - ismcsignal: {var: fFlagMcMatchRec, req: [[1], []], abs: true, level: mc} - ismcbkg: {var: fFlagMcMatchRec, req: [[], [1]], abs: true, level: mc} - ismcprompt: {var: fOriginMcRec, req: [[0], []], level: mc} - ismcfd: {var: fOriginMcRec, req: [[1], []], level: mc} - swap: {cand: fCandidateSelFlag, var_swap: fIsCandidateSwapped, vars: [ismcsignal, ismcprompt, ismcfd], level: mc} - - gen: - level: mc - trees: - O2hf3ppbase: [fPt, fEta, fPhi, fFlagMcMatchGen, fOriginMcGen] - tags: - isstd: {var: fFlagMcMatchGen, req: [[1], []], level: mc} - ismcsignal: {var: fFlagMcMatchGen, req: [[1], []], abs: true, level: mc} - ismcbkg: {var: fFlagMcMatchGen, req: [[], [1]], abs: true, level: mc} - ismcprompt: {var: fOriginMcGen, req: [[0], []], level: mc} - ismcfd: {var: fOriginMcGen, req: [[1], []], level: mc} - extra: - fY: log((sqrt(2.28646**2 + (fPt * cosh(fEta))**2) + fPt * sinh(fEta)) / sqrt(2.28646**2 + fPt**2)) #TODO : change mass or make sure Lc mass is updated - - merge: - - {base: reco, ref: evtorig, extra: {fMultZeqNTracksPV_sub: fMultZeqNTracksPV - fNProngsContributorsPV}} - # workaround for yamlfmt issue #110 - #- {base: reco, ref: evtorigmc, use: fIndexCollisions} - #- {base: gen, ref: evtorigmc, use: fIndexMcCollisions} - - write: - evtorig: - level: all - file: AnalysisResultsEvtOrig.parquet - evt: - level: all - source: evtorig - file: AnalysisResultsEvt.parquet - #evtorigmc: - # level: mc - # file: AnalysisResultsEvtOrig.parquet - #evtmc: - # level: mc - # source: evtorigmc - # file: AnalysisResultsEvt.parquet - reco: - level: all - file: AnalysisResultsReco.parquet - gen: - level: mc - file: AnalysisResultsGen.parquet - - variables: - var_all: [fIndexCollisions, fFlagMcMatchRec, fCandidateSelFlag, fOriginMcRec, fIsCandidateSwapped, fNProngsContributorsPV, fY, fEta, fPt, fCpa, fCpaXY, fM, fChi2PCA, fDecayLength, fDecayLengthXY, fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2] - var_jet: [fJetPt, fJetEta, fJetPhi] - var_jetsub: [fZg, fRg, fNsd] - var_jet_match: [df, fIndexHfCand2Prong] - var_jetsub_match: [df, fIndexLcChargedJets] - var_evt: - data: [fIndexCollisions, fPosX, fPosY, fPosZ, fNumContrib, fMultZeqNTracksPV, fCentFT0A, fCentFT0C, fCentFT0M, fCentFV0A] - mc: [fIndexCollisions, fPosX, fPosY, fPosZ, fNumContrib, fMultZeqNTracksPV, fCentFT0A, fCentFT0C, fCentFT0M, fCentFV0A] - var_gen: [fIndexMcCollisions, fPosX, fPosY, fPosZ, fPt, fY, fFlagMcMatchGen, fOriginMcGen] - var_training: [[fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2]] - var_selected: [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2] - var_boundaries: [fDecayLength, fPt] - var_correlation: - - [fDecayLength, fChi2PCA, fCpa] - - [fPt, fPt, fPt] - var_class: class - var_inv_mass: fM - var_y: fY - var_cuts: - - [fPtProng0, lt, null] - - [fPtProng1, lt, null] - - [fPtProng2, lt, null] - - [fCpa, lt, null] - - [fDecayLength, lt, null] - - [fChi2PCA, lt, null] - - plot_options: - prob_cut_scan: - pt_prong0: - xlim: - - 0 - - 8 - pt_prong1: - xlim: - - 0 - - 8 - pt_prong2: - xlim: - - 0 - - 8 - fDecayLength: - xlim: - - 0 - - 0.08 - fChi2PCA: - xlim: - - 0 - - 20. - fNSigTofPr0: - xlim: [-50, 50] - xlabel: "n\\sigma_\\mathrm{TOF}(p)0" - fNSigTofPi0: - xlim: [-50, 50] - xlabel: "n\\sigma_\\mathrm{TOF}(\\pi)0" - fNSigTofKa1: - xlim: [-10, 10] - xlabel: "n\\sigma_\\mathrm{TOF}(K)1" - fNSigTofPr2: - xlim: [-50, 50] - xlabel: "n\\sigma_\\mathrm{TOF}(p)2" - fNSigTofPi2: - xlim: [-50, 50] - xlabel: "n\\sigma_\\mathrm{TOF}(\\pi)2" - fNSigTpcPr0: - xlim: [-50, 50] - xlabel: "n\\sigma_\\mathrm{TPC}(p)0" - fNSigTpcPi0: - xlim: [-50, 50] - xlabel: "n\\sigma_\\mathrm{TPC}(\\pi)0" - fNSigTpcKa1: - xlim: [-10, 10] - xlabel: "n\\sigma_\\mathrm{TPC}(K)1" - fNSigTpcPr2: - xlim: [-50, 50] - xlabel: "n\\sigma_\\mathrm{TPC}(p)2" - fNSigTpcPi2: - xlim: [-50, 50] - xlabel: "n\\sigma_\\mathrm{TPC}(\\pi)2" - eff_cut_scan: - pt_prong0: - xlim: - - 0 - - 8 - pt_prong1: - xlim: - - 0 - - 8 - pt_prong2: - xlim: - - 0 - - 8 - fDecayLength: - xlim: - - 0 - - 0.08 - fChi2PCA: - xlim: - - 0 - - 20. - files_names: - namefile_unmerged_tree: AO2D.root - namefile_collcnt: AnalysisResultsCollCnt.parquet - namefile_evtvalroot: AnalysisResultsROOTEvtVal.root - namefile_evtorig: AnalysisResultsEvtOrig.parquet - namefile_gen: AnalysisResultsGen.parquet - namefile_reco_applieddata: AnalysisResultsRecoAppliedData.parquet - namefile_reco_appliedmc: AnalysisResultsRecoAppliedMC.parquet - namefile_mcweights: mcweights.root - treeoutput: "Lctree" - histofilename: "masshisto.root" - efffilename: "effhisto.root" - respfilename: "resphisto.root" - crossfilename: "cross_section_tot.root" - - multi: - data: - nprocessesparallel: 60 - maxfiles: [-1] #list of periods - chunksizeunp: [100] #list of periods - chunksizeskim: [100] #list of periods - fracmerge: [0.05] #list of periods - seedmerge: [12] #list of periods - period: [LHC22o] #list of periods - select_period: [1] - prefix_dir: /data2/MLhep/ - unmerged_tree_dir: [real/train_158254/alice/cern.ch/user/a/alihyperloop/jobs/0029] #list of periods - pkl: [LHC22pp/period_LHC22o/pkldata] #list of periods - pkl_skimmed: [LHC22pp/period_LHC22o/pklskdata] #list of periods - pkl_skimmed_merge_for_ml: [LHC22pp/period_LHC22o/pklskmldata] #list of periods - pkl_skimmed_merge_for_ml_all: LHC22pp/mltotdata - pkl_evtcounter_all: LHC22pp/evttotdata - #select_jobs: [[hy_189959], [hy_189000]] - mcreweights: [../Analyses] - mc: - nprocessesparallel: 60 - maxfiles: [-1, -1] #list of periods - chunksizeunp: [100, 100] #list of periods - chunksizeskim: [100, 100] #list of periods - fracmerge: [1.0, 1.0] #list of periods - seedmerge: [12, 12] #list of periods - period: [LHC22b1b, LHC22b1a] #list of periods - select_period: [1, 1] - prefix_dir: /data2/MLhep/ - unmerged_tree_dir: [sim/train_159856/alice/cern.ch/user/a/alihyperloop/jobs/0029, sim/train_159854/alice/cern.ch/user/a/alihyperloop/jobs/0029] #list of periods - pkl: [LHC22pp_mc/prod_LHC22b1b/pklmc, LHC22pp_mc/prod_LHC22b1a/pklmc] #list of periods - pkl_skimmed: [LHC22pp_mc/prod_LHC22b1b/pklskmc, LHC22pp_mc/prod_LHC22b1a/pklskmc] #list of periods - pkl_skimmed_merge_for_ml: [LHC22pp_mc/prod_LHC22b1b/pklskmlmc, LHC22pp_mc/prod_LHC22b1a/pklskmlmc] #list of periods - pkl_skimmed_merge_for_ml_all: LHC22pp_mc/prod_LHC22/mltotmc - pkl_evtcounter_all: LHC22pp_mc/prod_LHC22/evttotmc - mcreweights: [../Analyses, ../Analyses] - ml: - evtsel: null - triggersel: - data: null - mc: null - - nclasses: [200000, 200000, 200000] - equalise_sig_bkg: True - mult_bkg: [1, 1, 1, 1, 1, 1] - sampletags: [0, 1, 1] - sel_bkg: fM < 2.22 or fM > 2.35 # for plotting significance; should agree with bkg selection in sel_ml - # best to have non-prompt (the smallest class) last, so the plots won't complain about the middle class missing - sel_ml: [fM < 2.22 or fM > 2.35, ismcsignal == 1 and ismcprompt == 1, ismcsignal == 1 and ismcfd == 1] - class_labels: [bkg, prompt, non-prompt] - nkfolds: 5 - rnd_shuffle: 12 - rnd_splt: 12 - rnd_all: 12 # Set to None for pure randomness - test_frac: 0.2 - binmin: [1, 2, 4, 6, 8, 12] # must be equal to sel_skim_binmin (sel_skim_binmin bins) - binmax: [2, 4, 6, 8, 12, 24] # must be equal to sel_skim_binmax (sel_skim_binmin bins) - mltype: MultiClassification - ncorescrossval: 10 - prefix_dir_ml: /data2/MLhep/ - mlplot: mlplot # to be removed - mlout: mlout # to be removed - - opt: - isFONLLfromROOT: true - filename_fonll: 'data/fonll/DmesonLcPredictions_13TeV_y05_FFptDepLHCb_BRpythia8_PDG2020.root' # file with FONLL predictions - fonll_particle: 'hLcpkpipred' - fonll_pred: 'max' # edge of the FONLL prediction - FF: 0.204 # fragmentation fraction - sigma_MB: 57.8e-3 # Minimum Bias cross section (pp) 50.87e-3 [b], 1 for Pb-Pb - Taa: 1 # 23260 [b^-1] in 0-10% Pb-Pb, 3917 [b^-1] in 30-50% Pb-Pb, 1 for pp - BR: 6.23e-2 # branching ratio of the decay Lc -> p K- pi+ - f_prompt: 0.9 # estimated fraction of prompt candidates - bkg_data_fraction: 0.05 # fraction of real data used in the estimation - num_steps: 111 # number of steps used in efficiency and signif. estimation - bkg_function: pol2 # fit function for bkg (among TH1 predefined fit functions, e.g. expo, pol1, pol2, ...) - save_fit: True # save bkg fits with the various cuts on ML output - raahp: [1, 1, 1, 1, 1, 1] # sel_skim_binmin bins - presel_gen_eff: "abs(fY) < 0.8" - #presel_gen_eff: "abs(fY) < 0.8 and abs(fPosZ) < 10" - - mlapplication: - data: - prefix_dir_app: /data2/MLhep/ - pkl_skimmed_dec: [LHC22pp/MLapplication/prod_LHC22o/skpkldecdata] #list of periods - pkl_skimmed_decmerged: [LHC22pp/MLapplication/prod_LHC22o/skpkldecdatamerged] #list of periods - mc: - prefix_dir_app: /data2/MLhep/ - pkl_skimmed_dec: [LHC22pp_mc/MLapplication/prod_LHC22b1b/skpkldecmc, LHC22pp_mc/MLapplication/prod_LHC22b1a/skpkldecmc] #list of periods - pkl_skimmed_decmerged: [LHC22pp_mc/MLapplication/prod_LHC22b1b/skpkldecmcmerged, LHC22pp_mc/MLapplication/prod_LHC22b1a/skpkldecmcmerged] #list of periods - modelname: xgboost - modelsperptbin: [xgboost_classifierLcpKpi_dfselection_fPt_1.0_2.0.sav, xgboost_classifierLcpKpi_dfselection_fPt_2.0_4.0.sav, xgboost_classifierLcpKpi_dfselection_fPt_4.0_6.0.sav, xgboost_classifierLcpKpi_dfselection_fPt_6.0_8.0.sav, xgboost_classifierLcpKpi_dfselection_fPt_8.0_12.0.sav, xgboost_classifierLcpKpi_dfselection_fPt_12.0_24.0.sav] - probcutpresel: - data: [[0.5, 0.0, 0.0], [0.5, 0.0, 0.0], [0.5, 0.0, 0.0], [0.5, 0.0, 0.0], [0.7, 0.0, 0.0], [0.7, 0.0, 0.0]] #list of nbins - mc: [[0.5, 0.0, 0.0], [0.5, 0.0, 0.0], [0.5, 0.0, 0.0], [0.5, 0.0, 0.0], [0.7, 0.0, 0.0], [0.7, 0.0, 0.0]] #list of nbins - probcutoptimal: [[0.2, 0.15, 0.0], [0.2, 0.15, 0.0], [0.2, 0.15, 0.0], [0.2, 0.15, 0.0], [0.5, 0.2, 0.0], [0.5, 0.2, 0.0]] #list of nbins - analysis: - anahptspectrum: "LctopKpi" # D0Kpi, DplusKpipi, DstarD0pi, DsKKpi, LctopKpi, LcK0Sp - fd_method: "Nb" # fc, Nb - cctype: "pp" - sigmamb: 59.4e+9 # 50.87e+9 pp5TeV, 57.8e+9 pp13TeV, 59.4e+9 pp Run3, pb - inputfonllpred: data/fonll/DmesonLcPredictions_13TeV_y05_FFptDepLHCb_BRpythia8_PDG2020.root - dir_general_plots: analysis_plots - - Run3analysis: - proc_type: Dhadrons - useperiod: [1, 1] - plotbin: [1] - usesinglebineff: 0 - sel_binmin2: [1, 2, 4, 6, 8, 12] #list of nbins - sel_binmax2: [2, 4, 6, 8, 12, 24] #list of nbins - var_binning2: null - triggerbit: '' - use_cuts: False - cuts: - - "fDecayLength > 0.02" - - "fDecayLength > 0.02" - - "fDecayLength > 0.02" - - "fDecayLength > 0.02" - - "fDecayLength > 0.02" - - "fDecayLength > 0.02" - - sel_an_binmin: [1, 2, 4, 6, 8, 12] - sel_an_binmax: [2, 4, 6, 8, 12, 24] - binning_matching: [0, 1, 2, 3, 4, 5] - presel_gen_eff: "abs(fY) < 0.5" - evtsel: "abs(fPosZ < 10)" - triggersel: - data: null - mc: null - weighttrig: false - - data: - runselection: [null] #FIXME - prefix_dir_res: /data2/MLhep/ - results: [LHC22pp/Results/prod_LHC22o/resultsdata] #list of periods - resultsallp: LHC22pp/Results/resultsdatatot - mc: - runselection: [null, null] #FIXME - prefix_dir_res: /data2/MLhep/ - results: [LHC22pp_mc/Results/prod_LHC22b1b/resultsmc, LHC22pp_mc/Results/prod_LHC22b1a/resultsmc] #list of periods - resultsallp: LHC22pp_mc/Results/prod_LHC22/resultsmctot - - mass_fit_lim: [2.10, 2.47] # region for the fit of the invariant mass distribution [GeV/c^2] - bin_width: 0.001 # bin width of the invariant mass histogram - # To initialize the individual fits in pT bins - # Decide whether to take the sigma from MC or data for individual fits - init_fits_from: [mc, mc, mc, mc, mc, mc] # data or mc - sgnfunc: [kGaus, kGaus, kGaus, kGaus, kGaus, kGaus] - bkgfunc: [Pol2, Pol2, Pol2, Pol2, Pol2, Pol2] - masspeak: 2.286 - massmin: [2.18, 2.18, 2.16, 2.14, 2.13, 2.10] - massmax: [2.40, 2.40, 2.42, 2.436, 2.446, 2.47] - rebin: [5, 5, 6, 7, 8, 14] - fix_mean: [false, false, false, false, false, false] - fix_sigma: [false, false, false, false, false, false] - # Fix mean and/or sigma - FixedMean: False - SetFixGaussianSigma: [false, false, false, false, false, false] - # Use value set for "masspeak" for initializing total fit, otherwise what is derived from MC fit is used - SetInitialGaussianMean: true - # Use values set for "sigmaarray" for initializing total fit (per pT bin), - # otherwise what is derived from MC fit is used - SetInitialGaussianSigma: [false, false, false, false, false, false] - # Max percentage deviation in sigma (from init) to be considered as a good fit - MaxPercSigmaDeviation: 0.5 - # Number of initial signal sigmas around the mean to be excluded for side-band fit - exclude_nsigma_sideband: 4 - # Sigma around mean where signal is integrated after total fit has been ne - nsigma_signal: 3 - dolikelihood: true - sigmaarray: [0.01, 0.01, 0.01, 0.01, 0.01, 0.01] - FixedSigma: false - fitcase: Lc - latexnamehadron: "#Lambda_{c}^{pK#pi}" - latexbin2var: "n_{trkl}" - nevents: null - dodoublecross: false - dobkgfromsideband: false - - systematics: - probvariation: - useperiod: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] #period from where to define prob cuts - ncutvar: 10 #number of looser and tighter variations - maxperccutvar: 0.25 #max diff in efficiency for loosest/tightest var - cutvarminrange: [[0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.7, 0.9]] #Min starting point for scan - cutvarmaxrange: [[0.7, 0.9], [0.7, 0.9], [0.7, 0.9], [0.7, 0.9], [0.7, 0.9], [0.7, 0.9]] #Max starting point for scan - fixedmean: True #Fix mean cutvar histo to central fit - fixedsigma: True #Fix sigma cutvar histo to central fit diff --git a/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_ana.yml b/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_ana.yml new file mode 100644 index 0000000000..0b6c17eea0 --- /dev/null +++ b/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_ana.yml @@ -0,0 +1,615 @@ +############################################################################# +## © Copyright CERN 2023. All rights not expressly granted are reserved. ## +## Author: Gian.Michele.Innocenti@cern.ch ## +## This program is free software: you can redistribute it and/or modify it ## +## under the terms of the GNU General Public License as published by the ## +## Free Software Foundation, either version 3 of the License, or (at your ## +## option) any later version. This program is distributed in the hope that ## +## it will be useful, but WITHOUT ANY WARRANTY; without even the implied ## +## warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ## +## See the GNU General Public License for more details. ## +## You should have received a copy of the GNU General Public License ## +## along with this program. if not, see . ## +############################################################################# + +LcpKpi: + doml: true + mass: 2.286 + sel_reco_unp: "fPt>0" + sel_gen_unp: "fPt>0" + sel_cen_unp: null + sel_good_evt_unp: null + sel_reco_skim: [null,null,null,null,null,null,null,null,null,null] + sel_gen_skim: [null,null,null,null,null,null,null,null,null,null] + sel_skim_binmin: [1,2,3,4,5,6,7,8,10,12] #list of nbins + sel_skim_binmax: [2,3,4,5,6,7,8,10,12,24] #list of nbins + apply_yptacccut: false + var_binning: fPt + do_ptshape: false + var_binning_ptshape: fPtWeighted + dofullevtmerge: false + var_cand: fCandidateSelFlag + var_swap: fIsCandidateSwapped + bitmap_sel: + var_name: fFlagMcMatchRec + var_name_gen: fFlagMcMatchGen + var_name_origgen: fOriginMcGen + var_name_origrec: fOriginMcRec + var_isstd: isstd + var_ismcsignal: ismcsignal + var_ismcprompt: ismcprompt + var_ismcfd: ismcfd + var_ismcbkg: ismcbkg + var_ismcrefl: ismcref + isstd : [[1],[]] + ismcsignal: [[1],[]] + ismcprompt: [[0],[]] + ismcfd: [[1],[]] + ismcbkg: [[],[1]] + ismcrefl: [[1],[1]] + + dfs: + read: + evtorig: + level: all + index: fIndexHFLCCOLLBASES + trees: + O2hflccollbase: [fPosX, fPosY, fPosZ, fNumContrib, fMultZeqNTracksPV, fCentFT0A, fCentFT0C, fCentFT0M, fCentFV0A] + extra: + fIsEventReject: 0 + + reco: + level: all + index: fIndexHfLCBases + trees: + O2hflcbase: [fIndexHFLCCOLLBASES, fPt, fY, fEta, fPhi, fM] + O2hflcpar: [fNProngsContributorsPV, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, + fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, + fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, + fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2] + O2hflcmc: + level: mc + vars: [fFlagMcMatchRec, fOriginMcRec, fIsCandidateSwapped] + O2hflcsel: + level: mc + vars: [fCandidateSelFlag] + filter: "fPt > 0." + #extra: + #fY: log((sqrt(2.28646**2 + (fPt * cosh(fEta))**2) + fPt * sinh(fEta)) / sqrt(2.28646**2 + fPt**2)) #TODO : change mass or make sure Lc mass is updated + tags: + isstd: {var: fFlagMcMatchRec, req: [[1],[]], level: mc} + ismcsignal: {var: fFlagMcMatchRec, req: [[1],[]], abs: true, level: mc} + ismcbkg: {var: fFlagMcMatchRec, req: [[],[1]], abs: true, level: mc} + ismcprompt: {var: fOriginMcRec, req: [[0],[]], level: mc} + ismcfd: {var: fOriginMcRec, req: [[1],[]], level: mc} + swap: {cand: fCandidateSelFlag, var_swap: fIsCandidateSwapped, vars: [ismcsignal, ismcprompt, ismcfd], level: mc} + + gen: + level: mc + trees: + O2hflcpbase: [fPt, fY, fEta, fPhi, fFlagMcMatchGen, fOriginMcGen] + tags: + isstd: {var: fFlagMcMatchGen, req: [[1],[]], level: mc} + ismcsignal: {var: fFlagMcMatchGen, req: [[1],[]], abs: true, level: mc} + ismcbkg: {var: fFlagMcMatchGen, req: [[],[1]], abs: true, level: mc} + ismcprompt: {var: fOriginMcGen, req: [[0],[]], level: mc} + ismcfd: {var: fOriginMcGen, req: [[1],[]], level: mc} + #extra: + #fY: log((sqrt(2.28646**2 + (fPt * cosh(fEta))**2) + fPt * sinh(fEta)) / sqrt(2.28646**2 + fPt**2)) #TODO : change mass or make sure Lc mass is updated + + merge: + - {base: reco, ref: evtorig, extra: {fMultZeqNTracksPV_sub: fMultZeqNTracksPV - fNProngsContributorsPV}} + #- {base: reco, ref: evtorigmc, use: fIndexCollisions} + #- {base: gen, ref: evtorigmc, use: fIndexMcCollisions} + + write: + evtorig: + level: all + file: AnalysisResultsEvtOrig.parquet + evt: + level: all + source: evtorig + file: AnalysisResultsEvt.parquet + #evtorigmc: + # level: mc + # file: AnalysisResultsEvtOrig.parquet + #evtmc: + # level: mc + # source: evtorigmc + # file: AnalysisResultsEvt.parquet + reco: + level: all + file: AnalysisResultsReco.parquet + gen: + level: mc + file: AnalysisResultsGen.parquet + + variables: + var_all: [fIndexCollisions, fFlagMcMatchRec, fCandidateSelFlag, fOriginMcRec, fIsCandidateSwapped, fNProngsContributorsPV, + fY, fEta, fPt, fCpa, fCpaXY, fM, fChi2PCA, fDecayLength, fDecayLengthXY, + fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, + fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, + fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2] + var_jet: [fJetPt, fJetEta, fJetPhi] + var_jetsub: [fZg, fRg, fNsd] + var_jet_match: [df, fIndexHfCand2Prong] + var_jetsub_match: [df, fIndexLcChargedJets] + var_evt: + data: [fIndexCollisions, fPosX, fPosY, fPosZ, fNumContrib, fMultZeqNTracksPV, fCentFT0A, fCentFT0C, fCentFT0M, fCentFV0A] + mc: [fIndexCollisions, fPosX, fPosY, fPosZ, fNumContrib, fMultZeqNTracksPV, fCentFT0A, fCentFT0C, fCentFT0M, fCentFV0A] + var_gen: [fIndexMcCollisions, fPosX, fPosY, fPosZ, fPt, fY, fFlagMcMatchGen, fOriginMcGen] + var_training: [[fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2]] + var_selected: [[fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, + fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, + fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, + fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, + fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, + fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, + fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, + fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, + fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, + fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, + fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, + fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, + fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, + fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, + fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, + fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, + fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, + fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, + fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, + fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, + fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, + fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, + fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, + fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, + fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, + fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, + fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, + fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, + fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, + fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, + fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2]] + var_boundaries: [fDecayLength, fPt] + var_correlation: + - [fDecayLength, fChi2PCA, fCpa] + - [fPt, fPt, fPt] + var_class: class + var_inv_mass: fM + var_y: fY + var_cuts: + - [fPtProng0, lt, null] + - [fPtProng1, lt, null] + - [fPtProng2, lt, null] + - [fCpa, lt, null] + - [fDecayLength, lt, null] + - [fChi2PCA, lt, null] + + plot_options: + prob_cut_scan: + pt_prong0: + xlim: + - 0 + - 8 + pt_prong1: + xlim: + - 0 + - 8 + pt_prong2: + xlim: + - 0 + - 8 + fDecayLength: + xlim: + - 0 + - 0.08 + fChi2PCA: + xlim: + - 0 + - 20. + fNSigTofPr0: + xlim: [-50, 50] + xlabel: "n\\sigma_\\mathrm{TOF}(p)0" + fNSigTofPi0: + xlim: [-50, 50] + xlabel: "n\\sigma_\\mathrm{TOF}(\\pi)0" + fNSigTofKa1: + xlim: [-10, 10] + xlabel: "n\\sigma_\\mathrm{TOF}(K)1" + fNSigTofPr2: + xlim: [-50, 50] + xlabel: "n\\sigma_\\mathrm{TOF}(p)2" + fNSigTofPi2: + xlim: [-50, 50] + xlabel: "n\\sigma_\\mathrm{TOF}(\\pi)2" + fNSigTpcPr0: + xlim: [-50, 50] + xlabel: "n\\sigma_\\mathrm{TPC}(p)0" + fNSigTpcPi0: + xlim: [-50, 50] + xlabel: "n\\sigma_\\mathrm{TPC}(\\pi)0" + fNSigTpcKa1: + xlim: [-10, 10] + xlabel: "n\\sigma_\\mathrm{TPC}(K)1" + fNSigTpcPr2: + xlim: [-50, 50] + xlabel: "n\\sigma_\\mathrm{TPC}(p)2" + fNSigTpcPi2: + xlim: [-50, 50] + xlabel: "n\\sigma_\\mathrm{TPC}(\\pi)2" + eff_cut_scan: + pt_prong0: + xlim: + - 0 + - 8 + pt_prong1: + xlim: + - 0 + - 8 + pt_prong2: + xlim: + - 0 + - 8 + fDecayLength: + xlim: + - 0 + - 0.08 + fChi2PCA: + xlim: + - 0 + - 20. + files_names: + namefile_unmerged_tree: AO2D.root + namefile_reco: AnalysisResultsReco.parquet + namefile_evt: AnalysisResultsEvt.parquet + namefile_collcnt: AnalysisResultsCollCnt.parquet + namefile_bccnt: AnalysisResultsBcCnt.parquet + namefile_evtvalroot: AnalysisResultsROOTEvtVal.root + namefile_evtorig: AnalysisResultsEvtOrig.parquet + namefile_gen: AnalysisResultsGen.parquet + namefile_reco_applieddata: AnalysisResultsRecoAppliedData.parquet + namefile_reco_appliedmc: AnalysisResultsRecoAppliedMC.parquet + namefile_mcweights: NonPromptLcPtWeigths.root + treeoutput: "Lctree" + histofilename: "masshisto.root" + efffilename: "effhisto.root" + histoweights: "ptWeigths" + respfilename: "resphisto.root" + crossfilename: "cross_section_tot.root" + + multi: + data: + nprocessesparallel: 60 + maxfiles : [-1] #list of periods + chunksizeunp : [100] #list of periods + chunksizeskim: [100] #list of periods + fracmerge : [0.05,0.05,0.05,0.05,0.05,0.1,0.1,0.2,0.2,0.3] #list of periods + seedmerge: [12] #list of periods + period: [LHC23_pass4_thin] #list of periods + select_period: [1] + prefix_dir: /data8/majak/MLHEP-data/24012025/ + unmerged_tree_dir: [LHC23_pass4_thin_hy_applied_331623/alice/cern.ch/user/a/alihyperloop/jobs/0123] #list of periods + pkl: [LHC23pp_pass4/prod_LHC23_pass4_thin/pkldata] #list of periods + pkl_skimmed: [LHC23pp_pass4/prod_LHC23_pass4_thin/pklskdata] #list of periods + pkl_skimmed_merge_for_ml: [LHC23pp_pass4/prod_LHC23_pass4_thin/pklskmldata] #list of periods + pkl_skimmed_merge_for_ml_all: LHC23pp_pass4/mltotdata + pkl_evtcounter_all: LHC23pp_pass4/evttotdata + mcreweights: [../Analyses] + mc: + nprocessesparallel: 80 + maxfiles : [-1] #list of periods + chunksizeunp : [100] #list of periods + chunksizeskim: [100] #list of periods + fracmerge : [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0] #list of periods + seedmerge: [12] #list of periods + period: [LHC24h1] #list of periods + select_period: [1] + prefix_dir: /data8/majak/MLHEP-data/23012025/ + unmerged_tree_dir: [LHC24h1_hy_applied_327181/alice/cern.ch/user/a/alihyperloop/jobs/0119] #list of periods + pkl: [LHC24pp_mc/prod_LHC24h1/pklmc] #list of periods + pkl_skimmed: [LHC24pp_mc/prod_LHC24h1/pklskmc] #list of periods + pkl_skimmed_merge_for_ml: [LHC24pp_mc/prod_LHC24h1/pklskmlmc] #list of periods + pkl_skimmed_merge_for_ml_all: LHC24pp_mc/prod_LHC24h1/mltotmc + pkl_evtcounter_all: LHC24pp_mc/prod_LHC24h1/evttotmc + mcreweights: [../Analyses, ../Analyses] + ml: + evtsel: null + triggersel: + data: null + mc: null + + nclasses: [150000, 150000, 150000] + #nclasses: [10752, 10752, 10752] #10-12 + #nclasses: [9983, 9983, 9983] #12-24 + equalise_sig_bkg: True + mult_bkg: [1,1,1,1,1,1,1,1,1,1] + sampletags: [0, 1, 1] + sel_bkg: fM < 2.22 or fM > 2.35 # for plotting significance; should agree with bkg selection in sel_ml + # best to have non-prompt (the smallest class) last, so the plots won't complain about the middle class missing + sel_ml: [fM < 2.22 or fM > 2.35, ismcsignal == 1 and ismcprompt == 1, ismcsignal == 1 and ismcfd == 1] + class_labels: [bkg, prompt, non-prompt] + nkfolds: 5 + rnd_shuffle: 12 + rnd_splt: 12 + rnd_all: 12 # Set to None for pure randomness + test_frac: 0.2 + binmin: [1,2,3,4,5,6,7,8,10,12] # must be equal to sel_skim_binmin (sel_skim_binmin bins) + binmax: [2,3,4,5,6,7,8,10,12,24] # must be equal to sel_skim_binmax (sel_skim_binmin bins) + mltype: MultiClassification + ncorescrossval: 10 + prefix_dir_ml: /data8/majak/MLHEP/results-data-20012025/ + mlplot: mlplot # to be removed + mlout: mlout # to be removed + + opt: + isFONLLfromROOT: true + filename_fonll: 'data/fonll/DmesonLcPredictions_13TeV_y05_FFptDepLHCb_BRpythia8_PDG2020.root' # file with FONLL predictions + fonll_particle: 'hLcpkpipred' + fonll_pred: 'max' # edge of the FONLL prediction + FF: 0.204 # fragmentation fraction + sigma_MB: 57.8e-3 # Minimum Bias cross section (pp) 50.87e-3 [b], 1 for Pb-Pb + Taa: 1 # 23260 [b^-1] in 0-10% Pb-Pb, 3917 [b^-1] in 30-50% Pb-Pb, 1 for pp + BR: 6.23e-2 # branching ratio of the decay Lc -> p K- pi+ + f_prompt: 0.9 # estimated fraction of prompt candidates + bkg_data_fraction: 0.05 # fraction of real data used in the estimation + num_steps: 111 # number of steps used in efficiency and signif. estimation + bkg_function: pol2 # fit function for bkg (among TH1 predefined fit functions, e.g. expo, pol1, pol2, ...) + save_fit: True # save bkg fits with the various cuts on ML output + raahp: [1,1,1,1,1,1,1,1,1,1] # sel_skim_binmin bins + presel_gen_eff: "abs(fY) < 0.8" + #presel_gen_eff: "abs(fY) < 0.8 and abs(fPosZ) < 10" + + mlapplication: + data: + prefix_dir_app: /data8/majak/MLHEP/results-data-24012025/ + pkl_skimmed_dec: [LHC23pp_pass4/MLapplication/prod_LHC23_pass4_thin/skpkldecdata] #list of periods + pkl_skimmed_decmerged: [LHC23pp_pass4/MLapplication/prod_LHC23_pass4_thin/skpkldecdatamerged] #list of periods + mc: + prefix_dir_app: /data8/majak/MLHEP/results-mc-23012025/ + pkl_skimmed_dec: [LHC24pp_mc/MLapplication/prod_LHC24h1/skpkldecmc] #list of periods + pkl_skimmed_decmerged: [LHC24pp_mc/MLapplication/prod_LHC24h1/skpkldecmcmerged] #list of periods + modelname: xgboost + modelsperptbin: [xgboost_classifierLcpKpi_dfselection_fPt_1.0_2.0.sav, + xgboost_classifierLcpKpi_dfselection_fPt_2.0_3.0.sav, + xgboost_classifierLcpKpi_dfselection_fPt_3.0_4.0.sav, + xgboost_classifierLcpKpi_dfselection_fPt_4.0_5.0.sav, + xgboost_classifierLcpKpi_dfselection_fPt_5.0_6.0.sav, + xgboost_classifierLcpKpi_dfselection_fPt_6.0_7.0.sav, + xgboost_classifierLcpKpi_dfselection_fPt_7.0_8.0.sav, + xgboost_classifierLcpKpi_dfselection_fPt_8.0_10.0.sav, + xgboost_classifierLcpKpi_dfselection_fPt_10.0_12.0.sav, + xgboost_classifierLcpKpi_dfselection_fPt_12.0_24.0.sav] + probcutpresel: + data: [[0.02, 0.0, 0.0], [0.03, 0.0, 0.0], [0.05, 0.0, 0.0], [0.15, 0.0, 0.0], [0.15, 0.0, 0.0], [0.2, 0.0, 0.0], [0.5, 0.0, 0.0], [0.5, 0.0, 0.0], [0.8, 0.0, 0.0], [0.8, 0.0, 0.0]] #list of nbins + mc: [[0.02, 0.0, 0.0], [0.03, 0.0, 0.0], [0.05, 0.0, 0.0], [0.15, 0.0, 0.0], [0.15, 0.0, 0.0], [0.2, 0.0, 0.0], [0.5, 0.0, 0.0], [0.5, 0.0, 0.0], [0.8, 0.0, 0.0], [0.8, 0.0, 0.0]] #list of nbins + probcutoptimal: [[0.02, 0.0, 0.0], [0.03, 0.0, 0.0], [0.05, 0.0, 0.0], [0.15, 0.0, 0.0], [0.15, 0.0, 0.0], [0.2, 0.0, 0.0], [0.5, 0.0, 0.0], [0.5, 0.0, 0.0], [0.8, 0.0, 0.0], [0.8, 0.0, 0.0]] #list of nbins + analysis: + anahptspectrum: "LctopKpi" #D0Kpi, DplusKpipi, DstarD0pi, DsKKpi, LctopKpi, LcK0Sp + fd_method: "dd" # fc, Nb, dd, dd_N + crosssec_prompt: True # True for prompt, False for non-prompt + cctype: "pp" + sigmamb: 59.4e+9 # 50.87e+9 pp5TeV, 57.8e+9 pp13TeV, 59.4e+9 pp Run3, pb + inputfonllpred: data/fonll/DmesonLcPredictions_13TeV_y05_FFptDepLHCb_BRpythia8_PDG2020.root + dir_general_plots: analysis_plots + + Run3analysis: + proc_type: Dhadrons + useperiod: [1] + plotbin: [1] + usesinglebineff: 0 + sel_binmin2: [1,2,3,4,5,6,7,8,10,12] #list of nbins + sel_binmax2: [2,3,4,5,6,7,8,10,12,24] #list of nbins + var_binning2: null + triggerbit: '' + use_cuts: False + cuts: + - "fDecayLength > 0.02" + - "fDecayLength > 0.02" + - "fDecayLength > 0.02" + - "fDecayLength > 0.02" + - "fDecayLength > 0.02" + - "fDecayLength > 0.02" + - "fDecayLength > 0.02" + - "fDecayLength > 0.02" + - "fDecayLength > 0.02" + - "fDecayLength > 0.02" + + + sel_an_binmin: [1,2,3,4,5,6,7,8,10,12] + sel_an_binmax: [2,3,4,5,6,7,8,10,12,24] + binning_matching: [0,1,2,3,4,5,6,7,8,9] + presel_gen_eff: "abs(fY) < 0.5" + evtsel: "abs(fPosZ < 10)" + + data: + runselection: [null] #FIXME + prefix_dir_res: /data8/majak/MLHEP/results-data-24012025-zero-cuts/ + results: [LHC23pp_pass4/Results/prod_LHC23_pass4_thin/resultsdata] #list of periods + resultsallp: LHC23pp_pass4/Results/resultsdatatot + mc: + runselection: [null] #FIXME + prefix_dir_res: /data8/majak/MLHEP/results-mc-23012025-zero-cuts/ + results: [LHC24pp_mc/Results/prod_LHC24h1/resultsmc] #list of periods + resultsallp: LHC24pp_mc/Results/resultsmctot + + dobkgfromsideband: false + latexnamehadron: "#Lambda_{c}^{pK#pi}" + mass_fit_lim: [2.05, 2.50] # region for the fit of the invariant mass distribution [GeV/c^2] + bin_width: 0.001 # bin width of the invariant mass histogram + n_rebin: [3,3,3,4,5,6,7,7,8,8] # number of mass bins to merge + + pdf_names: + pdf_sig: "sig" + pdf_bkg: "bkg" + param_names: + mass: "m" + gauss_mean: "mean" + gauss_sigma: "sigma_g1" + double_gauss_sigma: "sigma_wide" + fraction_refl: "frac_refl" + + # To initialize the individual fits in pT bins + # Decide whether to take the sigma from MC or data for individual fits + mass_roofit: + - level: mc + range: [2.10, 2.45] + components: + sig: + fn: 'Gaussian::sig(m[1., 5.], mean[2.27,2.29], sigma_g1[.01,.005,.03])' + #wide: + #fn: 'Gaussian::wide(m, mean, expr("n*sigma_g1", n[1.,5.], sigma_g1))' + #model: + #fn: 'SUM::sig(f_peak[0.,1.]*peak, wide)' + bkg: + fn: 'Exponential::mcbkg(m, mcalpha[0.])' + model: + fn: 'SUM::mctot(mcfrac[0.,1.]*sig, mcbkg)' + - ptrange: [1., 2.] + range: [2.20, 2.38] + #fix_params: ['n', 'f_peak'] + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.005,.015])' + bkg: + fn: 'Polynomial::bkg(m, {a0[0.2, -5, 5], a1[-0.1, -3, 0.], a2[0.1, -3, 3]})' + model: + fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' + - ptrange: [2., 3.] + range: [2.20, 2.38] + #fix_params: ['n', 'f_peak'] + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.005,.015])' + bkg: + fn: 'Polynomial::bkg(m, {a0[0.2, -5, 5], a1[-0.1, -3, 3], a2[0.1, -3, 3]})' + model: + fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' + - ptrange: [3., 4.] + range: [2.20, 2.38] + #fix_params: ['n', 'f_peak'] + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.005,.015])' + bkg: + fn: 'Polynomial::bkg(m, {a0[0.2, -5, 5], a1[-0.1, -3, 3], a2[0.1, -3, 3]})' + model: + fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' + - ptrange: [4., 5.] + range: [2.12, 2.4] + #fix_params: ['n', 'f_peak'] + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.005,.015])' + bkg: + fn: 'Polynomial::bkg(m, {a0[0.2, -5., 5.], a1[-0.6, -2., -0.001], a2[-0.8, -3., -0.001]})' + model: + fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' + - ptrange: [5., 6.] + range: [2.12, 2.4] + #fix_params: ['n', 'f_peak'] + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.005,.015])' + bkg: + fn: 'Polynomial::bkg(m, {a0[0.2, -5., 5.], a1[-0.6, -2., -0.001], a2[-0.8, -3., -0.001]})' + model: + fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' + - ptrange: [6., 7.] + range: [2.12, 2.48] + #fix_params: ['n', 'f_peak'] + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' + bkg: + fn: 'Polynomial::bkg(m, {a0[0.2, -5, 5], a1[0.2 , -3, 0.], a2[0.2, -3, 3]})' + model: + fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' + - ptrange: [7., 8.] + range: [2.12, 2.48] + #fix_params: ['n', 'f_peak'] + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' + bkg: + fn: 'Polynomial::bkg(m, {a0[0.2, -5, 5], a1[0.2 , -3, 0.], a2[0.2, -3, 3]})' + model: + fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' + - ptrange: [8., 10.] + range: [2.07, 2.48] + #fix_params: ['n', 'f_peak'] + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' + bkg: + fn: 'Polynomial::bkg(m, {a0[0.2, -5, 5], a1[0.2 , -3, 3], a2[0.2, -3, 3]})' + model: + fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' + - ptrange: [10., 12.] + range: [2.07, 2.48] + #fix_params: ['n', 'f_peak'] + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' + bkg: + fn: 'Polynomial::bkg(m, {a0[0.2, -5, 5], a1[0.2 , -3, 3], a2[0.2, -3, 3]})' + model: + fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' + - range: [2.05, 2.49] + #fix_params: ['n', 'f_peak'] + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' + bkg: + fn: 'Polynomial::bkg(m, {a0[0.2, -5, 5], a1[0.2 , -3, 3], a2[0.2, -3, 3]})' + model: + fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' + + systematics: + probvariation: + useperiod: [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1] #period from where to define prob cuts + ncutvar: 10 #number of looser and tighter variations + maxperccutvar: 0.25 #max diff in efficiency for loosest/tightest var + cutvarminrange: [[0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.7, 0.9], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3]] #Min starting point for scan + cutvarmaxrange: [[0.7, 0.9], [0.7, 0.9], [0.7, 0.9], [0.7, 0.9], [0.7, 0.9], [0.7, 0.9], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3]] #Max starting point for scan + fixedmean: True #Fix mean cutvar histo to central fit + fixedsigma: True #Fix sigma cutvar histo to central fit diff --git a/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_fdd.yml b/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_fdd.yml new file mode 100644 index 0000000000..ebe0682f1f --- /dev/null +++ b/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_fdd.yml @@ -0,0 +1,801 @@ +############################################################################# +## © Copyright CERN 2023. All rights not expressly granted are reserved. ## +## Author: Gian.Michele.Innocenti@cern.ch ## +## This program is free software: you can redistribute it and/or modify it ## +## under the terms of the GNU General Public License as published by the ## +## Free Software Foundation, either version 3 of the License, or (at your ## +## option) any later version. This program is distributed in the hope that ## +## it will be useful, but WITHOUT ANY WARRANTY; without even the implied ## +## warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ## +## See the GNU General Public License for more details. ## +## You should have received a copy of the GNU General Public License ## +## along with this program. if not, see . ## +############################################################################# + +LcpKpi: + doml: true + mass: 2.286 + sel_reco_unp: "fPt>0" + sel_gen_unp: "fPt>0" + sel_cen_unp: null + sel_good_evt_unp: null + sel_reco_skim: [null,null,null,null,null,null,null,null,null,null] + sel_gen_skim: [null,null,null,null,null,null,null,null,null,null] + sel_skim_binmin: [1,2,3,4,5,6,7,8,10,12] #list of nbins + sel_skim_binmax: [2,3,4,5,6,7,8,10,12,24] #list of nbins + apply_yptacccut: false + var_binning: fPt + do_ptshape: true + var_binning_ptshape: fPtWeighted + dofullevtmerge: false + var_cand: fCandidateSelFlag + var_swap: fIsCandidateSwapped + bitmap_sel: + var_name: fFlagMcMatchRec + var_name_gen: fFlagMcMatchGen + var_name_origgen: fOriginMcGen + var_name_origrec: fOriginMcRec + var_isstd: isstd + var_ismcsignal: ismcsignal + var_ismcprompt: ismcprompt + var_ismcfd: ismcfd + var_ismcbkg: ismcbkg + var_ismcrefl: ismcref + isstd : [[1],[]] + ismcsignal: [[1],[]] + ismcprompt: [[0],[]] + ismcfd: [[1],[]] + ismcbkg: [[],[1]] + ismcrefl: [[1],[1]] + + dfs: + read: + evtorig: + level: all + index: fIndexHFLCCOLLBASES + trees: + O2hflccollbase: [fPosX, fPosY, fPosZ, fNumContrib, fMultZeqNTracksPV, fCentFT0A, fCentFT0C, fCentFT0M, fCentFV0A] + extra: + fIsEventReject: 0 + + reco: + level: all + index: fIndexHfLcBases + trees: + O2hflcbase: [fIndexHFLCCOLLBASES, fPt, fY, fEta, fPhi, fM] + O2hflcpar: [fNProngsContributorsPV, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, + fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, + fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, + fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2] + O2hflcmc: + level: mc + vars: [fFlagMcMatchRec, fOriginMcRec, fIsCandidateSwapped] + O2hflcsel: + level: mc + vars: [fCandidateSelFlag] + filter: "fPt > 0." + #extra: + #fY: log((sqrt(2.28646**2 + (fPt * cosh(fEta))**2) + fPt * sinh(fEta)) / sqrt(2.28646**2 + fPt**2)) #TODO : change mass or make sure Lc mass is updated + tags: + isstd: {var: fFlagMcMatchRec, req: [[1],[]], level: mc} + ismcsignal: {var: fFlagMcMatchRec, req: [[1],[]], abs: true, level: mc} + ismcbkg: {var: fFlagMcMatchRec, req: [[],[1]], abs: true, level: mc} + ismcprompt: {var: fOriginMcRec, req: [[0],[]], level: mc} + ismcfd: {var: fOriginMcRec, req: [[1],[]], level: mc} + swap: {cand: fCandidateSelFlag, var_swap: fIsCandidateSwapped, vars: [ismcsignal, ismcprompt, ismcfd], level: mc} + + gen: + level: mc + trees: + O2hflcpbase: [fPt, fY, fEta, fPhi, fFlagMcMatchGen, fOriginMcGen] + tags: + isstd: {var: fFlagMcMatchGen, req: [[1],[]], level: mc} + ismcsignal: {var: fFlagMcMatchGen, req: [[1],[]], abs: true, level: mc} + ismcbkg: {var: fFlagMcMatchGen, req: [[],[1]], abs: true, level: mc} + ismcprompt: {var: fOriginMcGen, req: [[0],[]], level: mc} + ismcfd: {var: fOriginMcGen, req: [[1],[]], level: mc} + #extra: + #fY: log((sqrt(2.28646**2 + (fPt * cosh(fEta))**2) + fPt * sinh(fEta)) / sqrt(2.28646**2 + fPt**2)) #TODO : change mass or make sure Lc mass is updated + + merge: + - {base: reco, ref: evtorig, extra: {fMultZeqNTracksPV_sub: fMultZeqNTracksPV - fNProngsContributorsPV}} + #- {base: reco, ref: evtorigmc, use: fIndexCollisions} + #- {base: gen, ref: evtorigmc, use: fIndexMcCollisions} + + write: + evtorig: + level: all + file: AnalysisResultsEvtOrig.parquet + evt: + level: all + source: evtorig + file: AnalysisResultsEvt.parquet + #evtorigmc: + # level: mc + # file: AnalysisResultsEvtOrig.parquet + #evtmc: + # level: mc + # source: evtorigmc + # file: AnalysisResultsEvt.parquet + reco: + level: all + file: AnalysisResultsReco.parquet + gen: + level: mc + file: AnalysisResultsGen.parquet + + variables: + var_all: [fIndexCollisions, fFlagMcMatchRec, fCandidateSelFlag, fOriginMcRec, fIsCandidateSwapped, fNProngsContributorsPV, + fY, fEta, fPt, fCpa, fCpaXY, fM, fChi2PCA, fDecayLength, fDecayLengthXY, + fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, + fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, + fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2] + var_jet: [fJetPt, fJetEta, fJetPhi] + var_jetsub: [fZg, fRg, fNsd] + var_jet_match: [df, fIndexHfCand2Prong] + var_jetsub_match: [df, fIndexLcChargedJets] + var_evt: + data: [fIndexCollisions, fPosX, fPosY, fPosZ, fNumContrib, fMultZeqNTracksPV, fCentFT0A, fCentFT0C, fCentFT0M, fCentFV0A] + mc: [fIndexCollisions, fPosX, fPosY, fPosZ, fNumContrib, fMultZeqNTracksPV, fCentFT0A, fCentFT0C, fCentFT0M, fCentFV0A] + var_gen: [fIndexMcCollisions, fPosX, fPosY, fPosZ, fPt, fY, fFlagMcMatchGen, fOriginMcGen] + var_training: [[fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2]] + var_selected: [[fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, + fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, + fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, + fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, + fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, + fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, + fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, + fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, + fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, + fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, + fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, + fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, + fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, + fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, + fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, + fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, + fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, + fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, + fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, + fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, + fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, + fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, + fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, + fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, + fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, + fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, + fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, + fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, + fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, + fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, + fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, + fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, + fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, + fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2]] + var_boundaries: [fDecayLength, fPt] + var_correlation: + - [fDecayLength, fChi2PCA, fCpa] + - [fPt, fPt, fPt] + var_class: class + var_inv_mass: fM + var_y: fY + var_cuts: + - [fPtProng0, lt, null] + - [fPtProng1, lt, null] + - [fPtProng2, lt, null] + - [fCpa, lt, null] + - [fDecayLength, lt, null] + - [fChi2PCA, lt, null] + + plot_options: + prob_cut_scan: + pt_prong0: + xlim: + - 0 + - 8 + pt_prong1: + xlim: + - 0 + - 8 + pt_prong2: + xlim: + - 0 + - 8 + fDecayLength: + xlim: + - 0 + - 0.08 + fChi2PCA: + xlim: + - 0 + - 20. + fNSigTofPr0: + xlim: [-50, 50] + xlabel: "n\\sigma_\\mathrm{TOF}(p)0" + fNSigTofPi0: + xlim: [-50, 50] + xlabel: "n\\sigma_\\mathrm{TOF}(\\pi)0" + fNSigTofKa1: + xlim: [-10, 10] + xlabel: "n\\sigma_\\mathrm{TOF}(K)1" + fNSigTofPr2: + xlim: [-50, 50] + xlabel: "n\\sigma_\\mathrm{TOF}(p)2" + fNSigTofPi2: + xlim: [-50, 50] + xlabel: "n\\sigma_\\mathrm{TOF}(\\pi)2" + fNSigTpcPr0: + xlim: [-50, 50] + xlabel: "n\\sigma_\\mathrm{TPC}(p)0" + fNSigTpcPi0: + xlim: [-50, 50] + xlabel: "n\\sigma_\\mathrm{TPC}(\\pi)0" + fNSigTpcKa1: + xlim: [-10, 10] + xlabel: "n\\sigma_\\mathrm{TPC}(K)1" + fNSigTpcPr2: + xlim: [-50, 50] + xlabel: "n\\sigma_\\mathrm{TPC}(p)2" + fNSigTpcPi2: + xlim: [-50, 50] + xlabel: "n\\sigma_\\mathrm{TPC}(\\pi)2" + eff_cut_scan: + pt_prong0: + xlim: + - 0 + - 8 + pt_prong1: + xlim: + - 0 + - 8 + pt_prong2: + xlim: + - 0 + - 8 + fDecayLength: + xlim: + - 0 + - 0.08 + fChi2PCA: + xlim: + - 0 + - 20. + files_names: + namefile_unmerged_tree: AO2D.root + namefile_reco: AnalysisResultsReco.parquet + namefile_evt: AnalysisResultsEvt.parquet + namefile_collcnt: AnalysisResultsCollCnt.parquet + namefile_bccnt: AnalysisResultsBcCnt.parquet + namefile_evtvalroot: AnalysisResultsROOTEvtVal.root + namefile_evtorig: AnalysisResultsEvtOrig.parquet + namefile_gen: AnalysisResultsGen.parquet + namefile_reco_applieddata: AnalysisResultsRecoAppliedData.parquet + namefile_reco_appliedmc: AnalysisResultsRecoAppliedMC.parquet + namefile_mcweights: NonPromptLcPtWeigths.root + treeoutput: "Lctree" + histofilename: "masshisto.root" + efffilename: "effhisto.root" + histoweights: "ptWeigths" + respfilename: "resphisto.root" + crossfilename: "cross_section_tot.root" + + multi: + data: + nprocessesparallel: 10 + maxfiles : [-1] #list of periods + chunksizeunp : [40] #list of periods + chunksizeskim: [40] #list of periods + fracmerge : [0.05] #list of periods + seedmerge: [12] #list of periods + period: [LHC23_pass4_thin] #list of periods + select_period: [1] + prefix_dir: /data8/majak/MLHEP-data/24022025/ + unmerged_tree_dir: [LHC23_pass4_thin_hy_applied_342351/alice/cern.ch/user/a/alihyperloop/jobs/0133] #list of periods + pkl: [LHC23pp_pass4/prod_LHC23_pass4_thin/pkldata] #list of periods + pkl_skimmed: [LHC23pp_pass4/prod_LHC23_pass4_thin/pklskdata] #list of periods + pkl_skimmed_merge_for_ml: [LHC23pp_pass4/prod_LHC23_pass4_thin/pklskmldata] #list of periods + pkl_skimmed_merge_for_ml_all: LHC23pp_pass4/mltotdata + pkl_evtcounter_all: LHC23pp_pass4/evttotdata + mcreweights: [../Analyses] + mc: + nprocessesparallel: 10 + maxfiles : [-1] #list of periods + chunksizeunp : [30] #list of periods + chunksizeskim: [30] #list of periods + fracmerge : [1.0] #list of periods + seedmerge: [12] #list of periods + period: [LHC24h1] #list of periods + select_period: [1] + prefix_dir: /data8/majak/MLHEP-data/24022025/ + unmerged_tree_dir: [LHC24h1_341075/alice/cern.ch/user/a/alihyperloop/jobs/0132] #list of periods + pkl: [LHC24pp_mc/prod_LHC24h1/pklmc] #list of periods + pkl_skimmed: [LHC24pp_mc/prod_LHC24h1/pklskmc] #list of periods + pkl_skimmed_merge_for_ml: [LHC24pp_mc/prod_LHC24h1/pklskmlmc] #list of periods + pkl_skimmed_merge_for_ml_all: LHC24pp_mc/prod_LHC24h1/mltotmc + pkl_evtcounter_all: LHC24pp_mc/prod_LHC24h1/evttotmc + mcreweights: [../Analyses, ../Analyses] + ml: + evtsel: null + triggersel: + data: null + mc: null + + nclasses: [150000, 150000, 150000] + #nclasses: [10752, 10752, 10752] #10-12 + #nclasses: [9983, 9983, 9983] #12-24 + equalise_sig_bkg: True + mult_bkg: [1,1,1,1,1,1,1,1,1,1] + sampletags: [0, 1, 1] + sel_bkg: fM < 2.22 or fM > 2.35 # for plotting significance; should agree with bkg selection in sel_ml + # best to have non-prompt (the smallest class) last, so the plots won't complain about the middle class missing + sel_ml: [fM < 2.22 or fM > 2.35, ismcsignal == 1 and ismcprompt == 1, ismcsignal == 1 and ismcfd == 1] + class_labels: [bkg, prompt, non-prompt] + nkfolds: 5 + rnd_shuffle: 12 + rnd_splt: 12 + rnd_all: 12 # Set to None for pure randomness + test_frac: 0.2 + binmin: [1,2,3,4,5,6,7,8,10,12] # must be equal to sel_skim_binmin (sel_skim_binmin bins) + binmax: [2,3,4,5,6,7,8,10,12,24] # must be equal to sel_skim_binmax (sel_skim_binmin bins) + mltype: MultiClassification + ncorescrossval: 10 + prefix_dir_ml: /data8/majak/MLHEP/results-data-20012025/ + mlplot: mlplot # to be removed + mlout: mlout # to be removed + + opt: + isFONLLfromROOT: true + filename_fonll: 'data/fonll/DmesonLcPredictions_13TeV_y05_FFptDepLHCb_BRpythia8_PDG2020.root' # file with FONLL predictions + fonll_particle: ['hLcpkpipred_max', 'hLcpkpifromBpred_max_corr'] # prompt and optionally non-prompt FONLL file + fonll_pred: 'max' # edge of the FONLL prediction + FF: 0.204 # fragmentation fraction + sigma_MB: 57.8e-3 # Minimum Bias cross section (pp) 50.87e-3 [b], 1 for Pb-Pb + Taa: 1 # 23260 [b^-1] in 0-10% Pb-Pb, 3917 [b^-1] in 30-50% Pb-Pb, 1 for pp + BR: 6.23e-2 # branching ratio of the decay Lc -> p K- pi+ + f_prompt: 0.9 # estimated fraction of prompt candidates + bkg_data_fraction: 0.05 # fraction of real data used in the estimation + num_steps: 100 # number of steps used in efficiency and signif. estimation + signif_thresholds: + - prompt: + y_min: 0.0 + y_max: 0.45 + x_min: 0.0 + x_max: 0.2 + non-prompt: + y_min: 0.6 + y_max: 1.0 + x_min: 0.0 + x_max: 0.1 + - prompt: + y_min: 0.0 + y_max: 0.45 + x_min: 0.0 + x_max: 0.2 + non-prompt: + y_min: 0.6 + y_max: 1.0 + x_min: 0.0 + x_max: 0.1 + - prompt: + y_min: 0.0 + y_max: 0.45 + x_min: 0.0 + x_max: 0.2 + non-prompt: + y_min: 0.6 + y_max: 1.0 + x_min: 0.0 + x_max: 0.1 + - prompt: + y_min: 0.0 + y_max: 0.45 + x_min: 0.0 + x_max: 0.2 + non-prompt: + y_min: 0.6 + y_max: 1.0 + x_min: 0.0 + x_max: 0.1 + - prompt: + y_min: 0.0 + y_max: 0.45 + x_min: 0.0 + x_max: 0.2 + non-prompt: + y_min: 0.6 + y_max: 1.0 + x_min: 0.0 + x_max: 0.1 + - prompt: + y_min: 0.0 + y_max: 0.45 + x_min: 0.0 + x_max: 0.2 + non-prompt: + y_min: 0.6 + y_max: 1.0 + x_min: 0.0 + x_max: 0.1 + - prompt: + y_min: 0.0 + y_max: 0.45 + x_min: 0.0 + x_max: 0.2 + non-prompt: + y_min: 0.6 + y_max: 1.0 + x_min: 0.0 + x_max: 0.1 + - prompt: + y_min: 0.0 + y_max: 0.45 + x_min: 0.0 + x_max: 0.2 + non-prompt: + y_min: 0.6 + y_max: 1.0 + x_min: 0.0 + x_max: 0.1 + - prompt: + y_min: 0.0 + y_max: 0.45 + x_min: 0.0 + x_max: 0.2 + non-prompt: + y_min: 0.6 + y_max: 1.0 + x_min: 0.0 + x_max: 0.1 + - prompt: + y_min: 0.0 + y_max: 0.45 + x_min: 0.0 + x_max: 0.2 + non-prompt: + y_min: 0.6 + y_max: 1.0 + x_min: 0.0 + x_max: 0.1 + bkg_function: pol2 # fit function for bkg (among TH1 predefined fit functions, e.g. expo, pol1, pol2, ...) + save_fit: True # save bkg fits with the various cuts on ML output + raahp: [1,1,1,1,1,1,1,1,1,1] # sel_skim_binmin bins + presel_gen_eff: "abs(fY) < 0.8" + #presel_gen_eff: "abs(fY) < 0.8 and abs(fPosZ) < 10" + + mlapplication: + data: + prefix_dir_app: /data8/majak/MLHEP/results-data-24022025/ + pkl_skimmed_dec: [LHC23pp_pass4/MLapplication/prod_LHC23_pass4_thin/skpkldecdata] #list of periods + pkl_skimmed_decmerged: [LHC23pp_pass4/MLapplication/prod_LHC23_pass4_thin/skpkldecdatamerged] #list of periods + mc: + prefix_dir_app: /data8/majak/MLHEP/results-mc-24022025-ptshape/ + pkl_skimmed_dec: [LHC24pp_mc/MLapplication/prod_LHC24h1/skpkldecmc] #list of periods + pkl_skimmed_decmerged: [LHC24pp_mc/MLapplication/prod_LHC24h1/skpkldecmcmerged] #list of periods + modelname: xgboost + modelsperptbin: [xgboost_classifierLcpKpi_dfselection_fPt_0.0_1.0.sav, + xgboost_classifierLcpKpi_dfselection_fPt_1.0_2.0.sav, + xgboost_classifierLcpKpi_dfselection_fPt_2.0_3.0.sav, + xgboost_classifierLcpKpi_dfselection_fPt_3.0_4.0.sav, + xgboost_classifierLcpKpi_dfselection_fPt_4.0_5.0.sav, + xgboost_classifierLcpKpi_dfselection_fPt_5.0_6.0.sav, + xgboost_classifierLcpKpi_dfselection_fPt_6.0_7.0.sav, + xgboost_classifierLcpKpi_dfselection_fPt_7.0_8.0.sav, + xgboost_classifierLcpKpi_dfselection_fPt_8.0_10.0.sav, + xgboost_classifierLcpKpi_dfselection_fPt_10.0_12.0.sav, + xgboost_classifierLcpKpi_dfselection_fPt_12.0_24.0.sav] + probcutpresel: + data: [[0.02, 0.0, 0.0], [0.03, 0.0, 0.0], [0.05, 0.0, 0.0], [0.15, 0.0, 0.0], [0.15, 0.0, 0.0], [0.2, 0.0, 0.0], [0.5, 0.0, 0.0], [0.5, 0.0, 0.0], [0.8, 0.0, 0.0], [0.8, 0.0, 0.0]] #list of nbins + mc: [[0.02, 0.0, 0.0], [0.03, 0.0, 0.0], [0.05, 0.0, 0.0], [0.15, 0.0, 0.0], [0.15, 0.0, 0.0], [0.2, 0.0, 0.0], [0.5, 0.0, 0.0], [0.5, 0.0, 0.0], [0.8, 0.0, 0.0], [0.8, 0.0, 0.0]] #list of nbins + probcutoptimal: [[0.02, 0.40, 0.00], [0.03, 0.25, 0.00], [0.04, 0.25, 0.00], [0.07, 0.25, 0.00], [0.10, 0.25, 0.00], [0.11, 0.25, 0.00], [0.15, 0.25, 0.00], [0.18, 0.25, 0.00], [0.25, 0.25, 0.00], [0.35, 0.25, 0.00], [0.35, 0.25, 0.00]] #list of nbins + #probcutoptimal: [[0.02, 0.00, 0.55], [0.03, 0.00, 0.55], [0.04, 0.00, 0.50], [0.07, 0.00, 0.35], [0.10, 0.00, 0.35], [0.11, 0.00, 0.35], [0.15, 0.00, 0.35], [0.18, 0.00, 0.35], [0.25, 0.00, 0.35], [0.35, 0.00, 0.35], [0.35, 0.00, 0.35]] #list of nbins + #probcutoptimal: [[0.01, 0.00, %fd%], [0.02, 0.00, %fd%], [0.03, 0.00, %fd%], [0.04, 0.00, %fd%], [0.07, 0.00, %fd%], [0.10, 0.00, %fd%], [0.11, 0.00, %fd%], [0.15, 0.00, %fd%], [0.18, 0.00, %fd%], [0.25, 0.00, %fd%], [0.35, 0.00, %fd%], [0.35, 0.00, %fd%]] #list of nbins + analysis: + anahptspectrum: "LctopKpi" #D0Kpi, DplusKpipi, DstarD0pi, DsKKpi, LctopKpi, LcK0Sp + fd_method: "dd" # fc, Nb, dd, dd_N + crosssec_prompt: True # True for prompt, False for non-prompt + cctype: "pp" + sigmamb: 59.4e+9 # 50.87e+9 pp5TeV, 57.8e+9 pp13TeV, 59.4e+9 pp Run3, pb + inputfonllpred: /data8/majak/crosssec/202502/fractions/CutVarLc_pp13TeV_LHC23_pass4_wide.root + #inputfonllpred: /data8/majak/crosssec/202502/fractions/CutVarLc_pp13TeV_LHC23_pass4_default.root + #inputfonllpred: data/fonll/fonll_pythia_beautyFFLHCb_charmhadrons_13dot6tev_y0dot5_highStatistics.root + #inputfonllpred: data/fonll/DmesonLcPredictions_13TeV_y05_FFptDepLHCb_BRpythia8_PDG2020.root + dir_general_plots: analysis_plots + + Run3analysis: + proc_type: Dhadrons + useperiod: [1] + plotbin: [1] + usesinglebineff: 0 + sel_binmin2: [0,1,2,3,4,5,6,7,8,10,12,16] #list of nbins + sel_binmax2: [1,2,3,4,5,6,7,8,10,12,16,24] #list of nbins + var_binning2: null + triggerbit: '' + use_cuts: False + cuts: + - "fDecayLength > 0.02" + - "fDecayLength > 0.02" + - "fDecayLength > 0.02" + - "fDecayLength > 0.02" + - "fDecayLength > 0.02" + - "fDecayLength > 0.02" + - "fDecayLength > 0.02" + - "fDecayLength > 0.02" + - "fDecayLength > 0.02" + - "fDecayLength > 0.02" + - "fDecayLength > 0.02" + + + sel_an_binmin: [1,2,3,4,5,6,7,8,10,12,16] + sel_an_binmax: [2,3,4,5,6,7,8,10,12,16,24] + binning_matching: [0,1,2,3,4,5,6,7,8,9,9] + presel_gen_eff: "abs(fY) < 0.5" + evtsel: null + triggersel: + data: null + mc: null + + data: + runselection: [null] #FIXME + prefix_dir_res: /data8/majak/MLHEP/%resdir%/ + results: [LHC23pp_pass4/Results/prod_LHC23_pass4_thin/resultsdata] #list of periods + resultsallp: LHC23pp_pass4/Results/resultsdatatot + mc: + runselection: [null] #FIXME + prefix_dir_res: /data8/majak/MLHEP/%resdir%/ + results: [LHC24pp_mc/Results/prod_LHC24h1/resultsmc] #list of periods + resultsallp: LHC24pp_mc/Results/resultsmctot + + nevents: 290860860000 + dobkgfromsideband: false + fitcase: Lc + latexnamehadron: "#Lambda_{c}^{pK#pi}" + mass_fit_lim: [2.10, 2.47] # region for the fit of the invariant mass distribution [GeV/c^2] + bin_width: 0.001 # bin width of the invariant mass histogram + n_rebin: [2,2,2,2,2,3,3,4,5,6,6] # number of mass bins to merge + fixed_sigma: [False, False, False, False, False, False, False, False, False, False, False] + fixed_sigma_val: [0.0082, 0.0092, 0.0104, 0.0116, 0.0134, 0.0145, 0.0162, 0.0182, 0.0204, 0.0230, 0.0263] + + pdf_names: + pdf_sig: "sig" + pdf_bkg: "bkg" + param_names: + mass: "m" + gauss_mean: "mean" + gauss_sigma: "sigma_g1" + double_gauss_sigma: "sigma_wide" + alpha_l: "alpha1" + alpha_r: "alpha2" + n_l: "n1" + n_r: "n2" + fraction_refl: "frac_refl" + + # To initialize the individual fits in pT bins + # Decide whether to take the sigma from MC or data for individual fits + mass_roofit: + - level: mc + ptrange: [0., 2.] + range: [2.18, 2.39] + components: + sig: + fn: 'RooCrystalBall::sig(m[1., 10], mean[2.288, 2.283, 2.289], sigma_g1[0.0085, 0.0085], alpha1[1.3506, 1.3506], n1[40.0972, 40.0972], alpha1[1.3506, 1.3506], n1[40.0972, 40.0972])' + bkg: + fn: 'Exponential::mcbkg(m, mcalpha[0.])' + model: + fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' + - level: mc + ptrange: [2., 3.] + range: [2.18, 2.40] + components: + sig: + fn: 'RooCrystalBall::sig(m[1., 10], mean[2.288, 2.283, 2.289], sigma_g1[0.0088, 0.0088], alpha1[1.64, 1.64], n1[30., 30.], alpha1[1.64, 1.64], n1[30., 30.])' + bkg: + fn: 'Exponential::mcbkg(m, mcalpha[0.])' + model: + fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' + - level: mc + ptrange: [3., 4.] + range: [2.18, 2.39] + components: + sig: + fn: 'RooCrystalBall::sig(m[1., 10], mean[2.286, 2.283, 2.289], sigma_g1[0.0102, 0.0102], alpha1[1.53, 1.53], n1[67.37, 67.37], alpha1[1.53, 1.53], n1[67.37, 67.37])' + bkg: + fn: 'Exponential::mcbkg(m, mcalpha[0.])' + model: + fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' + - level: mc + ptrange: [4., 5.] + range: [2.18, 2.39] + components: + sig: + fn: 'RooCrystalBall::sig(m[1., 10], mean[2.286, 2.283, 2.289], sigma_g1[0.0112, 0.0112], alpha1[1.21, 1.21], n1[94.58, 94.58], alpha1[1.21, 1.21], n1[94.58, 94.58])' + bkg: + fn: 'Exponential::mcbkg(m, mcalpha[0.])' + model: + fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' + - level: mc + ptrange: [5., 6.] + range: [2.18, 2.39] + components: + sig: + fn: 'RooCrystalBall::sig(m[1., 10], mean[2.286, 2.283, 2.289], sigma_g1[0.0127, 0.0127], alpha1[1.147, 1.147], n1[77.2867, 77.2867], alpha1[1.147, 1.147], n1[77.2867, 77.2867])' + bkg: + fn: 'Exponential::mcbkg(m, mcalpha[0.])' + model: + fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' + - level: mc + ptrange: [6., 7.] + range: [2.18, 2.39] + components: + sig: + fn: 'RooCrystalBall::sig(m[1., 10], mean[2.286, 2.283, 2.289], sigma_g1[0.0131, 0.0131], alpha1[1.026, 1.026], n1[90.26, 90.26], alpha1[1.026, 1.026], n1[90.26, 90.26])' + bkg: + fn: 'Exponential::mcbkg(m, mcalpha[0.])' + model: + fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' + - level: mc + ptrange: [7., 8.] + range: [2.10, 2.45] + components: + sig: + fn: 'RooCrystalBall::sig(m[1., 10], mean[2.286, 2.283, 2.289], sigma_g1[0.0151, 0.0151], alpha1[1.249, 1.249], n1[99.955, 99.955], alpha1[1.249, 1.249], n1[99.955, 99.955])' + bkg: + fn: 'Exponential::mcbkg(m, mcalpha[0.])' + model: + fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' + - level: mc + ptrange: [8., 10.] + range: [2.10, 2.45] + components: + sig: + fn: 'RooCrystalBall::sig(m[1., 10], mean[2.286, 2.283, 2.289], sigma_g1[0.0174, 0.0174], alpha1[1.315, 1.315], n1[4., 4.], alpha1[1.315, 1.315], n1[4., 4.])' + bkg: + fn: 'Exponential::mcbkg(m, mcalpha[0.])' + model: + fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' + - level: mc + ptrange: [10., 12.] + range: [2.10, 2.45] + components: + sig: + fn: 'RooCrystalBall::sig(m[1., 10], mean[2.286, 2.283, 2.289], sigma_g1[0.0187, 0.0187], alpha1[1.013, 1.013], n1[5.0, 5.0], alpha1[1.013, 1.013], n1[5.0, 5.0])' + bkg: + fn: 'Exponential::mcbkg(m, mcalpha[0.])' + model: + fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' + - level: mc + ptrange: [12., 16.] + range: [2.10, 2.45] + components: + sig: + fn: 'RooCrystalBall::sig(m[1., 10], mean[2.286, 2.283, 2.289], sigma_g1[0.0205, 0.0205], alpha1[0.8, 0.8], n1[19.30, 19.30], alpha1[0.8, 0.8], n1[19.30, 19.30])' + bkg: + fn: 'Exponential::mcbkg(m, mcalpha[0.])' + model: + fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' + - level: mc + ptrange: [16., 24.] + range: [2.10, 2.45] + components: + sig: + fn: 'RooCrystalBall::sig(m[1., 10], mean[2.286, 2.283, 2.289], sigma_g1[0.0205, 0.0205], alpha1[0.8, 0.8], n1[19.30, 19.30], alpha1[0.8, 0.8], n1[19.30, 19.30])' + bkg: + fn: 'Exponential::mcbkg(m, mcalpha[0.])' + model: + fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' + - ptrange: [0., 2.] + range: [2.21, 2.36] #2.216, 2.36 + components: + bkg: + fn: 'Polynomial::bkg(m, {a0[-1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' + model: + fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' + - ptrange: [2., 3.] + range: [2.20, 2.368] + components: + bkg: + fn: 'Polynomial::bkg(m, {a0[-1e8, 1e8], a1[-1e8, 1e8], a2[-1e8, 1e8]})' + model: + fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' + - ptrange: [3., 4.] + range: [2.19, 2.38] + components: + bkg: + fn: 'Polynomial::bkg(m, {a0[-1e8, 1e8], a1[-1e8, 1e8], a2[-1e8, 1e8]})' + model: + fn: 'SUM::sum(f_sig[0., 0., 0.8]*sig, bkg)' + - ptrange: [4., 5.] + range: [2.19, 2.38] + components: + bkg: + fn: 'Polynomial::bkg(m, {a0[2000, -1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' + model: + fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' + - ptrange: [5., 6.] + range: [2.18, 2.39] + components: + bkg: + fn: 'Polynomial::bkg(m, {a0[5000, -1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' + model: + fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' + - ptrange: [6., 7.] + range: [2.16, 2.40] + components: + bkg: + fn: 'Polynomial::bkg(m, {a0[2000, -1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' + model: + fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' + - ptrange: [7., 8.] + range: [2.16, 2.40] + components: + bkg: + fn: 'Polynomial::bkg(m, {a0[1000, -1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' + model: + fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' + - ptrange: [8., 10.] + range: [2.1, 2.46] + components: + bkg: + fn: 'Polynomial::bkg(m, {a0[1000, -1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' + model: + fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' + - range: [2.1, 2.46] + components: + bkg: + fn: 'Polynomial::bkg(m, {a0[2000, -1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' + model: + fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' + + systematics: + probvariation: + useperiod: [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1] #period from where to define prob cuts + ncutvar: 10 #number of looser and tighter variations + maxperccutvar: 0.25 #max diff in efficiency for loosest/tightest var + cutvarminrange: [[0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.7, 0.9], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3]] #Min starting point for scan + cutvarmaxrange: [[0.7, 0.9], [0.7, 0.9], [0.7, 0.9], [0.7, 0.9], [0.7, 0.9], [0.7, 0.9], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3]] #Max starting point for scan + fixedmean: True #Fix mean cutvar histo to central fit + fixedsigma: True #Fix sigma cutvar histo to central fit diff --git a/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_ml.yml b/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_ml.yml new file mode 100644 index 0000000000..4d5f5a9d87 --- /dev/null +++ b/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_ml.yml @@ -0,0 +1,783 @@ +############################################################################# +## © Copyright CERN 2023. All rights not expressly granted are reserved. ## +## Author: Gian.Michele.Innocenti@cern.ch ## +## This program is free software: you can redistribute it and/or modify it ## +## under the terms of the GNU General Public License as published by the ## +## Free Software Foundation, either version 3 of the License, or (at your ## +## option) any later version. This program is distributed in the hope that ## +## it will be useful, but WITHOUT ANY WARRANTY; without even the implied ## +## warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ## +## See the GNU General Public License for more details. ## +## You should have received a copy of the GNU General Public License ## +## along with this program. if not, see . ## +############################################################################# + +LcpKpi: + doml: true + mass: 2.286 + sel_reco_unp: "fPt>0" + sel_gen_unp: "fPt>0" + sel_cen_unp: null + sel_good_evt_unp: null + sel_reco_skim: [null,null,null,null,null,null,null,null,null,null] + sel_gen_skim: [null,null,null,null,null,null,null,null,null,null] + sel_skim_binmin: [1,2,3,4,5,6,7,8,10,12] #list of nbins + sel_skim_binmax: [2,3,4,5,6,7,8,10,12,24] #list of nbins + apply_yptacccut: false + var_binning: fPt + do_ptshape: false + var_binning_ptshape: fPtWeighted + dofullevtmerge: false + var_cand: fCandidateSelFlag + var_swap: fIsCandidateSwapped + bitmap_sel: + var_name: fFlagMcMatchRec + var_name_gen: fFlagMcMatchGen + var_name_origgen: fOriginMcGen + var_name_origrec: fOriginMcRec + var_isstd: isstd + var_ismcsignal: ismcsignal + var_ismcprompt: ismcprompt + var_ismcfd: ismcfd + var_ismcbkg: ismcbkg + var_ismcrefl: ismcref + isstd : [[1],[]] + ismcsignal: [[1],[]] + ismcprompt: [[0],[]] + ismcfd: [[1],[]] + ismcbkg: [[],[1]] + ismcrefl: [[1],[1]] + + dfs: + read: + evtorig: + level: all + index: fIndexHFLCCOLLBASES + trees: + O2hflccollbase: [fPosX, fPosY, fPosZ, fNumContrib, fMultZeqNTracksPV, fCentFT0A, fCentFT0C, fCentFT0M, fCentFV0A] + extra: + fIsEventReject: 0 + + reco: + level: all + index: fIndexHfLCBases + trees: + O2hflcbase: [fIndexHFLCCOLLBASES, fPt, fY, fEta, fPhi, fM] + O2hflcpar: [fNProngsContributorsPV, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, + fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, + fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, + fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2] + O2hflcmc: + level: mc + vars: [fFlagMcMatchRec, fOriginMcRec, fIsCandidateSwapped] + O2hflcsel: + level: mc + vars: [fCandidateSelFlag] + filter: "fPt > 0." + #extra: + #fY: log((sqrt(2.28646**2 + (fPt * cosh(fEta))**2) + fPt * sinh(fEta)) / sqrt(2.28646**2 + fPt**2)) #TODO : change mass or make sure Lc mass is updated + tags: + isstd: {var: fFlagMcMatchRec, req: [[1],[]], level: mc} + ismcsignal: {var: fFlagMcMatchRec, req: [[1],[]], abs: true, level: mc} + ismcbkg: {var: fFlagMcMatchRec, req: [[],[1]], abs: true, level: mc} + ismcprompt: {var: fOriginMcRec, req: [[0],[]], level: mc} + ismcfd: {var: fOriginMcRec, req: [[1],[]], level: mc} + swap: {cand: fCandidateSelFlag, var_swap: fIsCandidateSwapped, vars: [ismcsignal, ismcprompt, ismcfd], level: mc} + + gen: + level: mc + trees: + O2hflcpbase: [fPt, fY, fEta, fPhi, fFlagMcMatchGen, fOriginMcGen] + tags: + isstd: {var: fFlagMcMatchGen, req: [[1],[]], level: mc} + ismcsignal: {var: fFlagMcMatchGen, req: [[1],[]], abs: true, level: mc} + ismcbkg: {var: fFlagMcMatchGen, req: [[],[1]], abs: true, level: mc} + ismcprompt: {var: fOriginMcGen, req: [[0],[]], level: mc} + ismcfd: {var: fOriginMcGen, req: [[1],[]], level: mc} + #extra: + #fY: log((sqrt(2.28646**2 + (fPt * cosh(fEta))**2) + fPt * sinh(fEta)) / sqrt(2.28646**2 + fPt**2)) #TODO : change mass or make sure Lc mass is updated + + merge: + - {base: reco, ref: evtorig, extra: {fMultZeqNTracksPV_sub: fMultZeqNTracksPV - fNProngsContributorsPV}} + #- {base: reco, ref: evtorigmc, use: fIndexCollisions} + #- {base: gen, ref: evtorigmc, use: fIndexMcCollisions} + + write: + evtorig: + level: all + file: AnalysisResultsEvtOrig.parquet + evt: + level: all + source: evtorig + file: AnalysisResultsEvt.parquet + #evtorigmc: + # level: mc + # file: AnalysisResultsEvtOrig.parquet + #evtmc: + # level: mc + # source: evtorigmc + # file: AnalysisResultsEvt.parquet + reco: + level: all + file: AnalysisResultsReco.parquet + gen: + level: mc + file: AnalysisResultsGen.parquet + + variables: + var_all: [fIndexCollisions, fFlagMcMatchRec, fCandidateSelFlag, fOriginMcRec, fIsCandidateSwapped, fNProngsContributorsPV, + fY, fEta, fPt, fCpa, fCpaXY, fM, fChi2PCA, fDecayLength, fDecayLengthXY, + fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, + fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, + fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2] + var_jet: [fJetPt, fJetEta, fJetPhi] + var_jetsub: [fZg, fRg, fNsd] + var_jet_match: [df, fIndexHfCand2Prong] + var_jetsub_match: [df, fIndexLcChargedJets] + var_evt: + data: [fIndexCollisions, fPosX, fPosY, fPosZ, fNumContrib, fMultZeqNTracksPV, fCentFT0A, fCentFT0C, fCentFT0M, fCentFV0A] + mc: [fIndexCollisions, fPosX, fPosY, fPosZ, fNumContrib, fMultZeqNTracksPV, fCentFT0A, fCentFT0C, fCentFT0M, fCentFV0A] + var_gen: [fIndexMcCollisions, fPosX, fPosY, fPosZ, fPt, fY, fFlagMcMatchGen, fOriginMcGen] + var_training: [[fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2]] + var_selected: [[fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, + fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, + fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, + fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, + fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, + fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, + fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, + fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, + fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, + fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, + fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, + fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, + fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, + fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, + fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, + fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, + fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, + fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, + fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, + fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, + fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, + fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, + fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, + fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, + fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, + fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, + fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, + fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], + [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, + fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, + fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, + fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2]] + var_boundaries: [fDecayLength, fPt] + var_correlation: + - [fDecayLength, fChi2PCA, fCpa] + - [fPt, fPt, fPt] + var_class: class + var_inv_mass: fM + var_y: fY + var_cuts: + - [fPtProng0, lt, null] + - [fPtProng1, lt, null] + - [fPtProng2, lt, null] + - [fCpa, lt, null] + - [fDecayLength, lt, null] + - [fChi2PCA, lt, null] + + plot_options: + prob_cut_scan: + pt_prong0: + xlim: + - 0 + - 8 + pt_prong1: + xlim: + - 0 + - 8 + pt_prong2: + xlim: + - 0 + - 8 + fDecayLength: + xlim: + - 0 + - 0.08 + fChi2PCA: + xlim: + - 0 + - 20. + fNSigTofPr0: + xlim: [-50, 50] + xlabel: "n\\sigma_\\mathrm{TOF}(p)0" + fNSigTofPi0: + xlim: [-50, 50] + xlabel: "n\\sigma_\\mathrm{TOF}(\\pi)0" + fNSigTofKa1: + xlim: [-10, 10] + xlabel: "n\\sigma_\\mathrm{TOF}(K)1" + fNSigTofPr2: + xlim: [-50, 50] + xlabel: "n\\sigma_\\mathrm{TOF}(p)2" + fNSigTofPi2: + xlim: [-50, 50] + xlabel: "n\\sigma_\\mathrm{TOF}(\\pi)2" + fNSigTpcPr0: + xlim: [-50, 50] + xlabel: "n\\sigma_\\mathrm{TPC}(p)0" + fNSigTpcPi0: + xlim: [-50, 50] + xlabel: "n\\sigma_\\mathrm{TPC}(\\pi)0" + fNSigTpcKa1: + xlim: [-10, 10] + xlabel: "n\\sigma_\\mathrm{TPC}(K)1" + fNSigTpcPr2: + xlim: [-50, 50] + xlabel: "n\\sigma_\\mathrm{TPC}(p)2" + fNSigTpcPi2: + xlim: [-50, 50] + xlabel: "n\\sigma_\\mathrm{TPC}(\\pi)2" + eff_cut_scan: + pt_prong0: + xlim: + - 0 + - 8 + pt_prong1: + xlim: + - 0 + - 8 + pt_prong2: + xlim: + - 0 + - 8 + fDecayLength: + xlim: + - 0 + - 0.08 + fChi2PCA: + xlim: + - 0 + - 20. + files_names: + namefile_unmerged_tree: AO2D.root + namefile_reco: AnalysisResultsReco.parquet + namefile_evt: AnalysisResultsEvt.parquet + namefile_collcnt: AnalysisResultsCollCnt.parquet + namefile_bccnt: AnalysisResultsBcCnt.parquet + namefile_evtvalroot: AnalysisResultsROOTEvtVal.root + namefile_evtorig: AnalysisResultsEvtOrig.parquet + namefile_gen: AnalysisResultsGen.parquet + namefile_reco_applieddata: AnalysisResultsRecoAppliedData.parquet + namefile_reco_appliedmc: AnalysisResultsRecoAppliedMC.parquet + namefile_mcweights: NonPromptLcPtWeigths.root + treeoutput: "Lctree" + histofilename: "masshisto.root" + efffilename: "effhisto.root" + histoweights: "ptWeigths" + respfilename: "resphisto.root" + crossfilename: "cross_section_tot.root" + + multi: + data: + nprocessesparallel: 10 + maxfiles : [-1] #list of periods + chunksizeunp : [100] #list of periods + chunksizeskim: [10] #list of periods + fracmerge : [0.05,0.05,0.05,0.05,0.05,0.1,0.1,0.2,0.2,0.3] #list of periods + seedmerge: [12] #list of periods + period: [LHC23_pass4_thin] #list of periods + select_period: [1] + prefix_dir: /data8/majak/MLHEP-data/13012025/ + unmerged_tree_dir: [LHC23_pass4_thin_small_324271/alice/cern.ch/user/a/alihyperloop/jobs/0115] #list of periods + pkl: [LHC23pp_pass4/prod_LHC23_pass4_thin/pkldata] #list of periods + pkl_skimmed: [LHC23pp_pass4/prod_LHC23_pass4_thin/pklskdata] #list of periods + pkl_skimmed_merge_for_ml: [LHC23pp_pass4/prod_LHC23_pass4_thin/pklskmldata] #list of periods + pkl_skimmed_merge_for_ml_all: LHC23pp_pass4/mltotdata + pkl_evtcounter_all: LHC23pp_pass4/evttotdata + mcreweights: [../Analyses] + mc: + nprocessesparallel: 80 + maxfiles : [-1] #list of periods + chunksizeunp : [100] #list of periods + chunksizeskim: [100] #list of periods + fracmerge : [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0] #list of periods + seedmerge: [12] #list of periods + period: [LHC24g5] #list of periods + select_period: [1] + prefix_dir: /data8/majak/MLHEP-data/13012025/ + unmerged_tree_dir: [LHC24g5_324269/alice/cern.ch/user/a/alihyperloop/jobs/0115] #list of periods + pkl: [LHC24pp_mc/prod_LHC24g5/pklmc] #list of periods + pkl_skimmed: [LHC24pp_mc/prod_LHC24g5/pklskmc] #list of periods + pkl_skimmed_merge_for_ml: [LHC24pp_mc/prod_LHC24g5/pklskmlmc] #list of periods + pkl_skimmed_merge_for_ml_all: LHC24pp_mc/prod_LHC24g5/mltotmc + pkl_evtcounter_all: LHC24pp_mc/prod_LHC24g5/evttotmc + mcreweights: [../Analyses, ../Analyses] + ml: + evtsel: null + triggersel: + data: null + mc: null + + nclasses: [150000, 150000, 150000] + #nclasses: [10752, 10752, 10752] #10-12 + #nclasses: [9983, 9983, 9983] #12-24 + equalise_sig_bkg: True + mult_bkg: [1,1,1,1,1,1,1,1,1,1] + sampletags: [0, 1, 1] + sel_bkg: fM < 2.22 or fM > 2.35 # for plotting significance; should agree with bkg selection in sel_ml + # best to have non-prompt (the smallest class) last, so the plots won't complain about the middle class missing + sel_ml: [fM < 2.22 or fM > 2.35, ismcsignal == 1 and ismcprompt == 1, ismcsignal == 1 and ismcfd == 1] + class_labels: [bkg, prompt, non-prompt] + nkfolds: 5 + rnd_shuffle: 12 + rnd_splt: 12 + rnd_all: 12 # Set to None for pure randomness + test_frac: 0.2 + binmin: [1,2,3,4,5,6,7,8,10,12] # must be equal to sel_skim_binmin (sel_skim_binmin bins) + binmax: [2,3,4,5,6,7,8,10,12,24] # must be equal to sel_skim_binmax (sel_skim_binmin bins) + mltype: MultiClassification + ncorescrossval: 10 + prefix_dir_ml: /data8/majak/MLHEP/results-data-20012025/ + mlplot: mlplot # to be removed + mlout: mlout # to be removed + + opt: + isFONLLfromROOT: true + filename_fonll: 'data/fonll/DmesonLcPredictions_13TeV_y05_FFptDepLHCb_BRpythia8_PDG2020.root' # file with FONLL predictions + fonll_particle: ['hLcpkpipred_max', 'hLcpkpifromBpred_max_corr'] # prompt and optionally non-prompt FONLL file + fonll_pred: 'max' # edge of the FONLL prediction + FF: 0.204 # fragmentation fraction + sigma_MB: 57.8e-3 # Minimum Bias cross section (pp) 50.87e-3 [b], 1 for Pb-Pb + Taa: 1 # 23260 [b^-1] in 0-10% Pb-Pb, 3917 [b^-1] in 30-50% Pb-Pb, 1 for pp + BR: 6.23e-2 # branching ratio of the decay Lc -> p K- pi+ + f_prompt: 0.9 # estimated fraction of prompt candidates + bkg_data_fraction: 0.05 # fraction of real data used in the estimation + num_steps: 100 # number of steps used in efficiency and signif. estimation + signif_thresholds: + - prompt: + y_min: 0.0 + y_max: 0.45 + x_min: 0.0 + x_max: 0.2 + non-prompt: + y_min: 0.6 + y_max: 1.0 + x_min: 0.0 + x_max: 0.1 + - prompt: + y_min: 0.0 + y_max: 0.45 + x_min: 0.0 + x_max: 0.2 + non-prompt: + y_min: 0.6 + y_max: 1.0 + x_min: 0.0 + x_max: 0.1 + - prompt: + y_min: 0.0 + y_max: 0.45 + x_min: 0.0 + x_max: 0.2 + non-prompt: + y_min: 0.6 + y_max: 1.0 + x_min: 0.0 + x_max: 0.1 + - prompt: + y_min: 0.0 + y_max: 0.45 + x_min: 0.0 + x_max: 0.2 + non-prompt: + y_min: 0.6 + y_max: 1.0 + x_min: 0.0 + x_max: 0.1 + - prompt: + y_min: 0.0 + y_max: 0.45 + x_min: 0.0 + x_max: 0.2 + non-prompt: + y_min: 0.6 + y_max: 1.0 + x_min: 0.0 + x_max: 0.1 + - prompt: + y_min: 0.0 + y_max: 0.45 + x_min: 0.0 + x_max: 0.2 + non-prompt: + y_min: 0.6 + y_max: 1.0 + x_min: 0.0 + x_max: 0.1 + - prompt: + y_min: 0.0 + y_max: 0.45 + x_min: 0.0 + x_max: 0.2 + non-prompt: + y_min: 0.6 + y_max: 1.0 + x_min: 0.0 + x_max: 0.1 + - prompt: + y_min: 0.0 + y_max: 0.45 + x_min: 0.0 + x_max: 0.2 + non-prompt: + y_min: 0.6 + y_max: 1.0 + x_min: 0.0 + x_max: 0.1 + - prompt: + y_min: 0.0 + y_max: 0.45 + x_min: 0.0 + x_max: 0.2 + non-prompt: + y_min: 0.6 + y_max: 1.0 + x_min: 0.0 + x_max: 0.1 + - prompt: + y_min: 0.0 + y_max: 0.45 + x_min: 0.0 + x_max: 0.2 + non-prompt: + y_min: 0.6 + y_max: 1.0 + x_min: 0.0 + x_max: 0.1 + bkg_function: pol2 # fit function for bkg (among TH1 predefined fit functions, e.g. expo, pol1, pol2, ...) + save_fit: True # save bkg fits with the various cuts on ML output + raahp: [1,1,1,1,1,1,1,1,1,1] # sel_skim_binmin bins + presel_gen_eff: "abs(fY) < 0.8" + #presel_gen_eff: "abs(fY) < 0.8 and abs(fPosZ) < 10" + + mlapplication: + data: + prefix_dir_app: /data8/majak/MLHEP/results-data-13012025/ + pkl_skimmed_dec: [LHC23pp_pass4/MLapplication/prod_LHC23_pass4_thin/skpkldecdata] #list of periods + pkl_skimmed_decmerged: [LHC23pp_pass4/MLapplication/prod_LHC23_pass4_thin/skpkldecdatamerged] #list of periods + mc: + prefix_dir_app: /data8/majak/MLHEP/results-mc-13012025/ + pkl_skimmed_dec: [LHC24pp_mc/MLapplication/prod_LHC24g5/skpkldecmc] #list of periods + pkl_skimmed_decmerged: [LHC24pp_mc/MLapplication/prod_LHC24g5/skpkldecmcmerged] #list of periods + modelname: xgboost + modelsperptbin: [xgboost_classifierLcpKpi_dfselection_fPt_1.0_2.0.sav, + xgboost_classifierLcpKpi_dfselection_fPt_2.0_3.0.sav, + xgboost_classifierLcpKpi_dfselection_fPt_3.0_4.0.sav, + xgboost_classifierLcpKpi_dfselection_fPt_4.0_5.0.sav, + xgboost_classifierLcpKpi_dfselection_fPt_5.0_6.0.sav, + xgboost_classifierLcpKpi_dfselection_fPt_6.0_7.0.sav, + xgboost_classifierLcpKpi_dfselection_fPt_7.0_8.0.sav, + xgboost_classifierLcpKpi_dfselection_fPt_8.0_10.0.sav, + xgboost_classifierLcpKpi_dfselection_fPt_10.0_12.0.sav, + xgboost_classifierLcpKpi_dfselection_fPt_12.0_24.0.sav, + xgboost_classifierLcpKpi_dfselection_fPt_12.0_24.0.sav] + probcutpresel: + data: [[0.02, 0.0, 0.0], [0.03, 0.0, 0.0], [0.05, 0.0, 0.0], [0.15, 0.0, 0.0], [0.15, 0.0, 0.0], [0.2, 0.0, 0.0], [0.5, 0.0, 0.0], [0.5, 0.0, 0.0], [0.8, 0.0, 0.0], [0.8, 0.0, 0.0]] #list of nbins + mc: [[0.02, 0.0, 0.0], [0.03, 0.0, 0.0], [0.05, 0.0, 0.0], [0.15, 0.0, 0.0], [0.15, 0.0, 0.0], [0.2, 0.0, 0.0], [0.5, 0.0, 0.0], [0.5, 0.0, 0.0], [0.8, 0.0, 0.0], [0.8, 0.0, 0.0]] #list of nbins + probcutoptimal: [[0.02, 0.0, 0.00], [0.03, 0.0, 0.00], [0.04, 0.0, 0.00], [0.07, 0.0, 0.00], [0.09, 0.0, 0.00], [0.11, 0.0, 0.00], [0.15, 0.0, 0.00], [0.18, 0.0, 0.00], [0.25, 0.0, 0.00], [0.35, 0.0, 0.00], [0.35, 0.0, 0.00]] #list of nbins + analysis: + anahptspectrum: "LctopKpi" #D0Kpi, DplusKpipi, DstarD0pi, DsKKpi, LctopKpi, LcK0Sp + fd_method: "dd" # fc, Nb, dd, dd_N + crosssec_prompt: True # True for prompt, False for non-prompt + cctype: "pp" + sigmamb: 59.4e+9 # 50.87e+9 pp5TeV, 57.8e+9 pp13TeV, 59.4e+9 pp Run3, pb + inputfonllpred: data/fonll/DmesonLcPredictions_13TeV_y05_FFptDepLHCb_BRpythia8_PDG2020.root + dir_general_plots: analysis_plots + + Run3analysis: + proc_type: Dhadrons + useperiod: [1] + plotbin: [1] + usesinglebineff: 0 + sel_binmin2: [1,2,3,4,5,6,7,8,10,12] #list of nbins + sel_binmax2: [2,3,4,5,6,7,8,10,12,24] #list of nbins + var_binning2: null + triggerbit: '' + use_cuts: False + cuts: + - "fDecayLength > 0.02" + - "fDecayLength > 0.02" + - "fDecayLength > 0.02" + - "fDecayLength > 0.02" + - "fDecayLength > 0.02" + - "fDecayLength > 0.02" + - "fDecayLength > 0.02" + - "fDecayLength > 0.02" + - "fDecayLength > 0.02" + - "fDecayLength > 0.02" + - "fDecayLength > 0.02" + + + sel_an_binmin: [1,2,3,4,5,6,7,8,10,12,16] + sel_an_binmax: [2,3,4,5,6,7,8,10,12,16,24] + binning_matching: [0,1,2,3,4,5,6,7,8,9,10,10] + presel_gen_eff: "abs(fY) < 0.5" + evtsel: null + triggersel: + data: null + mc: null + + data: + runselection: [null] #FIXME + prefix_dir_res: /data8/majak/MLHEP/results-data-13012025/ + results: [LHC23pp_pass4/Results/prod_LHC23_pass4_thin/resultsdata] #list of periods + resultsallp: LHC23pp_pass4/Results/resultsdatatot + mc: + runselection: [null] #FIXME + prefix_dir_res: /data8/majak/MLHEP/results-mc-13012025/ + results: [LHC24pp_mc/Results/prod_LHC24g5/resultsmc] #list of periods + resultsallp: LHC24pp_mc/Results/resultsmctot + + nevents: 290860860000 + dobkgfromsideband: false + latexnamehadron: "#Lambda_{c}^{pK#pi}" + mass_fit_lim: [2.10, 2.47] # region for the fit of the invariant mass distribution [GeV/c^2] + bin_width: 0.001 # bin width of the invariant mass histogram + n_rebin: [4,2,2,2,2,3,3,3,4,5,6,6] # number of mass bins to merge + fixed_sigma: [False,False, False, False, False, False, False, False, False, False, False, False] + fixed_sigma_val: [0.0080, 0.0088, 0.0092, 0.0090, 0.0117, 0.0138, 0.0148, 0.0160, 0.0174, 0.0207, 0.0259, 0.0260] + + pdf_names: + pdf_sig: "sig" + pdf_bkg: "bkg" + param_names: + mass: "m" + gauss_mean: "mean" + gauss_sigma: "sigma_g1" + double_gauss_sigma: "sigma_wide" + fraction_refl: "frac_refl" + + # To initialize the individual fits in pT bins + # Decide whether to take the sigma from MC or data for individual fits + mass_roofit: + - level: mc + ptrange: [0., 4.] + range: [2.18, 2.39] + components: + sig: + fn: 'Gaussian::sig(m[1., 10], mean[2.286, 2.2832,2.289], sigma_g1[.007,.007,.012])' + bkg: + fn: 'Exponential::mcbkg(m, mcalpha[0.])' + model: + fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' + - level: mc + ptrange: [4., 6.] + range: [2.18, 2.39] + components: + sig: + fn: 'Gaussian::sig(m[1., 10], mean[2.286, 2.283,2.289], sigma_g1[.012,.01,.016])' + #wide: + # fn: 'Gaussian::wide(m, mean, expr("n*sigma_g1", n[1.,5.], sigma_g1))' + #model: + # fn: 'SUM::sig(f_peak[0.,1.]*peak, wide)' + bkg: + fn: 'Exponential::mcbkg(m, mcalpha[0.])' + model: + fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' + - level: mc + ptrange: [6., 10.] + range: [2.10, 2.45] + components: + sig: + fn: 'Gaussian::sig(m[1., 10], mean[2.2865, 2.283,2.289], sigma_g1[.013,.013,.020])' + #wide: + #fn: 'Gaussian::wide(m, mean, expr("n*sigma_g1", n[1.,5.], sigma_g1))' + #model: + #fn: 'SUM::sig(f_peak[0.,1.]*peak, wide)' + bkg: + fn: 'Exponential::mcbkg(m, mcalpha[0.])' + model: + fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' + - level: mc + ptrange: [10., 24.] + range: [2.10, 2.45] + components: + sig: + fn: 'Gaussian::sig(m[1., 10], mean[2.2865, 2.283,2.289], sigma_g1[.013,.020,.029])' + #wide: + # fn: 'Gaussian::wide(m, mean, expr("n*sigma_g1", n[1.,5.], sigma_g1))' + #model: + # fn: 'SUM::sig(f_peak[0.,1.]*peak, wide)' + bkg: + fn: 'Exponential::mcbkg(m, mcalpha[0.])' + model: + fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' + - ptrange: [0., 1.] + range: [2.216, 2.36] #2.21, 2.36 + #fix_params: ['n', 'f_peak'] + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.005,.015])' + bkg: + fn: 'Polynomial::bkg(m, {a0[-1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' + model: + fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' + - ptrange: [1., 2.] + range: [2.216, 2.36] #2.21, 2.36 + #fix_params: ['n', 'f_peak'] + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.005,.015])' + bkg: + fn: 'Polynomial::bkg(m, {a0[-1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' + model: + fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' + - ptrange: [2., 3.] + range: [2.21, 2.36] + #fix_params: ['n', 'f_peak'] + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.005,.015])' + bkg: + fn: 'Polynomial::bkg(m, {a0[-1e8, 1e8], a1[-1e8, 1e8], a2[-1e8, 1e8]})' + model: + fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' + - ptrange: [3., 4.] + range: [2.20, 2.37] + #fix_params: ['n', 'f_peak'] + components: + #sig: + #fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.005,.015])' + bkg: + fn: 'Polynomial::bkg(m, {a0[-1e8, 1e8], a1[-1e8, 1e8], a2[-1e8, 1e8]})' + model: + fn: 'SUM::sum(f_sig[0., 0., 0.8]*sig, bkg)' + - ptrange: [4., 5.] + range: [2.19, 2.38] + #fix_params: ['n', 'f_peak'] + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.005,.015])' + bkg: + fn: 'Polynomial::bkg(m, {a0[2000, -1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' + model: + fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' + - ptrange: [5., 6.] + range: [2.18, 2.40] + #fix_params: ['n', 'f_peak'] + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.005,.015])' + bkg: + fn: 'Polynomial::bkg(m, {a0[0, -1e10, 1e10], a1[0, -1e10, 1e10], a2[0, -1e10, 1e10]})' + model: + fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' + - ptrange: [6., 7.] + range: [2.16, 2.42] + #fix_params: ['n', 'f_peak'] + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' + bkg: + fn: 'Polynomial::bkg(m, {a0[2000, -1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' + model: + fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' + - ptrange: [7., 8.] + range: [2.16, 2.42] + #fix_params: ['n', 'f_peak'] + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' + bkg: + fn: 'Polynomial::bkg(m, {a0[2000, -1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' + model: + fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' + - ptrange: [8., 10.] + range: [2.1, 2.46] + #fix_params: ['n', 'f_peak'] + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' + bkg: + fn: 'Polynomial::bkg(m, {a0[1000, -1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' + model: + fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' + - ptrange: [10., 12.] + range: [2.1, 2.46] + #fix_params: ['n', 'f_peak'] + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' + bkg: + fn: 'Polynomial::bkg(m, {a0[10000, -1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' + model: + fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' + - ptrange: [12., 16.] + range: [2.1, 2.46] + #fix_params: ['n', 'f_peak'] + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' + bkg: + fn: 'Polynomial::bkg(m, {a0[1000, -1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' + model: + fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' + - range: [2.1, 2.46] + #fix_params: ['n', 'f_peak'] + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' + bkg: + fn: 'Polynomial::bkg(m, {a0[1000, -1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' + model: + fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' + + systematics: + probvariation: + useperiod: [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1] #period from where to define prob cuts + ncutvar: 10 #number of looser and tighter variations + maxperccutvar: 0.25 #max diff in efficiency for loosest/tightest var + cutvarminrange: [[0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.7, 0.9], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3]] #Min starting point for scan + cutvarmaxrange: [[0.7, 0.9], [0.7, 0.9], [0.7, 0.9], [0.7, 0.9], [0.7, 0.9], [0.7, 0.9], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3]] #Max starting point for scan + fixedmean: True #Fix mean cutvar histo to central fit + fixedsigma: True #Fix sigma cutvar histo to central fit From 5df326b81102bcf66e17405d66583f70cb0381b2 Mon Sep 17 00:00:00 2001 From: saganatt <8majak8@gmail.com> Date: Mon, 22 Sep 2025 11:21:29 +0200 Subject: [PATCH 2/9] First part of adjusting databases --- ..._ml_parameters_LcToPKPi_multiclass_ana.yml | 216 ++++++++++++------ ..._ml_parameters_LcToPKPi_multiclass_fdd.yml | 34 ++- ...e_ml_parameters_LcToPKPi_multiclass_ml.yml | 213 ++++++++--------- 3 files changed, 269 insertions(+), 194 deletions(-) diff --git a/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_ana.yml b/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_ana.yml index 0b6c17eea0..d6f3f5cad7 100644 --- a/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_ana.yml +++ b/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_ana.yml @@ -327,8 +327,8 @@ LcpKpi: seedmerge: [12] #list of periods period: [LHC23_pass4_thin] #list of periods select_period: [1] - prefix_dir: /data8/majak/MLHEP-data/24012025/ - unmerged_tree_dir: [LHC23_pass4_thin_hy_applied_331623/alice/cern.ch/user/a/alihyperloop/jobs/0123] #list of periods + prefix_dir: /data2/MLhep/ + unmerged_tree_dir: [real/train_331623/alice/cern.ch/user/a/alihyperloop/jobs/0123] #list of periods pkl: [LHC23pp_pass4/prod_LHC23_pass4_thin/pkldata] #list of periods pkl_skimmed: [LHC23pp_pass4/prod_LHC23_pass4_thin/pklskdata] #list of periods pkl_skimmed_merge_for_ml: [LHC23pp_pass4/prod_LHC23_pass4_thin/pklskmldata] #list of periods @@ -344,8 +344,8 @@ LcpKpi: seedmerge: [12] #list of periods period: [LHC24h1] #list of periods select_period: [1] - prefix_dir: /data8/majak/MLHEP-data/23012025/ - unmerged_tree_dir: [LHC24h1_hy_applied_327181/alice/cern.ch/user/a/alihyperloop/jobs/0119] #list of periods + prefix_dir: /data2/MLhep/ + unmerged_tree_dir: [sim/train_327181/alice/cern.ch/user/a/alihyperloop/jobs/0119] #list of periods pkl: [LHC24pp_mc/prod_LHC24h1/pklmc] #list of periods pkl_skimmed: [LHC24pp_mc/prod_LHC24h1/pklskmc] #list of periods pkl_skimmed_merge_for_ml: [LHC24pp_mc/prod_LHC24h1/pklskmlmc] #list of periods @@ -377,7 +377,7 @@ LcpKpi: binmax: [2,3,4,5,6,7,8,10,12,24] # must be equal to sel_skim_binmax (sel_skim_binmin bins) mltype: MultiClassification ncorescrossval: 10 - prefix_dir_ml: /data8/majak/MLHEP/results-data-20012025/ + prefix_dir_ml: /data2/MLhep/ mlplot: mlplot # to be removed mlout: mlout # to be removed @@ -401,11 +401,11 @@ LcpKpi: mlapplication: data: - prefix_dir_app: /data8/majak/MLHEP/results-data-24012025/ + prefix_dir_app: /data2/MLhep/ pkl_skimmed_dec: [LHC23pp_pass4/MLapplication/prod_LHC23_pass4_thin/skpkldecdata] #list of periods pkl_skimmed_decmerged: [LHC23pp_pass4/MLapplication/prod_LHC23_pass4_thin/skpkldecdatamerged] #list of periods mc: - prefix_dir_app: /data8/majak/MLHEP/results-mc-23012025/ + prefix_dir_app: /data2/MLhep/ pkl_skimmed_dec: [LHC24pp_mc/MLapplication/prod_LHC24h1/skpkldecmc] #list of periods pkl_skimmed_decmerged: [LHC24pp_mc/MLapplication/prod_LHC24h1/skpkldecmcmerged] #list of periods modelname: xgboost @@ -463,20 +463,24 @@ LcpKpi: data: runselection: [null] #FIXME - prefix_dir_res: /data8/majak/MLHEP/results-data-24012025-zero-cuts/ + prefix_dir_res: /data2/MLhep/ results: [LHC23pp_pass4/Results/prod_LHC23_pass4_thin/resultsdata] #list of periods resultsallp: LHC23pp_pass4/Results/resultsdatatot mc: runselection: [null] #FIXME - prefix_dir_res: /data8/majak/MLHEP/results-mc-23012025-zero-cuts/ + prefix_dir_res: /data2/MLhep/ results: [LHC24pp_mc/Results/prod_LHC24h1/resultsmc] #list of periods resultsallp: LHC24pp_mc/Results/resultsmctot + nevents: 290860860000 dobkgfromsideband: false + fitcase: Lc latexnamehadron: "#Lambda_{c}^{pK#pi}" - mass_fit_lim: [2.05, 2.50] # region for the fit of the invariant mass distribution [GeV/c^2] + mass_fit_lim: [2.10, 2.47] # region for the fit of the invariant mass distribution [GeV/c^2] bin_width: 0.001 # bin width of the invariant mass histogram - n_rebin: [3,3,3,4,5,6,7,7,8,8] # number of mass bins to merge + n_rebin: [2,2,2,2,2,3,3,4,5,6,6] # number of mass bins to merge + fixed_sigma: [False, False, False, False, False, False, False, False, False, False, False] + fixed_sigma_val: [0.0082, 0.0092, 0.0104, 0.0116, 0.0134, 0.0145, 0.0162, 0.0182, 0.0204, 0.0230, 0.0263] pdf_names: pdf_sig: "sig" @@ -486,121 +490,185 @@ LcpKpi: gauss_mean: "mean" gauss_sigma: "sigma_g1" double_gauss_sigma: "sigma_wide" + alpha_l: "alpha1" + alpha_r: "alpha2" + n_l: "n1" + n_r: "n2" fraction_refl: "frac_refl" # To initialize the individual fits in pT bins # Decide whether to take the sigma from MC or data for individual fits mass_roofit: - level: mc + ptrange: [0., 2.] + range: [2.18, 2.39] + components: + sig: + fn: 'RooCrystalBall::sig(m[1., 10], mean[2.288, 2.283, 2.289], sigma_g1[0.0085, 0.0085], alpha1[1.3506, 1.3506], n1[40.0972, 40.0972], alpha1[1.3506, 1.3506], n1[40.0972, 40.0972])' + bkg: + fn: 'Exponential::mcbkg(m, mcalpha[0.])' + model: + fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' + - level: mc + ptrange: [2., 3.] + range: [2.18, 2.40] + components: + sig: + fn: 'RooCrystalBall::sig(m[1., 10], mean[2.288, 2.283, 2.289], sigma_g1[0.0088, 0.0088], alpha1[1.64, 1.64], n1[30., 30.], alpha1[1.64, 1.64], n1[30., 30.])' + bkg: + fn: 'Exponential::mcbkg(m, mcalpha[0.])' + model: + fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' + - level: mc + ptrange: [3., 4.] + range: [2.18, 2.39] + components: + sig: + fn: 'RooCrystalBall::sig(m[1., 10], mean[2.286, 2.283, 2.289], sigma_g1[0.0102, 0.0102], alpha1[1.53, 1.53], n1[67.37, 67.37], alpha1[1.53, 1.53], n1[67.37, 67.37])' + bkg: + fn: 'Exponential::mcbkg(m, mcalpha[0.])' + model: + fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' + - level: mc + ptrange: [4., 5.] + range: [2.18, 2.39] + components: + sig: + fn: 'RooCrystalBall::sig(m[1., 10], mean[2.286, 2.283, 2.289], sigma_g1[0.0112, 0.0112], alpha1[1.21, 1.21], n1[94.58, 94.58], alpha1[1.21, 1.21], n1[94.58, 94.58])' + bkg: + fn: 'Exponential::mcbkg(m, mcalpha[0.])' + model: + fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' + - level: mc + ptrange: [5., 6.] + range: [2.18, 2.39] + components: + sig: + fn: 'RooCrystalBall::sig(m[1., 10], mean[2.286, 2.283, 2.289], sigma_g1[0.0127, 0.0127], alpha1[1.147, 1.147], n1[77.2867, 77.2867], alpha1[1.147, 1.147], n1[77.2867, 77.2867])' + bkg: + fn: 'Exponential::mcbkg(m, mcalpha[0.])' + model: + fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' + - level: mc + ptrange: [6., 7.] + range: [2.18, 2.39] + components: + sig: + fn: 'RooCrystalBall::sig(m[1., 10], mean[2.286, 2.283, 2.289], sigma_g1[0.0131, 0.0131], alpha1[1.026, 1.026], n1[90.26, 90.26], alpha1[1.026, 1.026], n1[90.26, 90.26])' + bkg: + fn: 'Exponential::mcbkg(m, mcalpha[0.])' + model: + fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' + - level: mc + ptrange: [7., 8.] + range: [2.10, 2.45] + components: + sig: + fn: 'RooCrystalBall::sig(m[1., 10], mean[2.286, 2.283, 2.289], sigma_g1[0.0151, 0.0151], alpha1[1.249, 1.249], n1[99.955, 99.955], alpha1[1.249, 1.249], n1[99.955, 99.955])' + bkg: + fn: 'Exponential::mcbkg(m, mcalpha[0.])' + model: + fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' + - level: mc + ptrange: [8., 10.] + range: [2.10, 2.45] + components: + sig: + fn: 'RooCrystalBall::sig(m[1., 10], mean[2.286, 2.283, 2.289], sigma_g1[0.0174, 0.0174], alpha1[1.315, 1.315], n1[4., 4.], alpha1[1.315, 1.315], n1[4., 4.])' + bkg: + fn: 'Exponential::mcbkg(m, mcalpha[0.])' + model: + fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' + - level: mc + ptrange: [10., 12.] + range: [2.10, 2.45] + components: + sig: + fn: 'RooCrystalBall::sig(m[1., 10], mean[2.286, 2.283, 2.289], sigma_g1[0.0187, 0.0187], alpha1[1.013, 1.013], n1[5.0, 5.0], alpha1[1.013, 1.013], n1[5.0, 5.0])' + bkg: + fn: 'Exponential::mcbkg(m, mcalpha[0.])' + model: + fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' + - level: mc + ptrange: [12., 16.] range: [2.10, 2.45] components: sig: - fn: 'Gaussian::sig(m[1., 5.], mean[2.27,2.29], sigma_g1[.01,.005,.03])' - #wide: - #fn: 'Gaussian::wide(m, mean, expr("n*sigma_g1", n[1.,5.], sigma_g1))' - #model: - #fn: 'SUM::sig(f_peak[0.,1.]*peak, wide)' + fn: 'RooCrystalBall::sig(m[1., 10], mean[2.286, 2.283, 2.289], sigma_g1[0.0205, 0.0205], alpha1[0.8, 0.8], n1[19.30, 19.30], alpha1[0.8, 0.8], n1[19.30, 19.30])' bkg: fn: 'Exponential::mcbkg(m, mcalpha[0.])' model: - fn: 'SUM::mctot(mcfrac[0.,1.]*sig, mcbkg)' - - ptrange: [1., 2.] - range: [2.20, 2.38] - #fix_params: ['n', 'f_peak'] + fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' + - level: mc + ptrange: [16., 24.] + range: [2.10, 2.45] components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.005,.015])' + sig: + fn: 'RooCrystalBall::sig(m[1., 10], mean[2.286, 2.283, 2.289], sigma_g1[0.0205, 0.0205], alpha1[0.8, 0.8], n1[19.30, 19.30], alpha1[0.8, 0.8], n1[19.30, 19.30])' bkg: - fn: 'Polynomial::bkg(m, {a0[0.2, -5, 5], a1[-0.1, -3, 0.], a2[0.1, -3, 3]})' + fn: 'Exponential::mcbkg(m, mcalpha[0.])' + model: + fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' + - ptrange: [0., 2.] + range: [2.21, 2.36] #2.216, 2.36 + components: + bkg: + fn: 'Polynomial::bkg(m, {a0[-1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' model: fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' - ptrange: [2., 3.] - range: [2.20, 2.38] - #fix_params: ['n', 'f_peak'] + range: [2.20, 2.368] components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.005,.015])' bkg: - fn: 'Polynomial::bkg(m, {a0[0.2, -5, 5], a1[-0.1, -3, 3], a2[0.1, -3, 3]})' + fn: 'Polynomial::bkg(m, {a0[-1e8, 1e8], a1[-1e8, 1e8], a2[-1e8, 1e8]})' model: fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' - ptrange: [3., 4.] - range: [2.20, 2.38] - #fix_params: ['n', 'f_peak'] + range: [2.19, 2.38] components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.005,.015])' bkg: - fn: 'Polynomial::bkg(m, {a0[0.2, -5, 5], a1[-0.1, -3, 3], a2[0.1, -3, 3]})' + fn: 'Polynomial::bkg(m, {a0[-1e8, 1e8], a1[-1e8, 1e8], a2[-1e8, 1e8]})' model: - fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' + fn: 'SUM::sum(f_sig[0., 0., 0.8]*sig, bkg)' - ptrange: [4., 5.] - range: [2.12, 2.4] - #fix_params: ['n', 'f_peak'] + range: [2.19, 2.38] components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.005,.015])' bkg: - fn: 'Polynomial::bkg(m, {a0[0.2, -5., 5.], a1[-0.6, -2., -0.001], a2[-0.8, -3., -0.001]})' + fn: 'Polynomial::bkg(m, {a0[2000, -1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' model: fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' - ptrange: [5., 6.] - range: [2.12, 2.4] - #fix_params: ['n', 'f_peak'] + range: [2.18, 2.39] components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.005,.015])' bkg: - fn: 'Polynomial::bkg(m, {a0[0.2, -5., 5.], a1[-0.6, -2., -0.001], a2[-0.8, -3., -0.001]})' + fn: 'Polynomial::bkg(m, {a0[5000, -1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' model: fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' - ptrange: [6., 7.] - range: [2.12, 2.48] - #fix_params: ['n', 'f_peak'] + range: [2.16, 2.40] components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' bkg: - fn: 'Polynomial::bkg(m, {a0[0.2, -5, 5], a1[0.2 , -3, 0.], a2[0.2, -3, 3]})' + fn: 'Polynomial::bkg(m, {a0[2000, -1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' model: fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' - ptrange: [7., 8.] - range: [2.12, 2.48] - #fix_params: ['n', 'f_peak'] + range: [2.16, 2.40] components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' bkg: - fn: 'Polynomial::bkg(m, {a0[0.2, -5, 5], a1[0.2 , -3, 0.], a2[0.2, -3, 3]})' + fn: 'Polynomial::bkg(m, {a0[1000, -1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' model: fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' - ptrange: [8., 10.] - range: [2.07, 2.48] - #fix_params: ['n', 'f_peak'] - components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' - bkg: - fn: 'Polynomial::bkg(m, {a0[0.2, -5, 5], a1[0.2 , -3, 3], a2[0.2, -3, 3]})' - model: - fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' - - ptrange: [10., 12.] - range: [2.07, 2.48] - #fix_params: ['n', 'f_peak'] + range: [2.1, 2.46] components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' bkg: - fn: 'Polynomial::bkg(m, {a0[0.2, -5, 5], a1[0.2 , -3, 3], a2[0.2, -3, 3]})' + fn: 'Polynomial::bkg(m, {a0[1000, -1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' model: fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' - - range: [2.05, 2.49] - #fix_params: ['n', 'f_peak'] + - range: [2.1, 2.46] components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' bkg: - fn: 'Polynomial::bkg(m, {a0[0.2, -5, 5], a1[0.2 , -3, 3], a2[0.2, -3, 3]})' + fn: 'Polynomial::bkg(m, {a0[2000, -1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' model: fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' diff --git a/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_fdd.yml b/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_fdd.yml index ebe0682f1f..a1b8d1ef37 100644 --- a/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_fdd.yml +++ b/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_fdd.yml @@ -334,8 +334,8 @@ LcpKpi: seedmerge: [12] #list of periods period: [LHC23_pass4_thin] #list of periods select_period: [1] - prefix_dir: /data8/majak/MLHEP-data/24022025/ - unmerged_tree_dir: [LHC23_pass4_thin_hy_applied_342351/alice/cern.ch/user/a/alihyperloop/jobs/0133] #list of periods + prefix_dir: /data2/MLhep/ + unmerged_tree_dir: [real/train_342351/alice/cern.ch/user/a/alihyperloop/jobs/0133] #list of periods pkl: [LHC23pp_pass4/prod_LHC23_pass4_thin/pkldata] #list of periods pkl_skimmed: [LHC23pp_pass4/prod_LHC23_pass4_thin/pklskdata] #list of periods pkl_skimmed_merge_for_ml: [LHC23pp_pass4/prod_LHC23_pass4_thin/pklskmldata] #list of periods @@ -351,8 +351,8 @@ LcpKpi: seedmerge: [12] #list of periods period: [LHC24h1] #list of periods select_period: [1] - prefix_dir: /data8/majak/MLHEP-data/24022025/ - unmerged_tree_dir: [LHC24h1_341075/alice/cern.ch/user/a/alihyperloop/jobs/0132] #list of periods + prefix_dir: /data2/MLhep/ + unmerged_tree_dir: [sim/train_341075/alice/cern.ch/user/a/alihyperloop/jobs/0132] #list of periods pkl: [LHC24pp_mc/prod_LHC24h1/pklmc] #list of periods pkl_skimmed: [LHC24pp_mc/prod_LHC24h1/pklskmc] #list of periods pkl_skimmed_merge_for_ml: [LHC24pp_mc/prod_LHC24h1/pklskmlmc] #list of periods @@ -384,7 +384,7 @@ LcpKpi: binmax: [2,3,4,5,6,7,8,10,12,24] # must be equal to sel_skim_binmax (sel_skim_binmin bins) mltype: MultiClassification ncorescrossval: 10 - prefix_dir_ml: /data8/majak/MLHEP/results-data-20012025/ + prefix_dir_ml: /data2/MLhep/ mlplot: mlplot # to be removed mlout: mlout # to be removed @@ -509,16 +509,15 @@ LcpKpi: mlapplication: data: - prefix_dir_app: /data8/majak/MLHEP/results-data-24022025/ + prefix_dir_app: /data2/MLhep/ pkl_skimmed_dec: [LHC23pp_pass4/MLapplication/prod_LHC23_pass4_thin/skpkldecdata] #list of periods pkl_skimmed_decmerged: [LHC23pp_pass4/MLapplication/prod_LHC23_pass4_thin/skpkldecdatamerged] #list of periods mc: - prefix_dir_app: /data8/majak/MLHEP/results-mc-24022025-ptshape/ + prefix_dir_app: /data2/MLhep/ pkl_skimmed_dec: [LHC24pp_mc/MLapplication/prod_LHC24h1/skpkldecmc] #list of periods pkl_skimmed_decmerged: [LHC24pp_mc/MLapplication/prod_LHC24h1/skpkldecmcmerged] #list of periods modelname: xgboost - modelsperptbin: [xgboost_classifierLcpKpi_dfselection_fPt_0.0_1.0.sav, - xgboost_classifierLcpKpi_dfselection_fPt_1.0_2.0.sav, + modelsperptbin: [xgboost_classifierLcpKpi_dfselection_fPt_1.0_2.0.sav, xgboost_classifierLcpKpi_dfselection_fPt_2.0_3.0.sav, xgboost_classifierLcpKpi_dfselection_fPt_3.0_4.0.sav, xgboost_classifierLcpKpi_dfselection_fPt_4.0_5.0.sav, @@ -531,19 +530,18 @@ LcpKpi: probcutpresel: data: [[0.02, 0.0, 0.0], [0.03, 0.0, 0.0], [0.05, 0.0, 0.0], [0.15, 0.0, 0.0], [0.15, 0.0, 0.0], [0.2, 0.0, 0.0], [0.5, 0.0, 0.0], [0.5, 0.0, 0.0], [0.8, 0.0, 0.0], [0.8, 0.0, 0.0]] #list of nbins mc: [[0.02, 0.0, 0.0], [0.03, 0.0, 0.0], [0.05, 0.0, 0.0], [0.15, 0.0, 0.0], [0.15, 0.0, 0.0], [0.2, 0.0, 0.0], [0.5, 0.0, 0.0], [0.5, 0.0, 0.0], [0.8, 0.0, 0.0], [0.8, 0.0, 0.0]] #list of nbins - probcutoptimal: [[0.02, 0.40, 0.00], [0.03, 0.25, 0.00], [0.04, 0.25, 0.00], [0.07, 0.25, 0.00], [0.10, 0.25, 0.00], [0.11, 0.25, 0.00], [0.15, 0.25, 0.00], [0.18, 0.25, 0.00], [0.25, 0.25, 0.00], [0.35, 0.25, 0.00], [0.35, 0.25, 0.00]] #list of nbins - #probcutoptimal: [[0.02, 0.00, 0.55], [0.03, 0.00, 0.55], [0.04, 0.00, 0.50], [0.07, 0.00, 0.35], [0.10, 0.00, 0.35], [0.11, 0.00, 0.35], [0.15, 0.00, 0.35], [0.18, 0.00, 0.35], [0.25, 0.00, 0.35], [0.35, 0.00, 0.35], [0.35, 0.00, 0.35]] #list of nbins - #probcutoptimal: [[0.01, 0.00, %fd%], [0.02, 0.00, %fd%], [0.03, 0.00, %fd%], [0.04, 0.00, %fd%], [0.07, 0.00, %fd%], [0.10, 0.00, %fd%], [0.11, 0.00, %fd%], [0.15, 0.00, %fd%], [0.18, 0.00, %fd%], [0.25, 0.00, %fd%], [0.35, 0.00, %fd%], [0.35, 0.00, %fd%]] #list of nbins + probcutoptimal: [[0.02, 0.40, 0.00], [0.03, 0.25, 0.00], [0.04, 0.25, 0.00], [0.07, 0.25, 0.00], [0.10, 0.25, 0.00], [0.11, 0.25, 0.00], [0.15, 0.25, 0.00], [0.18, 0.25, 0.00], [0.25, 0.25, 0.00], [0.35, 0.25, 0.00]] # cuts for 2025 approved prompt cross section + #probcutoptimal: [[0.02, 0.00, 0.55], [0.03, 0.00, 0.55], [0.04, 0.00, 0.50], [0.07, 0.00, 0.35], [0.10, 0.00, 0.35], [0.11, 0.00, 0.35], [0.15, 0.00, 0.35], [0.18, 0.00, 0.35], [0.25, 0.00, 0.35], [0.35, 0.00, 0.35], [0.35, 0.00, 0.35]] # sample cuts for non-prompt cross-section + #probcutoptimal: [[0.01, 0.00, %fd%], [0.02, 0.00, %fd%], [0.03, 0.00, %fd%], [0.04, 0.00, %fd%], [0.07, 0.00, %fd%], [0.10, 0.00, %fd%], [0.11, 0.00, %fd%], [0.15, 0.00, %fd%], [0.18, 0.00, %fd%], [0.25, 0.00, %fd%], [0.35, 0.00, %fd%], [0.35, 0.00, %fd%]] # cuts with placeholders for scanning non-prompt cuts analysis: anahptspectrum: "LctopKpi" #D0Kpi, DplusKpipi, DstarD0pi, DsKKpi, LctopKpi, LcK0Sp fd_method: "dd" # fc, Nb, dd, dd_N crosssec_prompt: True # True for prompt, False for non-prompt cctype: "pp" sigmamb: 59.4e+9 # 50.87e+9 pp5TeV, 57.8e+9 pp13TeV, 59.4e+9 pp Run3, pb - inputfonllpred: /data8/majak/crosssec/202502/fractions/CutVarLc_pp13TeV_LHC23_pass4_wide.root - #inputfonllpred: /data8/majak/crosssec/202502/fractions/CutVarLc_pp13TeV_LHC23_pass4_default.root - #inputfonllpred: data/fonll/fonll_pythia_beautyFFLHCb_charmhadrons_13dot6tev_y0dot5_highStatistics.root - #inputfonllpred: data/fonll/DmesonLcPredictions_13TeV_y05_FFptDepLHCb_BRpythia8_PDG2020.root + inputfonllpred: /data8/majak/crosssec/202502/fractions/CutVarLc_pp13TeV_LHC23_pass4_default.root # Cut variation output file for data-driven cross section estimation + #inputfonllpred: data/fonll/fonll_pythia_beautyFFLHCb_charmhadrons_13dot6tev_y0dot5_highStatistics.root # Run 3 file for cross section estimation with Nb -- strange results + #inputfonllpred: data/fonll/DmesonLcPredictions_13TeV_y05_FFptDepLHCb_BRpythia8_PDG2020.root # Run 2 file for cross section estimation with Nb dir_general_plots: analysis_plots Run3analysis: @@ -581,12 +579,12 @@ LcpKpi: data: runselection: [null] #FIXME - prefix_dir_res: /data8/majak/MLHEP/%resdir%/ + prefix_dir_res: /data2/MLhep/%resdir%/ results: [LHC23pp_pass4/Results/prod_LHC23_pass4_thin/resultsdata] #list of periods resultsallp: LHC23pp_pass4/Results/resultsdatatot mc: runselection: [null] #FIXME - prefix_dir_res: /data8/majak/MLHEP/%resdir%/ + prefix_dir_res: /data2/MLhep/%resdir%/ results: [LHC24pp_mc/Results/prod_LHC24h1/resultsmc] #list of periods resultsallp: LHC24pp_mc/Results/resultsmctot diff --git a/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_ml.yml b/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_ml.yml index 4d5f5a9d87..1b7876b765 100644 --- a/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_ml.yml +++ b/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_ml.yml @@ -327,8 +327,8 @@ LcpKpi: seedmerge: [12] #list of periods period: [LHC23_pass4_thin] #list of periods select_period: [1] - prefix_dir: /data8/majak/MLHEP-data/13012025/ - unmerged_tree_dir: [LHC23_pass4_thin_small_324271/alice/cern.ch/user/a/alihyperloop/jobs/0115] #list of periods + prefix_dir: /data2/MLhep/ + unmerged_tree_dir: [real/train_324271/alice/cern.ch/user/a/alihyperloop/jobs/0115] #list of periods pkl: [LHC23pp_pass4/prod_LHC23_pass4_thin/pkldata] #list of periods pkl_skimmed: [LHC23pp_pass4/prod_LHC23_pass4_thin/pklskdata] #list of periods pkl_skimmed_merge_for_ml: [LHC23pp_pass4/prod_LHC23_pass4_thin/pklskmldata] #list of periods @@ -344,8 +344,8 @@ LcpKpi: seedmerge: [12] #list of periods period: [LHC24g5] #list of periods select_period: [1] - prefix_dir: /data8/majak/MLHEP-data/13012025/ - unmerged_tree_dir: [LHC24g5_324269/alice/cern.ch/user/a/alihyperloop/jobs/0115] #list of periods + prefix_dir: /data2/MLhep/ + unmerged_tree_dir: [sim/train_324269/alice/cern.ch/user/a/alihyperloop/jobs/0115] #list of periods pkl: [LHC24pp_mc/prod_LHC24g5/pklmc] #list of periods pkl_skimmed: [LHC24pp_mc/prod_LHC24g5/pklskmc] #list of periods pkl_skimmed_merge_for_ml: [LHC24pp_mc/prod_LHC24g5/pklskmlmc] #list of periods @@ -377,7 +377,7 @@ LcpKpi: binmax: [2,3,4,5,6,7,8,10,12,24] # must be equal to sel_skim_binmax (sel_skim_binmin bins) mltype: MultiClassification ncorescrossval: 10 - prefix_dir_ml: /data8/majak/MLHEP/results-data-20012025/ + prefix_dir_ml: /data2/MLhep/ mlplot: mlplot # to be removed mlout: mlout # to be removed @@ -502,11 +502,11 @@ LcpKpi: mlapplication: data: - prefix_dir_app: /data8/majak/MLHEP/results-data-13012025/ + prefix_dir_app: /data2/MLhep/ pkl_skimmed_dec: [LHC23pp_pass4/MLapplication/prod_LHC23_pass4_thin/skpkldecdata] #list of periods pkl_skimmed_decmerged: [LHC23pp_pass4/MLapplication/prod_LHC23_pass4_thin/skpkldecdatamerged] #list of periods mc: - prefix_dir_app: /data8/majak/MLHEP/results-mc-13012025/ + prefix_dir_app: /data2/MLhep/ pkl_skimmed_dec: [LHC24pp_mc/MLapplication/prod_LHC24g5/skpkldecmc] #list of periods pkl_skimmed_decmerged: [LHC24pp_mc/MLapplication/prod_LHC24g5/skpkldecmcmerged] #list of periods modelname: xgboost @@ -519,19 +519,22 @@ LcpKpi: xgboost_classifierLcpKpi_dfselection_fPt_7.0_8.0.sav, xgboost_classifierLcpKpi_dfselection_fPt_8.0_10.0.sav, xgboost_classifierLcpKpi_dfselection_fPt_10.0_12.0.sav, - xgboost_classifierLcpKpi_dfselection_fPt_12.0_24.0.sav, xgboost_classifierLcpKpi_dfselection_fPt_12.0_24.0.sav] probcutpresel: data: [[0.02, 0.0, 0.0], [0.03, 0.0, 0.0], [0.05, 0.0, 0.0], [0.15, 0.0, 0.0], [0.15, 0.0, 0.0], [0.2, 0.0, 0.0], [0.5, 0.0, 0.0], [0.5, 0.0, 0.0], [0.8, 0.0, 0.0], [0.8, 0.0, 0.0]] #list of nbins mc: [[0.02, 0.0, 0.0], [0.03, 0.0, 0.0], [0.05, 0.0, 0.0], [0.15, 0.0, 0.0], [0.15, 0.0, 0.0], [0.2, 0.0, 0.0], [0.5, 0.0, 0.0], [0.5, 0.0, 0.0], [0.8, 0.0, 0.0], [0.8, 0.0, 0.0]] #list of nbins - probcutoptimal: [[0.02, 0.0, 0.00], [0.03, 0.0, 0.00], [0.04, 0.0, 0.00], [0.07, 0.0, 0.00], [0.09, 0.0, 0.00], [0.11, 0.0, 0.00], [0.15, 0.0, 0.00], [0.18, 0.0, 0.00], [0.25, 0.0, 0.00], [0.35, 0.0, 0.00], [0.35, 0.0, 0.00]] #list of nbins + probcutoptimal: [[0.02, 0.40, 0.00], [0.03, 0.25, 0.00], [0.04, 0.25, 0.00], [0.07, 0.25, 0.00], [0.10, 0.25, 0.00], [0.11, 0.25, 0.00], [0.15, 0.25, 0.00], [0.18, 0.25, 0.00], [0.25, 0.25, 0.00], [0.35, 0.25, 0.00]] # cuts for 2025 approved prompt cross section + #probcutoptimal: [[0.02, 0.00, 0.55], [0.03, 0.00, 0.55], [0.04, 0.00, 0.50], [0.07, 0.00, 0.35], [0.10, 0.00, 0.35], [0.11, 0.00, 0.35], [0.15, 0.00, 0.35], [0.18, 0.00, 0.35], [0.25, 0.00, 0.35], [0.35, 0.00, 0.35], [0.35, 0.00, 0.35]] # sample cuts for non-prompt cross-section + #probcutoptimal: [[0.01, 0.00, %fd%], [0.02, 0.00, %fd%], [0.03, 0.00, %fd%], [0.04, 0.00, %fd%], [0.07, 0.00, %fd%], [0.10, 0.00, %fd%], [0.11, 0.00, %fd%], [0.15, 0.00, %fd%], [0.18, 0.00, %fd%], [0.25, 0.00, %fd%], [0.35, 0.00, %fd%], [0.35, 0.00, %fd%]] # cuts with placeholders for scanning non-prompt cuts analysis: anahptspectrum: "LctopKpi" #D0Kpi, DplusKpipi, DstarD0pi, DsKKpi, LctopKpi, LcK0Sp fd_method: "dd" # fc, Nb, dd, dd_N crosssec_prompt: True # True for prompt, False for non-prompt cctype: "pp" sigmamb: 59.4e+9 # 50.87e+9 pp5TeV, 57.8e+9 pp13TeV, 59.4e+9 pp Run3, pb - inputfonllpred: data/fonll/DmesonLcPredictions_13TeV_y05_FFptDepLHCb_BRpythia8_PDG2020.root + inputfonllpred: /data8/majak/crosssec/202502/fractions/CutVarLc_pp13TeV_LHC23_pass4_default.root # Cut variation output file for data-driven cross section estimation + #inputfonllpred: data/fonll/fonll_pythia_beautyFFLHCb_charmhadrons_13dot6tev_y0dot5_highStatistics.root # Run 3 file for cross section estimation with Nb -- strange results + #inputfonllpred: data/fonll/DmesonLcPredictions_13TeV_y05_FFptDepLHCb_BRpythia8_PDG2020.root # Run 2 file for cross section estimation with Nb dir_general_plots: analysis_plots Run3analysis: @@ -539,8 +542,8 @@ LcpKpi: useperiod: [1] plotbin: [1] usesinglebineff: 0 - sel_binmin2: [1,2,3,4,5,6,7,8,10,12] #list of nbins - sel_binmax2: [2,3,4,5,6,7,8,10,12,24] #list of nbins + sel_binmin2: [0,1,2,3,4,5,6,7,8,10,12,16] #list of nbins + sel_binmax2: [1,2,3,4,5,6,7,8,10,12,16,24] #list of nbins var_binning2: null triggerbit: '' use_cuts: False @@ -560,7 +563,7 @@ LcpKpi: sel_an_binmin: [1,2,3,4,5,6,7,8,10,12,16] sel_an_binmax: [2,3,4,5,6,7,8,10,12,16,24] - binning_matching: [0,1,2,3,4,5,6,7,8,9,10,10] + binning_matching: [0,1,2,3,4,5,6,7,8,9,9] presel_gen_eff: "abs(fY) < 0.5" evtsel: null triggersel: @@ -569,23 +572,24 @@ LcpKpi: data: runselection: [null] #FIXME - prefix_dir_res: /data8/majak/MLHEP/results-data-13012025/ + prefix_dir_res: /data2/MLhep/ results: [LHC23pp_pass4/Results/prod_LHC23_pass4_thin/resultsdata] #list of periods resultsallp: LHC23pp_pass4/Results/resultsdatatot mc: runselection: [null] #FIXME - prefix_dir_res: /data8/majak/MLHEP/results-mc-13012025/ + prefix_dir_res: /data2/MLhep/ results: [LHC24pp_mc/Results/prod_LHC24g5/resultsmc] #list of periods resultsallp: LHC24pp_mc/Results/resultsmctot nevents: 290860860000 dobkgfromsideband: false + fitcase: Lc latexnamehadron: "#Lambda_{c}^{pK#pi}" mass_fit_lim: [2.10, 2.47] # region for the fit of the invariant mass distribution [GeV/c^2] bin_width: 0.001 # bin width of the invariant mass histogram - n_rebin: [4,2,2,2,2,3,3,3,4,5,6,6] # number of mass bins to merge - fixed_sigma: [False,False, False, False, False, False, False, False, False, False, False, False] - fixed_sigma_val: [0.0080, 0.0088, 0.0092, 0.0090, 0.0117, 0.0138, 0.0148, 0.0160, 0.0174, 0.0207, 0.0259, 0.0260] + n_rebin: [2,2,2,2,2,3,3,4,5,6,6] # number of mass bins to merge + fixed_sigma: [False, False, False, False, False, False, False, False, False, False, False] + fixed_sigma_val: [0.0082, 0.0092, 0.0104, 0.0116, 0.0134, 0.0145, 0.0162, 0.0182, 0.0204, 0.0230, 0.0263] pdf_names: pdf_sig: "sig" @@ -595,180 +599,185 @@ LcpKpi: gauss_mean: "mean" gauss_sigma: "sigma_g1" double_gauss_sigma: "sigma_wide" + alpha_l: "alpha1" + alpha_r: "alpha2" + n_l: "n1" + n_r: "n2" fraction_refl: "frac_refl" # To initialize the individual fits in pT bins # Decide whether to take the sigma from MC or data for individual fits mass_roofit: - level: mc - ptrange: [0., 4.] + ptrange: [0., 2.] range: [2.18, 2.39] components: sig: - fn: 'Gaussian::sig(m[1., 10], mean[2.286, 2.2832,2.289], sigma_g1[.007,.007,.012])' + fn: 'RooCrystalBall::sig(m[1., 10], mean[2.288, 2.283, 2.289], sigma_g1[0.0085, 0.0085], alpha1[1.3506, 1.3506], n1[40.0972, 40.0972], alpha1[1.3506, 1.3506], n1[40.0972, 40.0972])' bkg: fn: 'Exponential::mcbkg(m, mcalpha[0.])' model: fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' - level: mc - ptrange: [4., 6.] + ptrange: [2., 3.] + range: [2.18, 2.40] + components: + sig: + fn: 'RooCrystalBall::sig(m[1., 10], mean[2.288, 2.283, 2.289], sigma_g1[0.0088, 0.0088], alpha1[1.64, 1.64], n1[30., 30.], alpha1[1.64, 1.64], n1[30., 30.])' + bkg: + fn: 'Exponential::mcbkg(m, mcalpha[0.])' + model: + fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' + - level: mc + ptrange: [3., 4.] range: [2.18, 2.39] components: sig: - fn: 'Gaussian::sig(m[1., 10], mean[2.286, 2.283,2.289], sigma_g1[.012,.01,.016])' - #wide: - # fn: 'Gaussian::wide(m, mean, expr("n*sigma_g1", n[1.,5.], sigma_g1))' - #model: - # fn: 'SUM::sig(f_peak[0.,1.]*peak, wide)' + fn: 'RooCrystalBall::sig(m[1., 10], mean[2.286, 2.283, 2.289], sigma_g1[0.0102, 0.0102], alpha1[1.53, 1.53], n1[67.37, 67.37], alpha1[1.53, 1.53], n1[67.37, 67.37])' bkg: fn: 'Exponential::mcbkg(m, mcalpha[0.])' model: fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' - level: mc - ptrange: [6., 10.] + ptrange: [4., 5.] + range: [2.18, 2.39] + components: + sig: + fn: 'RooCrystalBall::sig(m[1., 10], mean[2.286, 2.283, 2.289], sigma_g1[0.0112, 0.0112], alpha1[1.21, 1.21], n1[94.58, 94.58], alpha1[1.21, 1.21], n1[94.58, 94.58])' + bkg: + fn: 'Exponential::mcbkg(m, mcalpha[0.])' + model: + fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' + - level: mc + ptrange: [5., 6.] + range: [2.18, 2.39] + components: + sig: + fn: 'RooCrystalBall::sig(m[1., 10], mean[2.286, 2.283, 2.289], sigma_g1[0.0127, 0.0127], alpha1[1.147, 1.147], n1[77.2867, 77.2867], alpha1[1.147, 1.147], n1[77.2867, 77.2867])' + bkg: + fn: 'Exponential::mcbkg(m, mcalpha[0.])' + model: + fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' + - level: mc + ptrange: [6., 7.] + range: [2.18, 2.39] + components: + sig: + fn: 'RooCrystalBall::sig(m[1., 10], mean[2.286, 2.283, 2.289], sigma_g1[0.0131, 0.0131], alpha1[1.026, 1.026], n1[90.26, 90.26], alpha1[1.026, 1.026], n1[90.26, 90.26])' + bkg: + fn: 'Exponential::mcbkg(m, mcalpha[0.])' + model: + fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' + - level: mc + ptrange: [7., 8.] range: [2.10, 2.45] components: sig: - fn: 'Gaussian::sig(m[1., 10], mean[2.2865, 2.283,2.289], sigma_g1[.013,.013,.020])' - #wide: - #fn: 'Gaussian::wide(m, mean, expr("n*sigma_g1", n[1.,5.], sigma_g1))' - #model: - #fn: 'SUM::sig(f_peak[0.,1.]*peak, wide)' + fn: 'RooCrystalBall::sig(m[1., 10], mean[2.286, 2.283, 2.289], sigma_g1[0.0151, 0.0151], alpha1[1.249, 1.249], n1[99.955, 99.955], alpha1[1.249, 1.249], n1[99.955, 99.955])' bkg: fn: 'Exponential::mcbkg(m, mcalpha[0.])' model: fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' - level: mc - ptrange: [10., 24.] + ptrange: [8., 10.] range: [2.10, 2.45] components: sig: - fn: 'Gaussian::sig(m[1., 10], mean[2.2865, 2.283,2.289], sigma_g1[.013,.020,.029])' - #wide: - # fn: 'Gaussian::wide(m, mean, expr("n*sigma_g1", n[1.,5.], sigma_g1))' - #model: - # fn: 'SUM::sig(f_peak[0.,1.]*peak, wide)' + fn: 'RooCrystalBall::sig(m[1., 10], mean[2.286, 2.283, 2.289], sigma_g1[0.0174, 0.0174], alpha1[1.315, 1.315], n1[4., 4.], alpha1[1.315, 1.315], n1[4., 4.])' bkg: fn: 'Exponential::mcbkg(m, mcalpha[0.])' model: fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' - - ptrange: [0., 1.] - range: [2.216, 2.36] #2.21, 2.36 - #fix_params: ['n', 'f_peak'] + - level: mc + ptrange: [10., 12.] + range: [2.10, 2.45] components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.005,.015])' + sig: + fn: 'RooCrystalBall::sig(m[1., 10], mean[2.286, 2.283, 2.289], sigma_g1[0.0187, 0.0187], alpha1[1.013, 1.013], n1[5.0, 5.0], alpha1[1.013, 1.013], n1[5.0, 5.0])' bkg: - fn: 'Polynomial::bkg(m, {a0[-1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' + fn: 'Exponential::mcbkg(m, mcalpha[0.])' model: - fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' - - ptrange: [1., 2.] - range: [2.216, 2.36] #2.21, 2.36 - #fix_params: ['n', 'f_peak'] + fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' + - level: mc + ptrange: [12., 16.] + range: [2.10, 2.45] + components: + sig: + fn: 'RooCrystalBall::sig(m[1., 10], mean[2.286, 2.283, 2.289], sigma_g1[0.0205, 0.0205], alpha1[0.8, 0.8], n1[19.30, 19.30], alpha1[0.8, 0.8], n1[19.30, 19.30])' + bkg: + fn: 'Exponential::mcbkg(m, mcalpha[0.])' + model: + fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' + - level: mc + ptrange: [16., 24.] + range: [2.10, 2.45] + components: + sig: + fn: 'RooCrystalBall::sig(m[1., 10], mean[2.286, 2.283, 2.289], sigma_g1[0.0205, 0.0205], alpha1[0.8, 0.8], n1[19.30, 19.30], alpha1[0.8, 0.8], n1[19.30, 19.30])' + bkg: + fn: 'Exponential::mcbkg(m, mcalpha[0.])' + model: + fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' + - ptrange: [0., 2.] + range: [2.21, 2.36] #2.216, 2.36 components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.005,.015])' bkg: fn: 'Polynomial::bkg(m, {a0[-1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' model: fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' - ptrange: [2., 3.] - range: [2.21, 2.36] - #fix_params: ['n', 'f_peak'] + range: [2.20, 2.368] components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.005,.015])' bkg: fn: 'Polynomial::bkg(m, {a0[-1e8, 1e8], a1[-1e8, 1e8], a2[-1e8, 1e8]})' model: fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' - ptrange: [3., 4.] - range: [2.20, 2.37] - #fix_params: ['n', 'f_peak'] + range: [2.19, 2.38] components: - #sig: - #fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.005,.015])' bkg: fn: 'Polynomial::bkg(m, {a0[-1e8, 1e8], a1[-1e8, 1e8], a2[-1e8, 1e8]})' model: fn: 'SUM::sum(f_sig[0., 0., 0.8]*sig, bkg)' - ptrange: [4., 5.] range: [2.19, 2.38] - #fix_params: ['n', 'f_peak'] components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.005,.015])' bkg: fn: 'Polynomial::bkg(m, {a0[2000, -1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' model: fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' - ptrange: [5., 6.] - range: [2.18, 2.40] - #fix_params: ['n', 'f_peak'] + range: [2.18, 2.39] components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.005,.015])' bkg: - fn: 'Polynomial::bkg(m, {a0[0, -1e10, 1e10], a1[0, -1e10, 1e10], a2[0, -1e10, 1e10]})' + fn: 'Polynomial::bkg(m, {a0[5000, -1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' model: fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' - ptrange: [6., 7.] - range: [2.16, 2.42] - #fix_params: ['n', 'f_peak'] + range: [2.16, 2.40] components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' bkg: fn: 'Polynomial::bkg(m, {a0[2000, -1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' model: fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' - ptrange: [7., 8.] - range: [2.16, 2.42] - #fix_params: ['n', 'f_peak'] - components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' - bkg: - fn: 'Polynomial::bkg(m, {a0[2000, -1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' - model: - fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' - - ptrange: [8., 10.] - range: [2.1, 2.46] - #fix_params: ['n', 'f_peak'] + range: [2.16, 2.40] components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' bkg: fn: 'Polynomial::bkg(m, {a0[1000, -1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' model: fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' - - ptrange: [10., 12.] - range: [2.1, 2.46] - #fix_params: ['n', 'f_peak'] - components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' - bkg: - fn: 'Polynomial::bkg(m, {a0[10000, -1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' - model: - fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' - - ptrange: [12., 16.] + - ptrange: [8., 10.] range: [2.1, 2.46] - #fix_params: ['n', 'f_peak'] components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' bkg: fn: 'Polynomial::bkg(m, {a0[1000, -1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' model: fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' - range: [2.1, 2.46] - #fix_params: ['n', 'f_peak'] components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' bkg: - fn: 'Polynomial::bkg(m, {a0[1000, -1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' + fn: 'Polynomial::bkg(m, {a0[2000, -1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' model: fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' From 33eaeb0b712b1e4d423273bedc637c2fde4f3334 Mon Sep 17 00:00:00 2001 From: saganatt <8majak8@gmail.com> Date: Mon, 22 Sep 2025 14:30:40 +0200 Subject: [PATCH 3/9] The _ana db example is redundant with all comments in _fdd --- ..._ml_parameters_LcToPKPi_multiclass_ana.yml | 683 ------------------ 1 file changed, 683 deletions(-) delete mode 100644 machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_ana.yml diff --git a/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_ana.yml b/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_ana.yml deleted file mode 100644 index d6f3f5cad7..0000000000 --- a/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_ana.yml +++ /dev/null @@ -1,683 +0,0 @@ -############################################################################# -## © Copyright CERN 2023. All rights not expressly granted are reserved. ## -## Author: Gian.Michele.Innocenti@cern.ch ## -## This program is free software: you can redistribute it and/or modify it ## -## under the terms of the GNU General Public License as published by the ## -## Free Software Foundation, either version 3 of the License, or (at your ## -## option) any later version. This program is distributed in the hope that ## -## it will be useful, but WITHOUT ANY WARRANTY; without even the implied ## -## warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ## -## See the GNU General Public License for more details. ## -## You should have received a copy of the GNU General Public License ## -## along with this program. if not, see . ## -############################################################################# - -LcpKpi: - doml: true - mass: 2.286 - sel_reco_unp: "fPt>0" - sel_gen_unp: "fPt>0" - sel_cen_unp: null - sel_good_evt_unp: null - sel_reco_skim: [null,null,null,null,null,null,null,null,null,null] - sel_gen_skim: [null,null,null,null,null,null,null,null,null,null] - sel_skim_binmin: [1,2,3,4,5,6,7,8,10,12] #list of nbins - sel_skim_binmax: [2,3,4,5,6,7,8,10,12,24] #list of nbins - apply_yptacccut: false - var_binning: fPt - do_ptshape: false - var_binning_ptshape: fPtWeighted - dofullevtmerge: false - var_cand: fCandidateSelFlag - var_swap: fIsCandidateSwapped - bitmap_sel: - var_name: fFlagMcMatchRec - var_name_gen: fFlagMcMatchGen - var_name_origgen: fOriginMcGen - var_name_origrec: fOriginMcRec - var_isstd: isstd - var_ismcsignal: ismcsignal - var_ismcprompt: ismcprompt - var_ismcfd: ismcfd - var_ismcbkg: ismcbkg - var_ismcrefl: ismcref - isstd : [[1],[]] - ismcsignal: [[1],[]] - ismcprompt: [[0],[]] - ismcfd: [[1],[]] - ismcbkg: [[],[1]] - ismcrefl: [[1],[1]] - - dfs: - read: - evtorig: - level: all - index: fIndexHFLCCOLLBASES - trees: - O2hflccollbase: [fPosX, fPosY, fPosZ, fNumContrib, fMultZeqNTracksPV, fCentFT0A, fCentFT0C, fCentFT0M, fCentFV0A] - extra: - fIsEventReject: 0 - - reco: - level: all - index: fIndexHfLCBases - trees: - O2hflcbase: [fIndexHFLCCOLLBASES, fPt, fY, fEta, fPhi, fM] - O2hflcpar: [fNProngsContributorsPV, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, - fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, - fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, - fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2] - O2hflcmc: - level: mc - vars: [fFlagMcMatchRec, fOriginMcRec, fIsCandidateSwapped] - O2hflcsel: - level: mc - vars: [fCandidateSelFlag] - filter: "fPt > 0." - #extra: - #fY: log((sqrt(2.28646**2 + (fPt * cosh(fEta))**2) + fPt * sinh(fEta)) / sqrt(2.28646**2 + fPt**2)) #TODO : change mass or make sure Lc mass is updated - tags: - isstd: {var: fFlagMcMatchRec, req: [[1],[]], level: mc} - ismcsignal: {var: fFlagMcMatchRec, req: [[1],[]], abs: true, level: mc} - ismcbkg: {var: fFlagMcMatchRec, req: [[],[1]], abs: true, level: mc} - ismcprompt: {var: fOriginMcRec, req: [[0],[]], level: mc} - ismcfd: {var: fOriginMcRec, req: [[1],[]], level: mc} - swap: {cand: fCandidateSelFlag, var_swap: fIsCandidateSwapped, vars: [ismcsignal, ismcprompt, ismcfd], level: mc} - - gen: - level: mc - trees: - O2hflcpbase: [fPt, fY, fEta, fPhi, fFlagMcMatchGen, fOriginMcGen] - tags: - isstd: {var: fFlagMcMatchGen, req: [[1],[]], level: mc} - ismcsignal: {var: fFlagMcMatchGen, req: [[1],[]], abs: true, level: mc} - ismcbkg: {var: fFlagMcMatchGen, req: [[],[1]], abs: true, level: mc} - ismcprompt: {var: fOriginMcGen, req: [[0],[]], level: mc} - ismcfd: {var: fOriginMcGen, req: [[1],[]], level: mc} - #extra: - #fY: log((sqrt(2.28646**2 + (fPt * cosh(fEta))**2) + fPt * sinh(fEta)) / sqrt(2.28646**2 + fPt**2)) #TODO : change mass or make sure Lc mass is updated - - merge: - - {base: reco, ref: evtorig, extra: {fMultZeqNTracksPV_sub: fMultZeqNTracksPV - fNProngsContributorsPV}} - #- {base: reco, ref: evtorigmc, use: fIndexCollisions} - #- {base: gen, ref: evtorigmc, use: fIndexMcCollisions} - - write: - evtorig: - level: all - file: AnalysisResultsEvtOrig.parquet - evt: - level: all - source: evtorig - file: AnalysisResultsEvt.parquet - #evtorigmc: - # level: mc - # file: AnalysisResultsEvtOrig.parquet - #evtmc: - # level: mc - # source: evtorigmc - # file: AnalysisResultsEvt.parquet - reco: - level: all - file: AnalysisResultsReco.parquet - gen: - level: mc - file: AnalysisResultsGen.parquet - - variables: - var_all: [fIndexCollisions, fFlagMcMatchRec, fCandidateSelFlag, fOriginMcRec, fIsCandidateSwapped, fNProngsContributorsPV, - fY, fEta, fPt, fCpa, fCpaXY, fM, fChi2PCA, fDecayLength, fDecayLengthXY, - fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, - fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, - fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2] - var_jet: [fJetPt, fJetEta, fJetPhi] - var_jetsub: [fZg, fRg, fNsd] - var_jet_match: [df, fIndexHfCand2Prong] - var_jetsub_match: [df, fIndexLcChargedJets] - var_evt: - data: [fIndexCollisions, fPosX, fPosY, fPosZ, fNumContrib, fMultZeqNTracksPV, fCentFT0A, fCentFT0C, fCentFT0M, fCentFV0A] - mc: [fIndexCollisions, fPosX, fPosY, fPosZ, fNumContrib, fMultZeqNTracksPV, fCentFT0A, fCentFT0C, fCentFT0M, fCentFV0A] - var_gen: [fIndexMcCollisions, fPosX, fPosY, fPosZ, fPt, fY, fFlagMcMatchGen, fOriginMcGen] - var_training: [[fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], - [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], - [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], - [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], - [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], - [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], - [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], - [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], - [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], - [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2]] - var_selected: [[fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, - fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, - fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, - fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], - [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, - fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, - fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, - fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], - [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, - fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, - fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, - fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], - [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, - fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, - fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, - fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], - [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, - fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, - fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, - fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], - [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, - fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, - fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, - fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], - [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, - fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, - fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, - fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], - [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, - fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, - fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, - fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], - [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, - fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, - fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, - fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], - [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, - fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, - fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, - fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2]] - var_boundaries: [fDecayLength, fPt] - var_correlation: - - [fDecayLength, fChi2PCA, fCpa] - - [fPt, fPt, fPt] - var_class: class - var_inv_mass: fM - var_y: fY - var_cuts: - - [fPtProng0, lt, null] - - [fPtProng1, lt, null] - - [fPtProng2, lt, null] - - [fCpa, lt, null] - - [fDecayLength, lt, null] - - [fChi2PCA, lt, null] - - plot_options: - prob_cut_scan: - pt_prong0: - xlim: - - 0 - - 8 - pt_prong1: - xlim: - - 0 - - 8 - pt_prong2: - xlim: - - 0 - - 8 - fDecayLength: - xlim: - - 0 - - 0.08 - fChi2PCA: - xlim: - - 0 - - 20. - fNSigTofPr0: - xlim: [-50, 50] - xlabel: "n\\sigma_\\mathrm{TOF}(p)0" - fNSigTofPi0: - xlim: [-50, 50] - xlabel: "n\\sigma_\\mathrm{TOF}(\\pi)0" - fNSigTofKa1: - xlim: [-10, 10] - xlabel: "n\\sigma_\\mathrm{TOF}(K)1" - fNSigTofPr2: - xlim: [-50, 50] - xlabel: "n\\sigma_\\mathrm{TOF}(p)2" - fNSigTofPi2: - xlim: [-50, 50] - xlabel: "n\\sigma_\\mathrm{TOF}(\\pi)2" - fNSigTpcPr0: - xlim: [-50, 50] - xlabel: "n\\sigma_\\mathrm{TPC}(p)0" - fNSigTpcPi0: - xlim: [-50, 50] - xlabel: "n\\sigma_\\mathrm{TPC}(\\pi)0" - fNSigTpcKa1: - xlim: [-10, 10] - xlabel: "n\\sigma_\\mathrm{TPC}(K)1" - fNSigTpcPr2: - xlim: [-50, 50] - xlabel: "n\\sigma_\\mathrm{TPC}(p)2" - fNSigTpcPi2: - xlim: [-50, 50] - xlabel: "n\\sigma_\\mathrm{TPC}(\\pi)2" - eff_cut_scan: - pt_prong0: - xlim: - - 0 - - 8 - pt_prong1: - xlim: - - 0 - - 8 - pt_prong2: - xlim: - - 0 - - 8 - fDecayLength: - xlim: - - 0 - - 0.08 - fChi2PCA: - xlim: - - 0 - - 20. - files_names: - namefile_unmerged_tree: AO2D.root - namefile_reco: AnalysisResultsReco.parquet - namefile_evt: AnalysisResultsEvt.parquet - namefile_collcnt: AnalysisResultsCollCnt.parquet - namefile_bccnt: AnalysisResultsBcCnt.parquet - namefile_evtvalroot: AnalysisResultsROOTEvtVal.root - namefile_evtorig: AnalysisResultsEvtOrig.parquet - namefile_gen: AnalysisResultsGen.parquet - namefile_reco_applieddata: AnalysisResultsRecoAppliedData.parquet - namefile_reco_appliedmc: AnalysisResultsRecoAppliedMC.parquet - namefile_mcweights: NonPromptLcPtWeigths.root - treeoutput: "Lctree" - histofilename: "masshisto.root" - efffilename: "effhisto.root" - histoweights: "ptWeigths" - respfilename: "resphisto.root" - crossfilename: "cross_section_tot.root" - - multi: - data: - nprocessesparallel: 60 - maxfiles : [-1] #list of periods - chunksizeunp : [100] #list of periods - chunksizeskim: [100] #list of periods - fracmerge : [0.05,0.05,0.05,0.05,0.05,0.1,0.1,0.2,0.2,0.3] #list of periods - seedmerge: [12] #list of periods - period: [LHC23_pass4_thin] #list of periods - select_period: [1] - prefix_dir: /data2/MLhep/ - unmerged_tree_dir: [real/train_331623/alice/cern.ch/user/a/alihyperloop/jobs/0123] #list of periods - pkl: [LHC23pp_pass4/prod_LHC23_pass4_thin/pkldata] #list of periods - pkl_skimmed: [LHC23pp_pass4/prod_LHC23_pass4_thin/pklskdata] #list of periods - pkl_skimmed_merge_for_ml: [LHC23pp_pass4/prod_LHC23_pass4_thin/pklskmldata] #list of periods - pkl_skimmed_merge_for_ml_all: LHC23pp_pass4/mltotdata - pkl_evtcounter_all: LHC23pp_pass4/evttotdata - mcreweights: [../Analyses] - mc: - nprocessesparallel: 80 - maxfiles : [-1] #list of periods - chunksizeunp : [100] #list of periods - chunksizeskim: [100] #list of periods - fracmerge : [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0] #list of periods - seedmerge: [12] #list of periods - period: [LHC24h1] #list of periods - select_period: [1] - prefix_dir: /data2/MLhep/ - unmerged_tree_dir: [sim/train_327181/alice/cern.ch/user/a/alihyperloop/jobs/0119] #list of periods - pkl: [LHC24pp_mc/prod_LHC24h1/pklmc] #list of periods - pkl_skimmed: [LHC24pp_mc/prod_LHC24h1/pklskmc] #list of periods - pkl_skimmed_merge_for_ml: [LHC24pp_mc/prod_LHC24h1/pklskmlmc] #list of periods - pkl_skimmed_merge_for_ml_all: LHC24pp_mc/prod_LHC24h1/mltotmc - pkl_evtcounter_all: LHC24pp_mc/prod_LHC24h1/evttotmc - mcreweights: [../Analyses, ../Analyses] - ml: - evtsel: null - triggersel: - data: null - mc: null - - nclasses: [150000, 150000, 150000] - #nclasses: [10752, 10752, 10752] #10-12 - #nclasses: [9983, 9983, 9983] #12-24 - equalise_sig_bkg: True - mult_bkg: [1,1,1,1,1,1,1,1,1,1] - sampletags: [0, 1, 1] - sel_bkg: fM < 2.22 or fM > 2.35 # for plotting significance; should agree with bkg selection in sel_ml - # best to have non-prompt (the smallest class) last, so the plots won't complain about the middle class missing - sel_ml: [fM < 2.22 or fM > 2.35, ismcsignal == 1 and ismcprompt == 1, ismcsignal == 1 and ismcfd == 1] - class_labels: [bkg, prompt, non-prompt] - nkfolds: 5 - rnd_shuffle: 12 - rnd_splt: 12 - rnd_all: 12 # Set to None for pure randomness - test_frac: 0.2 - binmin: [1,2,3,4,5,6,7,8,10,12] # must be equal to sel_skim_binmin (sel_skim_binmin bins) - binmax: [2,3,4,5,6,7,8,10,12,24] # must be equal to sel_skim_binmax (sel_skim_binmin bins) - mltype: MultiClassification - ncorescrossval: 10 - prefix_dir_ml: /data2/MLhep/ - mlplot: mlplot # to be removed - mlout: mlout # to be removed - - opt: - isFONLLfromROOT: true - filename_fonll: 'data/fonll/DmesonLcPredictions_13TeV_y05_FFptDepLHCb_BRpythia8_PDG2020.root' # file with FONLL predictions - fonll_particle: 'hLcpkpipred' - fonll_pred: 'max' # edge of the FONLL prediction - FF: 0.204 # fragmentation fraction - sigma_MB: 57.8e-3 # Minimum Bias cross section (pp) 50.87e-3 [b], 1 for Pb-Pb - Taa: 1 # 23260 [b^-1] in 0-10% Pb-Pb, 3917 [b^-1] in 30-50% Pb-Pb, 1 for pp - BR: 6.23e-2 # branching ratio of the decay Lc -> p K- pi+ - f_prompt: 0.9 # estimated fraction of prompt candidates - bkg_data_fraction: 0.05 # fraction of real data used in the estimation - num_steps: 111 # number of steps used in efficiency and signif. estimation - bkg_function: pol2 # fit function for bkg (among TH1 predefined fit functions, e.g. expo, pol1, pol2, ...) - save_fit: True # save bkg fits with the various cuts on ML output - raahp: [1,1,1,1,1,1,1,1,1,1] # sel_skim_binmin bins - presel_gen_eff: "abs(fY) < 0.8" - #presel_gen_eff: "abs(fY) < 0.8 and abs(fPosZ) < 10" - - mlapplication: - data: - prefix_dir_app: /data2/MLhep/ - pkl_skimmed_dec: [LHC23pp_pass4/MLapplication/prod_LHC23_pass4_thin/skpkldecdata] #list of periods - pkl_skimmed_decmerged: [LHC23pp_pass4/MLapplication/prod_LHC23_pass4_thin/skpkldecdatamerged] #list of periods - mc: - prefix_dir_app: /data2/MLhep/ - pkl_skimmed_dec: [LHC24pp_mc/MLapplication/prod_LHC24h1/skpkldecmc] #list of periods - pkl_skimmed_decmerged: [LHC24pp_mc/MLapplication/prod_LHC24h1/skpkldecmcmerged] #list of periods - modelname: xgboost - modelsperptbin: [xgboost_classifierLcpKpi_dfselection_fPt_1.0_2.0.sav, - xgboost_classifierLcpKpi_dfselection_fPt_2.0_3.0.sav, - xgboost_classifierLcpKpi_dfselection_fPt_3.0_4.0.sav, - xgboost_classifierLcpKpi_dfselection_fPt_4.0_5.0.sav, - xgboost_classifierLcpKpi_dfselection_fPt_5.0_6.0.sav, - xgboost_classifierLcpKpi_dfselection_fPt_6.0_7.0.sav, - xgboost_classifierLcpKpi_dfselection_fPt_7.0_8.0.sav, - xgboost_classifierLcpKpi_dfselection_fPt_8.0_10.0.sav, - xgboost_classifierLcpKpi_dfselection_fPt_10.0_12.0.sav, - xgboost_classifierLcpKpi_dfselection_fPt_12.0_24.0.sav] - probcutpresel: - data: [[0.02, 0.0, 0.0], [0.03, 0.0, 0.0], [0.05, 0.0, 0.0], [0.15, 0.0, 0.0], [0.15, 0.0, 0.0], [0.2, 0.0, 0.0], [0.5, 0.0, 0.0], [0.5, 0.0, 0.0], [0.8, 0.0, 0.0], [0.8, 0.0, 0.0]] #list of nbins - mc: [[0.02, 0.0, 0.0], [0.03, 0.0, 0.0], [0.05, 0.0, 0.0], [0.15, 0.0, 0.0], [0.15, 0.0, 0.0], [0.2, 0.0, 0.0], [0.5, 0.0, 0.0], [0.5, 0.0, 0.0], [0.8, 0.0, 0.0], [0.8, 0.0, 0.0]] #list of nbins - probcutoptimal: [[0.02, 0.0, 0.0], [0.03, 0.0, 0.0], [0.05, 0.0, 0.0], [0.15, 0.0, 0.0], [0.15, 0.0, 0.0], [0.2, 0.0, 0.0], [0.5, 0.0, 0.0], [0.5, 0.0, 0.0], [0.8, 0.0, 0.0], [0.8, 0.0, 0.0]] #list of nbins - analysis: - anahptspectrum: "LctopKpi" #D0Kpi, DplusKpipi, DstarD0pi, DsKKpi, LctopKpi, LcK0Sp - fd_method: "dd" # fc, Nb, dd, dd_N - crosssec_prompt: True # True for prompt, False for non-prompt - cctype: "pp" - sigmamb: 59.4e+9 # 50.87e+9 pp5TeV, 57.8e+9 pp13TeV, 59.4e+9 pp Run3, pb - inputfonllpred: data/fonll/DmesonLcPredictions_13TeV_y05_FFptDepLHCb_BRpythia8_PDG2020.root - dir_general_plots: analysis_plots - - Run3analysis: - proc_type: Dhadrons - useperiod: [1] - plotbin: [1] - usesinglebineff: 0 - sel_binmin2: [1,2,3,4,5,6,7,8,10,12] #list of nbins - sel_binmax2: [2,3,4,5,6,7,8,10,12,24] #list of nbins - var_binning2: null - triggerbit: '' - use_cuts: False - cuts: - - "fDecayLength > 0.02" - - "fDecayLength > 0.02" - - "fDecayLength > 0.02" - - "fDecayLength > 0.02" - - "fDecayLength > 0.02" - - "fDecayLength > 0.02" - - "fDecayLength > 0.02" - - "fDecayLength > 0.02" - - "fDecayLength > 0.02" - - "fDecayLength > 0.02" - - - sel_an_binmin: [1,2,3,4,5,6,7,8,10,12] - sel_an_binmax: [2,3,4,5,6,7,8,10,12,24] - binning_matching: [0,1,2,3,4,5,6,7,8,9] - presel_gen_eff: "abs(fY) < 0.5" - evtsel: "abs(fPosZ < 10)" - - data: - runselection: [null] #FIXME - prefix_dir_res: /data2/MLhep/ - results: [LHC23pp_pass4/Results/prod_LHC23_pass4_thin/resultsdata] #list of periods - resultsallp: LHC23pp_pass4/Results/resultsdatatot - mc: - runselection: [null] #FIXME - prefix_dir_res: /data2/MLhep/ - results: [LHC24pp_mc/Results/prod_LHC24h1/resultsmc] #list of periods - resultsallp: LHC24pp_mc/Results/resultsmctot - - nevents: 290860860000 - dobkgfromsideband: false - fitcase: Lc - latexnamehadron: "#Lambda_{c}^{pK#pi}" - mass_fit_lim: [2.10, 2.47] # region for the fit of the invariant mass distribution [GeV/c^2] - bin_width: 0.001 # bin width of the invariant mass histogram - n_rebin: [2,2,2,2,2,3,3,4,5,6,6] # number of mass bins to merge - fixed_sigma: [False, False, False, False, False, False, False, False, False, False, False] - fixed_sigma_val: [0.0082, 0.0092, 0.0104, 0.0116, 0.0134, 0.0145, 0.0162, 0.0182, 0.0204, 0.0230, 0.0263] - - pdf_names: - pdf_sig: "sig" - pdf_bkg: "bkg" - param_names: - mass: "m" - gauss_mean: "mean" - gauss_sigma: "sigma_g1" - double_gauss_sigma: "sigma_wide" - alpha_l: "alpha1" - alpha_r: "alpha2" - n_l: "n1" - n_r: "n2" - fraction_refl: "frac_refl" - - # To initialize the individual fits in pT bins - # Decide whether to take the sigma from MC or data for individual fits - mass_roofit: - - level: mc - ptrange: [0., 2.] - range: [2.18, 2.39] - components: - sig: - fn: 'RooCrystalBall::sig(m[1., 10], mean[2.288, 2.283, 2.289], sigma_g1[0.0085, 0.0085], alpha1[1.3506, 1.3506], n1[40.0972, 40.0972], alpha1[1.3506, 1.3506], n1[40.0972, 40.0972])' - bkg: - fn: 'Exponential::mcbkg(m, mcalpha[0.])' - model: - fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' - - level: mc - ptrange: [2., 3.] - range: [2.18, 2.40] - components: - sig: - fn: 'RooCrystalBall::sig(m[1., 10], mean[2.288, 2.283, 2.289], sigma_g1[0.0088, 0.0088], alpha1[1.64, 1.64], n1[30., 30.], alpha1[1.64, 1.64], n1[30., 30.])' - bkg: - fn: 'Exponential::mcbkg(m, mcalpha[0.])' - model: - fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' - - level: mc - ptrange: [3., 4.] - range: [2.18, 2.39] - components: - sig: - fn: 'RooCrystalBall::sig(m[1., 10], mean[2.286, 2.283, 2.289], sigma_g1[0.0102, 0.0102], alpha1[1.53, 1.53], n1[67.37, 67.37], alpha1[1.53, 1.53], n1[67.37, 67.37])' - bkg: - fn: 'Exponential::mcbkg(m, mcalpha[0.])' - model: - fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' - - level: mc - ptrange: [4., 5.] - range: [2.18, 2.39] - components: - sig: - fn: 'RooCrystalBall::sig(m[1., 10], mean[2.286, 2.283, 2.289], sigma_g1[0.0112, 0.0112], alpha1[1.21, 1.21], n1[94.58, 94.58], alpha1[1.21, 1.21], n1[94.58, 94.58])' - bkg: - fn: 'Exponential::mcbkg(m, mcalpha[0.])' - model: - fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' - - level: mc - ptrange: [5., 6.] - range: [2.18, 2.39] - components: - sig: - fn: 'RooCrystalBall::sig(m[1., 10], mean[2.286, 2.283, 2.289], sigma_g1[0.0127, 0.0127], alpha1[1.147, 1.147], n1[77.2867, 77.2867], alpha1[1.147, 1.147], n1[77.2867, 77.2867])' - bkg: - fn: 'Exponential::mcbkg(m, mcalpha[0.])' - model: - fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' - - level: mc - ptrange: [6., 7.] - range: [2.18, 2.39] - components: - sig: - fn: 'RooCrystalBall::sig(m[1., 10], mean[2.286, 2.283, 2.289], sigma_g1[0.0131, 0.0131], alpha1[1.026, 1.026], n1[90.26, 90.26], alpha1[1.026, 1.026], n1[90.26, 90.26])' - bkg: - fn: 'Exponential::mcbkg(m, mcalpha[0.])' - model: - fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' - - level: mc - ptrange: [7., 8.] - range: [2.10, 2.45] - components: - sig: - fn: 'RooCrystalBall::sig(m[1., 10], mean[2.286, 2.283, 2.289], sigma_g1[0.0151, 0.0151], alpha1[1.249, 1.249], n1[99.955, 99.955], alpha1[1.249, 1.249], n1[99.955, 99.955])' - bkg: - fn: 'Exponential::mcbkg(m, mcalpha[0.])' - model: - fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' - - level: mc - ptrange: [8., 10.] - range: [2.10, 2.45] - components: - sig: - fn: 'RooCrystalBall::sig(m[1., 10], mean[2.286, 2.283, 2.289], sigma_g1[0.0174, 0.0174], alpha1[1.315, 1.315], n1[4., 4.], alpha1[1.315, 1.315], n1[4., 4.])' - bkg: - fn: 'Exponential::mcbkg(m, mcalpha[0.])' - model: - fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' - - level: mc - ptrange: [10., 12.] - range: [2.10, 2.45] - components: - sig: - fn: 'RooCrystalBall::sig(m[1., 10], mean[2.286, 2.283, 2.289], sigma_g1[0.0187, 0.0187], alpha1[1.013, 1.013], n1[5.0, 5.0], alpha1[1.013, 1.013], n1[5.0, 5.0])' - bkg: - fn: 'Exponential::mcbkg(m, mcalpha[0.])' - model: - fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' - - level: mc - ptrange: [12., 16.] - range: [2.10, 2.45] - components: - sig: - fn: 'RooCrystalBall::sig(m[1., 10], mean[2.286, 2.283, 2.289], sigma_g1[0.0205, 0.0205], alpha1[0.8, 0.8], n1[19.30, 19.30], alpha1[0.8, 0.8], n1[19.30, 19.30])' - bkg: - fn: 'Exponential::mcbkg(m, mcalpha[0.])' - model: - fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' - - level: mc - ptrange: [16., 24.] - range: [2.10, 2.45] - components: - sig: - fn: 'RooCrystalBall::sig(m[1., 10], mean[2.286, 2.283, 2.289], sigma_g1[0.0205, 0.0205], alpha1[0.8, 0.8], n1[19.30, 19.30], alpha1[0.8, 0.8], n1[19.30, 19.30])' - bkg: - fn: 'Exponential::mcbkg(m, mcalpha[0.])' - model: - fn: 'SUM::mctot(mcfrac[0., 0., 1.0]*sig, mcbkg)' - - ptrange: [0., 2.] - range: [2.21, 2.36] #2.216, 2.36 - components: - bkg: - fn: 'Polynomial::bkg(m, {a0[-1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' - model: - fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' - - ptrange: [2., 3.] - range: [2.20, 2.368] - components: - bkg: - fn: 'Polynomial::bkg(m, {a0[-1e8, 1e8], a1[-1e8, 1e8], a2[-1e8, 1e8]})' - model: - fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' - - ptrange: [3., 4.] - range: [2.19, 2.38] - components: - bkg: - fn: 'Polynomial::bkg(m, {a0[-1e8, 1e8], a1[-1e8, 1e8], a2[-1e8, 1e8]})' - model: - fn: 'SUM::sum(f_sig[0., 0., 0.8]*sig, bkg)' - - ptrange: [4., 5.] - range: [2.19, 2.38] - components: - bkg: - fn: 'Polynomial::bkg(m, {a0[2000, -1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' - model: - fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' - - ptrange: [5., 6.] - range: [2.18, 2.39] - components: - bkg: - fn: 'Polynomial::bkg(m, {a0[5000, -1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' - model: - fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' - - ptrange: [6., 7.] - range: [2.16, 2.40] - components: - bkg: - fn: 'Polynomial::bkg(m, {a0[2000, -1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' - model: - fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' - - ptrange: [7., 8.] - range: [2.16, 2.40] - components: - bkg: - fn: 'Polynomial::bkg(m, {a0[1000, -1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' - model: - fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' - - ptrange: [8., 10.] - range: [2.1, 2.46] - components: - bkg: - fn: 'Polynomial::bkg(m, {a0[1000, -1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' - model: - fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' - - range: [2.1, 2.46] - components: - bkg: - fn: 'Polynomial::bkg(m, {a0[2000, -1e10, 1e10], a1[-1e10, 1e10], a2[-1e10, 1e10]})' - model: - fn: 'SUM::sum(f_sig[0.,1.]*sig, bkg)' - - systematics: - probvariation: - useperiod: [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1] #period from where to define prob cuts - ncutvar: 10 #number of looser and tighter variations - maxperccutvar: 0.25 #max diff in efficiency for loosest/tightest var - cutvarminrange: [[0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.7, 0.9], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3]] #Min starting point for scan - cutvarmaxrange: [[0.7, 0.9], [0.7, 0.9], [0.7, 0.9], [0.7, 0.9], [0.7, 0.9], [0.7, 0.9], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3]] #Max starting point for scan - fixedmean: True #Fix mean cutvar histo to central fit - fixedsigma: True #Fix sigma cutvar histo to central fit From 03f18e794bc13d3c1934f51c55e423a565261a64 Mon Sep 17 00:00:00 2001 From: saganatt <8majak8@gmail.com> Date: Mon, 22 Sep 2025 15:43:35 +0200 Subject: [PATCH 4/9] Write default settings for nprocesses and chunksize --- ...atabase_ml_parameters_LcToPKPi_multiclass_fdd.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_fdd.yml b/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_fdd.yml index a1b8d1ef37..a935a9e9dc 100644 --- a/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_fdd.yml +++ b/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_fdd.yml @@ -326,10 +326,10 @@ LcpKpi: multi: data: - nprocessesparallel: 10 + nprocessesparallel: 60 maxfiles : [-1] #list of periods - chunksizeunp : [40] #list of periods - chunksizeskim: [40] #list of periods + chunksizeunp : [100] #list of periods + chunksizeskim: [100] #list of periods fracmerge : [0.05] #list of periods seedmerge: [12] #list of periods period: [LHC23_pass4_thin] #list of periods @@ -343,10 +343,10 @@ LcpKpi: pkl_evtcounter_all: LHC23pp_pass4/evttotdata mcreweights: [../Analyses] mc: - nprocessesparallel: 10 + nprocessesparallel: 80 maxfiles : [-1] #list of periods - chunksizeunp : [30] #list of periods - chunksizeskim: [30] #list of periods + chunksizeunp : [100] #list of periods + chunksizeskim: [100] #list of periods fracmerge : [1.0] #list of periods seedmerge: [12] #list of periods period: [LHC24h1] #list of periods From 960a89b5c54740bc74b68be9bf8560dd8dd5f032 Mon Sep 17 00:00:00 2001 From: saganatt <8majak8@gmail.com> Date: Mon, 22 Sep 2025 16:32:17 +0200 Subject: [PATCH 5/9] There should be a single list of var_selected --- ..._ml_parameters_LcToPKPi_multiclass_fdd.yml | 54 +------------------ ...e_ml_parameters_LcToPKPi_multiclass_ml.yml | 49 +---------------- 2 files changed, 4 insertions(+), 99 deletions(-) diff --git a/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_fdd.yml b/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_fdd.yml index a935a9e9dc..58830962e4 100644 --- a/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_fdd.yml +++ b/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_fdd.yml @@ -162,61 +162,11 @@ LcpKpi: fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2]] - var_selected: [[fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, + var_selected: [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], - [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, - fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, - fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, - fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], - [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, - fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, - fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, - fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], - [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, - fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, - fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, - fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], - [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, - fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, - fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, - fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], - [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, - fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, - fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, - fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], - [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, - fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, - fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, - fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], - [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, - fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, - fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, - fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], - [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, - fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, - fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, - fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], - [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, - fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, - fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, - fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], - [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, - fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, - fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, - fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2]] + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2] var_boundaries: [fDecayLength, fPt] var_correlation: - [fDecayLength, fChi2PCA, fCpa] diff --git a/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_ml.yml b/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_ml.yml index 1b7876b765..fddd7046bf 100644 --- a/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_ml.yml +++ b/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_ml.yml @@ -160,56 +160,11 @@ LcpKpi: fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2]] - var_selected: [[fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, + var_selected: [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], - [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, - fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, - fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, - fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], - [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, - fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, - fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, - fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], - [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, - fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, - fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, - fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], - [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, - fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, - fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, - fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], - [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, - fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, - fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, - fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], - [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, - fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, - fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, - fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], - [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, - fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, - fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, - fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], - [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, - fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, - fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, - fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], - [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, - fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, - fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, - fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2]] + fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2] var_boundaries: [fDecayLength, fPt] var_correlation: - [fDecayLength, fChi2PCA, fCpa] From 08bdf9858299728fc69be43ad20d66216bc9e304 Mon Sep 17 00:00:00 2001 From: saganatt <8majak8@gmail.com> Date: Mon, 22 Sep 2025 16:44:32 +0200 Subject: [PATCH 6/9] Remove the multiopt parts from the dbs for now --- ..._ml_parameters_LcToPKPi_multiclass_fdd.yml | 109 +----------------- ...e_ml_parameters_LcToPKPi_multiclass_ml.yml | 109 +----------------- 2 files changed, 8 insertions(+), 210 deletions(-) diff --git a/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_fdd.yml b/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_fdd.yml index 58830962e4..74e3f86f80 100644 --- a/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_fdd.yml +++ b/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_fdd.yml @@ -341,119 +341,18 @@ LcpKpi: opt: isFONLLfromROOT: true filename_fonll: 'data/fonll/DmesonLcPredictions_13TeV_y05_FFptDepLHCb_BRpythia8_PDG2020.root' # file with FONLL predictions - fonll_particle: ['hLcpkpipred_max', 'hLcpkpifromBpred_max_corr'] # prompt and optionally non-prompt FONLL file + fonll_particle: 'hLcpkpipred' fonll_pred: 'max' # edge of the FONLL prediction FF: 0.204 # fragmentation fraction - sigma_MB: 57.8e-3 # Minimum Bias cross section (pp) 50.87e-3 [b], 1 for Pb-Pb + sigma_MB: 57.8e-3 # Minimum Bias cross section (pp) 50.87e-3 [b], 1 for Pb-Pb Taa: 1 # 23260 [b^-1] in 0-10% Pb-Pb, 3917 [b^-1] in 30-50% Pb-Pb, 1 for pp BR: 6.23e-2 # branching ratio of the decay Lc -> p K- pi+ f_prompt: 0.9 # estimated fraction of prompt candidates bkg_data_fraction: 0.05 # fraction of real data used in the estimation - num_steps: 100 # number of steps used in efficiency and signif. estimation - signif_thresholds: - - prompt: - y_min: 0.0 - y_max: 0.45 - x_min: 0.0 - x_max: 0.2 - non-prompt: - y_min: 0.6 - y_max: 1.0 - x_min: 0.0 - x_max: 0.1 - - prompt: - y_min: 0.0 - y_max: 0.45 - x_min: 0.0 - x_max: 0.2 - non-prompt: - y_min: 0.6 - y_max: 1.0 - x_min: 0.0 - x_max: 0.1 - - prompt: - y_min: 0.0 - y_max: 0.45 - x_min: 0.0 - x_max: 0.2 - non-prompt: - y_min: 0.6 - y_max: 1.0 - x_min: 0.0 - x_max: 0.1 - - prompt: - y_min: 0.0 - y_max: 0.45 - x_min: 0.0 - x_max: 0.2 - non-prompt: - y_min: 0.6 - y_max: 1.0 - x_min: 0.0 - x_max: 0.1 - - prompt: - y_min: 0.0 - y_max: 0.45 - x_min: 0.0 - x_max: 0.2 - non-prompt: - y_min: 0.6 - y_max: 1.0 - x_min: 0.0 - x_max: 0.1 - - prompt: - y_min: 0.0 - y_max: 0.45 - x_min: 0.0 - x_max: 0.2 - non-prompt: - y_min: 0.6 - y_max: 1.0 - x_min: 0.0 - x_max: 0.1 - - prompt: - y_min: 0.0 - y_max: 0.45 - x_min: 0.0 - x_max: 0.2 - non-prompt: - y_min: 0.6 - y_max: 1.0 - x_min: 0.0 - x_max: 0.1 - - prompt: - y_min: 0.0 - y_max: 0.45 - x_min: 0.0 - x_max: 0.2 - non-prompt: - y_min: 0.6 - y_max: 1.0 - x_min: 0.0 - x_max: 0.1 - - prompt: - y_min: 0.0 - y_max: 0.45 - x_min: 0.0 - x_max: 0.2 - non-prompt: - y_min: 0.6 - y_max: 1.0 - x_min: 0.0 - x_max: 0.1 - - prompt: - y_min: 0.0 - y_max: 0.45 - x_min: 0.0 - x_max: 0.2 - non-prompt: - y_min: 0.6 - y_max: 1.0 - x_min: 0.0 - x_max: 0.1 + num_steps: 111 # number of steps used in efficiency and signif. estimation bkg_function: pol2 # fit function for bkg (among TH1 predefined fit functions, e.g. expo, pol1, pol2, ...) save_fit: True # save bkg fits with the various cuts on ML output - raahp: [1,1,1,1,1,1,1,1,1,1] # sel_skim_binmin bins + raahp: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] # sel_skim_binmin bins presel_gen_eff: "abs(fY) < 0.8" #presel_gen_eff: "abs(fY) < 0.8 and abs(fPosZ) < 10" diff --git a/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_ml.yml b/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_ml.yml index fddd7046bf..dcb712415a 100644 --- a/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_ml.yml +++ b/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_ml.yml @@ -339,119 +339,18 @@ LcpKpi: opt: isFONLLfromROOT: true filename_fonll: 'data/fonll/DmesonLcPredictions_13TeV_y05_FFptDepLHCb_BRpythia8_PDG2020.root' # file with FONLL predictions - fonll_particle: ['hLcpkpipred_max', 'hLcpkpifromBpred_max_corr'] # prompt and optionally non-prompt FONLL file + fonll_particle: 'hLcpkpipred' fonll_pred: 'max' # edge of the FONLL prediction FF: 0.204 # fragmentation fraction - sigma_MB: 57.8e-3 # Minimum Bias cross section (pp) 50.87e-3 [b], 1 for Pb-Pb + sigma_MB: 57.8e-3 # Minimum Bias cross section (pp) 50.87e-3 [b], 1 for Pb-Pb Taa: 1 # 23260 [b^-1] in 0-10% Pb-Pb, 3917 [b^-1] in 30-50% Pb-Pb, 1 for pp BR: 6.23e-2 # branching ratio of the decay Lc -> p K- pi+ f_prompt: 0.9 # estimated fraction of prompt candidates bkg_data_fraction: 0.05 # fraction of real data used in the estimation - num_steps: 100 # number of steps used in efficiency and signif. estimation - signif_thresholds: - - prompt: - y_min: 0.0 - y_max: 0.45 - x_min: 0.0 - x_max: 0.2 - non-prompt: - y_min: 0.6 - y_max: 1.0 - x_min: 0.0 - x_max: 0.1 - - prompt: - y_min: 0.0 - y_max: 0.45 - x_min: 0.0 - x_max: 0.2 - non-prompt: - y_min: 0.6 - y_max: 1.0 - x_min: 0.0 - x_max: 0.1 - - prompt: - y_min: 0.0 - y_max: 0.45 - x_min: 0.0 - x_max: 0.2 - non-prompt: - y_min: 0.6 - y_max: 1.0 - x_min: 0.0 - x_max: 0.1 - - prompt: - y_min: 0.0 - y_max: 0.45 - x_min: 0.0 - x_max: 0.2 - non-prompt: - y_min: 0.6 - y_max: 1.0 - x_min: 0.0 - x_max: 0.1 - - prompt: - y_min: 0.0 - y_max: 0.45 - x_min: 0.0 - x_max: 0.2 - non-prompt: - y_min: 0.6 - y_max: 1.0 - x_min: 0.0 - x_max: 0.1 - - prompt: - y_min: 0.0 - y_max: 0.45 - x_min: 0.0 - x_max: 0.2 - non-prompt: - y_min: 0.6 - y_max: 1.0 - x_min: 0.0 - x_max: 0.1 - - prompt: - y_min: 0.0 - y_max: 0.45 - x_min: 0.0 - x_max: 0.2 - non-prompt: - y_min: 0.6 - y_max: 1.0 - x_min: 0.0 - x_max: 0.1 - - prompt: - y_min: 0.0 - y_max: 0.45 - x_min: 0.0 - x_max: 0.2 - non-prompt: - y_min: 0.6 - y_max: 1.0 - x_min: 0.0 - x_max: 0.1 - - prompt: - y_min: 0.0 - y_max: 0.45 - x_min: 0.0 - x_max: 0.2 - non-prompt: - y_min: 0.6 - y_max: 1.0 - x_min: 0.0 - x_max: 0.1 - - prompt: - y_min: 0.0 - y_max: 0.45 - x_min: 0.0 - x_max: 0.2 - non-prompt: - y_min: 0.6 - y_max: 1.0 - x_min: 0.0 - x_max: 0.1 + num_steps: 111 # number of steps used in efficiency and signif. estimation bkg_function: pol2 # fit function for bkg (among TH1 predefined fit functions, e.g. expo, pol1, pol2, ...) save_fit: True # save bkg fits with the various cuts on ML output - raahp: [1,1,1,1,1,1,1,1,1,1] # sel_skim_binmin bins + raahp: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] # sel_skim_binmin bins presel_gen_eff: "abs(fY) < 0.8" #presel_gen_eff: "abs(fY) < 0.8 and abs(fPosZ) < 10" From e215382898c1ac5df8fe4b35f33fa2bb3cce98aa Mon Sep 17 00:00:00 2001 From: saganatt <8majak8@gmail.com> Date: Mon, 29 Sep 2025 16:52:31 +0200 Subject: [PATCH 7/9] Adjust ml database to Luigi's CrystalBall one. --- ...e_ml_parameters_LcToPKPi_multiclass_ml.yml | 140 ++++++++---------- 1 file changed, 65 insertions(+), 75 deletions(-) diff --git a/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_ml.yml b/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_ml.yml index dcb712415a..162be6101c 100644 --- a/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_ml.yml +++ b/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_ml.yml @@ -19,10 +19,10 @@ LcpKpi: sel_gen_unp: "fPt>0" sel_cen_unp: null sel_good_evt_unp: null - sel_reco_skim: [null,null,null,null,null,null,null,null,null,null] - sel_gen_skim: [null,null,null,null,null,null,null,null,null,null] - sel_skim_binmin: [1,2,3,4,5,6,7,8,10,12] #list of nbins - sel_skim_binmax: [2,3,4,5,6,7,8,10,12,24] #list of nbins + sel_reco_skim: [null, null, null, null, null, null, null, null, null, null] + sel_gen_skim: [null, null, null, null, null, null, null, null, null, null] + sel_skim_binmin: [1, 2, 3, 4, 5, 6, 7, 8, 10, 12] #list of nbins + sel_skim_binmax: [2, 3, 4, 5, 6, 7, 8, 10, 12, 24] #list of nbins apply_yptacccut: false var_binning: fPt do_ptshape: false @@ -41,12 +41,12 @@ LcpKpi: var_ismcfd: ismcfd var_ismcbkg: ismcbkg var_ismcrefl: ismcref - isstd : [[1],[]] - ismcsignal: [[1],[]] - ismcprompt: [[0],[]] - ismcfd: [[1],[]] - ismcbkg: [[],[1]] - ismcrefl: [[1],[1]] + isstd: [[1], []] + ismcsignal: [[1], []] + ismcprompt: [[0], []] + ismcfd: [[1], []] + ismcbkg: [[], [1]] + ismcrefl: [[1], [1]] dfs: read: @@ -54,20 +54,24 @@ LcpKpi: level: all index: fIndexHFLCCOLLBASES trees: - O2hflccollbase: [fPosX, fPosY, fPosZ, fNumContrib, fMultZeqNTracksPV, fCentFT0A, fCentFT0C, fCentFT0M, fCentFV0A] + O2hflccollbase: [fNumContrib, fMultZeqNTracksPV, fCentFT0M] extra: fIsEventReject: 0 + evtoriggen: + level: gen + index: fIndexHFLCMCCOLLBASES + trees: + O2hflcmccollbase: [fPosX, fPosY, fPosZ, fCentFT0M] + O2hflcmcrcollid: [fIndexArrayHFLCCOLLBASES] + rename: {old: fCentFT0M, new: fCentFT0Mmc} + reco: level: all - index: fIndexHfLCBases + index: fIndexHfLcBases trees: O2hflcbase: [fIndexHFLCCOLLBASES, fPt, fY, fEta, fPhi, fM] - O2hflcpar: [fNProngsContributorsPV, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, - fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, - fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, - fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2] + O2hflcpar: [fNProngsContributorsPV, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2] O2hflcmc: level: mc vars: [fFlagMcMatchRec, fOriginMcRec, fIsCandidateSwapped] @@ -76,32 +80,31 @@ LcpKpi: vars: [fCandidateSelFlag] filter: "fPt > 0." #extra: - #fY: log((sqrt(2.28646**2 + (fPt * cosh(fEta))**2) + fPt * sinh(fEta)) / sqrt(2.28646**2 + fPt**2)) #TODO : change mass or make sure Lc mass is updated + #fY: log((sqrt(2.28646**2 + (fPt * cosh(fEta))**2) + fPt * sinh(fEta)) / sqrt(2.28646**2 + fPt**2)) #TODO : change mass or make sure Lc mass is updated tags: - isstd: {var: fFlagMcMatchRec, req: [[1],[]], level: mc} - ismcsignal: {var: fFlagMcMatchRec, req: [[1],[]], abs: true, level: mc} - ismcbkg: {var: fFlagMcMatchRec, req: [[],[1]], abs: true, level: mc} - ismcprompt: {var: fOriginMcRec, req: [[0],[]], level: mc} - ismcfd: {var: fOriginMcRec, req: [[1],[]], level: mc} + isstd: {var: fFlagMcMatchRec, req: 17, level: mc} + ismcsignal: {var: fFlagMcMatchRec, req: 17, abs: true, level: mc} + ismcbkg: {var: ismcsignal, req: 0, level: mc} + ismcprompt: {var: fOriginMcRec, req: 1, level: mc} + ismcfd: {var: fOriginMcRec, req: 2, level: mc} swap: {cand: fCandidateSelFlag, var_swap: fIsCandidateSwapped, vars: [ismcsignal, ismcprompt, ismcfd], level: mc} gen: level: mc trees: - O2hflcpbase: [fPt, fY, fEta, fPhi, fFlagMcMatchGen, fOriginMcGen] + O2hflcpbase: [fIndexHFLCMCCOLLBASES, fPt, fY, fEta, fPhi, fFlagMcMatchGen, fOriginMcGen] tags: - isstd: {var: fFlagMcMatchGen, req: [[1],[]], level: mc} - ismcsignal: {var: fFlagMcMatchGen, req: [[1],[]], abs: true, level: mc} - ismcbkg: {var: fFlagMcMatchGen, req: [[],[1]], abs: true, level: mc} - ismcprompt: {var: fOriginMcGen, req: [[0],[]], level: mc} - ismcfd: {var: fOriginMcGen, req: [[1],[]], level: mc} - #extra: + isstd: {var: fFlagMcMatchGen, req: 17, level: mc} + ismcsignal: {var: fFlagMcMatchGen, req: 17, abs: true, level: mc} + ismcbkg: {var: ismcsignal, req: 0, level: mc} + ismcprompt: {var: fOriginMcGen, req: 1, level: mc} + ismcfd: {var: fOriginMcGen, req: 2, level: mc} + #extra: #fY: log((sqrt(2.28646**2 + (fPt * cosh(fEta))**2) + fPt * sinh(fEta)) / sqrt(2.28646**2 + fPt**2)) #TODO : change mass or make sure Lc mass is updated merge: - {base: reco, ref: evtorig, extra: {fMultZeqNTracksPV_sub: fMultZeqNTracksPV - fNProngsContributorsPV}} - #- {base: reco, ref: evtorigmc, use: fIndexCollisions} - #- {base: gen, ref: evtorigmc, use: fIndexMcCollisions} + - {base: gen, ref: evtoriggen} write: evtorig: @@ -111,13 +114,10 @@ LcpKpi: level: all source: evtorig file: AnalysisResultsEvt.parquet - #evtorigmc: - # level: mc - # file: AnalysisResultsEvtOrig.parquet - #evtmc: - # level: mc - # source: evtorigmc - # file: AnalysisResultsEvt.parquet + evtmc: + level: mc + source: evtoriggen + file: AnalysisResultsEvtGen.parquet reco: level: all file: AnalysisResultsReco.parquet @@ -126,19 +126,14 @@ LcpKpi: file: AnalysisResultsGen.parquet variables: - var_all: [fIndexCollisions, fFlagMcMatchRec, fCandidateSelFlag, fOriginMcRec, fIsCandidateSwapped, fNProngsContributorsPV, - fY, fEta, fPt, fCpa, fCpaXY, fM, fChi2PCA, fDecayLength, fDecayLengthXY, - fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, - fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, - fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2] + var_all: [fIndexCollisions, fFlagMcMatchRec, fCandidateSelFlag, fOriginMcRec, fIsCandidateSwapped, fNProngsContributorsPV, fY, fEta, fPt, fCpa, fCpaXY, fM, fChi2PCA, fDecayLength, fDecayLengthXY, fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2] var_jet: [fJetPt, fJetEta, fJetPhi] var_jetsub: [fZg, fRg, fNsd] var_jet_match: [df, fIndexHfCand2Prong] var_jetsub_match: [df, fIndexLcChargedJets] var_evt: - data: [fIndexCollisions, fPosX, fPosY, fPosZ, fNumContrib, fMultZeqNTracksPV, fCentFT0A, fCentFT0C, fCentFT0M, fCentFV0A] - mc: [fIndexCollisions, fPosX, fPosY, fPosZ, fNumContrib, fMultZeqNTracksPV, fCentFT0A, fCentFT0C, fCentFT0M, fCentFV0A] + data: [fIndexCollisions, fPosX, fPosY, fPosZ, fNumContrib, fMultZeqNTracksPV, fCentFT0M] + mc: [fIndexCollisions, fPosX, fPosY, fPosZ, fMultZeqNTracksPV, fCentFT0M] var_gen: [fIndexMcCollisions, fPosX, fPosY, fPosZ, fPt, fY, fFlagMcMatchGen, fOriginMcGen] var_training: [[fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], @@ -160,11 +155,7 @@ LcpKpi: fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2]] - var_selected: [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, - fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, - fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, - fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2] + var_selected: [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2] var_boundaries: [fDecayLength, fPt] var_correlation: - [fDecayLength, fChi2PCA, fCpa] @@ -264,21 +255,22 @@ LcpKpi: namefile_gen: AnalysisResultsGen.parquet namefile_reco_applieddata: AnalysisResultsRecoAppliedData.parquet namefile_reco_appliedmc: AnalysisResultsRecoAppliedMC.parquet - namefile_mcweights: NonPromptLcPtWeigths.root + namefile_mcweights: mcweights.root treeoutput: "Lctree" histofilename: "masshisto.root" efffilename: "effhisto.root" histoweights: "ptWeigths" respfilename: "resphisto.root" crossfilename: "cross_section_tot.root" + resultfilename: "finalcrossLcpKpiRun3analysis.root" multi: data: - nprocessesparallel: 10 - maxfiles : [-1] #list of periods - chunksizeunp : [100] #list of periods - chunksizeskim: [10] #list of periods - fracmerge : [0.05,0.05,0.05,0.05,0.05,0.1,0.1,0.2,0.2,0.3] #list of periods + nprocessesparallel: 80 + maxfiles: [-1] #list of periods + chunksizeunp: [100] #list of periods + chunksizeskim: [100] #list of periods + fracmerge: [0.05] #list of periods seedmerge: [12] #list of periods period: [LHC23_pass4_thin] #list of periods select_period: [1] @@ -292,10 +284,10 @@ LcpKpi: mcreweights: [../Analyses] mc: nprocessesparallel: 80 - maxfiles : [-1] #list of periods - chunksizeunp : [100] #list of periods + maxfiles: [-1] #list of periods + chunksizeunp: [100] #list of periods chunksizeskim: [100] #list of periods - fracmerge : [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0] #list of periods + fracmerge: [1.0] #list of periods seedmerge: [12] #list of periods period: [LHC24g5] #list of periods select_period: [1] @@ -317,7 +309,7 @@ LcpKpi: #nclasses: [10752, 10752, 10752] #10-12 #nclasses: [9983, 9983, 9983] #12-24 equalise_sig_bkg: True - mult_bkg: [1,1,1,1,1,1,1,1,1,1] + mult_bkg: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] sampletags: [0, 1, 1] sel_bkg: fM < 2.22 or fM > 2.35 # for plotting significance; should agree with bkg selection in sel_ml # best to have non-prompt (the smallest class) last, so the plots won't complain about the middle class missing @@ -328,8 +320,8 @@ LcpKpi: rnd_splt: 12 rnd_all: 12 # Set to None for pure randomness test_frac: 0.2 - binmin: [1,2,3,4,5,6,7,8,10,12] # must be equal to sel_skim_binmin (sel_skim_binmin bins) - binmax: [2,3,4,5,6,7,8,10,12,24] # must be equal to sel_skim_binmax (sel_skim_binmin bins) + binmin: [1, 2, 3, 4, 5, 6, 7, 8, 10, 12] # must be equal to sel_skim_binmin (sel_skim_binmin bins) + binmax: [2, 3, 4, 5, 6, 7, 8, 10, 12, 24] # must be equal to sel_skim_binmax (sel_skim_binmin bins) mltype: MultiClassification ncorescrossval: 10 prefix_dir_ml: /data2/MLhep/ @@ -395,10 +387,7 @@ LcpKpi: proc_type: Dhadrons useperiod: [1] plotbin: [1] - usesinglebineff: 0 - sel_binmin2: [0,1,2,3,4,5,6,7,8,10,12,16] #list of nbins - sel_binmax2: [1,2,3,4,5,6,7,8,10,12,16,24] #list of nbins - var_binning2: null + usesinglebineff: null triggerbit: '' use_cuts: False cuts: @@ -415,14 +404,15 @@ LcpKpi: - "fDecayLength > 0.02" - sel_an_binmin: [1,2,3,4,5,6,7,8,10,12,16] - sel_an_binmax: [2,3,4,5,6,7,8,10,12,16,24] - binning_matching: [0,1,2,3,4,5,6,7,8,9,9] + sel_an_binmin: [1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 16] + sel_an_binmax: [2, 3, 4, 5, 6, 7, 8, 10, 12, 16, 24] + binning_matching: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9] presel_gen_eff: "abs(fY) < 0.5" evtsel: null triggersel: data: null mc: null + weighttrig: false data: runselection: [null] #FIXME @@ -435,13 +425,13 @@ LcpKpi: results: [LHC24pp_mc/Results/prod_LHC24g5/resultsmc] #list of periods resultsallp: LHC24pp_mc/Results/resultsmctot - nevents: 290860860000 - dobkgfromsideband: false fitcase: Lc latexnamehadron: "#Lambda_{c}^{pK#pi}" + nevents: 290860860000 + dobkgfromsideband: false mass_fit_lim: [2.10, 2.47] # region for the fit of the invariant mass distribution [GeV/c^2] bin_width: 0.001 # bin width of the invariant mass histogram - n_rebin: [2,2,2,2,2,3,3,4,5,6,6] # number of mass bins to merge + n_rebin: [2, 2, 2, 2, 2, 3, 3, 4, 5, 6, 6] # number of mass bins to merge fixed_sigma: [False, False, False, False, False, False, False, False, False, False, False] fixed_sigma_val: [0.0082, 0.0092, 0.0104, 0.0116, 0.0134, 0.0145, 0.0162, 0.0182, 0.0204, 0.0230, 0.0263] @@ -637,7 +627,7 @@ LcpKpi: systematics: probvariation: - useperiod: [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1] #period from where to define prob cuts + useperiod: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] #period from where to define prob cuts ncutvar: 10 #number of looser and tighter variations maxperccutvar: 0.25 #max diff in efficiency for loosest/tightest var cutvarminrange: [[0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.7, 0.9], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3]] #Min starting point for scan From d0ed7cb6b5877e97e1eb8774440b067eaf87f653 Mon Sep 17 00:00:00 2001 From: saganatt <8majak8@gmail.com> Date: Wed, 1 Oct 2025 10:50:19 +0200 Subject: [PATCH 8/9] Adjust fdd database to Luigi's CrystalBall one. Some ymllint fixes --- ..._ml_parameters_LcToPKPi_multiclass_fdd.yml | 219 +++++++++--------- 1 file changed, 104 insertions(+), 115 deletions(-) diff --git a/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_fdd.yml b/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_fdd.yml index 74e3f86f80..a01cb71bef 100644 --- a/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_fdd.yml +++ b/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_fdd.yml @@ -1,3 +1,4 @@ +--- ############################################################################# ## © Copyright CERN 2023. All rights not expressly granted are reserved. ## ## Author: Gian.Michele.Innocenti@cern.ch ## @@ -19,10 +20,10 @@ LcpKpi: sel_gen_unp: "fPt>0" sel_cen_unp: null sel_good_evt_unp: null - sel_reco_skim: [null,null,null,null,null,null,null,null,null,null] - sel_gen_skim: [null,null,null,null,null,null,null,null,null,null] - sel_skim_binmin: [1,2,3,4,5,6,7,8,10,12] #list of nbins - sel_skim_binmax: [2,3,4,5,6,7,8,10,12,24] #list of nbins + sel_reco_skim: [null, null, null, null, null, null, null, null, null, null] + sel_gen_skim: [null, null, null, null, null, null, null, null, null, null] + sel_skim_binmin: [1, 2, 3, 4, 5, 6, 7, 8, 10, 12] # list of nbins + sel_skim_binmax: [2, 3, 4, 5, 6, 7, 8, 10, 12, 24] # list of nbins apply_yptacccut: false var_binning: fPt do_ptshape: true @@ -41,12 +42,12 @@ LcpKpi: var_ismcfd: ismcfd var_ismcbkg: ismcbkg var_ismcrefl: ismcref - isstd : [[1],[]] - ismcsignal: [[1],[]] - ismcprompt: [[0],[]] - ismcfd: [[1],[]] - ismcbkg: [[],[1]] - ismcrefl: [[1],[1]] + isstd: [[1], []] + ismcsignal: [[1], []] + ismcprompt: [[0], []] + ismcfd: [[1], []] + ismcbkg: [[], [1]] + ismcrefl: [[1], [1]] dfs: read: @@ -54,20 +55,24 @@ LcpKpi: level: all index: fIndexHFLCCOLLBASES trees: - O2hflccollbase: [fPosX, fPosY, fPosZ, fNumContrib, fMultZeqNTracksPV, fCentFT0A, fCentFT0C, fCentFT0M, fCentFV0A] + O2hflccollbase: [fNumContrib, fMultZeqNTracksPV, fCentFT0M] extra: fIsEventReject: 0 + evtoriggen: + level: gen + index: fIndexHFLCMCCOLLBASES + trees: + O2hflcmccollbase: [fPosX, fPosY, fPosZ, fCentFT0M] + O2hflcmcrcollid: [fIndexArrayHFLCCOLLBASES] + rename: {old: fCentFT0M, new: fCentFT0Mmc} + reco: level: all index: fIndexHfLcBases trees: O2hflcbase: [fIndexHFLCCOLLBASES, fPt, fY, fEta, fPhi, fM] - O2hflcpar: [fNProngsContributorsPV, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, - fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, - fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, - fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2] + O2hflcpar: [fNProngsContributorsPV, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2] O2hflcmc: level: mc vars: [fFlagMcMatchRec, fOriginMcRec, fIsCandidateSwapped] @@ -75,33 +80,32 @@ LcpKpi: level: mc vars: [fCandidateSelFlag] filter: "fPt > 0." - #extra: - #fY: log((sqrt(2.28646**2 + (fPt * cosh(fEta))**2) + fPt * sinh(fEta)) / sqrt(2.28646**2 + fPt**2)) #TODO : change mass or make sure Lc mass is updated + # extra: + # fY: log((sqrt(2.28646**2 + (fPt * cosh(fEta))**2) + fPt * sinh(fEta)) / sqrt(2.28646**2 + fPt**2)) # TODO: change mass or make sure Lc mass is updated tags: - isstd: {var: fFlagMcMatchRec, req: [[1],[]], level: mc} - ismcsignal: {var: fFlagMcMatchRec, req: [[1],[]], abs: true, level: mc} - ismcbkg: {var: fFlagMcMatchRec, req: [[],[1]], abs: true, level: mc} - ismcprompt: {var: fOriginMcRec, req: [[0],[]], level: mc} - ismcfd: {var: fOriginMcRec, req: [[1],[]], level: mc} + isstd: {var: fFlagMcMatchRec, req: 17, level: mc} + ismcsignal: {var: fFlagMcMatchRec, req: 17, abs: true, level: mc} + ismcbkg: {var: ismcsignal, req: 0, level: mc} + ismcprompt: {var: fOriginMcRec, req: 1, level: mc} + ismcfd: {var: fOriginMcRec, req: 2, level: mc} swap: {cand: fCandidateSelFlag, var_swap: fIsCandidateSwapped, vars: [ismcsignal, ismcprompt, ismcfd], level: mc} gen: level: mc trees: - O2hflcpbase: [fPt, fY, fEta, fPhi, fFlagMcMatchGen, fOriginMcGen] + O2hflcpbase: [fIndexHFLCMCCOLLBASES, fPt, fY, fEta, fPhi, fFlagMcMatchGen, fOriginMcGen] tags: - isstd: {var: fFlagMcMatchGen, req: [[1],[]], level: mc} - ismcsignal: {var: fFlagMcMatchGen, req: [[1],[]], abs: true, level: mc} - ismcbkg: {var: fFlagMcMatchGen, req: [[],[1]], abs: true, level: mc} - ismcprompt: {var: fOriginMcGen, req: [[0],[]], level: mc} - ismcfd: {var: fOriginMcGen, req: [[1],[]], level: mc} - #extra: - #fY: log((sqrt(2.28646**2 + (fPt * cosh(fEta))**2) + fPt * sinh(fEta)) / sqrt(2.28646**2 + fPt**2)) #TODO : change mass or make sure Lc mass is updated + isstd: {var: fFlagMcMatchGen, req: 17, level: mc} + ismcsignal: {var: fFlagMcMatchGen, req: 17, abs: true, level: mc} + ismcbkg: {var: ismcsignal, req: 0, level: mc} + ismcprompt: {var: fOriginMcGen, req: 1, level: mc} + ismcfd: {var: fOriginMcGen, req: 2, level: mc} + # extra: + # fY: log((sqrt(2.28646**2 + (fPt * cosh(fEta))**2) + fPt * sinh(fEta)) / sqrt(2.28646**2 + fPt**2)) # TODO: change mass or make sure Lc mass is updated merge: - {base: reco, ref: evtorig, extra: {fMultZeqNTracksPV_sub: fMultZeqNTracksPV - fNProngsContributorsPV}} - #- {base: reco, ref: evtorigmc, use: fIndexCollisions} - #- {base: gen, ref: evtorigmc, use: fIndexMcCollisions} + - {base: gen, ref: evtoriggen} write: evtorig: @@ -111,13 +115,10 @@ LcpKpi: level: all source: evtorig file: AnalysisResultsEvt.parquet - #evtorigmc: - # level: mc - # file: AnalysisResultsEvtOrig.parquet - #evtmc: - # level: mc - # source: evtorigmc - # file: AnalysisResultsEvt.parquet + evtmc: + level: mc + source: evtoriggen + file: AnalysisResultsEvtGen.parquet reco: level: all file: AnalysisResultsReco.parquet @@ -126,19 +127,14 @@ LcpKpi: file: AnalysisResultsGen.parquet variables: - var_all: [fIndexCollisions, fFlagMcMatchRec, fCandidateSelFlag, fOriginMcRec, fIsCandidateSwapped, fNProngsContributorsPV, - fY, fEta, fPt, fCpa, fCpaXY, fM, fChi2PCA, fDecayLength, fDecayLengthXY, - fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, - fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, - fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2] + var_all: [fIndexCollisions, fFlagMcMatchRec, fCandidateSelFlag, fOriginMcRec, fIsCandidateSwapped, fNProngsContributorsPV, fY, fEta, fPt, fCpa, fCpaXY, fM, fChi2PCA, fDecayLength, fDecayLengthXY, fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2] var_jet: [fJetPt, fJetEta, fJetPhi] var_jetsub: [fZg, fRg, fNsd] var_jet_match: [df, fIndexHfCand2Prong] var_jetsub_match: [df, fIndexLcChargedJets] var_evt: - data: [fIndexCollisions, fPosX, fPosY, fPosZ, fNumContrib, fMultZeqNTracksPV, fCentFT0A, fCentFT0C, fCentFT0M, fCentFV0A] - mc: [fIndexCollisions, fPosX, fPosY, fPosZ, fNumContrib, fMultZeqNTracksPV, fCentFT0A, fCentFT0C, fCentFT0M, fCentFV0A] + data: [fIndexCollisions, fPosX, fPosY, fPosZ, fNumContrib, fMultZeqNTracksPV, fCentFT0M] + mc: [fIndexCollisions, fPosX, fPosY, fPosZ, fMultZeqNTracksPV, fCentFT0M] var_gen: [fIndexMcCollisions, fPosX, fPosY, fPosZ, fPt, fY, fFlagMcMatchGen, fOriginMcGen] var_training: [[fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], @@ -158,15 +154,9 @@ LcpKpi: fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], - [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2], [fImpactParameter0, fImpactParameter1, fImpactParameter2, fCpa, fChi2PCA, fDecayLength, fDecayLengthXY, fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2]] - var_selected: [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, - fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, - fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, - fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, - fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2] + var_selected: [fM, fY, fEta, fPt, fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, fPtProng0, fPtProng1, fPtProng2, fImpactParameter0, fImpactParameter1, fImpactParameter2, fNSigTpcPi0, fNSigTpcPr0, fNSigTpcKa1, fNSigTpcPi2, fNSigTpcPr2, fNSigTofPi0, fNSigTofPr0, fNSigTofKa1, fNSigTofPi2, fNSigTofPr2, fNSigTpcTofPi0, fNSigTpcTofPr0, fNSigTpcTofKa1, fNSigTpcTofPi2, fNSigTpcTofPr2] var_boundaries: [fDecayLength, fPt] var_correlation: - [fDecayLength, fChi2PCA, fCpa] @@ -266,46 +256,47 @@ LcpKpi: namefile_gen: AnalysisResultsGen.parquet namefile_reco_applieddata: AnalysisResultsRecoAppliedData.parquet namefile_reco_appliedmc: AnalysisResultsRecoAppliedMC.parquet - namefile_mcweights: NonPromptLcPtWeigths.root + namefile_mcweights: mcweights.root treeoutput: "Lctree" histofilename: "masshisto.root" efffilename: "effhisto.root" histoweights: "ptWeigths" respfilename: "resphisto.root" crossfilename: "cross_section_tot.root" + resultfilename: "finalcrossLcpKpiRun3analysis.root" multi: data: - nprocessesparallel: 60 - maxfiles : [-1] #list of periods - chunksizeunp : [100] #list of periods - chunksizeskim: [100] #list of periods - fracmerge : [0.05] #list of periods - seedmerge: [12] #list of periods - period: [LHC23_pass4_thin] #list of periods + nprocessesparallel: 80 + maxfiles: [-1] # list of periods + chunksizeunp: [100] # list of periods + chunksizeskim: [100] # list of periods + fracmerge: [0.05] # list of periods + seedmerge: [12] # list of periods + period: [LHC23_pass4_thin] # list of periods select_period: [1] prefix_dir: /data2/MLhep/ - unmerged_tree_dir: [real/train_342351/alice/cern.ch/user/a/alihyperloop/jobs/0133] #list of periods - pkl: [LHC23pp_pass4/prod_LHC23_pass4_thin/pkldata] #list of periods - pkl_skimmed: [LHC23pp_pass4/prod_LHC23_pass4_thin/pklskdata] #list of periods - pkl_skimmed_merge_for_ml: [LHC23pp_pass4/prod_LHC23_pass4_thin/pklskmldata] #list of periods + unmerged_tree_dir: [real/train_342351/alice/cern.ch/user/a/alihyperloop/jobs/0133] # list of periods + pkl: [LHC23pp_pass4/prod_LHC23_pass4_thin/pkldata] # list of periods + pkl_skimmed: [LHC23pp_pass4/prod_LHC23_pass4_thin/pklskdata] # list of periods + pkl_skimmed_merge_for_ml: [LHC23pp_pass4/prod_LHC23_pass4_thin/pklskmldata] # list of periods pkl_skimmed_merge_for_ml_all: LHC23pp_pass4/mltotdata pkl_evtcounter_all: LHC23pp_pass4/evttotdata mcreweights: [../Analyses] mc: nprocessesparallel: 80 - maxfiles : [-1] #list of periods - chunksizeunp : [100] #list of periods - chunksizeskim: [100] #list of periods - fracmerge : [1.0] #list of periods - seedmerge: [12] #list of periods - period: [LHC24h1] #list of periods + maxfiles: [-1] # list of periods + chunksizeunp: [100] # list of periods + chunksizeskim: [100] # list of periods + fracmerge: [1.0] # list of periods + seedmerge: [12] # list of periods + period: [LHC24h1] # list of periods select_period: [1] prefix_dir: /data2/MLhep/ - unmerged_tree_dir: [sim/train_341075/alice/cern.ch/user/a/alihyperloop/jobs/0132] #list of periods - pkl: [LHC24pp_mc/prod_LHC24h1/pklmc] #list of periods - pkl_skimmed: [LHC24pp_mc/prod_LHC24h1/pklskmc] #list of periods - pkl_skimmed_merge_for_ml: [LHC24pp_mc/prod_LHC24h1/pklskmlmc] #list of periods + unmerged_tree_dir: [sim/train_341075/alice/cern.ch/user/a/alihyperloop/jobs/0132] # list of periods + pkl: [LHC24pp_mc/prod_LHC24h1/pklmc] # list of periods + pkl_skimmed: [LHC24pp_mc/prod_LHC24h1/pklskmc] # list of periods + pkl_skimmed_merge_for_ml: [LHC24pp_mc/prod_LHC24h1/pklskmlmc] # list of periods pkl_skimmed_merge_for_ml_all: LHC24pp_mc/prod_LHC24h1/mltotmc pkl_evtcounter_all: LHC24pp_mc/prod_LHC24h1/evttotmc mcreweights: [../Analyses, ../Analyses] @@ -316,10 +307,10 @@ LcpKpi: mc: null nclasses: [150000, 150000, 150000] - #nclasses: [10752, 10752, 10752] #10-12 - #nclasses: [9983, 9983, 9983] #12-24 + # nclasses: [10752, 10752, 10752] # 10-12 + # nclasses: [9983, 9983, 9983] # 12-24 equalise_sig_bkg: True - mult_bkg: [1,1,1,1,1,1,1,1,1,1] + mult_bkg: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] sampletags: [0, 1, 1] sel_bkg: fM < 2.22 or fM > 2.35 # for plotting significance; should agree with bkg selection in sel_ml # best to have non-prompt (the smallest class) last, so the plots won't complain about the middle class missing @@ -330,8 +321,8 @@ LcpKpi: rnd_splt: 12 rnd_all: 12 # Set to None for pure randomness test_frac: 0.2 - binmin: [1,2,3,4,5,6,7,8,10,12] # must be equal to sel_skim_binmin (sel_skim_binmin bins) - binmax: [2,3,4,5,6,7,8,10,12,24] # must be equal to sel_skim_binmax (sel_skim_binmin bins) + binmin: [1, 2, 3, 4, 5, 6, 7, 8, 10, 12] # must be equal to sel_skim_binmin (sel_skim_binmin bins) + binmax: [2, 3, 4, 5, 6, 7, 8, 10, 12, 24] # must be equal to sel_skim_binmax (sel_skim_binmin bins) mltype: MultiClassification ncorescrossval: 10 prefix_dir_ml: /data2/MLhep/ @@ -354,17 +345,17 @@ LcpKpi: save_fit: True # save bkg fits with the various cuts on ML output raahp: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] # sel_skim_binmin bins presel_gen_eff: "abs(fY) < 0.8" - #presel_gen_eff: "abs(fY) < 0.8 and abs(fPosZ) < 10" + # presel_gen_eff: "abs(fY) < 0.8 and abs(fPosZ) < 10" mlapplication: data: prefix_dir_app: /data2/MLhep/ - pkl_skimmed_dec: [LHC23pp_pass4/MLapplication/prod_LHC23_pass4_thin/skpkldecdata] #list of periods - pkl_skimmed_decmerged: [LHC23pp_pass4/MLapplication/prod_LHC23_pass4_thin/skpkldecdatamerged] #list of periods + pkl_skimmed_dec: [LHC23pp_pass4/MLapplication/prod_LHC23_pass4_thin/skpkldecdata] # list of periods + pkl_skimmed_decmerged: [LHC23pp_pass4/MLapplication/prod_LHC23_pass4_thin/skpkldecdatamerged] # list of periods mc: prefix_dir_app: /data2/MLhep/ - pkl_skimmed_dec: [LHC24pp_mc/MLapplication/prod_LHC24h1/skpkldecmc] #list of periods - pkl_skimmed_decmerged: [LHC24pp_mc/MLapplication/prod_LHC24h1/skpkldecmcmerged] #list of periods + pkl_skimmed_dec: [LHC24pp_mc/MLapplication/prod_LHC24h1/skpkldecmc] # list of periods + pkl_skimmed_decmerged: [LHC24pp_mc/MLapplication/prod_LHC24h1/skpkldecmcmerged] # list of periods modelname: xgboost modelsperptbin: [xgboost_classifierLcpKpi_dfselection_fPt_1.0_2.0.sav, xgboost_classifierLcpKpi_dfselection_fPt_2.0_3.0.sav, @@ -377,30 +368,27 @@ LcpKpi: xgboost_classifierLcpKpi_dfselection_fPt_10.0_12.0.sav, xgboost_classifierLcpKpi_dfselection_fPt_12.0_24.0.sav] probcutpresel: - data: [[0.02, 0.0, 0.0], [0.03, 0.0, 0.0], [0.05, 0.0, 0.0], [0.15, 0.0, 0.0], [0.15, 0.0, 0.0], [0.2, 0.0, 0.0], [0.5, 0.0, 0.0], [0.5, 0.0, 0.0], [0.8, 0.0, 0.0], [0.8, 0.0, 0.0]] #list of nbins - mc: [[0.02, 0.0, 0.0], [0.03, 0.0, 0.0], [0.05, 0.0, 0.0], [0.15, 0.0, 0.0], [0.15, 0.0, 0.0], [0.2, 0.0, 0.0], [0.5, 0.0, 0.0], [0.5, 0.0, 0.0], [0.8, 0.0, 0.0], [0.8, 0.0, 0.0]] #list of nbins + data: [[0.02, 0.0, 0.0], [0.03, 0.0, 0.0], [0.05, 0.0, 0.0], [0.15, 0.0, 0.0], [0.15, 0.0, 0.0], [0.2, 0.0, 0.0], [0.5, 0.0, 0.0], [0.5, 0.0, 0.0], [0.8, 0.0, 0.0], [0.8, 0.0, 0.0]] # list of nbins + mc: [[0.02, 0.0, 0.0], [0.03, 0.0, 0.0], [0.05, 0.0, 0.0], [0.15, 0.0, 0.0], [0.15, 0.0, 0.0], [0.2, 0.0, 0.0], [0.5, 0.0, 0.0], [0.5, 0.0, 0.0], [0.8, 0.0, 0.0], [0.8, 0.0, 0.0]] # list of nbins probcutoptimal: [[0.02, 0.40, 0.00], [0.03, 0.25, 0.00], [0.04, 0.25, 0.00], [0.07, 0.25, 0.00], [0.10, 0.25, 0.00], [0.11, 0.25, 0.00], [0.15, 0.25, 0.00], [0.18, 0.25, 0.00], [0.25, 0.25, 0.00], [0.35, 0.25, 0.00]] # cuts for 2025 approved prompt cross section - #probcutoptimal: [[0.02, 0.00, 0.55], [0.03, 0.00, 0.55], [0.04, 0.00, 0.50], [0.07, 0.00, 0.35], [0.10, 0.00, 0.35], [0.11, 0.00, 0.35], [0.15, 0.00, 0.35], [0.18, 0.00, 0.35], [0.25, 0.00, 0.35], [0.35, 0.00, 0.35], [0.35, 0.00, 0.35]] # sample cuts for non-prompt cross-section - #probcutoptimal: [[0.01, 0.00, %fd%], [0.02, 0.00, %fd%], [0.03, 0.00, %fd%], [0.04, 0.00, %fd%], [0.07, 0.00, %fd%], [0.10, 0.00, %fd%], [0.11, 0.00, %fd%], [0.15, 0.00, %fd%], [0.18, 0.00, %fd%], [0.25, 0.00, %fd%], [0.35, 0.00, %fd%], [0.35, 0.00, %fd%]] # cuts with placeholders for scanning non-prompt cuts + # probcutoptimal: [[0.02, 0.00, 0.55], [0.03, 0.00, 0.55], [0.04, 0.00, 0.50], [0.07, 0.00, 0.35], [0.10, 0.00, 0.35], [0.11, 0.00, 0.35], [0.15, 0.00, 0.35], [0.18, 0.00, 0.35], [0.25, 0.00, 0.35], [0.35, 0.00, 0.35], [0.35, 0.00, 0.35]] # sample cuts for non-prompt cross-section + # probcutoptimal: [[0.01, 0.00, %fd%], [0.02, 0.00, %fd%], [0.03, 0.00, %fd%], [0.04, 0.00, %fd%], [0.07, 0.00, %fd%], [0.10, 0.00, %fd%], [0.11, 0.00, %fd%], [0.15, 0.00, %fd%], [0.18, 0.00, %fd%], [0.25, 0.00, %fd%], [0.35, 0.00, %fd%], [0.35, 0.00, %fd%]] # cuts with placeholders for scanning non-prompt cuts analysis: - anahptspectrum: "LctopKpi" #D0Kpi, DplusKpipi, DstarD0pi, DsKKpi, LctopKpi, LcK0Sp + anahptspectrum: "LctopKpi" # D0Kpi, DplusKpipi, DstarD0pi, DsKKpi, LctopKpi, LcK0Sp fd_method: "dd" # fc, Nb, dd, dd_N crosssec_prompt: True # True for prompt, False for non-prompt cctype: "pp" sigmamb: 59.4e+9 # 50.87e+9 pp5TeV, 57.8e+9 pp13TeV, 59.4e+9 pp Run3, pb inputfonllpred: /data8/majak/crosssec/202502/fractions/CutVarLc_pp13TeV_LHC23_pass4_default.root # Cut variation output file for data-driven cross section estimation - #inputfonllpred: data/fonll/fonll_pythia_beautyFFLHCb_charmhadrons_13dot6tev_y0dot5_highStatistics.root # Run 3 file for cross section estimation with Nb -- strange results - #inputfonllpred: data/fonll/DmesonLcPredictions_13TeV_y05_FFptDepLHCb_BRpythia8_PDG2020.root # Run 2 file for cross section estimation with Nb + # inputfonllpred: data/fonll/fonll_pythia_beautyFFLHCb_charmhadrons_13dot6tev_y0dot5_highStatistics.root # Run 3 file for cross section estimation with Nb -- strange results + # inputfonllpred: data/fonll/DmesonLcPredictions_13TeV_y05_FFptDepLHCb_BRpythia8_PDG2020.root # Run 2 file for cross section estimation with Nb dir_general_plots: analysis_plots Run3analysis: proc_type: Dhadrons useperiod: [1] plotbin: [1] - usesinglebineff: 0 - sel_binmin2: [0,1,2,3,4,5,6,7,8,10,12,16] #list of nbins - sel_binmax2: [1,2,3,4,5,6,7,8,10,12,16,24] #list of nbins - var_binning2: null + usesinglebineff: null triggerbit: '' use_cuts: False cuts: @@ -417,33 +405,34 @@ LcpKpi: - "fDecayLength > 0.02" - sel_an_binmin: [1,2,3,4,5,6,7,8,10,12,16] - sel_an_binmax: [2,3,4,5,6,7,8,10,12,16,24] - binning_matching: [0,1,2,3,4,5,6,7,8,9,9] + sel_an_binmin: [1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 16] + sel_an_binmax: [2, 3, 4, 5, 6, 7, 8, 10, 12, 16, 24] + binning_matching: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9] presel_gen_eff: "abs(fY) < 0.5" evtsel: null triggersel: data: null mc: null + weighttrig: false data: - runselection: [null] #FIXME + runselection: [null] # FIXME prefix_dir_res: /data2/MLhep/%resdir%/ - results: [LHC23pp_pass4/Results/prod_LHC23_pass4_thin/resultsdata] #list of periods + results: [LHC23pp_pass4/Results/prod_LHC23_pass4_thin/resultsdata] # list of periods resultsallp: LHC23pp_pass4/Results/resultsdatatot mc: - runselection: [null] #FIXME + runselection: [null] # FIXME prefix_dir_res: /data2/MLhep/%resdir%/ - results: [LHC24pp_mc/Results/prod_LHC24h1/resultsmc] #list of periods + results: [LHC24pp_mc/Results/prod_LHC24h1/resultsmc] # list of periods resultsallp: LHC24pp_mc/Results/resultsmctot - nevents: 290860860000 - dobkgfromsideband: false fitcase: Lc latexnamehadron: "#Lambda_{c}^{pK#pi}" + nevents: 290860860000 + dobkgfromsideband: false mass_fit_lim: [2.10, 2.47] # region for the fit of the invariant mass distribution [GeV/c^2] bin_width: 0.001 # bin width of the invariant mass histogram - n_rebin: [2,2,2,2,2,3,3,4,5,6,6] # number of mass bins to merge + n_rebin: [2, 2, 2, 2, 2, 3, 3, 4, 5, 6, 6] # number of mass bins to merge fixed_sigma: [False, False, False, False, False, False, False, False, False, False, False] fixed_sigma_val: [0.0082, 0.0092, 0.0104, 0.0116, 0.0134, 0.0145, 0.0162, 0.0182, 0.0204, 0.0230, 0.0263] @@ -639,10 +628,10 @@ LcpKpi: systematics: probvariation: - useperiod: [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1] #period from where to define prob cuts - ncutvar: 10 #number of looser and tighter variations - maxperccutvar: 0.25 #max diff in efficiency for loosest/tightest var - cutvarminrange: [[0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.7, 0.9], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3]] #Min starting point for scan - cutvarmaxrange: [[0.7, 0.9], [0.7, 0.9], [0.7, 0.9], [0.7, 0.9], [0.7, 0.9], [0.7, 0.9], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3]] #Max starting point for scan - fixedmean: True #Fix mean cutvar histo to central fit - fixedsigma: True #Fix sigma cutvar histo to central fit + useperiod: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] # period from where to define prob cuts + ncutvar: 10 # number of looser and tighter variations + maxperccutvar: 0.25 # max diff in efficiency for loosest/tightest var + cutvarminrange: [[0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.7, 0.9], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3]] # Min starting point for scan + cutvarmaxrange: [[0.7, 0.9], [0.7, 0.9], [0.7, 0.9], [0.7, 0.9], [0.7, 0.9], [0.7, 0.9], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3]] # Max starting point for scan + fixedmean: True # Fix mean cutvar histo to central fit + fixedsigma: True # Fix sigma cutvar histo to central fit From bde101972b5918fe510d88b5a77d7c7d27459968 Mon Sep 17 00:00:00 2001 From: saganatt <8majak8@gmail.com> Date: Wed, 1 Oct 2025 10:50:33 +0200 Subject: [PATCH 9/9] Some ymllint fixes to the ml database --- ...e_ml_parameters_LcToPKPi_multiclass_ml.yml | 103 +++++++++--------- 1 file changed, 52 insertions(+), 51 deletions(-) diff --git a/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_ml.yml b/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_ml.yml index 162be6101c..99761d67e0 100644 --- a/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_ml.yml +++ b/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_multiclass_ml.yml @@ -1,3 +1,4 @@ +--- ############################################################################# ## © Copyright CERN 2023. All rights not expressly granted are reserved. ## ## Author: Gian.Michele.Innocenti@cern.ch ## @@ -21,8 +22,8 @@ LcpKpi: sel_good_evt_unp: null sel_reco_skim: [null, null, null, null, null, null, null, null, null, null] sel_gen_skim: [null, null, null, null, null, null, null, null, null, null] - sel_skim_binmin: [1, 2, 3, 4, 5, 6, 7, 8, 10, 12] #list of nbins - sel_skim_binmax: [2, 3, 4, 5, 6, 7, 8, 10, 12, 24] #list of nbins + sel_skim_binmin: [1, 2, 3, 4, 5, 6, 7, 8, 10, 12] # list of nbins + sel_skim_binmax: [2, 3, 4, 5, 6, 7, 8, 10, 12, 24] # list of nbins apply_yptacccut: false var_binning: fPt do_ptshape: false @@ -79,8 +80,8 @@ LcpKpi: level: mc vars: [fCandidateSelFlag] filter: "fPt > 0." - #extra: - #fY: log((sqrt(2.28646**2 + (fPt * cosh(fEta))**2) + fPt * sinh(fEta)) / sqrt(2.28646**2 + fPt**2)) #TODO : change mass or make sure Lc mass is updated + # extra: + # fY: log((sqrt(2.28646**2 + (fPt * cosh(fEta))**2) + fPt * sinh(fEta)) / sqrt(2.28646**2 + fPt**2)) # TODO: change mass or make sure Lc mass is updated tags: isstd: {var: fFlagMcMatchRec, req: 17, level: mc} ismcsignal: {var: fFlagMcMatchRec, req: 17, abs: true, level: mc} @@ -99,8 +100,8 @@ LcpKpi: ismcbkg: {var: ismcsignal, req: 0, level: mc} ismcprompt: {var: fOriginMcGen, req: 1, level: mc} ismcfd: {var: fOriginMcGen, req: 2, level: mc} - #extra: - #fY: log((sqrt(2.28646**2 + (fPt * cosh(fEta))**2) + fPt * sinh(fEta)) / sqrt(2.28646**2 + fPt**2)) #TODO : change mass or make sure Lc mass is updated + # extra: + # fY: log((sqrt(2.28646**2 + (fPt * cosh(fEta))**2) + fPt * sinh(fEta)) / sqrt(2.28646**2 + fPt**2)) # TODO: change mass or make sure Lc mass is updated merge: - {base: reco, ref: evtorig, extra: {fMultZeqNTracksPV_sub: fMultZeqNTracksPV - fNProngsContributorsPV}} @@ -267,35 +268,35 @@ LcpKpi: multi: data: nprocessesparallel: 80 - maxfiles: [-1] #list of periods - chunksizeunp: [100] #list of periods - chunksizeskim: [100] #list of periods - fracmerge: [0.05] #list of periods - seedmerge: [12] #list of periods - period: [LHC23_pass4_thin] #list of periods + maxfiles: [-1] # list of periods + chunksizeunp: [100] # list of periods + chunksizeskim: [100] # list of periods + fracmerge: [0.05] # list of periods + seedmerge: [12] # list of periods + period: [LHC23_pass4_thin] # list of periods select_period: [1] prefix_dir: /data2/MLhep/ - unmerged_tree_dir: [real/train_324271/alice/cern.ch/user/a/alihyperloop/jobs/0115] #list of periods - pkl: [LHC23pp_pass4/prod_LHC23_pass4_thin/pkldata] #list of periods - pkl_skimmed: [LHC23pp_pass4/prod_LHC23_pass4_thin/pklskdata] #list of periods - pkl_skimmed_merge_for_ml: [LHC23pp_pass4/prod_LHC23_pass4_thin/pklskmldata] #list of periods + unmerged_tree_dir: [real/train_324271/alice/cern.ch/user/a/alihyperloop/jobs/0115] # list of periods + pkl: [LHC23pp_pass4/prod_LHC23_pass4_thin/pkldata] # list of periods + pkl_skimmed: [LHC23pp_pass4/prod_LHC23_pass4_thin/pklskdata] # list of periods + pkl_skimmed_merge_for_ml: [LHC23pp_pass4/prod_LHC23_pass4_thin/pklskmldata] # list of periods pkl_skimmed_merge_for_ml_all: LHC23pp_pass4/mltotdata pkl_evtcounter_all: LHC23pp_pass4/evttotdata mcreweights: [../Analyses] mc: nprocessesparallel: 80 - maxfiles: [-1] #list of periods - chunksizeunp: [100] #list of periods - chunksizeskim: [100] #list of periods - fracmerge: [1.0] #list of periods - seedmerge: [12] #list of periods - period: [LHC24g5] #list of periods + maxfiles: [-1] # list of periods + chunksizeunp: [100] # list of periods + chunksizeskim: [100] # list of periods + fracmerge: [1.0] # list of periods + seedmerge: [12] # list of periods + period: [LHC24g5] # list of periods select_period: [1] prefix_dir: /data2/MLhep/ - unmerged_tree_dir: [sim/train_324269/alice/cern.ch/user/a/alihyperloop/jobs/0115] #list of periods - pkl: [LHC24pp_mc/prod_LHC24g5/pklmc] #list of periods - pkl_skimmed: [LHC24pp_mc/prod_LHC24g5/pklskmc] #list of periods - pkl_skimmed_merge_for_ml: [LHC24pp_mc/prod_LHC24g5/pklskmlmc] #list of periods + unmerged_tree_dir: [sim/train_324269/alice/cern.ch/user/a/alihyperloop/jobs/0115] # list of periods + pkl: [LHC24pp_mc/prod_LHC24g5/pklmc] # list of periods + pkl_skimmed: [LHC24pp_mc/prod_LHC24g5/pklskmc] # list of periods + pkl_skimmed_merge_for_ml: [LHC24pp_mc/prod_LHC24g5/pklskmlmc] # list of periods pkl_skimmed_merge_for_ml_all: LHC24pp_mc/prod_LHC24g5/mltotmc pkl_evtcounter_all: LHC24pp_mc/prod_LHC24g5/evttotmc mcreweights: [../Analyses, ../Analyses] @@ -306,8 +307,8 @@ LcpKpi: mc: null nclasses: [150000, 150000, 150000] - #nclasses: [10752, 10752, 10752] #10-12 - #nclasses: [9983, 9983, 9983] #12-24 + # nclasses: [10752, 10752, 10752] # 10-12 + # nclasses: [9983, 9983, 9983] # 12-24 equalise_sig_bkg: True mult_bkg: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] sampletags: [0, 1, 1] @@ -344,17 +345,17 @@ LcpKpi: save_fit: True # save bkg fits with the various cuts on ML output raahp: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] # sel_skim_binmin bins presel_gen_eff: "abs(fY) < 0.8" - #presel_gen_eff: "abs(fY) < 0.8 and abs(fPosZ) < 10" + # presel_gen_eff: "abs(fY) < 0.8 and abs(fPosZ) < 10" mlapplication: data: prefix_dir_app: /data2/MLhep/ - pkl_skimmed_dec: [LHC23pp_pass4/MLapplication/prod_LHC23_pass4_thin/skpkldecdata] #list of periods - pkl_skimmed_decmerged: [LHC23pp_pass4/MLapplication/prod_LHC23_pass4_thin/skpkldecdatamerged] #list of periods + pkl_skimmed_dec: [LHC23pp_pass4/MLapplication/prod_LHC23_pass4_thin/skpkldecdata] # list of periods + pkl_skimmed_decmerged: [LHC23pp_pass4/MLapplication/prod_LHC23_pass4_thin/skpkldecdatamerged] # list of periods mc: prefix_dir_app: /data2/MLhep/ - pkl_skimmed_dec: [LHC24pp_mc/MLapplication/prod_LHC24g5/skpkldecmc] #list of periods - pkl_skimmed_decmerged: [LHC24pp_mc/MLapplication/prod_LHC24g5/skpkldecmcmerged] #list of periods + pkl_skimmed_dec: [LHC24pp_mc/MLapplication/prod_LHC24g5/skpkldecmc] # list of periods + pkl_skimmed_decmerged: [LHC24pp_mc/MLapplication/prod_LHC24g5/skpkldecmcmerged] # list of periods modelname: xgboost modelsperptbin: [xgboost_classifierLcpKpi_dfselection_fPt_1.0_2.0.sav, xgboost_classifierLcpKpi_dfselection_fPt_2.0_3.0.sav, @@ -367,20 +368,20 @@ LcpKpi: xgboost_classifierLcpKpi_dfselection_fPt_10.0_12.0.sav, xgboost_classifierLcpKpi_dfselection_fPt_12.0_24.0.sav] probcutpresel: - data: [[0.02, 0.0, 0.0], [0.03, 0.0, 0.0], [0.05, 0.0, 0.0], [0.15, 0.0, 0.0], [0.15, 0.0, 0.0], [0.2, 0.0, 0.0], [0.5, 0.0, 0.0], [0.5, 0.0, 0.0], [0.8, 0.0, 0.0], [0.8, 0.0, 0.0]] #list of nbins - mc: [[0.02, 0.0, 0.0], [0.03, 0.0, 0.0], [0.05, 0.0, 0.0], [0.15, 0.0, 0.0], [0.15, 0.0, 0.0], [0.2, 0.0, 0.0], [0.5, 0.0, 0.0], [0.5, 0.0, 0.0], [0.8, 0.0, 0.0], [0.8, 0.0, 0.0]] #list of nbins + data: [[0.02, 0.0, 0.0], [0.03, 0.0, 0.0], [0.05, 0.0, 0.0], [0.15, 0.0, 0.0], [0.15, 0.0, 0.0], [0.2, 0.0, 0.0], [0.5, 0.0, 0.0], [0.5, 0.0, 0.0], [0.8, 0.0, 0.0], [0.8, 0.0, 0.0]] # list of nbins + mc: [[0.02, 0.0, 0.0], [0.03, 0.0, 0.0], [0.05, 0.0, 0.0], [0.15, 0.0, 0.0], [0.15, 0.0, 0.0], [0.2, 0.0, 0.0], [0.5, 0.0, 0.0], [0.5, 0.0, 0.0], [0.8, 0.0, 0.0], [0.8, 0.0, 0.0]] # list of nbins probcutoptimal: [[0.02, 0.40, 0.00], [0.03, 0.25, 0.00], [0.04, 0.25, 0.00], [0.07, 0.25, 0.00], [0.10, 0.25, 0.00], [0.11, 0.25, 0.00], [0.15, 0.25, 0.00], [0.18, 0.25, 0.00], [0.25, 0.25, 0.00], [0.35, 0.25, 0.00]] # cuts for 2025 approved prompt cross section - #probcutoptimal: [[0.02, 0.00, 0.55], [0.03, 0.00, 0.55], [0.04, 0.00, 0.50], [0.07, 0.00, 0.35], [0.10, 0.00, 0.35], [0.11, 0.00, 0.35], [0.15, 0.00, 0.35], [0.18, 0.00, 0.35], [0.25, 0.00, 0.35], [0.35, 0.00, 0.35], [0.35, 0.00, 0.35]] # sample cuts for non-prompt cross-section - #probcutoptimal: [[0.01, 0.00, %fd%], [0.02, 0.00, %fd%], [0.03, 0.00, %fd%], [0.04, 0.00, %fd%], [0.07, 0.00, %fd%], [0.10, 0.00, %fd%], [0.11, 0.00, %fd%], [0.15, 0.00, %fd%], [0.18, 0.00, %fd%], [0.25, 0.00, %fd%], [0.35, 0.00, %fd%], [0.35, 0.00, %fd%]] # cuts with placeholders for scanning non-prompt cuts + # probcutoptimal: [[0.02, 0.00, 0.55], [0.03, 0.00, 0.55], [0.04, 0.00, 0.50], [0.07, 0.00, 0.35], [0.10, 0.00, 0.35], [0.11, 0.00, 0.35], [0.15, 0.00, 0.35], [0.18, 0.00, 0.35], [0.25, 0.00, 0.35], [0.35, 0.00, 0.35], [0.35, 0.00, 0.35]] # sample cuts for non-prompt cross-section + # probcutoptimal: [[0.01, 0.00, %fd%], [0.02, 0.00, %fd%], [0.03, 0.00, %fd%], [0.04, 0.00, %fd%], [0.07, 0.00, %fd%], [0.10, 0.00, %fd%], [0.11, 0.00, %fd%], [0.15, 0.00, %fd%], [0.18, 0.00, %fd%], [0.25, 0.00, %fd%], [0.35, 0.00, %fd%], [0.35, 0.00, %fd%]] # cuts with placeholders for scanning non-prompt cuts analysis: - anahptspectrum: "LctopKpi" #D0Kpi, DplusKpipi, DstarD0pi, DsKKpi, LctopKpi, LcK0Sp + anahptspectrum: "LctopKpi" # D0Kpi, DplusKpipi, DstarD0pi, DsKKpi, LctopKpi, LcK0Sp fd_method: "dd" # fc, Nb, dd, dd_N crosssec_prompt: True # True for prompt, False for non-prompt cctype: "pp" sigmamb: 59.4e+9 # 50.87e+9 pp5TeV, 57.8e+9 pp13TeV, 59.4e+9 pp Run3, pb inputfonllpred: /data8/majak/crosssec/202502/fractions/CutVarLc_pp13TeV_LHC23_pass4_default.root # Cut variation output file for data-driven cross section estimation - #inputfonllpred: data/fonll/fonll_pythia_beautyFFLHCb_charmhadrons_13dot6tev_y0dot5_highStatistics.root # Run 3 file for cross section estimation with Nb -- strange results - #inputfonllpred: data/fonll/DmesonLcPredictions_13TeV_y05_FFptDepLHCb_BRpythia8_PDG2020.root # Run 2 file for cross section estimation with Nb + # inputfonllpred: data/fonll/fonll_pythia_beautyFFLHCb_charmhadrons_13dot6tev_y0dot5_highStatistics.root # Run 3 file for cross section estimation with Nb -- strange results + # inputfonllpred: data/fonll/DmesonLcPredictions_13TeV_y05_FFptDepLHCb_BRpythia8_PDG2020.root # Run 2 file for cross section estimation with Nb dir_general_plots: analysis_plots Run3analysis: @@ -415,14 +416,14 @@ LcpKpi: weighttrig: false data: - runselection: [null] #FIXME + runselection: [null] # FIXME prefix_dir_res: /data2/MLhep/ - results: [LHC23pp_pass4/Results/prod_LHC23_pass4_thin/resultsdata] #list of periods + results: [LHC23pp_pass4/Results/prod_LHC23_pass4_thin/resultsdata] # list of periods resultsallp: LHC23pp_pass4/Results/resultsdatatot mc: - runselection: [null] #FIXME + runselection: [null] # FIXME prefix_dir_res: /data2/MLhep/ - results: [LHC24pp_mc/Results/prod_LHC24g5/resultsmc] #list of periods + results: [LHC24pp_mc/Results/prod_LHC24g5/resultsmc] # list of periods resultsallp: LHC24pp_mc/Results/resultsmctot fitcase: Lc @@ -627,10 +628,10 @@ LcpKpi: systematics: probvariation: - useperiod: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] #period from where to define prob cuts - ncutvar: 10 #number of looser and tighter variations - maxperccutvar: 0.25 #max diff in efficiency for loosest/tightest var - cutvarminrange: [[0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.7, 0.9], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3]] #Min starting point for scan - cutvarmaxrange: [[0.7, 0.9], [0.7, 0.9], [0.7, 0.9], [0.7, 0.9], [0.7, 0.9], [0.7, 0.9], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3]] #Max starting point for scan - fixedmean: True #Fix mean cutvar histo to central fit - fixedsigma: True #Fix sigma cutvar histo to central fit + useperiod: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] # period from where to define prob cuts + ncutvar: 10 # number of looser and tighter variations + maxperccutvar: 0.25 # max diff in efficiency for loosest/tightest var + cutvarminrange: [[0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.7, 0.9], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3]] # Min starting point for scan + cutvarmaxrange: [[0.7, 0.9], [0.7, 0.9], [0.7, 0.9], [0.7, 0.9], [0.7, 0.9], [0.7, 0.9], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3], [0.1, 0.3]] # Max starting point for scan + fixedmean: True # Fix mean cutvar histo to central fit + fixedsigma: True # Fix sigma cutvar histo to central fit