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