TODO Summary
Generated: 2026-03-25 18:04 UTC
Found 195 annotations.
TODO
MVA_training/VBF_run2_legacy/dnn_preprocessor.py
| Line | Message |
|---|---|
| 632 | add mixup |
commands.md
| Line | Message |
|---|---|
| 194 |
configs/dnn_run3_vbf.yaml
| Line | Message |
|---|---|
| 24 | Implement the "stratified" option from scikit |
plotter/validation_plotter_unified.py
| Line | Message |
|---|---|
| 713 | Add overflow bins to the last bin |
quick_tests/quickSMFtest_functions.py
| Line | Message |
|---|---|
| 512 | make a dictionary list of starting values optimized for sumexponential for specific data, starting with data_* for ggH |
| 584 | make a dictionary list of starting values optimized for sumexponential for specific data, starting with data_* for ggH |
quick_tests/quick_DNN_training.ipynb
| Line | Message |
|---|---|
| 229 | input year as features and other stuff\n", |
| 515 | add mixup\n", |
run_stage3_validation.py
| Line | Message |
|---|---|
| 287 | add ggH + VBF |
scripts/collect_todos.py
| Line | Message |
|---|---|
| 49 | , TODO(...):, FIXME - ..., etc. (case-insensitive) |
| 104 | Summary\n") |
src/copperhead_processor.py
| Line | Message |
|---|---|
| 626 | make more elegant distinction between Run2 and Run3 |
| 994 | find out why we don't filter out bad events right now via |
| 2152 | STXS VBF cross-section uncertainty |
| 3017 | add btag systematics by adding seperate wgts |
src/corrections/rochester.py
| Line | Message |
|---|---|
| 126 | find out why pt_scale isn't used for ptcorr for MC, bc for data pt_scale is used |
src/lib/fit_functions.py
| Line | Message |
|---|---|
| 653 | make a dictionary list of starting values optimized for sumexponential for specific data, starting with data_* for ggH |
| 725 | make a dictionary list of starting values optimized for sumexponential for specific data, starting with data_* for ggH |
stage3/make_templates.py
| Line | Message |
|---|---|
| 642 | decorrelate LHE, QGL, PDF uncertainties |
FIXME
MVA_training/VBF_run2_legacy/run2_legacyModel/dnn_preprocessor.py
| Line | Message |
|---|---|
| 465 | sig and bkg processes defined at line 1976 of AN-19-124. IDK why ggH is not included here |
| 705 | Temporay fix to fetch both 2024 and others - replace "v12" with "v*" to accomodate v12 and v15 both. So, that I can combine 2024 with other years' data. |
configs/datasets/dataset_nanoAODv12_run2_old.yaml
| Line | Message |
|---|---|
| 59 |
configs/datasets/dataset_nanoAODv15_run2.yaml
| Line | Message |
|---|---|
| 641 | From here onwards below is the automated version of chatGPT from codimd doc (https://codimd.web.cern.ch/aK_Yxu91QHqpsjeWaa4aIw#Parts-missing). So there's a good chance that there's errors |
configs/datasets/dataset_nanoAODv9.yaml
| Line | Message |
|---|---|
| 20 | Instead of "dummy" provide the /eos or /store path. And update code that when it sees that sample name starts from /store read it from EOS. |
configs/datasets/sync_dataset_nanoAODv12.yaml
| Line | Message |
|---|---|
| 19 | replaced data_B -> data_D. So, that output file shoudl be same for 2017 and 2022preEE. Easier for the CI/CD sync names. |
configs/parameters/SF_filelist.yaml
| Line | Message |
|---|---|
| 29 | Update SF |
| 30 | Update SF |
| 31 | Update SF |
| 32 | Update SF |
| 33 | Update SF |
| 41 | |
| 42 | |
| 43 | |
| 70 | input binning error |
configs/parameters/cross_sections.yaml
| Line | Message |
|---|---|
| 81 | |
| 86 | source: AN-19-124 table 2.8 |
| 87 | source: AN-19-124 table 2.8 |
| 134 |
configs/parameters/misc.yaml
| Line | Message |
|---|---|
| 356 | Do we still need this? |
configs/parameters/switches.yaml
| Line | Message |
|---|---|
| 294 | Not validated yet for Run-3 |
plotter/plot_DNN_score.py
| Line | Message |
|---|---|
| 117 | |
| 263 | |
| 266 |
plotter/validation_plotter_unified.py
| Line | Message |
|---|---|
| 339 | Later try to get the lumi from the copperhead_processor get_sample_info function |
| 341 | hardcoded filename |
| 453 | add the filter and selection while loading the parquet file |
| 543 | Is it mandatory to use all regions and channels name below? Or I can just replace it with args.regions and args.category? |
| 675 | this is hardcoded value, should be replaced with lumi value from config file |
| 716 | Why weights with data? |
run_prestage.py
| Line | Message |
|---|---|
| 418 | force turn off xcache for data. This is temporary solution, until hadded for customnanod is fixed for the data files |
| 555 | Temporary fix. Remove this patch |
run_stage1.py
| Line | Message |
|---|---|
| 526 | update this for /store usage |
run_stage2.py
| Line | Message |
|---|---|
| 230 | . overwrite for testing |
| 270 | if there's any missing up and down variations, just plug it with the nominal value: |
| 428 | , temp hard code to add dummy prefiring wgts for 2018 |
| 861 |
run_stage2_vbf.py
| Line | Message |
|---|---|
| 410 | For debugging purpose. |
| 508 | This introduces some issue and number of entries does not remain same. |
run_stage3.py
| Line | Message |
|---|---|
| 686 | replace sumexp with BWZxBern |
| 699 | replace sumexp with Powerlaw |
| 721 | replace sumexp with landauBern |
| 735 | replace sumexp with bwzGamma |
run_stage3_validation.py
| Line | Message |
|---|---|
| 734 |
src/copperhead_processor.py
| Line | Message |
|---|---|
| 505 | currently, dy_M-50 is hardcoded |
| 641 | Why pt_raw |
| 1255 | Remove this if condition later when we update the yaml file for run2 too. |
| 1256 | hardcoded filename |
| 1300 | For data (is is_mc == False) I should not add this variations. |
| 1306 | JER variation part is not running. |
| 1888 | year is temporarily here. |
| 1987 | weights and weightsmodifier are availalbe starting coffea: 2025.3.0 |
| 2051 | weights and weightsmodifier are availalbe starting coffea: 2025.3.0 |
| 2054 | extra info for (unweighted + weighted + efficiencies) |
| 2166 | Not used |
| 2167 | Not used |
| 2267 | hardcoded puID |
| 2362 | |
| 2364 | we should get the weight for each jet and multiply them together. |
| 2585 | NanoAODv12 and NanoAODv15 have qgl as a field as AK4 jets are CHS for run-2, but not for run-3 |
| 2933 | |
| 3056 | Currently the working point is used what was defined for DeepB, should be updated for DeepFlavB |
src/corrections/custom_jec.py
| Line | Message |
|---|---|
| 34 | jec_parameters is not defined |
| 49 | Hard code for now |
src/corrections/jet.py
| Line | Message |
|---|---|
| 546 | Do we really this this? As HEM veto is there only for 2018 UL |
src/lib/ebeMassResCalibration/basic_class_for_calibration.py
| Line | Message |
|---|---|
| 319 | for some reason ddf2.compute() is not running on gateway. |
| 973 | Added this condition for 2018 data, because the fit was not converging |
stage1_loop_Improved.sh
| Line | Message |
|---|---|
| 230 | This is a temporary fix, will try to sync the naming convention in the stage2 python script. |
| 368 | Hardcoded DY sample name: aMCatNLO or MiNNLO or amcatnloFXFX or powheg or INCamcatnloFXFX |
stage2/ggH_datacard/generate_datacard.py
| Line | Message |
|---|---|
| 311 | |
| 312 |
stage2_sh.sh
| Line | Message |
|---|---|
| 152 | make do_jecUnc optional |
| 170 | remove "all" from years list if exists |
stage3/make_datacards.py
| Line | Message |
|---|---|
| 39 | update the values |
| 47 | update the values |
| 55 | update the values |
| 63 | update the values |
| 71 | update the values |
| 112 | WE should send this at a centralized YAML file |
| 205 | Temporarily commenting out the DYJ01 rate param since we are not using it in the datacard for now |
| 213 | Temporarily commenting out the DYJ01 rate param since we are not using it in the datacard for now |
| 327 | Temporarily commenting out the rate systematics since we are not using them in the datacard for now |
validation/ggH/bias_test/run_bias_test.py
| Line | Message |
|---|---|
| 236 | |
| 1029 | temporarily remove 2024 vbf parquet bc it's corrupt |
validation/ggH/categorization/getTable_6_2And6_12.py
| Line | Message |
|---|---|
| 105 |
validation/ggH/categorization/plot_6_13.py
| Line | Message |
|---|---|
| 195 | Update this from central place. |
validation/ggH/categorization/plot_6_19.py
| Line | Message |
|---|---|
| 209 |
validation/ggH/categorization/plot_6_7.py
| Line | Message |
|---|---|
| 273 | copy the edges from 2024 BDT edges yaml file |
BUG
plotter/validation_plotter_unified.py
| Line | Message |
|---|---|
| 658 | PURPOSES |
scripts/mergeNanoAODRootFiles.py
| Line | Message |
|---|---|
| 27 | ) |
stage1_loop_Improved.sh
| Line | Message |
|---|---|
| 398 | " |
| 408 | " |
NOTE
DaskGatewaySLURM.ipynb
| Line | Message |
|---|---|
| 88 | The file .conda_env_name.txt will be generated by the setup_env.sh script.\n", |
configs/parameters/switches.yaml
| Line | Message |
|---|---|
| 304 | for nanoAODv15 Run2, it should be false for now |
| 314 | for nanoAODv15 Run2, it should be false for now |
docs/demo/blindedChi2NDF/chi2Ndf.py
| Line | Message |
|---|---|
| 76 | "the chi2 is calculated between a plot of the original distribution and the data. It therefore has more rounding errors " from https://root.cern.ch/doc/master/classRooPlot.html#ae2bbe62ce38dbf09bc894acbb117e68d |
| 120 | the difference chi2ndf values between method1 and method2 is about 3%, |
| 262 | we verify that chi2/ndf from method2 matches with method3. However, method4 doesn't work when it comes to combining two regions. This is an implementation issue, but I couldn't find a workaround. Thus, we abandon the use of method4. |
| 297 | for method4, we observe that chi2 obtained from chi2_ndf over the blinded region |
modules/fit_functions.py
| Line | Message |
|---|---|
| 574 | the plots are sensitve to rebins |
modules/selection.py
| Line | Message |
|---|---|
| 105 | fatjet and MET veto for VH: nfatJets_drmuon == 0 and MET_pt < 150 GeV |
| 112 | btag cut for VH and ttH categories |
modules/selection_debug.py
| Line | Message |
|---|---|
| 243 | fatjet and MET veto for VH: nfatJets_drmuon == 0 and MET_pt < 150 GeV |
| 250 | btag cut for VH and ttH categories |
quick_tests/quick_sort_test.ipynb
| Line | Message |
|---|---|
| 214 | this decorator assumes that the operation is exposed under ak.\u001b[39;00m\n\u001b[0;32m---> 38\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m OperationErrorContext(name, args, kwargs):\n\u001b[1;32m 39\u001b[0m gen_or_result \u001b[38;5;241m=\u001b[39m func(\u001b[38;5;241m\u001b[39margs, \u001b[38;5;241m\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[1;32m 40\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m isgenerator(gen_or_result):\n", |
quick_tests/quick_trigger_matching.ipynb
| Line | Message |
|---|---|
| 290 | this decorator assumes that the operation is exposed under ak.\u001b[39;00m\n\u001b[0;32m---> 38\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m OperationErrorContext(name, args, kwargs):\n\u001b[1;32m 39\u001b[0m gen_or_result \u001b[38;5;241m=\u001b[39m func(\u001b[38;5;241m\u001b[39margs, \u001b[38;5;241m\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[1;32m 40\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m isgenerator(gen_or_result):\n", |
scripts/get_significance.sh
| Line | Message |
|---|---|
| 11 | combine cards command is different for EACH category |
| 14 | Generate asimov with pdf_index that's most representative |
| 20 | combine cards command is different for EACH category |
| 23 | Generate asimov with pdf_index that's most representative |
| 29 | combine cards command is different for EACH category |
| 32 | Generate asimov with pdf_index that's most representative |
| 38 | combine cards command is different for EACH category |
| 41 | Generate asimov with pdf_index that's most representative |
| 47 | combine cards command is different for EACH category |
| 50 | Generate asimov with pdf_index that's most representative |
| 56 | combine cards command is different for EACH category |
| 59 | Generate asimov with pdf_index that's most representative |
| 69 | combine cards command is different for EACH category |
| 72 | Generate asimov with pdf_index that's most representative |
| 78 | combine cards command is different for EACH category |
| 81 | Generate asimov with pdf_index that's most representative |
| 87 | combine cards command is different for EACH category |
| 90 | Generate asimov with pdf_index that's most representative |
| 96 | combine cards command is different for EACH category |
| 99 | Generate asimov with pdf_index that's most representative |
| 105 | combine cards command is different for EACH category |
| 108 | Generate asimov with pdf_index that's most representative |
| 115 | combine cards command is different for EACH category |
| 118 | Generate asimov with pdf_index that's most representative |
| 134 | combine cards command is different for EACH category |
| 137 | Generate asimov with pdf_index that's most representative |
| 142 | combine cards command is different for EACH category |
| 145 | Generate asimov with pdf_index that's most representative |
| 150 | combine cards command is different for EACH category |
| 153 | Generate asimov with pdf_index that's most representative |
| 158 | combine cards command is different for EACH category |
| 161 | Generate asimov with pdf_index that's most representative |
| 166 | combine cards command is different for EACH category |
| 169 | Generate asimov with pdf_index that's most representative |
| 175 | combine cards command is different for EACH category |
| 178 | Generate asimov with pdf_index that's most representative |
| 191 | combine cards command is different for EACH category |
| 194 | Generate asimov with pdf_index that's most representative |
| 202 | combine cards command is different for EACH category |
| 205 | Generate asimov with pdf_index that's most representative |
| 212 | combine cards command is different for EACH category |
| 215 | Generate asimov with pdf_index that's most representative |
| 223 | combine cards command is different for EACH category |
| 226 | Generate asimov with pdf_index that's most representative |
| 233 | combine cards command is different for EACH category |
| 236 | Generate asimov with pdf_index that's most representative |
| 243 | combine cards command is different for EACH category |
| 246 | Generate asimov with pdf_index that's most representative |
scripts/jetPUId_yieldTable.py
| Line | Message |
|---|---|
| 107 | fatjet and MET veto for VH: nfatJets_drmuon == 0 and MET_pt < 150 GeV |
| 114 | btag cut for VH and ttH categories |
scripts/mergeNanoAODRootFiles.py
| Line | Message |
|---|---|
| 306 | the redirector |
| 311 | different redirector for the output path and creation of directory in above command. |
src/copperhead/zpt_rewgt/derive/bin_definitions.py
| Line | Message |
|---|---|
| 104 | if last bin width is smaller than the previous one, merge the last two bins |
src/copperhead/zpt_rewgt/derive/save_SF_rootFiles.py
| Line | Message |
|---|---|
| 241 | Set min/max or title should go after ratio_plot.Draw() |
src/copperhead_processor.py
| Line | Message |
|---|---|
| 292 | its recommended to not apply the Jet_jetId or any other correction |
| 427 | Don't reset PuppiMET.phi otherwise we will see a peak at zero in PuppiMET.phi distribution |
| 544 | this would probably be superfluous if you already do trigger matching |
| 608 | Hardcoded chi2 cut for beam constraint |
| 924 | if you want to keep this method, (which I don't btw since the original |
| 2934 | SoftJET variables are all from Nominal variation despite variation names |
src/corrections/geofit.py
| Line | Message |
|---|---|
| 48 | pt_corr == pt_roch - pt_gen |
src/corrections/jet.py
| Line | Message |
|---|---|
| 382 | PUID for 2017 is tight in horn region but not for other eras in Run2 |
| 714 | we assume that "nominal" is the first element list |
| 846 | if I name this "pt_jer_nominal", sorting jets by jet.pt breaks |
| 1001 | if you use pt, eta, phi, or t variables to initialize, it doesn't work. It's quite finnicky in that way. |
src/lib/ebeMassResCalibration/basic_class_for_calibration.py
| Line | Message |
|---|---|
| 778 | Remember to provide "Name" argument to plotOn so that legend and chi2 can find the correct objects |
| 791 | compute chi2 after all plotOn calls to ensure correct components are drawn |
| 996 | The lower bound on sigma was intentionally loosened from 0.1 to 0.001 |
| 1198 | Remember to provide "Name" argument to plotOn so that legend and chi2 can find the correct objects |
| 1211 | compute chi2 after all plotOn calls to ensure correct components are drawn |