From e81bf6eece918a3f5a5e952f7c88acb043d97b8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ku=C4=8Dera?= Date: Thu, 20 Feb 2025 17:42:43 +0100 Subject: [PATCH] Format --- .github/workflows/pythonpackage.yml | 2 +- .mega-linter.yml | 6 +- ci/pytest/yaml.yaml | 19 +- .../database_ml_parameters_D0Jet_pp.yml | 2105 +++++++---------- ...atabase_ml_parameters_D0pp_jet_run2cmp.yml | 261 +- .../database_ml_parameters_JPsiJet_pp.yml | 1455 +++++------- .../database_ml_parameters_Jet_pp.yml | 1888 +++++++-------- .../database_ml_parameters_LcJet_pp.yml | 1577 +++++------- .../database_ml_parameters_LcToPKPi.yml | 162 +- .../database_ml_parameters_LcToPKPi_mult.yml | 188 +- ...base_ml_parameters_LcToPKPi_multiclass.yml | 177 +- ...abase_ml_parameters_LcToPKPi_newformat.yml | 165 +- ...parameters_LcToPKPi_newformat_mult_ana.yml | 187 +- .../database_variations_D0Jet_pp_jet_obs.yml | 1996 ++++++++-------- .../database_variations_LcJet_pp_jet_obs.yml | 1142 ++++----- machine_learning_hep/submission/all_off.yml | 24 +- 16 files changed, 4894 insertions(+), 6460 deletions(-) diff --git a/.github/workflows/pythonpackage.yml b/.github/workflows/pythonpackage.yml index 401f97d41c..d6c575c33d 100644 --- a/.github/workflows/pythonpackage.yml +++ b/.github/workflows/pythonpackage.yml @@ -59,5 +59,5 @@ jobs: ci/run-tests.sh --tests ${{ matrix.test-tool }} --files $changed_files - name: Run on push if: github.event_name == 'push' - run: | + run: |- ci/run-tests.sh --tests ${{ matrix.test-tool }} diff --git a/.mega-linter.yml b/.mega-linter.yml index f7e65d4aab..444298facc 100644 --- a/.mega-linter.yml +++ b/.mega-linter.yml @@ -36,7 +36,5 @@ FLAVOR_SUGGESTIONS: false # Don't show suggestions about different MegaLinter fl PYTHON_ISORT_CONFIG_FILE: pyproject.toml PYTHON_PYRIGHT_CONFIG_FILE: pyproject.toml PYTHON_RUFF_CONFIG_FILE: pyproject.toml -CPP_CPPLINT_FILE_EXTENSIONS: [".C", ".c", ".c++", ".cc", ".cl", ".cpp", ".cu", ".cuh", ".cxx", ".cxx.in", ".h", ".h++", ".hh", - ".h.in", ".hpp", ".hxx", ".inc", ".inl", ".macro"] -CPP_CLANG_FORMAT_FILE_EXTENSIONS: [".C", ".c", ".c++", ".cc", ".cl", ".cpp", ".cu", ".cuh", ".cxx", ".cxx.in", ".h", ".h++", - ".hh", ".h.in", ".hpp", ".hxx", ".inc", ".inl", ".macro"] +CPP_CPPLINT_FILE_EXTENSIONS: [".C", ".c", ".c++", ".cc", ".cl", ".cpp", ".cu", ".cuh", ".cxx", ".cxx.in", ".h", ".h++", ".hh", ".h.in", ".hpp", ".hxx", ".inc", ".inl", ".macro"] +CPP_CLANG_FORMAT_FILE_EXTENSIONS: [".C", ".c", ".c++", ".cc", ".cl", ".cpp", ".cu", ".cuh", ".cxx", ".cxx.in", ".h", ".h++", ".hh", ".h.in", ".hpp", ".hxx", ".inc", ".inl", ".macro"] diff --git a/ci/pytest/yaml.yaml b/ci/pytest/yaml.yaml index 3ae9b0eb06..a779715bef 100644 --- a/ci/pytest/yaml.yaml +++ b/ci/pytest/yaml.yaml @@ -1,10 +1,11 @@ +--- test: - test1: [42, "test", Null] - test2: - tea: False - coffee: True - list_of_lists: - - [1, 2, 3,4, 5] - - ["ABC", "DEF", "GHI"] - - [Null, False, True, true, false, null] - test3: 42 + test1: [42, "test", Null] + test2: + tea: False + coffee: True + list_of_lists: + - [1, 2, 3, 4, 5] + - ["ABC", "DEF", "GHI"] + - [Null, False, True, true, false, null] + test3: 42 diff --git a/machine_learning_hep/data/data_run3/database_ml_parameters_D0Jet_pp.yml b/machine_learning_hep/data/data_run3/database_ml_parameters_D0Jet_pp.yml index 9d7a181978..2daa2308ea 100644 --- a/machine_learning_hep/data/data_run3/database_ml_parameters_D0Jet_pp.yml +++ b/machine_learning_hep/data/data_run3/database_ml_parameters_D0Jet_pp.yml @@ -12,1238 +12,873 @@ # along with this program. if not, see . # D0Jet_pp: - doml: true - mass: 1.86484 - sel_reco_unp: "fPt > 1." - sel_reco_singletrac_unp: null - sel_gen_unp: "fPt > 1." - sel_cen_unp: null - sel_good_evt_unp: null - # sel_reco_skim: ["mlBkgScore < 0.02", "mlBkgScore < 0.04", "mlBkgScore < 0.06", "mlBkgScore < .08", "mlBkgScore < 0.14", "mlBkgScore < 0.26", "mlBkgScore < 0.46", "mlBkgScore < 0.52"] # (sel_skim_binmin bins) FIXME: Update for new model. - sel_reco_skim: [null, null, null, null, null, null, null, null] # (sel_skim_binmin bins) FIXME: Update for new model. - sel_gen_skim: [null, null, null, null, null, null, null, null] # (sel_skim_binmin bins) FIXME: Update for new model. - sel_skim_binmin: [1, 3, 4, 5, 6, 8, 12, 16] # skimming pt bins (sel_skim_binmin bins) FIXME: Update for new model. - sel_skim_binmax: [3, 4, 5, 6, 8, 12, 16, 48] # skimming pt bins (sel_skim_binmin bins) FIXME: Update for new model. - var_binning: fPt - dofullevtmerge: false - - # obsolete, to be removed - # 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: ismcrefl - isstd: [[1], []] - ismcsignal: [[0], []] - ismcprompt: [[0], [1]] - ismcfd: [[1], [0]] - ismcbkg: [[], [1]] - ismcrefl: [[1], [1]] # probably missing from tree creator - - #region dfs - dfs: - read: - evtorig: - index: fIndexHfD0McCollBases - trees: - O2hfd0collbase: [fNumContrib, fPosZ] - filter: "abs(fPosZ) < 10." - collcnt: - trees: - O2collcount: - [ - fReadCounts, - fReadCountsWithTVX, - fReadCountsWithTVXAndZVertexAndSel8, - fReadCountsWithTVXAndZVertexAndSelMC, - ] - bccnt: - trees: - O2bccount: - [ - fReadCountsWithTVX, - fReadCountsWithTVXAndNoTFB, - fReadCountsWithTVXAndNoTFBAndNoITSROFB, - ] - - collgen: # TODO: check if we can use the HF collision table instead - level: gen - index: fIndexD0CMCPJETCOS - trees: - O2d0cmcpjetco: [fPosZ, fCentrality, fEventSel] - filter: "abs(fPosZ) < 10." - jetgen: - level: gen - index: fIndexD0CMCPJETOS - trees: - O2hfd0pbase: - [ - fIndexHfD0McCollBases, - fPt, - fEta, - fPhi, - fFlagMcMatchGen, - fOriginMcGen, - ] - O2d0cmcpjeto: - [ - fIndexD0CMCPJETCOS, - fJetPt, - fJetPhi, - fJetEta, - fJetNConstituents, - fJetR, - ] - O2d0cmcpjetmo: - [ - fIndexArrayD0CMCDJETOS_hf, - fIndexArrayD0CMCDJETOS_geo, - fIndexArrayD0CMCDJETOS_pt, - ] - O2d0cmcpjetsso: - [ - fEnergyMother, - fPtLeading, - fPtSubLeading, - fTheta, - fNSub2DR, - fNSub1, - fNSub2, - fAngularity, - fPairPt, - fPairEnergy, - fPairTheta, - ] - extra: - fY: log((sqrt(1.864**2 + (fPt * cosh(fEta))**2) + fPt * sinh(fEta)) / sqrt(1.864**2 + fPt**2)) #TODO : change mass or make sure Lc mass is updated - tags: - ismcsignal: - { var: fFlagMcMatchGen, req: [[0], []], abs: true } - ismcbkg: { var: fFlagMcMatchGen, req: [[], [0]], abs: true } - ismcprompt: { var: fOriginMcGen, req: [[0], [1]] } - ismcfd: { var: fOriginMcGen, req: [[1], [0]] } - filter: "fPt >= 1. and abs(fY) <= 0.8 and abs(fJetEta) < (.9 - (fJetR / 100.))" # TODO: check jet eta cut - - colldet: - level: det - index: fIndexD0CMCDJETCOS - trees: - O2d0cmcdjetco: [fPosZ, fCentrality, fEventSel] - filter: "abs(fPosZ) < 10." - jetdet: - level: det - index: fIndexD0CMCDJETOS - trees: # add EEC columns - O2hfd0base: [fIndexHfD0CollBases, fPt, fEta, fPhi, fM] - O2hfd0mc: [fFlagMcMatchRec, fOriginMcRec] - # O2hfd0par: - # [ - # fCpa, - # fCpaXY, - # fChi2PCA, - # fDecayLength, - # fDecayLengthXY, - # fDecayLengthNormalised, - # fDecayLengthXYNormalised, - # fImpactParameter0, - # fImpactParameter1, - # fImpactParameterNormalised0, - # fImpactParameterNormalised1, - # fPtProng0, - # fPtProng1, - # fNSigTpcPiExpPi, - # fNSigTpcKaExpPi, - # fNSigTpcPiExpKa, - # fNSigTpcKaExpKa, - # ] - # O2hfd0pare: - # [ - # fErrorDecayLength, - # fErrorDecayLengthXY, - # fErrorImpactParameter0, - # fErrorImpactParameter1, - # ] - O2hfd0sel: [fCandidateSelFlag] - O2hfd0ml: [fMlScores] - O2d0cmcdjeto: - [ - fIndexD0CMCDJETCOS, - fJetPt, - fJetPhi, - fJetEta, - fJetNConstituents, - fJetR, - ] - O2d0cmcdjetmo: - [ - fIndexArrayD0CMCPJETOS_hf, - fIndexArrayD0CMCPJETOS_geo, - fIndexArrayD0CMCPJETOS_pt, - ] - O2d0cmcdjetsso: - [ - fEnergyMother, - fPtLeading, - fPtSubLeading, - fTheta, - fNSub2DR, - fNSub1, - fNSub2, - fAngularity, - fPairPt, - fPairEnergy, - fPairTheta, - ] - extra: - fY: log((sqrt(1.864**2 + (fPt * cosh(fEta))**2) + fPt * sinh(fEta)) / sqrt(1.864**2 + fPt**2)) #TODO : change mass or make sure Lc mass is updated - isd0: fFlagMcMatchRec == 1 - isd0bar: fFlagMcMatchRec == -1 - tags: - ismcsignal: - { var: fFlagMcMatchRec, req: [[0], []], abs: True } - ismcbkg: { var: fFlagMcMatchRec, req: [[], [0]], abs: True } - seld0: { var: fCandidateSelFlag, req: [[0], []] } - seld0bar: { var: fCandidateSelFlag, req: [[1], []] } - ismcprompt: { var: fOriginMcRec, req: [[0], [1]] } - ismcfd: { var: fOriginMcRec, req: [[1], [0]] } - extract_component: - - { var: fMlScores, newvar: mlBkgScore, component: 0 } - filter: "fPt >= 1. and abs(fY) <= 0.8 and abs(fJetEta) < (.9 - (fJetR / 100.))" # TODO: check jet eta cut - # filter: "fPt >= 1. and abs(fY) <= 0.8 and abs(fJetEta) < (.9 - (fJetR / 100.)) and fJetPt > 5." # TODO: check jet eta cut - # filter: "(fPt > 5 and abs(fY) < 0.8) or (fPt <= 5 and abs(fY) < -0.2/15 * fPt**2 + 1.9/15 * fPt + 0.5)" # TODO: check what we want - - colldata: - level: data - index: fIndexD0CJETCOS - trees: - O2d0cjetco: [fPosZ, fCentrality, fEventSel] - filter: "abs(fPosZ) < 10." # systematics? - jetdata: - level: data - index: fIndexD0CJETOS - trees: - O2hfd0base: [fIndexHfD0CollBases, fPt, fEta, fPhi, fM] - # O2hfd0par: - # [ - # fCpa, - # fCpaXY, - # fChi2PCA, - # fDecayLength, - # fDecayLengthXY, - # fDecayLengthNormalised, - # fDecayLengthXYNormalised, - # fImpactParameter0, - # fImpactParameter1, - # fImpactParameterNormalised0, - # fImpactParameterNormalised1, - # fPtProng0, - # fPtProng1, - # fNSigTpcPiExpPi, - # fNSigTpcKaExpPi, - # fNSigTpcPiExpKa, - # fNSigTpcKaExpKa, - # ] - # O2hfd0pare: - # [ - # fErrorDecayLength, - # fErrorDecayLengthXY, - # fErrorImpactParameter0, - # fErrorImpactParameter1, - # ] - O2hfd0ml: [fMlScores] - O2hfd0sel: [fCandidateSelFlag] - O2d0cjeto: - [ - fIndexD0CJETCOS, - fJetPt, - fJetPhi, - fJetEta, - fJetNConstituents, - fJetR, - ] - O2d0cjetsso: - [ - fEnergyMother, - fPtLeading, - fPtSubLeading, - fTheta, - fNSub2DR, - fNSub1, - fNSub2, - fAngularity, - fPairPt, - fPairEnergy, - fPairTheta, - ] - extra: - fY: log((sqrt(1.864**2 + (fPt * cosh(fEta))**2) + fPt * sinh(fEta)) / sqrt(1.864**2 + fPt**2)) #TODO : change mass or make sure Lc mass is updated - extract_component: - - { var: fMlScores, newvar: mlBkgScore, component: 0 } - filter: "fPt >= 1. and abs(fY) <= 0.8 and abs(fJetEta) < (.9 - (fJetR / 100.))" # TODO: check jet eta cut - - merge: - - { base: jetgen, ref: evtorig } - - { base: jetdet, ref: colldet } - - { base: jetdata, ref: colldata } - - write: - jetgen: - level: gen - file: AnalysisResultsGen.parquet - jetdet: - level: det - file: AnalysisResultsReco.parquet - jetdata: - level: data - file: AnalysisResultsReco.parquet - evtorig: - level: all - file: AnalysisResultsEvtOrig.parquet - evt: - level: all - source: evtorig - file: AnalysisResultsEvt.parquet - collcnt: - level: all - file: AnalysisResultsCollCnt.parquet - bccnt: - level: all - file: AnalysisResultsBcCnt.parquet - - variables: - var_all: - [ - fDecayLength, - fDecayLengthXY, - fDecayLengthNormalised, - fDecayLengthXYNormalised, - fCpa, - fCpaXY, - fImpactParameter0, - fImpactParameter1, - fErrorImpactParameter0, - fErrorImpactParameter1, - fNSigTpcPiExpPi, - fNSigTpcKaExpPi, - fNSigTpcPiExpKa, - fNSigTpcKaExpKa, - ] - var_training: - [ - [ - fDecayLength, - fDecayLengthXY, - fDecayLengthNormalised, - fDecayLengthXYNormalised, - fCpa, - fCpaXY, - fImpactParameter0, - fImpactParameter1, - fErrorImpactParameter0, - fErrorImpactParameter1, - fNSigTpcPiExpPi, - fNSigTpcKaExpPi, - fNSigTpcPiExpKa, - fNSigTpcKaExpKa, - ], - [ - fDecayLength, - fDecayLengthXY, - fDecayLengthNormalised, - fDecayLengthXYNormalised, - fCpa, - fCpaXY, - fImpactParameter0, - fImpactParameter1, - fErrorImpactParameter0, - fErrorImpactParameter1, - fNSigTpcPiExpPi, - fNSigTpcKaExpPi, - fNSigTpcPiExpKa, - fNSigTpcKaExpKa, - ], - [ - fDecayLength, - fDecayLengthXY, - fDecayLengthNormalised, - fDecayLengthXYNormalised, - fCpa, - fCpaXY, - fImpactParameter0, - fImpactParameter1, - fErrorImpactParameter0, - fErrorImpactParameter1, - fNSigTpcPiExpPi, - fNSigTpcKaExpPi, - fNSigTpcPiExpKa, - fNSigTpcKaExpKa, - ], - [ - fDecayLength, - fDecayLengthXY, - fDecayLengthNormalised, - fDecayLengthXYNormalised, - fCpa, - fCpaXY, - fImpactParameter0, - fImpactParameter1, - fErrorImpactParameter0, - fErrorImpactParameter1, - fNSigTpcPiExpPi, - fNSigTpcKaExpPi, - fNSigTpcPiExpKa, - fNSigTpcKaExpKa, - ], - [ - fDecayLength, - fDecayLengthXY, - fDecayLengthNormalised, - fDecayLengthXYNormalised, - fCpa, - fCpaXY, - fImpactParameter0, - fImpactParameter1, - fErrorImpactParameter0, - fErrorImpactParameter1, - fNSigTpcPiExpPi, - fNSigTpcKaExpPi, - fNSigTpcPiExpKa, - fNSigTpcKaExpKa, - ], - [ - fDecayLength, - fDecayLengthXY, - fDecayLengthNormalised, - fDecayLengthXYNormalised, - fCpa, - fCpaXY, - fImpactParameter0, - fImpactParameter1, - fErrorImpactParameter0, - fErrorImpactParameter1, - fNSigTpcPiExpPi, - fNSigTpcKaExpPi, - fNSigTpcPiExpKa, - fNSigTpcKaExpKa, - ], - [ - fDecayLength, - fDecayLengthXY, - fDecayLengthNormalised, - fDecayLengthXYNormalised, - fCpa, - fCpaXY, - fImpactParameter0, - fImpactParameter1, - fErrorImpactParameter0, - fErrorImpactParameter1, - fNSigTpcPiExpPi, - fNSigTpcKaExpPi, - fNSigTpcPiExpKa, - fNSigTpcKaExpKa, - ], - ] - #TODO: add new variables for dca, max_norm_d0d0exp - # sel_skim_binmin bins - var_boundaries: [fCosThetaStar, fPtProng] - var_correlation: - - [fCosThetaStar] # TODO: update - - [fPtProng0] - var_signal: signal - var_class: class - var_inv_mass: fM - var_y: fY - var_evt_sel: fIsEventReject - var_cuts: - - [fPtProng0, lt, null] - - [fPtProng1, lt, null] - - plot_options: - prob_cut_scan: - fPtProng0: - xlim: - - 0 - - 1 - fPtProng1: - xlim: - - 0 - - 1 - eff_cut_scan: - fPtProng0: - xlim: - - 0 - - 1 - fPtProng1: - xlim: - - 0 - - 1 - - 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: mcweights.root - treeoutput: "D0tree" - histofilename: "masshisto.root" - efffilename: "effhisto.root" - respfilename: "resphisto.root" - crossfilename: "cross_section_tot.root" - resultfilename: "results.root" - - #region multi - multi: - data: - nprocessesparallel: 80 - maxfiles: [1] #list of periods - chunksizeunp: [100] #list of periods - chunksizeskim: [100] #list of periods - fracmerge: [.1] #list of periods - seedmerge: [12] #list of periods - period: [LHC22o] #list of periods - select_period: [1] - prefix_dir: /data2/MLhep/real/train_318624/ # full stats new - # prefix_dir: /data2/MLhep/real/train_257023/ # full stats - # prefix_dir: /data2/MLhep/real/train_240309/ # Andrea's model - # prefix_dir: /data2/MLhep/real/train_245508/ # pass7 - # prefix_dir: /data2/MLhep/real/train_245509/ # no TOF - # prefix_dir: /data2/MLhep/real/train_245510/ # no PID - # prefix_dir: /data2/MLhep/real/train_245511/ # full PID - unmerged_tree_dir: [/alice/] #list of periods - pkl: ["${USER}/d0jet/pkl"] #list of periods - pkl_skimmed: ["${USER}/d0jet/pklsk"] #list of periods - pkl_skimmed_merge_for_ml: ["${USER}/d0jet/pklskml"] #list of periods - pkl_skimmed_merge_for_ml_all: "${USER}/d0jet/pp_data_mltot" - pkl_evtcounter_all: "${USER}/d0jet/pp_data_evttot" - mcreweights: [../Analyses] #list of periods - mc: - nprocessesparallel: 80 - maxfiles: [1] #list of periods - chunksizeunp: [100] #list of periods - chunksizeskim: [1000] #list of periods - fracmerge: [1.] #list of periods - seedmerge: [12] #list of periods - period: [LHC24d3b] #list of periods - select_period: [1] - prefix_dir: /data2/MLhep/sim/train_318983/ # full stats new - # prefix_dir: /data2/MLhep/sim/train_257228/ # full stats - # prefix_dir: /data2/MLhep/sim/train_259454/ # 97 % tracking eff - # prefix_dir: /data2/MLhep/sim/train_239774/ # Andrea's model - # prefix_dir: /data2/MLhep/sim/train_244893/ # no TOF - # prefix_dir: /data2/MLhep/sim/train_244894/ # no PID - # prefix_dir: /data2/MLhep/sim/train_244895/ # full PID - unmerged_tree_dir: [alice/] - pkl: ["${USER}/d0jet/pkl"] #list of periods - pkl_skimmed: ["${USER}/d0jet/pklsk"] #list of periods - pkl_skimmed_merge_for_ml: ["${USER}/d0jet/pklskml"] #list of periods - pkl_skimmed_merge_for_ml_all: "${USER}/d0jet/pp_mc_prod_mltot" - pkl_evtcounter_all: "${USER}/d0jet/pp_mc_prod_evttot" - mcreweights: [../Analyses] #list of periods - - ml: - evtsel: null # TODO: fIsEventReject == 0 - triggersel: - data: null - mc: null - - nbkg: 500000 - nsig: 500000 - mult_bkg: [1, 1, 1, 1, 1, 1, 1] - nclasses: [20000, 20000] - sampletags: [0, 1] - equalise_sig_bkg: True - # sampletagforsignal: 1 - # sampletagforbkg: 0 - sel_ml: [fM<1.8 or fM>1.92, ismcprompt == 1] - sel_bkg: fM<1.8 or fM>1.92 - class_labels: [bkg, sig] - nkfolds: 5 - rnd_shuffle: 12 - rnd_splt: 12 - rnd_all: 12 - test_frac: 0.2 - binmin: [1, 2, 4, 6, 8, 12, 24] # must be equal to sel_skim_binmin (sel_skim_binmin bins) - binmax: [2, 4, 6, 8, 12, 24, 48] # must be equal to sel_skim_binmax (sel_skim_binmin bins) - mltype: BinaryClassification - ncorescrossval: 10 - prefix_dir_ml: /data2/jklein/MLhep/ - mlplot: mlplot - mlout: mlout - - opt: - isFONLLfromROOT: true - filename_fonll: "data/fonll/D0DplusDstarPredictions_13TeV_y05_all_300416_BDShapeCorrected.root" # file with FONLL predictions - fonll_particle: "hD0Kpipred" - fonll_pred: "max" # edge of the FONLL prediction - FF: 0.6086 # 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: 3.95e-2 # branching ratio of the decay D0 -> K- pi+ - f_prompt: 0.9 # estimated fraction of prompt candidates - bkg_data_fraction: 0.1 # 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] # sel_skim_binmin bins - # presel_gen_eff: "abs(fY) < 0.5 and abs(fPosZ) < 10" - presel_gen_eff: "fPt > 0." # TODO: fix - - mlapplication: - data: - prefix_dir_app: /data2/jklein/ - 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/jklein/ - pkl_skimmed_dec: [LHC22pp_mc/MLapplication/prod_LHC22b1b/skpkldecmc] #list of periods - pkl_skimmed_decmerged: [ - LHC22pp_mc/MLapplication/prod_LHC22b1b/skpkldecmcmerged, - ] #list of periods - modelname: xgboost - modelsperptbin: [ - xgboost_classifierD0pp_jet_dfselection_fPt_1.0_2.0.sav, - xgboost_classifierD0pp_jet_dfselection_fPt_2.0_4.0.sav, - xgboost_classifierD0pp_jet_dfselection_fPt_4.0_6.0.sav, - xgboost_classifierD0pp_jet_dfselection_fPt_6.0_8.0.sav, - xgboost_classifierD0pp_jet_dfselection_fPt_8.0_12.0.sav, - xgboost_classifierD0pp_jet_dfselection_fPt_12.0_24.0.sav, - xgboost_classifierD0pp_jet_dfselection_fPt_24.0_48.0.sav, - ] # sel_skim_binmin bins - probcutpresel: - data: [0.75, 0.75, 0.65, 0.65, 0.45, 0.45, 0.45, .45] # sel_skim_binmin bins - mc: [0.75, 0.75, 0.65, 0.65, 0.45, 0.45, 0.45, .45] # sel_skim_binmin bins - probcutoptimal: [0.92, 0.90, 0.82, 0.80, 0.60, 0.60, 0.60, .45] # sel_skim_binmin bins - - #region analysis - analysis: - anahptspectrum: "D0Kpi" #D0Kpi, DplusKpipi, DstarD0pi, DsKKpi, LctopKpi, LcK0Sp # used in analysis/analyzerdhadrons_mult.py - fd_method: "Nb" #fc, Nb - cctype: "pp" - inputfonllpred: data/fonll/D0DplusDstarPredictions_13TeV_y05_all_300416_BDShapeCorrected.root # used in machine_learning_hep/hf_pt_spectrum.py - dir_general_plots: /data2/jklein/data/analysis_plots - - jet_obs: &jet_default - sel_an_binmin: [1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 16, 24] # hadron pt bins (sel_an_binmin bins) - sel_an_binmax: [2, 3, 4, 5, 6, 7, 8, 10, 12, 16, 24, 48] # hadron pt bins (sel_an_binmin bins) # FIXME: move the last edge in sel_an_binmin - bins_ptjet: [5, 7, 15, 30, 50, 70] # systematics, TODO: split rec and gen binning - bins_ptjet_eff: [2, 5, 7, 15, 30, 50, 70, 90] # systematics, TODO: split rec and gen binning - cand_collidx: fIndexHfD0CollBases - counter_read_data: fReadCountsWithTVXAndZVertexAndSel8 - counter_read_mc: fReadCountsWithTVXAndZVertexAndSelMC - counter_tvx: fReadCountsWithTVX - xsection_inel: 59.4 # (mb) cross-section of minimum-bias events # used # systematics - lumi_scale_mc: 408 # charm enhancement factor in MC to scale the MC luminosity - branching_ratio: 3.947e-2 # used - - observables: - zg: - bins_gen_var: - [-.1, .0, .05, .1, .15, .2, .25, .3, .35, .4, .45, .5] - bins_det_var: - [-.1, .0, .05, .1, .15, .2, .25, .3, .35, .4, .45, .5] - label: "#it{z}_{g}" - label_y: "(1/#it{N}_{jet ch}) d#it{N}/d#it{z}_{g}" - nsd: - bins_gen_fix: [7, -.5, 6.5] - bins_det_fix: [7, -.5, 6.5] - label: "#it{n}_{SD}" - label_y: "(1/#it{N}_{jet ch}) d#it{N}/d#it{n}_{SD}" - rg: - bins_gen_var: - [-.1, .0, .05, .1, .15, .2, .25, .3, .35, .4, .45, .5] - bins_det_var: - [-.1, .0, .05, .1, .15, .2, .25, .3, .35, .4, .45, .5] - label: "#it{R}_{g}" - label_y: "(1/#it{N}_{jet ch}) d#it{N}/d#it{R}_{g}" - zpar: - # bins_gen_fix: [10, 0., 1.] - # bins_det_fix: [10, 0., 1.] - bins_gen_var: - [ - 0.2, - 0.25, - 0.3, - 0.35, - 0.4, - 0.45, - 0.5, - 0.55, - 0.6, - 0.65, - 0.7, - 0.75, - 0.8, - 0.85, - 0.9, - 0.95, - 1., - ] - bins_det_var: - [ - 0.2, - 0.25, - 0.3, - 0.35, - 0.4, - 0.45, - 0.5, - 0.55, - 0.6, - 0.65, - 0.7, - 0.75, - 0.8, - 0.85, - 0.9, - 0.95, - 1., - ] - label: "#it{z}_{#parallel}" - label_y: "(1/#it{N}_{jet ch}) d#it{N}/d#it{z}_{#parallel}" - dr: - bins_gen_fix: [10, 0., 1.] - bins_det_fix: [10, 0., 1.] - label: "#Delta#it{r}" - lntheta: - bins_gen_fix: [8, 1., 5.] - bins_det_fix: [8, 1., 5.] - label: "#minusln(#it{#theta})" - arraycols: [3] - lnkt: - bins_gen_fix: [8, -4., 4.] - bins_det_fix: [8, -4., 4.] - label: "ln(#it{k}_{T}/(GeV/#it{c}))" - arraycols: [3] - lntheta-lnkt: - arraycols: [3, 4] - # new variables - fEnergyMother: - bins_gen_fix: [1, 0., 100.] - bins_det_fix: [1, 0., 100.] - arraycols: [3] - # lntheta-lnkt-fEnergyMother: - # arraycols: [3, 4, 5] - fJetNConstituents: - bins_gen_fix: [5, 0., 20.] - bins_det_fix: [5, 0., 20.] - zpar-fJetNConstituents: {} - nsub21: - # TODO: check for 1-track jets - bins_gen_fix: [11, -1., 1.] - bins_det_fix: [11, -1., 1.] - eecweight: - # TODO: adjust binning - bins_gen_fix: [10, 0., 1.] - bins_det_fix: [10, 0., 1.] - arraycols: [3] - fPairTheta-eecweight: - arraycols: [3, 4] - - data_selections: - mcsig: - level: mc - query: "(isd0 & seld0) or (isd0bar & seld0bar)" - mcrefl: - level: mc - query: "(isd0 & seld0bar) or (isd0bar & seld0)" - - corr_refl: true # systematics - fit_levels: ["mcsig", "mcrefl", "mc", "data"] - - pdf_names: - pdf_sig: "sig" - pdf_bkg: "bkg" - param_names: - mass: "m" - gauss_mean: "mean" - gauss_sigma: "sigma_g1" - double_gauss_sigma: "wide" - fraction_refl: "frac_refl" - - mass_roofit: - - level: mcsig - datasel: mcsig - range: [1.69, 2.04] # systematics? or propagate bg fit uncertainty directly? - components: - sig: - fn: "Gaussian::peak(m[1.,5.], mean[1.85,1.89], sigma_g1[.01,.06])" - bkg: - fn: "Gaussian::wide(m, mean, sigma_wide[.05,1.])" - model: - fn: "SUM::sig(frac_wide[0.,.3]*wide, peak)" - - level: mcrefl - ptrange: [1., 3.] - datasel: mcrefl - range: [1.69, 2.04] - components: - refl_l: - fn: "Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.001,.1])" - refl_r: - fn: "Gaussian::refl_r(m, mean_r[1.865,2.0], sigma_r[.001,.1])" - model: - fn: "SUM::refl(frac_l[0.1,.9]*refl_l, refl_r)" - - level: mcrefl - ptrange: [3., 4.] - datasel: mcrefl - range: [1.68, 2.06] - components: - refl_l: - fn: "Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.2])" - refl_r: - fn: "Gaussian::refl_r(m, mean_r[1.865,2.0], sigma_r[.01,.2])" - model: - fn: "SUM::refl(frac_l[0.,1.]*refl_l, refl_r)" - - level: mcrefl - ptrange: [4., 5.] - datasel: mcrefl - range: [1.64, 2.08] - components: - refl_l: - fn: "Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.2])" - refl_r: - fn: "Gaussian::refl_r(m, mean_r[1.865,2.0], sigma_r[.01,.2])" - model: - fn: "SUM::refl(frac_l[0.,1.]*refl_l, refl_r)" - - level: mcrefl - ptrange: [5., 6.] - datasel: mcrefl - range: [1.64, 2.10] - components: - refl_l: - fn: "Gaussian::refl_l(m, mean_l[1.8,1.865], sigma_l[.01,.2])" - refl_r: - fn: "Gaussian::refl_r(m, mean_r[1.865,2.0], sigma_r[.01,.2])" - model: - fn: "SUM::refl(frac_l[0.,1.]*refl_l, refl_r)" - - level: mcrefl - ptrange: [6., 8.] - datasel: mcrefl - range: [1.60, 2.14] - components: - refl_l: - fn: "Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.2])" - refl_r: - fn: "Gaussian::refl_r(m, mean_r[1.865,2.1], sigma_r[.01,.2])" - model: - fn: "SUM::refl(frac_l[0.,1.]*refl_l, refl_r)" - - level: mcrefl - ptrange: [8., 12.] - datasel: mcrefl - range: [1.52, 2.30] - components: - refl_l: - fn: "Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.2])" - refl_r: - fn: "Gaussian::refl_r(m, mean_r[1.865,2.1], sigma_r[.01,.2])" - model: - fn: "SUM::refl(frac_l[0.,1.]*refl_l, refl_r)" - - level: mcrefl - ptrange: [12., 48.] - datasel: mcrefl - range: [1.40, 2.4] - components: - refl_l: - fn: "Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.2])" - refl_r: - fn: "Gaussian::refl_r(m, mean_r[1.865,2.1], sigma_r[.01,.2])" - model: - fn: "SUM::refl(frac_l[0.,1.]*refl_l, refl_r)" - - level: mc - ptrange: [1., 3.] - range: [1.69, 2.04] - fix_params: - [ - "frac_l", - "mean_l", - "mean_r", - "sigma_l", - "sigma_r", - "frac_wide", - "sigma_g1", - "sigma_wide", - ] - components: - model: - fn: "SUM::sigrefl(frac_refl[0.,1.]*refl, sig)" - - level: mc - ptrange: [3., 4.] - range: [1.68, 2.06] - fix_params: - [ - "frac_l", - "mean_l", - "mean_r", - "sigma_l", - "sigma_r", - "frac_wide", - "sigma_g1", - "sigma_wide", - ] - components: - model: - fn: "SUM::sigrefl(frac_refl[0.,1.]*refl, sig)" - - level: mc - ptrange: [4., 5.] - range: [1.64, 2.08] - fix_params: - [ - "frac_l", - "mean_l", - "mean_r", - "sigma_l", - "sigma_r", - "frac_wide", - "sigma_g1", - "sigma_wide", - ] - components: - model: - fn: "SUM::sigrefl(frac_refl[0.,1.]*refl, sig)" - - level: mc - ptrange: [5., 6.] - range: [1.64, 2.10] - fix_params: - [ - "frac_l", - "mean_l", - "mean_r", - "sigma_l", - "sigma_r", - "frac_wide", - "sigma_g1", - "sigma_wide", - ] - components: - model: - fn: "SUM::sigrefl(frac_refl[0.,1.]*refl, sig)" - - level: mc - ptrange: [6., 8.] - range: [1.60, 2.14] - fix_params: - [ - "frac_l", - "mean_l", - "mean_r", - "sigma_l", - "sigma_r", - "frac_wide", - "sigma_g1", - "sigma_wide", - ] - components: - model: - fn: "SUM::sigrefl(frac_refl[0.,1.]*refl, sig)" - - level: mc - ptrange: [8., 12.] - range: [1.52, 2.30] - fix_params: - [ - "frac_l", - "mean_l", - "mean_r", - "sigma_l", - "sigma_r", - "frac_wide", - "sigma_g1", - "sigma_wide", - ] - components: - model: - fn: "SUM::sigrefl(frac_refl[0.,1.]*refl, sig)" - - level: mc - ptrange: [12., 48.] - range: [1.40, 2.40] - fix_params: - [ - "frac_l", - "mean_l", - "mean_r", - "sigma_l", - "sigma_r", - "frac_wide", - "sigma_g1", - "sigma_wide", - ] - components: - model: - fn: "SUM::sigrefl(frac_refl[0.,1.]*refl, sig)" - - ptrange: [1., 2.] - per_ptjet: true - range: [1.72, 2.02] - fix_params: ["frac_refl"] - free_params: ["sigma_g1"] - fix_params_ptjet: ["mean", "sigma_g1"] - components: - bkg: - fn: "Exponential::bkg(m, alpha[-100,0])" - model: - fn: "SUM::sum(frac[0.,1.]*sigrefl, bkg)" - - ptrange: [2., 3.] - per_ptjet: true - fix_params: ["frac_refl"] - free_params: ["sigma_g1"] - fix_params_ptjet: ["mean", "sigma_g1"] - range: [1.72, 2.04] - components: - bkg: - fn: "Exponential::bkg(m, alpha[-100,0])" - model: - fn: "SUM::sum(frac[0.,1.]*sigrefl, bkg)" - - ptrange: [3., 4.] - per_ptjet: true - fix_params: ["frac_refl"] - free_params: ["sigma_g1"] - fix_params_ptjet: ["mean", "sigma_g1"] - range: [1.72, 2.06] - components: - bkg: - fn: "Exponential::bkg(m, alpha[-100,0])" - model: - fn: "SUM::sum(frac[0.,1.]*sigrefl, bkg)" - - ptrange: [4., 5.] - per_ptjet: true - fix_params: ["frac_refl"] - free_params: ["sigma_g1"] - fix_params_ptjet: ["mean", "sigma_g1"] - # fix_params: ['mean', 'sigma_g1', 'frac_refl'] - range: [1.72, 2.08] - components: - bkg: - fn: "Exponential::bkg(m, alpha[-100,0])" - model: - fn: "SUM::sum(frac[0.,1.]*sigrefl, bkg)" - - ptrange: [5., 6.] - per_ptjet: true - fix_params: ["frac_refl"] - free_params: ["sigma_g1"] - fix_params_ptjet: ["mean", "sigma_g1"] - range: [1.72, 2.10] - components: - bkg: - fn: "Exponential::bkg(m, alpha[-100,0])" - model: - fn: "SUM::sum(frac[0.,1.]*sigrefl, bkg)" - - ptrange: [6., 8.] - per_ptjet: true - fix_params: ["frac_refl"] - free_params: ["sigma_g1"] - fix_params_ptjet: ["mean", "sigma_g1"] - range: [1.72, 2.14] - components: - bkg: - fn: "Exponential::bkg(m, alpha[-100,0])" - model: - fn: "SUM::sum(frac[0.,1.]*sigrefl, bkg)" - - range: [1.72, 2.20] - per_ptjet: true - fix_params: ["frac_refl"] - free_params: ["sigma_g1"] - fix_params_ptjet: ["mean", "sigma_g1"] - components: - bkg: - fn: "Exponential::bkg(m, alpha[-100,0])" - model: - fn: "SUM::sum(frac[0.,1.]*sigrefl, bkg)" - - sidesub_per_ptjet: true - sidesub: - - level: mc - regions: - left: [-2., -2.] - signal: [-2., 2.] - right: [3., 3.] - - ptrange: [16., 100.] - regions: - left: [-2., -2.] - signal: [-2., 2.] # systematics - right: [3., 5.] # systematics - - regions: - left: [-5.5, -3.] # systematics - signal: [-2., 2.] # systematics - right: [3., 5.5] # systematics - - # mass_fit: - # func_sig: 'gaus' - # func_bkg: 'expo' - # # par_start: {1: 1.86} - # # par_fix: {1: 1.86} - # par_constrain: {1: [1.85, 1.87], 2: [.01, .08]} - # range: [1.695, 2.06] - mass_fit_lim: [1.5, 2.22] # histogram range of the invariant mass distribution [GeV/c^2]; used in processer for binarray_mass (not used for fit range!) - bin_width: 0.001 # bin width of the invariant mass histogram # systematics? - n_rebin: 3 # number of mass bins to merge - efficiency: - extra_cols: - ["isd0", "isd0bar", "seld0", "seld0bar", "mlBkgScore"] - filter_det: "(isd0 & seld0) or (isd0bar & seld0bar)" - index_match: fIndexArrayD0CMCPJETOS_hf - correction_method: run3 - - unfolding_iterations: 8 # used, maximum iteration - unfolding_iterations_sel: 5 # used, selected iteration # systematics - unfolding_prior_flatness: 0. # ranges from 0. (no flatness) to 1. (flat) - - closure: - pure_signal: false - # exclude_feeddown_det: 'ismcsignal==1 & ismcprompt==1' - # exclude_feeddown_gen: 'ismcsignal_gen==1 & ismcprompt_gen==1' - # filter_reflections: '(isd0 & seld0) or (isd0bar & seld0bar)' - use_matched: true - - frac_mcana: .2 # fraction of MC sample for the closure - fd_root: "/data2/vkucera/powheg/trees_powheg_fd_central.root" # systematics - fd_parquet: "/data2/jklein/powheg/trees_powheg_fd_central.parquet" # systematics - - # obsolete? - proc_type: Jets # used - useperiod: [1] #list of periods # used - # usejetptbinned_deff: false - # doeff_resp: true #efficiency correction for the response matrix - # unmatched_gen: true - latexnamehadron: "D^{0}" - # latexnamedecay: "K^{#minus} #pi^{#plus}" - var_binning2: pt_jet - # var_binning2_gen: pt_gen_jet - latexbin2var: "#it{p}_{T}^{jet ch}" - # sel_binmin2_reco: [5, 7, 15, 30] # rec jet pt bins (sel_binmin2_reco bins) - # sel_binmax2_reco: [7, 15, 30, 50] # rec jet pt bins (sel_binmin2_reco bins) - # sel_binmin2_gen: [5, 7, 15, 30] # rec jet pt bins (sel_binmin2_reco bins) - # sel_binmax2_gen: [7, 15, 30, 50] # rec jet pt bins (sel_binmin2_reco bins) - # var_binningshape: zg_jet - # var_binningshape_gen: zg_gen_jet - # var_shape_latex: "shape" - # sel_binminshape_reco: [-0.1,0.1,0.2,0.3,0.4] - # sel_binmaxshape_reco: [0.1,0.2,0.3,0.4,0.5] - # sel_binminshape_gen: [-0.1,0.1,0.2,0.3,0.4] - # sel_binmaxshape_gen: [0.1,0.2,0.3,0.4,0.5] - # sel_closure_frac: 0.2 - # triggerbit: INT7 - #jetsel_gen: "abs(y_cand) < 0.8 and abs(z_vtx_gen) < 10 and abs(eta_jet) < 0.5" - #jetsel_sim: "abs(y_cand) < 0.8 and abs(eta_jet) < 0.5" # jet selection in simulations - #jetsel_reco: "abs(y_cand) < 0.8 and abs(z_vtx_reco) < 10 and abs(eta_jet) < 0.5" - #jetsel_gen_matched_reco: "abs(eta_gen_jet) < 5.0" - # jetsel_gen: "abs(y_cand) < 0.5 and abs(z_vtx_gen) < 10 and abs(eta_jet) < 0.5" - # jetsel_sim: "abs(y_cand) < 0.5 and abs(eta_jet) < 0.5" # jet selection in simulations - # jetsel_reco: "abs(y_cand) < 0.5 and abs(z_vtx_reco) < 10 and abs(eta_jet) < 0.5" - # jetsel_gen_matched_reco: "abs(y_cand) < 0.5 and abs(z_vtx_gen) < 10 and abs(eta_gen_jet) < 0.5" - evtsel: null # fIsEventReject==0 - triggersel: - data: "trigger_hasbit_INT7==1" - mc: null - data: &data_out_default - runselection: [null] #FIXME # used but useless - results: [ - "/home/${USER}/mlhep/d0jet/jet_obs/default/default/data/results", - ] #list of periods - resultsallp: "/home/${USER}/mlhep/d0jet/jet_obs/default/default/data/results_all" - mc: &mc_out_default - runselection: [null] #FIXME # used but useless - results: [ - "/home/${USER}/mlhep/d0jet/jet_obs/default/default/mc/results", - ] #list of periods - resultsallp: "/home/${USER}/mlhep/d0jet/jet_obs/default/default/mc/results_all" - data_proc: # alternative processor output used as the analyzer input - <<: *data_out_default - mc_proc: # alternative processor output used as the analyzer input - <<: *mc_out_default - - # simple fitter START # used in cplusutilities/mass_fitter.C - # sgnfunc: [0,0,0,0,0,0,0,0,0,0,0,0] # kGaus=0, k2Gaus=1, k2GausSigmaRatioPar=2 (sel_an_binmin bins) - # bkgfunc: [0,0,0,0,0,0,0,0,0,0,0,0] # kExpo=0, kLin=1, kPol2=2, kNoBk=3, kPow=4, kPowEx=5 (sel_an_binmin bins) - # masspeak: 1.864 - # massmin: [1.66,1.66,1.66,1.66,1.66,1.66,1.66,1.66,1.66,1.66,1.66,1.66] # sel_an_binmin bins, fit region of the invariant mass distribution [GeV/c^2] - # massmax: [2.06,2.06,2.06,2.06,2.06,2.06,2.06,2.06,2.06,2.06,2.06,2.06] # sel_an_binmin bins, fit region of the invariant mass distribution [GeV/c^2] - # rebin: [6,6,6,6,6,6,6,6,6,6,6,6] # sel_an_binmin bins - # fix_mean: [false, false, false, false, false, false, false, false, false, false, false, false] # sel_an_binmin bins - # masspeaksec: 1.864 - - # obsolete (uses Ali... fitter) - # If SetArraySigma true: sigma_initial is taken from sigmaarray; false: sigma_initial is taken from MC - # If SetFixGaussianSigma true: sigma fixed to sigma_initial - # SetFixGaussianSigma: [false, false, false, false, false, false, false, false, false, false, false, false] # sel_an_binmin bins - # SetFixGaussianSigma: [true, true, true, true, true, true, true, true, true, true, true, true] # sel_an_binmin bins - # SetArraySigma: [false, false, false, false, false, false, false, false, false, false, false, false] # sel_an_binmin bins - # sigmaarray: [0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01] # initial sigma (sel_an_binmin bins) - - # fix_sigmasec: [true, true, true, true, true, true, true, true, true, true, true, true] # sel_an_binmin bins - # sigmaarraysec: [0.007497,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01] # sel_an_binmin bins - # use_reflections: true - # simple fitter END - - # signal_sigma: 2.0 - # sigma_scale: 0.9545 - # sideband_sigma_1_left: 4 - # sideband_sigma_2_left: 9 - # sideband_sigma_1_right: 4 - # sideband_sigma_2_right: 9 - # sidebandleftonly: false - - # niterunfolding: 15 - # niterunfoldingchosen: 4 - - # doprior: false - # domodeldep: false - # path_modeldep: /home/nzardosh/PYTHIA_Sim/PYTHIA8_Simulations/Plots/D0_Substructure_Simulations_Output.root - - # replace with fd_root... - # powheg_path_nonprompt: /data/POWHEG/trees_powheg_fd_central.root - # powheg_path_prompt: /data/POWHEG/trees_powheg_pr_central.root - # powheg_prompt_variations_path: /data/POWHEG/trees_powheg_pr_ - # powheg_prompt_variations: ["F1_R05","F05_R1","F2_R1","F1_R2","F2_R2","F05_R05","Mhigh","Mlow"] - - # pythia8_prompt_variations_path: /data/PYTHIA8/trees_pythia8_pr_ - # pythia8_prompt_variations: ["default", "charm_lo"] #["default","colour0soft"] - # pythia8_prompt_variations_legend: ["PYTHIA 8 (Monash)", "PYTHIA 8 charm LO"] # ["PYTHIA 8 (Monash)","PYTHIA 8 SoftQCD, mode 0"] - - variations_db: database_variations_D0Jet_pp_jet_obs.yml - - # Additional cuts applied before mass histogram is filled - use_cuts: True # systematics - cuts: [ - "mlBkgScore < 0.02", - "mlBkgScore < 0.02", - "mlBkgScore < 0.02", - "mlBkgScore < 0.05", - "mlBkgScore < 0.06", - "mlBkgScore < 0.08", - "mlBkgScore < 0.08", - "mlBkgScore < 0.10", - "mlBkgScore < 0.10", - "mlBkgScore < 0.20", - "mlBkgScore < 0.25", - "mlBkgScore < 0.30", - ] # (sel_an_binmin bins) systematics FIXME: Update for new model. - - systematics: # used in machine_learning_hep/analysis/systematics.py - probvariation: - useperiod: [0, 0, 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.80, 0.80, 0.6, 0.3, 0.3] #Min starting point for scan - cutvarmaxrange: [0.98, 0.95, 0.95, 0.95, 0.95] #Max starting point for scan - fixedmean: True #Fix mean cutvar histo to central fit - fixedsigma: True #Fix sigma cutvar histo to central fit - mcptshape: - #FONLL / generated LHC19h4c1 - weights: [1.000000] - #From SetPtWeightsFromFONLL13overLHC17c3a12 in AliPhysics - #weights: [1.429770] - weights_min_pt: 0 - weights_max_pt: 40 - weights_bins: 400 + doml: true + mass: 1.86484 + sel_reco_unp: "fPt > 1." + sel_reco_singletrac_unp: null + sel_gen_unp: "fPt > 1." + sel_cen_unp: null + sel_good_evt_unp: null + # sel_reco_skim: ["mlBkgScore < 0.02", "mlBkgScore < 0.04", "mlBkgScore < 0.06", "mlBkgScore < .08", "mlBkgScore < 0.14", "mlBkgScore < 0.26", "mlBkgScore < 0.46", "mlBkgScore < 0.52"] # (sel_skim_binmin bins) FIXME: Update for new model. + sel_reco_skim: [null, null, null, null, null, null, null, null] # (sel_skim_binmin bins) FIXME: Update for new model. + sel_gen_skim: [null, null, null, null, null, null, null, null] # (sel_skim_binmin bins) FIXME: Update for new model. + sel_skim_binmin: [1, 3, 4, 5, 6, 8, 12, 16] # skimming pt bins (sel_skim_binmin bins) FIXME: Update for new model. + sel_skim_binmax: [3, 4, 5, 6, 8, 12, 16, 48] # skimming pt bins (sel_skim_binmin bins) FIXME: Update for new model. + var_binning: fPt + dofullevtmerge: false + + # obsolete, to be removed + # 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: ismcrefl + isstd: [[1], []] + ismcsignal: [[0], []] + ismcprompt: [[0], [1]] + ismcfd: [[1], [0]] + ismcbkg: [[], [1]] + ismcrefl: [[1], [1]] # probably missing from tree creator + + #region dfs + dfs: + read: + evtorig: + index: fIndexHfD0McCollBases + trees: + O2hfd0collbase: [fNumContrib, fPosZ] + filter: "abs(fPosZ) < 10." + collcnt: + trees: + O2collcount: [fReadCounts, fReadCountsWithTVX, fReadCountsWithTVXAndZVertexAndSel8, fReadCountsWithTVXAndZVertexAndSelMC] + bccnt: + trees: + O2bccount: [fReadCountsWithTVX, fReadCountsWithTVXAndNoTFB, fReadCountsWithTVXAndNoTFBAndNoITSROFB] + + collgen: # TODO: check if we can use the HF collision table instead + level: gen + index: fIndexD0CMCPJETCOS + trees: + O2d0cmcpjetco: [fPosZ, fCentrality, fEventSel] + filter: "abs(fPosZ) < 10." + jetgen: + level: gen + index: fIndexD0CMCPJETOS + trees: + O2hfd0pbase: [fIndexHfD0McCollBases, fPt, fEta, fPhi, fFlagMcMatchGen, fOriginMcGen] + O2d0cmcpjeto: [fIndexD0CMCPJETCOS, fJetPt, fJetPhi, fJetEta, fJetNConstituents, fJetR] + O2d0cmcpjetmo: [fIndexArrayD0CMCDJETOS_hf, fIndexArrayD0CMCDJETOS_geo, fIndexArrayD0CMCDJETOS_pt] + O2d0cmcpjetsso: [fEnergyMother, fPtLeading, fPtSubLeading, fTheta, fNSub2DR, fNSub1, fNSub2, fAngularity, fPairPt, fPairEnergy, fPairTheta] + extra: + fY: log((sqrt(1.864**2 + (fPt * cosh(fEta))**2) + fPt * sinh(fEta)) / sqrt(1.864**2 + fPt**2)) #TODO : change mass or make sure Lc mass is updated + tags: + ismcsignal: {var: fFlagMcMatchGen, req: [[0], []], abs: true} + ismcbkg: {var: fFlagMcMatchGen, req: [[], [0]], abs: true} + ismcprompt: {var: fOriginMcGen, req: [[0], [1]]} + ismcfd: {var: fOriginMcGen, req: [[1], [0]]} + filter: "fPt >= 1. and abs(fY) <= 0.8 and abs(fJetEta) < (.9 - (fJetR / 100.))" # TODO: check jet eta cut + + colldet: + level: det + index: fIndexD0CMCDJETCOS + trees: + O2d0cmcdjetco: [fPosZ, fCentrality, fEventSel] + filter: "abs(fPosZ) < 10." + jetdet: + level: det + index: fIndexD0CMCDJETOS + trees: # add EEC columns + O2hfd0base: [fIndexHfD0CollBases, fPt, fEta, fPhi, fM] + O2hfd0mc: [fFlagMcMatchRec, fOriginMcRec] + # O2hfd0par: + # [ + # fCpa, + # fCpaXY, + # fChi2PCA, + # fDecayLength, + # fDecayLengthXY, + # fDecayLengthNormalised, + # fDecayLengthXYNormalised, + # fImpactParameter0, + # fImpactParameter1, + # fImpactParameterNormalised0, + # fImpactParameterNormalised1, + # fPtProng0, + # fPtProng1, + # fNSigTpcPiExpPi, + # fNSigTpcKaExpPi, + # fNSigTpcPiExpKa, + # fNSigTpcKaExpKa, + # ] + # O2hfd0pare: + # [ + # fErrorDecayLength, + # fErrorDecayLengthXY, + # fErrorImpactParameter0, + # fErrorImpactParameter1, + # ] + O2hfd0sel: [fCandidateSelFlag] + O2hfd0ml: [fMlScores] + O2d0cmcdjeto: [fIndexD0CMCDJETCOS, fJetPt, fJetPhi, fJetEta, fJetNConstituents, fJetR] + O2d0cmcdjetmo: [fIndexArrayD0CMCPJETOS_hf, fIndexArrayD0CMCPJETOS_geo, fIndexArrayD0CMCPJETOS_pt] + O2d0cmcdjetsso: [fEnergyMother, fPtLeading, fPtSubLeading, fTheta, fNSub2DR, fNSub1, fNSub2, fAngularity, fPairPt, fPairEnergy, fPairTheta] + extra: + fY: log((sqrt(1.864**2 + (fPt * cosh(fEta))**2) + fPt * sinh(fEta)) / sqrt(1.864**2 + fPt**2)) #TODO : change mass or make sure Lc mass is updated + isd0: fFlagMcMatchRec == 1 + isd0bar: fFlagMcMatchRec == -1 + tags: + ismcsignal: {var: fFlagMcMatchRec, req: [[0], []], abs: True} + ismcbkg: {var: fFlagMcMatchRec, req: [[], [0]], abs: True} + seld0: {var: fCandidateSelFlag, req: [[0], []]} + seld0bar: {var: fCandidateSelFlag, req: [[1], []]} + ismcprompt: {var: fOriginMcRec, req: [[0], [1]]} + ismcfd: {var: fOriginMcRec, req: [[1], [0]]} + extract_component: + - {var: fMlScores, newvar: mlBkgScore, component: 0} + filter: "fPt >= 1. and abs(fY) <= 0.8 and abs(fJetEta) < (.9 - (fJetR / 100.))" # TODO: check jet eta cut + # filter: "fPt >= 1. and abs(fY) <= 0.8 and abs(fJetEta) < (.9 - (fJetR / 100.)) and fJetPt > 5." # TODO: check jet eta cut + # filter: "(fPt > 5 and abs(fY) < 0.8) or (fPt <= 5 and abs(fY) < -0.2/15 * fPt**2 + 1.9/15 * fPt + 0.5)" # TODO: check what we want + + colldata: + level: data + index: fIndexD0CJETCOS + trees: + O2d0cjetco: [fPosZ, fCentrality, fEventSel] + filter: "abs(fPosZ) < 10." # systematics? + jetdata: + level: data + index: fIndexD0CJETOS + trees: + O2hfd0base: [fIndexHfD0CollBases, fPt, fEta, fPhi, fM] + # O2hfd0par: + # [ + # fCpa, + # fCpaXY, + # fChi2PCA, + # fDecayLength, + # fDecayLengthXY, + # fDecayLengthNormalised, + # fDecayLengthXYNormalised, + # fImpactParameter0, + # fImpactParameter1, + # fImpactParameterNormalised0, + # fImpactParameterNormalised1, + # fPtProng0, + # fPtProng1, + # fNSigTpcPiExpPi, + # fNSigTpcKaExpPi, + # fNSigTpcPiExpKa, + # fNSigTpcKaExpKa, + # ] + # O2hfd0pare: + # [ + # fErrorDecayLength, + # fErrorDecayLengthXY, + # fErrorImpactParameter0, + # fErrorImpactParameter1, + # ] + O2hfd0ml: [fMlScores] + O2hfd0sel: [fCandidateSelFlag] + O2d0cjeto: [fIndexD0CJETCOS, fJetPt, fJetPhi, fJetEta, fJetNConstituents, fJetR] + O2d0cjetsso: [fEnergyMother, fPtLeading, fPtSubLeading, fTheta, fNSub2DR, fNSub1, fNSub2, fAngularity, fPairPt, fPairEnergy, fPairTheta] + extra: + fY: log((sqrt(1.864**2 + (fPt * cosh(fEta))**2) + fPt * sinh(fEta)) / sqrt(1.864**2 + fPt**2)) #TODO : change mass or make sure Lc mass is updated + extract_component: + - {var: fMlScores, newvar: mlBkgScore, component: 0} + filter: "fPt >= 1. and abs(fY) <= 0.8 and abs(fJetEta) < (.9 - (fJetR / 100.))" # TODO: check jet eta cut + + merge: + - {base: jetgen, ref: evtorig} + - {base: jetdet, ref: colldet} + - {base: jetdata, ref: colldata} + # workaround for yamlfmt issue #110 + + write: + jetgen: + level: gen + file: AnalysisResultsGen.parquet + jetdet: + level: det + file: AnalysisResultsReco.parquet + jetdata: + level: data + file: AnalysisResultsReco.parquet + evtorig: + level: all + file: AnalysisResultsEvtOrig.parquet + evt: + level: all + source: evtorig + file: AnalysisResultsEvt.parquet + collcnt: + level: all + file: AnalysisResultsCollCnt.parquet + bccnt: + level: all + file: AnalysisResultsBcCnt.parquet + + variables: + var_all: [fDecayLength, fDecayLengthXY, fDecayLengthNormalised, fDecayLengthXYNormalised, fCpa, fCpaXY, fImpactParameter0, fImpactParameter1, fErrorImpactParameter0, fErrorImpactParameter1, fNSigTpcPiExpPi, fNSigTpcKaExpPi, fNSigTpcPiExpKa, fNSigTpcKaExpKa] + var_training: [[fDecayLength, fDecayLengthXY, fDecayLengthNormalised, fDecayLengthXYNormalised, fCpa, fCpaXY, fImpactParameter0, fImpactParameter1, fErrorImpactParameter0, fErrorImpactParameter1, fNSigTpcPiExpPi, fNSigTpcKaExpPi, fNSigTpcPiExpKa, fNSigTpcKaExpKa], [fDecayLength, fDecayLengthXY, fDecayLengthNormalised, fDecayLengthXYNormalised, fCpa, fCpaXY, fImpactParameter0, fImpactParameter1, fErrorImpactParameter0, fErrorImpactParameter1, fNSigTpcPiExpPi, fNSigTpcKaExpPi, fNSigTpcPiExpKa, fNSigTpcKaExpKa], [fDecayLength, fDecayLengthXY, fDecayLengthNormalised, fDecayLengthXYNormalised, fCpa, fCpaXY, fImpactParameter0, fImpactParameter1, fErrorImpactParameter0, fErrorImpactParameter1, fNSigTpcPiExpPi, fNSigTpcKaExpPi, fNSigTpcPiExpKa, fNSigTpcKaExpKa], [fDecayLength, fDecayLengthXY, fDecayLengthNormalised, fDecayLengthXYNormalised, fCpa, fCpaXY, fImpactParameter0, fImpactParameter1, fErrorImpactParameter0, fErrorImpactParameter1, fNSigTpcPiExpPi, fNSigTpcKaExpPi, fNSigTpcPiExpKa, fNSigTpcKaExpKa], [fDecayLength, fDecayLengthXY, fDecayLengthNormalised, fDecayLengthXYNormalised, fCpa, fCpaXY, fImpactParameter0, fImpactParameter1, fErrorImpactParameter0, fErrorImpactParameter1, fNSigTpcPiExpPi, fNSigTpcKaExpPi, fNSigTpcPiExpKa, fNSigTpcKaExpKa], [fDecayLength, fDecayLengthXY, fDecayLengthNormalised, fDecayLengthXYNormalised, fCpa, fCpaXY, fImpactParameter0, fImpactParameter1, fErrorImpactParameter0, fErrorImpactParameter1, fNSigTpcPiExpPi, fNSigTpcKaExpPi, fNSigTpcPiExpKa, fNSigTpcKaExpKa], [fDecayLength, fDecayLengthXY, fDecayLengthNormalised, fDecayLengthXYNormalised, fCpa, fCpaXY, fImpactParameter0, fImpactParameter1, fErrorImpactParameter0, fErrorImpactParameter1, fNSigTpcPiExpPi, fNSigTpcKaExpPi, fNSigTpcPiExpKa, fNSigTpcKaExpKa]] + #TODO: add new variables for dca, max_norm_d0d0exp + # sel_skim_binmin bins + var_boundaries: [fCosThetaStar, fPtProng] + var_correlation: + - [fCosThetaStar] # TODO: update + - [fPtProng0] + var_signal: signal + var_class: class + var_inv_mass: fM + var_y: fY + var_evt_sel: fIsEventReject + var_cuts: + - [fPtProng0, lt, null] + - [fPtProng1, lt, null] + + plot_options: + prob_cut_scan: + fPtProng0: + xlim: + - 0 + - 1 + fPtProng1: + xlim: + - 0 + - 1 + eff_cut_scan: + fPtProng0: + xlim: + - 0 + - 1 + fPtProng1: + xlim: + - 0 + - 1 + + 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: mcweights.root + treeoutput: "D0tree" + histofilename: "masshisto.root" + efffilename: "effhisto.root" + respfilename: "resphisto.root" + crossfilename: "cross_section_tot.root" + resultfilename: "results.root" + + #region multi + multi: + data: + nprocessesparallel: 80 + maxfiles: [1] #list of periods + chunksizeunp: [100] #list of periods + chunksizeskim: [100] #list of periods + fracmerge: [.1] #list of periods + seedmerge: [12] #list of periods + period: [LHC22o] #list of periods + select_period: [1] + prefix_dir: /data2/MLhep/real/train_318624/ # full stats new + # prefix_dir: /data2/MLhep/real/train_257023/ # full stats + # prefix_dir: /data2/MLhep/real/train_240309/ # Andrea's model + # prefix_dir: /data2/MLhep/real/train_245508/ # pass7 + # prefix_dir: /data2/MLhep/real/train_245509/ # no TOF + # prefix_dir: /data2/MLhep/real/train_245510/ # no PID + # prefix_dir: /data2/MLhep/real/train_245511/ # full PID + unmerged_tree_dir: [/alice/] #list of periods + pkl: ["${USER}/d0jet/pkl"] #list of periods + pkl_skimmed: ["${USER}/d0jet/pklsk"] #list of periods + pkl_skimmed_merge_for_ml: ["${USER}/d0jet/pklskml"] #list of periods + pkl_skimmed_merge_for_ml_all: "${USER}/d0jet/pp_data_mltot" + pkl_evtcounter_all: "${USER}/d0jet/pp_data_evttot" + mcreweights: [../Analyses] #list of periods + mc: + nprocessesparallel: 80 + maxfiles: [1] #list of periods + chunksizeunp: [100] #list of periods + chunksizeskim: [1000] #list of periods + fracmerge: [1.] #list of periods + seedmerge: [12] #list of periods + period: [LHC24d3b] #list of periods + select_period: [1] + prefix_dir: /data2/MLhep/sim/train_318983/ # full stats new + # prefix_dir: /data2/MLhep/sim/train_257228/ # full stats + # prefix_dir: /data2/MLhep/sim/train_259454/ # 97 % tracking eff + # prefix_dir: /data2/MLhep/sim/train_239774/ # Andrea's model + # prefix_dir: /data2/MLhep/sim/train_244893/ # no TOF + # prefix_dir: /data2/MLhep/sim/train_244894/ # no PID + # prefix_dir: /data2/MLhep/sim/train_244895/ # full PID + unmerged_tree_dir: [alice/] + pkl: ["${USER}/d0jet/pkl"] #list of periods + pkl_skimmed: ["${USER}/d0jet/pklsk"] #list of periods + pkl_skimmed_merge_for_ml: ["${USER}/d0jet/pklskml"] #list of periods + pkl_skimmed_merge_for_ml_all: "${USER}/d0jet/pp_mc_prod_mltot" + pkl_evtcounter_all: "${USER}/d0jet/pp_mc_prod_evttot" + mcreweights: [../Analyses] #list of periods + + ml: + evtsel: null # TODO: fIsEventReject == 0 + triggersel: + data: null + mc: null + + nbkg: 500000 + nsig: 500000 + mult_bkg: [1, 1, 1, 1, 1, 1, 1] + nclasses: [20000, 20000] + sampletags: [0, 1] + equalise_sig_bkg: True + # sampletagforsignal: 1 + # sampletagforbkg: 0 + sel_ml: [fM<1.8 or fM>1.92, ismcprompt == 1] + sel_bkg: fM<1.8 or fM>1.92 + class_labels: [bkg, sig] + nkfolds: 5 + rnd_shuffle: 12 + rnd_splt: 12 + rnd_all: 12 + test_frac: 0.2 + binmin: [1, 2, 4, 6, 8, 12, 24] # must be equal to sel_skim_binmin (sel_skim_binmin bins) + binmax: [2, 4, 6, 8, 12, 24, 48] # must be equal to sel_skim_binmax (sel_skim_binmin bins) + mltype: BinaryClassification + ncorescrossval: 10 + prefix_dir_ml: /data2/jklein/MLhep/ + mlplot: mlplot + mlout: mlout + + opt: + isFONLLfromROOT: true + filename_fonll: "data/fonll/D0DplusDstarPredictions_13TeV_y05_all_300416_BDShapeCorrected.root" # file with FONLL predictions + fonll_particle: "hD0Kpipred" + fonll_pred: "max" # edge of the FONLL prediction + FF: 0.6086 # 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: 3.95e-2 # branching ratio of the decay D0 -> K- pi+ + f_prompt: 0.9 # estimated fraction of prompt candidates + bkg_data_fraction: 0.1 # 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] # sel_skim_binmin bins + # presel_gen_eff: "abs(fY) < 0.5 and abs(fPosZ) < 10" + presel_gen_eff: "fPt > 0." # TODO: fix + + mlapplication: + data: + prefix_dir_app: /data2/jklein/ + 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/jklein/ + pkl_skimmed_dec: [LHC22pp_mc/MLapplication/prod_LHC22b1b/skpkldecmc] #list of periods + pkl_skimmed_decmerged: [LHC22pp_mc/MLapplication/prod_LHC22b1b/skpkldecmcmerged] #list of periods + modelname: xgboost + modelsperptbin: [xgboost_classifierD0pp_jet_dfselection_fPt_1.0_2.0.sav, xgboost_classifierD0pp_jet_dfselection_fPt_2.0_4.0.sav, xgboost_classifierD0pp_jet_dfselection_fPt_4.0_6.0.sav, xgboost_classifierD0pp_jet_dfselection_fPt_6.0_8.0.sav, xgboost_classifierD0pp_jet_dfselection_fPt_8.0_12.0.sav, xgboost_classifierD0pp_jet_dfselection_fPt_12.0_24.0.sav, xgboost_classifierD0pp_jet_dfselection_fPt_24.0_48.0.sav] # sel_skim_binmin bins + probcutpresel: + data: [0.75, 0.75, 0.65, 0.65, 0.45, 0.45, 0.45, .45] # sel_skim_binmin bins + mc: [0.75, 0.75, 0.65, 0.65, 0.45, 0.45, 0.45, .45] # sel_skim_binmin bins + probcutoptimal: [0.92, 0.90, 0.82, 0.80, 0.60, 0.60, 0.60, .45] # sel_skim_binmin bins + + #region analysis + analysis: + anahptspectrum: "D0Kpi" #D0Kpi, DplusKpipi, DstarD0pi, DsKKpi, LctopKpi, LcK0Sp # used in analysis/analyzerdhadrons_mult.py + fd_method: "Nb" #fc, Nb + cctype: "pp" + inputfonllpred: data/fonll/D0DplusDstarPredictions_13TeV_y05_all_300416_BDShapeCorrected.root # used in machine_learning_hep/hf_pt_spectrum.py + dir_general_plots: /data2/jklein/data/analysis_plots + + jet_obs: &jet_default + sel_an_binmin: [1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 16, 24] # hadron pt bins (sel_an_binmin bins) + sel_an_binmax: [2, 3, 4, 5, 6, 7, 8, 10, 12, 16, 24, 48] # hadron pt bins (sel_an_binmin bins) # FIXME: move the last edge in sel_an_binmin + bins_ptjet: [5, 7, 15, 30, 50, 70] # systematics, TODO: split rec and gen binning + bins_ptjet_eff: [2, 5, 7, 15, 30, 50, 70, 90] # systematics, TODO: split rec and gen binning + cand_collidx: fIndexHfD0CollBases + counter_read_data: fReadCountsWithTVXAndZVertexAndSel8 + counter_read_mc: fReadCountsWithTVXAndZVertexAndSelMC + counter_tvx: fReadCountsWithTVX + xsection_inel: 59.4 # (mb) cross-section of minimum-bias events # used # systematics + lumi_scale_mc: 408 # charm enhancement factor in MC to scale the MC luminosity + branching_ratio: 3.947e-2 # used + + observables: + zg: + bins_gen_var: [-.1, .0, .05, .1, .15, .2, .25, .3, .35, .4, .45, .5] + bins_det_var: [-.1, .0, .05, .1, .15, .2, .25, .3, .35, .4, .45, .5] + label: "#it{z}_{g}" + label_y: "(1/#it{N}_{jet ch}) d#it{N}/d#it{z}_{g}" + nsd: + bins_gen_fix: [7, -.5, 6.5] + bins_det_fix: [7, -.5, 6.5] + label: "#it{n}_{SD}" + label_y: "(1/#it{N}_{jet ch}) d#it{N}/d#it{n}_{SD}" + rg: + bins_gen_var: [-.1, .0, .05, .1, .15, .2, .25, .3, .35, .4, .45, .5] + bins_det_var: [-.1, .0, .05, .1, .15, .2, .25, .3, .35, .4, .45, .5] + label: "#it{R}_{g}" + label_y: "(1/#it{N}_{jet ch}) d#it{N}/d#it{R}_{g}" + zpar: + # bins_gen_fix: [10, 0., 1.] + # bins_det_fix: [10, 0., 1.] + bins_gen_var: [0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95, 1.] + bins_det_var: [0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95, 1.] + label: "#it{z}_{#parallel}" + label_y: "(1/#it{N}_{jet ch}) d#it{N}/d#it{z}_{#parallel}" + dr: + bins_gen_fix: [10, 0., 1.] + bins_det_fix: [10, 0., 1.] + label: "#Delta#it{r}" + lntheta: + bins_gen_fix: [8, 1., 5.] + bins_det_fix: [8, 1., 5.] + label: "#minusln(#it{#theta})" + arraycols: [3] + lnkt: + bins_gen_fix: [8, -4., 4.] + bins_det_fix: [8, -4., 4.] + label: "ln(#it{k}_{T}/(GeV/#it{c}))" + arraycols: [3] + lntheta-lnkt: + arraycols: [3, 4] + # new variables + fEnergyMother: + bins_gen_fix: [1, 0., 100.] + bins_det_fix: [1, 0., 100.] + arraycols: [3] + # lntheta-lnkt-fEnergyMother: + # arraycols: [3, 4, 5] + fJetNConstituents: + bins_gen_fix: [5, 0., 20.] + bins_det_fix: [5, 0., 20.] + zpar-fJetNConstituents: {} + nsub21: + # TODO: check for 1-track jets + bins_gen_fix: [11, -1., 1.] + bins_det_fix: [11, -1., 1.] + eecweight: + # TODO: adjust binning + bins_gen_fix: [10, 0., 1.] + bins_det_fix: [10, 0., 1.] + arraycols: [3] + fPairTheta-eecweight: + arraycols: [3, 4] + + data_selections: + mcsig: + level: mc + query: "(isd0 & seld0) or (isd0bar & seld0bar)" + mcrefl: + level: mc + query: "(isd0 & seld0bar) or (isd0bar & seld0)" + + corr_refl: true # systematics + fit_levels: ["mcsig", "mcrefl", "mc", "data"] + + pdf_names: + pdf_sig: "sig" + pdf_bkg: "bkg" + param_names: + mass: "m" + gauss_mean: "mean" + gauss_sigma: "sigma_g1" + double_gauss_sigma: "wide" + fraction_refl: "frac_refl" + + mass_roofit: + - level: mcsig + datasel: mcsig + range: [1.69, 2.04] # systematics? or propagate bg fit uncertainty directly? + components: + sig: + fn: "Gaussian::peak(m[1.,5.], mean[1.85,1.89], sigma_g1[.01,.06])" + bkg: + fn: "Gaussian::wide(m, mean, sigma_wide[.05,1.])" + model: + fn: "SUM::sig(frac_wide[0.,.3]*wide, peak)" + - level: mcrefl + ptrange: [1., 3.] + datasel: mcrefl + range: [1.69, 2.04] + components: + refl_l: + fn: "Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.001,.1])" + refl_r: + fn: "Gaussian::refl_r(m, mean_r[1.865,2.0], sigma_r[.001,.1])" + model: + fn: "SUM::refl(frac_l[0.1,.9]*refl_l, refl_r)" + - level: mcrefl + ptrange: [3., 4.] + datasel: mcrefl + range: [1.68, 2.06] + components: + refl_l: + fn: "Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.2])" + refl_r: + fn: "Gaussian::refl_r(m, mean_r[1.865,2.0], sigma_r[.01,.2])" + model: + fn: "SUM::refl(frac_l[0.,1.]*refl_l, refl_r)" + - level: mcrefl + ptrange: [4., 5.] + datasel: mcrefl + range: [1.64, 2.08] + components: + refl_l: + fn: "Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.2])" + refl_r: + fn: "Gaussian::refl_r(m, mean_r[1.865,2.0], sigma_r[.01,.2])" + model: + fn: "SUM::refl(frac_l[0.,1.]*refl_l, refl_r)" + - level: mcrefl + ptrange: [5., 6.] + datasel: mcrefl + range: [1.64, 2.10] + components: + refl_l: + fn: "Gaussian::refl_l(m, mean_l[1.8,1.865], sigma_l[.01,.2])" + refl_r: + fn: "Gaussian::refl_r(m, mean_r[1.865,2.0], sigma_r[.01,.2])" + model: + fn: "SUM::refl(frac_l[0.,1.]*refl_l, refl_r)" + - level: mcrefl + ptrange: [6., 8.] + datasel: mcrefl + range: [1.60, 2.14] + components: + refl_l: + fn: "Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.2])" + refl_r: + fn: "Gaussian::refl_r(m, mean_r[1.865,2.1], sigma_r[.01,.2])" + model: + fn: "SUM::refl(frac_l[0.,1.]*refl_l, refl_r)" + - level: mcrefl + ptrange: [8., 12.] + datasel: mcrefl + range: [1.52, 2.30] + components: + refl_l: + fn: "Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.2])" + refl_r: + fn: "Gaussian::refl_r(m, mean_r[1.865,2.1], sigma_r[.01,.2])" + model: + fn: "SUM::refl(frac_l[0.,1.]*refl_l, refl_r)" + - level: mcrefl + ptrange: [12., 48.] + datasel: mcrefl + range: [1.40, 2.4] + components: + refl_l: + fn: "Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.2])" + refl_r: + fn: "Gaussian::refl_r(m, mean_r[1.865,2.1], sigma_r[.01,.2])" + model: + fn: "SUM::refl(frac_l[0.,1.]*refl_l, refl_r)" + - level: mc + ptrange: [1., 3.] + range: [1.69, 2.04] + fix_params: ["frac_l", "mean_l", "mean_r", "sigma_l", "sigma_r", "frac_wide", "sigma_g1", "sigma_wide"] + components: + model: + fn: "SUM::sigrefl(frac_refl[0.,1.]*refl, sig)" + - level: mc + ptrange: [3., 4.] + range: [1.68, 2.06] + fix_params: ["frac_l", "mean_l", "mean_r", "sigma_l", "sigma_r", "frac_wide", "sigma_g1", "sigma_wide"] + components: + model: + fn: "SUM::sigrefl(frac_refl[0.,1.]*refl, sig)" + - level: mc + ptrange: [4., 5.] + range: [1.64, 2.08] + fix_params: ["frac_l", "mean_l", "mean_r", "sigma_l", "sigma_r", "frac_wide", "sigma_g1", "sigma_wide"] + components: + model: + fn: "SUM::sigrefl(frac_refl[0.,1.]*refl, sig)" + - level: mc + ptrange: [5., 6.] + range: [1.64, 2.10] + fix_params: ["frac_l", "mean_l", "mean_r", "sigma_l", "sigma_r", "frac_wide", "sigma_g1", "sigma_wide"] + components: + model: + fn: "SUM::sigrefl(frac_refl[0.,1.]*refl, sig)" + - level: mc + ptrange: [6., 8.] + range: [1.60, 2.14] + fix_params: ["frac_l", "mean_l", "mean_r", "sigma_l", "sigma_r", "frac_wide", "sigma_g1", "sigma_wide"] + components: + model: + fn: "SUM::sigrefl(frac_refl[0.,1.]*refl, sig)" + - level: mc + ptrange: [8., 12.] + range: [1.52, 2.30] + fix_params: ["frac_l", "mean_l", "mean_r", "sigma_l", "sigma_r", "frac_wide", "sigma_g1", "sigma_wide"] + components: + model: + fn: "SUM::sigrefl(frac_refl[0.,1.]*refl, sig)" + - level: mc + ptrange: [12., 48.] + range: [1.40, 2.40] + fix_params: ["frac_l", "mean_l", "mean_r", "sigma_l", "sigma_r", "frac_wide", "sigma_g1", "sigma_wide"] + components: + model: + fn: "SUM::sigrefl(frac_refl[0.,1.]*refl, sig)" + - ptrange: [1., 2.] + per_ptjet: true + range: [1.72, 2.02] + fix_params: ["frac_refl"] + free_params: ["sigma_g1"] + fix_params_ptjet: ["mean", "sigma_g1"] + components: + bkg: + fn: "Exponential::bkg(m, alpha[-100,0])" + model: + fn: "SUM::sum(frac[0.,1.]*sigrefl, bkg)" + - ptrange: [2., 3.] + per_ptjet: true + fix_params: ["frac_refl"] + free_params: ["sigma_g1"] + fix_params_ptjet: ["mean", "sigma_g1"] + range: [1.72, 2.04] + components: + bkg: + fn: "Exponential::bkg(m, alpha[-100,0])" + model: + fn: "SUM::sum(frac[0.,1.]*sigrefl, bkg)" + - ptrange: [3., 4.] + per_ptjet: true + fix_params: ["frac_refl"] + free_params: ["sigma_g1"] + fix_params_ptjet: ["mean", "sigma_g1"] + range: [1.72, 2.06] + components: + bkg: + fn: "Exponential::bkg(m, alpha[-100,0])" + model: + fn: "SUM::sum(frac[0.,1.]*sigrefl, bkg)" + - ptrange: [4., 5.] + per_ptjet: true + fix_params: ["frac_refl"] + free_params: ["sigma_g1"] + fix_params_ptjet: ["mean", "sigma_g1"] + # fix_params: ['mean', 'sigma_g1', 'frac_refl'] + range: [1.72, 2.08] + components: + bkg: + fn: "Exponential::bkg(m, alpha[-100,0])" + model: + fn: "SUM::sum(frac[0.,1.]*sigrefl, bkg)" + - ptrange: [5., 6.] + per_ptjet: true + fix_params: ["frac_refl"] + free_params: ["sigma_g1"] + fix_params_ptjet: ["mean", "sigma_g1"] + range: [1.72, 2.10] + components: + bkg: + fn: "Exponential::bkg(m, alpha[-100,0])" + model: + fn: "SUM::sum(frac[0.,1.]*sigrefl, bkg)" + - ptrange: [6., 8.] + per_ptjet: true + fix_params: ["frac_refl"] + free_params: ["sigma_g1"] + fix_params_ptjet: ["mean", "sigma_g1"] + range: [1.72, 2.14] + components: + bkg: + fn: "Exponential::bkg(m, alpha[-100,0])" + model: + fn: "SUM::sum(frac[0.,1.]*sigrefl, bkg)" + - range: [1.72, 2.20] + per_ptjet: true + fix_params: ["frac_refl"] + free_params: ["sigma_g1"] + fix_params_ptjet: ["mean", "sigma_g1"] + components: + bkg: + fn: "Exponential::bkg(m, alpha[-100,0])" + model: + fn: "SUM::sum(frac[0.,1.]*sigrefl, bkg)" + + sidesub_per_ptjet: true + sidesub: + - level: mc + regions: + left: [-2., -2.] + signal: [-2., 2.] + right: [3., 3.] + - ptrange: [16., 100.] + regions: + left: [-2., -2.] + signal: [-2., 2.] # systematics + right: [3., 5.] # systematics + - regions: + left: [-5.5, -3.] # systematics + signal: [-2., 2.] # systematics + right: [3., 5.5] # systematics + + # mass_fit: + # func_sig: 'gaus' + # func_bkg: 'expo' + # # par_start: {1: 1.86} + # # par_fix: {1: 1.86} + # par_constrain: {1: [1.85, 1.87], 2: [.01, .08]} + # range: [1.695, 2.06] + mass_fit_lim: [1.5, 2.22] # histogram range of the invariant mass distribution [GeV/c^2]; used in processer for binarray_mass (not used for fit range!) + bin_width: 0.001 # bin width of the invariant mass histogram # systematics? + n_rebin: 3 # number of mass bins to merge + efficiency: + extra_cols: ["isd0", "isd0bar", "seld0", "seld0bar", "mlBkgScore"] + filter_det: "(isd0 & seld0) or (isd0bar & seld0bar)" + index_match: fIndexArrayD0CMCPJETOS_hf + correction_method: run3 + + unfolding_iterations: 8 # used, maximum iteration + unfolding_iterations_sel: 5 # used, selected iteration # systematics + unfolding_prior_flatness: 0. # ranges from 0. (no flatness) to 1. (flat) + + closure: + pure_signal: false + # exclude_feeddown_det: 'ismcsignal==1 & ismcprompt==1' + # exclude_feeddown_gen: 'ismcsignal_gen==1 & ismcprompt_gen==1' + # filter_reflections: '(isd0 & seld0) or (isd0bar & seld0bar)' + use_matched: true + + frac_mcana: .2 # fraction of MC sample for the closure + fd_root: "/data2/vkucera/powheg/trees_powheg_fd_central.root" # systematics + fd_parquet: "/data2/jklein/powheg/trees_powheg_fd_central.parquet" # systematics + + # obsolete? + proc_type: Jets # used + useperiod: [1] #list of periods # used + # usejetptbinned_deff: false + # doeff_resp: true #efficiency correction for the response matrix + # unmatched_gen: true + latexnamehadron: "D^{0}" + # latexnamedecay: "K^{#minus} #pi^{#plus}" + var_binning2: pt_jet + # var_binning2_gen: pt_gen_jet + latexbin2var: "#it{p}_{T}^{jet ch}" + # sel_binmin2_reco: [5, 7, 15, 30] # rec jet pt bins (sel_binmin2_reco bins) + # sel_binmax2_reco: [7, 15, 30, 50] # rec jet pt bins (sel_binmin2_reco bins) + # sel_binmin2_gen: [5, 7, 15, 30] # rec jet pt bins (sel_binmin2_reco bins) + # sel_binmax2_gen: [7, 15, 30, 50] # rec jet pt bins (sel_binmin2_reco bins) + # var_binningshape: zg_jet + # var_binningshape_gen: zg_gen_jet + # var_shape_latex: "shape" + # sel_binminshape_reco: [-0.1,0.1,0.2,0.3,0.4] + # sel_binmaxshape_reco: [0.1,0.2,0.3,0.4,0.5] + # sel_binminshape_gen: [-0.1,0.1,0.2,0.3,0.4] + # sel_binmaxshape_gen: [0.1,0.2,0.3,0.4,0.5] + # sel_closure_frac: 0.2 + # triggerbit: INT7 + #jetsel_gen: "abs(y_cand) < 0.8 and abs(z_vtx_gen) < 10 and abs(eta_jet) < 0.5" + #jetsel_sim: "abs(y_cand) < 0.8 and abs(eta_jet) < 0.5" # jet selection in simulations + #jetsel_reco: "abs(y_cand) < 0.8 and abs(z_vtx_reco) < 10 and abs(eta_jet) < 0.5" + #jetsel_gen_matched_reco: "abs(eta_gen_jet) < 5.0" + # jetsel_gen: "abs(y_cand) < 0.5 and abs(z_vtx_gen) < 10 and abs(eta_jet) < 0.5" + # jetsel_sim: "abs(y_cand) < 0.5 and abs(eta_jet) < 0.5" # jet selection in simulations + # jetsel_reco: "abs(y_cand) < 0.5 and abs(z_vtx_reco) < 10 and abs(eta_jet) < 0.5" + # jetsel_gen_matched_reco: "abs(y_cand) < 0.5 and abs(z_vtx_gen) < 10 and abs(eta_gen_jet) < 0.5" + evtsel: null # fIsEventReject==0 + triggersel: + data: "trigger_hasbit_INT7==1" + mc: null + data: &data_out_default + runselection: [null] #FIXME # used but useless + results: ["/home/${USER}/mlhep/d0jet/jet_obs/default/default/data/results"] #list of periods + resultsallp: "/home/${USER}/mlhep/d0jet/jet_obs/default/default/data/results_all" + mc: &mc_out_default + runselection: [null] #FIXME # used but useless + results: ["/home/${USER}/mlhep/d0jet/jet_obs/default/default/mc/results"] #list of periods + resultsallp: "/home/${USER}/mlhep/d0jet/jet_obs/default/default/mc/results_all" + data_proc: # alternative processor output used as the analyzer input + <<: *data_out_default + mc_proc: # alternative processor output used as the analyzer input + <<: *mc_out_default + + # simple fitter START # used in cplusutilities/mass_fitter.C + # sgnfunc: [0,0,0,0,0,0,0,0,0,0,0,0] # kGaus=0, k2Gaus=1, k2GausSigmaRatioPar=2 (sel_an_binmin bins) + # bkgfunc: [0,0,0,0,0,0,0,0,0,0,0,0] # kExpo=0, kLin=1, kPol2=2, kNoBk=3, kPow=4, kPowEx=5 (sel_an_binmin bins) + # masspeak: 1.864 + # massmin: [1.66,1.66,1.66,1.66,1.66,1.66,1.66,1.66,1.66,1.66,1.66,1.66] # sel_an_binmin bins, fit region of the invariant mass distribution [GeV/c^2] + # massmax: [2.06,2.06,2.06,2.06,2.06,2.06,2.06,2.06,2.06,2.06,2.06,2.06] # sel_an_binmin bins, fit region of the invariant mass distribution [GeV/c^2] + # rebin: [6,6,6,6,6,6,6,6,6,6,6,6] # sel_an_binmin bins + # fix_mean: [false, false, false, false, false, false, false, false, false, false, false, false] # sel_an_binmin bins + # masspeaksec: 1.864 + + # obsolete (uses Ali... fitter) + # If SetArraySigma true: sigma_initial is taken from sigmaarray; false: sigma_initial is taken from MC + # If SetFixGaussianSigma true: sigma fixed to sigma_initial + # SetFixGaussianSigma: [false, false, false, false, false, false, false, false, false, false, false, false] # sel_an_binmin bins + # SetFixGaussianSigma: [true, true, true, true, true, true, true, true, true, true, true, true] # sel_an_binmin bins + # SetArraySigma: [false, false, false, false, false, false, false, false, false, false, false, false] # sel_an_binmin bins + # sigmaarray: [0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01] # initial sigma (sel_an_binmin bins) + + # fix_sigmasec: [true, true, true, true, true, true, true, true, true, true, true, true] # sel_an_binmin bins + # sigmaarraysec: [0.007497,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01] # sel_an_binmin bins + # use_reflections: true + # simple fitter END + + # signal_sigma: 2.0 + # sigma_scale: 0.9545 + # sideband_sigma_1_left: 4 + # sideband_sigma_2_left: 9 + # sideband_sigma_1_right: 4 + # sideband_sigma_2_right: 9 + # sidebandleftonly: false + + # niterunfolding: 15 + # niterunfoldingchosen: 4 + + # doprior: false + # domodeldep: false + # path_modeldep: /home/nzardosh/PYTHIA_Sim/PYTHIA8_Simulations/Plots/D0_Substructure_Simulations_Output.root + + # replace with fd_root... + # powheg_path_nonprompt: /data/POWHEG/trees_powheg_fd_central.root + # powheg_path_prompt: /data/POWHEG/trees_powheg_pr_central.root + # powheg_prompt_variations_path: /data/POWHEG/trees_powheg_pr_ + # powheg_prompt_variations: ["F1_R05","F05_R1","F2_R1","F1_R2","F2_R2","F05_R05","Mhigh","Mlow"] + + # pythia8_prompt_variations_path: /data/PYTHIA8/trees_pythia8_pr_ + # pythia8_prompt_variations: ["default", "charm_lo"] #["default","colour0soft"] + # pythia8_prompt_variations_legend: ["PYTHIA 8 (Monash)", "PYTHIA 8 charm LO"] # ["PYTHIA 8 (Monash)","PYTHIA 8 SoftQCD, mode 0"] + + variations_db: database_variations_D0Jet_pp_jet_obs.yml + + # Additional cuts applied before mass histogram is filled + use_cuts: True # systematics + cuts: ["mlBkgScore < 0.02", "mlBkgScore < 0.02", "mlBkgScore < 0.02", "mlBkgScore < 0.05", "mlBkgScore < 0.06", "mlBkgScore < 0.08", "mlBkgScore < 0.08", "mlBkgScore < 0.10", "mlBkgScore < 0.10", "mlBkgScore < 0.20", "mlBkgScore < 0.25", "mlBkgScore < 0.30"] # (sel_an_binmin bins) systematics FIXME: Update for new model. + + systematics: # used in machine_learning_hep/analysis/systematics.py + probvariation: + useperiod: [0, 0, 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.80, 0.80, 0.6, 0.3, 0.3] #Min starting point for scan + cutvarmaxrange: [0.98, 0.95, 0.95, 0.95, 0.95] #Max starting point for scan + fixedmean: True #Fix mean cutvar histo to central fit + fixedsigma: True #Fix sigma cutvar histo to central fit + mcptshape: + #FONLL / generated LHC19h4c1 + weights: [1.000000] + #From SetPtWeightsFromFONLL13overLHC17c3a12 in AliPhysics + #weights: [1.429770] + weights_min_pt: 0 + weights_max_pt: 40 + weights_bins: 400 diff --git a/machine_learning_hep/data/data_run3/database_ml_parameters_D0pp_jet_run2cmp.yml b/machine_learning_hep/data/data_run3/database_ml_parameters_D0pp_jet_run2cmp.yml index 6879850c44..015485f93a 100644 --- a/machine_learning_hep/data/data_run3/database_ml_parameters_D0pp_jet_run2cmp.yml +++ b/machine_learning_hep/data/data_run3/database_ml_parameters_D0pp_jet_run2cmp.yml @@ -1,3 +1,4 @@ +--- ############################################################################# ## © Copyright CERN 2018. All rights not expressly granted are reserved. ## ## Author: Gian.Michele.Innocenti@cern.ch ## @@ -22,9 +23,9 @@ D0jet_pp_run2: sel_good_evt_unp: null sel_reco_skim: ["mlBkgScore < 0.02", "mlBkgScore < 0.04", "mlBkgScore < 0.06", "mlBkgScore < .08", "mlBkgScore < 0.14", "mlBkgScore < 0.26", "mlBkgScore < 0.46", "mlBkgScore < 0.52"] # sel_reco_skim: [null,null,null,null,null,null,null] # sel_skim_binmin bins - sel_gen_skim: [null,null,null,null,null,null,null,null] # sel_skim_binmin bins - sel_skim_binmin: [2,3,4,5,6,8,12,16] # skimming pt bins (sel_skim_binmin bins) - sel_skim_binmax: [3,4,5,6,8,12,16,48] # skimming pt bins (sel_skim_binmin bins) + sel_gen_skim: [null, null, null, null, null, null, null, null] # sel_skim_binmin bins + sel_skim_binmin: [2, 3, 4, 5, 6, 8, 12, 16] # skimming pt bins (sel_skim_binmin bins) + sel_skim_binmax: [3, 4, 5, 6, 8, 12, 16, 48] # skimming pt bins (sel_skim_binmin bins) var_binning: fPt dofullevtmerge: false @@ -42,12 +43,12 @@ D0jet_pp_run2: var_ismcfd: ismcfd var_ismcbkg: ismcbkg var_ismcrefl: ismcrefl - isstd : [[1],[]] - ismcsignal: [[0],[]] - ismcprompt: [[0],[1]] - ismcfd: [[1],[0]] - ismcbkg: [[],[1]] - ismcrefl: [[1],[1]] # probably missing from tree creator + isstd: [[1], []] + ismcsignal: [[0], []] + ismcprompt: [[0], [1]] + ismcfd: [[1], [0]] + ismcbkg: [[], [1]] + ismcrefl: [[1], [1]] # probably missing from tree creator #region dfs dfs: @@ -76,10 +77,10 @@ D0jet_pp_run2: extra: fY: log((sqrt(1.864**2 + (fPt * cosh(fEta))**2) + fPt * sinh(fEta)) / sqrt(1.864**2 + fPt**2)) #TODO : change mass or make sure Lc mass is updated tags: - ismcsignal: {var: fFlagMcMatchGen, req: [[0],[]], abs: true} - ismcbkg: {var: fFlagMcMatchGen, req: [[],[0]], abs: true} - ismcprompt: {var: fOriginMcGen, req: [[0],[1]]} - ismcfd: {var: fOriginMcGen, req: [[1],[0]]} + ismcsignal: {var: fFlagMcMatchGen, req: [[0], []], abs: true} + ismcbkg: {var: fFlagMcMatchGen, req: [[], [0]], abs: true} + ismcprompt: {var: fOriginMcGen, req: [[0], [1]]} + ismcfd: {var: fOriginMcGen, req: [[1], [0]]} filter: "fPt >= 2. and abs(fY) <= 0.8 and abs(fJetEta) < (.9 - (fJetR / 100.))" # TODO: check jet eta cut colldet: @@ -93,15 +94,8 @@ D0jet_pp_run2: trees: # add EEC columns O2hfd0base: [fIndexHfD0CollBases, fPt, fEta, fPhi, fM] O2hfd0mc: [fFlagMcMatchRec, fOriginMcRec] - O2hfd0par: [fCpa, fCpaXY, fChi2PCA, - fDecayLength, fDecayLengthXY, fDecayLengthNormalised, fDecayLengthXYNormalised, - fImpactParameter0, fImpactParameter1, - fImpactParameterNormalised0, fImpactParameterNormalised1, - fPtProng0, fPtProng1, - fNSigTpcPi0, fNSigTpcKa0, fNSigTpcPi1, fNSigTpcKa1, - fNSigTofPi0, fNSigTofKa0, fNSigTofPi1, fNSigTofKa1] - O2hfd0pare: [fErrorDecayLength, fErrorDecayLengthXY, - fErrorImpactParameter0, fErrorImpactParameter1] + O2hfd0par: [fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, fDecayLengthNormalised, fDecayLengthXYNormalised, fImpactParameter0, fImpactParameter1, fImpactParameterNormalised0, fImpactParameterNormalised1, fPtProng0, fPtProng1, fNSigTpcPi0, fNSigTpcKa0, fNSigTpcPi1, fNSigTpcKa1, fNSigTofPi0, fNSigTofKa0, fNSigTofPi1, fNSigTofKa1] + O2hfd0pare: [fErrorDecayLength, fErrorDecayLengthXY, fErrorImpactParameter0, fErrorImpactParameter1] O2hfd0sel: [fCandidateSelFlag] O2hfd0ml: [fMlScores] O2d0cmcdjeto: [fIndexD0CMCDJETCOS, fJetPt, fJetPhi, fJetEta, fJetNConstituents, fJetR] @@ -116,8 +110,8 @@ D0jet_pp_run2: ismcbkg: {var: fFlagMcMatchRec, req: [[], [0]], abs: True} seld0: {var: fCandidateSelFlag, req: [[0], []]} seld0bar: {var: fCandidateSelFlag, req: [[1], []]} - ismcprompt: {var: fOriginMcRec, req: [[0],[1]]} - ismcfd: {var: fOriginMcRec, req: [[1],[0]]} + ismcprompt: {var: fOriginMcRec, req: [[0], [1]]} + ismcfd: {var: fOriginMcRec, req: [[1], [0]]} extract_component: - {var: fMlScores, newvar: mlBkgScore, component: 0} filter: "fPt >= 2. and abs(fY) <= 0.8 and abs(fJetEta) < (.9 - (fJetR / 100.))" # TODO: check jet eta cut @@ -134,15 +128,8 @@ D0jet_pp_run2: index: fIndexD0CJETOS trees: O2hfd0base: [fIndexHfD0CollBases, fPt, fEta, fPhi, fM] - O2hfd0par: [fCpa, fCpaXY, fChi2PCA, - fDecayLength, fDecayLengthXY, fDecayLengthNormalised, fDecayLengthXYNormalised, - fImpactParameter0, fImpactParameter1, - fImpactParameterNormalised0, fImpactParameterNormalised1, - fPtProng0, fPtProng1, - fNSigTpcPi0, fNSigTpcKa0, fNSigTpcPi1, fNSigTpcKa1, - fNSigTofPi0, fNSigTofKa0, fNSigTofPi1, fNSigTofKa1] - O2hfd0pare: [fErrorDecayLength, fErrorDecayLengthXY, - fErrorImpactParameter0, fErrorImpactParameter1] + O2hfd0par: [fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, fDecayLengthNormalised, fDecayLengthXYNormalised, fImpactParameter0, fImpactParameter1, fImpactParameterNormalised0, fImpactParameterNormalised1, fPtProng0, fPtProng1, fNSigTpcPi0, fNSigTpcKa0, fNSigTpcPi1, fNSigTpcKa1, fNSigTofPi0, fNSigTofKa0, fNSigTofPi1, fNSigTofKa1] + O2hfd0pare: [fErrorDecayLength, fErrorDecayLengthXY, fErrorImpactParameter0, fErrorImpactParameter1] O2hfd0ml: [fMlScores] O2hfd0sel: [fCandidateSelFlag] O2d0cjeto: [fIndexD0CJETCOS, fJetPt, fJetPhi, fJetEta, fJetNConstituents, fJetR] @@ -157,6 +144,7 @@ D0jet_pp_run2: # - {base: jetgen, ref: collgen} - {base: jetdet, ref: colldet} - {base: jetdata, ref: colldata} + # workaround for yamlfmt issue #110 write: jetgen: @@ -182,8 +170,8 @@ D0jet_pp_run2: variables: var_all: [fDecayLength, fDecayLengthXY, fDecayLengthNormalised, fDecayLengthXYNormalised, fCpa, fCpaXY, fImpactParameter0, fImpactParameter1, fErrorImpactParameter0, fErrorImpactParameter1, fNSigTpcPi0, fNSigTpcKa0, fNSigTofPi0, fNSigTofKa0, fNSigTpcPi1, fNSigTpcKa1, fNSigTofPi1, fNSigTofKa1] var_training: [[fDecayLength, fDecayLengthXY, fDecayLengthNormalised, fDecayLengthXYNormalised, fCpa, fCpaXY, fImpactParameter0, fImpactParameter1, fErrorImpactParameter0, fErrorImpactParameter1, fNSigTpcPi0, fNSigTpcKa0, fNSigTofPi0, fNSigTofKa0, fNSigTpcPi1, fNSigTpcKa1, fNSigTofPi1, fNSigTofKa1], [fDecayLength, fDecayLengthXY, fDecayLengthNormalised, fDecayLengthXYNormalised, fCpa, fCpaXY, fImpactParameter0, fImpactParameter1, fErrorImpactParameter0, fErrorImpactParameter1, fNSigTpcPi0, fNSigTpcKa0, fNSigTofPi0, fNSigTofKa0, fNSigTpcPi1, fNSigTpcKa1, fNSigTofPi1, fNSigTofKa1], [fDecayLength, fDecayLengthXY, fDecayLengthNormalised, fDecayLengthXYNormalised, fCpa, fCpaXY, fImpactParameter0, fImpactParameter1, fErrorImpactParameter0, fErrorImpactParameter1, fNSigTpcPi0, fNSigTpcKa0, fNSigTofPi0, fNSigTofKa0, fNSigTpcPi1, fNSigTpcKa1, fNSigTofPi1, fNSigTofKa1], [fDecayLength, fDecayLengthXY, fDecayLengthNormalised, fDecayLengthXYNormalised, fCpa, fCpaXY, fImpactParameter0, fImpactParameter1, fErrorImpactParameter0, fErrorImpactParameter1, fNSigTpcPi0, fNSigTpcKa0, fNSigTofPi0, fNSigTofKa0, fNSigTpcPi1, fNSigTpcKa1, fNSigTofPi1, fNSigTofKa1], [fDecayLength, fDecayLengthXY, fDecayLengthNormalised, fDecayLengthXYNormalised, fCpa, fCpaXY, fImpactParameter0, fImpactParameter1, fErrorImpactParameter0, fErrorImpactParameter1, fNSigTpcPi0, fNSigTpcKa0, fNSigTofPi0, fNSigTofKa0, fNSigTpcPi1, fNSigTpcKa1, fNSigTofPi1, fNSigTofKa1], [fDecayLength, fDecayLengthXY, fDecayLengthNormalised, fDecayLengthXYNormalised, fCpa, fCpaXY, fImpactParameter0, fImpactParameter1, fErrorImpactParameter0, fErrorImpactParameter1, fNSigTpcPi0, fNSigTpcKa0, fNSigTofPi0, fNSigTofKa0, fNSigTpcPi1, fNSigTpcKa1, fNSigTofPi1, fNSigTofKa1], [fDecayLength, fDecayLengthXY, fDecayLengthNormalised, fDecayLengthXYNormalised, fCpa, fCpaXY, fImpactParameter0, fImpactParameter1, fErrorImpactParameter0, fErrorImpactParameter1, fNSigTpcPi0, fNSigTpcKa0, fNSigTofPi0, fNSigTofKa0, fNSigTpcPi1, fNSigTpcKa1, fNSigTofPi1, fNSigTofKa1]] - #TODO: add new variables for dca, max_norm_d0d0exp - # sel_skim_binmin bins + #TODO: add new variables for dca, max_norm_d0d0exp + # sel_skim_binmin bins var_boundaries: [fCosThetaStar, fPtProng] var_correlation: - [fCosThetaStar] # TODO: update @@ -194,8 +182,8 @@ D0jet_pp_run2: var_y: fY var_evt_sel: fIsEventReject var_cuts: - - [fPtProng0, lt, null] - - [fPtProng1, lt, null] + - [fPtProng0, lt, null] + - [fPtProng1, lt, null] plot_options: prob_cut_scan: @@ -239,7 +227,7 @@ D0jet_pp_run2: data: nprocessesparallel: 20 maxfiles: [-1] #list of periods - chunksizeunp: [100] #list of periods + chunksizeunp: [100] #list of periods chunksizeskim: [100] #list of periods fracmerge: [0.1] #list of periods seedmerge: [12] #list of periods @@ -281,7 +269,7 @@ D0jet_pp_run2: nbkg: 500000 nsig: 500000 - mult_bkg: [1,1,1,1,1,1,1] + mult_bkg: [1, 1, 1, 1, 1, 1, 1] nclasses: [20000, 20000] sampletags: [0, 1] equalise_sig_bkg: True @@ -295,8 +283,8 @@ D0jet_pp_run2: rnd_splt: 12 rnd_all: 12 test_frac: 0.2 - binmin: [1,2,4,6,8,12,24] # must be equal to sel_skim_binmin (sel_skim_binmin bins) - binmax: [2,4,6,8,12,24,48] # must be equal to sel_skim_binmax (sel_skim_binmin bins) + binmin: [1, 2, 4, 6, 8, 12, 24] # must be equal to sel_skim_binmin (sel_skim_binmin bins) + binmax: [2, 4, 6, 8, 12, 24, 48] # must be equal to sel_skim_binmax (sel_skim_binmin bins) mltype: BinaryClassification ncorescrossval: 10 prefix_dir_ml: /data2/jklein/MLhep/d0jet_run2cmp/ @@ -309,7 +297,7 @@ D0jet_pp_run2: fonll_particle: 'hD0Kpipred' fonll_pred: 'max' # edge of the FONLL prediction FF: 0.6086 # 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: 3.95e-2 # branching ratio of the decay D0 -> K- pi+ f_prompt: 0.9 # estimated fraction of prompt candidates @@ -317,7 +305,7 @@ D0jet_pp_run2: 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] # sel_skim_binmin bins + raahp: [1, 1, 1, 1, 1, 1, 1] # sel_skim_binmin bins # presel_gen_eff: "abs(fY) < 0.5 and abs(fPosZ) < 10" presel_gen_eff: "fPt > 0." # TODO: fix @@ -331,17 +319,11 @@ D0jet_pp_run2: pkl_skimmed_dec: [LHC22pp_mc/MLapplication/prod_LHC22b1b/skpkldecmc] #list of periods pkl_skimmed_decmerged: [LHC22pp_mc/MLapplication/prod_LHC22b1b/skpkldecmcmerged] #list of periods modelname: xgboost - modelsperptbin: [xgboost_classifierD0pp_jet_dfselection_fPt_1.0_2.0.sav, - xgboost_classifierD0pp_jet_dfselection_fPt_2.0_4.0.sav, - xgboost_classifierD0pp_jet_dfselection_fPt_4.0_6.0.sav, - xgboost_classifierD0pp_jet_dfselection_fPt_6.0_8.0.sav, - xgboost_classifierD0pp_jet_dfselection_fPt_8.0_12.0.sav, - xgboost_classifierD0pp_jet_dfselection_fPt_12.0_24.0.sav, - xgboost_classifierD0pp_jet_dfselection_fPt_24.0_48.0.sav] # sel_skim_binmin bins + modelsperptbin: [xgboost_classifierD0pp_jet_dfselection_fPt_1.0_2.0.sav, xgboost_classifierD0pp_jet_dfselection_fPt_2.0_4.0.sav, xgboost_classifierD0pp_jet_dfselection_fPt_4.0_6.0.sav, xgboost_classifierD0pp_jet_dfselection_fPt_6.0_8.0.sav, xgboost_classifierD0pp_jet_dfselection_fPt_8.0_12.0.sav, xgboost_classifierD0pp_jet_dfselection_fPt_12.0_24.0.sav, xgboost_classifierD0pp_jet_dfselection_fPt_24.0_48.0.sav] # sel_skim_binmin bins probcutpresel: - data: [0.75,0.75,0.65,0.65,0.45,0.45,0.45,.45] # sel_skim_binmin bins - mc: [0.75,0.75,0.65,0.65,0.45,0.45,0.45,.45] # sel_skim_binmin bins - probcutoptimal: [0.92,0.90,0.82,0.80,0.60,0.60,0.60,.45] # sel_skim_binmin bins + data: [0.75, 0.75, 0.65, 0.65, 0.45, 0.45, 0.45, .45] # sel_skim_binmin bins + mc: [0.75, 0.75, 0.65, 0.65, 0.45, 0.45, 0.45, .45] # sel_skim_binmin bins + probcutoptimal: [0.92, 0.90, 0.82, 0.80, 0.60, 0.60, 0.60, .45] # sel_skim_binmin bins #region analysis analysis: @@ -352,8 +334,8 @@ D0jet_pp_run2: dir_general_plots: /data2/jklein/data/analysis_plots jet_obs: &jet_default - sel_an_binmin: [2,3,4,5,6,7,8,10,12,16,24] # hadron pt bins (sel_an_binmin bins) - sel_an_binmax: [3,4,5,6,7,8,10,12,16,24,36] # hadron pt bins (sel_an_binmin bins) + sel_an_binmin: [2, 3, 4, 5, 6, 7, 8, 10, 12, 16, 24] # hadron pt bins (sel_an_binmin bins) + sel_an_binmax: [3, 4, 5, 6, 7, 8, 10, 12, 16, 24, 36] # hadron pt bins (sel_an_binmin bins) bins_ptjet: [5, 7, 15, 30, 50] sigmamb: 57.8e-3 #NB: multiplied by 1e12 before giving to HFPtSpectrum! @@ -661,17 +643,17 @@ D0jet_pp_run2: var_binning2: pt_jet var_binning2_gen: pt_gen_jet latexbin2var: "#it{p}_{T}^{jet ch}" - sel_binmin2_reco: [7.0,15.0,30.0] # rec jet pt bins (sel_binmin2_reco bins) - sel_binmax2_reco: [15.0,30.0,50.0] # rec jet pt bins (sel_binmin2_reco bins) - sel_binmin2_gen: [7.0,15.0,30.0] # gen jet pt bins (sel_binmin2_gen bins) - sel_binmax2_gen: [15.0,30.0,50.0] # gen jet pt bins (sel_binmin2_gen bins) + sel_binmin2_reco: [7.0, 15.0, 30.0] # rec jet pt bins (sel_binmin2_reco bins) + sel_binmax2_reco: [15.0, 30.0, 50.0] # rec jet pt bins (sel_binmin2_reco bins) + sel_binmin2_gen: [7.0, 15.0, 30.0] # gen jet pt bins (sel_binmin2_gen bins) + sel_binmax2_gen: [15.0, 30.0, 50.0] # gen jet pt bins (sel_binmin2_gen bins) var_binningshape: zg_jet var_binningshape_gen: zg_gen_jet var_shape_latex: "#it{z}_{g}" - sel_binminshape_reco: [-0.1,0.1,0.2,0.3,0.4] - sel_binmaxshape_reco: [0.1,0.2,0.3,0.4,0.5] - sel_binminshape_gen: [-0.1,0.1,0.2,0.3,0.4] - sel_binmaxshape_gen: [0.1,0.2,0.3,0.4,0.5] + sel_binminshape_reco: [-0.1, 0.1, 0.2, 0.3, 0.4] + sel_binmaxshape_reco: [0.1, 0.2, 0.3, 0.4, 0.5] + sel_binminshape_gen: [-0.1, 0.1, 0.2, 0.3, 0.4] + sel_binmaxshape_gen: [0.1, 0.2, 0.3, 0.4, 0.5] sel_closure_frac: 0.2 triggerbit: INT7 #jetsel_gen: "abs(y_cand) < 0.8 and abs(z_vtx_gen) < 10 and abs(eta_jet) < 0.5" @@ -700,12 +682,12 @@ D0jet_pp_run2: <<: *mc_out_default # simple fitter START - sgnfunc: [0,0,0,0,0,0,0,0,0,0,0,0] # kGaus=0, k2Gaus=1, k2GausSigmaRatioPar=2 (sel_an_binmin bins) - bkgfunc: [0,0,0,0,0,0,0,0,0,0,0,0] # kExpo=0, kLin=1, kPol2=2, kNoBk=3, kPow=4, kPowEx=5 (sel_an_binmin bins) + sgnfunc: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] # kGaus=0, k2Gaus=1, k2GausSigmaRatioPar=2 (sel_an_binmin bins) + bkgfunc: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] # kExpo=0, kLin=1, kPol2=2, kNoBk=3, kPow=4, kPowEx=5 (sel_an_binmin bins) masspeak: 1.864 - massmin: [1.66,1.66,1.66,1.66,1.66,1.66,1.66,1.66,1.66,1.66,1.66,1.66] # sel_an_binmin bins, fit region of the invariant mass distribution [GeV/c^2] - massmax: [2.06,2.06,2.06,2.06,2.06,2.06,2.06,2.06,2.06,2.06,2.06,2.06] # sel_an_binmin bins, fit region of the invariant mass distribution [GeV/c^2] - rebin: [6,6,6,6,6,6,6,6,6,6,6,6] # sel_an_binmin bins + massmin: [1.66, 1.66, 1.66, 1.66, 1.66, 1.66, 1.66, 1.66, 1.66, 1.66, 1.66, 1.66] # sel_an_binmin bins, fit region of the invariant mass distribution [GeV/c^2] + massmax: [2.06, 2.06, 2.06, 2.06, 2.06, 2.06, 2.06, 2.06, 2.06, 2.06, 2.06, 2.06] # sel_an_binmin bins, fit region of the invariant mass distribution [GeV/c^2] + rebin: [6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6] # sel_an_binmin bins fix_mean: [false, false, false, false, false, false, false, false, false, false, false, false] # sel_an_binmin bins masspeaksec: 1.864 @@ -714,10 +696,10 @@ D0jet_pp_run2: # SetFixGaussianSigma: [false, false, false, false, false, false, false, false, false, false, false, false] # sel_an_binmin bins SetFixGaussianSigma: [true, true, true, true, true, true, true, true, true, true, true, true] # sel_an_binmin bins SetArraySigma: [false, false, false, false, false, false, false, false, false, false, false, false] # sel_an_binmin bins - sigmaarray: [0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01] # initial sigma (sel_an_binmin bins) + sigmaarray: [0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01] # initial sigma (sel_an_binmin bins) fix_sigmasec: [true, true, true, true, true, true, true, true, true, true, true, true] # sel_an_binmin bins - sigmaarraysec: [0.007497,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01] # sel_an_binmin bins + sigmaarraysec: [0.007497, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01] # sel_an_binmin bins use_reflections: true # simple fitter END @@ -740,7 +722,7 @@ D0jet_pp_run2: powheg_path_prompt: /data/POWHEG/trees_powheg_pr_central.root powheg_prompt_variations_path: /data/POWHEG/trees_powheg_pr_ - powheg_prompt_variations: ["F1_R05","F05_R1","F2_R1","F1_R2","F2_R2","F05_R05","Mhigh","Mlow"] + powheg_prompt_variations: ["F1_R05", "F05_R1", "F2_R1", "F1_R2", "F2_R2", "F05_R05", "Mhigh", "Mlow"] pythia8_prompt_variations_path: /data/PYTHIA8/trees_pythia8_pr_ pythia8_prompt_variations: ["default", "charm_lo"] #["default","colour0soft"] @@ -768,21 +750,17 @@ D0jet_pp_run2: var_binningshape: rg_jet var_binningshape_gen: rg_gen_jet var_shape_latex: "#it{R}_{g}" - sel_binminshape_reco: [-0.1,0.0,0.1,0.2,0.3] - sel_binmaxshape_reco: [0.0,0.1,0.2,0.3,0.4] - sel_binminshape_gen: [-0.1,0.0,0.1,0.2,0.3] - sel_binmaxshape_gen: [0.0,0.1,0.2,0.3,0.4] + sel_binminshape_reco: [-0.1, 0.0, 0.1, 0.2, 0.3] + sel_binmaxshape_reco: [0.0, 0.1, 0.2, 0.3, 0.4] + sel_binminshape_gen: [-0.1, 0.0, 0.1, 0.2, 0.3] + sel_binmaxshape_gen: [0.0, 0.1, 0.2, 0.3, 0.4] data: &data_out_rg <<: *data_out_default - results: [/data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/rg/default/default/pp_2016_data/593_20210223-2051/resultsMBjetvspt, - /data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/rg/default/default/pp_2017_data/593_20210223-2051/resultsMBjetvspt, - /data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/rg/default/default/pp_2018_data/593_20210223-2051/resultsMBjetvspt] #list of periods + results: [/data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/rg/default/default/pp_2016_data/593_20210223-2051/resultsMBjetvspt, /data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/rg/default/default/pp_2017_data/593_20210223-2051/resultsMBjetvspt, /data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/rg/default/default/pp_2018_data/593_20210223-2051/resultsMBjetvspt] #list of periods resultsallp: /data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/rg/default/default/pp_data/resultsMBjetvspt mc: &mc_out_rg <<: *mc_out_default - results: [/data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/rg/default/default/pp_2016_mc_prodD2H/594_20210301-1015/resultsMBjetvspt, - /data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/rg/default/default/pp_2017_mc_prodD2H/594_20210301-1015/resultsMBjetvspt, - /data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/rg/default/default/pp_2018_mc_prodD2H/594_20210301-1015/resultsMBjetvspt] #list of periods + results: [/data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/rg/default/default/pp_2016_mc_prodD2H/594_20210301-1015/resultsMBjetvspt, /data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/rg/default/default/pp_2017_mc_prodD2H/594_20210301-1015/resultsMBjetvspt, /data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/rg/default/default/pp_2018_mc_prodD2H/594_20210301-1015/resultsMBjetvspt] #list of periods resultsallp: /data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/rg/default/default/pp_mc_prodD2H/resultsMBjetvspt data_proc: # alternative processor output used as the analyzer input <<: *data_out_rg @@ -796,20 +774,16 @@ D0jet_pp_run2: var_binningshape_gen: nsd_gen_jet var_shape_latex: "#it{n}_{SD}" sel_binminshape_reco: [-0.5, 0.5, 1.5, 2.5, 3.5] - sel_binmaxshape_reco: [0.5, 1.5, 2.5, 3.5, 4.5] - sel_binminshape_gen: [-0.5, 0.5, 1.5, 2.5, 3.5] - sel_binmaxshape_gen: [0.5, 1.5, 2.5, 3.5, 4.5] + sel_binmaxshape_reco: [0.5, 1.5, 2.5, 3.5, 4.5] + sel_binminshape_gen: [-0.5, 0.5, 1.5, 2.5, 3.5] + sel_binmaxshape_gen: [0.5, 1.5, 2.5, 3.5, 4.5] data: &data_out_nsd <<: *data_out_default - results: [/data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/nsd/default/default/pp_2016_data/593_20210223-2051/resultsMBjetvspt, - /data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/nsd/default/default/pp_2017_data/593_20210223-2051/resultsMBjetvspt, - /data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/nsd/default/default/pp_2018_data/593_20210223-2051/resultsMBjetvspt] #list of periods + results: [/data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/nsd/default/default/pp_2016_data/593_20210223-2051/resultsMBjetvspt, /data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/nsd/default/default/pp_2017_data/593_20210223-2051/resultsMBjetvspt, /data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/nsd/default/default/pp_2018_data/593_20210223-2051/resultsMBjetvspt] #list of periods resultsallp: /data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/nsd/default/default/pp_data/resultsMBjetvspt mc: &mc_out_nsd <<: *mc_out_default - results: [/data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/nsd/default/default/pp_2016_mc_prodD2H/594_20210301-1015/resultsMBjetvspt, - /data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/nsd/default/default/pp_2017_mc_prodD2H/594_20210301-1015/resultsMBjetvspt, - /data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/nsd/default/default/pp_2018_mc_prodD2H/594_20210301-1015/resultsMBjetvspt] #list of periods + results: [/data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/nsd/default/default/pp_2016_mc_prodD2H/594_20210301-1015/resultsMBjetvspt, /data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/nsd/default/default/pp_2017_mc_prodD2H/594_20210301-1015/resultsMBjetvspt, /data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/nsd/default/default/pp_2018_mc_prodD2H/594_20210301-1015/resultsMBjetvspt] #list of periods resultsallp: /data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/nsd/default/default/pp_mc_prodD2H/resultsMBjetvspt data_proc: # alternative processor output used as the analyzer input <<: *data_out_nsd @@ -820,31 +794,27 @@ D0jet_pp_run2: jet_FF: <<: *jet_default - pythia8_prompt_variations: ["default","colour2soft"] - pythia8_prompt_variations_legend: ["PYTHIA 8 (Monash)","PYTHIA 8 SoftQCD, mode 2"] + pythia8_prompt_variations: ["default", "colour2soft"] + pythia8_prompt_variations_legend: ["PYTHIA 8 (Monash)", "PYTHIA 8 SoftQCD, mode 2"] - sel_binmin2_reco: [5.0,7.0,10.0,15.0] # rec jet pt bins (sel_binmin2_reco bins) - sel_binmax2_reco: [7.0,10.0,15.0,50.0] # rec jet pt bins (sel_binmin2_reco bins) - sel_binmin2_gen: [5.0,7.0,10.0,15.0] # gen jet pt bins (sel_binmin2_gen bins) - sel_binmax2_gen: [7.0,10.0,15.0,50.0] # gen jet pt bins (sel_binmin2_gen bins) + sel_binmin2_reco: [5.0, 7.0, 10.0, 15.0] # rec jet pt bins (sel_binmin2_reco bins) + sel_binmax2_reco: [7.0, 10.0, 15.0, 50.0] # rec jet pt bins (sel_binmin2_reco bins) + sel_binmin2_gen: [5.0, 7.0, 10.0, 15.0] # gen jet pt bins (sel_binmin2_gen bins) + sel_binmax2_gen: [7.0, 10.0, 15.0, 50.0] # gen jet pt bins (sel_binmin2_gen bins) var_binningshape: z var_binningshape_gen: z_gen var_shape_latex: "#it{z}_{#parallel}^{ch}" - sel_binminshape_reco: [0.2001,0.4001,0.5001,0.6001,0.7001,0.8001,0.9001] - sel_binmaxshape_reco: [0.4001,0.5001,0.6001,0.7001,0.8001,0.9001,1.0001] - sel_binminshape_gen: [0.2001,0.4001,0.5001,0.6001,0.7001,0.8001,0.9001] - sel_binmaxshape_gen: [0.4001,0.5001,0.6001,0.7001,0.8001,0.9001,1.0001] + sel_binminshape_reco: [0.2001, 0.4001, 0.5001, 0.6001, 0.7001, 0.8001, 0.9001] + sel_binmaxshape_reco: [0.4001, 0.5001, 0.6001, 0.7001, 0.8001, 0.9001, 1.0001] + sel_binminshape_gen: [0.2001, 0.4001, 0.5001, 0.6001, 0.7001, 0.8001, 0.9001] + sel_binmaxshape_gen: [0.4001, 0.5001, 0.6001, 0.7001, 0.8001, 0.9001, 1.0001] data: &data_out_ff <<: *data_out_default - results: [/data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/ff/default/default/pp_2016_data/593_20210223-2051/resultsMBjetvspt, - /data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/ff/default/default/pp_2017_data/593_20210223-2051/resultsMBjetvspt, - /data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/ff/default/default/pp_2018_data/593_20210223-2051/resultsMBjetvspt] #list of periods + results: [/data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/ff/default/default/pp_2016_data/593_20210223-2051/resultsMBjetvspt, /data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/ff/default/default/pp_2017_data/593_20210223-2051/resultsMBjetvspt, /data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/ff/default/default/pp_2018_data/593_20210223-2051/resultsMBjetvspt] #list of periods resultsallp: /data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/ff/default/default/pp_data/resultsMBjetvspt mc: &mc_out_ff <<: *mc_out_default - results: [/data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/ff/default/default/pp_2016_mc_prodD2H/594_20210301-1015/resultsMBjetvspt, - /data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/ff/default/default/pp_2017_mc_prodD2H/594_20210301-1015/resultsMBjetvspt, - /data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/ff/default/default/pp_2018_mc_prodD2H/594_20210301-1015/resultsMBjetvspt] #list of periods + results: [/data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/ff/default/default/pp_2016_mc_prodD2H/594_20210301-1015/resultsMBjetvspt, /data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/ff/default/default/pp_2017_mc_prodD2H/594_20210301-1015/resultsMBjetvspt, /data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/ff/default/default/pp_2018_mc_prodD2H/594_20210301-1015/resultsMBjetvspt] #list of periods resultsallp: /data/DerivedResultsJets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/ff/default/default/pp_mc_prodD2H/resultsMBjetvspt data_proc: # alternative processor output used as the analyzer input <<: *data_out_ff @@ -858,42 +828,38 @@ D0jet_pp_run2: xsec: false use_inclusive_systematics: true - pythia8_prompt_variations: ["default","colour2soft"] - pythia8_prompt_variations_legend: ["PYTHIA 8 (Monash)","PYTHIA 8 SoftQCD, mode 2"] + pythia8_prompt_variations: ["default", "colour2soft"] + pythia8_prompt_variations_legend: ["PYTHIA 8 (Monash)", "PYTHIA 8 SoftQCD, mode 2"] var_binningshape: delta_r_jet var_binningshape_gen: delta_r_gen_jet var_shape_latex: "#it{r}" sel_binminshape_reco: [0., 0.05, 0.1] - sel_binmaxshape_reco: [0.05, 0.1, 0.2] - sel_binminshape_gen: [0., 0.05, 0.1] - sel_binmaxshape_gen: [0.05, 0.1, 0.2] - sel_an_binmin: [2,3,4,5] # hadron pt bins (sel_an_binmin bins) - sel_an_binmax: [3,4,5,6] # hadron pt bins (sel_an_binmin bins) - binning_matching: [1,1,2,2] # mapping to skimming pt bins (sel_an_binmin bins) + sel_binmaxshape_reco: [0.05, 0.1, 0.2] + sel_binminshape_gen: [0., 0.05, 0.1] + sel_binmaxshape_gen: [0.05, 0.1, 0.2] + sel_an_binmin: [2, 3, 4, 5] # hadron pt bins (sel_an_binmin bins) + sel_an_binmax: [3, 4, 5, 6] # hadron pt bins (sel_an_binmin bins) + binning_matching: [1, 1, 2, 2] # mapping to skimming pt bins (sel_an_binmin bins) sel_binmin2_reco: [3.0, 5.0, 7.0, 15.0] # rec jet pt bins (sel_binmin2_reco bins) - sel_binmax2_reco: [5.0, 7.0, 15.0, 30.0] # rec jet pt bins (sel_binmin2_reco bins) - sel_binmin2_gen: [3.0, 5.0, 7.0, 15.0] # gen jet pt bins (sel_binmin2_gen bins) - sel_binmax2_gen: [5.0, 7.0, 15.0, 30.0] # gen jet pt bins (sel_binmin2_gen bins) + sel_binmax2_reco: [5.0, 7.0, 15.0, 30.0] # rec jet pt bins (sel_binmin2_reco bins) + sel_binmin2_gen: [3.0, 5.0, 7.0, 15.0] # gen jet pt bins (sel_binmin2_gen bins) + sel_binmax2_gen: [5.0, 7.0, 15.0, 30.0] # gen jet pt bins (sel_binmin2_gen bins) cuts: - - Null - - Null - - Null - - Null + - Null + - Null + - Null + - Null data: &data_out_r_shape_2_6 <<: *data_out_default - results: [/data/Derived_testResults/Jets/D0kAnywithJets_Vit/2_6/vAN-20210223_ROOT6-1/r_shape/default/default/pp_2016_data/593_20210223-2051/resultsMBjetvspt, - /data/Derived_testResults/Jets/D0kAnywithJets_Vit/2_6/vAN-20210223_ROOT6-1/r_shape/default/default/pp_2017_data/593_20210223-2051/resultsMBjetvspt, - /data/Derived_testResults/Jets/D0kAnywithJets_Vit/2_6/vAN-20210223_ROOT6-1/r_shape/default/default/pp_2018_data/593_20210223-2051/resultsMBjetvspt] #list of periods + results: [/data/Derived_testResults/Jets/D0kAnywithJets_Vit/2_6/vAN-20210223_ROOT6-1/r_shape/default/default/pp_2016_data/593_20210223-2051/resultsMBjetvspt, /data/Derived_testResults/Jets/D0kAnywithJets_Vit/2_6/vAN-20210223_ROOT6-1/r_shape/default/default/pp_2017_data/593_20210223-2051/resultsMBjetvspt, /data/Derived_testResults/Jets/D0kAnywithJets_Vit/2_6/vAN-20210223_ROOT6-1/r_shape/default/default/pp_2018_data/593_20210223-2051/resultsMBjetvspt] #list of periods resultsallp: /data/Derived_testResults/Jets/D0kAnywithJets_Vit/2_6/vAN-20210223_ROOT6-1/r_shape/default/default/pp_data/resultsMBjetvspt resultslc: /data/Derived_testResults/Jets/Lc/2_6/vAN-20210223_ROOT6-1/r_shape/default/default/pp_data/resultsMBjetvspt mc: &mc_out_r_shape_2_6 <<: *mc_out_default - results: [/data/Derived_testResults/Jets/D0kAnywithJets_Vit/2_6/vAN-20210223_ROOT6-1/r_shape/default/default/pp_2016_mc_prodD2H/594_20210301-1015/resultsMBjetvspt, - /data/Derived_testResults/Jets/D0kAnywithJets_Vit/2_6/vAN-20210223_ROOT6-1/r_shape/default/default/pp_2017_mc_prodD2H/594_20210301-1015/resultsMBjetvspt, - /data/Derived_testResults/Jets/D0kAnywithJets_Vit/2_6/vAN-20210223_ROOT6-1/r_shape/default/default/pp_2018_mc_prodD2H/594_20210301-1015/resultsMBjetvspt] #list of periods + results: [/data/Derived_testResults/Jets/D0kAnywithJets_Vit/2_6/vAN-20210223_ROOT6-1/r_shape/default/default/pp_2016_mc_prodD2H/594_20210301-1015/resultsMBjetvspt, /data/Derived_testResults/Jets/D0kAnywithJets_Vit/2_6/vAN-20210223_ROOT6-1/r_shape/default/default/pp_2017_mc_prodD2H/594_20210301-1015/resultsMBjetvspt, /data/Derived_testResults/Jets/D0kAnywithJets_Vit/2_6/vAN-20210223_ROOT6-1/r_shape/default/default/pp_2018_mc_prodD2H/594_20210301-1015/resultsMBjetvspt] #list of periods resultsallp: /data/Derived_testResults/Jets/D0kAnywithJets_Vit/2_6/vAN-20210223_ROOT6-1/r_shape/default/default/pp_mc_prodD2H/resultsMBjetvspt resultsinclusive: /data/Derived_testResults/Jets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/r_shape_fullpt/default/default/pp_mc_prodD2H/resultsMBjetvspt data_proc: # alternative processor output used as the analyzer input @@ -908,44 +874,40 @@ D0jet_pp_run2: xsec: false use_inclusive_systematics: true - pythia8_prompt_variations: ["default","colour2soft"] - pythia8_prompt_variations_legend: ["PYTHIA 8 (Monash)","PYTHIA 8 SoftQCD, mode 2"] + pythia8_prompt_variations: ["default", "colour2soft"] + pythia8_prompt_variations_legend: ["PYTHIA 8 (Monash)", "PYTHIA 8 SoftQCD, mode 2"] var_binningshape: delta_r_jet var_binningshape_gen: delta_r_gen_jet var_shape_latex: "#it{r}" sel_binminshape_reco: [0., 0.05, 0.1] - sel_binmaxshape_reco: [0.05, 0.1, 0.2] - sel_binminshape_gen: [0., 0.05, 0.1] - sel_binmaxshape_gen: [0.05, 0.1, 0.2] + sel_binmaxshape_reco: [0.05, 0.1, 0.2] + sel_binminshape_gen: [0., 0.05, 0.1] + sel_binmaxshape_gen: [0.05, 0.1, 0.2] - sel_an_binmin: [6,7,8,10] # hadron pt bins (sel_an_binmin bins) - sel_an_binmax: [7,8,10,12] # hadron pt bins (sel_an_binmin bins) - binning_matching: [3,3,4, 4] # mapping to skimming pt bins (sel_an_binmin bins) + sel_an_binmin: [6, 7, 8, 10] # hadron pt bins (sel_an_binmin bins) + sel_an_binmax: [7, 8, 10, 12] # hadron pt bins (sel_an_binmin bins) + binning_matching: [3, 3, 4, 4] # mapping to skimming pt bins (sel_an_binmin bins) sel_binmin2_reco: [5.0, 7.0, 15.0] # rec jet pt bins (sel_binmin2_reco bins) - sel_binmax2_reco: [7.0, 15.0, 30.0] # rec jet pt bins (sel_binmin2_reco bins) - sel_binmin2_gen: [5.0, 7.0, 15.0] # gen jet pt bins (sel_binmin2_gen bins) - sel_binmax2_gen: [7.0, 15.0, 30.0] # gen jet pt bins (sel_binmin2_gen bins) + sel_binmax2_reco: [7.0, 15.0, 30.0] # rec jet pt bins (sel_binmin2_reco bins) + sel_binmin2_gen: [5.0, 7.0, 15.0] # gen jet pt bins (sel_binmin2_gen bins) + sel_binmax2_gen: [7.0, 15.0, 30.0] # gen jet pt bins (sel_binmin2_gen bins) cuts: - - Null - - Null - - Null - - Null + - Null + - Null + - Null + - Null data: &data_out_r_shape_6_12 <<: *data_out_default - results: [/data/Derived_testResults/Jets/D0kAnywithJets_Vit/6_12/vAN-20210223_ROOT6-1/r_shape/default/default/pp_2016_data/593_20210223-2051/resultsMBjetvspt, - /data/Derived_testResults/Jets/D0kAnywithJets_Vit/6_12/vAN-20210223_ROOT6-1/r_shape/default/default/pp_2017_data/593_20210223-2051/resultsMBjetvspt, - /data/Derived_testResults/Jets/D0kAnywithJets_Vit/6_12/vAN-20210223_ROOT6-1/r_shape/default/default/pp_2018_data/593_20210223-2051/resultsMBjetvspt] #list of periods + results: [/data/Derived_testResults/Jets/D0kAnywithJets_Vit/6_12/vAN-20210223_ROOT6-1/r_shape/default/default/pp_2016_data/593_20210223-2051/resultsMBjetvspt, /data/Derived_testResults/Jets/D0kAnywithJets_Vit/6_12/vAN-20210223_ROOT6-1/r_shape/default/default/pp_2017_data/593_20210223-2051/resultsMBjetvspt, /data/Derived_testResults/Jets/D0kAnywithJets_Vit/6_12/vAN-20210223_ROOT6-1/r_shape/default/default/pp_2018_data/593_20210223-2051/resultsMBjetvspt] #list of periods resultsallp: /data/Derived_testResults/Jets/D0kAnywithJets_Vit/6_12/vAN-20210223_ROOT6-1/r_shape/default/default/pp_data/resultsMBjetvspt resultslc: /data/Derived_testResults/Jets/Lc/6_12/vAN-20210223_ROOT6-1/r_shape/default/default/pp_data/resultsMBjetvspt mc: &mc_out_r_shape_6_12 <<: *mc_out_default - results: [/data/Derived_testResults/Jets/D0kAnywithJets_Vit/6_12/vAN-20210223_ROOT6-1/r_shape/default/default/pp_2016_mc_prodD2H/594_20210301-1015/resultsMBjetvspt, - /data/Derived_testResults/Jets/D0kAnywithJets_Vit/6_12/vAN-20210223_ROOT6-1/r_shape/default/default/pp_2017_mc_prodD2H/594_20210301-1015/resultsMBjetvspt, - /data/Derived_testResults/Jets/D0kAnywithJets_Vit/6_12/vAN-20210223_ROOT6-1/r_shape/default/default/pp_2018_mc_prodD2H/594_20210301-1015/resultsMBjetvspt] #list of periods + results: [/data/Derived_testResults/Jets/D0kAnywithJets_Vit/6_12/vAN-20210223_ROOT6-1/r_shape/default/default/pp_2016_mc_prodD2H/594_20210301-1015/resultsMBjetvspt, /data/Derived_testResults/Jets/D0kAnywithJets_Vit/6_12/vAN-20210223_ROOT6-1/r_shape/default/default/pp_2017_mc_prodD2H/594_20210301-1015/resultsMBjetvspt, /data/Derived_testResults/Jets/D0kAnywithJets_Vit/6_12/vAN-20210223_ROOT6-1/r_shape/default/default/pp_2018_mc_prodD2H/594_20210301-1015/resultsMBjetvspt] #list of periods resultsallp: /data/Derived_testResults/Jets/D0kAnywithJets_Vit/6_12/vAN-20210223_ROOT6-1/r_shape/default/default/pp_mc_prodD2H/resultsMBjetvspt resultsinclusive: /data/Derived_testResults/Jets/D0kAnywithJets_Vit/vAN-20210223_ROOT6-1/r_shape_fullpt/default/default/pp_mc_prodD2H/resultsMBjetvspt data_proc: # alternative processor output used as the analyzer input @@ -954,10 +916,9 @@ D0jet_pp_run2: <<: *mc_out_r_shape_6_12 variations_db: ./data/data_prod_20210223/database_variations_D0pp_jet_r_shape_6_12.yml - systematics: probvariation: - useperiod: [0,0,1] #period from where to define prob cuts + useperiod: [0, 0, 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.80, 0.80, 0.6, 0.3, 0.3] #Min starting point for scan diff --git a/machine_learning_hep/data/data_run3/database_ml_parameters_JPsiJet_pp.yml b/machine_learning_hep/data/data_run3/database_ml_parameters_JPsiJet_pp.yml index 4d4a47142a..0f404d4a1f 100644 --- a/machine_learning_hep/data/data_run3/database_ml_parameters_JPsiJet_pp.yml +++ b/machine_learning_hep/data/data_run3/database_ml_parameters_JPsiJet_pp.yml @@ -12,904 +12,557 @@ # along with this program. if not, see . # LcJet_pp: - doml: true - mass: 2.28646 - sel_reco_unp: "fPt>0" - sel_gen_unp: "fPt>0" - sel_cen_unp: null - sel_good_evt_unp: null # "fIsEventReject == 0" - # sel_reco_skim: ["mlPromptScore > 0.96", "mlPromptScore > 0.97", "mlPromptScore > 0.9", "mlPromptScore > 0.85", "mlPromptScore > 0.8", "mlPromptScore > 0.6", null] # (sel_skim_binmin bins) - sel_reco_skim: [null, null, null, null, null, null, null] # (sel_skim_binmin bins) - sel_gen_skim: [null, null, null, null, null, null, null] # (sel_skim_binmin bins) - sel_skim_binmin: [1, 2, 4, 6, 8, 12, 24] # skimming pt bins (sel_skim_binmin bins) - sel_skim_binmax: [2, 4, 6, 8, 12, 24, 48] # skimming pt bins (sel_skim_binmin bins) - 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: ismcrefl - isstd: [[1], []] - ismcsignal: [[1], []] - ismcprompt: [[0], []] - ismcfd: [[1], []] - ismcbkg: [[], [1]] - ismcrefl: [[1], [1]] # probably missing from tree creator - - #region dfs - dfs: - read: - # evtorig: - # level: all - # index: fIndexHf3PCollBases - # trees: - # O2hf3pcollbase: [fNumContrib] - # extra: - # fIsEventReject: 0 - collcnt: - trees: - O2collcount: - [ - fReadCounts, - fReadCountsWithTVX, - fReadCountsWithTVXAndZVertexAndSel8, - fReadCountsWithTVXAndZVertexAndSelMC, - ] - bccnt: - trees: - O2bccount: - [ - fReadCountsWithTVX, - fReadCountsWithTVXAndNoTFB, - fReadCountsWithTVXAndNoTFBAndNoITSROFB, - ] - - # collgen: - # level: gen - # index: fIndexLcCMCPJetCOs - # trees: - # O2lccmcpjetco: [fPosZ, fCentrality, fEventSel] - jetgen: - level: gen - index: fIndexLCCMCPJETOS - trees: - O2hf3ppbase: - [fPt, fY, fEta, fPhi, fFlagMcMatchGen, fOriginMcGen] - O2lccmcpjeto: - [ - fIndexLCCMCPJETCOS, - fIndexHF3PPBASES_0, - fJetPt, - fJetPhi, - fJetEta, - fJetNConstituents, - fJetR, - ] - O2lccmcpjetmo: - [ - fIndexArrayLCCMCDJETOS_hf, - fIndexArrayLCCMCDJETOS_geo, - fIndexArrayLCCMCDJETOS_pt, - ] - O2lccmcpjetsso: - [ - fEnergyMother, - fPtLeading, - fPtSubLeading, - fTheta, - fNSub2DR, - fNSub1, - fNSub2, - ] - tags: - isstd: { var: fFlagMcMatchGen, req: [[1], []] } - ismcsignal: - { var: fFlagMcMatchGen, req: [[1], []], abs: true } - ismcbkg: { var: fFlagMcMatchGen, req: [[], [1]], abs: true } - ismcprompt: { var: fOriginMcGen, req: [[0], []] } - ismcfd: { var: fOriginMcGen, req: [[1], []] } - filter: "fPt >= 1. and abs(fY) <= 0.8 and abs(fJetEta) < (.9 - (fJetR / 100.))" # TODO: check jet eta cut - - colldet: - level: det - index: fIndexLCCMCDJETCOS - trees: - O2lccmcdjetco: [fPosZ, fCentrality, fEventSel] - jetdet: - level: det - index: fIndexLCCMCDJETOS - trees: - O2hf3pbase: [fIndexHf3PCollBases, fPt, fY, fEta, fPhi, fM] - O2hf3pmc: [fFlagMcMatchRec, fOriginMcRec] - O2hf3ppar: - [ - fCpa, - fCpaXY, - fChi2PCA, - fDecayLength, - fDecayLengthXY, - fDecayLengthNormalised, - fDecayLengthXYNormalised, - fImpactParameter0, - fImpactParameter1, - fImpactParameter2, - fImpactParameterNormalised0, - fImpactParameterNormalised1, - fImpactParameterNormalised2, - fPtProng0, - fPtProng1, - fPtProng2, - ] - O2hf3ppare: - [ - fErrorDecayLength, - fErrorDecayLengthXY, - fErrorImpactParameter0, - fErrorImpactParameter1, - ] - O2hf3psel: [fCandidateSelFlag] - O2hf3pml: [fMlScores] - O2lccmcdjeto: - [ - fIndexLCCMCDJETCOS, - fIndexHF3PBASES_0, - fJetPt, - fJetPhi, - fJetEta, - fJetNConstituents, - fJetR, - ] - O2lccmcdjetmo: - [ - fIndexArrayLCCMCPJETOS_hf, - fIndexArrayLCCMCPJETOS_geo, - fIndexArrayLCCMCPJETOS_pt, - ] - O2lccmcdjetsso: - [ - fEnergyMother, - fPtLeading, - fPtSubLeading, - fTheta, - fNSub2DR, - fNSub1, - fNSub2, - ] - tags: - isstd: { var: fFlagMcMatchRec, req: [[1], []] } - ismcsignal: - { var: fFlagMcMatchRec, req: [[1], []], abs: true } - ismcbkg: { var: fFlagMcMatchRec, req: [[], [1]], abs: true } - ismcprompt: { var: fOriginMcRec, req: [[0], []] } - ismcfd: { var: fOriginMcRec, req: [[1], []] } - extract_component: - - { var: fMlScores, newvar: mlPromptScore, component: 1 } - filter: "fPt >= 1. and abs(fY) <= 0.8 and abs(fJetEta) < (.9 - (fJetR / 100.))" # TODO: check jet eta cut - # swap: {cand: fCandidateSelFlag, var_swap: fIsCandidateSwapped, vars: [ismcsignal, ismcprompt, icmcfd]} - - colldata: - level: data - index: fIndexDIELCJETCOS - trees: - O2dielcjetco: [fPosZ, fCentrality, fEventSel] - jetdata: - level: data - index: fIndexDIELCJETOS - trees: - O2dielcjeto: - [ - fIndexDIELCJETCOS, - fIndexRTDIELECTRONS_0, - fJetPt, - fJetPhi, - fJetEta, - fJetNConstituents, - fJetR, - ] - O2dielcjetsso: - [ - fIndexDIELCJETOS, - fEnergyMother, - fPtLeading, - fPtSubLeading, - fTheta, - fNSub2DR, - fNSub1, - fNSub2, - ] - O2rtdielectron: [fPt, fEta, fPhi, fMass] - filter: "abs(fJetEta) < (.9 - (fJetR / 100.))" # TODO: check jet eta cut - - merge: - # - {base: jetgen, ref: collgen} - - { base: jetdet, ref: colldet } - - { base: jetdata, ref: colldata } - - write: - jetgen: - level: gen - file: AnalysisResultsGen.parquet - jetdet: - level: det - file: AnalysisResultsReco.parquet - jetdata: - level: data - file: AnalysisResultsReco.parquet - # evtorig: - # level: all - # file: AnalysisResultsEvtOrig.parquet - # evt: - # level: all - # source: evtorig - # file: AnalysisResultsEvt.parquet - # filter: "fIsEventReject == 0" - collcnt: - level: all - file: AnalysisResultsCollCnt.parquet - bccnt: - level: all - file: AnalysisResultsBcCnt.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_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, - ], - ] - # sel_skim_binmin bins - var_boundaries: [fCosThetaStar, fPtProng] - var_correlation: - - [fCosThetaStar] # TODO: update - - [fPtProng0] - var_signal: signal - var_class: class - var_inv_mass: fM - var_y: fY - var_evt_sel: fIsEventReject - var_cuts: - - [fPtProng0, lt, null] - - [fPtProng1, lt, null] - - plot_options: - prob_cut_scan: - fPtProng0: - xlim: - - 0 - - 1 - fPtProng1: - xlim: - - 0 - - 1 - eff_cut_scan: - fPtProng0: - xlim: - - 0 - - 1 - fPtProng1: - xlim: - - 0 - - 1 - - 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: mcweights.root - treeoutput: "Lctree" - histofilename: "masshisto.root" - efffilename: "effhisto.root" - respfilename: "resphisto.root" - crossfilename: "cross_section_tot.root" - resultfilename: "results.root" - - #region multi - multi: - data: - nprocessesparallel: 80 - maxfiles: [-1] #list of periods - chunksizeunp: [100] #list of periods - chunksizeskim: [100] #list of periods - fracmerge: [1.] #list of periods - seedmerge: [12] #list of periods - period: [LHC22o] #list of periods - select_period: [1] - prefix_dir: /data2/MLhep/real/train_300133/ - unmerged_tree_dir: [alice] #list of periods - pkl: ["${USER}/lcjet/pkl"] #list of periods - pkl_skimmed: ["${USER}/lcjet/pklsk"] #list of periods - pkl_skimmed_merge_for_ml: ["${USER}/lcjet/pklskml"] #list of periods - pkl_skimmed_merge_for_ml_all: "${USER}/lcjet/pp_data_mltot" - pkl_evtcounter_all: "${USER}/lcjet/pp_data_evttot" - mcreweights: [../Analyses] #list of periods - mc: - nprocessesparallel: 80 - maxfiles: [-1] #list of periods - chunksizeunp: [100] #list of periods - chunksizeskim: [1000] #list of periods - fracmerge: [1.] #list of periods - seedmerge: [12] #list of periods - period: [LHC24d3b] #list of periods - select_period: [1] - prefix_dir: /data2/MLhep/sim/train_257383/ - unmerged_tree_dir: [alice] - pkl: ["${USER}/lcjet/pkl"] #list of periods - pkl_skimmed: ["${USER}/lcjet/pklsk"] #list of periods - pkl_skimmed_merge_for_ml: ["${USER}/lcjet/pklskml"] #list of periods - pkl_skimmed_merge_for_ml_all: "${USER}/lcjet/pp_mc_prod_mltot" - pkl_evtcounter_all: "${USER}/lcjet/pp_mc_prod_evttot" - mcreweights: [../Analyses] #list of periods - - ml: - evtsel: fIsEventReject == 0 - triggersel: - data: null - mc: null - - nbkg: 500000 - nsig: 500000 - mult_bkg: [1, 1, 1, 1, 1, 1, 1] - nclasses: [20000, 20000] - sampletags: [0, 1] - equalise_sig_bkg: True - # sampletagforsignal: 1 - # sampletagforbkg: 0 - sel_ml: [fM < 2.22 or fM > 2.35, ismcsignal == 1 and ismcprompt == 1] - sel_bkg: fM < 2.22 or fM > 2.35 - class_labels: [bkg, sig] - nkfolds: 5 - rnd_shuffle: 12 - rnd_splt: 12 - rnd_all: 12 - test_frac: 0.2 - binmin: [1, 2, 4, 6, 8, 12, 24] # must be equal to sel_skim_binmin (sel_skim_binmin bins) - binmax: [2, 4, 6, 8, 12, 24, 36] # must be equal to sel_skim_binmax (sel_skim_binmin bins) - mltype: BinaryClassification - ncorescrossval: 10 - prefix_dir_ml: "/data2/${USER}/MLhep/" - mlplot: mlplot - mlout: mlout - - 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.24e-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] # sel_skim_binmin bins - presel_gen_eff: "fPt > 0. and abs(fY) < 0.8" - - mlapplication: - data: - prefix_dir_app: "/data2/${USER}/" - 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/${USER}/" - pkl_skimmed_dec: [LHC22pp_mc/MLapplication/prod_LHC24d3b/skpkldecmc] #list of periods - pkl_skimmed_decmerged: [ - LHC22pp_mc/MLapplication/prod_LHC24d3b/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, - xgboost_classifierLcpKpi_dfselection_fPt_12.0_24.0.sav, - ] # sel_skim_binmin bins - probcutpresel: - data: [0.70, 0.70, 0.60, 0.60, 0.40, 0.40, 0.] # sel_skim_binmin bins - mc: [0.70, 0.70, 0.60, 0.60, 0.40, 0.40, 0.] # sel_skim_binmin bins - probcutoptimal: [0.96, 0.97, 0.90, 0.85, 0.80, 0.60, 0.] # sel_skim_binmin bins - - #region analysis - analysis: - anahptspectrum: "LctopKpi" #D0Kpi, DplusKpipi, DstarD0pi, DsKKpi, LctopKpi, LcK0Sp - fd_method: "Nb" #fc, Nb - cctype: "pp" - sigmamb: 57.8e-3 #NB: multiplied by 1e12 before giving to HFPtSpectrum! - inputfonllpred: data/fonll/DmesonLcPredictions_13TeV_y05_FFptDepLHCb_BRpythia8_PDG2020.root - dir_general_plots: "/data2/${USER}/data/analysis_plots" - - jet_obs: &jet_default - sel_an_binmin: [3, 4, 5, 6, 7, 8, 10, 12, 16] # hadron pt bins (sel_an_binmin bins) - sel_an_binmax: [4, 5, 6, 7, 8, 10, 12, 16, 24] # hadron pt bins (sel_an_binmin bins) - bins_ptjet: [5, 7, 15, 30, 50] # systematics, TODO: split rec and gen binning - bins_ptjet_eff: [2, 5, 7, 15, 30, 50, 70] # systematics, TODO: split rec and gen binning - cand_collidx: fIndexHf3PCollBases - counter_read_data: fReadCountsWithTVXAndZVertexAndSel8 - counter_read_mc: fReadCountsWithTVXAndZVertexAndSelMC - counter_tvx: fReadCountsWithTVX - xsection_inel: 59.4 # (mb) cross-section of minimum-bias events # used # systematics - lumi_scale_mc: 408 # charm enhancement factor in MC to scale the MC luminosity - branching_ratio: 6.24e-2 # used - - observables: - zg: - bins_gen_fix: [6, -.1, .5] - bins_det_fix: [6, -.1, .5] - label: "#it{z}_{g}" - label_y: "(1/#it{N}_{jet ch}) d#it{N}/d#it{z}_{g}" - nsd: - bins_gen_fix: [10, -.5, 9.5] - bins_det_fix: [10, -.5, 9.5] - label: "#it{n}_{SD}" - label_y: "(1/#it{N}_{jet ch}) d#it{N}/d#it{n}_{SD}" - rg: - bins_gen_fix: [11, -.1, 1.] - bins_det_fix: [11, -.1, 1.] - label: "#it{R}_{g}" - label_y: "(1/#it{N}_{jet ch}) d#it{N}/d#it{R}_{g}" - zpar: - # bins_gen_fix: [10, 0., 1.] - # bins_det_fix: [10, 0., 1.] - bins_gen_var: [0.4, 0.6, 0.7, 0.8, 0.9, 1.] - bins_det_var: [0.4, 0.6, 0.7, 0.8, 0.9, 1.] - label: "#it{z}_{#parallel}" - label_y: "(1/#it{N}_{jet ch}) d#it{N}/d#it{z}_{#parallel}" - dr: - bins_gen_fix: [10, 0., 1.] - bins_det_fix: [10, 0., 1.] - label: "#Delta#it{r}" - lntheta: - bins_gen_fix: [10, 0., 5.] - bins_det_fix: [10, 0., 5.] - label: "#minusln(#it{#theta})" - arraycols: [3] - lnkt: - bins_gen_fix: [10, -8., 2.] - bins_det_fix: [10, -8., 2.] - label: "ln(#it{k}_{T}/(GeV/#it{c}))" - arraycols: [3] - lntheta-lnkt: - arraycols: [3, 4] - - mass_roofit: - - level: mc - # per_ptjet: true - components: - sig: - fn: "Gaussian::peak(m[1., 5.], mean[2.27,2.29], sigma_g1[.01,.005,.035])" - 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)" - - ptrange: [1., 5.] - range: [2.16, 2.40] - fix_params: ["n", "f_peak"] - # per_ptjet: true - components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.005,.015])' - bkg: - fn: "Polynomial::bkg(m, {a0[0.2, -3, 3], a1[-0.1, -3, 3], a2[0.1, 0.01, 3]})" - model: - fn: "SUM::sum(f_sig[0.,1.]*sig, bkg)" - - ptrange: [5., 8.] - range: [2.1, 2.48] - fix_params: ["n", "f_peak"] - # per_ptjet: true - components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' - bkg: - fn: "Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})" - model: - fn: "SUM::sum(f_sig[0.,1.]*sig, bkg)" - - range: [2.05, 2.5] - fix_params: ["n", "f_peak"] - # per_ptjet: true - components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' - bkg: - fn: "Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})" - model: - fn: "SUM::sum(f_sig[0.,1.]*sig, bkg)" - - #sidesub_per_ptjet: true - sidesub: - - regions: - left: [-5.5, -3.] # systematics - signal: [-2., 2.] # systematics - right: [3., 5.5] # systematics - - mass_fit: - func_sig: "gaus" - func_bkg: "expo" - # par_start: - # par_fix: {1: 2.286} - par_constrain: { 1: [2.28, 2.29], 2: [.005, .03] } - range: [2.08, 2.48] - mass_fit_lim: [1.9, 2.62] # histogram range of the invariant mass distribution [GeV/c^2] - bin_width: 0.001 # bin width of the invariant mass histogram - n_rebin: 3 # number of mass bins to merge - efficiency: - index_match: fIndexArrayLCCMCPJETOS_hf - extra_cols: ["mlPromptScore"] - correction_method: run3 - - unfolding_iterations: 8 # used, maximum iteration - unfolding_iterations_sel: 5 # used, selected iteration # systematics - unfolding_prior_flatness: 0. # ranges from 0. (no flatness) to 1. (flat) - - fd_folding_method: 3d - fd_root: "/data2/vkucera/powheg/trees_powheg_fd_F05_R05.root" - fd_parquet: "/data2/jklein/powheg/Lc_powheg_fd_F05_R05.parquet" - - proc_type: Jets - useperiod: [1] #list of periods - usejetptbinned_deff: false - doeff_resp: true #efficiency correction for the response matrix - unmatched_gen: true - latexnamehadron: "#Lambda_{c}^{#plus}" - latexnamedecay: "pK#pi" - var_binning2: pt_jet - var_binning2_gen: pt_gen_jet - latexbin2var: "#it{p}_{T}^{jet ch}" - sel_binmin2_reco: [7.0, 15.0, 30.0] # rec jet pt bins (sel_binmin2_reco bins) - sel_binmax2_reco: [15.0, 30.0, 50.0] # rec jet pt bins (sel_binmin2_reco bins) - sel_binmin2_gen: [7.0, 15.0, 30.0] # gen jet pt bins (sel_binmin2_gen bins) - sel_binmax2_gen: [15.0, 30.0, 50.0] # gen jet pt bins (sel_binmin2_gen bins) - var_binningshape: zg_jet - var_binningshape_gen: zg_gen_jet - var_shape_latex: "#it{z}_{g}" - sel_binminshape_reco: [-0.1, 0.1, 0.2, 0.3, 0.4] - sel_binmaxshape_reco: [0.1, 0.2, 0.3, 0.4, 0.5] - sel_binminshape_gen: [-0.1, 0.1, 0.2, 0.3, 0.4] - sel_binmaxshape_gen: [0.1, 0.2, 0.3, 0.4, 0.5] - sel_closure_frac: 0.2 - triggerbit: INT7 - #jetsel_gen: "abs(y_cand) < 0.8 and abs(z_vtx_gen) < 10 and abs(eta_jet) < 0.5" - #jetsel_sim: "abs(y_cand) < 0.8 and abs(eta_jet) < 0.5" # jet selection in simulations - #jetsel_reco: "abs(y_cand) < 0.8 and abs(z_vtx_reco) < 10 and abs(eta_jet) < 0.5" - #jetsel_gen_matched_reco: "abs(eta_gen_jet) < 5.0" - jetsel_gen: "abs(y_cand) < 0.5 and abs(z_vtx_gen) < 10 and abs(eta_jet) < 0.5" - jetsel_sim: "abs(y_cand) < 0.5 and abs(eta_jet) < 0.5" # jet selection in simulations - jetsel_reco: "abs(y_cand) < 0.5 and abs(z_vtx_reco) < 10 and abs(eta_jet) < 0.5" - jetsel_gen_matched_reco: "abs(y_cand) < 0.5 and abs(z_vtx_gen) < 10 and abs(eta_gen_jet) < 0.5" - evtsel: fIsEventReject==0 - triggersel: - data: "trigger_hasbit_INT7==1" - mc: null - data: &data_out_default - runselection: [null] #FIXME - results: [ - "/home/${USER}/mlhep/lcjet/jet_obs/default/default/data/results", - ] #list of periods - resultsallp: "/home/${USER}/mlhep/lcjet/jet_obs/default/default/data/results_all" - mc: &mc_out_default - runselection: [null, null] #FIXME - results: [ - "/home/${USER}/mlhep/lcjet/jet_obs/default/default/mc/results", - ] #list of periods - resultsallp: "/home/${USER}/mlhep/lcjet/jet_obs/default/default/mc/results_all" - data_proc: # alternative processor output used as the analyzer input - <<: *data_out_default - mc_proc: # alternative processor output used as the analyzer input - <<: *mc_out_default - - # simple fitter START - sgnfunc: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] # kGaus=0, k2Gaus=1, k2GausSigmaRatioPar=2 (sel_an_binmin bins) - bkgfunc: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] # kExpo=0, kLin=1, kPol2=2, kNoBk=3, kPow=4, kPowEx=5 (sel_an_binmin bins) - masspeak: 2.286 - massmin: [ - 1.66, - 1.66, - 1.66, - 1.66, - 1.66, - 1.66, - 1.66, - 1.66, - 1.66, - 1.66, - 1.66, - ] # sel_an_binmin bins, fit region of the invariant mass distribution [GeV/c^2] - massmax: [ - 2.06, - 2.06, - 2.06, - 2.06, - 2.06, - 2.06, - 2.06, - 2.06, - 2.06, - 2.06, - 2.06, - ] # sel_an_binmin bins, fit region of the invariant mass distribution [GeV/c^2] - rebin: [6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6] # sel_an_binmin bins - fix_mean: [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - ] # sel_an_binmin bins - masspeaksec: 2.286 - - # If SetArraySigma true: sigma_initial is taken from sigmaarray; false: sigma_initial is taken from MC - # If SetFixGaussianSigma true: sigma fixed to sigma_initial - # SetFixGaussianSigma: [false, false, false, false, false, false, false, false, false, false, false] # sel_an_binmin bins - SetFixGaussianSigma: [ - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - ] # sel_an_binmin bins - SetArraySigma: [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - ] # sel_an_binmin bins - sigmaarray: [ - 0.01, - 0.01, - 0.01, - 0.01, - 0.01, - 0.01, - 0.01, - 0.01, - 0.01, - 0.01, - 0.01, - ] # initial sigma (sel_an_binmin bins) - - fix_sigmasec: [true, true, true, true, true, true, true, true, true] # sel_an_binmin bins - sigmaarraysec: [ - 0.007497, - 0.01, - 0.01, - 0.01, - 0.01, - 0.01, - 0.01, - 0.01, - 0.01, - 0.01, - ] # sel_an_binmin bins - use_reflections: true - # simple fitter END - - signal_sigma: 2.0 - sigma_scale: 0.9545 - sideband_sigma_1_left: 4 - sideband_sigma_2_left: 9 - sideband_sigma_1_right: 4 - sideband_sigma_2_right: 9 - sidebandleftonly: false - - niterunfolding: 15 - niterunfoldingchosen: 4 - - doprior: false - domodeldep: false - path_modeldep: /home/nzardosh/PYTHIA_Sim/PYTHIA8_Simulations/Plots/D0_Substructure_Simulations_Output.root - - powheg_path_nonprompt: /data/POWHEG/trees_powheg_fd_central.root - - powheg_path_prompt: /data/POWHEG/trees_powheg_pr_central.root - powheg_prompt_variations_path: /data/POWHEG/trees_powheg_pr_ - powheg_prompt_variations: - [ - "F1_R05", - "F05_R1", - "F2_R1", - "F1_R2", - "F2_R2", - "F05_R05", - "Mhigh", - "Mlow", - ] - - pythia8_prompt_variations_path: /data/PYTHIA8/trees_pythia8_pr_ - pythia8_prompt_variations: ["default", "charm_lo"] #["default","colour0soft"] - pythia8_prompt_variations_legend: [ - "PYTHIA 8 (Monash)", - "PYTHIA 8 charm LO", - ] # ["PYTHIA 8 (Monash)","PYTHIA 8 SoftQCD, mode 0"] - - variations_db: database_variations_LcJet_pp_jet_obs.yml - - # Additional cuts applied before mass histogram is filled - use_cuts: True - cuts: [ - "mlPromptScore > 0.97", - "mlPromptScore > 0.9", - "mlPromptScore > 0.9", - "mlPromptScore > 0.85", - "mlPromptScore > 0.85", - "mlPromptScore > 0.8", - "mlPromptScore > 0.8", - "mlPromptScore > 0.6", - "mlPromptScore > 0.6", - ] # (sel_an_binmin bins) systematics FIXME: Update for new model. - - systematics: # used in machine_learning_hep/analysis/systematics.py - probvariation: - useperiod: [0, 0, 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.80, 0.80, 0.6, 0.3, 0.3] #Min starting point for scan - cutvarmaxrange: [0.98, 0.95, 0.95, 0.95, 0.95] #Max starting point for scan - fixedmean: True #Fix mean cutvar histo to central fit - fixedsigma: True #Fix sigma cutvar histo to central fit - mcptshape: - #FONLL / generated LHC19h4c1 - weights: [1.000000] - #From SetPtWeightsFromFONLL13overLHC17c3a12 in AliPhysics - #weights: [1.429770] - weights_min_pt: 0 - weights_max_pt: 40 - weights_bins: 400 + doml: true + mass: 2.28646 + sel_reco_unp: "fPt>0" + sel_gen_unp: "fPt>0" + sel_cen_unp: null + sel_good_evt_unp: null # "fIsEventReject == 0" + # sel_reco_skim: ["mlPromptScore > 0.96", "mlPromptScore > 0.97", "mlPromptScore > 0.9", "mlPromptScore > 0.85", "mlPromptScore > 0.8", "mlPromptScore > 0.6", null] # (sel_skim_binmin bins) + sel_reco_skim: [null, null, null, null, null, null, null] # (sel_skim_binmin bins) + sel_gen_skim: [null, null, null, null, null, null, null] # (sel_skim_binmin bins) + sel_skim_binmin: [1, 2, 4, 6, 8, 12, 24] # skimming pt bins (sel_skim_binmin bins) + sel_skim_binmax: [2, 4, 6, 8, 12, 24, 48] # skimming pt bins (sel_skim_binmin bins) + 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: ismcrefl + isstd: [[1], []] + ismcsignal: [[1], []] + ismcprompt: [[0], []] + ismcfd: [[1], []] + ismcbkg: [[], [1]] + ismcrefl: [[1], [1]] # probably missing from tree creator + + #region dfs + dfs: + read: + # evtorig: + # level: all + # index: fIndexHf3PCollBases + # trees: + # O2hf3pcollbase: [fNumContrib] + # extra: + # fIsEventReject: 0 + collcnt: + trees: + O2collcount: [fReadCounts, fReadCountsWithTVX, fReadCountsWithTVXAndZVertexAndSel8, fReadCountsWithTVXAndZVertexAndSelMC] + bccnt: + trees: + O2bccount: [fReadCountsWithTVX, fReadCountsWithTVXAndNoTFB, fReadCountsWithTVXAndNoTFBAndNoITSROFB] + + # collgen: + # level: gen + # index: fIndexLcCMCPJetCOs + # trees: + # O2lccmcpjetco: [fPosZ, fCentrality, fEventSel] + jetgen: + level: gen + index: fIndexLCCMCPJETOS + trees: + O2hf3ppbase: [fPt, fY, fEta, fPhi, fFlagMcMatchGen, fOriginMcGen] + O2lccmcpjeto: [fIndexLCCMCPJETCOS, fIndexHF3PPBASES_0, fJetPt, fJetPhi, fJetEta, fJetNConstituents, fJetR] + O2lccmcpjetmo: [fIndexArrayLCCMCDJETOS_hf, fIndexArrayLCCMCDJETOS_geo, fIndexArrayLCCMCDJETOS_pt] + O2lccmcpjetsso: [fEnergyMother, fPtLeading, fPtSubLeading, fTheta, fNSub2DR, fNSub1, fNSub2] + tags: + isstd: {var: fFlagMcMatchGen, req: [[1], []]} + ismcsignal: {var: fFlagMcMatchGen, req: [[1], []], abs: true} + ismcbkg: {var: fFlagMcMatchGen, req: [[], [1]], abs: true} + ismcprompt: {var: fOriginMcGen, req: [[0], []]} + ismcfd: {var: fOriginMcGen, req: [[1], []]} + filter: "fPt >= 1. and abs(fY) <= 0.8 and abs(fJetEta) < (.9 - (fJetR / 100.))" # TODO: check jet eta cut + + colldet: + level: det + index: fIndexLCCMCDJETCOS + trees: + O2lccmcdjetco: [fPosZ, fCentrality, fEventSel] + jetdet: + level: det + index: fIndexLCCMCDJETOS + trees: + O2hf3pbase: [fIndexHf3PCollBases, fPt, fY, fEta, fPhi, fM] + O2hf3pmc: [fFlagMcMatchRec, fOriginMcRec] + O2hf3ppar: [fCpa, fCpaXY, fChi2PCA, fDecayLength, fDecayLengthXY, fDecayLengthNormalised, fDecayLengthXYNormalised, fImpactParameter0, fImpactParameter1, fImpactParameter2, fImpactParameterNormalised0, fImpactParameterNormalised1, fImpactParameterNormalised2, fPtProng0, fPtProng1, fPtProng2] + O2hf3ppare: [fErrorDecayLength, fErrorDecayLengthXY, fErrorImpactParameter0, fErrorImpactParameter1] + O2hf3psel: [fCandidateSelFlag] + O2hf3pml: [fMlScores] + O2lccmcdjeto: [fIndexLCCMCDJETCOS, fIndexHF3PBASES_0, fJetPt, fJetPhi, fJetEta, fJetNConstituents, fJetR] + O2lccmcdjetmo: [fIndexArrayLCCMCPJETOS_hf, fIndexArrayLCCMCPJETOS_geo, fIndexArrayLCCMCPJETOS_pt] + O2lccmcdjetsso: [fEnergyMother, fPtLeading, fPtSubLeading, fTheta, fNSub2DR, fNSub1, fNSub2] + tags: + isstd: {var: fFlagMcMatchRec, req: [[1], []]} + ismcsignal: {var: fFlagMcMatchRec, req: [[1], []], abs: true} + ismcbkg: {var: fFlagMcMatchRec, req: [[], [1]], abs: true} + ismcprompt: {var: fOriginMcRec, req: [[0], []]} + ismcfd: {var: fOriginMcRec, req: [[1], []]} + extract_component: + - {var: fMlScores, newvar: mlPromptScore, component: 1} + filter: "fPt >= 1. and abs(fY) <= 0.8 and abs(fJetEta) < (.9 - (fJetR / 100.))" # TODO: check jet eta cut + # swap: {cand: fCandidateSelFlag, var_swap: fIsCandidateSwapped, vars: [ismcsignal, ismcprompt, icmcfd]} + + colldata: + level: data + index: fIndexDIELCJETCOS + trees: + O2dielcjetco: [fPosZ, fCentrality, fEventSel] + jetdata: + level: data + index: fIndexDIELCJETOS + trees: + O2dielcjeto: [fIndexDIELCJETCOS, fIndexRTDIELECTRONS_0, fJetPt, fJetPhi, fJetEta, fJetNConstituents, fJetR] + O2dielcjetsso: [fIndexDIELCJETOS, fEnergyMother, fPtLeading, fPtSubLeading, fTheta, fNSub2DR, fNSub1, fNSub2] + O2rtdielectron: [fPt, fEta, fPhi, fMass] + filter: "abs(fJetEta) < (.9 - (fJetR / 100.))" # TODO: check jet eta cut + + merge: + # - {base: jetgen, ref: collgen} + - {base: jetdet, ref: colldet} + - {base: jetdata, ref: colldata} + # workaround for yamlfmt issue #110 + + write: + jetgen: + level: gen + file: AnalysisResultsGen.parquet + jetdet: + level: det + file: AnalysisResultsReco.parquet + jetdata: + level: data + file: AnalysisResultsReco.parquet + # evtorig: + # level: all + # file: AnalysisResultsEvtOrig.parquet + # evt: + # level: all + # source: evtorig + # file: AnalysisResultsEvt.parquet + # filter: "fIsEventReject == 0" + collcnt: + level: all + file: AnalysisResultsCollCnt.parquet + bccnt: + level: all + file: AnalysisResultsBcCnt.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_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]] + # sel_skim_binmin bins + var_boundaries: [fCosThetaStar, fPtProng] + var_correlation: + - [fCosThetaStar] # TODO: update + - [fPtProng0] + var_signal: signal + var_class: class + var_inv_mass: fM + var_y: fY + var_evt_sel: fIsEventReject + var_cuts: + - [fPtProng0, lt, null] + - [fPtProng1, lt, null] + + plot_options: + prob_cut_scan: + fPtProng0: + xlim: + - 0 + - 1 + fPtProng1: + xlim: + - 0 + - 1 + eff_cut_scan: + fPtProng0: + xlim: + - 0 + - 1 + fPtProng1: + xlim: + - 0 + - 1 + + 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: mcweights.root + treeoutput: "Lctree" + histofilename: "masshisto.root" + efffilename: "effhisto.root" + respfilename: "resphisto.root" + crossfilename: "cross_section_tot.root" + resultfilename: "results.root" + + #region multi + multi: + data: + nprocessesparallel: 80 + maxfiles: [-1] #list of periods + chunksizeunp: [100] #list of periods + chunksizeskim: [100] #list of periods + fracmerge: [1.] #list of periods + seedmerge: [12] #list of periods + period: [LHC22o] #list of periods + select_period: [1] + prefix_dir: /data2/MLhep/real/train_300133/ + unmerged_tree_dir: [alice] #list of periods + pkl: ["${USER}/lcjet/pkl"] #list of periods + pkl_skimmed: ["${USER}/lcjet/pklsk"] #list of periods + pkl_skimmed_merge_for_ml: ["${USER}/lcjet/pklskml"] #list of periods + pkl_skimmed_merge_for_ml_all: "${USER}/lcjet/pp_data_mltot" + pkl_evtcounter_all: "${USER}/lcjet/pp_data_evttot" + mcreweights: [../Analyses] #list of periods + mc: + nprocessesparallel: 80 + maxfiles: [-1] #list of periods + chunksizeunp: [100] #list of periods + chunksizeskim: [1000] #list of periods + fracmerge: [1.] #list of periods + seedmerge: [12] #list of periods + period: [LHC24d3b] #list of periods + select_period: [1] + prefix_dir: /data2/MLhep/sim/train_257383/ + unmerged_tree_dir: [alice] + pkl: ["${USER}/lcjet/pkl"] #list of periods + pkl_skimmed: ["${USER}/lcjet/pklsk"] #list of periods + pkl_skimmed_merge_for_ml: ["${USER}/lcjet/pklskml"] #list of periods + pkl_skimmed_merge_for_ml_all: "${USER}/lcjet/pp_mc_prod_mltot" + pkl_evtcounter_all: "${USER}/lcjet/pp_mc_prod_evttot" + mcreweights: [../Analyses] #list of periods + + ml: + evtsel: fIsEventReject == 0 + triggersel: + data: null + mc: null + + nbkg: 500000 + nsig: 500000 + mult_bkg: [1, 1, 1, 1, 1, 1, 1] + nclasses: [20000, 20000] + sampletags: [0, 1] + equalise_sig_bkg: True + # sampletagforsignal: 1 + # sampletagforbkg: 0 + sel_ml: [fM < 2.22 or fM > 2.35, ismcsignal == 1 and ismcprompt == 1] + sel_bkg: fM < 2.22 or fM > 2.35 + class_labels: [bkg, sig] + nkfolds: 5 + rnd_shuffle: 12 + rnd_splt: 12 + rnd_all: 12 + test_frac: 0.2 + binmin: [1, 2, 4, 6, 8, 12, 24] # must be equal to sel_skim_binmin (sel_skim_binmin bins) + binmax: [2, 4, 6, 8, 12, 24, 36] # must be equal to sel_skim_binmax (sel_skim_binmin bins) + mltype: BinaryClassification + ncorescrossval: 10 + prefix_dir_ml: "/data2/${USER}/MLhep/" + mlplot: mlplot + mlout: mlout + + 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.24e-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] # sel_skim_binmin bins + presel_gen_eff: "fPt > 0. and abs(fY) < 0.8" + + mlapplication: + data: + prefix_dir_app: "/data2/${USER}/" + 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/${USER}/" + pkl_skimmed_dec: [LHC22pp_mc/MLapplication/prod_LHC24d3b/skpkldecmc] #list of periods + pkl_skimmed_decmerged: [LHC22pp_mc/MLapplication/prod_LHC24d3b/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, xgboost_classifierLcpKpi_dfselection_fPt_12.0_24.0.sav] # sel_skim_binmin bins + probcutpresel: + data: [0.70, 0.70, 0.60, 0.60, 0.40, 0.40, 0.] # sel_skim_binmin bins + mc: [0.70, 0.70, 0.60, 0.60, 0.40, 0.40, 0.] # sel_skim_binmin bins + probcutoptimal: [0.96, 0.97, 0.90, 0.85, 0.80, 0.60, 0.] # sel_skim_binmin bins + + #region analysis + analysis: + anahptspectrum: "LctopKpi" #D0Kpi, DplusKpipi, DstarD0pi, DsKKpi, LctopKpi, LcK0Sp + fd_method: "Nb" #fc, Nb + cctype: "pp" + sigmamb: 57.8e-3 #NB: multiplied by 1e12 before giving to HFPtSpectrum! + inputfonllpred: data/fonll/DmesonLcPredictions_13TeV_y05_FFptDepLHCb_BRpythia8_PDG2020.root + dir_general_plots: "/data2/${USER}/data/analysis_plots" + + jet_obs: &jet_default + sel_an_binmin: [3, 4, 5, 6, 7, 8, 10, 12, 16] # hadron pt bins (sel_an_binmin bins) + sel_an_binmax: [4, 5, 6, 7, 8, 10, 12, 16, 24] # hadron pt bins (sel_an_binmin bins) + bins_ptjet: [5, 7, 15, 30, 50] # systematics, TODO: split rec and gen binning + bins_ptjet_eff: [2, 5, 7, 15, 30, 50, 70] # systematics, TODO: split rec and gen binning + cand_collidx: fIndexHf3PCollBases + counter_read_data: fReadCountsWithTVXAndZVertexAndSel8 + counter_read_mc: fReadCountsWithTVXAndZVertexAndSelMC + counter_tvx: fReadCountsWithTVX + xsection_inel: 59.4 # (mb) cross-section of minimum-bias events # used # systematics + lumi_scale_mc: 408 # charm enhancement factor in MC to scale the MC luminosity + branching_ratio: 6.24e-2 # used + + observables: + zg: + bins_gen_fix: [6, -.1, .5] + bins_det_fix: [6, -.1, .5] + label: "#it{z}_{g}" + label_y: "(1/#it{N}_{jet ch}) d#it{N}/d#it{z}_{g}" + nsd: + bins_gen_fix: [10, -.5, 9.5] + bins_det_fix: [10, -.5, 9.5] + label: "#it{n}_{SD}" + label_y: "(1/#it{N}_{jet ch}) d#it{N}/d#it{n}_{SD}" + rg: + bins_gen_fix: [11, -.1, 1.] + bins_det_fix: [11, -.1, 1.] + label: "#it{R}_{g}" + label_y: "(1/#it{N}_{jet ch}) d#it{N}/d#it{R}_{g}" + zpar: + # bins_gen_fix: [10, 0., 1.] + # bins_det_fix: [10, 0., 1.] + bins_gen_var: [0.4, 0.6, 0.7, 0.8, 0.9, 1.] + bins_det_var: [0.4, 0.6, 0.7, 0.8, 0.9, 1.] + label: "#it{z}_{#parallel}" + label_y: "(1/#it{N}_{jet ch}) d#it{N}/d#it{z}_{#parallel}" + dr: + bins_gen_fix: [10, 0., 1.] + bins_det_fix: [10, 0., 1.] + label: "#Delta#it{r}" + lntheta: + bins_gen_fix: [10, 0., 5.] + bins_det_fix: [10, 0., 5.] + label: "#minusln(#it{#theta})" + arraycols: [3] + lnkt: + bins_gen_fix: [10, -8., 2.] + bins_det_fix: [10, -8., 2.] + label: "ln(#it{k}_{T}/(GeV/#it{c}))" + arraycols: [3] + lntheta-lnkt: + arraycols: [3, 4] + + mass_roofit: + - level: mc + # per_ptjet: true + components: + sig: + fn: "Gaussian::peak(m[1., 5.], mean[2.27,2.29], sigma_g1[.01,.005,.035])" + 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)" + - ptrange: [1., 5.] + range: [2.16, 2.40] + fix_params: ["n", "f_peak"] + # per_ptjet: true + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.005,.015])' + bkg: + fn: "Polynomial::bkg(m, {a0[0.2, -3, 3], a1[-0.1, -3, 3], a2[0.1, 0.01, 3]})" + model: + fn: "SUM::sum(f_sig[0.,1.]*sig, bkg)" + - ptrange: [5., 8.] + range: [2.1, 2.48] + fix_params: ["n", "f_peak"] + # per_ptjet: true + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' + bkg: + fn: "Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})" + model: + fn: "SUM::sum(f_sig[0.,1.]*sig, bkg)" + - range: [2.05, 2.5] + fix_params: ["n", "f_peak"] + # per_ptjet: true + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' + bkg: + fn: "Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})" + model: + fn: "SUM::sum(f_sig[0.,1.]*sig, bkg)" + + #sidesub_per_ptjet: true + sidesub: + - regions: + left: [-5.5, -3.] # systematics + signal: [-2., 2.] # systematics + right: [3., 5.5] # systematics + + mass_fit: + func_sig: "gaus" + func_bkg: "expo" + # par_start: + # par_fix: {1: 2.286} + par_constrain: {1: [2.28, 2.29], 2: [.005, .03]} + range: [2.08, 2.48] + mass_fit_lim: [1.9, 2.62] # histogram range of the invariant mass distribution [GeV/c^2] + bin_width: 0.001 # bin width of the invariant mass histogram + n_rebin: 3 # number of mass bins to merge + efficiency: + index_match: fIndexArrayLCCMCPJETOS_hf + extra_cols: ["mlPromptScore"] + correction_method: run3 + + unfolding_iterations: 8 # used, maximum iteration + unfolding_iterations_sel: 5 # used, selected iteration # systematics + unfolding_prior_flatness: 0. # ranges from 0. (no flatness) to 1. (flat) + + fd_folding_method: 3d + fd_root: "/data2/vkucera/powheg/trees_powheg_fd_F05_R05.root" + fd_parquet: "/data2/jklein/powheg/Lc_powheg_fd_F05_R05.parquet" + + proc_type: Jets + useperiod: [1] #list of periods + usejetptbinned_deff: false + doeff_resp: true #efficiency correction for the response matrix + unmatched_gen: true + latexnamehadron: "#Lambda_{c}^{#plus}" + latexnamedecay: "pK#pi" + var_binning2: pt_jet + var_binning2_gen: pt_gen_jet + latexbin2var: "#it{p}_{T}^{jet ch}" + sel_binmin2_reco: [7.0, 15.0, 30.0] # rec jet pt bins (sel_binmin2_reco bins) + sel_binmax2_reco: [15.0, 30.0, 50.0] # rec jet pt bins (sel_binmin2_reco bins) + sel_binmin2_gen: [7.0, 15.0, 30.0] # gen jet pt bins (sel_binmin2_gen bins) + sel_binmax2_gen: [15.0, 30.0, 50.0] # gen jet pt bins (sel_binmin2_gen bins) + var_binningshape: zg_jet + var_binningshape_gen: zg_gen_jet + var_shape_latex: "#it{z}_{g}" + sel_binminshape_reco: [-0.1, 0.1, 0.2, 0.3, 0.4] + sel_binmaxshape_reco: [0.1, 0.2, 0.3, 0.4, 0.5] + sel_binminshape_gen: [-0.1, 0.1, 0.2, 0.3, 0.4] + sel_binmaxshape_gen: [0.1, 0.2, 0.3, 0.4, 0.5] + sel_closure_frac: 0.2 + triggerbit: INT7 + #jetsel_gen: "abs(y_cand) < 0.8 and abs(z_vtx_gen) < 10 and abs(eta_jet) < 0.5" + #jetsel_sim: "abs(y_cand) < 0.8 and abs(eta_jet) < 0.5" # jet selection in simulations + #jetsel_reco: "abs(y_cand) < 0.8 and abs(z_vtx_reco) < 10 and abs(eta_jet) < 0.5" + #jetsel_gen_matched_reco: "abs(eta_gen_jet) < 5.0" + jetsel_gen: "abs(y_cand) < 0.5 and abs(z_vtx_gen) < 10 and abs(eta_jet) < 0.5" + jetsel_sim: "abs(y_cand) < 0.5 and abs(eta_jet) < 0.5" # jet selection in simulations + jetsel_reco: "abs(y_cand) < 0.5 and abs(z_vtx_reco) < 10 and abs(eta_jet) < 0.5" + jetsel_gen_matched_reco: "abs(y_cand) < 0.5 and abs(z_vtx_gen) < 10 and abs(eta_gen_jet) < 0.5" + evtsel: fIsEventReject==0 + triggersel: + data: "trigger_hasbit_INT7==1" + mc: null + data: &data_out_default + runselection: [null] #FIXME + results: ["/home/${USER}/mlhep/lcjet/jet_obs/default/default/data/results"] #list of periods + resultsallp: "/home/${USER}/mlhep/lcjet/jet_obs/default/default/data/results_all" + mc: &mc_out_default + runselection: [null, null] #FIXME + results: ["/home/${USER}/mlhep/lcjet/jet_obs/default/default/mc/results"] #list of periods + resultsallp: "/home/${USER}/mlhep/lcjet/jet_obs/default/default/mc/results_all" + data_proc: # alternative processor output used as the analyzer input + <<: *data_out_default + mc_proc: # alternative processor output used as the analyzer input + <<: *mc_out_default + + # simple fitter START + sgnfunc: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] # kGaus=0, k2Gaus=1, k2GausSigmaRatioPar=2 (sel_an_binmin bins) + bkgfunc: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] # kExpo=0, kLin=1, kPol2=2, kNoBk=3, kPow=4, kPowEx=5 (sel_an_binmin bins) + masspeak: 2.286 + massmin: [1.66, 1.66, 1.66, 1.66, 1.66, 1.66, 1.66, 1.66, 1.66, 1.66, 1.66] # sel_an_binmin bins, fit region of the invariant mass distribution [GeV/c^2] + massmax: [2.06, 2.06, 2.06, 2.06, 2.06, 2.06, 2.06, 2.06, 2.06, 2.06, 2.06] # sel_an_binmin bins, fit region of the invariant mass distribution [GeV/c^2] + rebin: [6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6] # sel_an_binmin bins + fix_mean: [false, false, false, false, false, false, false, false, false, false, false] # sel_an_binmin bins + masspeaksec: 2.286 + + # If SetArraySigma true: sigma_initial is taken from sigmaarray; false: sigma_initial is taken from MC + # If SetFixGaussianSigma true: sigma fixed to sigma_initial + # SetFixGaussianSigma: [false, false, false, false, false, false, false, false, false, false, false] # sel_an_binmin bins + SetFixGaussianSigma: [true, true, true, true, true, true, true, true, true, true] # sel_an_binmin bins + SetArraySigma: [false, false, false, false, false, false, false, false, false, false, false] # sel_an_binmin bins + sigmaarray: [0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01] # initial sigma (sel_an_binmin bins) + + fix_sigmasec: [true, true, true, true, true, true, true, true, true] # sel_an_binmin bins + sigmaarraysec: [0.007497, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01] # sel_an_binmin bins + use_reflections: true + # simple fitter END + + signal_sigma: 2.0 + sigma_scale: 0.9545 + sideband_sigma_1_left: 4 + sideband_sigma_2_left: 9 + sideband_sigma_1_right: 4 + sideband_sigma_2_right: 9 + sidebandleftonly: false + + niterunfolding: 15 + niterunfoldingchosen: 4 + + doprior: false + domodeldep: false + path_modeldep: /home/nzardosh/PYTHIA_Sim/PYTHIA8_Simulations/Plots/D0_Substructure_Simulations_Output.root + + powheg_path_nonprompt: /data/POWHEG/trees_powheg_fd_central.root + + powheg_path_prompt: /data/POWHEG/trees_powheg_pr_central.root + powheg_prompt_variations_path: /data/POWHEG/trees_powheg_pr_ + powheg_prompt_variations: ["F1_R05", "F05_R1", "F2_R1", "F1_R2", "F2_R2", "F05_R05", "Mhigh", "Mlow"] + + pythia8_prompt_variations_path: /data/PYTHIA8/trees_pythia8_pr_ + pythia8_prompt_variations: ["default", "charm_lo"] #["default","colour0soft"] + pythia8_prompt_variations_legend: ["PYTHIA 8 (Monash)", "PYTHIA 8 charm LO"] # ["PYTHIA 8 (Monash)","PYTHIA 8 SoftQCD, mode 0"] + + variations_db: database_variations_LcJet_pp_jet_obs.yml + + # Additional cuts applied before mass histogram is filled + use_cuts: True + cuts: ["mlPromptScore > 0.97", "mlPromptScore > 0.9", "mlPromptScore > 0.9", "mlPromptScore > 0.85", "mlPromptScore > 0.85", "mlPromptScore > 0.8", "mlPromptScore > 0.8", "mlPromptScore > 0.6", "mlPromptScore > 0.6"] # (sel_an_binmin bins) systematics FIXME: Update for new model. + + systematics: # used in machine_learning_hep/analysis/systematics.py + probvariation: + useperiod: [0, 0, 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.80, 0.80, 0.6, 0.3, 0.3] #Min starting point for scan + cutvarmaxrange: [0.98, 0.95, 0.95, 0.95, 0.95] #Max starting point for scan + fixedmean: True #Fix mean cutvar histo to central fit + fixedsigma: True #Fix sigma cutvar histo to central fit + mcptshape: + #FONLL / generated LHC19h4c1 + weights: [1.000000] + #From SetPtWeightsFromFONLL13overLHC17c3a12 in AliPhysics + #weights: [1.429770] + weights_min_pt: 0 + weights_max_pt: 40 + weights_bins: 400 diff --git a/machine_learning_hep/data/data_run3/database_ml_parameters_Jet_pp.yml b/machine_learning_hep/data/data_run3/database_ml_parameters_Jet_pp.yml index 8dea33068f..f0ad871ee8 100644 --- a/machine_learning_hep/data/data_run3/database_ml_parameters_Jet_pp.yml +++ b/machine_learning_hep/data/data_run3/database_ml_parameters_Jet_pp.yml @@ -12,1096 +12,798 @@ # along with this program. if not, see . # Jet_pp: - doml: true - mass: 1.86484 - sel_reco_unp: null - sel_reco_singletrac_unp: null - sel_gen_unp: null - sel_cen_unp: null - sel_good_evt_unp: null - sel_reco_skim: [null] # (sel_skim_binmin bins) FIXME: Update for new model. - sel_gen_skim: [null] # (sel_skim_binmin bins) FIXME: Update for new model. - sel_skim_binmin: [0] # skimming pt bins (sel_skim_binmin bins) FIXME: Update for new model. - sel_skim_binmax: [50] # skimming pt bins (sel_skim_binmin bins) FIXME: Update for new model. - var_binning: null - dofullevtmerge: false - - # obsolete, to be removed - # 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: ismcrefl - isstd: [[1], []] - ismcsignal: [[0], []] - ismcprompt: [[0], [1]] - ismcfd: [[1], [0]] - ismcbkg: [[], [1]] - ismcrefl: [[1], [1]] # probably missing from tree creator - - #region dfs - dfs: - read: - # evtorig: - # index: fIndexCJetCO - # level: data - # trees: - # O2cjetco: [fPosZ] - # filter: "abs(fPosZ) < 10." - collcnt: - trees: - O2collcount: - [ - fReadCounts, - fReadCountsWithTVX, - fReadCountsWithTVXAndZVertexAndSel8, - fReadCountsWithTVXAndZVertexAndSelMC, - ] - # bccnt: - # trees: - # O2bccount: - # [ - # fReadCountsWithTVX, - # fReadCountsWithTVXAndNoTFB, - # fReadCountsWithTVXAndNoTFBAndNoITSROFB, - # ] - - collgen: # TODO: check if we can use the HF collision table instead - level: gen - index: fIndexCMCPJETCOS - trees: - O2cmcpjetco: [fPosZ, fCentrality, fEventSel] - filter: "abs(fPosZ) < 10." - jetgen: - level: gen - index: fIndexCMCPJETOS - trees: - O2cmcpjeto: - [ - fIndexCMCPJETCOS, - fJetPt, - fJetPhi, - fJetEta, - fJetNConstituents, - fJetR, - ] - O2cmcpjetmo: - [ - fIndexArrayCMCDJETOS_hf, - fIndexArrayCMCDJETOS_geo, - fIndexArrayCMCDJETOS_pt, - ] - O2cmcpjetsso: - [ - fEnergyMother, - fPtLeading, - fPtSubLeading, - fTheta, - fNSub2DR, - fNSub1, - fNSub2, - fAngularity, - fPairPt, - fPairEnergy, - fPairTheta, - ] - filter: "abs(fJetEta) < (.9 - (fJetR / 100.)) and fJetPt > 5." # TODO: check jet eta cut - extra: - fPt: 5. - fM: 1.86 - - colldet: - level: det - index: fIndexCMCDJETCOS - trees: - O2cmcdjetco: [fPosZ, fCentrality, fEventSel] - filter: "abs(fPosZ) < 10." - jetdet: - level: det - index: fIndexCMCDJETOS - trees: # add EEC columns - O2cmcdjeto: - [ - fIndexCMCDJETCOS, - fJetPt, - fJetPhi, - fJetEta, - fJetNConstituents, - fJetR, - ] - O2cmcdjetmo: - [ - fIndexArrayCMCPJETOS_hf, - fIndexArrayCMCPJETOS_geo, - fIndexArrayCMCPJETOS_pt, - ] - O2cmcdjetsso: - [ - fEnergyMother, - fPtLeading, - fPtSubLeading, - fTheta, - fNSub2DR, - fNSub1, - fNSub2, - fAngularity, - fPairPt, - fPairEnergy, - fPairTheta, - ] - filter: "abs(fJetEta) < (.9 - (fJetR / 100.))" # TODO: check jet eta cut - extra: - fPt: 5. - fM: 1.86 - - colldata: - level: data - index: fIndexCJETCOS - trees: - O2cjetco: [fPosZ, fCentrality, fEventSel] - filter: "abs(fPosZ) < 10." # systematics? - jetdata: - level: data - index: fIndexCJETOS - trees: - O2cjeto: - [ - fIndexCJETCOS, - fJetPt, - fJetPhi, - fJetEta, - fJetNConstituents, - fJetR, - ] - O2cjetsso: - [ - fEnergyMother, - fPtLeading, - fPtSubLeading, - fTheta, - fNSub2DR, - fNSub1, - fNSub2, - fAngularity, - fPairPt, - fPairEnergy, - fPairTheta, - ] - filter: "abs(fJetEta) < (.9 - (fJetR / 100.))" # TODO: check jet eta cut - extra: - fPt: 5. - fM: 1.86 - - merge: - # - { base: jetgen, ref: collgen } - - { base: jetdet, ref: colldet } - - { base: jetdata, ref: colldata } - - write: - jetgen: - level: gen - file: AnalysisResultsGen.parquet - jetdet: - level: det - file: AnalysisResultsReco.parquet - jetdata: - level: data - file: AnalysisResultsReco.parquet - colldata: - level: data - file: AnalysisResultsEvtOrig.parquet - collgen: - level: mc - file: AnalysisResultsEvtOrig.parquet - # colldata_all: - # level: data - # file: AnalysisResultsEvt.parquet - # collgen_all: - # level: mc - # file: AnalysisResultsEvt.parquet - collcnt: - level: all - file: AnalysisResultsCollCnt.parquet - # bccnt: - # level: all - # file: AnalysisResultsBcCnt.parquet - - variables: - var_all: - [ - fDecayLength, - fDecayLengthXY, - fDecayLengthNormalised, - fDecayLengthXYNormalised, - fCpa, - fCpaXY, - fImpactParameter0, - fImpactParameter1, - fErrorImpactParameter0, - fErrorImpactParameter1, - fNSigTpcPiExpPi, - fNSigTpcKaExpPi, - fNSigTpcPiExpKa, - fNSigTpcKaExpKa, - ] - var_training: - [ - [ - fDecayLength, - fDecayLengthXY, - fDecayLengthNormalised, - fDecayLengthXYNormalised, - fCpa, - fCpaXY, - fImpactParameter0, - fImpactParameter1, - fErrorImpactParameter0, - fErrorImpactParameter1, - fNSigTpcPiExpPi, - fNSigTpcKaExpPi, - fNSigTpcPiExpKa, - fNSigTpcKaExpKa, - ], - [ - fDecayLength, - fDecayLengthXY, - fDecayLengthNormalised, - fDecayLengthXYNormalised, - fCpa, - fCpaXY, - fImpactParameter0, - fImpactParameter1, - fErrorImpactParameter0, - fErrorImpactParameter1, - fNSigTpcPiExpPi, - fNSigTpcKaExpPi, - fNSigTpcPiExpKa, - fNSigTpcKaExpKa, - ], - [ - fDecayLength, - fDecayLengthXY, - fDecayLengthNormalised, - fDecayLengthXYNormalised, - fCpa, - fCpaXY, - fImpactParameter0, - fImpactParameter1, - fErrorImpactParameter0, - fErrorImpactParameter1, - fNSigTpcPiExpPi, - fNSigTpcKaExpPi, - fNSigTpcPiExpKa, - fNSigTpcKaExpKa, - ], - [ - fDecayLength, - fDecayLengthXY, - fDecayLengthNormalised, - fDecayLengthXYNormalised, - fCpa, - fCpaXY, - fImpactParameter0, - fImpactParameter1, - fErrorImpactParameter0, - fErrorImpactParameter1, - fNSigTpcPiExpPi, - fNSigTpcKaExpPi, - fNSigTpcPiExpKa, - fNSigTpcKaExpKa, - ], - [ - fDecayLength, - fDecayLengthXY, - fDecayLengthNormalised, - fDecayLengthXYNormalised, - fCpa, - fCpaXY, - fImpactParameter0, - fImpactParameter1, - fErrorImpactParameter0, - fErrorImpactParameter1, - fNSigTpcPiExpPi, - fNSigTpcKaExpPi, - fNSigTpcPiExpKa, - fNSigTpcKaExpKa, - ], - [ - fDecayLength, - fDecayLengthXY, - fDecayLengthNormalised, - fDecayLengthXYNormalised, - fCpa, - fCpaXY, - fImpactParameter0, - fImpactParameter1, - fErrorImpactParameter0, - fErrorImpactParameter1, - fNSigTpcPiExpPi, - fNSigTpcKaExpPi, - fNSigTpcPiExpKa, - fNSigTpcKaExpKa, - ], - [ - fDecayLength, - fDecayLengthXY, - fDecayLengthNormalised, - fDecayLengthXYNormalised, - fCpa, - fCpaXY, - fImpactParameter0, - fImpactParameter1, - fErrorImpactParameter0, - fErrorImpactParameter1, - fNSigTpcPiExpPi, - fNSigTpcKaExpPi, - fNSigTpcPiExpKa, - fNSigTpcKaExpKa, - ], - ] - #TODO: add new variables for dca, max_norm_d0d0exp - # sel_skim_binmin bins - var_boundaries: [fCosThetaStar, fPtProng] - var_correlation: - - [fCosThetaStar] # TODO: update - - [fPtProng0] - var_signal: signal - var_class: class - var_inv_mass: fM - var_y: fY - var_evt_sel: fIsEventReject - var_cuts: - - [fPtProng0, lt, null] - - [fPtProng1, lt, null] - - plot_options: - prob_cut_scan: - fPtProng0: - xlim: - - 0 - - 1 - fPtProng1: - xlim: - - 0 - - 1 - eff_cut_scan: - fPtProng0: - xlim: - - 0 - - 1 - fPtProng1: - xlim: - - 0 - - 1 - - 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: mcweights.root - treeoutput: "D0tree" - histofilename: "masshisto.root" - efffilename: "effhisto.root" - respfilename: "resphisto.root" - crossfilename: "cross_section_tot.root" - resultfilename: "results.root" - - #region multi - multi: - data: - nprocessesparallel: 10 - maxfiles: [-1] #list of periods - chunksizeunp: [100] #list of periods - chunksizeskim: [100] #list of periods - fracmerge: [.1] #list of periods - seedmerge: [12] #list of periods - period: [LHC22o] #list of periods - select_period: [1] - prefix_dir: /data2/MLhep/real/train_282844/ - unmerged_tree_dir: [/alice/] #list of periods - pkl: ["${USER}/jet/pkl"] #list of periods - pkl_skimmed: ["${USER}/jet/pklsk"] #list of periods - pkl_skimmed_merge_for_ml: ["${USER}/jet/pklskml"] #list of periods - pkl_skimmed_merge_for_ml_all: "${USER}/jet/pp_data_mltot" - pkl_evtcounter_all: "${USER}/jet/pp_data_evttot" - mcreweights: [../Analyses] #list of periods - mc: - nprocessesparallel: 80 - maxfiles: [-1] #list of periods - chunksizeunp: [100] #list of periods - chunksizeskim: [1000] #list of periods - fracmerge: [1.] #list of periods - seedmerge: [12] #list of periods - period: [LHC24d3b] #list of periods - select_period: [1] - prefix_dir: /data2/MLhep/sim/train_325030/ - unmerged_tree_dir: [alice/] - pkl: ["${USER}/jet/pkl"] #list of periods - pkl_skimmed: ["${USER}/jet/pklsk"] #list of periods - pkl_skimmed_merge_for_ml: ["${USER}/jet/pklskml"] #list of periods - pkl_skimmed_merge_for_ml_all: "${USER}/jet/pp_mc_prod_mltot" - pkl_evtcounter_all: "${USER}/jet/pp_mc_prod_evttot" - mcreweights: [../Analyses] #list of periods - - ml: - evtsel: null # TODO: fIsEventReject == 0 - triggersel: - data: null - mc: null - - nbkg: 500000 - nsig: 500000 - mult_bkg: [1, 1, 1, 1, 1, 1, 1] - nclasses: [20000, 20000] - sampletags: [0, 1] - equalise_sig_bkg: True - # sampletagforsignal: 1 - # sampletagforbkg: 0 - sel_ml: [fM<1.8 or fM>1.92, ismcprompt == 1] - sel_bkg: fM<1.8 or fM>1.92 - class_labels: [bkg, sig] - nkfolds: 5 - rnd_shuffle: 12 - rnd_splt: 12 - rnd_all: 12 - test_frac: 0.2 - binmin: [1, 2, 4, 6, 8, 12, 24] # must be equal to sel_skim_binmin (sel_skim_binmin bins) - binmax: [2, 4, 6, 8, 12, 24, 48] # must be equal to sel_skim_binmax (sel_skim_binmin bins) - mltype: BinaryClassification - ncorescrossval: 10 - prefix_dir_ml: /data2/jklein/MLhep/ - mlplot: mlplot - mlout: mlout - - opt: - isFONLLfromROOT: true - filename_fonll: "data/fonll/D0DplusDstarPredictions_13TeV_y05_all_300416_BDShapeCorrected.root" # file with FONLL predictions - fonll_particle: "hD0Kpipred" - fonll_pred: "max" # edge of the FONLL prediction - FF: 0.6086 # 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: 3.95e-2 # branching ratio of the decay D0 -> K- pi+ - f_prompt: 0.9 # estimated fraction of prompt candidates - bkg_data_fraction: 0.1 # 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] # sel_skim_binmin bins - # presel_gen_eff: "abs(fY) < 0.5 and abs(fPosZ) < 10" - presel_gen_eff: "fPt > 0." # TODO: fix - - mlapplication: - data: - prefix_dir_app: /data2/jklein/ - 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/jklein/ - pkl_skimmed_dec: [LHC22pp_mc/MLapplication/prod_LHC22b1b/skpkldecmc] #list of periods - pkl_skimmed_decmerged: [ - LHC22pp_mc/MLapplication/prod_LHC22b1b/skpkldecmcmerged, - ] #list of periods - modelname: xgboost - modelsperptbin: [ - xgboost_classifierD0pp_jet_dfselection_fPt_1.0_2.0.sav, - xgboost_classifierD0pp_jet_dfselection_fPt_2.0_4.0.sav, - xgboost_classifierD0pp_jet_dfselection_fPt_4.0_6.0.sav, - xgboost_classifierD0pp_jet_dfselection_fPt_6.0_8.0.sav, - xgboost_classifierD0pp_jet_dfselection_fPt_8.0_12.0.sav, - xgboost_classifierD0pp_jet_dfselection_fPt_12.0_24.0.sav, - xgboost_classifierD0pp_jet_dfselection_fPt_24.0_48.0.sav, - ] # sel_skim_binmin bins - probcutpresel: - data: [0.75, 0.75, 0.65, 0.65, 0.45, 0.45, 0.45, .45] # sel_skim_binmin bins - mc: [0.75, 0.75, 0.65, 0.65, 0.45, 0.45, 0.45, .45] # sel_skim_binmin bins - probcutoptimal: [0.92, 0.90, 0.82, 0.80, 0.60, 0.60, 0.60, .45] # sel_skim_binmin bins - - #region analysis - analysis: - anahptspectrum: "D0Kpi" #D0Kpi, DplusKpipi, DstarD0pi, DsKKpi, LctopKpi, LcK0Sp # used in analysis/analyzerdhadrons_mult.py - fd_method: "Nb" #fc, Nb - cctype: "pp" - inputfonllpred: data/fonll/D0DplusDstarPredictions_13TeV_y05_all_300416_BDShapeCorrected.root # used in machine_learning_hep/hf_pt_spectrum.py - dir_general_plots: /data2/jklein/data/analysis_plots - - jet_obs: &jet_default - hfjet: false - sel_an_binmin: [1] # hadron pt bins (sel_an_binmin bins) - sel_an_binmax: [48] # hadron pt bins (sel_an_binmin bins) # FIXME: move the last edge in sel_an_binmin - bins_ptjet: [5, 7, 15, 30, 50, 70] # systematics, TODO: split rec and gen binning - bins_ptjet_eff: [2, 5, 7, 15, 30, 50, 70, 90] # systematics, TODO: split rec and gen binning - # cand_collidx: fIndexHfD0CollBases - counter_read_data: fReadCountsWithTVXAndZVertexAndSel8 - counter_read_mc: fReadCountsWithTVXAndZVertexAndSelMC - counter_tvx: fReadCountsWithTVX - xsection_inel: 59.4 # (mb) cross-section of minimum-bias events # used # systematics - lumi_scale_mc: 408 # charm enhancement factor in MC to scale the MC luminosity - branching_ratio: 3.947e-2 # used - - observables: - zg: - bins_gen_var: - [-.1, .0, .05, .1, .15, .2, .25, .3, .35, .4, .45, .5] - bins_det_var: - [-.1, .0, .05, .1, .15, .2, .25, .3, .35, .4, .45, .5] - label: "#it{z}_{g}" - label_y: "(1/#it{N}_{jet ch}) d#it{N}/d#it{z}_{g}" - nsd: - bins_gen_fix: [7, -.5, 6.5] - bins_det_fix: [7, -.5, 6.5] - label: "#it{n}_{SD}" - label_y: "(1/#it{N}_{jet ch}) d#it{N}/d#it{n}_{SD}" - rg: - bins_gen_var: - [-.1, .0, .05, .1, .15, .2, .25, .3, .35, .4, .45, .5] - bins_det_var: - [-.1, .0, .05, .1, .15, .2, .25, .3, .35, .4, .45, .5] - label: "#it{R}_{g}" - label_y: "(1/#it{N}_{jet ch}) d#it{N}/d#it{R}_{g}" - # zpar: - # # bins_gen_fix: [10, 0., 1.] - # # bins_det_fix: [10, 0., 1.] - # bins_gen_var: - # [ - # 0.2, - # 0.25, - # 0.3, - # 0.35, - # 0.4, - # 0.45, - # 0.5, - # 0.55, - # 0.6, - # 0.65, - # 0.7, - # 0.75, - # 0.8, - # 0.85, - # 0.9, - # 0.95, - # 1., - # ] - # bins_det_var: - # [ - # 0.2, - # 0.25, - # 0.3, - # 0.35, - # 0.4, - # 0.45, - # 0.5, - # 0.55, - # 0.6, - # 0.65, - # 0.7, - # 0.75, - # 0.8, - # 0.85, - # 0.9, - # 0.95, - # 1., - # ] - # label: "#it{z}_{#parallel}" - # label_y: "(1/#it{N}_{jet ch}) d#it{N}/d#it{z}_{#parallel}" - # dr: - # bins_gen_fix: [10, 0., 1.] - # bins_det_fix: [10, 0., 1.] - # label: "#Delta#it{r}" - lntheta: - bins_gen_fix: [10, 0., 5.] - bins_det_fix: [10, 0., 5.] - label: "#minusln(#it{#theta})" - arraycols: [3] - lnkt: - bins_gen_fix: [10, -8., 2.] - bins_det_fix: [10, -8., 2.] - label: "ln(#it{k}_{T}/(GeV/#it{c}))" - arraycols: [3] - lntheta-lnkt: - arraycols: [3, 4] - - # data_selections: - # mcsig: - # level: mc - # query: "(isd0 & seld0) or (isd0bar & seld0bar)" - # mcrefl: - # level: mc - # query: "(isd0 & seld0bar) or (isd0bar & seld0)" - - corr_refl: false # systematics - fit_levels: ["mc", "data"] - mass_roofit: - - level: mcsig - datasel: mcsig - range: [1.69, 2.04] # systematics? or propagate bg fit uncertainty directly? - components: - sig: - fn: "Gaussian::peak(m[1.,5.], mean[1.85,1.89], sigma_g1[.01,.08])" - bkg: - fn: "Gaussian::wide(m, mean, sigma_wide[.05,1.])" - model: - fn: "SUM::sig(frac_wide[0.,.3]*wide, peak)" - - level: mcrefl - ptrange: [1., 3.] - datasel: mcrefl - range: [1.69, 2.04] - components: - refl_l: - fn: "Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.1])" - refl_r: - fn: "Gaussian::refl_r(m, mean_r[1.865,2.0], sigma_r[.01,.1])" - model: - fn: "SUM::refl(frac_l[0.1,.9]*refl_l, refl_r)" - - level: mcrefl - ptrange: [3., 4.] - datasel: mcrefl - range: [1.68, 2.06] - components: - refl_l: - fn: "Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.2])" - refl_r: - fn: "Gaussian::refl_r(m, mean_r[1.865,2.0], sigma_r[.01,.2])" - model: - fn: "SUM::refl(frac_l[0.,1.]*refl_l, refl_r)" - - level: mcrefl - ptrange: [4., 5.] - datasel: mcrefl - range: [1.64, 2.08] - components: - refl_l: - fn: "Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.2])" - refl_r: - fn: "Gaussian::refl_r(m, mean_r[1.865,2.0], sigma_r[.01,.2])" - model: - fn: "SUM::refl(frac_l[0.,1.]*refl_l, refl_r)" - - level: mcrefl - ptrange: [5., 6.] - datasel: mcrefl - range: [1.64, 2.10] - components: - refl_l: - fn: "Gaussian::refl_l(m, mean_l[1.8,1.865], sigma_l[.01,.2])" - refl_r: - fn: "Gaussian::refl_r(m, mean_r[1.865,2.0], sigma_r[.01,.2])" - model: - fn: "SUM::refl(frac_l[0.,1.]*refl_l, refl_r)" - - level: mcrefl - ptrange: [6., 8.] - datasel: mcrefl - range: [1.60, 2.14] - components: - refl_l: - fn: "Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.2])" - refl_r: - fn: "Gaussian::refl_r(m, mean_r[1.865,2.1], sigma_r[.01,.2])" - model: - fn: "SUM::refl(frac_l[0.,1.]*refl_l, refl_r)" - - level: mcrefl - ptrange: [8., 12.] - datasel: mcrefl - range: [1.52, 2.30] - components: - refl_l: - fn: "Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.2])" - refl_r: - fn: "Gaussian::refl_r(m, mean_r[1.865,2.1], sigma_r[.01,.2])" - model: - fn: "SUM::refl(frac_l[0.,1.]*refl_l, refl_r)" - - level: mcrefl - ptrange: [12., 48.] - datasel: mcrefl - range: [1.40, 2.4] - components: - refl_l: - fn: "Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.2])" - refl_r: - fn: "Gaussian::refl_r(m, mean_r[1.865,2.1], sigma_r[.01,.2])" - model: - fn: "SUM::refl(frac_l[0.,1.]*refl_l, refl_r)" - - level: mc - ptrange: [1., 3.] - range: [1.69, 2.04] - fix_params: - [ - "frac_l", - "mean_l", - "mean_r", - "sigma_l", - "sigma_r", - "frac_wide", - "sigma_g1", - "sigma_wide", - ] - components: - model: - fn: "SUM::sigrefl(frac_refl[0.,1.]*refl, sig)" - - level: mc - ptrange: [3., 4.] - range: [1.68, 2.06] - fix_params: - [ - "frac_l", - "mean_l", - "mean_r", - "sigma_l", - "sigma_r", - "frac_wide", - "sigma_g1", - "sigma_wide", - ] - components: - model: - fn: "SUM::sigrefl(frac_refl[0.,1.]*refl, sig)" - - level: mc - ptrange: [4., 5.] - range: [1.64, 2.08] - fix_params: - [ - "frac_l", - "mean_l", - "mean_r", - "sigma_l", - "sigma_r", - "frac_wide", - "sigma_g1", - "sigma_wide", - ] - components: - model: - fn: "SUM::sigrefl(frac_refl[0.,1.]*refl, sig)" - - level: mc - ptrange: [5., 6.] - range: [1.64, 2.10] - fix_params: - [ - "frac_l", - "mean_l", - "mean_r", - "sigma_l", - "sigma_r", - "frac_wide", - "sigma_g1", - "sigma_wide", - ] - components: - model: - fn: "SUM::sigrefl(frac_refl[0.,1.]*refl, sig)" - - level: mc - ptrange: [6., 8.] - range: [1.60, 2.14] - fix_params: - [ - "frac_l", - "mean_l", - "mean_r", - "sigma_l", - "sigma_r", - "frac_wide", - "sigma_g1", - "sigma_wide", - ] - components: - model: - fn: "SUM::sigrefl(frac_refl[0.,1.]*refl, sig)" - - level: mc - ptrange: [8., 12.] - range: [1.52, 2.30] - fix_params: - [ - "frac_l", - "mean_l", - "mean_r", - "sigma_l", - "sigma_r", - "frac_wide", - "sigma_g1", - "sigma_wide", - ] - components: - model: - fn: "SUM::sigrefl(frac_refl[0.,1.]*refl, sig)" - - level: mc - ptrange: [12., 48.] - range: [1.40, 2.40] - fix_params: - [ - "frac_l", - "mean_l", - "mean_r", - "sigma_l", - "sigma_r", - "frac_wide", - "sigma_g1", - "sigma_wide", - ] - components: - model: - fn: "SUM::sigrefl(frac_refl[0.,1.]*refl, sig)" - - ptrange: [1., 2.] - per_ptjet: true - range: [1.72, 2.02] - fix_params: ["frac_refl"] - free_params: ["sigma_g1"] - fix_params_ptjet: ["mean", "sigma_g1"] - components: - bkg: - fn: "Exponential::bkg(m, alpha[-100,0])" - model: - fn: "SUM::sum(frac[0.,1.]*sigrefl, bkg)" - - ptrange: [2., 3.] - per_ptjet: true - fix_params: ["frac_refl"] - free_params: ["sigma_g1"] - fix_params_ptjet: ["mean", "sigma_g1"] - range: [1.72, 2.04] - components: - bkg: - fn: "Exponential::bkg(m, alpha[-100,0])" - model: - fn: "SUM::sum(frac[0.,1.]*sigrefl, bkg)" - - ptrange: [3., 4.] - per_ptjet: true - fix_params: ["frac_refl"] - free_params: ["sigma_g1"] - fix_params_ptjet: ["mean", "sigma_g1"] - range: [1.72, 2.06] - components: - bkg: - fn: "Exponential::bkg(m, alpha[-100,0])" - model: - fn: "SUM::sum(frac[0.,1.]*sigrefl, bkg)" - - ptrange: [4., 5.] - per_ptjet: true - fix_params: ["frac_refl"] - free_params: ["sigma_g1"] - fix_params_ptjet: ["mean", "sigma_g1"] - # fix_params: ['mean', 'sigma_g1', 'frac_refl'] - range: [1.72, 2.08] - components: - bkg: - fn: "Exponential::bkg(m, alpha[-100,0])" - model: - fn: "SUM::sum(frac[0.,1.]*sigrefl, bkg)" - - ptrange: [5., 6.] - per_ptjet: true - fix_params: ["frac_refl"] - free_params: ["sigma_g1"] - fix_params_ptjet: ["mean", "sigma_g1"] - range: [1.72, 2.10] - components: - bkg: - fn: "Exponential::bkg(m, alpha[-100,0])" - model: - fn: "SUM::sum(frac[0.,1.]*sigrefl, bkg)" - - ptrange: [6., 8.] - per_ptjet: true - fix_params: ["frac_refl"] - free_params: ["sigma_g1"] - fix_params_ptjet: ["mean", "sigma_g1"] - range: [1.72, 2.14] - components: - bkg: - fn: "Exponential::bkg(m, alpha[-100,0])" - model: - fn: "SUM::sum(frac[0.,1.]*sigrefl, bkg)" - - range: [1.72, 2.20] - per_ptjet: true - fix_params: ["frac_refl"] - free_params: ["sigma_g1"] - fix_params_ptjet: ["mean", "sigma_g1"] - components: - bkg: - fn: "Exponential::bkg(m, alpha[-100,0])" - model: - fn: "SUM::sum(frac[0.,1.]*sigrefl, bkg)" - - sidesub_per_ptjet: true - sidesub: - - level: mc - regions: - left: [-2., -2.] - signal: [-2., 2.] - right: [3., 3.] - - ptrange: [16., 100.] - regions: - left: [-2., -2.] - signal: [-2., 2.] # systematics - right: [3., 5.] # systematics - - regions: - left: [-5.5, -3.] # systematics - signal: [-2., 2.] # systematics - right: [3., 5.5] # systematics - - # mass_fit: - # func_sig: 'gaus' - # func_bkg: 'expo' - # # par_start: {1: 1.86} - # # par_fix: {1: 1.86} - # par_constrain: {1: [1.85, 1.87], 2: [.01, .08]} - # range: [1.695, 2.06] - mass_fit_lim: [1.5, 2.22] # histogram range of the invariant mass distribution [GeV/c^2]; used in processer for binarray_mass (not used for fit range!) - bin_width: 0.001 # bin width of the invariant mass histogram # systematics? - n_rebin: 3 # number of mass bins to merge - efficiency: - # extra_cols: ["isd0", "isd0bar", "seld0", "seld0bar"] - # filter_det: "(isd0 & seld0) or (isd0bar & seld0bar)" - index_match: fIndexArrayCMCPJETOS_geo - correction_method: run3 - - unfolding_iterations: 8 # used, maximum iteration - unfolding_iterations_sel: 5 # used, selected iteration # systematics - unfolding_prior_flatness: 0. # ranges from 0. (no flatness) to 1. (flat) - - closure: - pure_signal: false - # exclude_feeddown_det: 'ismcsignal==1 & ismcprompt==1' - # exclude_feeddown_gen: 'ismcsignal_gen==1 & ismcprompt_gen==1' - # filter_reflections: '(isd0 & seld0) or (isd0bar & seld0bar)' - use_matched: true - - frac_mcana: .2 # fraction of MC sample for the closure - fd_root: "/data2/vkucera/powheg/trees_powheg_fd_central.root" # systematics - fd_parquet: "/data2/jklein/powheg/trees_powheg_fd_central.parquet" # systematics - - # obsolete? - proc_type: Jets # used - useperiod: [1] #list of periods # used - # usejetptbinned_deff: false - # doeff_resp: true #efficiency correction for the response matrix - # unmatched_gen: true - latexnamehadron: "D^{0}" - # latexnamedecay: "K^{#minus} #pi^{#plus}" - var_binning2: pt_jet - # var_binning2_gen: pt_gen_jet - latexbin2var: "#it{p}_{T}^{jet ch}" - # sel_binmin2_reco: [5, 7, 15, 30] # rec jet pt bins (sel_binmin2_reco bins) - # sel_binmax2_reco: [7, 15, 30, 50] # rec jet pt bins (sel_binmin2_reco bins) - # sel_binmin2_gen: [5, 7, 15, 30] # rec jet pt bins (sel_binmin2_reco bins) - # sel_binmax2_gen: [7, 15, 30, 50] # rec jet pt bins (sel_binmin2_reco bins) - # var_binningshape: zg_jet - # var_binningshape_gen: zg_gen_jet - # var_shape_latex: "shape" - # sel_binminshape_reco: [-0.1,0.1,0.2,0.3,0.4] - # sel_binmaxshape_reco: [0.1,0.2,0.3,0.4,0.5] - # sel_binminshape_gen: [-0.1,0.1,0.2,0.3,0.4] - # sel_binmaxshape_gen: [0.1,0.2,0.3,0.4,0.5] - # sel_closure_frac: 0.2 - # triggerbit: INT7 - #jetsel_gen: "abs(y_cand) < 0.8 and abs(z_vtx_gen) < 10 and abs(eta_jet) < 0.5" - #jetsel_sim: "abs(y_cand) < 0.8 and abs(eta_jet) < 0.5" # jet selection in simulations - #jetsel_reco: "abs(y_cand) < 0.8 and abs(z_vtx_reco) < 10 and abs(eta_jet) < 0.5" - #jetsel_gen_matched_reco: "abs(eta_gen_jet) < 5.0" - # jetsel_gen: "abs(y_cand) < 0.5 and abs(z_vtx_gen) < 10 and abs(eta_jet) < 0.5" - # jetsel_sim: "abs(y_cand) < 0.5 and abs(eta_jet) < 0.5" # jet selection in simulations - # jetsel_reco: "abs(y_cand) < 0.5 and abs(z_vtx_reco) < 10 and abs(eta_jet) < 0.5" - # jetsel_gen_matched_reco: "abs(y_cand) < 0.5 and abs(z_vtx_gen) < 10 and abs(eta_gen_jet) < 0.5" - evtsel: null # fIsEventReject==0 - triggersel: - data: "trigger_hasbit_INT7==1" - mc: null - data: &data_out_default - runselection: [null] #FIXME # used but useless - results: [ - "/home/${USER}/mlhep/jet/jet_obs/default/default/data/results", - ] #list of periods - resultsallp: "/home/${USER}/mlhep/jet/jet_obs/default/default/data/results_all" - mc: &mc_out_default - runselection: [null] #FIXME # used but useless - results: [ - "/home/${USER}/mlhep/jet/jet_obs/default/default/mc/results", - ] #list of periods - resultsallp: "/home/${USER}/mlhep/jet/jet_obs/default/default/mc/results_all" - data_proc: # alternative processor output used as the analyzer input - <<: *data_out_default - mc_proc: # alternative processor output used as the analyzer input - <<: *mc_out_default - - # simple fitter START # used in cplusutilities/mass_fitter.C - # sgnfunc: [0,0,0,0,0,0,0,0,0,0,0,0] # kGaus=0, k2Gaus=1, k2GausSigmaRatioPar=2 (sel_an_binmin bins) - # bkgfunc: [0,0,0,0,0,0,0,0,0,0,0,0] # kExpo=0, kLin=1, kPol2=2, kNoBk=3, kPow=4, kPowEx=5 (sel_an_binmin bins) - # masspeak: 1.864 - # massmin: [1.66,1.66,1.66,1.66,1.66,1.66,1.66,1.66,1.66,1.66,1.66,1.66] # sel_an_binmin bins, fit region of the invariant mass distribution [GeV/c^2] - # massmax: [2.06,2.06,2.06,2.06,2.06,2.06,2.06,2.06,2.06,2.06,2.06,2.06] # sel_an_binmin bins, fit region of the invariant mass distribution [GeV/c^2] - # rebin: [6,6,6,6,6,6,6,6,6,6,6,6] # sel_an_binmin bins - # fix_mean: [false, false, false, false, false, false, false, false, false, false, false, false] # sel_an_binmin bins - # masspeaksec: 1.864 - - # obsolete (uses Ali... fitter) - # If SetArraySigma true: sigma_initial is taken from sigmaarray; false: sigma_initial is taken from MC - # If SetFixGaussianSigma true: sigma fixed to sigma_initial - # SetFixGaussianSigma: [false, false, false, false, false, false, false, false, false, false, false, false] # sel_an_binmin bins - # SetFixGaussianSigma: [true, true, true, true, true, true, true, true, true, true, true, true] # sel_an_binmin bins - # SetArraySigma: [false, false, false, false, false, false, false, false, false, false, false, false] # sel_an_binmin bins - # sigmaarray: [0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01] # initial sigma (sel_an_binmin bins) - - # fix_sigmasec: [true, true, true, true, true, true, true, true, true, true, true, true] # sel_an_binmin bins - # sigmaarraysec: [0.007497,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01] # sel_an_binmin bins - # use_reflections: true - # simple fitter END - - # signal_sigma: 2.0 - # sigma_scale: 0.9545 - # sideband_sigma_1_left: 4 - # sideband_sigma_2_left: 9 - # sideband_sigma_1_right: 4 - # sideband_sigma_2_right: 9 - # sidebandleftonly: false - - # niterunfolding: 15 - # niterunfoldingchosen: 4 - - # doprior: false - # domodeldep: false - # path_modeldep: /home/nzardosh/PYTHIA_Sim/PYTHIA8_Simulations/Plots/D0_Substructure_Simulations_Output.root - - # replace with fd_root... - # powheg_path_nonprompt: /data/POWHEG/trees_powheg_fd_central.root - # powheg_path_prompt: /data/POWHEG/trees_powheg_pr_central.root - # powheg_prompt_variations_path: /data/POWHEG/trees_powheg_pr_ - # powheg_prompt_variations: ["F1_R05","F05_R1","F2_R1","F1_R2","F2_R2","F05_R05","Mhigh","Mlow"] - - # pythia8_prompt_variations_path: /data/PYTHIA8/trees_pythia8_pr_ - # pythia8_prompt_variations: ["default", "charm_lo"] #["default","colour0soft"] - # pythia8_prompt_variations_legend: ["PYTHIA 8 (Monash)", "PYTHIA 8 charm LO"] # ["PYTHIA 8 (Monash)","PYTHIA 8 SoftQCD, mode 0"] - - variations_db: database_variations_Jet_pp_jet_obs.yml - - # Additional cuts applied before mass histogram is filled - use_cuts: False # systematics - cuts: [null] - - systematics: # used in machine_learning_hep/analysis/systematics.py - probvariation: - useperiod: [0, 0, 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.80, 0.80, 0.6, 0.3, 0.3] #Min starting point for scan - cutvarmaxrange: [0.98, 0.95, 0.95, 0.95, 0.95] #Max starting point for scan - fixedmean: True #Fix mean cutvar histo to central fit - fixedsigma: True #Fix sigma cutvar histo to central fit - mcptshape: - #FONLL / generated LHC19h4c1 - weights: [1.000000] - #From SetPtWeightsFromFONLL13overLHC17c3a12 in AliPhysics - #weights: [1.429770] - weights_min_pt: 0 - weights_max_pt: 40 - weights_bins: 400 + doml: true + mass: 1.86484 + sel_reco_unp: null + sel_reco_singletrac_unp: null + sel_gen_unp: null + sel_cen_unp: null + sel_good_evt_unp: null + sel_reco_skim: [null] # (sel_skim_binmin bins) FIXME: Update for new model. + sel_gen_skim: [null] # (sel_skim_binmin bins) FIXME: Update for new model. + sel_skim_binmin: [0] # skimming pt bins (sel_skim_binmin bins) FIXME: Update for new model. + sel_skim_binmax: [50] # skimming pt bins (sel_skim_binmin bins) FIXME: Update for new model. + var_binning: null + dofullevtmerge: false + + # obsolete, to be removed + # 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: ismcrefl + isstd: [[1], []] + ismcsignal: [[0], []] + ismcprompt: [[0], [1]] + ismcfd: [[1], [0]] + ismcbkg: [[], [1]] + ismcrefl: [[1], [1]] # probably missing from tree creator + + #region dfs + dfs: + read: + # evtorig: + # index: fIndexCJetCO + # level: data + # trees: + # O2cjetco: [fPosZ] + # filter: "abs(fPosZ) < 10." + collcnt: + trees: + O2collcount: [fReadCounts, fReadCountsWithTVX, fReadCountsWithTVXAndZVertexAndSel8, fReadCountsWithTVXAndZVertexAndSelMC] + # bccnt: + # trees: + # O2bccount: + # [ + # fReadCountsWithTVX, + # fReadCountsWithTVXAndNoTFB, + # fReadCountsWithTVXAndNoTFBAndNoITSROFB, + # ] + + collgen: # TODO: check if we can use the HF collision table instead + level: gen + index: fIndexCMCPJETCOS + trees: + O2cmcpjetco: [fPosZ, fCentrality, fEventSel] + filter: "abs(fPosZ) < 10." + jetgen: + level: gen + index: fIndexCMCPJETOS + trees: + O2cmcpjeto: [fIndexCMCPJETCOS, fJetPt, fJetPhi, fJetEta, fJetNConstituents, fJetR] + O2cmcpjetmo: [fIndexArrayCMCDJETOS_hf, fIndexArrayCMCDJETOS_geo, fIndexArrayCMCDJETOS_pt] + O2cmcpjetsso: [fEnergyMother, fPtLeading, fPtSubLeading, fTheta, fNSub2DR, fNSub1, fNSub2, fAngularity, fPairPt, fPairEnergy, fPairTheta] + filter: "abs(fJetEta) < (.9 - (fJetR / 100.)) and fJetPt > 5." # TODO: check jet eta cut + extra: + fPt: 5. + fM: 1.86 + + colldet: + level: det + index: fIndexCMCDJETCOS + trees: + O2cmcdjetco: [fPosZ, fCentrality, fEventSel] + filter: "abs(fPosZ) < 10." + jetdet: + level: det + index: fIndexCMCDJETOS + trees: # add EEC columns + O2cmcdjeto: [fIndexCMCDJETCOS, fJetPt, fJetPhi, fJetEta, fJetNConstituents, fJetR] + O2cmcdjetmo: [fIndexArrayCMCPJETOS_hf, fIndexArrayCMCPJETOS_geo, fIndexArrayCMCPJETOS_pt] + O2cmcdjetsso: [fEnergyMother, fPtLeading, fPtSubLeading, fTheta, fNSub2DR, fNSub1, fNSub2, fAngularity, fPairPt, fPairEnergy, fPairTheta] + filter: "abs(fJetEta) < (.9 - (fJetR / 100.))" # TODO: check jet eta cut + extra: + fPt: 5. + fM: 1.86 + + colldata: + level: data + index: fIndexCJETCOS + trees: + O2cjetco: [fPosZ, fCentrality, fEventSel] + filter: "abs(fPosZ) < 10." # systematics? + jetdata: + level: data + index: fIndexCJETOS + trees: + O2cjeto: [fIndexCJETCOS, fJetPt, fJetPhi, fJetEta, fJetNConstituents, fJetR] + O2cjetsso: [fEnergyMother, fPtLeading, fPtSubLeading, fTheta, fNSub2DR, fNSub1, fNSub2, fAngularity, fPairPt, fPairEnergy, fPairTheta] + filter: "abs(fJetEta) < (.9 - (fJetR / 100.))" # TODO: check jet eta cut + extra: + fPt: 5. + fM: 1.86 + + merge: + # - { base: jetgen, ref: collgen } + - {base: jetdet, ref: colldet} + - {base: jetdata, ref: colldata} + # workaround for yamlfmt issue #110 + + write: + jetgen: + level: gen + file: AnalysisResultsGen.parquet + jetdet: + level: det + file: AnalysisResultsReco.parquet + jetdata: + level: data + file: AnalysisResultsReco.parquet + colldata: + level: data + file: AnalysisResultsEvtOrig.parquet + collgen: + level: mc + file: AnalysisResultsEvtOrig.parquet + # colldata_all: + # level: data + # file: AnalysisResultsEvt.parquet + # collgen_all: + # level: mc + # file: AnalysisResultsEvt.parquet + collcnt: + level: all + file: AnalysisResultsCollCnt.parquet + # bccnt: + # level: all + # file: AnalysisResultsBcCnt.parquet + + variables: + var_all: [fDecayLength, fDecayLengthXY, fDecayLengthNormalised, fDecayLengthXYNormalised, fCpa, fCpaXY, fImpactParameter0, fImpactParameter1, fErrorImpactParameter0, fErrorImpactParameter1, fNSigTpcPiExpPi, fNSigTpcKaExpPi, fNSigTpcPiExpKa, fNSigTpcKaExpKa] + var_training: [[fDecayLength, fDecayLengthXY, fDecayLengthNormalised, fDecayLengthXYNormalised, fCpa, fCpaXY, fImpactParameter0, fImpactParameter1, fErrorImpactParameter0, fErrorImpactParameter1, fNSigTpcPiExpPi, fNSigTpcKaExpPi, fNSigTpcPiExpKa, fNSigTpcKaExpKa], [fDecayLength, fDecayLengthXY, fDecayLengthNormalised, fDecayLengthXYNormalised, fCpa, fCpaXY, fImpactParameter0, fImpactParameter1, fErrorImpactParameter0, fErrorImpactParameter1, fNSigTpcPiExpPi, fNSigTpcKaExpPi, fNSigTpcPiExpKa, fNSigTpcKaExpKa], [fDecayLength, fDecayLengthXY, fDecayLengthNormalised, fDecayLengthXYNormalised, fCpa, fCpaXY, fImpactParameter0, fImpactParameter1, fErrorImpactParameter0, fErrorImpactParameter1, fNSigTpcPiExpPi, fNSigTpcKaExpPi, fNSigTpcPiExpKa, fNSigTpcKaExpKa], [fDecayLength, fDecayLengthXY, fDecayLengthNormalised, fDecayLengthXYNormalised, fCpa, fCpaXY, fImpactParameter0, fImpactParameter1, fErrorImpactParameter0, fErrorImpactParameter1, fNSigTpcPiExpPi, fNSigTpcKaExpPi, fNSigTpcPiExpKa, fNSigTpcKaExpKa], [fDecayLength, fDecayLengthXY, fDecayLengthNormalised, fDecayLengthXYNormalised, fCpa, fCpaXY, fImpactParameter0, fImpactParameter1, fErrorImpactParameter0, fErrorImpactParameter1, fNSigTpcPiExpPi, fNSigTpcKaExpPi, fNSigTpcPiExpKa, fNSigTpcKaExpKa], [fDecayLength, fDecayLengthXY, fDecayLengthNormalised, fDecayLengthXYNormalised, fCpa, fCpaXY, fImpactParameter0, fImpactParameter1, fErrorImpactParameter0, fErrorImpactParameter1, fNSigTpcPiExpPi, fNSigTpcKaExpPi, fNSigTpcPiExpKa, fNSigTpcKaExpKa], [fDecayLength, fDecayLengthXY, fDecayLengthNormalised, fDecayLengthXYNormalised, fCpa, fCpaXY, fImpactParameter0, fImpactParameter1, fErrorImpactParameter0, fErrorImpactParameter1, fNSigTpcPiExpPi, fNSigTpcKaExpPi, fNSigTpcPiExpKa, fNSigTpcKaExpKa]] + #TODO: add new variables for dca, max_norm_d0d0exp + # sel_skim_binmin bins + var_boundaries: [fCosThetaStar, fPtProng] + var_correlation: + - [fCosThetaStar] # TODO: update + - [fPtProng0] + var_signal: signal + var_class: class + var_inv_mass: fM + var_y: fY + var_evt_sel: fIsEventReject + var_cuts: + - [fPtProng0, lt, null] + - [fPtProng1, lt, null] + + plot_options: + prob_cut_scan: + fPtProng0: + xlim: + - 0 + - 1 + fPtProng1: + xlim: + - 0 + - 1 + eff_cut_scan: + fPtProng0: + xlim: + - 0 + - 1 + fPtProng1: + xlim: + - 0 + - 1 + + 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: mcweights.root + treeoutput: "D0tree" + histofilename: "masshisto.root" + efffilename: "effhisto.root" + respfilename: "resphisto.root" + crossfilename: "cross_section_tot.root" + resultfilename: "results.root" + + #region multi + multi: + data: + nprocessesparallel: 10 + maxfiles: [-1] #list of periods + chunksizeunp: [100] #list of periods + chunksizeskim: [100] #list of periods + fracmerge: [.1] #list of periods + seedmerge: [12] #list of periods + period: [LHC22o] #list of periods + select_period: [1] + prefix_dir: /data2/MLhep/real/train_282844/ + unmerged_tree_dir: [/alice/] #list of periods + pkl: ["${USER}/jet/pkl"] #list of periods + pkl_skimmed: ["${USER}/jet/pklsk"] #list of periods + pkl_skimmed_merge_for_ml: ["${USER}/jet/pklskml"] #list of periods + pkl_skimmed_merge_for_ml_all: "${USER}/jet/pp_data_mltot" + pkl_evtcounter_all: "${USER}/jet/pp_data_evttot" + mcreweights: [../Analyses] #list of periods + mc: + nprocessesparallel: 80 + maxfiles: [-1] #list of periods + chunksizeunp: [100] #list of periods + chunksizeskim: [1000] #list of periods + fracmerge: [1.] #list of periods + seedmerge: [12] #list of periods + period: [LHC24d3b] #list of periods + select_period: [1] + prefix_dir: /data2/MLhep/sim/train_325030/ + unmerged_tree_dir: [alice/] + pkl: ["${USER}/jet/pkl"] #list of periods + pkl_skimmed: ["${USER}/jet/pklsk"] #list of periods + pkl_skimmed_merge_for_ml: ["${USER}/jet/pklskml"] #list of periods + pkl_skimmed_merge_for_ml_all: "${USER}/jet/pp_mc_prod_mltot" + pkl_evtcounter_all: "${USER}/jet/pp_mc_prod_evttot" + mcreweights: [../Analyses] #list of periods + + ml: + evtsel: null # TODO: fIsEventReject == 0 + triggersel: + data: null + mc: null + + nbkg: 500000 + nsig: 500000 + mult_bkg: [1, 1, 1, 1, 1, 1, 1] + nclasses: [20000, 20000] + sampletags: [0, 1] + equalise_sig_bkg: True + # sampletagforsignal: 1 + # sampletagforbkg: 0 + sel_ml: [fM<1.8 or fM>1.92, ismcprompt == 1] + sel_bkg: fM<1.8 or fM>1.92 + class_labels: [bkg, sig] + nkfolds: 5 + rnd_shuffle: 12 + rnd_splt: 12 + rnd_all: 12 + test_frac: 0.2 + binmin: [1, 2, 4, 6, 8, 12, 24] # must be equal to sel_skim_binmin (sel_skim_binmin bins) + binmax: [2, 4, 6, 8, 12, 24, 48] # must be equal to sel_skim_binmax (sel_skim_binmin bins) + mltype: BinaryClassification + ncorescrossval: 10 + prefix_dir_ml: /data2/jklein/MLhep/ + mlplot: mlplot + mlout: mlout + + opt: + isFONLLfromROOT: true + filename_fonll: "data/fonll/D0DplusDstarPredictions_13TeV_y05_all_300416_BDShapeCorrected.root" # file with FONLL predictions + fonll_particle: "hD0Kpipred" + fonll_pred: "max" # edge of the FONLL prediction + FF: 0.6086 # 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: 3.95e-2 # branching ratio of the decay D0 -> K- pi+ + f_prompt: 0.9 # estimated fraction of prompt candidates + bkg_data_fraction: 0.1 # 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] # sel_skim_binmin bins + # presel_gen_eff: "abs(fY) < 0.5 and abs(fPosZ) < 10" + presel_gen_eff: "fPt > 0." # TODO: fix + + mlapplication: + data: + prefix_dir_app: /data2/jklein/ + 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/jklein/ + pkl_skimmed_dec: [LHC22pp_mc/MLapplication/prod_LHC22b1b/skpkldecmc] #list of periods + pkl_skimmed_decmerged: [LHC22pp_mc/MLapplication/prod_LHC22b1b/skpkldecmcmerged] #list of periods + modelname: xgboost + modelsperptbin: [xgboost_classifierD0pp_jet_dfselection_fPt_1.0_2.0.sav, xgboost_classifierD0pp_jet_dfselection_fPt_2.0_4.0.sav, xgboost_classifierD0pp_jet_dfselection_fPt_4.0_6.0.sav, xgboost_classifierD0pp_jet_dfselection_fPt_6.0_8.0.sav, xgboost_classifierD0pp_jet_dfselection_fPt_8.0_12.0.sav, xgboost_classifierD0pp_jet_dfselection_fPt_12.0_24.0.sav, xgboost_classifierD0pp_jet_dfselection_fPt_24.0_48.0.sav] # sel_skim_binmin bins + probcutpresel: + data: [0.75, 0.75, 0.65, 0.65, 0.45, 0.45, 0.45, .45] # sel_skim_binmin bins + mc: [0.75, 0.75, 0.65, 0.65, 0.45, 0.45, 0.45, .45] # sel_skim_binmin bins + probcutoptimal: [0.92, 0.90, 0.82, 0.80, 0.60, 0.60, 0.60, .45] # sel_skim_binmin bins + + #region analysis + analysis: + anahptspectrum: "D0Kpi" #D0Kpi, DplusKpipi, DstarD0pi, DsKKpi, LctopKpi, LcK0Sp # used in analysis/analyzerdhadrons_mult.py + fd_method: "Nb" #fc, Nb + cctype: "pp" + inputfonllpred: data/fonll/D0DplusDstarPredictions_13TeV_y05_all_300416_BDShapeCorrected.root # used in machine_learning_hep/hf_pt_spectrum.py + dir_general_plots: /data2/jklein/data/analysis_plots + + jet_obs: &jet_default + hfjet: false + sel_an_binmin: [1] # hadron pt bins (sel_an_binmin bins) + sel_an_binmax: [48] # hadron pt bins (sel_an_binmin bins) # FIXME: move the last edge in sel_an_binmin + bins_ptjet: [5, 7, 15, 30, 50, 70] # systematics, TODO: split rec and gen binning + bins_ptjet_eff: [2, 5, 7, 15, 30, 50, 70, 90] # systematics, TODO: split rec and gen binning + # cand_collidx: fIndexHfD0CollBases + counter_read_data: fReadCountsWithTVXAndZVertexAndSel8 + counter_read_mc: fReadCountsWithTVXAndZVertexAndSelMC + counter_tvx: fReadCountsWithTVX + xsection_inel: 59.4 # (mb) cross-section of minimum-bias events # used # systematics + lumi_scale_mc: 408 # charm enhancement factor in MC to scale the MC luminosity + branching_ratio: 3.947e-2 # used + + observables: + zg: + bins_gen_var: [-.1, .0, .05, .1, .15, .2, .25, .3, .35, .4, .45, .5] + bins_det_var: [-.1, .0, .05, .1, .15, .2, .25, .3, .35, .4, .45, .5] + label: "#it{z}_{g}" + label_y: "(1/#it{N}_{jet ch}) d#it{N}/d#it{z}_{g}" + nsd: + bins_gen_fix: [7, -.5, 6.5] + bins_det_fix: [7, -.5, 6.5] + label: "#it{n}_{SD}" + label_y: "(1/#it{N}_{jet ch}) d#it{N}/d#it{n}_{SD}" + rg: + bins_gen_var: [-.1, .0, .05, .1, .15, .2, .25, .3, .35, .4, .45, .5] + bins_det_var: [-.1, .0, .05, .1, .15, .2, .25, .3, .35, .4, .45, .5] + label: "#it{R}_{g}" + label_y: "(1/#it{N}_{jet ch}) d#it{N}/d#it{R}_{g}" + # zpar: + # # bins_gen_fix: [10, 0., 1.] + # # bins_det_fix: [10, 0., 1.] + # bins_gen_var: + # [ + # 0.2, + # 0.25, + # 0.3, + # 0.35, + # 0.4, + # 0.45, + # 0.5, + # 0.55, + # 0.6, + # 0.65, + # 0.7, + # 0.75, + # 0.8, + # 0.85, + # 0.9, + # 0.95, + # 1., + # ] + # bins_det_var: + # [ + # 0.2, + # 0.25, + # 0.3, + # 0.35, + # 0.4, + # 0.45, + # 0.5, + # 0.55, + # 0.6, + # 0.65, + # 0.7, + # 0.75, + # 0.8, + # 0.85, + # 0.9, + # 0.95, + # 1., + # ] + # label: "#it{z}_{#parallel}" + # label_y: "(1/#it{N}_{jet ch}) d#it{N}/d#it{z}_{#parallel}" + # dr: + # bins_gen_fix: [10, 0., 1.] + # bins_det_fix: [10, 0., 1.] + # label: "#Delta#it{r}" + lntheta: + bins_gen_fix: [10, 0., 5.] + bins_det_fix: [10, 0., 5.] + label: "#minusln(#it{#theta})" + arraycols: [3] + lnkt: + bins_gen_fix: [10, -8., 2.] + bins_det_fix: [10, -8., 2.] + label: "ln(#it{k}_{T}/(GeV/#it{c}))" + arraycols: [3] + lntheta-lnkt: + arraycols: [3, 4] + + # data_selections: + # mcsig: + # level: mc + # query: "(isd0 & seld0) or (isd0bar & seld0bar)" + # mcrefl: + # level: mc + # query: "(isd0 & seld0bar) or (isd0bar & seld0)" + + corr_refl: false # systematics + fit_levels: ["mc", "data"] + mass_roofit: + - level: mcsig + datasel: mcsig + range: [1.69, 2.04] # systematics? or propagate bg fit uncertainty directly? + components: + sig: + fn: "Gaussian::peak(m[1.,5.], mean[1.85,1.89], sigma_g1[.01,.08])" + bkg: + fn: "Gaussian::wide(m, mean, sigma_wide[.05,1.])" + model: + fn: "SUM::sig(frac_wide[0.,.3]*wide, peak)" + - level: mcrefl + ptrange: [1., 3.] + datasel: mcrefl + range: [1.69, 2.04] + components: + refl_l: + fn: "Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.1])" + refl_r: + fn: "Gaussian::refl_r(m, mean_r[1.865,2.0], sigma_r[.01,.1])" + model: + fn: "SUM::refl(frac_l[0.1,.9]*refl_l, refl_r)" + - level: mcrefl + ptrange: [3., 4.] + datasel: mcrefl + range: [1.68, 2.06] + components: + refl_l: + fn: "Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.2])" + refl_r: + fn: "Gaussian::refl_r(m, mean_r[1.865,2.0], sigma_r[.01,.2])" + model: + fn: "SUM::refl(frac_l[0.,1.]*refl_l, refl_r)" + - level: mcrefl + ptrange: [4., 5.] + datasel: mcrefl + range: [1.64, 2.08] + components: + refl_l: + fn: "Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.2])" + refl_r: + fn: "Gaussian::refl_r(m, mean_r[1.865,2.0], sigma_r[.01,.2])" + model: + fn: "SUM::refl(frac_l[0.,1.]*refl_l, refl_r)" + - level: mcrefl + ptrange: [5., 6.] + datasel: mcrefl + range: [1.64, 2.10] + components: + refl_l: + fn: "Gaussian::refl_l(m, mean_l[1.8,1.865], sigma_l[.01,.2])" + refl_r: + fn: "Gaussian::refl_r(m, mean_r[1.865,2.0], sigma_r[.01,.2])" + model: + fn: "SUM::refl(frac_l[0.,1.]*refl_l, refl_r)" + - level: mcrefl + ptrange: [6., 8.] + datasel: mcrefl + range: [1.60, 2.14] + components: + refl_l: + fn: "Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.2])" + refl_r: + fn: "Gaussian::refl_r(m, mean_r[1.865,2.1], sigma_r[.01,.2])" + model: + fn: "SUM::refl(frac_l[0.,1.]*refl_l, refl_r)" + - level: mcrefl + ptrange: [8., 12.] + datasel: mcrefl + range: [1.52, 2.30] + components: + refl_l: + fn: "Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.2])" + refl_r: + fn: "Gaussian::refl_r(m, mean_r[1.865,2.1], sigma_r[.01,.2])" + model: + fn: "SUM::refl(frac_l[0.,1.]*refl_l, refl_r)" + - level: mcrefl + ptrange: [12., 48.] + datasel: mcrefl + range: [1.40, 2.4] + components: + refl_l: + fn: "Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.2])" + refl_r: + fn: "Gaussian::refl_r(m, mean_r[1.865,2.1], sigma_r[.01,.2])" + model: + fn: "SUM::refl(frac_l[0.,1.]*refl_l, refl_r)" + - level: mc + ptrange: [1., 3.] + range: [1.69, 2.04] + fix_params: ["frac_l", "mean_l", "mean_r", "sigma_l", "sigma_r", "frac_wide", "sigma_g1", "sigma_wide"] + components: + model: + fn: "SUM::sigrefl(frac_refl[0.,1.]*refl, sig)" + - level: mc + ptrange: [3., 4.] + range: [1.68, 2.06] + fix_params: ["frac_l", "mean_l", "mean_r", "sigma_l", "sigma_r", "frac_wide", "sigma_g1", "sigma_wide"] + components: + model: + fn: "SUM::sigrefl(frac_refl[0.,1.]*refl, sig)" + - level: mc + ptrange: [4., 5.] + range: [1.64, 2.08] + fix_params: ["frac_l", "mean_l", "mean_r", "sigma_l", "sigma_r", "frac_wide", "sigma_g1", "sigma_wide"] + components: + model: + fn: "SUM::sigrefl(frac_refl[0.,1.]*refl, sig)" + - level: mc + ptrange: [5., 6.] + range: [1.64, 2.10] + fix_params: ["frac_l", "mean_l", "mean_r", "sigma_l", "sigma_r", "frac_wide", "sigma_g1", "sigma_wide"] + components: + model: + fn: "SUM::sigrefl(frac_refl[0.,1.]*refl, sig)" + - level: mc + ptrange: [6., 8.] + range: [1.60, 2.14] + fix_params: ["frac_l", "mean_l", "mean_r", "sigma_l", "sigma_r", "frac_wide", "sigma_g1", "sigma_wide"] + components: + model: + fn: "SUM::sigrefl(frac_refl[0.,1.]*refl, sig)" + - level: mc + ptrange: [8., 12.] + range: [1.52, 2.30] + fix_params: ["frac_l", "mean_l", "mean_r", "sigma_l", "sigma_r", "frac_wide", "sigma_g1", "sigma_wide"] + components: + model: + fn: "SUM::sigrefl(frac_refl[0.,1.]*refl, sig)" + - level: mc + ptrange: [12., 48.] + range: [1.40, 2.40] + fix_params: ["frac_l", "mean_l", "mean_r", "sigma_l", "sigma_r", "frac_wide", "sigma_g1", "sigma_wide"] + components: + model: + fn: "SUM::sigrefl(frac_refl[0.,1.]*refl, sig)" + - ptrange: [1., 2.] + per_ptjet: true + range: [1.72, 2.02] + fix_params: ["frac_refl"] + free_params: ["sigma_g1"] + fix_params_ptjet: ["mean", "sigma_g1"] + components: + bkg: + fn: "Exponential::bkg(m, alpha[-100,0])" + model: + fn: "SUM::sum(frac[0.,1.]*sigrefl, bkg)" + - ptrange: [2., 3.] + per_ptjet: true + fix_params: ["frac_refl"] + free_params: ["sigma_g1"] + fix_params_ptjet: ["mean", "sigma_g1"] + range: [1.72, 2.04] + components: + bkg: + fn: "Exponential::bkg(m, alpha[-100,0])" + model: + fn: "SUM::sum(frac[0.,1.]*sigrefl, bkg)" + - ptrange: [3., 4.] + per_ptjet: true + fix_params: ["frac_refl"] + free_params: ["sigma_g1"] + fix_params_ptjet: ["mean", "sigma_g1"] + range: [1.72, 2.06] + components: + bkg: + fn: "Exponential::bkg(m, alpha[-100,0])" + model: + fn: "SUM::sum(frac[0.,1.]*sigrefl, bkg)" + - ptrange: [4., 5.] + per_ptjet: true + fix_params: ["frac_refl"] + free_params: ["sigma_g1"] + fix_params_ptjet: ["mean", "sigma_g1"] + # fix_params: ['mean', 'sigma_g1', 'frac_refl'] + range: [1.72, 2.08] + components: + bkg: + fn: "Exponential::bkg(m, alpha[-100,0])" + model: + fn: "SUM::sum(frac[0.,1.]*sigrefl, bkg)" + - ptrange: [5., 6.] + per_ptjet: true + fix_params: ["frac_refl"] + free_params: ["sigma_g1"] + fix_params_ptjet: ["mean", "sigma_g1"] + range: [1.72, 2.10] + components: + bkg: + fn: "Exponential::bkg(m, alpha[-100,0])" + model: + fn: "SUM::sum(frac[0.,1.]*sigrefl, bkg)" + - ptrange: [6., 8.] + per_ptjet: true + fix_params: ["frac_refl"] + free_params: ["sigma_g1"] + fix_params_ptjet: ["mean", "sigma_g1"] + range: [1.72, 2.14] + components: + bkg: + fn: "Exponential::bkg(m, alpha[-100,0])" + model: + fn: "SUM::sum(frac[0.,1.]*sigrefl, bkg)" + - range: [1.72, 2.20] + per_ptjet: true + fix_params: ["frac_refl"] + free_params: ["sigma_g1"] + fix_params_ptjet: ["mean", "sigma_g1"] + components: + bkg: + fn: "Exponential::bkg(m, alpha[-100,0])" + model: + fn: "SUM::sum(frac[0.,1.]*sigrefl, bkg)" + + sidesub_per_ptjet: true + sidesub: + - level: mc + regions: + left: [-2., -2.] + signal: [-2., 2.] + right: [3., 3.] + - ptrange: [16., 100.] + regions: + left: [-2., -2.] + signal: [-2., 2.] # systematics + right: [3., 5.] # systematics + - regions: + left: [-5.5, -3.] # systematics + signal: [-2., 2.] # systematics + right: [3., 5.5] # systematics + + # mass_fit: + # func_sig: 'gaus' + # func_bkg: 'expo' + # # par_start: {1: 1.86} + # # par_fix: {1: 1.86} + # par_constrain: {1: [1.85, 1.87], 2: [.01, .08]} + # range: [1.695, 2.06] + mass_fit_lim: [1.5, 2.22] # histogram range of the invariant mass distribution [GeV/c^2]; used in processer for binarray_mass (not used for fit range!) + bin_width: 0.001 # bin width of the invariant mass histogram # systematics? + n_rebin: 3 # number of mass bins to merge + efficiency: + # extra_cols: ["isd0", "isd0bar", "seld0", "seld0bar"] + # filter_det: "(isd0 & seld0) or (isd0bar & seld0bar)" + index_match: fIndexArrayCMCPJETOS_geo + correction_method: run3 + + unfolding_iterations: 8 # used, maximum iteration + unfolding_iterations_sel: 5 # used, selected iteration # systematics + unfolding_prior_flatness: 0. # ranges from 0. (no flatness) to 1. (flat) + + closure: + pure_signal: false + # exclude_feeddown_det: 'ismcsignal==1 & ismcprompt==1' + # exclude_feeddown_gen: 'ismcsignal_gen==1 & ismcprompt_gen==1' + # filter_reflections: '(isd0 & seld0) or (isd0bar & seld0bar)' + use_matched: true + + frac_mcana: .2 # fraction of MC sample for the closure + fd_root: "/data2/vkucera/powheg/trees_powheg_fd_central.root" # systematics + fd_parquet: "/data2/jklein/powheg/trees_powheg_fd_central.parquet" # systematics + + # obsolete? + proc_type: Jets # used + useperiod: [1] #list of periods # used + # usejetptbinned_deff: false + # doeff_resp: true #efficiency correction for the response matrix + # unmatched_gen: true + latexnamehadron: "D^{0}" + # latexnamedecay: "K^{#minus} #pi^{#plus}" + var_binning2: pt_jet + # var_binning2_gen: pt_gen_jet + latexbin2var: "#it{p}_{T}^{jet ch}" + # sel_binmin2_reco: [5, 7, 15, 30] # rec jet pt bins (sel_binmin2_reco bins) + # sel_binmax2_reco: [7, 15, 30, 50] # rec jet pt bins (sel_binmin2_reco bins) + # sel_binmin2_gen: [5, 7, 15, 30] # rec jet pt bins (sel_binmin2_reco bins) + # sel_binmax2_gen: [7, 15, 30, 50] # rec jet pt bins (sel_binmin2_reco bins) + # var_binningshape: zg_jet + # var_binningshape_gen: zg_gen_jet + # var_shape_latex: "shape" + # sel_binminshape_reco: [-0.1,0.1,0.2,0.3,0.4] + # sel_binmaxshape_reco: [0.1,0.2,0.3,0.4,0.5] + # sel_binminshape_gen: [-0.1,0.1,0.2,0.3,0.4] + # sel_binmaxshape_gen: [0.1,0.2,0.3,0.4,0.5] + # sel_closure_frac: 0.2 + # triggerbit: INT7 + #jetsel_gen: "abs(y_cand) < 0.8 and abs(z_vtx_gen) < 10 and abs(eta_jet) < 0.5" + #jetsel_sim: "abs(y_cand) < 0.8 and abs(eta_jet) < 0.5" # jet selection in simulations + #jetsel_reco: "abs(y_cand) < 0.8 and abs(z_vtx_reco) < 10 and abs(eta_jet) < 0.5" + #jetsel_gen_matched_reco: "abs(eta_gen_jet) < 5.0" + # jetsel_gen: "abs(y_cand) < 0.5 and abs(z_vtx_gen) < 10 and abs(eta_jet) < 0.5" + # jetsel_sim: "abs(y_cand) < 0.5 and abs(eta_jet) < 0.5" # jet selection in simulations + # jetsel_reco: "abs(y_cand) < 0.5 and abs(z_vtx_reco) < 10 and abs(eta_jet) < 0.5" + # jetsel_gen_matched_reco: "abs(y_cand) < 0.5 and abs(z_vtx_gen) < 10 and abs(eta_gen_jet) < 0.5" + evtsel: null # fIsEventReject==0 + triggersel: + data: "trigger_hasbit_INT7==1" + mc: null + data: &data_out_default + runselection: [null] #FIXME # used but useless + results: ["/home/${USER}/mlhep/jet/jet_obs/default/default/data/results"] #list of periods + resultsallp: "/home/${USER}/mlhep/jet/jet_obs/default/default/data/results_all" + mc: &mc_out_default + runselection: [null] #FIXME # used but useless + results: ["/home/${USER}/mlhep/jet/jet_obs/default/default/mc/results"] #list of periods + resultsallp: "/home/${USER}/mlhep/jet/jet_obs/default/default/mc/results_all" + data_proc: # alternative processor output used as the analyzer input + <<: *data_out_default + mc_proc: # alternative processor output used as the analyzer input + <<: *mc_out_default + + # simple fitter START # used in cplusutilities/mass_fitter.C + # sgnfunc: [0,0,0,0,0,0,0,0,0,0,0,0] # kGaus=0, k2Gaus=1, k2GausSigmaRatioPar=2 (sel_an_binmin bins) + # bkgfunc: [0,0,0,0,0,0,0,0,0,0,0,0] # kExpo=0, kLin=1, kPol2=2, kNoBk=3, kPow=4, kPowEx=5 (sel_an_binmin bins) + # masspeak: 1.864 + # massmin: [1.66,1.66,1.66,1.66,1.66,1.66,1.66,1.66,1.66,1.66,1.66,1.66] # sel_an_binmin bins, fit region of the invariant mass distribution [GeV/c^2] + # massmax: [2.06,2.06,2.06,2.06,2.06,2.06,2.06,2.06,2.06,2.06,2.06,2.06] # sel_an_binmin bins, fit region of the invariant mass distribution [GeV/c^2] + # rebin: [6,6,6,6,6,6,6,6,6,6,6,6] # sel_an_binmin bins + # fix_mean: [false, false, false, false, false, false, false, false, false, false, false, false] # sel_an_binmin bins + # masspeaksec: 1.864 + + # obsolete (uses Ali... fitter) + # If SetArraySigma true: sigma_initial is taken from sigmaarray; false: sigma_initial is taken from MC + # If SetFixGaussianSigma true: sigma fixed to sigma_initial + # SetFixGaussianSigma: [false, false, false, false, false, false, false, false, false, false, false, false] # sel_an_binmin bins + # SetFixGaussianSigma: [true, true, true, true, true, true, true, true, true, true, true, true] # sel_an_binmin bins + # SetArraySigma: [false, false, false, false, false, false, false, false, false, false, false, false] # sel_an_binmin bins + # sigmaarray: [0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01] # initial sigma (sel_an_binmin bins) + + # fix_sigmasec: [true, true, true, true, true, true, true, true, true, true, true, true] # sel_an_binmin bins + # sigmaarraysec: [0.007497,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01] # sel_an_binmin bins + # use_reflections: true + # simple fitter END + + # signal_sigma: 2.0 + # sigma_scale: 0.9545 + # sideband_sigma_1_left: 4 + # sideband_sigma_2_left: 9 + # sideband_sigma_1_right: 4 + # sideband_sigma_2_right: 9 + # sidebandleftonly: false + + # niterunfolding: 15 + # niterunfoldingchosen: 4 + + # doprior: false + # domodeldep: false + # path_modeldep: /home/nzardosh/PYTHIA_Sim/PYTHIA8_Simulations/Plots/D0_Substructure_Simulations_Output.root + + # replace with fd_root... + # powheg_path_nonprompt: /data/POWHEG/trees_powheg_fd_central.root + # powheg_path_prompt: /data/POWHEG/trees_powheg_pr_central.root + # powheg_prompt_variations_path: /data/POWHEG/trees_powheg_pr_ + # powheg_prompt_variations: ["F1_R05","F05_R1","F2_R1","F1_R2","F2_R2","F05_R05","Mhigh","Mlow"] + + # pythia8_prompt_variations_path: /data/PYTHIA8/trees_pythia8_pr_ + # pythia8_prompt_variations: ["default", "charm_lo"] #["default","colour0soft"] + # pythia8_prompt_variations_legend: ["PYTHIA 8 (Monash)", "PYTHIA 8 charm LO"] # ["PYTHIA 8 (Monash)","PYTHIA 8 SoftQCD, mode 0"] + + variations_db: database_variations_Jet_pp_jet_obs.yml + + # Additional cuts applied before mass histogram is filled + use_cuts: False # systematics + cuts: [null] + + systematics: # used in machine_learning_hep/analysis/systematics.py + probvariation: + useperiod: [0, 0, 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.80, 0.80, 0.6, 0.3, 0.3] #Min starting point for scan + cutvarmaxrange: [0.98, 0.95, 0.95, 0.95, 0.95] #Max starting point for scan + fixedmean: True #Fix mean cutvar histo to central fit + fixedsigma: True #Fix sigma cutvar histo to central fit + mcptshape: + #FONLL / generated LHC19h4c1 + weights: [1.000000] + #From SetPtWeightsFromFONLL13overLHC17c3a12 in AliPhysics + #weights: [1.429770] + weights_min_pt: 0 + weights_max_pt: 40 + weights_bins: 400 diff --git a/machine_learning_hep/data/data_run3/database_ml_parameters_LcJet_pp.yml b/machine_learning_hep/data/data_run3/database_ml_parameters_LcJet_pp.yml index 87d198eabf..629f91fab5 100644 --- a/machine_learning_hep/data/data_run3/database_ml_parameters_LcJet_pp.yml +++ b/machine_learning_hep/data/data_run3/database_ml_parameters_LcJet_pp.yml @@ -12,959 +12,624 @@ # along with this program. if not, see . # LcJet_pp: - doml: true - mass: 2.28646 - sel_reco_unp: "fPt>0" - sel_gen_unp: "fPt>0" - sel_cen_unp: null - sel_good_evt_unp: null # "fIsEventReject == 0" - # sel_reco_skim: ["mlPromptScore > 0.96", "mlPromptScore > 0.97", "mlPromptScore > 0.9", "mlPromptScore > 0.85", "mlPromptScore > 0.8", "mlPromptScore > 0.6", null] # (sel_skim_binmin bins) - sel_reco_skim: [null, null, null, null, null, null, null, null, null, null, null] # (sel_skim_binmin bins) - sel_gen_skim: [null, null, null, null, null, null, null, null, null, null, null] # (sel_skim_binmin bins) - sel_skim_binmin: [1, 2, 3, 4, 5, 6, 7, 8, 10, 12] # skimming pt bins (sel_skim_binmin bins) - sel_skim_binmax: [2, 3, 4, 5, 6, 7, 8, 10, 12, 24] # skimming pt bins (sel_skim_binmin bins) - 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: ismcrefl - isstd: [[1], []] - ismcsignal: [[1], []] - ismcprompt: [[0], []] - ismcfd: [[1], []] - ismcbkg: [[], [1]] - ismcrefl: [[1], [1]] # probably missing from tree creator - - #region dfs - dfs: - read: - evtorig: - level: all - index: fIndexHfLcCollBases - trees: - O2hflccollbase: [fNumContrib, fCentFT0M, fMultZeqNTracksPV] - extra: - fIsEventReject: 0 - - collcnt: - trees: - O2collcount: - [ - fReadCounts, - fReadCountsWithTVX, - fReadCountsWithTVXAndZVertexAndSel8, - fReadCountsWithTVXAndZVertexAndSelMC, - ] - bccnt: - trees: - O2bccount: - [ - fReadCountsWithTVX, - fReadCountsWithTVXAndNoTFB, - fReadCountsWithTVXAndNoTFBAndNoITSROFB, - ] - - # collgen: - # level: gen - # index: fIndexLcCMCPJetCOs - # trees: - # O2lccmcpjetco: [fPosZ, fCentrality, fEventSel] - jetgen: - level: gen - index: fIndexLCMCPJETOS - trees: - O2hflcpbase: - [fPt, fY, fEta, fPhi, fFlagMcMatchGen, fOriginMcGen] - O2lccmcpjeto: - [ - fIndexLCCMCPJETCOS, - fIndexHFLcPBASES_0, - fJetPt, - fJetPhi, - fJetEta, - fJetNConstituents, - fJetR, - ] - O2lccmcpjetmo: - [ - fIndexArrayLCCMCDJETOS_hf, - fIndexArrayLCCMCDJETOS_geo, - fIndexArrayLCCMCDJETOS_pt, - ] - O2lccmcpjetsso: - [ - fEnergyMother, - fPtLeading, - fPtSubLeading, - fTheta, - fNSub2DR, - fNSub1, - fNSub2, - ] - tags: - isstd: { var: fFlagMcMatchGen, req: [[1], []] } - ismcsignal: - { var: fFlagMcMatchGen, req: [[1], []], abs: true } - ismcbkg: { var: fFlagMcMatchGen, req: [[], [1]], abs: true } - ismcprompt: { var: fOriginMcGen, req: [[0], []] } - ismcfd: { var: fOriginMcGen, req: [[1], []] } - filter: "fPt >= 1. and abs(fY) <= 0.8 and abs(fJetEta) < (.9 - (fJetR / 100.))" # TODO: check jet eta cut - - colldet: - level: det - index: fIndexLCCMCDJETCOS - trees: - O2lccmcdjetco: [fPosZ, fCentrality, fEventSel] - jetdet: - level: det - index: fIndexLCCMCDJETOS - trees: - O2hflcbase: [fIndexHfLcCollBases, fPt, fY, fEta, fPhi, fM] - O2hflcmc: [fFlagMcMatchRec, fOriginMcRec] - # O2hflcpar: - # [ - # fCpa, - # fCpaXY, - # fChi2PCA, - # fDecayLength, - # fDecayLengthXY, - # fDecayLengthNormalised, - # fDecayLengthXYNormalised, - # fImpactParameter0, - # fImpactParameter1, - # fImpactParameter2, - # fImpactParameterNormalised0, - # fImpactParameterNormalised1, - # fImpactParameterNormalised2, - # fPtProng0, - # fPtProng1, - # fPtProng2, - # ] - # O2hflcpare: - # [ - # fErrorDecayLength, - # fErrorDecayLengthXY, - # fErrorImpactParameter0, - # fErrorImpactParameter1, - # ] - O2hflcsel: [fCandidateSelFlag] - O2hflcml: [fMlScores] - O2lccmcdjeto: - [ - fIndexLCCMCDJETCOS, - fIndexHFLcBASES_0, - fJetPt, - fJetPhi, - fJetEta, - fJetNConstituents, - fJetR, - ] - O2lccmcdjetmo: - [ - fIndexArrayLCCMCPJETOS_hf, - fIndexArrayLCCMCPJETOS_geo, - fIndexArrayLCCMCPJETOS_pt, - ] - O2lccmcdjetsso: - [ - fEnergyMother, - fPtLeading, - fPtSubLeading, - fTheta, - fNSub2DR, - fNSub1, - fNSub2, - ] - tags: - isstd: { var: fFlagMcMatchRec, req: [[1], []] } - ismcsignal: - { var: fFlagMcMatchRec, req: [[1], []], abs: true } - ismcbkg: { var: fFlagMcMatchRec, req: [[], [1]], abs: true } - ismcprompt: { var: fOriginMcRec, req: [[0], []] } - ismcfd: { var: fOriginMcRec, req: [[1], []] } - extract_component: - - { var: fMlScores, newvar: mlBkgScore, component: 0 } - #- { var: fMlScores, newvar: mlPromptScore, component: 1 } - filter: "fPt >= 1. and abs(fY) <= 0.8 and abs(fJetEta) < (.9 - (fJetR / 100.))" # TODO: check jet eta cut - # swap: {cand: fCandidateSelFlag, var_swap: fIsCandidateSwapped, vars: [ismcsignal, ismcprompt, icmcfd]} - - colldata: - level: data - index: fIndexLCCJETCOS - trees: - O2lccjetco: [fPosZ, fCentrality, fEventSel] - jetdata: - level: data - index: fIndexLCCJETOS - trees: - O2hflcbase: [fIndexHfLcCollBases, fPt, fY, fEta, fPhi, fM] - # O2hflcpar: - # [ - # fCpa, - # fCpaXY, - # fChi2PCA, - # fDecayLength, - # fDecayLengthXY, - # fDecayLengthNormalised, - # fDecayLengthXYNormalised, - # fImpactParameter0, - # fImpactParameter1, - # fImpactParameter2, - # fImpactParameterNormalised0, - # fImpactParameterNormalised1, - # fImpactParameterNormalised2, - # fPtProng0, - # fPtProng1, - # fPtProng2, - # ] - # O2hflcpare: - # [ - # fErrorDecayLength, - # fErrorDecayLengthXY, - # fErrorImpactParameter0, - # fErrorImpactParameter1, - # ] - O2hflcsel: [fCandidateSelFlag] - O2hflcml: [fMlScores] - O2lccjeto: - [ - fIndexLCCJETCOS, - fIndexHFLcBASES_0, - fJetPt, - fJetPhi, - fJetEta, - fJetNConstituents, - fJetR, - ] - O2lccjetsso: - [ - fIndexLCCJETOS, - fEnergyMother, - fPtLeading, - fPtSubLeading, - fTheta, - fNSub2DR, - fNSub1, - fNSub2, - ] - extract_component: - - { var: fMlScores, newvar: mlBkgScore, component: 0 } - #- { var: fMlScores, newvar: mlPromptScore, component: 1 } - filter: "fPt >= 1. and abs(fY) <= 0.8 and abs(fJetEta) < (.9 - (fJetR / 100.))" # TODO: check jet eta cut - - merge: - #- {base: jetgen, ref: collgen} - - { base: jetdet, ref: colldet} - - { base: jetdata, ref: colldata} - - { base: jetdata, ref: evtorig} - - write: - jetgen: - level: gen - file: AnalysisResultsGen.parquet - jetdet: - level: det - file: AnalysisResultsReco.parquet - jetdata: - level: data - file: AnalysisResultsReco.parquet - evtorig: - level: all - file: AnalysisResultsEvtOrig.parquet - evt: - level: all - source: evtorig - file: AnalysisResultsEvt.parquet - filter: "fIsEventReject == 0" - collcnt: - level: all - file: AnalysisResultsCollCnt.parquet - bccnt: - level: all - file: AnalysisResultsBcCnt.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_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, - ], - ] - # sel_skim_binmin bins - var_boundaries: [fCosThetaStar, fPtProng] - var_correlation: - - [fCosThetaStar] # TODO: update - - [fPtProng0] - var_signal: signal - var_class: class - var_inv_mass: fM - var_y: fY - var_evt_sel: fIsEventReject - var_cuts: - - [fPtProng0, lt, null] - - [fPtProng1, lt, null] - - plot_options: - prob_cut_scan: - fPtProng0: - xlim: - - 0 - - 1 - fPtProng1: - xlim: - - 0 - - 1 - eff_cut_scan: - fPtProng0: - xlim: - - 0 - - 1 - fPtProng1: - xlim: - - 0 - - 1 - - 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: mcweights.root - treeoutput: "Lctree" - histofilename: "masshisto.root" - efffilename: "effhisto.root" - respfilename: "resphisto.root" - crossfilename: "cross_section_tot.root" - resultfilename: "results.root" - - #region multi - multi: - data: - nprocessesparallel: 80 - maxfiles: [-1] #list of periods - chunksizeunp: [100] #list of periods - chunksizeskim: [100] #list of periods - fracmerge: [1.] #list of periods - seedmerge: [12] #list of periods - period: [LHC23] #list of periods - select_period: [1] - prefix_dir: /data2/MLhep/real/train_318625/ - unmerged_tree_dir: [alice] #list of periods - pkl: ["${USER}/lcjet/pkl"] #list of periods - pkl_skimmed: ["${USER}/lcjet/pklsk"] #list of periods - pkl_skimmed_merge_for_ml: ["${USER}/lcjet/pklskml"] #list of periods - pkl_skimmed_merge_for_ml_all: "${USER}/lcjet/pp_data_mltot" - pkl_evtcounter_all: "${USER}/lcjet/pp_data_evttot" - mcreweights: [../Analyses] #list of periods - mc: - nprocessesparallel: 80 - maxfiles: [-1] #list of periods - chunksizeunp: [100] #list of periods - chunksizeskim: [1000] #list of periods - fracmerge: [1.] #list of periods - seedmerge: [12] #list of periods - period: [LHC24h1] #list of periods - select_period: [1] - prefix_dir: /data2/MLhep/sim/train_316964/ - unmerged_tree_dir: [alice] - pkl: ["${USER}/lcjet/pkl"] #list of periods - pkl_skimmed: ["${USER}/lcjet/pklsk"] #list of periods - pkl_skimmed_merge_for_ml: ["${USER}/lcjet/pklskml"] #list of periods - pkl_skimmed_merge_for_ml_all: "${USER}/lcjet/pp_mc_prod_mltot" - pkl_evtcounter_all: "${USER}/lcjet/pp_mc_prod_evttot" - mcreweights: [../Analyses] #list of periods - - ml: - evtsel: fIsEventReject == 0 - triggersel: - data: null - mc: null - - nclasses: [200000, 200000, 200000] - mult_bkg: [1, 1, 1, 1, 1, 1, 1] - nclasses: [20000, 20000] - sampletags: [0, 1, 1] - equalise_sig_bkg: True - # sampletagforsignal: 1 - # sampletagforbkg: 0 - 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 - test_frac: 0.2 - binmin: [1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 24] # must be equal to sel_skim_binmin (sel_skim_binmin bins) - binmax: [2, 3, 4, 5, 6, 7, 8, 10, 12, 24, 36] # must be equal to sel_skim_binmax (sel_skim_binmin bins) - mltype: MultiClassification - ncorescrossval: 10 - prefix_dir_ml: "/data2/${USER}/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.24e-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, 1] # sel_skim_binmin bins - presel_gen_eff: "fPt > 0. and abs(fY) < 0.8" - - mlapplication: - data: - prefix_dir_app: "/data2/${USER}/" - pkl_skimmed_dec: [LHC23pp/MLapplication/prod_LHC23/skpkldecdata] #list of periods - pkl_skimmed_decmerged: [ - LHC23pp/MLapplication/prod_LHC23/skpkldecdatamerged, - ] #list of periods - mc: - prefix_dir_app: "/data2/${USER}/" - pkl_skimmed_dec: [LHC23pp_mc/MLapplication/prod_LHC24h1/skpkldecmc] #list of periods - pkl_skimmed_decmerged: [ - LHC23pp_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 - ] # sel_skim_binmin bins - probcutpresel: - data: [[0.02, 0.0, 0.0], [0.03, 0.0, 0.0], [0.04, 0.0, 0.0], [0.07, 0.0, 0.0], [0.09, 0.0, 0.0], [0.11, 0.0, 0.0], [0.15, 0.0, 0.0], [0.18, 0.0, 0.0], [0.25, 0.0, 0.0], [0.35, 0.0, 0.0]] #list of nbins - mc: [[0.02, 0.0, 0.0], [0.03, 0.0, 0.0], [0.04, 0.0, 0.0], [0.07, 0.0, 0.0], [0.09, 0.0, 0.0], [0.11, 0.0, 0.0], [0.15, 0.0, 0.0], [0.18, 0.0, 0.0], [0.25, 0.0, 0.0], [0.35, 0.0, 0.0]] #list of nbins - probcutoptimal: [[0.02, 0.0, 0.0], [0.03, 0.0, 0.0], [0.04, 0.0, 0.0], [0.07, 0.0, 0.0], [0.09, 0.0, 0.0], [0.11, 0.0, 0.0], [0.15, 0.0, 0.0], [0.18, 0.0, 0.0], [0.25, 0.0, 0.0], [0.35, 0.0, 0.0]] #list of nbins - - #region analysis - analysis: - anahptspectrum: "LctopKpi" #D0Kpi, DplusKpipi, DstarD0pi, DsKKpi, LctopKpi, LcK0Sp - fd_method: "Nb" #fc, Nb - cctype: "pp" - sigmamb: 57.8e-3 #NB: multiplied by 1e12 before giving to HFPtSpectrum! - inputfonllpred: data/fonll/DmesonLcPredictions_13TeV_y05_FFptDepLHCb_BRpythia8_PDG2020.root - dir_general_plots: "/data2/${USER}/data/analysis_plots" - - jet_obs: &jet_default - sel_an_binmin: [2, 3, 4, 5, 6, 7, 8, 10, 12, 16] # hadron pt bins (sel_an_binmin bins) - sel_an_binmax: [3, 4, 5, 6, 7, 8, 10, 12, 16, 24] # hadron pt bins (sel_an_binmin bins) - bins_ptjet: [2, 5, 7, 10, 15, 30] # systematics, TODO: split rec and gen binning - bins_ptjet_eff: [2, 5, 7, 15, 30, 50] # systematics, TODO: split rec and gen binning - cand_collidx: fIndexHfLcCollBases - counter_read_data: fReadCountsWithTVXAndZVertexAndSel8 - counter_read_mc: fReadCountsWithTVXAndZVertexAndSelMC - counter_tvx: fReadCountsWithTVX - xsection_inel: 59.4 # (mb) cross-section of minimum-bias events # used # systematics - lumi_scale_mc: 408 # charm enhancement factor in MC to scale the MC luminosity - branching_ratio: 6.24e-2 # used - - observables: - zg: - bins_gen_fix: [6, -.1, .5] - bins_det_fix: [6, -.1, .5] - label: "#it{z}_{g}" - label_y: "(1/#it{N}_{jet ch}) d#it{N}/d#it{z}_{g}" - nsd: - bins_gen_fix: [10, -.5, 9.5] - bins_det_fix: [10, -.5, 9.5] - label: "#it{n}_{SD}" - label_y: "(1/#it{N}_{jet ch}) d#it{N}/d#it{n}_{SD}" - rg: - bins_gen_fix: [11, -.1, 1.] - bins_det_fix: [11, -.1, 1.] - label: "#it{R}_{g}" - label_y: "(1/#it{N}_{jet ch}) d#it{N}/d#it{R}_{g}" - zpar: - # bins_gen_fix: [10, 0., 1.] - # bins_det_fix: [10, 0., 1.] - bins_gen_var: [0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.] - bins_det_var: [0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.] - label: "#it{z}_{#parallel}" - label_y: "(1/#it{N}_{jet ch}) d#it{N}/d#it{z}_{#parallel}" - dr: - bins_gen_fix: [10, 0., 1.] - bins_det_fix: [10, 0., 1.] - label: "#Delta#it{r}" - lntheta: - bins_gen_fix: [10, 0., 5.] - bins_det_fix: [10, 0., 5.] - label: "#minusln(#it{#theta})" - arraycols: [3] - lnkt: - bins_gen_fix: [10, -8., 2.] - bins_det_fix: [10, -8., 2.] - label: "ln(#it{k}_{T}/(GeV/#it{c}))" - arraycols: [3] - lntheta-lnkt: - arraycols: [3, 4] - - #n_rebin: [4,4,5,5,6,6,7,7,9,9] - pdf_names: - pdf_sig: "sig" - pdf_bkg: "bkg" - param_names: - mass: "m" - gauss_mean: "mean" - gauss_sigma: "sigma_g1" - double_gauss_sigma: "wide" - fraction_refl: "frac_refl" - - mass_roofit: - - level: mc - # per_ptjet: true - components: - sig: - fn: "Gaussian::peak(m[1., 5.], mean[2.27,2.29], sigma_g1[.01,.005,.035])" - 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)" - - ptrange: [1., 5.] - range: [2.16, 2.40] - fix_params: ["n", "f_peak"] - # per_ptjet: true - components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.005,.015])' - bkg: - fn: "Polynomial::bkg(m, {a0[0.2, -3, 3], a1[-0.1, -3, 3], a2[0.1, 0.01, 3]})" - model: - fn: "SUM::sum(f_sig[0.,1.]*sig, bkg)" - - ptrange: [5., 8.] - range: [2.1, 2.48] - fix_params: ["n", "f_peak"] - # per_ptjet: true - components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' - bkg: - fn: "Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})" - model: - fn: "SUM::sum(f_sig[0.,1.]*sig, bkg)" - - range: [2.05, 2.5] - fix_params: ["n", "f_peak"] - # per_ptjet: true - components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' - bkg: - fn: "Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})" - model: - fn: "SUM::sum(f_sig[0.,1.]*sig, bkg)" - - #sidesub_per_ptjet: true - sidesub: - - regions: - left: [-5.5, -3.] # systematics - signal: [-2., 2.] # systematics - right: [3., 5.5] # systematics - - mass_fit: - func_sig: "gaus" - func_bkg: "expo" - # par_start: - # par_fix: {1: 2.286} - par_constrain: { 1: [2.28, 2.29], 2: [.005, .03] } - range: [2.08, 2.48] - mass_fit_lim: [1.9, 2.62] # histogram range of the invariant mass distribution [GeV/c^2] - bin_width: 0.001 # bin width of the invariant mass histogram - n_rebin: 3 # number of mass bins to merge - efficiency: - index_match: fIndexArrayLCCMCPJETOS_hf - #extra_cols: ["mlPromptScore"] - extra_cols: ["mlBkgScore"] - correction_method: run3 - - unfolding_iterations: 8 # used, maximum iteration - unfolding_iterations_sel: 5 # used, selected iteration # systematics - unfolding_prior_flatness: 0. # ranges from 0. (no flatness) to 1. (flat) - - fd_folding_method: 3d - fd_root: "/data2/vkucera/powheg/trees_powheg_fd_F05_R05.root" - fd_parquet: "/data2/jklein/powheg/Lc_powheg_fd_F05_R05.parquet" - - proc_type: Jets - useperiod: [1] #list of periods - usejetptbinned_deff: false - doeff_resp: true #efficiency correction for the response matrix - unmatched_gen: true - latexnamehadron: "#Lambda_{c}^{#plus}" - latexnamedecay: "pK#pi" - var_binning2: pt_jet - var_binning2_gen: pt_gen_jet - latexbin2var: "#it{p}_{T}^{jet ch}" - sel_binmin2_reco: [7.0, 15.0, 30.0] # rec jet pt bins (sel_binmin2_reco bins) - sel_binmax2_reco: [15.0, 30.0, 50.0] # rec jet pt bins (sel_binmin2_reco bins) - sel_binmin2_gen: [7.0, 15.0, 30.0] # gen jet pt bins (sel_binmin2_gen bins) - sel_binmax2_gen: [15.0, 30.0, 50.0] # gen jet pt bins (sel_binmin2_gen bins) - var_binningshape: zg_jet - var_binningshape_gen: zg_gen_jet - var_shape_latex: "#it{z}_{g}" - sel_binminshape_reco: [-0.1, 0.1, 0.2, 0.3, 0.4] - sel_binmaxshape_reco: [0.1, 0.2, 0.3, 0.4, 0.5] - sel_binminshape_gen: [-0.1, 0.1, 0.2, 0.3, 0.4] - sel_binmaxshape_gen: [0.1, 0.2, 0.3, 0.4, 0.5] - sel_closure_frac: 0.2 - triggerbit: INT7 - #jetsel_gen: "abs(y_cand) < 0.8 and abs(z_vtx_gen) < 10 and abs(eta_jet) < 0.5" - #jetsel_sim: "abs(y_cand) < 0.8 and abs(eta_jet) < 0.5" # jet selection in simulations - #jetsel_reco: "abs(y_cand) < 0.8 and abs(z_vtx_reco) < 10 and abs(eta_jet) < 0.5" - #jetsel_gen_matched_reco: "abs(eta_gen_jet) < 5.0" - jetsel_gen: "abs(y_cand) < 0.5 and abs(z_vtx_gen) < 10 and abs(eta_jet) < 0.5" - jetsel_sim: "abs(y_cand) < 0.5 and abs(eta_jet) < 0.5" # jet selection in simulations - jetsel_reco: "abs(y_cand) < 0.5 and abs(z_vtx_reco) < 10 and abs(eta_jet) < 0.5" - jetsel_gen_matched_reco: "abs(y_cand) < 0.5 and abs(z_vtx_gen) < 10 and abs(eta_gen_jet) < 0.5" - evtsel: fIsEventReject==0 - triggersel: - data: "trigger_hasbit_INT7==1" - mc: null - data: &data_out_default - runselection: [null] #FIXME - results: [ - "/home/${USER}/mlhep/lcjet/jet_obs/default/default/data/results", - ] #list of periods - resultsallp: "/home/${USER}/mlhep/lcjet/jet_obs/default/default/data/results_all" - mc: &mc_out_default - runselection: [null, null] #FIXME - results: [ - "/home/${USER}/mlhep/lcjet/jet_obs/default/default/mc/results", - ] #list of periods - resultsallp: "/home/${USER}/mlhep/lcjet/jet_obs/default/default/mc/results_all" - data_proc: # alternative processor output used as the analyzer input - <<: *data_out_default - mc_proc: # alternative processor output used as the analyzer input - <<: *mc_out_default - - # simple fitter START - sgnfunc: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] # kGaus=0, k2Gaus=1, k2GausSigmaRatioPar=2 (sel_an_binmin bins) - bkgfunc: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] # kExpo=0, kLin=1, kPol2=2, kNoBk=3, kPow=4, kPowEx=5 (sel_an_binmin bins) - masspeak: 2.286 - massmin: [ - 1.66, - 1.66, - 1.66, - 1.66, - 1.66, - 1.66, - 1.66, - 1.66, - 1.66, - 1.66, - 1.66, - 1.66, - ] # sel_an_binmin bins, fit region of the invariant mass distribution [GeV/c^2] - massmax: [ - 2.06, - 2.06, - 2.06, - 2.06, - 2.06, - 2.06, - 2.06, - 2.06, - 2.06, - 2.06, - 2.06, - 2.06, - ] # sel_an_binmin bins, fit region of the invariant mass distribution [GeV/c^2] - rebin: [6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6] # sel_an_binmin bins - fix_mean: [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - ] # sel_an_binmin bins - masspeaksec: 2.286 - - # If SetArraySigma true: sigma_initial is taken from sigmaarray; false: sigma_initial is taken from MC - # If SetFixGaussianSigma true: sigma fixed to sigma_initial - # SetFixGaussianSigma: [false, false, false, false, false, false, false, false, false, false, false, false] # sel_an_binmin bins - SetFixGaussianSigma: [ - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - ] # sel_an_binmin bins - SetArraySigma: [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - ] # sel_an_binmin bins - sigmaarray: [ - 0.01, - 0.01, - 0.01, - 0.01, - 0.01, - 0.01, - 0.01, - 0.01, - 0.01, - 0.01, - 0.01, - 0.01, - ] # initial sigma (sel_an_binmin bins) - - fix_sigmasec: [true, true, true, true, true, true, true, true, true, true] # sel_an_binmin bins - sigmaarraysec: [ - 0.007497, - 0.007497, - 0.01, - 0.01, - 0.01, - 0.01, - 0.01, - 0.01, - 0.01, - 0.01, - 0.01, - ] # sel_an_binmin bins - use_reflections: true - # simple fitter END - - signal_sigma: 2.0 - sigma_scale: 0.9545 - sideband_sigma_1_left: 4 - sideband_sigma_2_left: 9 - sideband_sigma_1_right: 4 - sideband_sigma_2_right: 9 - sidebandleftonly: false - - niterunfolding: 15 - niterunfoldingchosen: 4 - - doprior: false - domodeldep: false - path_modeldep: /home/nzardosh/PYTHIA_Sim/PYTHIA8_Simulations/Plots/D0_Substructure_Simulations_Output.root - - powheg_path_nonprompt: /data/POWHEG/trees_powheg_fd_central.root - - powheg_path_prompt: /data/POWHEG/trees_powheg_pr_central.root - powheg_prompt_variations_path: /data/POWHEG/trees_powheg_pr_ - powheg_prompt_variations: - [ - "F1_R05", - "F05_R1", - "F2_R1", - "F1_R2", - "F2_R2", - "F05_R05", - "Mhigh", - "Mlow", - ] - - pythia8_prompt_variations_path: /data/PYTHIA8/trees_pythia8_pr_ - pythia8_prompt_variations: ["default", "charm_lo"] #["default","colour0soft"] - pythia8_prompt_variations_legend: [ - "PYTHIA 8 (Monash)", - "PYTHIA 8 charm LO", - ] # ["PYTHIA 8 (Monash)","PYTHIA 8 SoftQCD, mode 0"] - - variations_db: database_variations_LcJet_pp_jet_obs.yml - - # Additional cuts applied before mass histogram is filled - use_cuts: True - cuts: [ - "mlBkgScore < 0.03", - "mlBkgScore < 0.04", - "mlBkgScore < 0.07", - "mlBkgScore < 0.09", - "mlBkgScore < 0.11", - "mlBkgScore < 0.15", - "mlBkgScore < 0.18", - "mlBkgScore < 0.25", - "mlBkgScore < 0.35", - "mlBkgScore < 0.35" - ] # (sel_an_binmin bins) systematics FIXME: Update for new model. - - systematics: # used in machine_learning_hep/analysis/systematics.py - probvariation: - useperiod: [0, 0, 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.80, 0.80, 0.6, 0.3, 0.3] #Min starting point for scan - cutvarmaxrange: [0.98, 0.95, 0.95, 0.95, 0.95] #Max starting point for scan - fixedmean: True #Fix mean cutvar histo to central fit - fixedsigma: True #Fix sigma cutvar histo to central fit - mcptshape: - #FONLL / generated LHC19h4c1 - weights: [1.000000] - #From SetPtWeightsFromFONLL13overLHC17c3a12 in AliPhysics - #weights: [1.429770] - weights_min_pt: 0 - weights_max_pt: 40 - weights_bins: 400 + doml: true + mass: 2.28646 + sel_reco_unp: "fPt>0" + sel_gen_unp: "fPt>0" + sel_cen_unp: null + sel_good_evt_unp: null # "fIsEventReject == 0" + # sel_reco_skim: ["mlPromptScore > 0.96", "mlPromptScore > 0.97", "mlPromptScore > 0.9", "mlPromptScore > 0.85", "mlPromptScore > 0.8", "mlPromptScore > 0.6", null] # (sel_skim_binmin bins) + sel_reco_skim: [null, null, null, null, null, null, null, null, null, null, null] # (sel_skim_binmin bins) + sel_gen_skim: [null, null, null, null, null, null, null, null, null, null, null] # (sel_skim_binmin bins) + sel_skim_binmin: [1, 2, 3, 4, 5, 6, 7, 8, 10, 12] # skimming pt bins (sel_skim_binmin bins) + sel_skim_binmax: [2, 3, 4, 5, 6, 7, 8, 10, 12, 24] # skimming pt bins (sel_skim_binmin bins) + 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: ismcrefl + isstd: [[1], []] + ismcsignal: [[1], []] + ismcprompt: [[0], []] + ismcfd: [[1], []] + ismcbkg: [[], [1]] + ismcrefl: [[1], [1]] # probably missing from tree creator + + #region dfs + dfs: + read: + evtorig: + level: all + index: fIndexHfLcCollBases + trees: + O2hflccollbase: [fNumContrib, fCentFT0M, fMultZeqNTracksPV] + extra: + fIsEventReject: 0 + + collcnt: + trees: + O2collcount: [fReadCounts, fReadCountsWithTVX, fReadCountsWithTVXAndZVertexAndSel8, fReadCountsWithTVXAndZVertexAndSelMC] + bccnt: + trees: + O2bccount: [fReadCountsWithTVX, fReadCountsWithTVXAndNoTFB, fReadCountsWithTVXAndNoTFBAndNoITSROFB] + + # collgen: + # level: gen + # index: fIndexLcCMCPJetCOs + # trees: + # O2lccmcpjetco: [fPosZ, fCentrality, fEventSel] + jetgen: + level: gen + index: fIndexLCMCPJETOS + trees: + O2hflcpbase: [fPt, fY, fEta, fPhi, fFlagMcMatchGen, fOriginMcGen] + O2lccmcpjeto: [fIndexLCCMCPJETCOS, fIndexHFLcPBASES_0, fJetPt, fJetPhi, fJetEta, fJetNConstituents, fJetR] + O2lccmcpjetmo: [fIndexArrayLCCMCDJETOS_hf, fIndexArrayLCCMCDJETOS_geo, fIndexArrayLCCMCDJETOS_pt] + O2lccmcpjetsso: [fEnergyMother, fPtLeading, fPtSubLeading, fTheta, fNSub2DR, fNSub1, fNSub2] + tags: + isstd: {var: fFlagMcMatchGen, req: [[1], []]} + ismcsignal: {var: fFlagMcMatchGen, req: [[1], []], abs: true} + ismcbkg: {var: fFlagMcMatchGen, req: [[], [1]], abs: true} + ismcprompt: {var: fOriginMcGen, req: [[0], []]} + ismcfd: {var: fOriginMcGen, req: [[1], []]} + filter: "fPt >= 1. and abs(fY) <= 0.8 and abs(fJetEta) < (.9 - (fJetR / 100.))" # TODO: check jet eta cut + + colldet: + level: det + index: fIndexLCCMCDJETCOS + trees: + O2lccmcdjetco: [fPosZ, fCentrality, fEventSel] + jetdet: + level: det + index: fIndexLCCMCDJETOS + trees: + O2hflcbase: [fIndexHfLcCollBases, fPt, fY, fEta, fPhi, fM] + O2hflcmc: [fFlagMcMatchRec, fOriginMcRec] + # O2hflcpar: + # [ + # fCpa, + # fCpaXY, + # fChi2PCA, + # fDecayLength, + # fDecayLengthXY, + # fDecayLengthNormalised, + # fDecayLengthXYNormalised, + # fImpactParameter0, + # fImpactParameter1, + # fImpactParameter2, + # fImpactParameterNormalised0, + # fImpactParameterNormalised1, + # fImpactParameterNormalised2, + # fPtProng0, + # fPtProng1, + # fPtProng2, + # ] + # O2hflcpare: + # [ + # fErrorDecayLength, + # fErrorDecayLengthXY, + # fErrorImpactParameter0, + # fErrorImpactParameter1, + # ] + O2hflcsel: [fCandidateSelFlag] + O2hflcml: [fMlScores] + O2lccmcdjeto: [fIndexLCCMCDJETCOS, fIndexHFLcBASES_0, fJetPt, fJetPhi, fJetEta, fJetNConstituents, fJetR] + O2lccmcdjetmo: [fIndexArrayLCCMCPJETOS_hf, fIndexArrayLCCMCPJETOS_geo, fIndexArrayLCCMCPJETOS_pt] + O2lccmcdjetsso: [fEnergyMother, fPtLeading, fPtSubLeading, fTheta, fNSub2DR, fNSub1, fNSub2] + tags: + isstd: {var: fFlagMcMatchRec, req: [[1], []]} + ismcsignal: {var: fFlagMcMatchRec, req: [[1], []], abs: true} + ismcbkg: {var: fFlagMcMatchRec, req: [[], [1]], abs: true} + ismcprompt: {var: fOriginMcRec, req: [[0], []]} + ismcfd: {var: fOriginMcRec, req: [[1], []]} + extract_component: + #- { var: fMlScores, newvar: mlPromptScore, component: 1 } + - {var: fMlScores, newvar: mlBkgScore, component: 0} + filter: "fPt >= 1. and abs(fY) <= 0.8 and abs(fJetEta) < (.9 - (fJetR / 100.))" # TODO: check jet eta cut + # swap: {cand: fCandidateSelFlag, var_swap: fIsCandidateSwapped, vars: [ismcsignal, ismcprompt, icmcfd]} + + colldata: + level: data + index: fIndexLCCJETCOS + trees: + O2lccjetco: [fPosZ, fCentrality, fEventSel] + jetdata: + level: data + index: fIndexLCCJETOS + trees: + O2hflcbase: [fIndexHfLcCollBases, fPt, fY, fEta, fPhi, fM] + # O2hflcpar: + # [ + # fCpa, + # fCpaXY, + # fChi2PCA, + # fDecayLength, + # fDecayLengthXY, + # fDecayLengthNormalised, + # fDecayLengthXYNormalised, + # fImpactParameter0, + # fImpactParameter1, + # fImpactParameter2, + # fImpactParameterNormalised0, + # fImpactParameterNormalised1, + # fImpactParameterNormalised2, + # fPtProng0, + # fPtProng1, + # fPtProng2, + # ] + # O2hflcpare: + # [ + # fErrorDecayLength, + # fErrorDecayLengthXY, + # fErrorImpactParameter0, + # fErrorImpactParameter1, + # ] + O2hflcsel: [fCandidateSelFlag] + O2hflcml: [fMlScores] + O2lccjeto: [fIndexLCCJETCOS, fIndexHFLcBASES_0, fJetPt, fJetPhi, fJetEta, fJetNConstituents, fJetR] + O2lccjetsso: [fIndexLCCJETOS, fEnergyMother, fPtLeading, fPtSubLeading, fTheta, fNSub2DR, fNSub1, fNSub2] + extract_component: + #- { var: fMlScores, newvar: mlPromptScore, component: 1 } + - {var: fMlScores, newvar: mlBkgScore, component: 0} + filter: "fPt >= 1. and abs(fY) <= 0.8 and abs(fJetEta) < (.9 - (fJetR / 100.))" # TODO: check jet eta cut + + merge: + #- {base: jetgen, ref: collgen} + - {base: jetdet, ref: colldet} + - {base: jetdata, ref: colldata} + - {base: jetdata, ref: evtorig} + # workaround for yamlfmt issue #110 + + write: + jetgen: + level: gen + file: AnalysisResultsGen.parquet + jetdet: + level: det + file: AnalysisResultsReco.parquet + jetdata: + level: data + file: AnalysisResultsReco.parquet + evtorig: + level: all + file: AnalysisResultsEvtOrig.parquet + evt: + level: all + source: evtorig + file: AnalysisResultsEvt.parquet + filter: "fIsEventReject == 0" + collcnt: + level: all + file: AnalysisResultsCollCnt.parquet + bccnt: + level: all + file: AnalysisResultsBcCnt.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_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]] + # sel_skim_binmin bins + var_boundaries: [fCosThetaStar, fPtProng] + var_correlation: + - [fCosThetaStar] # TODO: update + - [fPtProng0] + var_signal: signal + var_class: class + var_inv_mass: fM + var_y: fY + var_evt_sel: fIsEventReject + var_cuts: + - [fPtProng0, lt, null] + - [fPtProng1, lt, null] + + plot_options: + prob_cut_scan: + fPtProng0: + xlim: + - 0 + - 1 + fPtProng1: + xlim: + - 0 + - 1 + eff_cut_scan: + fPtProng0: + xlim: + - 0 + - 1 + fPtProng1: + xlim: + - 0 + - 1 + + 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: mcweights.root + treeoutput: "Lctree" + histofilename: "masshisto.root" + efffilename: "effhisto.root" + respfilename: "resphisto.root" + crossfilename: "cross_section_tot.root" + resultfilename: "results.root" + + #region multi + multi: + data: + nprocessesparallel: 80 + maxfiles: [-1] #list of periods + chunksizeunp: [100] #list of periods + chunksizeskim: [100] #list of periods + fracmerge: [1.] #list of periods + seedmerge: [12] #list of periods + period: [LHC23] #list of periods + select_period: [1] + prefix_dir: /data2/MLhep/real/train_318625/ + unmerged_tree_dir: [alice] #list of periods + pkl: ["${USER}/lcjet/pkl"] #list of periods + pkl_skimmed: ["${USER}/lcjet/pklsk"] #list of periods + pkl_skimmed_merge_for_ml: ["${USER}/lcjet/pklskml"] #list of periods + pkl_skimmed_merge_for_ml_all: "${USER}/lcjet/pp_data_mltot" + pkl_evtcounter_all: "${USER}/lcjet/pp_data_evttot" + mcreweights: [../Analyses] #list of periods + mc: + nprocessesparallel: 80 + maxfiles: [-1] #list of periods + chunksizeunp: [100] #list of periods + chunksizeskim: [1000] #list of periods + fracmerge: [1.] #list of periods + seedmerge: [12] #list of periods + period: [LHC24h1] #list of periods + select_period: [1] + prefix_dir: /data2/MLhep/sim/train_316964/ + unmerged_tree_dir: [alice] + pkl: ["${USER}/lcjet/pkl"] #list of periods + pkl_skimmed: ["${USER}/lcjet/pklsk"] #list of periods + pkl_skimmed_merge_for_ml: ["${USER}/lcjet/pklskml"] #list of periods + pkl_skimmed_merge_for_ml_all: "${USER}/lcjet/pp_mc_prod_mltot" + pkl_evtcounter_all: "${USER}/lcjet/pp_mc_prod_evttot" + mcreweights: [../Analyses] #list of periods + + ml: + evtsel: fIsEventReject == 0 + triggersel: + data: null + mc: null + + nclasses: [200000, 200000, 200000] + mult_bkg: [1, 1, 1, 1, 1, 1, 1] + sampletags: [0, 1, 1] + equalise_sig_bkg: True + # sampletagforsignal: 1 + # sampletagforbkg: 0 + 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 + test_frac: 0.2 + binmin: [1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 24] # must be equal to sel_skim_binmin (sel_skim_binmin bins) + binmax: [2, 3, 4, 5, 6, 7, 8, 10, 12, 24, 36] # must be equal to sel_skim_binmax (sel_skim_binmin bins) + mltype: MultiClassification + ncorescrossval: 10 + prefix_dir_ml: "/data2/${USER}/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.24e-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, 1] # sel_skim_binmin bins + presel_gen_eff: "fPt > 0. and abs(fY) < 0.8" + + mlapplication: + data: + prefix_dir_app: "/data2/${USER}/" + pkl_skimmed_dec: [LHC23pp/MLapplication/prod_LHC23/skpkldecdata] #list of periods + pkl_skimmed_decmerged: [LHC23pp/MLapplication/prod_LHC23/skpkldecdatamerged] #list of periods + mc: + prefix_dir_app: "/data2/${USER}/" + pkl_skimmed_dec: [LHC23pp_mc/MLapplication/prod_LHC24h1/skpkldecmc] #list of periods + pkl_skimmed_decmerged: [LHC23pp_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] # sel_skim_binmin bins + probcutpresel: + data: [[0.02, 0.0, 0.0], [0.03, 0.0, 0.0], [0.04, 0.0, 0.0], [0.07, 0.0, 0.0], [0.09, 0.0, 0.0], [0.11, 0.0, 0.0], [0.15, 0.0, 0.0], [0.18, 0.0, 0.0], [0.25, 0.0, 0.0], [0.35, 0.0, 0.0]] #list of nbins + mc: [[0.02, 0.0, 0.0], [0.03, 0.0, 0.0], [0.04, 0.0, 0.0], [0.07, 0.0, 0.0], [0.09, 0.0, 0.0], [0.11, 0.0, 0.0], [0.15, 0.0, 0.0], [0.18, 0.0, 0.0], [0.25, 0.0, 0.0], [0.35, 0.0, 0.0]] #list of nbins + probcutoptimal: [[0.02, 0.0, 0.0], [0.03, 0.0, 0.0], [0.04, 0.0, 0.0], [0.07, 0.0, 0.0], [0.09, 0.0, 0.0], [0.11, 0.0, 0.0], [0.15, 0.0, 0.0], [0.18, 0.0, 0.0], [0.25, 0.0, 0.0], [0.35, 0.0, 0.0]] #list of nbins + + #region analysis + analysis: + anahptspectrum: "LctopKpi" #D0Kpi, DplusKpipi, DstarD0pi, DsKKpi, LctopKpi, LcK0Sp + fd_method: "Nb" #fc, Nb + cctype: "pp" + sigmamb: 57.8e-3 #NB: multiplied by 1e12 before giving to HFPtSpectrum! + inputfonllpred: data/fonll/DmesonLcPredictions_13TeV_y05_FFptDepLHCb_BRpythia8_PDG2020.root + dir_general_plots: "/data2/${USER}/data/analysis_plots" + + jet_obs: &jet_default + sel_an_binmin: [2, 3, 4, 5, 6, 7, 8, 10, 12, 16] # hadron pt bins (sel_an_binmin bins) + sel_an_binmax: [3, 4, 5, 6, 7, 8, 10, 12, 16, 24] # hadron pt bins (sel_an_binmin bins) + bins_ptjet: [2, 5, 7, 10, 15, 30] # systematics, TODO: split rec and gen binning + bins_ptjet_eff: [2, 5, 7, 15, 30, 50] # systematics, TODO: split rec and gen binning + cand_collidx: fIndexHfLcCollBases + counter_read_data: fReadCountsWithTVXAndZVertexAndSel8 + counter_read_mc: fReadCountsWithTVXAndZVertexAndSelMC + counter_tvx: fReadCountsWithTVX + xsection_inel: 59.4 # (mb) cross-section of minimum-bias events # used # systematics + lumi_scale_mc: 408 # charm enhancement factor in MC to scale the MC luminosity + branching_ratio: 6.24e-2 # used + + observables: + zg: + bins_gen_fix: [6, -.1, .5] + bins_det_fix: [6, -.1, .5] + label: "#it{z}_{g}" + label_y: "(1/#it{N}_{jet ch}) d#it{N}/d#it{z}_{g}" + nsd: + bins_gen_fix: [10, -.5, 9.5] + bins_det_fix: [10, -.5, 9.5] + label: "#it{n}_{SD}" + label_y: "(1/#it{N}_{jet ch}) d#it{N}/d#it{n}_{SD}" + rg: + bins_gen_fix: [11, -.1, 1.] + bins_det_fix: [11, -.1, 1.] + label: "#it{R}_{g}" + label_y: "(1/#it{N}_{jet ch}) d#it{N}/d#it{R}_{g}" + zpar: + # bins_gen_fix: [10, 0., 1.] + # bins_det_fix: [10, 0., 1.] + bins_gen_var: [0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.] + bins_det_var: [0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.] + label: "#it{z}_{#parallel}" + label_y: "(1/#it{N}_{jet ch}) d#it{N}/d#it{z}_{#parallel}" + dr: + bins_gen_fix: [10, 0., 1.] + bins_det_fix: [10, 0., 1.] + label: "#Delta#it{r}" + lntheta: + bins_gen_fix: [10, 0., 5.] + bins_det_fix: [10, 0., 5.] + label: "#minusln(#it{#theta})" + arraycols: [3] + lnkt: + bins_gen_fix: [10, -8., 2.] + bins_det_fix: [10, -8., 2.] + label: "ln(#it{k}_{T}/(GeV/#it{c}))" + arraycols: [3] + lntheta-lnkt: + arraycols: [3, 4] + + #n_rebin: [4,4,5,5,6,6,7,7,9,9] + pdf_names: + pdf_sig: "sig" + pdf_bkg: "bkg" + param_names: + mass: "m" + gauss_mean: "mean" + gauss_sigma: "sigma_g1" + double_gauss_sigma: "wide" + fraction_refl: "frac_refl" + + mass_roofit: + - level: mc + # per_ptjet: true + components: + sig: + fn: "Gaussian::peak(m[1., 5.], mean[2.27,2.29], sigma_g1[.01,.005,.035])" + 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)" + - ptrange: [1., 5.] + range: [2.16, 2.40] + fix_params: ["n", "f_peak"] + # per_ptjet: true + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.005,.015])' + bkg: + fn: "Polynomial::bkg(m, {a0[0.2, -3, 3], a1[-0.1, -3, 3], a2[0.1, 0.01, 3]})" + model: + fn: "SUM::sum(f_sig[0.,1.]*sig, bkg)" + - ptrange: [5., 8.] + range: [2.1, 2.48] + fix_params: ["n", "f_peak"] + # per_ptjet: true + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' + bkg: + fn: "Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})" + model: + fn: "SUM::sum(f_sig[0.,1.]*sig, bkg)" + - range: [2.05, 2.5] + fix_params: ["n", "f_peak"] + # per_ptjet: true + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' + bkg: + fn: "Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})" + model: + fn: "SUM::sum(f_sig[0.,1.]*sig, bkg)" + + #sidesub_per_ptjet: true + sidesub: + - regions: + left: [-5.5, -3.] # systematics + signal: [-2., 2.] # systematics + right: [3., 5.5] # systematics + + mass_fit: + func_sig: "gaus" + func_bkg: "expo" + # par_start: + # par_fix: {1: 2.286} + par_constrain: {1: [2.28, 2.29], 2: [.005, .03]} + range: [2.08, 2.48] + mass_fit_lim: [1.9, 2.62] # histogram range of the invariant mass distribution [GeV/c^2] + bin_width: 0.001 # bin width of the invariant mass histogram + n_rebin: 3 # number of mass bins to merge + efficiency: + index_match: fIndexArrayLCCMCPJETOS_hf + #extra_cols: ["mlPromptScore"] + extra_cols: ["mlBkgScore"] + correction_method: run3 + + unfolding_iterations: 8 # used, maximum iteration + unfolding_iterations_sel: 5 # used, selected iteration # systematics + unfolding_prior_flatness: 0. # ranges from 0. (no flatness) to 1. (flat) + + fd_folding_method: 3d + fd_root: "/data2/vkucera/powheg/trees_powheg_fd_F05_R05.root" + fd_parquet: "/data2/jklein/powheg/Lc_powheg_fd_F05_R05.parquet" + + proc_type: Jets + useperiod: [1] #list of periods + usejetptbinned_deff: false + doeff_resp: true #efficiency correction for the response matrix + unmatched_gen: true + latexnamehadron: "#Lambda_{c}^{#plus}" + latexnamedecay: "pK#pi" + var_binning2: pt_jet + var_binning2_gen: pt_gen_jet + latexbin2var: "#it{p}_{T}^{jet ch}" + sel_binmin2_reco: [7.0, 15.0, 30.0] # rec jet pt bins (sel_binmin2_reco bins) + sel_binmax2_reco: [15.0, 30.0, 50.0] # rec jet pt bins (sel_binmin2_reco bins) + sel_binmin2_gen: [7.0, 15.0, 30.0] # gen jet pt bins (sel_binmin2_gen bins) + sel_binmax2_gen: [15.0, 30.0, 50.0] # gen jet pt bins (sel_binmin2_gen bins) + var_binningshape: zg_jet + var_binningshape_gen: zg_gen_jet + var_shape_latex: "#it{z}_{g}" + sel_binminshape_reco: [-0.1, 0.1, 0.2, 0.3, 0.4] + sel_binmaxshape_reco: [0.1, 0.2, 0.3, 0.4, 0.5] + sel_binminshape_gen: [-0.1, 0.1, 0.2, 0.3, 0.4] + sel_binmaxshape_gen: [0.1, 0.2, 0.3, 0.4, 0.5] + sel_closure_frac: 0.2 + triggerbit: INT7 + #jetsel_gen: "abs(y_cand) < 0.8 and abs(z_vtx_gen) < 10 and abs(eta_jet) < 0.5" + #jetsel_sim: "abs(y_cand) < 0.8 and abs(eta_jet) < 0.5" # jet selection in simulations + #jetsel_reco: "abs(y_cand) < 0.8 and abs(z_vtx_reco) < 10 and abs(eta_jet) < 0.5" + #jetsel_gen_matched_reco: "abs(eta_gen_jet) < 5.0" + jetsel_gen: "abs(y_cand) < 0.5 and abs(z_vtx_gen) < 10 and abs(eta_jet) < 0.5" + jetsel_sim: "abs(y_cand) < 0.5 and abs(eta_jet) < 0.5" # jet selection in simulations + jetsel_reco: "abs(y_cand) < 0.5 and abs(z_vtx_reco) < 10 and abs(eta_jet) < 0.5" + jetsel_gen_matched_reco: "abs(y_cand) < 0.5 and abs(z_vtx_gen) < 10 and abs(eta_gen_jet) < 0.5" + evtsel: fIsEventReject==0 + triggersel: + data: "trigger_hasbit_INT7==1" + mc: null + data: &data_out_default + runselection: [null] #FIXME + results: ["/home/${USER}/mlhep/lcjet/jet_obs/default/default/data/results"] #list of periods + resultsallp: "/home/${USER}/mlhep/lcjet/jet_obs/default/default/data/results_all" + mc: &mc_out_default + runselection: [null, null] #FIXME + results: ["/home/${USER}/mlhep/lcjet/jet_obs/default/default/mc/results"] #list of periods + resultsallp: "/home/${USER}/mlhep/lcjet/jet_obs/default/default/mc/results_all" + data_proc: # alternative processor output used as the analyzer input + <<: *data_out_default + mc_proc: # alternative processor output used as the analyzer input + <<: *mc_out_default + + # simple fitter START + sgnfunc: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] # kGaus=0, k2Gaus=1, k2GausSigmaRatioPar=2 (sel_an_binmin bins) + bkgfunc: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] # kExpo=0, kLin=1, kPol2=2, kNoBk=3, kPow=4, kPowEx=5 (sel_an_binmin bins) + masspeak: 2.286 + massmin: [1.66, 1.66, 1.66, 1.66, 1.66, 1.66, 1.66, 1.66, 1.66, 1.66, 1.66, 1.66] # sel_an_binmin bins, fit region of the invariant mass distribution [GeV/c^2] + massmax: [2.06, 2.06, 2.06, 2.06, 2.06, 2.06, 2.06, 2.06, 2.06, 2.06, 2.06, 2.06] # sel_an_binmin bins, fit region of the invariant mass distribution [GeV/c^2] + rebin: [6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6] # sel_an_binmin bins + fix_mean: [false, false, false, false, false, false, false, false, false, false, false, false] # sel_an_binmin bins + masspeaksec: 2.286 + + # If SetArraySigma true: sigma_initial is taken from sigmaarray; false: sigma_initial is taken from MC + # If SetFixGaussianSigma true: sigma fixed to sigma_initial + # SetFixGaussianSigma: [false, false, false, false, false, false, false, false, false, false, false, false] # sel_an_binmin bins + SetFixGaussianSigma: [true, true, true, true, true, true, true, true, true, true, true] # sel_an_binmin bins + SetArraySigma: [false, false, false, false, false, false, false, false, false, false, false, false] # sel_an_binmin bins + sigmaarray: [0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01] # initial sigma (sel_an_binmin bins) + + fix_sigmasec: [true, true, true, true, true, true, true, true, true, true] # sel_an_binmin bins + sigmaarraysec: [0.007497, 0.007497, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01] # sel_an_binmin bins + use_reflections: true + # simple fitter END + + signal_sigma: 2.0 + sigma_scale: 0.9545 + sideband_sigma_1_left: 4 + sideband_sigma_2_left: 9 + sideband_sigma_1_right: 4 + sideband_sigma_2_right: 9 + sidebandleftonly: false + + niterunfolding: 15 + niterunfoldingchosen: 4 + + doprior: false + domodeldep: false + path_modeldep: /home/nzardosh/PYTHIA_Sim/PYTHIA8_Simulations/Plots/D0_Substructure_Simulations_Output.root + + powheg_path_nonprompt: /data/POWHEG/trees_powheg_fd_central.root + + powheg_path_prompt: /data/POWHEG/trees_powheg_pr_central.root + powheg_prompt_variations_path: /data/POWHEG/trees_powheg_pr_ + powheg_prompt_variations: ["F1_R05", "F05_R1", "F2_R1", "F1_R2", "F2_R2", "F05_R05", "Mhigh", "Mlow"] + + pythia8_prompt_variations_path: /data/PYTHIA8/trees_pythia8_pr_ + pythia8_prompt_variations: ["default", "charm_lo"] #["default","colour0soft"] + pythia8_prompt_variations_legend: ["PYTHIA 8 (Monash)", "PYTHIA 8 charm LO"] # ["PYTHIA 8 (Monash)","PYTHIA 8 SoftQCD, mode 0"] + + variations_db: database_variations_LcJet_pp_jet_obs.yml + + # Additional cuts applied before mass histogram is filled + use_cuts: True + cuts: ["mlBkgScore < 0.03", "mlBkgScore < 0.04", "mlBkgScore < 0.07", "mlBkgScore < 0.09", "mlBkgScore < 0.11", "mlBkgScore < 0.15", "mlBkgScore < 0.18", "mlBkgScore < 0.25", "mlBkgScore < 0.35", "mlBkgScore < 0.35"] # (sel_an_binmin bins) systematics FIXME: Update for new model. + + systematics: # used in machine_learning_hep/analysis/systematics.py + probvariation: + useperiod: [0, 0, 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.80, 0.80, 0.6, 0.3, 0.3] #Min starting point for scan + cutvarmaxrange: [0.98, 0.95, 0.95, 0.95, 0.95] #Max starting point for scan + fixedmean: True #Fix mean cutvar histo to central fit + fixedsigma: True #Fix sigma cutvar histo to central fit + mcptshape: + #FONLL / generated LHC19h4c1 + weights: [1.000000] + #From SetPtWeightsFromFONLL13overLHC17c3a12 in AliPhysics + #weights: [1.429770] + weights_min_pt: 0 + weights_max_pt: 40 + weights_bins: 400 diff --git a/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi.yml b/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi.yml index 0b3e221954..f01eb5bd0c 100644 --- a/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi.yml +++ b/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi.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] - 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 + 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 @@ -39,12 +40,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: @@ -59,22 +60,17 @@ LcpKpi: reco: level: all trees: - O2hfcandlclite: [fFlagMc, 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] + O2hfcandlclite: [fFlagMc, 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] O2hfcollidlclite: [fIndexCollisions] 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: fFlagMc, req: [[1],[]], level: mc} - ismcsignal: {var: fFlagMc, req: [[1],[]], abs: true, level: mc} - ismcbkg: {var: fFlagMc, req: [[],[1]], abs: true, level: mc} - ismcprompt: {var: fOriginMcRec, req: [[0],[]], level: mc} - ismcfd: {var: fOriginMcRec, req: [[1],[]], level: mc} + isstd: {var: fFlagMc, req: [[1], []], level: mc} + ismcsignal: {var: fFlagMc, req: [[1], []], abs: true, level: mc} + ismcbkg: {var: fFlagMc, 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: @@ -82,16 +78,17 @@ LcpKpi: trees: O2hfcandlcfullp: [fIndexMcCollisions, fPt, fY, fFlagMc, fOriginMcGen] tags: - isstd: {var: fFlagMc, req: [[1],[]], level: mc} - ismcsignal: {var: fFlagMc, req: [[1],[]], abs: true, level: mc} - ismcbkg: {var: fFlagMc, req: [[],[1]], abs: true, level: mc} - ismcprompt: {var: fOriginMcGen, req: [[0],[]], level: mc} - ismcfd: {var: fOriginMcGen, req: [[1],[]], level: mc} + isstd: {var: fFlagMc, req: [[1], []], level: mc} + ismcsignal: {var: fFlagMc, req: [[1], []], abs: true, level: mc} + ismcbkg: {var: fFlagMc, req: [[], [1]], abs: true, level: mc} + ismcprompt: {var: fOriginMcGen, req: [[0], []], level: mc} + ismcfd: {var: fOriginMcGen, req: [[1], []], level: mc} merge: - {base: reco, ref: evtorig, use: fIndexCollisions, extra: {fMultZeqNTracksPV_sub: fMultZeqNTracksPV - fNProngsContributorsPV}} - {base: reco, ref: evtorigmc, use: fIndexCollisions} - {base: gen, ref: evtorigmc, use: fIndexMcCollisions} + # workaround for yamlfmt issue #110 write: evtorig: @@ -118,33 +115,13 @@ LcpKpi: file: AnalysisResultsGen.parquet variables: - var_all: [fIndexCollisions, fFlagMc, 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, fFlagMc, 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_evt: data: [fIndexCollisions, fPosX, fPosY, fPosZ, fIsEventReject, fNumContrib, fMultZeqNTracksPV, fCentFT0A, fCentFT0C, fCentFT0M, fCentFV0A] - mc: [fIndexCollisions, fPosX, fPosY, fPosZ, fIndexMcCollisions, fIsEventReject, fNumContrib, fMultZeqNTracksPV, fCentFT0A, fCentFT0C, fCentFT0M, fCentFV0A] + mc: [fIndexCollisions, fPosX, fPosY, fPosZ, fIndexMcCollisions, fIsEventReject, fNumContrib, fMultZeqNTracksPV, fCentFT0A, fCentFT0C, fCentFT0M, fCentFV0A] var_gen: [fIndexMcCollisions, fPosX, fPosY, fPosZ, fPt, fY, fFlagMc, 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_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] @@ -255,10 +232,10 @@ LcpKpi: multi: data: nprocessesparallel: 60 - 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 : [0.05] #list of periods + fracmerge: [0.05] #list of periods seedmerge: [12] #list of periods period: [LHC22o] #list of periods select_period: [1] @@ -273,22 +250,18 @@ LcpKpi: mcreweights: [../Analyses] mc: nprocessesparallel: 80 - maxfiles : [-1, -1] #list of periods - chunksizeunp : [100, 100] #list of periods + 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 + 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_174465/alice/cern.ch/user/a/alihyperloop/jobs/0032, - sim/train_174466/alice/cern.ch/user/a/alihyperloop/jobs/0032] #list of periods - pkl: [LHC22pp_mc_tuner/prod_LHC22b1b/pklmc, - LHC22pp_mc_tuner/prod_LHC22b1a/pklmc] #list of periods - pkl_skimmed: [LHC22pp_mc_tuner/prod_LHC22b1b/pklskmc, - LHC22pp_mc_tuner/prod_LHC22b1a/pklskmc] #list of periods - pkl_skimmed_merge_for_ml: [LHC22pp_mc_tuner/prod_LHC22b1b/pklskmlmc, - LHC22pp_mc_tuner/prod_LHC22b1a/pklskmlmc] #list of periods + unmerged_tree_dir: [sim/train_174465/alice/cern.ch/user/a/alihyperloop/jobs/0032, sim/train_174466/alice/cern.ch/user/a/alihyperloop/jobs/0032] #list of periods + pkl: [LHC22pp_mc_tuner/prod_LHC22b1b/pklmc, LHC22pp_mc_tuner/prod_LHC22b1a/pklmc] #list of periods + pkl_skimmed: [LHC22pp_mc_tuner/prod_LHC22b1b/pklskmc, LHC22pp_mc_tuner/prod_LHC22b1a/pklskmc] #list of periods + pkl_skimmed_merge_for_ml: [LHC22pp_mc_tuner/prod_LHC22b1b/pklskmlmc, LHC22pp_mc_tuner/prod_LHC22b1a/pklskmlmc] #list of periods pkl_skimmed_merge_for_ml_all: LHC22pp_mc_tuner/prod_LHC22/mltotmc pkl_evtcounter_all: LHC22pp_mc_tuner/prod_LHC22/evttotmc mcreweights: [../Analyses, ../Analyses] @@ -300,7 +273,7 @@ LcpKpi: nclasses: [40000, 40000] equalise_sig_bkg: true - mult_bkg: [10,1,2,3,3,5] + mult_bkg: [10, 1, 2, 3, 3, 5] sampletags: [0, 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 @@ -311,8 +284,8 @@ LcpKpi: 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) + 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: BinaryClassification ncorescrossval: 10 prefix_dir_ml: /data2/MLhep/ @@ -325,7 +298,7 @@ LcpKpi: 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 @@ -333,7 +306,7 @@ LcpKpi: 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 + 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" @@ -344,17 +317,10 @@ LcpKpi: 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 + 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] + 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.4, 0.4, 0.4, 0.4, 0., 0.] #list of nbins mc: [0.4, 0.4, 0.4, 0.4, 0., 0.] #list of nbins @@ -370,11 +336,11 @@ LcpKpi: Run3analysis: proc_type: Dhadrons - useperiod: [1,1] + 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 + 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 @@ -386,10 +352,9 @@ LcpKpi: - "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] + 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: @@ -405,31 +370,30 @@ LcpKpi: 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 + 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] + 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,13] - fix_mean: [false,false,false,false,false,false] - fix_sigma: [false,false,false,false,false,false] + rebin: [5, 5, 6, 7, 8, 13] + 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] + 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] + 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 @@ -437,7 +401,7 @@ LcpKpi: # 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] + sigmaarray: [0.01, 0.01, 0.01, 0.01, 0.01, 0.01] FixedSigma: false fitcase: Lc latexnamehadron: "#Lambda_{c}^{pK#pi}" @@ -448,10 +412,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 + 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.70, 0.50, 0.50, 0.30, 0.30, 0.30] #Min starting point for scan cutvarmaxrange: [0.95, 0.90, 0.90, 0.80, 0.80, 0.80] #Max starting point for scan fixedmean: true #Fix mean cutvar histo to central fit - fixedsigma: true #Fix sigma cutvar histo to central fit \ No newline at end of file + fixedsigma: true #Fix sigma cutvar histo to central fit diff --git a/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_mult.yml b/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_mult.yml index 23eb7607d3..bf9d09e42e 100644 --- a/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_mult.yml +++ b/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_mult.yml @@ -1,3 +1,4 @@ +--- ############################################################################# ## © Copyright CERN 2023. All rights not expressly granted are reserved. ## ## Author: Gian.Michele.Innocenti@cern.ch ## @@ -20,10 +21,10 @@ LcpKpi: sel_gen_unp: "fPt>0" sel_cen_unp: null sel_good_evt_unp: "fIsEventReject == 0" - 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 + 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 @@ -40,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: @@ -60,12 +61,7 @@ LcpKpi: reco: level: all trees: - O2hfcandlclite: [fFlagMc, 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] + O2hfcandlclite: [fFlagMc, 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] O2hfcollidlclite: [fIndexCollisions] filter: "fPt > 1." gen: @@ -77,6 +73,7 @@ LcpKpi: - {base: reco, ref: evtorig, use: fIndexCollisions} - {base: reco, ref: evtorigmc, use: fIndexCollisions} - {base: gen, ref: evtorigmc, use: fIndexMcCollisions} + # workaround for yamlfmt issue #110 write: evtorig: @@ -103,39 +100,19 @@ LcpKpi: file: AnalysisResultsGen.pkl.lz4 variables: - var_all: [fIndexCollisions, fPosX, fPosY, fPosZ, fFlagMc, 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, fPosX, fPosY, fPosZ, fFlagMc, 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, fIndexD0ChargedJets] var_evt: - data: [fIndexCollisions, fIsEventReject, fNumContrib, fMultZeqNTracksPV, fCentFT0A, fCentFT0C, fCentFT0M, fCentFV0A] - mc: [fIndexCollisions, fIndexMcCollisions, fIsEventReject, fNumContrib, fMultZeqNTracksPV, fCentFT0A, fCentFT0C, fCentFT0M, fCentFV0A] + data: [fIndexCollisions, fIsEventReject, fNumContrib, fMultZeqNTracksPV, fCentFT0A, fCentFT0C, fCentFT0M, fCentFV0A] + mc: [fIndexCollisions, fIndexMcCollisions, fIsEventReject, fNumContrib, fMultZeqNTracksPV, fCentFT0A, fCentFT0C, fCentFT0M, fCentFV0A] var_gen: [fIndexMcCollisions, fPt, fY, fFlagMc, fOriginMcGen] var_evt_match: [df, fIndexCollisions] var_evt_match_mc: [df, fIndexMcCollisions] - 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_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] @@ -144,12 +121,12 @@ LcpKpi: 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] + - [fPtProng0, lt, null] + - [fPtProng1, lt, null] + - [fPtProng2, lt, null] + - [fCpa, lt, null] + - [fDecayLength, lt, null] + - [fChi2PCA, lt, null] plot_options: prob_cut_scan: @@ -246,10 +223,10 @@ LcpKpi: multi: data: nprocessesparallel: 60 - 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 : [0.05] #list of periods + fracmerge: [0.05] #list of periods seedmerge: [12] #list of periods period: [LHC22o] #list of periods select_period: [1] @@ -264,22 +241,18 @@ LcpKpi: mcreweights: [../Analyses] mc: nprocessesparallel: 80 - maxfiles : [-1, -1] #list of periods - chunksizeunp : [100, 100] #list of periods + 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 + 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_174465/alice/cern.ch/user/a/alihyperloop/jobs/0032, - sim/train_174466/alice/cern.ch/user/a/alihyperloop/jobs/0032] #list of periods - pkl: [LHC22pp_mc_tuner/prod_LHC22b1b/pklmc, - LHC22pp_mc_tuner/prod_LHC22b1a/pklmc] #list of periods - pkl_skimmed: [LHC22pp_mc_tuner/prod_LHC22b1b/pklskmc, - LHC22pp_mc_tuner/prod_LHC22b1a/pklskmc] #list of periods - pkl_skimmed_merge_for_ml: [LHC22pp_mc_tuner/prod_LHC22b1b/pklskmlmc, - LHC22pp_mc_tuner/prod_LHC22b1a/pklskmlmc] #list of periods + unmerged_tree_dir: [sim/train_174465/alice/cern.ch/user/a/alihyperloop/jobs/0032, sim/train_174466/alice/cern.ch/user/a/alihyperloop/jobs/0032] #list of periods + pkl: [LHC22pp_mc_tuner/prod_LHC22b1b/pklmc, LHC22pp_mc_tuner/prod_LHC22b1a/pklmc] #list of periods + pkl_skimmed: [LHC22pp_mc_tuner/prod_LHC22b1b/pklskmc, LHC22pp_mc_tuner/prod_LHC22b1a/pklskmc] #list of periods + pkl_skimmed_merge_for_ml: [LHC22pp_mc_tuner/prod_LHC22b1b/pklskmlmc, LHC22pp_mc_tuner/prod_LHC22b1a/pklskmlmc] #list of periods pkl_skimmed_merge_for_ml_all: LHC22pp_mc_tuner/prod_LHC22/mltotmc pkl_evtcounter_all: LHC22pp_mc_tuner/prod_LHC22/evttotmc mcreweights: [../Analyses, ../Analyses] @@ -291,7 +264,7 @@ LcpKpi: nclasses: [20000, 20000] equalise_sig_bkg: True - mult_bkg: [30,2,2,3,3,5] + mult_bkg: [30, 2, 2, 3, 3, 5] sampletags: [0, 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 @@ -302,8 +275,8 @@ LcpKpi: 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) + 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: BinaryClassification ncorescrossval: 10 prefix_dir_ml: /data2/MLhep/ @@ -316,7 +289,7 @@ LcpKpi: 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 @@ -324,7 +297,7 @@ LcpKpi: 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 + 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" @@ -335,17 +308,10 @@ LcpKpi: 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 + 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] + 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.6, 0.6, 0.6, 0.6, 0.3, 0.3] #list of nbins mc: [0.6, 0.6, 0.6, 0.6, 0.3, 0.3] #list of nbins @@ -361,15 +327,15 @@ LcpKpi: Run3analysis_barrel: proc_type: Dhadrons_mult - useperiod: [1,1] - plotbin: [1,1,1,1,1] + useperiod: [1, 1] + plotbin: [1, 1, 1, 1, 1] usesinglebineff: null fprompt_from_mb: true corresp_mb_typean: null corrEffMult: [false, false, false, false, false] event_cand_validation: True - sel_binmin2: [0,1,10,30,60] #list of nbins - sel_binmax2: [9999,9,29,59,100] #list of nbins + sel_binmin2: [0, 1, 10, 30, 60] #list of nbins + sel_binmax2: [9999, 9, 29, 59, 100] #list of nbins var_binning2: fMultZeqNTracksPV_sub var_binning2_gen: fMultZeqNTracksPV nbinshisto: 200 @@ -385,9 +351,9 @@ LcpKpi: - "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] + 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: @@ -403,31 +369,30 @@ LcpKpi: 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 + 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: [data,data,data,data,data,data] # data or mc - sgnfunc: [kGaus,kGaus,kGaus,kGaus,kGaus,kGaus] - bkgfunc: [Pol2,Pol2,Pol2,Pol2,Pol2,Pol2] + init_fits_from: [data, data, data, data, data, data] # 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.38, 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] + 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] + 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] + 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 @@ -435,7 +400,7 @@ LcpKpi: # 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] + sigmaarray: [0.01, 0.01, 0.01, 0.01, 0.01, 0.01] FixedSigma: false fitcase: Lc latexnamehadron: "#Lambda_{c}^{pK#pi}" @@ -446,8 +411,8 @@ LcpKpi: Run3analysis_forward: proc_type: Dhadrons_mult - useperiod: [1,1] - plotbin: [1,1,1,1,1] + useperiod: [1, 1] + plotbin: [1, 1, 1, 1, 1] usesinglebineff: null fprompt_from_mb: true corresp_mb_typean: null @@ -471,9 +436,9 @@ LcpKpi: - "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] + 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: @@ -489,31 +454,30 @@ LcpKpi: mc: runselection: [null, null] #FIXME prefix_dir_res: /data2/MLhep_fwd/ - results: [LHC22pp_mc/Results/prod_LHC22b1b/resultsmc, - LHC22pp_mc/Results/prod_LHC22b1a/resultsmc] #list of periods + 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: [data,data,data,data,data,data] # data or mc - sgnfunc: [kGaus,kGaus,kGaus,kGaus,kGaus,kGaus] - bkgfunc: [Pol2,Pol2,Pol2,Pol2,Pol2,Pol2] + init_fits_from: [data, data, data, data, data, data] # 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.38, 2.40, 2.42, 2.436, 2.446, 2.47] - rebin: [5,6,6,7,8,14] - fix_mean: [false,false,false,false,false,false] - fix_sigma: [false,false,false,false,false,false] + rebin: [5, 6, 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] + 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] + 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 @@ -521,7 +485,7 @@ LcpKpi: # 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] + sigmaarray: [0.01, 0.01, 0.01, 0.01, 0.01, 0.01] FixedSigma: false fitcase: Lc latexnamehadron: "#Lambda_{c}^{pK#pi}" @@ -532,10 +496,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 + 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.70, 0.50, 0.50, 0.30, 0.30, 0.30] #Min starting point for scan cutvarmaxrange: [0.95, 0.90, 0.90, 0.80, 0.80, 0.80] #Max starting point for scan fixedmean: True #Fix mean cutvar histo to central fit - fixedsigma: True #Fix sigma cutvar histo to central fit \ No newline at end of file + fixedsigma: True #Fix sigma cutvar histo to central fit 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 index 7549fc0853..7920531766 100644 --- 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 @@ -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] - 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 + 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 @@ -39,12 +40,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: @@ -61,11 +62,7 @@ LcpKpi: 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] + 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] @@ -76,11 +73,11 @@ LcpKpi: 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: [[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: @@ -88,18 +85,19 @@ LcpKpi: 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} + 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} + # workaround for yamlfmt issue #110 + #- {base: reco, ref: evtorigmc, use: fIndexCollisions} + #- {base: gen, ref: evtorigmc, use: fIndexMcCollisions} write: evtorig: @@ -124,37 +122,17 @@ 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, 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_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] @@ -163,12 +141,12 @@ LcpKpi: 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] + - [fPtProng0, lt, null] + - [fPtProng1, lt, null] + - [fPtProng2, lt, null] + - [fCpa, lt, null] + - [fDecayLength, lt, null] + - [fChi2PCA, lt, null] plot_options: prob_cut_scan: @@ -261,10 +239,10 @@ LcpKpi: multi: data: nprocessesparallel: 60 - 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 : [0.05] #list of periods + fracmerge: [0.05] #list of periods seedmerge: [12] #list of periods period: [LHC22o] #list of periods select_period: [1] @@ -279,22 +257,18 @@ LcpKpi: mcreweights: [../Analyses] mc: nprocessesparallel: 60 - maxfiles : [-1, -1] #list of periods - chunksizeunp : [100, 100] #list of periods + 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 + 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 + 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] @@ -306,7 +280,7 @@ LcpKpi: nclasses: [200000, 200000, 200000] equalise_sig_bkg: True - mult_bkg: [1,1,1,1,1,1] + 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 @@ -317,8 +291,8 @@ LcpKpi: 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) + 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/ @@ -331,7 +305,7 @@ LcpKpi: 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 @@ -339,7 +313,7 @@ LcpKpi: 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 + 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" @@ -350,17 +324,10 @@ LcpKpi: 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 + 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] + 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 @@ -375,11 +342,11 @@ LcpKpi: Run3analysis: proc_type: Dhadrons - useperiod: [1,1] + 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 + 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 @@ -391,10 +358,9 @@ LcpKpi: - "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] + 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: @@ -410,31 +376,30 @@ LcpKpi: 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 + 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] + 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] + 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] + 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] + 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 @@ -442,7 +407,7 @@ LcpKpi: # 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] + sigmaarray: [0.01, 0.01, 0.01, 0.01, 0.01, 0.01] FixedSigma: false fitcase: Lc latexnamehadron: "#Lambda_{c}^{pK#pi}" @@ -453,7 +418,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]] #Min starting point for scan diff --git a/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_newformat.yml b/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_newformat.yml index 8944d9350d..df91198588 100644 --- a/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_newformat.yml +++ b/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_newformat.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] - 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 + 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 @@ -39,12 +40,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: @@ -61,11 +62,7 @@ LcpKpi: 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] + 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] @@ -76,11 +73,11 @@ LcpKpi: 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: [[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: @@ -88,18 +85,19 @@ LcpKpi: 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} + 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} + - {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: @@ -124,37 +122,17 @@ 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] + 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_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] @@ -262,10 +240,10 @@ LcpKpi: multi: data: 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 : [0.05] #list of periods + fracmerge: [0.05] #list of periods seedmerge: [12] #list of periods period: [LHC22o] #list of periods select_period: [1] @@ -280,22 +258,18 @@ LcpKpi: mcreweights: [../Analyses] mc: nprocessesparallel: 80 - maxfiles : [-1, -1] #list of periods - chunksizeunp : [100, 100] #list of periods + 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 + 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_201356/alice/cern.ch/user/a/alihyperloop/jobs/0039, - sim/train_201355/alice/cern.ch/user/a/alihyperloop/jobs/0039] #list of periods - pkl: [LHC22pp_mc_tuner/prod_LHC22b1b/pklmc, - LHC22pp_mc_tuner/prod_LHC22b1a/pklmc] #list of periods - pkl_skimmed: [LHC22pp_mc_tuner/prod_LHC22b1b/pklskmc/, - LHC22pp_mc_tuner/prod_LHC22b1a/pklskmc] #list of periods - pkl_skimmed_merge_for_ml: [LHC22pp_mc_tuner/prod_LHC22b1b/pklskmlmc, - LHC22pp_mc_tuner/prod_LHC22b1a/pklskmlmc] #list of periods + unmerged_tree_dir: [sim/train_201356/alice/cern.ch/user/a/alihyperloop/jobs/0039, sim/train_201355/alice/cern.ch/user/a/alihyperloop/jobs/0039] #list of periods + pkl: [LHC22pp_mc_tuner/prod_LHC22b1b/pklmc, LHC22pp_mc_tuner/prod_LHC22b1a/pklmc] #list of periods + pkl_skimmed: [LHC22pp_mc_tuner/prod_LHC22b1b/pklskmc/, LHC22pp_mc_tuner/prod_LHC22b1a/pklskmc] #list of periods + pkl_skimmed_merge_for_ml: [LHC22pp_mc_tuner/prod_LHC22b1b/pklskmlmc, LHC22pp_mc_tuner/prod_LHC22b1a/pklskmlmc] #list of periods pkl_skimmed_merge_for_ml_all: LHC22pp_mc_tuner/prod_LHC22/mltotmc pkl_evtcounter_all: LHC22pp_mc_tuner/prod_LHC22/evttotmc #select_jobs: [[hy_396609], [hy_396597]] @@ -308,7 +282,7 @@ LcpKpi: nclasses: [40000, 40000] equalise_sig_bkg: true - mult_bkg: [10,1,2,3,3,5] + mult_bkg: [10, 1, 2, 3, 3, 5] sampletags: [0, 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 @@ -319,8 +293,8 @@ LcpKpi: 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) + 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: BinaryClassification ncorescrossval: 10 prefix_dir_ml: /data2/MLhep/ @@ -333,7 +307,7 @@ LcpKpi: 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 @@ -341,7 +315,7 @@ LcpKpi: 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 + 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" @@ -352,17 +326,10 @@ LcpKpi: 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 + 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] + 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.4, 0.4, 0.4, 0.4, 0., 0.] #list of nbins mc: [0.4, 0.4, 0.4, 0.4, 0., 0.] #list of nbins @@ -378,11 +345,11 @@ LcpKpi: Run3analysis: proc_type: Dhadrons - useperiod: [1,1] + 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 + 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 @@ -394,10 +361,9 @@ LcpKpi: - "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] + 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: @@ -413,31 +379,30 @@ LcpKpi: 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 + 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] + 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.19, 2.14, 2.13, 2.10] massmax: [2.40, 2.40, 2.40, 2.436, 2.446, 2.47] - rebin: [5,5,6,7,8,13] - fix_mean: [false,false,false,false,false,false] - fix_sigma: [false,false,false,false,false,false] + rebin: [5, 5, 6, 7, 8, 13] + 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] + 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] + 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 @@ -445,7 +410,7 @@ LcpKpi: # 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] + sigmaarray: [0.01, 0.01, 0.01, 0.01, 0.01, 0.01] FixedSigma: false fitcase: Lc latexnamehadron: "#Lambda_{c}^{pK#pi}" @@ -456,7 +421,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.70, 0.50, 0.50, 0.30, 0.30, 0.30] #Min starting point for scan diff --git a/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_newformat_mult_ana.yml b/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_newformat_mult_ana.yml index 7b878238c8..97cff78ade 100644 --- a/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_newformat_mult_ana.yml +++ b/machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_newformat_mult_ana.yml @@ -1,3 +1,4 @@ +--- ############################################################################# ## © Copyright CERN 2023. All rights not expressly granted are reserved. ## ## Author: Gian.Michele.Innocenti@cern.ch ## @@ -20,10 +21,10 @@ LcpKpi: sel_cen_unp: null sel_good_evt_unp: null #sel_reco_skim: ["fDecayLength > 0.015","fDecayLength > 0.015","fDecayLength > 0.015","fDecayLength > 0.015","fDecayLength > 0.015","fDecayLength > 0.015"] - 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 dofullevtmerge: false @@ -40,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: @@ -68,12 +69,8 @@ LcpKpi: 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] + 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] @@ -82,13 +79,13 @@ 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: [[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: @@ -96,18 +93,19 @@ LcpKpi: trees: 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: [[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: gen, ref: evtoriggen} - - {base: gen, ref: evtorig, left_on: fIndexArrayHFLCCOLLBASES, out: genrec} + - {base: reco, ref: evtorig, extra: {fMultZeqNTracksPV_sub: fMultZeqNTracksPV - fNProngsContributorsPV}} + - {base: gen, ref: evtoriggen} + - {base: gen, ref: evtorig, left_on: fIndexArrayHFLCCOLLBASES, out: genrec} + # workaround for yamlfmt issue #110 write: evtorig: @@ -132,46 +130,18 @@ 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, fCentFT0M] - mc: [fIndexCollisions, fPosX, fPosY, fPosZ, fMultZeqNTracksPV, fCentFT0M] - #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] + #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] + 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] var_boundaries: [fDecayLength, fPt] var_correlation: - [fDecayLength, fChi2PCA, fCpa] @@ -180,12 +150,12 @@ LcpKpi: 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] + - [fPtProng0, lt, null] + - [fPtProng1, lt, null] + - [fPtProng2, lt, null] + - [fCpa, lt, null] + - [fDecayLength, lt, null] + - [fChi2PCA, lt, null] plot_options: prob_cut_scan: @@ -281,10 +251,10 @@ LcpKpi: multi: data: 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 : [0.05] #list of periods + fracmerge: [0.05] #list of periods seedmerge: [12] #list of periods period: [LHC23] #list of periods select_period: [1] @@ -299,10 +269,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] #list of periods + fracmerge: [1.0] #list of periods seedmerge: [1] #list of periods period: [LHC24h1] #list of periods select_period: [1] @@ -324,7 +294,7 @@ LcpKpi: nclasses: [200000, 200000, 200000] equalise_sig_bkg: True #mult_bkg: [30,2,2,3,3,5] - 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 @@ -335,8 +305,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/ldellost/MLhep/ @@ -349,7 +319,7 @@ LcpKpi: 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 @@ -357,7 +327,7 @@ LcpKpi: 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" @@ -371,16 +341,7 @@ LcpKpi: pkl_skimmed_dec: [LHC23pp_mc/MLapplication_mult/prod_LHC24h1/skpkldecmc] #list of periods pkl_skimmed_decmerged: [LHC23pp_mc/MLapplication_mult/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] + 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.05, 0.0, 0.0], [0.05, 0.0, 0.0], [0.05, 0.0, 0.0], [0.1, 0.0, 0.0], [0.2, 0.0, 0.0], [0.2, 0.0, 0.0], [0.2, 0.0, 0.0], [0.2, 0.0, 0.0], [0.3, 0.0, 0.0], [0.4, 0.0, 0.0]] #list of nbins mc: [[0.05, 0.0, 0.0], [0.05, 0.0, 0.0], [0.05, 0.0, 0.0], [0.1, 0.0, 0.0], [0.2, 0.0, 0.0], [0.2, 0.0, 0.0], [0.2, 0.0, 0.0], [0.2, 0.0, 0.0], [0.3, 0.0, 0.0], [0.4, 0.0, 0.0]] #list of nbins @@ -397,7 +358,7 @@ LcpKpi: Run3analysis_forward: proc_type: Dhadrons_mult useperiod: [1] - plotbin: [1,1,1,1,1,1,1] + plotbin: [1, 1, 1, 1, 1, 1, 1] usesinglebineff: null fprompt_from_mb: true corrEffMult: [false, true, true, true, true, true, true, true] @@ -455,9 +416,9 @@ LcpKpi: - "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] + 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: null #evtsel: "abs(fPosZ)<10" @@ -484,7 +445,7 @@ LcpKpi: 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,3,3,3,4,5,6] # number of mass bins to merge + n_rebin: [2, 2, 2, 2, 3, 3, 3, 4, 5, 6] # number of mass bins to merge pdf_names: pdf_sig: "sig" @@ -504,8 +465,8 @@ LcpKpi: components: sig: fn: 'Gaussian::sig(m[2., 4.], mean[2.282,2.29], sigma_g1[.006,.006,.025])' - #wide: - # fn: 'Gaussian::wide(m, mean, expr("n*sigma_g1", n[1.,5.], sigma_g1))' + #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: @@ -517,7 +478,7 @@ LcpKpi: #fix_params: ['n', 'f_peak'] components: #sig: - #fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.005,.015])' + #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: @@ -537,7 +498,7 @@ LcpKpi: #fix_params: ['n', 'f_peak'] components: #sig: - #fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.005,.015])' + #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: @@ -604,8 +565,8 @@ LcpKpi: Run3analysis_barrel: proc_type: Dhadrons_mult - useperiod: [1,1] - plotbin: [1,1,1,1,1] + useperiod: [1, 1] + plotbin: [1, 1, 1, 1, 1] usesinglebineff: null fprompt_from_mb: true corrEffMult: [false, false, false, false, false, false, false] @@ -627,9 +588,9 @@ LcpKpi: - "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] + 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: null #evtsel: "abs(fPosZ)<10" @@ -656,14 +617,14 @@ LcpKpi: 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: [3,3,5,5,6,9] # number of mass bins to merge + n_rebin: [3, 3, 5, 5, 6, 9] # number of mass bins to merge pdf_names: pdf_sig: "sig" pdf_bkg: "bkg" param_names: mass: "m" - gauss_mean: "mean" + gauss_mean: "mean" gauss_sigma: "sigma_g1" double_gauss_sigma: "sigma_wide" fraction_refl: "frac_refl" @@ -677,9 +638,9 @@ LcpKpi: 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))' + #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: 'SUM::sig(f_peak[0.,1.]*peak, wide)' bkg: fn: 'Exponential::mcbkg(m, mcalpha[0.])' model: @@ -733,13 +694,13 @@ LcpKpi: 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 + 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 \ No newline at end of file + fixedsigma: true #Fix sigma cutvar histo to central fit diff --git a/machine_learning_hep/data/data_run3/database_variations_D0Jet_pp_jet_obs.yml b/machine_learning_hep/data/data_run3/database_variations_D0Jet_pp_jet_obs.yml index a8c18f40b7..cef6caf9c6 100644 --- a/machine_learning_hep/data/data_run3/database_variations_D0Jet_pp_jet_obs.yml +++ b/machine_learning_hep/data/data_run3/database_variations_D0Jet_pp_jet_obs.yml @@ -12,1001 +12,1001 @@ # along with this program. if not, see . # categories: - default: - activate: no - processor: false - label: "default" - correlation: "corr" - rms: true - symmetrise: true - rms_both_sides: true - variations: - default: - activate: [yes] - label: ["default"] - diffs: {} - fitting: - activate: yes - processor: false - label: "fitting" - group: "signal extraction" - correlation: "corr" - rms: true - symmetrise: true - rms_both_sides: true - variations: - bkgfunc: - activate: [no] - label: ["bkg. func."] - diffs: - analysis: - jet_obs: - mass_roofit: - - - level: mcsig - datasel: mcsig - range: [1.69, 2.04] - components: - sig: - fn: 'Gaussian::peak(m[1.,5.], mean[1.85,1.89], sigma_g1[.01,.08])' - bkg: - fn: 'Gaussian::wide(m, mean, sigma_wide[.05,1.])' - model: - fn: 'SUM::sig(frac_wide[0.,.3]*wide, peak)' - - level: mcrefl - ptrange: [1., 3.] - datasel: mcrefl - range: [1.69, 2.04] - components: - refl_l: - fn: 'Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.1])' - refl_r: - fn: 'Gaussian::refl_r(m, mean_r[1.865,2.0], sigma_r[.01,.1])' - model: - fn: 'SUM::refl(frac_l[0.1,.9]*refl_l, refl_r)' - - level: mcrefl - ptrange: [3., 4.] - datasel: mcrefl - range: [1.68, 2.06] - components: - refl_l: - fn: 'Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.2])' - refl_r: - fn: 'Gaussian::refl_r(m, mean_r[1.865,2.0], sigma_r[.01,.2])' - model: - fn: 'SUM::refl(frac_l[0.,1.]*refl_l, refl_r)' - - level: mcrefl - ptrange: [4., 5.] - datasel: mcrefl - range: [1.64, 2.08] - components: - refl_l: - fn: 'Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.2])' - refl_r: - fn: 'Gaussian::refl_r(m, mean_r[1.865,2.0], sigma_r[.01,.2])' - model: - fn: 'SUM::refl(frac_l[0.,1.]*refl_l, refl_r)' - - level: mcrefl - ptrange: [5., 6.] - datasel: mcrefl - range: [1.64, 2.10] - components: - refl_l: - fn: 'Gaussian::refl_l(m, mean_l[1.8,1.865], sigma_l[.01,.2])' - refl_r: - fn: 'Gaussian::refl_r(m, mean_r[1.865,2.0], sigma_r[.01,.2])' - model: - fn: 'SUM::refl(frac_l[0.,1.]*refl_l, refl_r)' - - level: mcrefl - ptrange: [6., 8.] - datasel: mcrefl - range: [1.60, 2.14] - components: - refl_l: - fn: 'Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.2])' - refl_r: - fn: 'Gaussian::refl_r(m, mean_r[1.865,2.1], sigma_r[.01,.2])' - model: - fn: 'SUM::refl(frac_l[0.,1.]*refl_l, refl_r)' - - level: mcrefl - ptrange: [8., 12.] - datasel: mcrefl - range: [1.52, 2.30] - components: - refl_l: - fn: 'Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.2])' - refl_r: - fn: 'Gaussian::refl_r(m, mean_r[1.865,2.1], sigma_r[.01,.2])' - model: - fn: 'SUM::refl(frac_l[0.,1.]*refl_l, refl_r)' - - level: mcrefl - ptrange: [12., 48.] - datasel: mcrefl - range: [1.40, 2.4] - components: - refl_l: - fn: 'Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.2])' - refl_r: - fn: 'Gaussian::refl_r(m, mean_r[1.865,2.1], sigma_r[.01,.2])' - model: - fn: 'SUM::refl(frac_l[0.,1.]*refl_l, refl_r)' - - level: mc - ptrange: [1., 3.] - range: [1.69, 2.04] - fix_params: ['frac_l', 'mean_l', 'mean_r', 'sigma_l', 'sigma_r', 'frac_wide', 'sigma_g1', 'sigma_wide'] - components: - model: - fn: 'SUM::sigrefl(frac_refl[0.,1.]*refl, sig)' - - level: mc - ptrange: [3., 4.] - range: [1.68, 2.06] - fix_params: ['frac_l', 'mean_l', 'mean_r', 'sigma_l', 'sigma_r', 'frac_wide', 'sigma_g1', 'sigma_wide'] - components: - model: - fn: 'SUM::sigrefl(frac_refl[0.,1.]*refl, sig)' - - level: mc - ptrange: [4., 5.] - range: [1.64, 2.08] - fix_params: ['frac_l', 'mean_l', 'mean_r', 'sigma_l', 'sigma_r', 'frac_wide', 'sigma_g1', 'sigma_wide'] - components: - model: - fn: 'SUM::sigrefl(frac_refl[0.,1.]*refl, sig)' - - level: mc - ptrange: [5., 6.] - range: [1.64, 2.10] - fix_params: ['frac_l', 'mean_l', 'mean_r', 'sigma_l', 'sigma_r', 'frac_wide', 'sigma_g1', 'sigma_wide'] - components: - model: - fn: 'SUM::sigrefl(frac_refl[0.,1.]*refl, sig)' - - level: mc - ptrange: [6., 8.] - range: [1.60, 2.14] - fix_params: ['frac_l', 'mean_l', 'mean_r', 'sigma_l', 'sigma_r', 'frac_wide', 'sigma_g1', 'sigma_wide'] - components: - model: - fn: 'SUM::sigrefl(frac_refl[0.,1.]*refl, sig)' - - level: mc - ptrange: [8., 12.] - range: [1.52, 2.30] - fix_params: ['frac_l', 'mean_l', 'mean_r', 'sigma_l', 'sigma_r', 'frac_wide', 'sigma_g1', 'sigma_wide'] - components: - model: - fn: 'SUM::sigrefl(frac_refl[0.,1.]*refl, sig)' - - level: mc - ptrange: [12., 48.] - range: [1.40, 2.40] - fix_params: ['frac_l', 'mean_l', 'mean_r', 'sigma_l', 'sigma_r', 'frac_wide', 'sigma_g1', 'sigma_wide'] - components: - model: - fn: 'SUM::sigrefl(frac_refl[0.,1.]*refl, sig)' - - ptrange: [1., 2.] - per_ptjet: true - range: [1.72, 2.02] - fix_params: ['frac_refl'] - free_params: ['sigma_g1'] - fix_params_ptjet: ['mean', 'sigma_g1'] - components: - bkg: - fn: 'Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})' # variation - model: - fn: 'SUM::sum(frac[0.,1.]*sigrefl, bkg)' - - ptrange: [2., 3.] - per_ptjet: true - fix_params: ['frac_refl'] - free_params: ['sigma_g1'] - fix_params_ptjet: ['mean', 'sigma_g1'] - range: [1.72, 2.04] - components: - bkg: - fn: 'Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})' # variation - model: - fn: 'SUM::sum(frac[0.,1.]*sigrefl, bkg)' - - ptrange: [3., 4.] - per_ptjet: true - fix_params: ['frac_refl'] - free_params: ['sigma_g1'] - fix_params_ptjet: ['mean', 'sigma_g1'] - range: [1.72, 2.06] - components: - bkg: - fn: 'Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})' # variation - model: - fn: 'SUM::sum(frac[0.,1.]*sigrefl, bkg)' - - ptrange: [4., 5.] - per_ptjet: true - fix_params: ['frac_refl'] - free_params: ['sigma_g1'] - fix_params_ptjet: ['mean', 'sigma_g1'] - range: [1.72, 2.08] - components: - bkg: - fn: 'Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})' # variation - model: - fn: 'SUM::sum(frac[0.,1.]*sigrefl, bkg)' - - ptrange: [5., 6.] - per_ptjet: true - fix_params: ['frac_refl'] - free_params: ['sigma_g1'] - fix_params_ptjet: ['mean', 'sigma_g1'] - range: [1.72, 2.10] - components: - bkg: - fn: 'Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})' # variation - model: - fn: 'SUM::sum(frac[0.,1.]*sigrefl, bkg)' - - ptrange: [6., 8.] - per_ptjet: true - fix_params: ['frac_refl'] - free_params: ['sigma_g1'] - fix_params_ptjet: ['mean', 'sigma_g1'] - range: [1.72, 2.14] - components: - bkg: - fn: 'Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})' # variation - model: - fn: 'SUM::sum(frac[0.,1.]*sigrefl, bkg)' - - range: [1.72, 2.20] - per_ptjet: true - fix_params: ['frac_refl'] - free_params: ['sigma_g1'] - fix_params_ptjet: ['mean', 'sigma_g1'] - components: - bkg: - fn: 'Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})' # variation - model: - fn: 'SUM::sum(frac[0.,1.]*sigrefl, bkg)' - sigfunc: # TODO: mass_roofit - activate: [no] - label: ["sig. func."] - diffs: - analysis: - jet_obs: - todo: [0] - massmin: - activate: [no] - label: - - "#it{m} min. 1.75" - diffs: - analysis: - jet_obs: - mass_roofit: - - - level: mcsig - datasel: mcsig - range: [1.69, 2.04] - components: - sig: - fn: 'Gaussian::peak(m[1.,5.], mean[1.85,1.89], sigma_g1[.01,.08])' - bkg: - fn: 'Gaussian::wide(m, mean, sigma_wide[.05,1.])' - model: - fn: 'SUM::sig(frac_wide[0.,.3]*wide, peak)' - - level: mcrefl - ptrange: [1., 3.] - datasel: mcrefl - range: [1.69, 2.04] - components: - refl_l: - fn: 'Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.1])' - refl_r: - fn: 'Gaussian::refl_r(m, mean_r[1.865,2.0], sigma_r[.01,.1])' - model: - fn: 'SUM::refl(frac_l[0.1,.9]*refl_l, refl_r)' - - level: mcrefl - ptrange: [3., 4.] - datasel: mcrefl - range: [1.68, 2.06] - components: - refl_l: - fn: 'Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.2])' - refl_r: - fn: 'Gaussian::refl_r(m, mean_r[1.865,2.0], sigma_r[.01,.2])' - model: - fn: 'SUM::refl(frac_l[0.,1.]*refl_l, refl_r)' - - level: mcrefl - ptrange: [4., 5.] - datasel: mcrefl - range: [1.64, 2.08] - components: - refl_l: - fn: 'Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.2])' - refl_r: - fn: 'Gaussian::refl_r(m, mean_r[1.865,2.0], sigma_r[.01,.2])' - model: - fn: 'SUM::refl(frac_l[0.,1.]*refl_l, refl_r)' - - level: mcrefl - ptrange: [5., 6.] - datasel: mcrefl - range: [1.64, 2.10] - components: - refl_l: - fn: 'Gaussian::refl_l(m, mean_l[1.8,1.865], sigma_l[.01,.2])' - refl_r: - fn: 'Gaussian::refl_r(m, mean_r[1.865,2.0], sigma_r[.01,.2])' - model: - fn: 'SUM::refl(frac_l[0.,1.]*refl_l, refl_r)' - - level: mcrefl - ptrange: [6., 8.] - datasel: mcrefl - range: [1.60, 2.14] - components: - refl_l: - fn: 'Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.2])' - refl_r: - fn: 'Gaussian::refl_r(m, mean_r[1.865,2.1], sigma_r[.01,.2])' - model: - fn: 'SUM::refl(frac_l[0.,1.]*refl_l, refl_r)' - - level: mcrefl - ptrange: [8., 12.] - datasel: mcrefl - range: [1.52, 2.30] - components: - refl_l: - fn: 'Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.2])' - refl_r: - fn: 'Gaussian::refl_r(m, mean_r[1.865,2.1], sigma_r[.01,.2])' - model: - fn: 'SUM::refl(frac_l[0.,1.]*refl_l, refl_r)' - - level: mcrefl - ptrange: [12., 48.] - datasel: mcrefl - range: [1.40, 2.4] - components: - refl_l: - fn: 'Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.2])' - refl_r: - fn: 'Gaussian::refl_r(m, mean_r[1.865,2.1], sigma_r[.01,.2])' - model: - fn: 'SUM::refl(frac_l[0.,1.]*refl_l, refl_r)' - - level: mc - ptrange: [1., 3.] - range: [1.69, 2.04] - fix_params: ['frac_l', 'mean_l', 'mean_r', 'sigma_l', 'sigma_r', 'frac_wide', 'sigma_g1', 'sigma_wide'] - components: - model: - fn: 'SUM::sigrefl(frac_refl[0.,1.]*refl, sig)' - - level: mc - ptrange: [3., 4.] - range: [1.68, 2.06] - fix_params: ['frac_l', 'mean_l', 'mean_r', 'sigma_l', 'sigma_r', 'frac_wide', 'sigma_g1', 'sigma_wide'] - components: - model: - fn: 'SUM::sigrefl(frac_refl[0.,1.]*refl, sig)' - - level: mc - ptrange: [4., 5.] - range: [1.64, 2.08] - fix_params: ['frac_l', 'mean_l', 'mean_r', 'sigma_l', 'sigma_r', 'frac_wide', 'sigma_g1', 'sigma_wide'] - components: - model: - fn: 'SUM::sigrefl(frac_refl[0.,1.]*refl, sig)' - - level: mc - ptrange: [5., 6.] - range: [1.64, 2.10] - fix_params: ['frac_l', 'mean_l', 'mean_r', 'sigma_l', 'sigma_r', 'frac_wide', 'sigma_g1', 'sigma_wide'] - components: - model: - fn: 'SUM::sigrefl(frac_refl[0.,1.]*refl, sig)' - - level: mc - ptrange: [6., 8.] - range: [1.60, 2.14] - fix_params: ['frac_l', 'mean_l', 'mean_r', 'sigma_l', 'sigma_r', 'frac_wide', 'sigma_g1', 'sigma_wide'] - components: - model: - fn: 'SUM::sigrefl(frac_refl[0.,1.]*refl, sig)' - - level: mc - ptrange: [8., 12.] - range: [1.52, 2.30] - fix_params: ['frac_l', 'mean_l', 'mean_r', 'sigma_l', 'sigma_r', 'frac_wide', 'sigma_g1', 'sigma_wide'] - components: - model: - fn: 'SUM::sigrefl(frac_refl[0.,1.]*refl, sig)' - - level: mc - ptrange: [12., 48.] - range: [1.40, 2.40] - fix_params: ['frac_l', 'mean_l', 'mean_r', 'sigma_l', 'sigma_r', 'frac_wide', 'sigma_g1', 'sigma_wide'] - components: - model: - fn: 'SUM::sigrefl(frac_refl[0.,1.]*refl, sig)' - - ptrange: [1., 2.] - per_ptjet: true - range: [1.75, 2.02] # variation - fix_params: ['frac_refl'] - free_params: ['sigma_g1'] - fix_params_ptjet: ['mean', 'sigma_g1'] - components: - bkg: - fn: 'Exponential::bkg(m, alpha[-100,0])' - model: - fn: 'SUM::sum(frac[0.,1.]*sigrefl, bkg)' - - ptrange: [2., 3.] - per_ptjet: true - fix_params: ['frac_refl'] - free_params: ['sigma_g1'] - fix_params_ptjet: ['mean', 'sigma_g1'] - range: [1.75, 2.04] # variation - components: - bkg: - fn: 'Exponential::bkg(m, alpha[-100,0])' - model: - fn: 'SUM::sum(frac[0.,1.]*sigrefl, bkg)' - - ptrange: [3., 4.] - per_ptjet: true - fix_params: ['frac_refl'] - free_params: ['sigma_g1'] - fix_params_ptjet: ['mean', 'sigma_g1'] - range: [1.75, 2.06] # variation - components: - bkg: - fn: 'Exponential::bkg(m, alpha[-100,0])' - model: - fn: 'SUM::sum(frac[0.,1.]*sigrefl, bkg)' - - ptrange: [4., 5.] - per_ptjet: true - fix_params: ['frac_refl'] - free_params: ['sigma_g1'] - fix_params_ptjet: ['mean', 'sigma_g1'] - range: [1.75, 2.08] # variation - components: - bkg: - fn: 'Exponential::bkg(m, alpha[-100,0])' - model: - fn: 'SUM::sum(frac[0.,1.]*sigrefl, bkg)' - - ptrange: [5., 6.] - per_ptjet: true - fix_params: ['frac_refl'] - free_params: ['sigma_g1'] - fix_params_ptjet: ['mean', 'sigma_g1'] - range: [1.75, 2.10] # variation - components: - bkg: - fn: 'Exponential::bkg(m, alpha[-100,0])' - model: - fn: 'SUM::sum(frac[0.,1.]*sigrefl, bkg)' - - ptrange: [6., 8.] - per_ptjet: true - fix_params: ['frac_refl'] - free_params: ['sigma_g1'] - fix_params_ptjet: ['mean', 'sigma_g1'] - range: [1.75, 2.14] # variation - components: - bkg: - fn: 'Exponential::bkg(m, alpha[-100,0])' - model: - fn: 'SUM::sum(frac[0.,1.]*sigrefl, bkg)' - - range: [1.75, 2.20] # variation - per_ptjet: true - fix_params: ['frac_refl'] - free_params: ['sigma_g1'] - fix_params_ptjet: ['mean', 'sigma_g1'] - components: - bkg: - fn: 'Exponential::bkg(m, alpha[-100,0])' - model: - fn: 'SUM::sum(frac[0.,1.]*sigrefl, bkg)' - sidesub: - - - level: mc - regions: - left: [-2., -2.] - signal: [-2., 2.] - right: [3., 3.] - - ptrange: [10., 100.] - regions: - left: [-2., -2.] - signal: [-1.5, 1.5] # variation - right: [3., 5.] - - regions: - left: [-5.5, -3.] - signal: [-1.5, 1.5] # variation - right: [3., 5.5] - rebin: - activate: [yes, yes, yes, yes] - label: ["rebin 1", "rebin 2", "rebin 4", "rebin 5"] - diffs: - analysis: - jet_obs: - n_rebin: [1, 2, 4, 5] - reflections: - activate: [no] - label: ["w/o refl."] - diffs: - analysis: - jet_obs: - corr_refl: [false] - sideband: - activate: yes - processor: false - label: "sideband sub." - group: "signal extraction" - correlation: "corr" - rms: true - symmetrise: true - rms_both_sides: true - variations: - sigma: - activate: [no, yes, yes, yes, yes, yes, yes, yes, yes, yes] - label: - - "S 1.5#it{#sigma}" - - "S 1.6#it{#sigma}" - - "S 1.7#it{#sigma}" - - "S 1.8#it{#sigma}" - - "S 1.9#it{#sigma}" - - "S 2.1#it{#sigma}" - - "S 2.2#it{#sigma}" - - "S 2.3#it{#sigma}" - - "S 2.4#it{#sigma}" - - "S 2.5#it{#sigma}" - diffs: - analysis: - jet_obs: - sidesub: - - - level: mc - regions: - left: [-2., -2.] - signal: [-2., 2.] - right: [3., 3.] - - ptrange: [16., 100.] - regions: - left: [-2., -2.] - signal: [-1.5, 1.5] # variation - right: [3., 5.] - - regions: - left: [-5.5, -3.] - signal: [-1.5, 1.5] # variation - right: [3., 5.5] - - - level: mc - regions: - left: [-2., -2.] - signal: [-2., 2.] - right: [3., 3.] - - ptrange: [16., 100.] - regions: - left: [-2., -2.] - signal: [-1.6, 1.6] # variation - right: [3., 5.] - - regions: - left: [-5.5, -3.] - signal: [-1.6, 1.6] # variation - right: [3., 5.5] - - - level: mc - regions: - left: [-2., -2.] - signal: [-2., 2.] - right: [3., 3.] - - ptrange: [16., 100.] - regions: - left: [-2., -2.] - signal: [-1.7, 1.7] # variation - right: [3., 5.] - - regions: - left: [-5.5, -3.] - signal: [-1.7, 1.7] # variation - right: [3., 5.5] - - - level: mc - regions: - left: [-2., -2.] - signal: [-2., 2.] - right: [3., 3.] - - ptrange: [16., 100.] - regions: - left: [-2., -2.] - signal: [-1.8, 1.8] # variation - right: [3., 5.] - - regions: - left: [-5.5, -3.] - signal: [-1.8, 1.8] # variation - right: [3., 5.5] - - - level: mc - regions: - left: [-2., -2.] - signal: [-2., 2.] - right: [3., 3.] - - ptrange: [16., 100.] - regions: - left: [-2., -2.] - signal: [-1.9, 1.9] # variation - right: [3., 5.] - - regions: - left: [-5.5, -3.] - signal: [-1.9, 1.9] # variation - right: [3., 5.5] - - - level: mc - regions: - left: [-2., -2.] - signal: [-2., 2.] - right: [3., 3.] - - ptrange: [16., 100.] - regions: - left: [-2., -2.] - signal: [-2.1, 2.1] # variation - right: [3., 5.] - - regions: - left: [-5.5, -3.] - signal: [-2.1, 2.1] # variation - right: [3., 5.5] - - - level: mc - regions: - left: [-2., -2.] - signal: [-2., 2.] - right: [3., 3.] - - ptrange: [16., 100.] - regions: - left: [-2., -2.] - signal: [-2.2, 2.2] # variation - right: [3., 5.] - - regions: - left: [-5.5, -3.] - signal: [-2.2, 2.2] # variation - right: [3., 5.5] - - - level: mc - regions: - left: [-2., -2.] - signal: [-2., 2.] - right: [3., 3.] - - ptrange: [16., 100.] - regions: - left: [-2., -2.] - signal: [-2.3, 2.3] # variation - right: [3., 5.] - - regions: - left: [-5.5, -3.] - signal: [-2.3, 2.3] # variation - right: [3., 5.5] - - - level: mc - regions: - left: [-2., -2.] - signal: [-2., 2.] - right: [3., 3.] - - ptrange: [16., 100.] - regions: - left: [-2., -2.] - signal: [-2.4, 2.4] # variation - right: [3., 5.] - - regions: - left: [-5.5, -3.] - signal: [-2.4, 2.4] # variation - right: [3., 5.5] - - - level: mc - regions: - left: [-2., -2.] - signal: [-2., 2.] - right: [3., 3.] - - ptrange: [16., 100.] - regions: - left: [-2., -2.] - signal: [-2.5, 2.5] # variation - right: [3., 5.] - - regions: - left: [-5.5, -3.] - signal: [-2.5, 2.5] # variation - right: [3., 5.5] - ranges: - activate: [yes, yes, yes, yes, no, no, no, no] - label: - - "SB 3#minus6#it{#sigma}" - - "SB 3#minus5#it{#sigma}" - - "SB 3#minus6#it{#sigma} left" - - "SB 3.5#minus6#it{#sigma} left" - - "SB 4#minus6#it{#sigma} left" - - "SB 3#minus6#it{#sigma} right" - - "SB 3.5#minus6#it{#sigma} right" - - "SB 4#minus6#it{#sigma} right" - diffs: - analysis: - jet_obs: - sidesub: - - - level: mc # 3-6 - regions: - left: [-2., -2.] - signal: [-2., 2.] - right: [3., 3.] - - ptrange: [16., 100.] - regions: - left: [-2., -2.] - signal: [-2., 2.] - right: [3., 5.5] # variation - - regions: - left: [-6., -3.] # variation - signal: [-2., 2.] - right: [3., 6.] # variation - - - level: mc # 3-5 - regions: - left: [-2., -2.] - signal: [-2., 2.] - right: [3., 3.] - - ptrange: [16., 100.] - regions: - left: [-2., -2.] - signal: [-2., 2.] - right: [3., 4.5] # variation - - regions: - left: [-5., -3.] # variation - signal: [-2., 2.] - right: [3., 5.] # variation - - - level: mc # 3-6 left - regions: - left: [-2., -2.] - signal: [-2., 2.] - right: [3., 3.] - - ptrange: [16., 100.] - regions: - left: [-2., -2.] - signal: [-2., 2.] - right: [3., 5.] - - regions: - left: [-6., -3.] # variation - signal: [-2., 2.] - right: [3., 5.5] - - - level: mc # 3.5-6 left - regions: - left: [-2., -2.] - signal: [-2., 2.] - right: [3., 3.] - - ptrange: [16., 100.] - regions: - left: [-2., -2.] - signal: [-2., 2.] - right: [3., 5.] - - regions: - left: [-6., -3.5] # variation - signal: [-2., 2.] - right: [3., 5.5] - - - level: mc # 4-6 left - regions: - left: [-2., -2.] - signal: [-2., 2.] - right: [3., 3.] - - ptrange: [16., 100.] - regions: - left: [-2., -2.] - signal: [-2., 2.] - right: [3., 5.] - - regions: - left: [-6., -4.0] # variation - signal: [-2., 2.] - right: [3., 5.5] - - - level: mc # 3-6 right - regions: - left: [-2., -2.] - signal: [-2., 2.] - right: [3., 3.] - - ptrange: [16., 100.] - regions: - left: [-2., -2.] - signal: [-2., 2.] - right: [3., 5.5] # variation - - regions: - left: [-5.5., -3.0] - signal: [-2., 2.] - right: [3., 6.] # variation - - - level: mc # 3.5-6 right - regions: - left: [-2., -2.] - signal: [-2., 2.] - right: [3., 3.] - - ptrange: [16., 100.] - regions: - left: [-2., -2.] - signal: [-2., 2.] - right: [3.5, 5.5] # variation - - regions: - left: [-5.5., -3.0] - signal: [-2., 2.] - right: [3.5, 6.] # variation - - - level: mc # 4-6 right - regions: - left: [-2., -2.] - signal: [-2., 2.] - right: [3., 3.] - - ptrange: [16., 100.] - regions: - left: [-2., -2.] - signal: [-2., 2.] - right: [4., 5.5] # variation - - regions: - left: [-5.5., -3.0] - signal: [-2., 2.] - right: [4., 6.] # variation - sb_left: # not for D0 - activate: [no] - label: ["left sb only"] - diffs: - analysis: - jet_obs: - sidebandleftonly: [true] - feeddown: - activate: yes - processor: false - label: "feed-down" - correlation: "corr" - rms: false - symmetrise: false - rms_both_sides: false - variations: - tune: - activate: [yes, yes, yes, yes, yes, yes, yes, yes, yes] - label: - - "#it{f}_{F} = 1, #it{f}_{R} = 0.5" - - "#it{f}_{F} = 0.5, #it{f}_{R} = 1" - - "#it{f}_{F} = 2, #it{f}_{R} = 1" - - "#it{f}_{F} = 1, #it{f}_{R} = 2" - - "#it{f}_{F} = 2, #it{f}_{R} = 2" - - "#it{f}_{F} = 0.5, #it{f}_{R} = 0.5" - - "#it{m}_{b} high" - - "#it{m}_{b} low" - - "no EvtGen" - diffs: - analysis: - jet_obs: - fd_root: - - /data2/vkucera/powheg/trees_powheg_fd_F1_R05.root - - /data2/vkucera/powheg/trees_powheg_fd_F05_R1.root - - /data2/vkucera/powheg/trees_powheg_fd_F2_R1.root - - /data2/vkucera/powheg/trees_powheg_fd_F1_R2.root - - /data2/vkucera/powheg/trees_powheg_fd_F2_R2.root - - /data2/vkucera/powheg/trees_powheg_fd_F05_R05.root - - /data2/vkucera/powheg/trees_powheg_fd_Mhigh.root - - /data2/vkucera/powheg/trees_powheg_fd_Mlow.root - - /data2/vkucera/powheg/trees_powheg_fd_NoEvtGen.root - fd_parquet: - - /data2/jklein/powheg/trees_powheg_fd_F1_R05.parquet - - /data2/jklein/powheg/trees_powheg_fd_F05_R1.parquet - - /data2/jklein/powheg/trees_powheg_fd_F2_R1.parquet - - /data2/jklein/powheg/trees_powheg_fd_F1_R2.parquet - - /data2/jklein/powheg/trees_powheg_fd_F2_R2.parquet - - /data2/jklein/powheg/trees_powheg_fd_F05_R05.parquet - - /data2/jklein/powheg/trees_powheg_fd_Mhigh.parquet - - /data2/jklein/powheg/trees_powheg_fd_Mlow.parquet - - /data2/jklein/powheg/trees_powheg_fd_NoEvtGen.parquet - prior: - activate: yes - processor: true - label: "prior" - group: "unfolding" - correlation: "corr" - rms: true - symmetrise: true - rms_both_sides: true - variations: - flatness: - activate: [yes, yes, yes, yes, yes, yes, yes, yes, yes, no] - label: ["flat 0.1", "flat 0.2", "flat 0.3", "flat 0.4", "flat 0.5", "flat 0.6", "flat 0.7", "flat 0.8", "flat 0.9", "flat 1.0"] - diffs: - analysis: - jet_obs: - unfolding_prior_flatness: [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0] - unfolding_iterations_sel: [5, 5, 6, 6, 7, 7, 7, 7, 8, 8] - modeldep: # TODO - activate: no - processor: true - label: "model dep." - group: "unfolding" - correlation: "corr" - rms: true - symmetrise: true - rms_both_sides: true - variations: - inclusive: - activate: [yes] - label: ["inclusive"] - diffs: - analysis: - jet_nsd: - domodeldep: [true] - regularisation: - activate: yes - processor: false - label: "regularisation" - group: "unfolding" - correlation: "corr" - rms: true - symmetrise: true - rms_both_sides: true - variations: - iter: - activate: [yes, yes] - label: ["down (4)", "up (7)"] - diffs: - analysis: - jet_obs: - unfolding_iterations_sel: [4, 7] - normalisation: - activate: yes - processor: false - label: "#it{#sigma}_{MB}" - correlation: "corr" - rms: true - symmetrise: true - rms_both_sides: true - variations: - crosssection: - activate: [yes, yes] - label: ["#it{#sigma}_{MB} down", "#it{#sigma}_{MB} up"] - diffs: - analysis: - jet_obs: - xsection_inel: [53.46, 65.34] - tracking: - activate: yes - processor: true - label: "JES" - correlation: "corr" - rms: true - symmetrise: true - rms_both_sides: true - variations: - efficiency: - activate: [yes] - label: ["eff. down"] - diffs: - multi: - mc: - prefix_dir: [/data2/MLhep/sim/train_259454/] - binning: - activate: yes - processor: true - label: "binning" - group: "unfolding" - correlation: "corr" - rms: true - symmetrise: true - rms_both_sides: true - variations: - # pt_cand: # TODO - pt_jet: - activate: [yes, yes] - label: - - "#it{p}_{T}^{jet} 5#rightarrow4" - - "#it{p}_{T}^{jet} 50#rightarrow55" - diffs: - analysis: - jet_obs: - bins_ptjet: [[4, 7, 15, 30, 50, 70], [5, 7, 15, 30, 50, 75]] - bins_ptjet_eff: [[2, 4, 7, 15, 30, 50, 70, 90], [2, 5, 7, 15, 30, 50, 75, 90]] - observable: - activate: [no] - label: - - "obs. 1" - diffs: - analysis: - jet_obs: - observables: - zg: - bins_det_fix: [[12, -.1, .5]] - nsd: - bins_det_fix: [[11, -.5, 10.5]] - rg: - bins_det_fix: [[22, -.1, 1.]] - zpar: - bins_det_fix: [[20, 0., 1.]] - cand_sel: - activate: yes - processor: true - label: "BDT cut" - correlation: "corr" - rms: true - symmetrise: true - rms_both_sides: true - variations: - ml: - activate: [no, no, no, yes, yes, yes, yes, yes, no, yes, yes, yes, yes] - label: - # default: working point (for tests, should be same as the default result) - # null: no cuts (for tests, whatever was applied on Hyperloop) - # loosest: same cuts as Hyperloop (for tests, should be same as null) - ["default", "null", "loosest", "tight 5", "tight 4", "tight 3", "tight 2", "tight 1", "loose 1", "loose 2", "loose 3", "loose 4", "loose 5"] - diffs: - analysis: - jet_obs: - use_cuts: [True, True, True, True, True, True, True, True, True, True, True, True, True] - cuts: - - ["mlBkgScore < 0.02", "mlBkgScore < 0.02", "mlBkgScore < 0.02", "mlBkgScore < 0.05", "mlBkgScore < 0.06", "mlBkgScore < 0.08", "mlBkgScore < 0.08", "mlBkgScore < 0.10", "mlBkgScore < 0.10", "mlBkgScore < 0.20", "mlBkgScore < 0.25", "mlBkgScore < 0.30"] # default - - [null,null,null,null,null,null,null,null,null,null,null,null] - - ["mlBkgScore < 0.30", "mlBkgScore < 0.35", "mlBkgScore < 0.40", "mlBkgScore < 0.40", "mlBkgScore < 0.40", "mlBkgScore < 0.4", "mlBkgScore < 0.4", "mlBkgScore < 0.5", "mlBkgScore < 0.5", "mlBkgScore < 0.5", "mlBkgScore < 0.5", "mlBkgScore < 0.5"] # loosest - - ["mlBkgScore < 0.008", "mlBkgScore < 0.008", "mlBkgScore < 0.0087", "mlBkgScore < 0.017", "mlBkgScore < 0.024", "mlBkgScore < 0.031", "mlBkgScore < 0.028", "mlBkgScore < 0.042", "mlBkgScore < 0.038", "mlBkgScore < 0.052", "mlBkgScore < 0.067", "mlBkgScore < 0.06"] # tight 5 - - ["mlBkgScore < 0.0104", "mlBkgScore < 0.0104", "mlBkgScore < 0.01096", "mlBkgScore < 0.0236", "mlBkgScore < 0.0312", "mlBkgScore < 0.0408", "mlBkgScore < 0.0384", "mlBkgScore < 0.0536", "mlBkgScore < 0.0504", "mlBkgScore < 0.0816", "mlBkgScore < 0.1036", "mlBkgScore < 0.108"] # tight 4 - - ["mlBkgScore < 0.0128", "mlBkgScore < 0.0128", "mlBkgScore < 0.01322", "mlBkgScore < 0.0302", "mlBkgScore < 0.0384", "mlBkgScore < 0.0506", "mlBkgScore < 0.0488", "mlBkgScore < 0.0652", "mlBkgScore < 0.0628", "mlBkgScore < 0.1112", "mlBkgScore < 0.1402", "mlBkgScore < 0.156"] # tight 3 - - ["mlBkgScore < 0.0152", "mlBkgScore < 0.0152", "mlBkgScore < 0.01548", "mlBkgScore < 0.0368", "mlBkgScore < 0.0456", "mlBkgScore < 0.0604", "mlBkgScore < 0.0592", "mlBkgScore < 0.0768", "mlBkgScore < 0.0752", "mlBkgScore < 0.1408", "mlBkgScore < 0.1768", "mlBkgScore < 0.204"] # tight 2 - - ["mlBkgScore < 0.0176", "mlBkgScore < 0.0176", "mlBkgScore < 0.01774", "mlBkgScore < 0.0434", "mlBkgScore < 0.0528", "mlBkgScore < 0.0702", "mlBkgScore < 0.0696", "mlBkgScore < 0.0884", "mlBkgScore < 0.0876", "mlBkgScore < 0.1704", "mlBkgScore < 0.2134", "mlBkgScore < 0.252"] # tight 1 - - ["mlBkgScore < 0.025", "mlBkgScore < 0.0266", "mlBkgScore < 0.0268", "mlBkgScore < 0.078", "mlBkgScore < 0.092", "mlBkgScore < 0.13", "mlBkgScore < 0.156", "mlBkgScore < 0.156", "mlBkgScore < 0.18", "mlBkgScore < 0.26", "mlBkgScore < 0.3", "mlBkgScore < 0.34"] # loose 1 - - ["mlBkgScore < 0.03", "mlBkgScore < 0.0332", "mlBkgScore < 0.0336", "mlBkgScore < 0.106", "mlBkgScore < 0.124", "mlBkgScore < 0.18", "mlBkgScore < 0.232", "mlBkgScore < 0.212", "mlBkgScore < 0.26", "mlBkgScore < 0.32", "mlBkgScore < 0.35", "mlBkgScore < 0.38"] # loose 2 - - ["mlBkgScore < 0.035", "mlBkgScore < 0.0398", "mlBkgScore < 0.0404", "mlBkgScore < 0.134", "mlBkgScore < 0.156", "mlBkgScore < 0.23", "mlBkgScore < 0.308", "mlBkgScore < 0.268", "mlBkgScore < 0.34", "mlBkgScore < 0.38", "mlBkgScore < 0.4", "mlBkgScore < 0.42"] # loose 3 - - ["mlBkgScore < 0.04", "mlBkgScore < 0.0464", "mlBkgScore < 0.0472", "mlBkgScore < 0.162", "mlBkgScore < 0.188", "mlBkgScore < 0.28", "mlBkgScore < 0.384", "mlBkgScore < 0.324", "mlBkgScore < 0.42", "mlBkgScore < 0.44", "mlBkgScore < 0.45", "mlBkgScore < 0.46"] # loose 4 - - ["mlBkgScore < 0.045", "mlBkgScore < 0.053", "mlBkgScore < 0.054", "mlBkgScore < 0.19", "mlBkgScore < 0.22", "mlBkgScore < 0.33", "mlBkgScore < 0.46", "mlBkgScore < 0.38", "mlBkgScore < 0.5", "mlBkgScore < 0.5", "mlBkgScore < 0.5", "mlBkgScore < 0.5"] # loose 5 + default: + activate: no + processor: false + label: "default" + correlation: "corr" + rms: true + symmetrise: true + rms_both_sides: true + variations: + default: + activate: [yes] + label: ["default"] + diffs: {} + fitting: + activate: yes + processor: false + label: "fitting" + group: "signal extraction" + correlation: "corr" + rms: true + symmetrise: true + rms_both_sides: true + variations: + bkgfunc: + activate: [no] + label: ["bkg. func."] + diffs: + analysis: + jet_obs: + mass_roofit: + - - level: mcsig + datasel: mcsig + range: [1.69, 2.04] + components: + sig: + fn: 'Gaussian::peak(m[1.,5.], mean[1.85,1.89], sigma_g1[.01,.08])' + bkg: + fn: 'Gaussian::wide(m, mean, sigma_wide[.05,1.])' + model: + fn: 'SUM::sig(frac_wide[0.,.3]*wide, peak)' + - level: mcrefl + ptrange: [1., 3.] + datasel: mcrefl + range: [1.69, 2.04] + components: + refl_l: + fn: 'Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.1])' + refl_r: + fn: 'Gaussian::refl_r(m, mean_r[1.865,2.0], sigma_r[.01,.1])' + model: + fn: 'SUM::refl(frac_l[0.1,.9]*refl_l, refl_r)' + - level: mcrefl + ptrange: [3., 4.] + datasel: mcrefl + range: [1.68, 2.06] + components: + refl_l: + fn: 'Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.2])' + refl_r: + fn: 'Gaussian::refl_r(m, mean_r[1.865,2.0], sigma_r[.01,.2])' + model: + fn: 'SUM::refl(frac_l[0.,1.]*refl_l, refl_r)' + - level: mcrefl + ptrange: [4., 5.] + datasel: mcrefl + range: [1.64, 2.08] + components: + refl_l: + fn: 'Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.2])' + refl_r: + fn: 'Gaussian::refl_r(m, mean_r[1.865,2.0], sigma_r[.01,.2])' + model: + fn: 'SUM::refl(frac_l[0.,1.]*refl_l, refl_r)' + - level: mcrefl + ptrange: [5., 6.] + datasel: mcrefl + range: [1.64, 2.10] + components: + refl_l: + fn: 'Gaussian::refl_l(m, mean_l[1.8,1.865], sigma_l[.01,.2])' + refl_r: + fn: 'Gaussian::refl_r(m, mean_r[1.865,2.0], sigma_r[.01,.2])' + model: + fn: 'SUM::refl(frac_l[0.,1.]*refl_l, refl_r)' + - level: mcrefl + ptrange: [6., 8.] + datasel: mcrefl + range: [1.60, 2.14] + components: + refl_l: + fn: 'Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.2])' + refl_r: + fn: 'Gaussian::refl_r(m, mean_r[1.865,2.1], sigma_r[.01,.2])' + model: + fn: 'SUM::refl(frac_l[0.,1.]*refl_l, refl_r)' + - level: mcrefl + ptrange: [8., 12.] + datasel: mcrefl + range: [1.52, 2.30] + components: + refl_l: + fn: 'Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.2])' + refl_r: + fn: 'Gaussian::refl_r(m, mean_r[1.865,2.1], sigma_r[.01,.2])' + model: + fn: 'SUM::refl(frac_l[0.,1.]*refl_l, refl_r)' + - level: mcrefl + ptrange: [12., 48.] + datasel: mcrefl + range: [1.40, 2.4] + components: + refl_l: + fn: 'Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.2])' + refl_r: + fn: 'Gaussian::refl_r(m, mean_r[1.865,2.1], sigma_r[.01,.2])' + model: + fn: 'SUM::refl(frac_l[0.,1.]*refl_l, refl_r)' + - level: mc + ptrange: [1., 3.] + range: [1.69, 2.04] + fix_params: ['frac_l', 'mean_l', 'mean_r', 'sigma_l', 'sigma_r', 'frac_wide', 'sigma_g1', 'sigma_wide'] + components: + model: + fn: 'SUM::sigrefl(frac_refl[0.,1.]*refl, sig)' + - level: mc + ptrange: [3., 4.] + range: [1.68, 2.06] + fix_params: ['frac_l', 'mean_l', 'mean_r', 'sigma_l', 'sigma_r', 'frac_wide', 'sigma_g1', 'sigma_wide'] + components: + model: + fn: 'SUM::sigrefl(frac_refl[0.,1.]*refl, sig)' + - level: mc + ptrange: [4., 5.] + range: [1.64, 2.08] + fix_params: ['frac_l', 'mean_l', 'mean_r', 'sigma_l', 'sigma_r', 'frac_wide', 'sigma_g1', 'sigma_wide'] + components: + model: + fn: 'SUM::sigrefl(frac_refl[0.,1.]*refl, sig)' + - level: mc + ptrange: [5., 6.] + range: [1.64, 2.10] + fix_params: ['frac_l', 'mean_l', 'mean_r', 'sigma_l', 'sigma_r', 'frac_wide', 'sigma_g1', 'sigma_wide'] + components: + model: + fn: 'SUM::sigrefl(frac_refl[0.,1.]*refl, sig)' + - level: mc + ptrange: [6., 8.] + range: [1.60, 2.14] + fix_params: ['frac_l', 'mean_l', 'mean_r', 'sigma_l', 'sigma_r', 'frac_wide', 'sigma_g1', 'sigma_wide'] + components: + model: + fn: 'SUM::sigrefl(frac_refl[0.,1.]*refl, sig)' + - level: mc + ptrange: [8., 12.] + range: [1.52, 2.30] + fix_params: ['frac_l', 'mean_l', 'mean_r', 'sigma_l', 'sigma_r', 'frac_wide', 'sigma_g1', 'sigma_wide'] + components: + model: + fn: 'SUM::sigrefl(frac_refl[0.,1.]*refl, sig)' + - level: mc + ptrange: [12., 48.] + range: [1.40, 2.40] + fix_params: ['frac_l', 'mean_l', 'mean_r', 'sigma_l', 'sigma_r', 'frac_wide', 'sigma_g1', 'sigma_wide'] + components: + model: + fn: 'SUM::sigrefl(frac_refl[0.,1.]*refl, sig)' + - ptrange: [1., 2.] + per_ptjet: true + range: [1.72, 2.02] + fix_params: ['frac_refl'] + free_params: ['sigma_g1'] + fix_params_ptjet: ['mean', 'sigma_g1'] + components: + bkg: + fn: 'Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})' # variation + model: + fn: 'SUM::sum(frac[0.,1.]*sigrefl, bkg)' + - ptrange: [2., 3.] + per_ptjet: true + fix_params: ['frac_refl'] + free_params: ['sigma_g1'] + fix_params_ptjet: ['mean', 'sigma_g1'] + range: [1.72, 2.04] + components: + bkg: + fn: 'Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})' # variation + model: + fn: 'SUM::sum(frac[0.,1.]*sigrefl, bkg)' + - ptrange: [3., 4.] + per_ptjet: true + fix_params: ['frac_refl'] + free_params: ['sigma_g1'] + fix_params_ptjet: ['mean', 'sigma_g1'] + range: [1.72, 2.06] + components: + bkg: + fn: 'Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})' # variation + model: + fn: 'SUM::sum(frac[0.,1.]*sigrefl, bkg)' + - ptrange: [4., 5.] + per_ptjet: true + fix_params: ['frac_refl'] + free_params: ['sigma_g1'] + fix_params_ptjet: ['mean', 'sigma_g1'] + range: [1.72, 2.08] + components: + bkg: + fn: 'Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})' # variation + model: + fn: 'SUM::sum(frac[0.,1.]*sigrefl, bkg)' + - ptrange: [5., 6.] + per_ptjet: true + fix_params: ['frac_refl'] + free_params: ['sigma_g1'] + fix_params_ptjet: ['mean', 'sigma_g1'] + range: [1.72, 2.10] + components: + bkg: + fn: 'Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})' # variation + model: + fn: 'SUM::sum(frac[0.,1.]*sigrefl, bkg)' + - ptrange: [6., 8.] + per_ptjet: true + fix_params: ['frac_refl'] + free_params: ['sigma_g1'] + fix_params_ptjet: ['mean', 'sigma_g1'] + range: [1.72, 2.14] + components: + bkg: + fn: 'Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})' # variation + model: + fn: 'SUM::sum(frac[0.,1.]*sigrefl, bkg)' + - range: [1.72, 2.20] + per_ptjet: true + fix_params: ['frac_refl'] + free_params: ['sigma_g1'] + fix_params_ptjet: ['mean', 'sigma_g1'] + components: + bkg: + fn: 'Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})' # variation + model: + fn: 'SUM::sum(frac[0.,1.]*sigrefl, bkg)' + sigfunc: # TODO: mass_roofit + activate: [no] + label: ["sig. func."] + diffs: + analysis: + jet_obs: + todo: [0] + massmin: + activate: [no] + label: + - "#it{m} min. 1.75" + diffs: + analysis: + jet_obs: + mass_roofit: + - - level: mcsig + datasel: mcsig + range: [1.69, 2.04] + components: + sig: + fn: 'Gaussian::peak(m[1.,5.], mean[1.85,1.89], sigma_g1[.01,.08])' + bkg: + fn: 'Gaussian::wide(m, mean, sigma_wide[.05,1.])' + model: + fn: 'SUM::sig(frac_wide[0.,.3]*wide, peak)' + - level: mcrefl + ptrange: [1., 3.] + datasel: mcrefl + range: [1.69, 2.04] + components: + refl_l: + fn: 'Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.1])' + refl_r: + fn: 'Gaussian::refl_r(m, mean_r[1.865,2.0], sigma_r[.01,.1])' + model: + fn: 'SUM::refl(frac_l[0.1,.9]*refl_l, refl_r)' + - level: mcrefl + ptrange: [3., 4.] + datasel: mcrefl + range: [1.68, 2.06] + components: + refl_l: + fn: 'Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.2])' + refl_r: + fn: 'Gaussian::refl_r(m, mean_r[1.865,2.0], sigma_r[.01,.2])' + model: + fn: 'SUM::refl(frac_l[0.,1.]*refl_l, refl_r)' + - level: mcrefl + ptrange: [4., 5.] + datasel: mcrefl + range: [1.64, 2.08] + components: + refl_l: + fn: 'Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.2])' + refl_r: + fn: 'Gaussian::refl_r(m, mean_r[1.865,2.0], sigma_r[.01,.2])' + model: + fn: 'SUM::refl(frac_l[0.,1.]*refl_l, refl_r)' + - level: mcrefl + ptrange: [5., 6.] + datasel: mcrefl + range: [1.64, 2.10] + components: + refl_l: + fn: 'Gaussian::refl_l(m, mean_l[1.8,1.865], sigma_l[.01,.2])' + refl_r: + fn: 'Gaussian::refl_r(m, mean_r[1.865,2.0], sigma_r[.01,.2])' + model: + fn: 'SUM::refl(frac_l[0.,1.]*refl_l, refl_r)' + - level: mcrefl + ptrange: [6., 8.] + datasel: mcrefl + range: [1.60, 2.14] + components: + refl_l: + fn: 'Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.2])' + refl_r: + fn: 'Gaussian::refl_r(m, mean_r[1.865,2.1], sigma_r[.01,.2])' + model: + fn: 'SUM::refl(frac_l[0.,1.]*refl_l, refl_r)' + - level: mcrefl + ptrange: [8., 12.] + datasel: mcrefl + range: [1.52, 2.30] + components: + refl_l: + fn: 'Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.2])' + refl_r: + fn: 'Gaussian::refl_r(m, mean_r[1.865,2.1], sigma_r[.01,.2])' + model: + fn: 'SUM::refl(frac_l[0.,1.]*refl_l, refl_r)' + - level: mcrefl + ptrange: [12., 48.] + datasel: mcrefl + range: [1.40, 2.4] + components: + refl_l: + fn: 'Gaussian::refl_l(m, mean_l[1.7,1.865], sigma_l[.01,.2])' + refl_r: + fn: 'Gaussian::refl_r(m, mean_r[1.865,2.1], sigma_r[.01,.2])' + model: + fn: 'SUM::refl(frac_l[0.,1.]*refl_l, refl_r)' + - level: mc + ptrange: [1., 3.] + range: [1.69, 2.04] + fix_params: ['frac_l', 'mean_l', 'mean_r', 'sigma_l', 'sigma_r', 'frac_wide', 'sigma_g1', 'sigma_wide'] + components: + model: + fn: 'SUM::sigrefl(frac_refl[0.,1.]*refl, sig)' + - level: mc + ptrange: [3., 4.] + range: [1.68, 2.06] + fix_params: ['frac_l', 'mean_l', 'mean_r', 'sigma_l', 'sigma_r', 'frac_wide', 'sigma_g1', 'sigma_wide'] + components: + model: + fn: 'SUM::sigrefl(frac_refl[0.,1.]*refl, sig)' + - level: mc + ptrange: [4., 5.] + range: [1.64, 2.08] + fix_params: ['frac_l', 'mean_l', 'mean_r', 'sigma_l', 'sigma_r', 'frac_wide', 'sigma_g1', 'sigma_wide'] + components: + model: + fn: 'SUM::sigrefl(frac_refl[0.,1.]*refl, sig)' + - level: mc + ptrange: [5., 6.] + range: [1.64, 2.10] + fix_params: ['frac_l', 'mean_l', 'mean_r', 'sigma_l', 'sigma_r', 'frac_wide', 'sigma_g1', 'sigma_wide'] + components: + model: + fn: 'SUM::sigrefl(frac_refl[0.,1.]*refl, sig)' + - level: mc + ptrange: [6., 8.] + range: [1.60, 2.14] + fix_params: ['frac_l', 'mean_l', 'mean_r', 'sigma_l', 'sigma_r', 'frac_wide', 'sigma_g1', 'sigma_wide'] + components: + model: + fn: 'SUM::sigrefl(frac_refl[0.,1.]*refl, sig)' + - level: mc + ptrange: [8., 12.] + range: [1.52, 2.30] + fix_params: ['frac_l', 'mean_l', 'mean_r', 'sigma_l', 'sigma_r', 'frac_wide', 'sigma_g1', 'sigma_wide'] + components: + model: + fn: 'SUM::sigrefl(frac_refl[0.,1.]*refl, sig)' + - level: mc + ptrange: [12., 48.] + range: [1.40, 2.40] + fix_params: ['frac_l', 'mean_l', 'mean_r', 'sigma_l', 'sigma_r', 'frac_wide', 'sigma_g1', 'sigma_wide'] + components: + model: + fn: 'SUM::sigrefl(frac_refl[0.,1.]*refl, sig)' + - ptrange: [1., 2.] + per_ptjet: true + range: [1.75, 2.02] # variation + fix_params: ['frac_refl'] + free_params: ['sigma_g1'] + fix_params_ptjet: ['mean', 'sigma_g1'] + components: + bkg: + fn: 'Exponential::bkg(m, alpha[-100,0])' + model: + fn: 'SUM::sum(frac[0.,1.]*sigrefl, bkg)' + - ptrange: [2., 3.] + per_ptjet: true + fix_params: ['frac_refl'] + free_params: ['sigma_g1'] + fix_params_ptjet: ['mean', 'sigma_g1'] + range: [1.75, 2.04] # variation + components: + bkg: + fn: 'Exponential::bkg(m, alpha[-100,0])' + model: + fn: 'SUM::sum(frac[0.,1.]*sigrefl, bkg)' + - ptrange: [3., 4.] + per_ptjet: true + fix_params: ['frac_refl'] + free_params: ['sigma_g1'] + fix_params_ptjet: ['mean', 'sigma_g1'] + range: [1.75, 2.06] # variation + components: + bkg: + fn: 'Exponential::bkg(m, alpha[-100,0])' + model: + fn: 'SUM::sum(frac[0.,1.]*sigrefl, bkg)' + - ptrange: [4., 5.] + per_ptjet: true + fix_params: ['frac_refl'] + free_params: ['sigma_g1'] + fix_params_ptjet: ['mean', 'sigma_g1'] + range: [1.75, 2.08] # variation + components: + bkg: + fn: 'Exponential::bkg(m, alpha[-100,0])' + model: + fn: 'SUM::sum(frac[0.,1.]*sigrefl, bkg)' + - ptrange: [5., 6.] + per_ptjet: true + fix_params: ['frac_refl'] + free_params: ['sigma_g1'] + fix_params_ptjet: ['mean', 'sigma_g1'] + range: [1.75, 2.10] # variation + components: + bkg: + fn: 'Exponential::bkg(m, alpha[-100,0])' + model: + fn: 'SUM::sum(frac[0.,1.]*sigrefl, bkg)' + - ptrange: [6., 8.] + per_ptjet: true + fix_params: ['frac_refl'] + free_params: ['sigma_g1'] + fix_params_ptjet: ['mean', 'sigma_g1'] + range: [1.75, 2.14] # variation + components: + bkg: + fn: 'Exponential::bkg(m, alpha[-100,0])' + model: + fn: 'SUM::sum(frac[0.,1.]*sigrefl, bkg)' + - range: [1.75, 2.20] # variation + per_ptjet: true + fix_params: ['frac_refl'] + free_params: ['sigma_g1'] + fix_params_ptjet: ['mean', 'sigma_g1'] + components: + bkg: + fn: 'Exponential::bkg(m, alpha[-100,0])' + model: + fn: 'SUM::sum(frac[0.,1.]*sigrefl, bkg)' + sidesub: + - - level: mc + regions: + left: [-2., -2.] + signal: [-2., 2.] + right: [3., 3.] + - ptrange: [10., 100.] + regions: + left: [-2., -2.] + signal: [-1.5, 1.5] # variation + right: [3., 5.] + - regions: + left: [-5.5, -3.] + signal: [-1.5, 1.5] # variation + right: [3., 5.5] + rebin: + activate: [yes, yes, yes, yes] + label: ["rebin 1", "rebin 2", "rebin 4", "rebin 5"] + diffs: + analysis: + jet_obs: + n_rebin: [1, 2, 4, 5] + reflections: + activate: [no] + label: ["w/o refl."] + diffs: + analysis: + jet_obs: + corr_refl: [false] + sideband: + activate: yes + processor: false + label: "sideband sub." + group: "signal extraction" + correlation: "corr" + rms: true + symmetrise: true + rms_both_sides: true + variations: + sigma: + activate: [no, yes, yes, yes, yes, yes, yes, yes, yes, yes] + label: + - "S 1.5#it{#sigma}" + - "S 1.6#it{#sigma}" + - "S 1.7#it{#sigma}" + - "S 1.8#it{#sigma}" + - "S 1.9#it{#sigma}" + - "S 2.1#it{#sigma}" + - "S 2.2#it{#sigma}" + - "S 2.3#it{#sigma}" + - "S 2.4#it{#sigma}" + - "S 2.5#it{#sigma}" + diffs: + analysis: + jet_obs: + sidesub: + - - level: mc + regions: + left: [-2., -2.] + signal: [-2., 2.] + right: [3., 3.] + - ptrange: [16., 100.] + regions: + left: [-2., -2.] + signal: [-1.5, 1.5] # variation + right: [3., 5.] + - regions: + left: [-5.5, -3.] + signal: [-1.5, 1.5] # variation + right: [3., 5.5] + - - level: mc + regions: + left: [-2., -2.] + signal: [-2., 2.] + right: [3., 3.] + - ptrange: [16., 100.] + regions: + left: [-2., -2.] + signal: [-1.6, 1.6] # variation + right: [3., 5.] + - regions: + left: [-5.5, -3.] + signal: [-1.6, 1.6] # variation + right: [3., 5.5] + - - level: mc + regions: + left: [-2., -2.] + signal: [-2., 2.] + right: [3., 3.] + - ptrange: [16., 100.] + regions: + left: [-2., -2.] + signal: [-1.7, 1.7] # variation + right: [3., 5.] + - regions: + left: [-5.5, -3.] + signal: [-1.7, 1.7] # variation + right: [3., 5.5] + - - level: mc + regions: + left: [-2., -2.] + signal: [-2., 2.] + right: [3., 3.] + - ptrange: [16., 100.] + regions: + left: [-2., -2.] + signal: [-1.8, 1.8] # variation + right: [3., 5.] + - regions: + left: [-5.5, -3.] + signal: [-1.8, 1.8] # variation + right: [3., 5.5] + - - level: mc + regions: + left: [-2., -2.] + signal: [-2., 2.] + right: [3., 3.] + - ptrange: [16., 100.] + regions: + left: [-2., -2.] + signal: [-1.9, 1.9] # variation + right: [3., 5.] + - regions: + left: [-5.5, -3.] + signal: [-1.9, 1.9] # variation + right: [3., 5.5] + - - level: mc + regions: + left: [-2., -2.] + signal: [-2., 2.] + right: [3., 3.] + - ptrange: [16., 100.] + regions: + left: [-2., -2.] + signal: [-2.1, 2.1] # variation + right: [3., 5.] + - regions: + left: [-5.5, -3.] + signal: [-2.1, 2.1] # variation + right: [3., 5.5] + - - level: mc + regions: + left: [-2., -2.] + signal: [-2., 2.] + right: [3., 3.] + - ptrange: [16., 100.] + regions: + left: [-2., -2.] + signal: [-2.2, 2.2] # variation + right: [3., 5.] + - regions: + left: [-5.5, -3.] + signal: [-2.2, 2.2] # variation + right: [3., 5.5] + - - level: mc + regions: + left: [-2., -2.] + signal: [-2., 2.] + right: [3., 3.] + - ptrange: [16., 100.] + regions: + left: [-2., -2.] + signal: [-2.3, 2.3] # variation + right: [3., 5.] + - regions: + left: [-5.5, -3.] + signal: [-2.3, 2.3] # variation + right: [3., 5.5] + - - level: mc + regions: + left: [-2., -2.] + signal: [-2., 2.] + right: [3., 3.] + - ptrange: [16., 100.] + regions: + left: [-2., -2.] + signal: [-2.4, 2.4] # variation + right: [3., 5.] + - regions: + left: [-5.5, -3.] + signal: [-2.4, 2.4] # variation + right: [3., 5.5] + - - level: mc + regions: + left: [-2., -2.] + signal: [-2., 2.] + right: [3., 3.] + - ptrange: [16., 100.] + regions: + left: [-2., -2.] + signal: [-2.5, 2.5] # variation + right: [3., 5.] + - regions: + left: [-5.5, -3.] + signal: [-2.5, 2.5] # variation + right: [3., 5.5] + ranges: + activate: [yes, yes, yes, yes, no, no, no, no] + label: + - "SB 3#minus6#it{#sigma}" + - "SB 3#minus5#it{#sigma}" + - "SB 3#minus6#it{#sigma} left" + - "SB 3.5#minus6#it{#sigma} left" + - "SB 4#minus6#it{#sigma} left" + - "SB 3#minus6#it{#sigma} right" + - "SB 3.5#minus6#it{#sigma} right" + - "SB 4#minus6#it{#sigma} right" + diffs: + analysis: + jet_obs: + sidesub: + - - level: mc # 3-6 + regions: + left: [-2., -2.] + signal: [-2., 2.] + right: [3., 3.] + - ptrange: [16., 100.] + regions: + left: [-2., -2.] + signal: [-2., 2.] + right: [3., 5.5] # variation + - regions: + left: [-6., -3.] # variation + signal: [-2., 2.] + right: [3., 6.] # variation + - - level: mc # 3-5 + regions: + left: [-2., -2.] + signal: [-2., 2.] + right: [3., 3.] + - ptrange: [16., 100.] + regions: + left: [-2., -2.] + signal: [-2., 2.] + right: [3., 4.5] # variation + - regions: + left: [-5., -3.] # variation + signal: [-2., 2.] + right: [3., 5.] # variation + - - level: mc # 3-6 left + regions: + left: [-2., -2.] + signal: [-2., 2.] + right: [3., 3.] + - ptrange: [16., 100.] + regions: + left: [-2., -2.] + signal: [-2., 2.] + right: [3., 5.] + - regions: + left: [-6., -3.] # variation + signal: [-2., 2.] + right: [3., 5.5] + - - level: mc # 3.5-6 left + regions: + left: [-2., -2.] + signal: [-2., 2.] + right: [3., 3.] + - ptrange: [16., 100.] + regions: + left: [-2., -2.] + signal: [-2., 2.] + right: [3., 5.] + - regions: + left: [-6., -3.5] # variation + signal: [-2., 2.] + right: [3., 5.5] + - - level: mc # 4-6 left + regions: + left: [-2., -2.] + signal: [-2., 2.] + right: [3., 3.] + - ptrange: [16., 100.] + regions: + left: [-2., -2.] + signal: [-2., 2.] + right: [3., 5.] + - regions: + left: [-6., -4.0] # variation + signal: [-2., 2.] + right: [3., 5.5] + - - level: mc # 3-6 right + regions: + left: [-2., -2.] + signal: [-2., 2.] + right: [3., 3.] + - ptrange: [16., 100.] + regions: + left: [-2., -2.] + signal: [-2., 2.] + right: [3., 5.5] # variation + - regions: + left: [-5.5., -3.0] + signal: [-2., 2.] + right: [3., 6.] # variation + - - level: mc # 3.5-6 right + regions: + left: [-2., -2.] + signal: [-2., 2.] + right: [3., 3.] + - ptrange: [16., 100.] + regions: + left: [-2., -2.] + signal: [-2., 2.] + right: [3.5, 5.5] # variation + - regions: + left: [-5.5., -3.0] + signal: [-2., 2.] + right: [3.5, 6.] # variation + - - level: mc # 4-6 right + regions: + left: [-2., -2.] + signal: [-2., 2.] + right: [3., 3.] + - ptrange: [16., 100.] + regions: + left: [-2., -2.] + signal: [-2., 2.] + right: [4., 5.5] # variation + - regions: + left: [-5.5., -3.0] + signal: [-2., 2.] + right: [4., 6.] # variation + sb_left: # not for D0 + activate: [no] + label: ["left sb only"] + diffs: + analysis: + jet_obs: + sidebandleftonly: [true] + feeddown: + activate: yes + processor: false + label: "feed-down" + correlation: "corr" + rms: false + symmetrise: false + rms_both_sides: false + variations: + tune: + activate: [yes, yes, yes, yes, yes, yes, yes, yes, yes] + label: + - "#it{f}_{F} = 1, #it{f}_{R} = 0.5" + - "#it{f}_{F} = 0.5, #it{f}_{R} = 1" + - "#it{f}_{F} = 2, #it{f}_{R} = 1" + - "#it{f}_{F} = 1, #it{f}_{R} = 2" + - "#it{f}_{F} = 2, #it{f}_{R} = 2" + - "#it{f}_{F} = 0.5, #it{f}_{R} = 0.5" + - "#it{m}_{b} high" + - "#it{m}_{b} low" + - "no EvtGen" + diffs: + analysis: + jet_obs: + fd_root: + - /data2/vkucera/powheg/trees_powheg_fd_F1_R05.root + - /data2/vkucera/powheg/trees_powheg_fd_F05_R1.root + - /data2/vkucera/powheg/trees_powheg_fd_F2_R1.root + - /data2/vkucera/powheg/trees_powheg_fd_F1_R2.root + - /data2/vkucera/powheg/trees_powheg_fd_F2_R2.root + - /data2/vkucera/powheg/trees_powheg_fd_F05_R05.root + - /data2/vkucera/powheg/trees_powheg_fd_Mhigh.root + - /data2/vkucera/powheg/trees_powheg_fd_Mlow.root + - /data2/vkucera/powheg/trees_powheg_fd_NoEvtGen.root + fd_parquet: + - /data2/jklein/powheg/trees_powheg_fd_F1_R05.parquet + - /data2/jklein/powheg/trees_powheg_fd_F05_R1.parquet + - /data2/jklein/powheg/trees_powheg_fd_F2_R1.parquet + - /data2/jklein/powheg/trees_powheg_fd_F1_R2.parquet + - /data2/jklein/powheg/trees_powheg_fd_F2_R2.parquet + - /data2/jklein/powheg/trees_powheg_fd_F05_R05.parquet + - /data2/jklein/powheg/trees_powheg_fd_Mhigh.parquet + - /data2/jklein/powheg/trees_powheg_fd_Mlow.parquet + - /data2/jklein/powheg/trees_powheg_fd_NoEvtGen.parquet + prior: + activate: yes + processor: true + label: "prior" + group: "unfolding" + correlation: "corr" + rms: true + symmetrise: true + rms_both_sides: true + variations: + flatness: + activate: [yes, yes, yes, yes, yes, yes, yes, yes, yes, no] + label: ["flat 0.1", "flat 0.2", "flat 0.3", "flat 0.4", "flat 0.5", "flat 0.6", "flat 0.7", "flat 0.8", "flat 0.9", "flat 1.0"] + diffs: + analysis: + jet_obs: + unfolding_prior_flatness: [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0] + unfolding_iterations_sel: [5, 5, 6, 6, 7, 7, 7, 7, 8, 8] + modeldep: # TODO + activate: no + processor: true + label: "model dep." + group: "unfolding" + correlation: "corr" + rms: true + symmetrise: true + rms_both_sides: true + variations: + inclusive: + activate: [yes] + label: ["inclusive"] + diffs: + analysis: + jet_nsd: + domodeldep: [true] + regularisation: + activate: yes + processor: false + label: "regularisation" + group: "unfolding" + correlation: "corr" + rms: true + symmetrise: true + rms_both_sides: true + variations: + iter: + activate: [yes, yes] + label: ["down (4)", "up (7)"] + diffs: + analysis: + jet_obs: + unfolding_iterations_sel: [4, 7] + normalisation: + activate: yes + processor: false + label: "#it{#sigma}_{MB}" + correlation: "corr" + rms: true + symmetrise: true + rms_both_sides: true + variations: + crosssection: + activate: [yes, yes] + label: ["#it{#sigma}_{MB} down", "#it{#sigma}_{MB} up"] + diffs: + analysis: + jet_obs: + xsection_inel: [53.46, 65.34] + tracking: + activate: yes + processor: true + label: "JES" + correlation: "corr" + rms: true + symmetrise: true + rms_both_sides: true + variations: + efficiency: + activate: [yes] + label: ["eff. down"] + diffs: + multi: + mc: + prefix_dir: [/data2/MLhep/sim/train_259454/] + binning: + activate: yes + processor: true + label: "binning" + group: "unfolding" + correlation: "corr" + rms: true + symmetrise: true + rms_both_sides: true + variations: + # pt_cand: # TODO + pt_jet: + activate: [yes, yes] + label: + - "#it{p}_{T}^{jet} 5#rightarrow4" + - "#it{p}_{T}^{jet} 50#rightarrow55" + diffs: + analysis: + jet_obs: + bins_ptjet: [[4, 7, 15, 30, 50, 70], [5, 7, 15, 30, 50, 75]] + bins_ptjet_eff: [[2, 4, 7, 15, 30, 50, 70, 90], [2, 5, 7, 15, 30, 50, 75, 90]] + observable: + activate: [no] + label: + - "obs. 1" + diffs: + analysis: + jet_obs: + observables: + zg: + bins_det_fix: [[12, -.1, .5]] + nsd: + bins_det_fix: [[11, -.5, 10.5]] + rg: + bins_det_fix: [[22, -.1, 1.]] + zpar: + bins_det_fix: [[20, 0., 1.]] + cand_sel: + activate: yes + processor: true + label: "BDT cut" + correlation: "corr" + rms: true + symmetrise: true + rms_both_sides: true + variations: + ml: + activate: [no, no, no, yes, yes, yes, yes, yes, no, yes, yes, yes, yes] + label: [ + # default: working point (for tests, should be same as the default result) + # null: no cuts (for tests, whatever was applied on Hyperloop) + # loosest: same cuts as Hyperloop (for tests, should be same as null) + "default", "null", "loosest", "tight 5", "tight 4", "tight 3", "tight 2", "tight 1", "loose 1", "loose 2", "loose 3", "loose 4", "loose 5"] + diffs: + analysis: + jet_obs: + use_cuts: [True, True, True, True, True, True, True, True, True, True, True, True, True] + cuts: + - ["mlBkgScore < 0.02", "mlBkgScore < 0.02", "mlBkgScore < 0.02", "mlBkgScore < 0.05", "mlBkgScore < 0.06", "mlBkgScore < 0.08", "mlBkgScore < 0.08", "mlBkgScore < 0.10", "mlBkgScore < 0.10", "mlBkgScore < 0.20", "mlBkgScore < 0.25", "mlBkgScore < 0.30"] # default + - [null, null, null, null, null, null, null, null, null, null, null, null] + - ["mlBkgScore < 0.30", "mlBkgScore < 0.35", "mlBkgScore < 0.40", "mlBkgScore < 0.40", "mlBkgScore < 0.40", "mlBkgScore < 0.4", "mlBkgScore < 0.4", "mlBkgScore < 0.5", "mlBkgScore < 0.5", "mlBkgScore < 0.5", "mlBkgScore < 0.5", "mlBkgScore < 0.5"] # loosest + - ["mlBkgScore < 0.008", "mlBkgScore < 0.008", "mlBkgScore < 0.0087", "mlBkgScore < 0.017", "mlBkgScore < 0.024", "mlBkgScore < 0.031", "mlBkgScore < 0.028", "mlBkgScore < 0.042", "mlBkgScore < 0.038", "mlBkgScore < 0.052", "mlBkgScore < 0.067", "mlBkgScore < 0.06"] # tight 5 + - ["mlBkgScore < 0.0104", "mlBkgScore < 0.0104", "mlBkgScore < 0.01096", "mlBkgScore < 0.0236", "mlBkgScore < 0.0312", "mlBkgScore < 0.0408", "mlBkgScore < 0.0384", "mlBkgScore < 0.0536", "mlBkgScore < 0.0504", "mlBkgScore < 0.0816", "mlBkgScore < 0.1036", "mlBkgScore < 0.108"] # tight 4 + - ["mlBkgScore < 0.0128", "mlBkgScore < 0.0128", "mlBkgScore < 0.01322", "mlBkgScore < 0.0302", "mlBkgScore < 0.0384", "mlBkgScore < 0.0506", "mlBkgScore < 0.0488", "mlBkgScore < 0.0652", "mlBkgScore < 0.0628", "mlBkgScore < 0.1112", "mlBkgScore < 0.1402", "mlBkgScore < 0.156"] # tight 3 + - ["mlBkgScore < 0.0152", "mlBkgScore < 0.0152", "mlBkgScore < 0.01548", "mlBkgScore < 0.0368", "mlBkgScore < 0.0456", "mlBkgScore < 0.0604", "mlBkgScore < 0.0592", "mlBkgScore < 0.0768", "mlBkgScore < 0.0752", "mlBkgScore < 0.1408", "mlBkgScore < 0.1768", "mlBkgScore < 0.204"] # tight 2 + - ["mlBkgScore < 0.0176", "mlBkgScore < 0.0176", "mlBkgScore < 0.01774", "mlBkgScore < 0.0434", "mlBkgScore < 0.0528", "mlBkgScore < 0.0702", "mlBkgScore < 0.0696", "mlBkgScore < 0.0884", "mlBkgScore < 0.0876", "mlBkgScore < 0.1704", "mlBkgScore < 0.2134", "mlBkgScore < 0.252"] # tight 1 + - ["mlBkgScore < 0.025", "mlBkgScore < 0.0266", "mlBkgScore < 0.0268", "mlBkgScore < 0.078", "mlBkgScore < 0.092", "mlBkgScore < 0.13", "mlBkgScore < 0.156", "mlBkgScore < 0.156", "mlBkgScore < 0.18", "mlBkgScore < 0.26", "mlBkgScore < 0.3", "mlBkgScore < 0.34"] # loose 1 + - ["mlBkgScore < 0.03", "mlBkgScore < 0.0332", "mlBkgScore < 0.0336", "mlBkgScore < 0.106", "mlBkgScore < 0.124", "mlBkgScore < 0.18", "mlBkgScore < 0.232", "mlBkgScore < 0.212", "mlBkgScore < 0.26", "mlBkgScore < 0.32", "mlBkgScore < 0.35", "mlBkgScore < 0.38"] # loose 2 + - ["mlBkgScore < 0.035", "mlBkgScore < 0.0398", "mlBkgScore < 0.0404", "mlBkgScore < 0.134", "mlBkgScore < 0.156", "mlBkgScore < 0.23", "mlBkgScore < 0.308", "mlBkgScore < 0.268", "mlBkgScore < 0.34", "mlBkgScore < 0.38", "mlBkgScore < 0.4", "mlBkgScore < 0.42"] # loose 3 + - ["mlBkgScore < 0.04", "mlBkgScore < 0.0464", "mlBkgScore < 0.0472", "mlBkgScore < 0.162", "mlBkgScore < 0.188", "mlBkgScore < 0.28", "mlBkgScore < 0.384", "mlBkgScore < 0.324", "mlBkgScore < 0.42", "mlBkgScore < 0.44", "mlBkgScore < 0.45", "mlBkgScore < 0.46"] # loose 4 + - ["mlBkgScore < 0.045", "mlBkgScore < 0.053", "mlBkgScore < 0.054", "mlBkgScore < 0.19", "mlBkgScore < 0.22", "mlBkgScore < 0.33", "mlBkgScore < 0.46", "mlBkgScore < 0.38", "mlBkgScore < 0.5", "mlBkgScore < 0.5", "mlBkgScore < 0.5", "mlBkgScore < 0.5"] # loose 5 diff --git a/machine_learning_hep/data/data_run3/database_variations_LcJet_pp_jet_obs.yml b/machine_learning_hep/data/data_run3/database_variations_LcJet_pp_jet_obs.yml index aa771ff731..bad62a0696 100644 --- a/machine_learning_hep/data/data_run3/database_variations_LcJet_pp_jet_obs.yml +++ b/machine_learning_hep/data/data_run3/database_variations_LcJet_pp_jet_obs.yml @@ -12,574 +12,574 @@ # along with this program. if not, see . # categories: - default: - activate: no - processor: false - label: "default" - correlation: "corr" - rms: true - symmetrise: true - rms_both_sides: true - variations: - default: - activate: [yes] - label: ["default"] - diffs: {} - fitting: - activate: yes - processor: false - label: "fitting" - group: "signal extraction" - correlation: "corr" - rms: true - symmetrise: true - rms_both_sides: true - variations: - bkgfunc: - activate: [no, yes, no] - label: ["exp", "pol3", "Argus"] - diffs: - analysis: - jet_obs: - mass_roofit: - - - level: mc - components: - sig: - fn: 'Gaussian::peak(m[1., 5.], mean[2.27,2.29], sigma_g1[.01,.005,.035])' - 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)' - - ptrange: [1., 5.] - range: [2.16, 2.40] - components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.01])' - bkg: - fn: 'Exponential::bkg(m, alpha[-100,0])' - # fn: 'Polynomial::bkg(m, {a0[-0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})' - model: - fn: 'SUM::sum(frac[0.,1.]*sig, bkg)' - - ptrange: [5., 8.] - range: [2.1, 2.48] - components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' - bkg: - fn: 'Exponential::bkg(m, alpha[-100,0])' - # fn: 'Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})' - model: - fn: 'SUM::sum(frac[0.,1.]*sig, bkg)' - - range: [2.05, 2.5] - components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' - bkg: - fn: 'Exponential::bkg(m, alpha[-100,0])' - # fn: 'Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})' - model: - fn: 'SUM::sum(frac[0.,1.]*sig, bkg)' - - - level: mc - components: - sig: - fn: 'Gaussian::peak(m[1., 5.], mean[2.27,2.29], sigma_g1[.01,.005,.035])' - 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)' - - ptrange: [1., 5.] - range: [2.16, 2.40] - components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.01])' - bkg: - # fn: 'Exponential::bkg(m, alpha[-100,0])' - fn: 'Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3], a3[-0.8, -3, 3]})' - model: - fn: 'SUM::sum(frac[0.,1.]*sig, bkg)' - - ptrange: [5., 8.] - range: [2.1, 2.48] - components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' - bkg: - # fn: 'Exponential::bkg(m, alpha[-100,0])' - fn: 'Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3], a3[0.2, -3, 3]})' - model: - fn: 'SUM::sum(frac[0.,1.]*sig, bkg)' - - range: [2.05, 2.5] - components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' - bkg: - # fn: 'Exponential::bkg(m, alpha[-100,0])' - fn: 'Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3], a3[0.2, -3, 3]})' - model: - fn: 'SUM::sum(frac[0.,1.]*sig, bkg)' - - - level: mc - components: - sig: - fn: 'Gaussian::peak(m[1., 5.], mean[2.27,2.29], sigma_g1[.01,.005,.035])' - 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)' - - ptrange: [1., 5.] - range: [2.16, 2.40] - fix_params: ['alpha_l', 'alpha_r', 'n_l', 'n_r'] - components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.01])' - bkg: - fn: 'ArgusBG::bkg(m, m0[1., 10.], c[0., 10.], p[1., .5, 2.])' - model: - fn: 'SUM::sum(frac[0.,1.]*sig, bkg)' - - ptrange: [5., 8.] - range: [2.1, 2.48] - fix_params: ['alpha_l', 'alpha_r', 'n_l', 'n_r'] - components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' - bkg: - fn: 'ArgusBG::bkg(m, m0[1., 10.], c[0., 10.], p[1., .5, 2.])' - model: - fn: 'SUM::sum(frac[0.,1.]*sig, bkg)' - - range: [2.05, 2.5] - fix_params: ['alpha_l', 'alpha_r', 'n_l', 'n_r'] - components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' - bkg: - fn: 'ArgusBG::bkg(m, m0[1., 10.], c[0., 10.], p[1., .5, 2.])' - model: - fn: 'SUM::sum(frac[0.,1.]*sig, bkg)' - sigfunc: # TODO: mass_roofit - activate: [yes] - label: ["sig. func."] - diffs: - analysis: - jet_obs: - mass_roofit: - - - level: mc - components: - sig: - fn: 'Gaussian::sig(m[1., 5.], mean[2.27,2.29], sigma_g1[.01,.01,.03])' - bkg: - fn: 'Exponential::mcbkg(m, mcalpha[0.])' - #fn: 'Polynomial::bkg(m[2.1, 2.50], {a0[0.2, -3, 3], a1[-0.1, -3, 3], a2[0.1, 0.01, 3]})' - model: - fn: 'SUM::mctot(mcfrac[0.,1.]*sig, mcbkg)' - - ptrange: [1., 5.] - range: [2.16, 2.40] - components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.01])' - bkg: - #fn: 'Exponential::bkg(m, alpha[-100,0])' - fn: 'Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})' - model: - fn: 'SUM::sum(frac[0.,1.]*sig, bkg)' - - ptrange: [5., 8.] - range: [2.1, 2.48] - components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' - bkg: - #fn: 'Exponential::bkg(m, alpha[-100,0])' - fn: 'Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})' - model: - fn: 'SUM::sum(frac[0.,1.]*sig, bkg)' - - range: [2.05, 2.5] - components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' - bkg: - #fn: 'Exponential::bkg(m, alpha[-100,0])' - fn: 'Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})' - model: - fn: 'SUM::sum(frac[0.,1.]*sig, bkg)' - massmin: # TODO? - activate: [no] - label: - - "#it{m} min. ?" - diffs: - analysis: - jet_obs: - mass_roofit: - - - level: mc - components: - sig: - fn: 'Gaussian::sig(m[1., 5.], mean[2.28,2.29], sigma_g1[.01,.01,.03])' - bkg: - fn: 'Exponential::mcbkg(m, alpha[0.])' - #fn: 'Polynomial::bkg(m[2.1, 2.50], {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})' - model: - fn: 'SUM::mctot(mcfrac[0.,1.]*sig, mcbkg)' - - ptrange: [1., 5.] - range: [2.16, 2.40] - components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.01])' - bkg: - #fn: 'Exponential::bkg(m, alpha[-100,0])' - fn: 'Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})' - model: - fn: 'SUM::sum(frac[0.,1.]*sig, bkg)' - - ptrange: [5., 8.] - range: [2.1, 2.48] - components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' - bkg: - #fn: 'Exponential::bkg(m, alpha[-100,0])' - fn: 'Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})' - model: - fn: 'SUM::sum(frac[0.,1.]*sig, bkg)' - - range: [2.05, 2.5] - components: - # sig: - # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' - bkg: - #fn: 'Exponential::bkg(m, alpha[-100,0])' - fn: 'Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})' - model: - fn: 'SUM::sum(frac[0.,1.]*sig, bkg)' - rebin: - activate: [yes, yes, yes, yes] - label: ["rebin 1", "rebin 2", "rebin 4", "rebin 5"] - diffs: - analysis: - jet_obs: - n_rebin: [1, 2, 4, 5] - # reflections: - # activate: [no] - # label: ["w/o refl."] - # diffs: - # analysis: - # jet_obs: - # corr_refl: [false] - sideband: - activate: yes - processor: false - label: "sideband sub." - group: "signal extraction" - correlation: "corr" - rms: true - symmetrise: true - rms_both_sides: true - variations: - sigma: - activate: [yes, yes, yes, yes, yes, yes, yes, yes, yes, yes] - label: - - "S 1.5#it{#sigma}" - - "S 1.6#it{#sigma}" - - "S 1.7#it{#sigma}" - - "S 1.8#it{#sigma}" - - "S 1.9#it{#sigma}" - - "S 2.1#it{#sigma}" - - "S 2.2#it{#sigma}" - - "S 2.3#it{#sigma}" - - "S 2.4#it{#sigma}" - - "S 2.5#it{#sigma}" - diffs: - analysis: - jet_obs: - sidesub: - - - regions: - left: [-5.5, -3.] - signal: [-1.5, 1.5] # variation - right: [3., 5.5] - - - regions: - left: [-5.5, -3.] - signal: [-1.6, 1.6] # variation - right: [3., 5.5] - - - regions: - left: [-5.5, -3.] - signal: [-1.7, 1.7] # variation - right: [3., 5.5] - - - regions: - left: [-5.5, -3.] - signal: [-1.8, 1.8] # variation - right: [3., 5.5] - - - regions: - left: [-5.5, -3.] - signal: [-1.9, 1.9] # variation - right: [3., 5.5] - - - regions: - left: [-5.5, -3.] - signal: [-2.1, 2.1] # variation - right: [3., 5.5] - - - regions: - left: [-5.5, -3.] - signal: [-2.2, 2.2] # variation - right: [3., 5.5] - - - regions: - left: [-5.5, -3.] - signal: [-2.3, 2.3] # variation - right: [3., 5.5] - - - regions: - left: [-5.5, -3.] - signal: [-2.4, 2.4] # variation - right: [3., 5.5] - - - regions: - left: [-5.5, -3.] - signal: [-2.5, 2.5] # variation - right: [3., 5.5] - ranges: - activate: [yes, yes, yes, yes, yes, yes, yes, yes] - label: - - "SB 3#minus6#it{#sigma}" - - "SB 3#minus5#it{#sigma}" - - "SB 3#minus6#it{#sigma} left" - - "SB 3.5#minus6#it{#sigma} left" - - "SB 4#minus6#it{#sigma} left" - - "SB 3#minus6#it{#sigma} right" - - "SB 3.5#minus6#it{#sigma} right" - - "SB 4#minus6#it{#sigma} right" - diffs: - analysis: - jet_obs: - sidesub: - - - regions: # 3-6 - left: [-6., -3.] # variation - signal: [-2., 2.] - right: [3., 6.] # variation - - - regions: # 3-5 - left: [-5., -3.] # variation - signal: [-2., 2.] - right: [3., 5.] # variation - - - regions: # 3-6 left - left: [-6., -3.] # variation - signal: [-2., 2.] - right: [3., 5.5] - - - regions: # 3.5-6 left - left: [-6., -3.5] # variation - signal: [-2., 2.] - right: [3., 5.5] - - - regions: # 4-6 left - left: [-6., -4.] # variation - signal: [-2., 2.] - right: [3., 5.5] - - - regions: # 3-6 right - left: [-5.5, -3.] - signal: [-2., 2.] - right: [3., 6.] # variation - - - regions: # 3.5-6 right - left: [-5.5, -3.] - signal: [-2., 2.] - right: [3.5, 6.] # variation - - - regions: # 4-6 right - left: [-5.5, -3.] - signal: [-2., 2.] - right: [4., 6.] # variation - sb_left: # TODO? - activate: [no] - label: ["left sb only"] - diffs: - analysis: - jet_obs: - sidebandleftonly: [true] - feeddown: - activate: yes - processor: false - label: "feed-down" - correlation: "corr" - rms: false - symmetrise: false - rms_both_sides: false - variations: - tune: - activate: [yes, yes, yes, yes, yes, yes, yes, yes, yes] - label: - - "#it{f}_{F} = 1, #it{f}_{R} = 0.5" - - "#it{f}_{F} = 0.5, #it{f}_{R} = 1" - - "#it{f}_{F} = 2, #it{f}_{R} = 1" - - "#it{f}_{F} = 1, #it{f}_{R} = 2" - - "#it{f}_{F} = 2, #it{f}_{R} = 2" - - "#it{f}_{F} = 0.5, #it{f}_{R} = 0.5" - - "#it{m}_{b} high" - - "#it{m}_{b} low" - - "no EvtGen" - diffs: - analysis: - jet_obs: - fd_root: - - /data2/vkucera/powheg/trees_powheg_fd_F1_R05.root - - /data2/vkucera/powheg/trees_powheg_fd_F05_R1.root - - /data2/vkucera/powheg/trees_powheg_fd_F2_R1.root - - /data2/vkucera/powheg/trees_powheg_fd_F1_R2.root - - /data2/vkucera/powheg/trees_powheg_fd_F2_R2.root - - /data2/vkucera/powheg/trees_powheg_fd_F05_R05.root - - /data2/vkucera/powheg/trees_powheg_fd_Mhigh.root - - /data2/vkucera/powheg/trees_powheg_fd_Mlow.root - - /data2/vkucera/powheg/trees_powheg_fd_NoEvtGen.root - fd_parquet: - - /data2/vkucera/powheg/Lc/trees_powheg_fd_F1_R05.parquet - - /data2/vkucera/powheg/Lc/trees_powheg_fd_F05_R1.parquet - - /data2/vkucera/powheg/Lc/trees_powheg_fd_F2_R1.parquet - - /data2/vkucera/powheg/Lc/trees_powheg_fd_F1_R2.parquet - - /data2/vkucera/powheg/Lc/trees_powheg_fd_F2_R2.parquet - - /data2/vkucera/powheg/Lc/trees_powheg_fd_F05_R05.parquet - - /data2/vkucera/powheg/Lc/trees_powheg_fd_Mhigh.parquet - - /data2/vkucera/powheg/Lc/trees_powheg_fd_Mlow.parquet - - /data2/vkucera/powheg/Lc/trees_powheg_fd_NoEvtGen.parquet - prior: - activate: yes - processor: true - label: "prior" - group: "unfolding" - correlation: "corr" - rms: true - symmetrise: true - rms_both_sides: true - variations: - flatness: - activate: [yes, yes, yes, yes, yes, yes, yes, yes, yes, no] - label: ["flat 0.1", "flat 0.2", "flat 0.3", "flat 0.4", "flat 0.5", "flat 0.6", "flat 0.7", "flat 0.8", "flat 0.9", "flat 1.0"] - diffs: - analysis: - jet_obs: - unfolding_prior_flatness: [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0] - unfolding_iterations_sel: [5, 5, 6, 6, 7, 7, 7, 7, 8, 8] - modeldep: # TODO - activate: no - processor: true - label: "model dep." - group: "unfolding" - correlation: "corr" - rms: true - symmetrise: true - rms_both_sides: true - variations: - inclusive: - activate: [yes] - label: ["inclusive"] - diffs: - analysis: - jet_nsd: - domodeldep: [true] - regularisation: - activate: yes - processor: false - label: "regularisation" - group: "unfolding" - correlation: "corr" - rms: true - symmetrise: true - rms_both_sides: true - variations: - iter: - activate: [yes, yes] - label: ["down (4)", "up (7)"] - diffs: - analysis: - jet_obs: - unfolding_iterations_sel: [4, 7] - normalisation: - activate: yes - processor: false - label: "#it{#sigma}_{MB}" - correlation: "corr" - rms: true - symmetrise: true - rms_both_sides: true - variations: - crosssection: - activate: [yes, yes] - label: ["#it{#sigma}_{MB} down", "#it{#sigma}_{MB} up"] - diffs: - analysis: - jet_obs: - xsection_inel: [53.46, 65.34] - tracking: - activate: yes - processor: true - label: "JES" - correlation: "corr" - rms: true - symmetrise: true - rms_both_sides: true - variations: - efficiency: - activate: [yes] - label: ["eff. down"] - diffs: - multi: - mc: - prefix_dir: [/data2/MLhep/sim/train_257382/] - binning: - activate: yes - processor: true - label: "binning" - group: "unfolding" - correlation: "corr" - rms: true - symmetrise: true - rms_both_sides: true - variations: - # pt_cand: # TODO - pt_jet: - activate: [yes, yes] - label: - - "#it{p}_{T}^{jet} 5#rightarrow4" - - "#it{p}_{T}^{jet} 50#rightarrow55" - diffs: - analysis: - jet_obs: - bins_ptjet: [[4, 7, 15, 30, 50], [5, 7, 15, 30, 55]] - bins_ptjet_eff: [[2, 4, 7, 15, 30, 50, 70], [2, 5, 7, 15, 30, 55, 70]] - observable: - activate: [no] - label: - - "obs. 1" - diffs: - analysis: - jet_obs: - observables: - zpar: - bins_det_fix: [[20, 0., 1.]] - run2: - activate: [no] - label: - - "Run 2" - diffs: - analysis: - jet_obs: - observables: - zpar: - bins_gen_var: [[0.4, 0.6, 0.7, 0.8, 0.9, 1.]] - bins_det_var: [[0.4, 0.6, 0.7, 0.8, 0.9, 1.]] - cand_sel: - activate: yes - processor: true - label: "BDT cut" - correlation: "corr" - rms: true - symmetrise: true - rms_both_sides: true - variations: - ml: - activate: [no, no, no, yes, yes, yes, yes, no, yes, yes, yes, yes, yes] - label: - # default: working point (for tests, should be same as the default result) - # null: no cuts (for tests, whatever was applied on Hyperloop) - # loosest: same cuts as Hyperloop (for tests, should be same as null) - ["default", "null", "loosest", "loose 5", "loose 4", "loose 3", "loose 2", "loose 1", "tight 1", "tight 2", "tight 3", "tight 4", "tight 5"] - diffs: - analysis: - jet_obs: - use_cuts: [True, True, True, True, True, True, True, True, True, True, True, True, True] - cuts: - - ["mlPromptScore > 0.97", "mlPromptScore > 0.9", "mlPromptScore > 0.9", "mlPromptScore > 0.85", "mlPromptScore > 0.85", "mlPromptScore > 0.8", "mlPromptScore > 0.8", "mlPromptScore > 0.6", "mlPromptScore > 0.6"] # default - - [null,null,null,null,null,null,null,null,null,null] - - ["mlPromptScore > 0.85", "mlPromptScore > 0.6", "mlPromptScore > 0.6", "mlPromptScore > 0.4", "mlPromptScore > 0.4", "mlPromptScore > 0.4", "mlPromptScore > 0.4", "mlPromptScore > 0.15", "mlPromptScore > 0.15"] # loosest - - ["mlPromptScore > 0.961", "mlPromptScore > 0.83", "mlPromptScore > 0.84", "mlPromptScore > 0.74", "mlPromptScore > 0.74", "mlPromptScore > 0.62", "mlPromptScore > 0.63", "mlPromptScore > 0.15", "mlPromptScore > 0.15"] # loose 5 - - ["mlPromptScore > 0.9628", "mlPromptScore > 0.844", "mlPromptScore > 0.852", "mlPromptScore > 0.762", "mlPromptScore > 0.762", "mlPromptScore > 0.656", "mlPromptScore > 0.664", "mlPromptScore > 0.24", "mlPromptScore > 0.24"] # loose 4 - - ["mlPromptScore > 0.9646", "mlPromptScore > 0.858", "mlPromptScore > 0.864", "mlPromptScore > 0.784", "mlPromptScore > 0.784", "mlPromptScore > 0.692", "mlPromptScore > 0.698", "mlPromptScore > 0.33", "mlPromptScore > 0.33"] # loose 3 - - ["mlPromptScore > 0.9664", "mlPromptScore > 0.872", "mlPromptScore > 0.876", "mlPromptScore > 0.806", "mlPromptScore > 0.806", "mlPromptScore > 0.728", "mlPromptScore > 0.732", "mlPromptScore > 0.42", "mlPromptScore > 0.42"] # loose 2 - - ["mlPromptScore > 0.9682", "mlPromptScore > 0.886", "mlPromptScore > 0.888", "mlPromptScore > 0.828", "mlPromptScore > 0.828", "mlPromptScore > 0.764", "mlPromptScore > 0.766", "mlPromptScore > 0.51", "mlPromptScore > 0.51"] # loose 1 - - ["mlPromptScore > 0.9716", "mlPromptScore > 0.908", "mlPromptScore > 0.9074", "mlPromptScore > 0.863", "mlPromptScore > 0.862", "mlPromptScore > 0.818", "mlPromptScore > 0.816", "mlPromptScore > 0.65", "mlPromptScore > 0.65"] # tight 1 - - ["mlPromptScore > 0.9732", "mlPromptScore > 0.916", "mlPromptScore > 0.9148", "mlPromptScore > 0.876", "mlPromptScore > 0.874", "mlPromptScore > 0.836", "mlPromptScore > 0.832", "mlPromptScore > 0.7", "mlPromptScore > 0.7"] # tight 2 - - ["mlPromptScore > 0.9748", "mlPromptScore > 0.924", "mlPromptScore > 0.9222", "mlPromptScore > 0.889", "mlPromptScore > 0.886", "mlPromptScore > 0.854", "mlPromptScore > 0.848", "mlPromptScore > 0.75", "mlPromptScore > 0.75"] # tight 3 - - ["mlPromptScore > 0.9764", "mlPromptScore > 0.932", "mlPromptScore > 0.9296", "mlPromptScore > 0.902", "mlPromptScore > 0.898", "mlPromptScore > 0.872", "mlPromptScore > 0.864", "mlPromptScore > 0.8", "mlPromptScore > 0.8"] # tight 4 - - ["mlPromptScore > 0.978", "mlPromptScore > 0.94", "mlPromptScore > 0.937", "mlPromptScore > 0.915", "mlPromptScore > 0.91", "mlPromptScore > 0.89", "mlPromptScore > 0.88", "mlPromptScore > 0.85", "mlPromptScore > 0.85"] # tight 5 + default: + activate: no + processor: false + label: "default" + correlation: "corr" + rms: true + symmetrise: true + rms_both_sides: true + variations: + default: + activate: [yes] + label: ["default"] + diffs: {} + fitting: + activate: yes + processor: false + label: "fitting" + group: "signal extraction" + correlation: "corr" + rms: true + symmetrise: true + rms_both_sides: true + variations: + bkgfunc: + activate: [no, yes, no] + label: ["exp", "pol3", "Argus"] + diffs: + analysis: + jet_obs: + mass_roofit: + - - level: mc + components: + sig: + fn: 'Gaussian::peak(m[1., 5.], mean[2.27,2.29], sigma_g1[.01,.005,.035])' + 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)' + - ptrange: [1., 5.] + range: [2.16, 2.40] + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.01])' + bkg: + fn: 'Exponential::bkg(m, alpha[-100,0])' + # fn: 'Polynomial::bkg(m, {a0[-0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})' + model: + fn: 'SUM::sum(frac[0.,1.]*sig, bkg)' + - ptrange: [5., 8.] + range: [2.1, 2.48] + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' + bkg: + fn: 'Exponential::bkg(m, alpha[-100,0])' + # fn: 'Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})' + model: + fn: 'SUM::sum(frac[0.,1.]*sig, bkg)' + - range: [2.05, 2.5] + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' + bkg: + fn: 'Exponential::bkg(m, alpha[-100,0])' + # fn: 'Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})' + model: + fn: 'SUM::sum(frac[0.,1.]*sig, bkg)' + - - level: mc + components: + sig: + fn: 'Gaussian::peak(m[1., 5.], mean[2.27,2.29], sigma_g1[.01,.005,.035])' + 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)' + - ptrange: [1., 5.] + range: [2.16, 2.40] + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.01])' + bkg: + # fn: 'Exponential::bkg(m, alpha[-100,0])' + fn: 'Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3], a3[-0.8, -3, 3]})' + model: + fn: 'SUM::sum(frac[0.,1.]*sig, bkg)' + - ptrange: [5., 8.] + range: [2.1, 2.48] + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' + bkg: + # fn: 'Exponential::bkg(m, alpha[-100,0])' + fn: 'Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3], a3[0.2, -3, 3]})' + model: + fn: 'SUM::sum(frac[0.,1.]*sig, bkg)' + - range: [2.05, 2.5] + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' + bkg: + # fn: 'Exponential::bkg(m, alpha[-100,0])' + fn: 'Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3], a3[0.2, -3, 3]})' + model: + fn: 'SUM::sum(frac[0.,1.]*sig, bkg)' + - - level: mc + components: + sig: + fn: 'Gaussian::peak(m[1., 5.], mean[2.27,2.29], sigma_g1[.01,.005,.035])' + 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)' + - ptrange: [1., 5.] + range: [2.16, 2.40] + fix_params: ['alpha_l', 'alpha_r', 'n_l', 'n_r'] + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.01])' + bkg: + fn: 'ArgusBG::bkg(m, m0[1., 10.], c[0., 10.], p[1., .5, 2.])' + model: + fn: 'SUM::sum(frac[0.,1.]*sig, bkg)' + - ptrange: [5., 8.] + range: [2.1, 2.48] + fix_params: ['alpha_l', 'alpha_r', 'n_l', 'n_r'] + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' + bkg: + fn: 'ArgusBG::bkg(m, m0[1., 10.], c[0., 10.], p[1., .5, 2.])' + model: + fn: 'SUM::sum(frac[0.,1.]*sig, bkg)' + - range: [2.05, 2.5] + fix_params: ['alpha_l', 'alpha_r', 'n_l', 'n_r'] + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' + bkg: + fn: 'ArgusBG::bkg(m, m0[1., 10.], c[0., 10.], p[1., .5, 2.])' + model: + fn: 'SUM::sum(frac[0.,1.]*sig, bkg)' + sigfunc: # TODO: mass_roofit + activate: [yes] + label: ["sig. func."] + diffs: + analysis: + jet_obs: + mass_roofit: + - - level: mc + components: + sig: + fn: 'Gaussian::sig(m[1., 5.], mean[2.27,2.29], sigma_g1[.01,.01,.03])' + bkg: + fn: 'Exponential::mcbkg(m, mcalpha[0.])' + #fn: 'Polynomial::bkg(m[2.1, 2.50], {a0[0.2, -3, 3], a1[-0.1, -3, 3], a2[0.1, 0.01, 3]})' + model: + fn: 'SUM::mctot(mcfrac[0.,1.]*sig, mcbkg)' + - ptrange: [1., 5.] + range: [2.16, 2.40] + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.01])' + bkg: + #fn: 'Exponential::bkg(m, alpha[-100,0])' + fn: 'Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})' + model: + fn: 'SUM::sum(frac[0.,1.]*sig, bkg)' + - ptrange: [5., 8.] + range: [2.1, 2.48] + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' + bkg: + #fn: 'Exponential::bkg(m, alpha[-100,0])' + fn: 'Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})' + model: + fn: 'SUM::sum(frac[0.,1.]*sig, bkg)' + - range: [2.05, 2.5] + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' + bkg: + #fn: 'Exponential::bkg(m, alpha[-100,0])' + fn: 'Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})' + model: + fn: 'SUM::sum(frac[0.,1.]*sig, bkg)' + massmin: # TODO? + activate: [no] + label: + - "#it{m} min. ?" + diffs: + analysis: + jet_obs: + mass_roofit: + - - level: mc + components: + sig: + fn: 'Gaussian::sig(m[1., 5.], mean[2.28,2.29], sigma_g1[.01,.01,.03])' + bkg: + fn: 'Exponential::mcbkg(m, alpha[0.])' + #fn: 'Polynomial::bkg(m[2.1, 2.50], {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})' + model: + fn: 'SUM::mctot(mcfrac[0.,1.]*sig, mcbkg)' + - ptrange: [1., 5.] + range: [2.16, 2.40] + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.01])' + bkg: + #fn: 'Exponential::bkg(m, alpha[-100,0])' + fn: 'Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})' + model: + fn: 'SUM::sum(frac[0.,1.]*sig, bkg)' + - ptrange: [5., 8.] + range: [2.1, 2.48] + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' + bkg: + #fn: 'Exponential::bkg(m, alpha[-100,0])' + fn: 'Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})' + model: + fn: 'SUM::sum(frac[0.,1.]*sig, bkg)' + - range: [2.05, 2.5] + components: + # sig: + # fn: 'Gaussian::sig(m, mean[2.28,2.29], sigma_g1[.005,.03])' + bkg: + #fn: 'Exponential::bkg(m, alpha[-100,0])' + fn: 'Polynomial::bkg(m, {a0[0.2, -3, 3], a1[0.2 , -3, 3], a2[0.2, -3, 3]})' + model: + fn: 'SUM::sum(frac[0.,1.]*sig, bkg)' + rebin: + activate: [yes, yes, yes, yes] + label: ["rebin 1", "rebin 2", "rebin 4", "rebin 5"] + diffs: + analysis: + jet_obs: + n_rebin: [1, 2, 4, 5] + # reflections: + # activate: [no] + # label: ["w/o refl."] + # diffs: + # analysis: + # jet_obs: + # corr_refl: [false] + sideband: + activate: yes + processor: false + label: "sideband sub." + group: "signal extraction" + correlation: "corr" + rms: true + symmetrise: true + rms_both_sides: true + variations: + sigma: + activate: [yes, yes, yes, yes, yes, yes, yes, yes, yes, yes] + label: + - "S 1.5#it{#sigma}" + - "S 1.6#it{#sigma}" + - "S 1.7#it{#sigma}" + - "S 1.8#it{#sigma}" + - "S 1.9#it{#sigma}" + - "S 2.1#it{#sigma}" + - "S 2.2#it{#sigma}" + - "S 2.3#it{#sigma}" + - "S 2.4#it{#sigma}" + - "S 2.5#it{#sigma}" + diffs: + analysis: + jet_obs: + sidesub: + - - regions: + left: [-5.5, -3.] + signal: [-1.5, 1.5] # variation + right: [3., 5.5] + - - regions: + left: [-5.5, -3.] + signal: [-1.6, 1.6] # variation + right: [3., 5.5] + - - regions: + left: [-5.5, -3.] + signal: [-1.7, 1.7] # variation + right: [3., 5.5] + - - regions: + left: [-5.5, -3.] + signal: [-1.8, 1.8] # variation + right: [3., 5.5] + - - regions: + left: [-5.5, -3.] + signal: [-1.9, 1.9] # variation + right: [3., 5.5] + - - regions: + left: [-5.5, -3.] + signal: [-2.1, 2.1] # variation + right: [3., 5.5] + - - regions: + left: [-5.5, -3.] + signal: [-2.2, 2.2] # variation + right: [3., 5.5] + - - regions: + left: [-5.5, -3.] + signal: [-2.3, 2.3] # variation + right: [3., 5.5] + - - regions: + left: [-5.5, -3.] + signal: [-2.4, 2.4] # variation + right: [3., 5.5] + - - regions: + left: [-5.5, -3.] + signal: [-2.5, 2.5] # variation + right: [3., 5.5] + ranges: + activate: [yes, yes, yes, yes, yes, yes, yes, yes] + label: + - "SB 3#minus6#it{#sigma}" + - "SB 3#minus5#it{#sigma}" + - "SB 3#minus6#it{#sigma} left" + - "SB 3.5#minus6#it{#sigma} left" + - "SB 4#minus6#it{#sigma} left" + - "SB 3#minus6#it{#sigma} right" + - "SB 3.5#minus6#it{#sigma} right" + - "SB 4#minus6#it{#sigma} right" + diffs: + analysis: + jet_obs: + sidesub: + - - regions: # 3-6 + left: [-6., -3.] # variation + signal: [-2., 2.] + right: [3., 6.] # variation + - - regions: # 3-5 + left: [-5., -3.] # variation + signal: [-2., 2.] + right: [3., 5.] # variation + - - regions: # 3-6 left + left: [-6., -3.] # variation + signal: [-2., 2.] + right: [3., 5.5] + - - regions: # 3.5-6 left + left: [-6., -3.5] # variation + signal: [-2., 2.] + right: [3., 5.5] + - - regions: # 4-6 left + left: [-6., -4.] # variation + signal: [-2., 2.] + right: [3., 5.5] + - - regions: # 3-6 right + left: [-5.5, -3.] + signal: [-2., 2.] + right: [3., 6.] # variation + - - regions: # 3.5-6 right + left: [-5.5, -3.] + signal: [-2., 2.] + right: [3.5, 6.] # variation + - - regions: # 4-6 right + left: [-5.5, -3.] + signal: [-2., 2.] + right: [4., 6.] # variation + sb_left: # TODO? + activate: [no] + label: ["left sb only"] + diffs: + analysis: + jet_obs: + sidebandleftonly: [true] + feeddown: + activate: yes + processor: false + label: "feed-down" + correlation: "corr" + rms: false + symmetrise: false + rms_both_sides: false + variations: + tune: + activate: [yes, yes, yes, yes, yes, yes, yes, yes, yes] + label: + - "#it{f}_{F} = 1, #it{f}_{R} = 0.5" + - "#it{f}_{F} = 0.5, #it{f}_{R} = 1" + - "#it{f}_{F} = 2, #it{f}_{R} = 1" + - "#it{f}_{F} = 1, #it{f}_{R} = 2" + - "#it{f}_{F} = 2, #it{f}_{R} = 2" + - "#it{f}_{F} = 0.5, #it{f}_{R} = 0.5" + - "#it{m}_{b} high" + - "#it{m}_{b} low" + - "no EvtGen" + diffs: + analysis: + jet_obs: + fd_root: + - /data2/vkucera/powheg/trees_powheg_fd_F1_R05.root + - /data2/vkucera/powheg/trees_powheg_fd_F05_R1.root + - /data2/vkucera/powheg/trees_powheg_fd_F2_R1.root + - /data2/vkucera/powheg/trees_powheg_fd_F1_R2.root + - /data2/vkucera/powheg/trees_powheg_fd_F2_R2.root + - /data2/vkucera/powheg/trees_powheg_fd_F05_R05.root + - /data2/vkucera/powheg/trees_powheg_fd_Mhigh.root + - /data2/vkucera/powheg/trees_powheg_fd_Mlow.root + - /data2/vkucera/powheg/trees_powheg_fd_NoEvtGen.root + fd_parquet: + - /data2/vkucera/powheg/Lc/trees_powheg_fd_F1_R05.parquet + - /data2/vkucera/powheg/Lc/trees_powheg_fd_F05_R1.parquet + - /data2/vkucera/powheg/Lc/trees_powheg_fd_F2_R1.parquet + - /data2/vkucera/powheg/Lc/trees_powheg_fd_F1_R2.parquet + - /data2/vkucera/powheg/Lc/trees_powheg_fd_F2_R2.parquet + - /data2/vkucera/powheg/Lc/trees_powheg_fd_F05_R05.parquet + - /data2/vkucera/powheg/Lc/trees_powheg_fd_Mhigh.parquet + - /data2/vkucera/powheg/Lc/trees_powheg_fd_Mlow.parquet + - /data2/vkucera/powheg/Lc/trees_powheg_fd_NoEvtGen.parquet + prior: + activate: yes + processor: true + label: "prior" + group: "unfolding" + correlation: "corr" + rms: true + symmetrise: true + rms_both_sides: true + variations: + flatness: + activate: [yes, yes, yes, yes, yes, yes, yes, yes, yes, no] + label: ["flat 0.1", "flat 0.2", "flat 0.3", "flat 0.4", "flat 0.5", "flat 0.6", "flat 0.7", "flat 0.8", "flat 0.9", "flat 1.0"] + diffs: + analysis: + jet_obs: + unfolding_prior_flatness: [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0] + unfolding_iterations_sel: [5, 5, 6, 6, 7, 7, 7, 7, 8, 8] + modeldep: # TODO + activate: no + processor: true + label: "model dep." + group: "unfolding" + correlation: "corr" + rms: true + symmetrise: true + rms_both_sides: true + variations: + inclusive: + activate: [yes] + label: ["inclusive"] + diffs: + analysis: + jet_nsd: + domodeldep: [true] + regularisation: + activate: yes + processor: false + label: "regularisation" + group: "unfolding" + correlation: "corr" + rms: true + symmetrise: true + rms_both_sides: true + variations: + iter: + activate: [yes, yes] + label: ["down (4)", "up (7)"] + diffs: + analysis: + jet_obs: + unfolding_iterations_sel: [4, 7] + normalisation: + activate: yes + processor: false + label: "#it{#sigma}_{MB}" + correlation: "corr" + rms: true + symmetrise: true + rms_both_sides: true + variations: + crosssection: + activate: [yes, yes] + label: ["#it{#sigma}_{MB} down", "#it{#sigma}_{MB} up"] + diffs: + analysis: + jet_obs: + xsection_inel: [53.46, 65.34] + tracking: + activate: yes + processor: true + label: "JES" + correlation: "corr" + rms: true + symmetrise: true + rms_both_sides: true + variations: + efficiency: + activate: [yes] + label: ["eff. down"] + diffs: + multi: + mc: + prefix_dir: [/data2/MLhep/sim/train_257382/] + binning: + activate: yes + processor: true + label: "binning" + group: "unfolding" + correlation: "corr" + rms: true + symmetrise: true + rms_both_sides: true + variations: + # pt_cand: # TODO + pt_jet: + activate: [yes, yes] + label: + - "#it{p}_{T}^{jet} 5#rightarrow4" + - "#it{p}_{T}^{jet} 50#rightarrow55" + diffs: + analysis: + jet_obs: + bins_ptjet: [[4, 7, 15, 30, 50], [5, 7, 15, 30, 55]] + bins_ptjet_eff: [[2, 4, 7, 15, 30, 50, 70], [2, 5, 7, 15, 30, 55, 70]] + observable: + activate: [no] + label: + - "obs. 1" + diffs: + analysis: + jet_obs: + observables: + zpar: + bins_det_fix: [[20, 0., 1.]] + run2: + activate: [no] + label: + - "Run 2" + diffs: + analysis: + jet_obs: + observables: + zpar: + bins_gen_var: [[0.4, 0.6, 0.7, 0.8, 0.9, 1.]] + bins_det_var: [[0.4, 0.6, 0.7, 0.8, 0.9, 1.]] + cand_sel: + activate: yes + processor: true + label: "BDT cut" + correlation: "corr" + rms: true + symmetrise: true + rms_both_sides: true + variations: + ml: + activate: [no, no, no, yes, yes, yes, yes, no, yes, yes, yes, yes, yes] + label: [ + # default: working point (for tests, should be same as the default result) + # null: no cuts (for tests, whatever was applied on Hyperloop) + # loosest: same cuts as Hyperloop (for tests, should be same as null) + "default", "null", "loosest", "loose 5", "loose 4", "loose 3", "loose 2", "loose 1", "tight 1", "tight 2", "tight 3", "tight 4", "tight 5"] + diffs: + analysis: + jet_obs: + use_cuts: [True, True, True, True, True, True, True, True, True, True, True, True, True] + cuts: + - ["mlPromptScore > 0.97", "mlPromptScore > 0.9", "mlPromptScore > 0.9", "mlPromptScore > 0.85", "mlPromptScore > 0.85", "mlPromptScore > 0.8", "mlPromptScore > 0.8", "mlPromptScore > 0.6", "mlPromptScore > 0.6"] # default + - [null, null, null, null, null, null, null, null, null, null] + - ["mlPromptScore > 0.85", "mlPromptScore > 0.6", "mlPromptScore > 0.6", "mlPromptScore > 0.4", "mlPromptScore > 0.4", "mlPromptScore > 0.4", "mlPromptScore > 0.4", "mlPromptScore > 0.15", "mlPromptScore > 0.15"] # loosest + - ["mlPromptScore > 0.961", "mlPromptScore > 0.83", "mlPromptScore > 0.84", "mlPromptScore > 0.74", "mlPromptScore > 0.74", "mlPromptScore > 0.62", "mlPromptScore > 0.63", "mlPromptScore > 0.15", "mlPromptScore > 0.15"] # loose 5 + - ["mlPromptScore > 0.9628", "mlPromptScore > 0.844", "mlPromptScore > 0.852", "mlPromptScore > 0.762", "mlPromptScore > 0.762", "mlPromptScore > 0.656", "mlPromptScore > 0.664", "mlPromptScore > 0.24", "mlPromptScore > 0.24"] # loose 4 + - ["mlPromptScore > 0.9646", "mlPromptScore > 0.858", "mlPromptScore > 0.864", "mlPromptScore > 0.784", "mlPromptScore > 0.784", "mlPromptScore > 0.692", "mlPromptScore > 0.698", "mlPromptScore > 0.33", "mlPromptScore > 0.33"] # loose 3 + - ["mlPromptScore > 0.9664", "mlPromptScore > 0.872", "mlPromptScore > 0.876", "mlPromptScore > 0.806", "mlPromptScore > 0.806", "mlPromptScore > 0.728", "mlPromptScore > 0.732", "mlPromptScore > 0.42", "mlPromptScore > 0.42"] # loose 2 + - ["mlPromptScore > 0.9682", "mlPromptScore > 0.886", "mlPromptScore > 0.888", "mlPromptScore > 0.828", "mlPromptScore > 0.828", "mlPromptScore > 0.764", "mlPromptScore > 0.766", "mlPromptScore > 0.51", "mlPromptScore > 0.51"] # loose 1 + - ["mlPromptScore > 0.9716", "mlPromptScore > 0.908", "mlPromptScore > 0.9074", "mlPromptScore > 0.863", "mlPromptScore > 0.862", "mlPromptScore > 0.818", "mlPromptScore > 0.816", "mlPromptScore > 0.65", "mlPromptScore > 0.65"] # tight 1 + - ["mlPromptScore > 0.9732", "mlPromptScore > 0.916", "mlPromptScore > 0.9148", "mlPromptScore > 0.876", "mlPromptScore > 0.874", "mlPromptScore > 0.836", "mlPromptScore > 0.832", "mlPromptScore > 0.7", "mlPromptScore > 0.7"] # tight 2 + - ["mlPromptScore > 0.9748", "mlPromptScore > 0.924", "mlPromptScore > 0.9222", "mlPromptScore > 0.889", "mlPromptScore > 0.886", "mlPromptScore > 0.854", "mlPromptScore > 0.848", "mlPromptScore > 0.75", "mlPromptScore > 0.75"] # tight 3 + - ["mlPromptScore > 0.9764", "mlPromptScore > 0.932", "mlPromptScore > 0.9296", "mlPromptScore > 0.902", "mlPromptScore > 0.898", "mlPromptScore > 0.872", "mlPromptScore > 0.864", "mlPromptScore > 0.8", "mlPromptScore > 0.8"] # tight 4 + - ["mlPromptScore > 0.978", "mlPromptScore > 0.94", "mlPromptScore > 0.937", "mlPromptScore > 0.915", "mlPromptScore > 0.91", "mlPromptScore > 0.89", "mlPromptScore > 0.88", "mlPromptScore > 0.85", "mlPromptScore > 0.85"] # tight 5 diff --git a/machine_learning_hep/submission/all_off.yml b/machine_learning_hep/submission/all_off.yml index c986ebdcc0..6323ad6627 100644 --- a/machine_learning_hep/submission/all_off.yml +++ b/machine_learning_hep/submission/all_off.yml @@ -65,18 +65,18 @@ analysis: histomass: false # processer: process_histomass efficiency: false # processer: process_efficiency steps: # analyzer methods to run (uncomment to activate) - ##### Inclusive hadrons - # fit: - # efficiency: - # makenormyields: - ##### Jets - # init: - # calculate_efficiencies: - # qa: - # fit: - # estimate_feeddown: - # analyze_with_sidesub: - # analyze_with_sigextr: + ##### Inclusive hadrons + # fit: + # efficiency: + # makenormyields: + ##### Jets + # init: + # calculate_efficiencies: + # qa: + # fit: + # estimate_feeddown: + # analyze_with_sidesub: + # analyze_with_sigextr: systematics: cutvar: