From 606345be6555c4d34d9ef50236c41b616d9a656d Mon Sep 17 00:00:00 2001 From: Monica Dessole <36501030+mdessole@users.noreply.github.com> Date: Tue, 3 Dec 2024 16:47:11 +0100 Subject: [PATCH] [tutorial] Create `Data analysis` category (#17091) --- tutorials/CMakeLists.txt | 110 +++++++++--------- .../{ => analysis}/dataframe/df000_simple.C | 0 .../{ => analysis}/dataframe/df000_simple.py | 0 .../dataframe/df001_introduction.C | 0 .../dataframe/df001_introduction.py | 0 .../dataframe/df002_dataModel.C | 0 .../dataframe/df002_dataModel.py | 0 .../{ => analysis}/dataframe/df003_profiles.C | 0 .../dataframe/df003_profiles.py | 0 .../dataframe/df004_cutFlowReport.C | 0 .../dataframe/df004_cutFlowReport.py | 0 .../dataframe/df005_fillAnyObject.C | 0 .../{ => analysis}/dataframe/df006_ranges.C | 0 .../{ => analysis}/dataframe/df006_ranges.py | 0 .../{ => analysis}/dataframe/df007_snapshot.C | 0 .../dataframe/df007_snapshot.py | 0 .../df008_createDataSetFromScratch.C | 0 .../df008_createDataSetFromScratch.py | 0 .../dataframe/df009_FromScratchVSTTree.C | 0 .../dataframe/df010_trivialDataSource.C | 0 .../dataframe/df010_trivialDataSource.py | 0 .../df012_DefinesAndFiltersAsStrings.C | 0 .../df012_DefinesAndFiltersAsStrings.py | 0 .../dataframe/df013_InspectAnalysis.C | 0 .../dataframe/df014_CSVDataSource.C | 0 .../dataframe/df014_CSVDataSource.py | 0 .../dataframe/df015_LazyDataSource.C | 0 .../{ => analysis}/dataframe/df016_vecOps.C | 0 .../{ => analysis}/dataframe/df016_vecOps.py | 0 .../dataframe/df017_vecOpsHEP.C | 2 +- .../dataframe/df017_vecOpsHEP.py | 2 +- .../dataframe/df017_vecOpsHEP.root | Bin .../dataframe/df018_customActions.C | 0 .../{ => analysis}/dataframe/df019_Cache.C | 0 .../{ => analysis}/dataframe/df019_Cache.py | 0 .../{ => analysis}/dataframe/df020_helpers.C | 0 .../dataframe/df021_createTGraph.C | 0 .../dataframe/df021_createTGraph.py | 0 .../{ => analysis}/dataframe/df022_useKahan.C | 0 .../dataframe/df023_aggregate.C | 0 .../{ => analysis}/dataframe/df024_Display.C | 0 .../{ => analysis}/dataframe/df024_Display.py | 0 .../{ => analysis}/dataframe/df025_RNode.C | 0 .../dataframe/df026_AsNumpyArrays.py | 0 .../df027_SQliteDependencyOverVersion.C | 0 .../dataframe/df028_SQliteIPLocation.C | 0 .../df029_SQlitePlatformDistribution.C | 0 .../dataframe/df030_SQliteVersionsOfROOT.C | 0 .../{ => analysis}/dataframe/df031_Stats.C | 0 .../{ => analysis}/dataframe/df031_Stats.py | 0 .../dataframe/df032_RDFFromNumpy.py | 0 .../dataframe/df033_Describe.py | 0 .../dataframe/df034_SaveGraph.C | 0 .../dataframe/df034_SaveGraph.py | 0 .../dataframe/df035_RDFFromPandas.py | 0 .../dataframe/df036_missingBranches.C | 0 .../dataframe/df036_missingBranches.py | 0 .../dataframe/df037_TTreeEventMatching.C | 0 .../dataframe/df037_TTreeEventMatching.py | 0 .../dataframe/df101_h1Analysis.C | 0 .../dataframe/df102_NanoAODDimuonAnalysis.C | 0 .../dataframe/df102_NanoAODDimuonAnalysis.py | 0 .../dataframe/df103_NanoAODHiggsAnalysis.C | 0 .../dataframe/df103_NanoAODHiggsAnalysis.py | 4 +- .../df103_NanoAODHiggsAnalysis_python.h | 0 .../dataframe/df104_HiggsToTwoPhotons.py | 0 .../dataframe/df105_WBosonAnalysis.json | 0 .../dataframe/df105_WBosonAnalysis.py | 2 +- .../dataframe/df106_HiggsToFourLeptons.C | 0 .../dataframe/df106_HiggsToFourLeptons.py | 4 +- .../df106_HiggsToFourLeptons_spec.json | 0 .../dataframe/df107_SingleTopAnalysis.json | 0 .../dataframe/df107_SingleTopAnalysis.py | 2 +- .../dataframe/distrdf001_spark_connection.py | 0 .../dataframe/distrdf002_dask_connection.py | 0 .../distrdf003_live_visualization.py | 0 .../dataframe/distrdf004_dask_lxbatch.py | 0 tutorials/{ => analysis}/dataframe/index.md | 0 tutorials/analysis/index.md | 11 ++ .../{ => analysis}/unfold/TSVDUnfoldExample.C | 0 tutorials/{ => analysis}/unfold/index.md | 0 tutorials/{ => analysis}/unfold/testUnfold1.C | 0 tutorials/{ => analysis}/unfold/testUnfold2.C | 0 tutorials/{ => analysis}/unfold/testUnfold3.C | 0 tutorials/{ => analysis}/unfold/testUnfold4.C | 0 .../{ => analysis}/unfold/testUnfold5a.C | 0 .../{ => analysis}/unfold/testUnfold5b.C | 0 .../{ => analysis}/unfold/testUnfold5c.C | 0 .../{ => analysis}/unfold/testUnfold5d.C | 0 tutorials/{ => analysis}/unfold/testUnfold6.C | 0 .../unfold/testUnfold6binning.xml | 0 .../{ => analysis}/unfold/testUnfold7a.C | 0 .../{ => analysis}/unfold/testUnfold7b.C | 0 .../unfold/testUnfold7binning.xml | 0 .../{ => analysis}/unfold/testUnfold7c.C | 0 .../{ => analysis}/unfold/tunfoldbinning.dtd | 0 tutorials/experimental/rcanvas/df105.py | 2 +- tutorials/index.md | 7 +- tutorials/roofit/rf618_mixture_models.py | 2 +- 99 files changed, 78 insertions(+), 70 deletions(-) rename tutorials/{ => analysis}/dataframe/df000_simple.C (100%) rename tutorials/{ => analysis}/dataframe/df000_simple.py (100%) rename tutorials/{ => analysis}/dataframe/df001_introduction.C (100%) rename tutorials/{ => analysis}/dataframe/df001_introduction.py (100%) rename tutorials/{ => analysis}/dataframe/df002_dataModel.C (100%) rename tutorials/{ => analysis}/dataframe/df002_dataModel.py (100%) rename tutorials/{ => analysis}/dataframe/df003_profiles.C (100%) rename tutorials/{ => analysis}/dataframe/df003_profiles.py (100%) rename tutorials/{ => analysis}/dataframe/df004_cutFlowReport.C (100%) rename tutorials/{ => analysis}/dataframe/df004_cutFlowReport.py (100%) rename tutorials/{ => analysis}/dataframe/df005_fillAnyObject.C (100%) rename tutorials/{ => analysis}/dataframe/df006_ranges.C (100%) rename tutorials/{ => analysis}/dataframe/df006_ranges.py (100%) rename tutorials/{ => analysis}/dataframe/df007_snapshot.C (100%) rename tutorials/{ => analysis}/dataframe/df007_snapshot.py (100%) rename tutorials/{ => analysis}/dataframe/df008_createDataSetFromScratch.C (100%) rename tutorials/{ => analysis}/dataframe/df008_createDataSetFromScratch.py (100%) rename tutorials/{ => analysis}/dataframe/df009_FromScratchVSTTree.C (100%) rename tutorials/{ => analysis}/dataframe/df010_trivialDataSource.C (100%) rename tutorials/{ => analysis}/dataframe/df010_trivialDataSource.py (100%) rename tutorials/{ => analysis}/dataframe/df012_DefinesAndFiltersAsStrings.C (100%) rename tutorials/{ => analysis}/dataframe/df012_DefinesAndFiltersAsStrings.py (100%) rename tutorials/{ => analysis}/dataframe/df013_InspectAnalysis.C (100%) rename tutorials/{ => analysis}/dataframe/df014_CSVDataSource.C (100%) rename tutorials/{ => analysis}/dataframe/df014_CSVDataSource.py (100%) rename tutorials/{ => analysis}/dataframe/df015_LazyDataSource.C (100%) rename tutorials/{ => analysis}/dataframe/df016_vecOps.C (100%) rename tutorials/{ => analysis}/dataframe/df016_vecOps.py (100%) rename tutorials/{ => analysis}/dataframe/df017_vecOpsHEP.C (96%) rename tutorials/{ => analysis}/dataframe/df017_vecOpsHEP.py (94%) rename tutorials/{ => analysis}/dataframe/df017_vecOpsHEP.root (100%) rename tutorials/{ => analysis}/dataframe/df018_customActions.C (100%) rename tutorials/{ => analysis}/dataframe/df019_Cache.C (100%) rename tutorials/{ => analysis}/dataframe/df019_Cache.py (100%) rename tutorials/{ => analysis}/dataframe/df020_helpers.C (100%) rename tutorials/{ => analysis}/dataframe/df021_createTGraph.C (100%) rename tutorials/{ => analysis}/dataframe/df021_createTGraph.py (100%) rename tutorials/{ => analysis}/dataframe/df022_useKahan.C (100%) rename tutorials/{ => analysis}/dataframe/df023_aggregate.C (100%) rename tutorials/{ => analysis}/dataframe/df024_Display.C (100%) rename tutorials/{ => analysis}/dataframe/df024_Display.py (100%) rename tutorials/{ => analysis}/dataframe/df025_RNode.C (100%) rename tutorials/{ => analysis}/dataframe/df026_AsNumpyArrays.py (100%) rename tutorials/{ => analysis}/dataframe/df027_SQliteDependencyOverVersion.C (100%) rename tutorials/{ => analysis}/dataframe/df028_SQliteIPLocation.C (100%) rename tutorials/{ => analysis}/dataframe/df029_SQlitePlatformDistribution.C (100%) rename tutorials/{ => analysis}/dataframe/df030_SQliteVersionsOfROOT.C (100%) rename tutorials/{ => analysis}/dataframe/df031_Stats.C (100%) rename tutorials/{ => analysis}/dataframe/df031_Stats.py (100%) rename tutorials/{ => analysis}/dataframe/df032_RDFFromNumpy.py (100%) rename tutorials/{ => analysis}/dataframe/df033_Describe.py (100%) rename tutorials/{ => analysis}/dataframe/df034_SaveGraph.C (100%) rename tutorials/{ => analysis}/dataframe/df034_SaveGraph.py (100%) rename tutorials/{ => analysis}/dataframe/df035_RDFFromPandas.py (100%) rename tutorials/{ => analysis}/dataframe/df036_missingBranches.C (100%) rename tutorials/{ => analysis}/dataframe/df036_missingBranches.py (100%) rename tutorials/{ => analysis}/dataframe/df037_TTreeEventMatching.C (100%) rename tutorials/{ => analysis}/dataframe/df037_TTreeEventMatching.py (100%) rename tutorials/{ => analysis}/dataframe/df101_h1Analysis.C (100%) rename tutorials/{ => analysis}/dataframe/df102_NanoAODDimuonAnalysis.C (100%) rename tutorials/{ => analysis}/dataframe/df102_NanoAODDimuonAnalysis.py (100%) rename tutorials/{ => analysis}/dataframe/df103_NanoAODHiggsAnalysis.C (100%) rename tutorials/{ => analysis}/dataframe/df103_NanoAODHiggsAnalysis.py (99%) rename tutorials/{ => analysis}/dataframe/df103_NanoAODHiggsAnalysis_python.h (100%) rename tutorials/{ => analysis}/dataframe/df104_HiggsToTwoPhotons.py (100%) rename tutorials/{ => analysis}/dataframe/df105_WBosonAnalysis.json (100%) rename tutorials/{ => analysis}/dataframe/df105_WBosonAnalysis.py (99%) rename tutorials/{ => analysis}/dataframe/df106_HiggsToFourLeptons.C (100%) rename tutorials/{ => analysis}/dataframe/df106_HiggsToFourLeptons.py (97%) rename tutorials/{ => analysis}/dataframe/df106_HiggsToFourLeptons_spec.json (100%) rename tutorials/{ => analysis}/dataframe/df107_SingleTopAnalysis.json (100%) rename tutorials/{ => analysis}/dataframe/df107_SingleTopAnalysis.py (99%) rename tutorials/{ => analysis}/dataframe/distrdf001_spark_connection.py (100%) rename tutorials/{ => analysis}/dataframe/distrdf002_dask_connection.py (100%) rename tutorials/{ => analysis}/dataframe/distrdf003_live_visualization.py (100%) rename tutorials/{ => analysis}/dataframe/distrdf004_dask_lxbatch.py (100%) rename tutorials/{ => analysis}/dataframe/index.md (100%) create mode 100644 tutorials/analysis/index.md rename tutorials/{ => analysis}/unfold/TSVDUnfoldExample.C (100%) rename tutorials/{ => analysis}/unfold/index.md (100%) rename tutorials/{ => analysis}/unfold/testUnfold1.C (100%) rename tutorials/{ => analysis}/unfold/testUnfold2.C (100%) rename tutorials/{ => analysis}/unfold/testUnfold3.C (100%) rename tutorials/{ => analysis}/unfold/testUnfold4.C (100%) rename tutorials/{ => analysis}/unfold/testUnfold5a.C (100%) rename tutorials/{ => analysis}/unfold/testUnfold5b.C (100%) rename tutorials/{ => analysis}/unfold/testUnfold5c.C (100%) rename tutorials/{ => analysis}/unfold/testUnfold5d.C (100%) rename tutorials/{ => analysis}/unfold/testUnfold6.C (100%) rename tutorials/{ => analysis}/unfold/testUnfold6binning.xml (100%) rename tutorials/{ => analysis}/unfold/testUnfold7a.C (100%) rename tutorials/{ => analysis}/unfold/testUnfold7b.C (100%) rename tutorials/{ => analysis}/unfold/testUnfold7binning.xml (100%) rename tutorials/{ => analysis}/unfold/testUnfold7c.C (100%) rename tutorials/{ => analysis}/unfold/tunfoldbinning.dtd (100%) diff --git a/tutorials/CMakeLists.txt b/tutorials/CMakeLists.txt index fe7364ea3fcca..2153525edc9ad 100644 --- a/tutorials/CMakeLists.txt +++ b/tutorials/CMakeLists.txt @@ -62,7 +62,7 @@ ACLiC.LinkLibs: 1 ") #---Tutorials that need substantial network to work------------------ -set(need_network dataframe/df027_SQliteDependencyOverVersion.C) +set(need_network analysis/dataframe/df027_SQliteDependencyOverVersion.C) #---Tutorials disabled depending on the build components------------- @@ -83,10 +83,10 @@ if(MSVC AND NOT win_broken_tests) list(APPEND dataframe_veto tmva/RBatchGenerator_filters_vectors.py) # df036* and df037* seem to trigger OS errors when trying to delete the # test files created in the tutorials. It is unclear why. - list(APPEND dataframe_veto dataframe/df036_missingBranches.C) - list(APPEND dataframe_veto dataframe/df036_missingBranches.py) - list(APPEND dataframe_veto dataframe/df037_TTreeEventMatching.C) - list(APPEND dataframe_veto dataframe/df037_TTreeEventMatching.py) + list(APPEND dataframe_veto analysis/dataframe/df036_missingBranches.C) + list(APPEND dataframe_veto analysis/dataframe/df036_missingBranches.py) + list(APPEND dataframe_veto analysis/dataframe/df037_TTreeEventMatching.C) + list(APPEND dataframe_veto analysis/dataframe/df037_TTreeEventMatching.py) # The RooFit SBI tutorials fail on Windows for unknown reasons list(APPEND roofit_veto roofit/rf617_simulation_based_inference_multidimensional.py) endif() @@ -99,7 +99,7 @@ list(APPEND roofit_veto roofit/rf615_simulation_based_inference.py) if (NOT dataframe) # RDataFrame - list(APPEND dataframe_veto dataframe/*.C dataframe/*.py) + list(APPEND dataframe_veto analysis/dataframe/*.C analysis/dataframe/*.py) # RDataFrame tutorial in graphs list(APPEND dataframe_veto graphs/timeSeriesFromCSV_TDF.C) # TMVA tutorials dependent on RDataFrame @@ -117,17 +117,17 @@ endif() if(NOT sqlite) # RDF+SQlite tutorials - list(APPEND dataframe_veto dataframe/*SQlite*) + list(APPEND dataframe_veto analysis/dataframe/*SQlite*) endif() if(NOT davix) - list(APPEND dataframe_veto dataframe/df027_SQliteDependencyOverVersion.C) - list(APPEND dataframe_veto dataframe/df028_SQliteIPLocation.C) - list(APPEND dataframe_veto dataframe/df029_SQlitePlatformDistribution.C) - list(APPEND dataframe_veto dataframe/df030_SQliteVersionsOfROOT.C) + list(APPEND dataframe_veto analysis/dataframe/df027_SQliteDependencyOverVersion.C) + list(APPEND dataframe_veto analysis/dataframe/df028_SQliteIPLocation.C) + list(APPEND dataframe_veto analysis/dataframe/df029_SQlitePlatformDistribution.C) + list(APPEND dataframe_veto analysis/dataframe/df030_SQliteVersionsOfROOT.C) endif() if(MACOSX_VERSION VERSION_EQUAL 10.13) - list(APPEND dataframe_veto dataframe/df103_NanoAODHiggsAnalysis.*) + list(APPEND dataframe_veto analysis/dataframe/df103_NanoAODHiggsAnalysis.*) endif() if(NOT geom) @@ -169,7 +169,7 @@ if(NOT ROOT_xml_FOUND) endif() if(NOT ROOT_unfold_FOUND) - list(APPEND xml_veto unfold/*.C) + list(APPEND xml_veto analysis/unfold/*.C) endif() if(NOT ROOT_mpi_FOUND) @@ -177,18 +177,18 @@ if(NOT ROOT_mpi_FOUND) endif() if(NOT xrootd) - set(xrootd_veto dataframe/df101_h1Analysis.C - dataframe/df102_NanoAODDimuonAnalysis.C - dataframe/df103_NanoAODHiggsAnalysis.C - dataframe/df106_HiggsToFourLeptons.C + set(xrootd_veto analysis/dataframe/df101_h1Analysis.C + analysis/dataframe/df102_NanoAODDimuonAnalysis.C + analysis/dataframe/df103_NanoAODHiggsAnalysis.C + analysis/dataframe/df106_HiggsToFourLeptons.C tmva/tmva103_Application.C - dataframe/df033_Describe.py - dataframe/df102_NanoAODDimuonAnalysis.py - dataframe/df103_NanoAODHiggsAnalysis.py - dataframe/df104_HiggsToTwoPhotons.py - dataframe/df105_WBosonAnalysis.py - dataframe/df106_HiggsToFourLeptons.py - dataframe/df107_SingleTopAnalysis.py + analysis/dataframe/df033_Describe.py + analysis/dataframe/df102_NanoAODDimuonAnalysis.py + analysis/dataframe/df103_NanoAODHiggsAnalysis.py + analysis/dataframe/df104_HiggsToTwoPhotons.py + analysis/dataframe/df105_WBosonAnalysis.py + analysis/dataframe/df106_HiggsToFourLeptons.py + analysis/dataframe/df107_SingleTopAnalysis.py roofit/rf618_mixture_models.py # depends on df106_HiggsToFourLeptons.py experimental/rcanvas/df104.py experimental/rcanvas/df105.py @@ -356,7 +356,7 @@ if (NOT ROOT_vecgeom_FOUND) endif() if(root7) - set(root7_veto dataframe/df013_InspectAnalysis.C + set(root7_veto analysis/dataframe/df013_InspectAnalysis.C experimental/browser.cxx experimental/filedialog.cxx experimental/fitpanel.cxx @@ -381,14 +381,14 @@ if(root7) endif() else() if(MSVC AND NOT win_broken_tests) - list(APPEND root7_veto dataframe/df013_InspectAnalysis.C) + list(APPEND root7_veto analysis/dataframe/df013_InspectAnalysis.C) endif() file(GLOB v7_veto_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/ experimental/*.py experimental/*.cxx experimental/*/*.cxx experimental/*.C experimental/*/*.C experimental/rcanvas/*.py experimental/rcanvas/*.cxx) list(APPEND root7_veto ${v7_veto_files}) endif() if (APPLE AND CMAKE_SYSTEM_PROCESSOR MATCHES arm64) - set(macm1_veto dataframe/df107_SingleTopAnalysis.py) + set(macm1_veto analysis/dataframe/df107_SingleTopAnalysis.py) endif() #---These ones are disabled !!! ------------------------------------ @@ -422,17 +422,17 @@ set(extra_veto if(MSVC AND NOT llvm13_broken_tests) list(APPEND extra_veto math/exampleFunction.py - dataframe/df002_dataModel.C - dataframe/df016_vecOps.C - dataframe/df017_vecOpsHEP.C - dataframe/df002_dataModel.py - dataframe/df016_vecOps.py - dataframe/df017_vecOpsHEP.py - dataframe/df032_RDFFromNumpy.py - dataframe/df035_RDFFromPandas.py) + analysis/dataframe/df002_dataModel.C + analysis/dataframe/df016_vecOps.C + analysis/dataframe/df017_vecOpsHEP.C + analysis/dataframe/df002_dataModel.py + analysis/dataframe/df016_vecOps.py + analysis/dataframe/df017_vecOpsHEP.py + analysis/dataframe/df032_RDFFromNumpy.py + analysis/dataframe/df035_RDFFromPandas.py) if(CMAKE_SIZEOF_VOID_P EQUAL 4) list(APPEND extra_veto - dataframe/df007_snapshot.C + analysis/dataframe/df007_snapshot.C graphics/earth.C graphs/motorcycle.C io/ntuple/ntpl001_staff.C) @@ -515,12 +515,12 @@ set(returncode_1 math/fit/fit2a.C math/chi2test.C math/r/SimpleFitting.C) #---Dependencies------------------------------------------------------ -set(unfold-testUnfold5d-depends tutorial-unfold-testUnfold5c) -set(unfold-testUnfold5c-depends tutorial-unfold-testUnfold5b) -set(unfold-testUnfold5b-depends tutorial-unfold-testUnfold5a) -set(unfold-testUnfold7d-depends tutorial-unfold-testUnfold7c) -set(unfold-testUnfold7c-depends tutorial-unfold-testUnfold7b) -set(unfold-testUnfold7b-depends tutorial-unfold-testUnfold7a) +set(analysis-unfold-testUnfold5d-depends tutorial-analysis-unfold-testUnfold5c) +set(analysis-unfold-testUnfold5c-depends tutorial-analysis-unfold-testUnfold5b) +set(analysis-unfold-testUnfold5b-depends tutorial-analysis-unfold-testUnfold5a) +set(analysis-unfold-testUnfold7d-depends tutorial-analysis-unfold-testUnfold7c) +set(analysis-unfold-testUnfold7c-depends tutorial-analysis-unfold-testUnfold7b) +set(analysis-unfold-testUnfold7b-depends tutorial-analysis-unfold-testUnfold7a) set(io-xml-xmlmodifyfile-depends tutorial-io-xml-xmlnewfile) set(io-xml-xmlreadfile-depends tutorial-io-xml-xmlnewfile) set(roofit-rf503_wspaceread-depends tutorial-roofit-rf502_wspacewrite) @@ -601,13 +601,13 @@ endif() #--List long-running tutorials to label them as "longtest" set (long_running - dataframe/df10[2-7]* + analysis/dataframe/df10[2-7]* multicore/mp103*) file(GLOB long_running RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${long_running}) #--List multithreaded tutorials to run them serially set(NProcessors 4) set (multithreaded_all_cores - dataframe/df10[2-7]* + analysis/dataframe/df10[2-7]* experimental/rcanvas/df10* ) set (multithreaded @@ -758,17 +758,17 @@ if(ROOT_pyroot_FOUND) endif() if(dataframe AND DEFINED ENV{ROOTTEST_IGNORE_PANDAS_PY3}) - list(APPEND pyveto dataframe/df026_AsNumpyArrays.py) + list(APPEND pyveto analysis/dataframe/df026_AsNumpyArrays.py) endif() # Rules specific to distributed RDataFrame # Disable distributed RDF tutorials if we didn't check dependencies in the environment first if(NOT test_distrdf_pyspark) - list(APPEND pyveto dataframe/distrdf001_spark_connection.py) + list(APPEND pyveto analysis/dataframe/distrdf001_spark_connection.py) endif() if(NOT test_distrdf_dask) - list(APPEND pyveto dataframe/distrdf002_dask_connection.py) - list(APPEND pyveto dataframe/distrdf003_live_visualization.py) + list(APPEND pyveto analysis/dataframe/distrdf002_dask_connection.py) + list(APPEND pyveto analysis/dataframe/distrdf003_live_visualization.py) endif() # Use main Python executable to run in PySpark driver and executors if(test_distrdf_pyspark) @@ -786,11 +786,11 @@ if(ROOT_pyroot_FOUND) endif() endif() # These lists keep track of distrdf tutorials, so we can add specific properties later - file(GLOB distrdf_spark_tutorials RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} dataframe/*spark*) - file(GLOB distrdf_dask_tutorials RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} dataframe/*dask*) + file(GLOB distrdf_spark_tutorials RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} analysis/dataframe/*spark*) + file(GLOB distrdf_dask_tutorials RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} analysis/dataframe/*dask*) # Disable tutorial showing connection to the HTCondor service at CERN - list(APPEND pyveto dataframe/distrdf004_dask_lxbatch.py) + list(APPEND pyveto analysis/dataframe/distrdf004_dask_lxbatch.py) find_python_module(xgboost QUIET) if(NOT PY_XGBOOST_FOUND OR NOT dataframe) @@ -845,7 +845,7 @@ if(ROOT_pyroot_FOUND) set(pyroot-fit1-depends tutorial-hist-fillrandom-py) set(pyroot-na49view-depends tutorial-pyroot-geometry-py) set(roofit-rf503_wspaceread-depends tutorial-roofit-rf502_wspacewrite-py) - set(roofit-rf618_mixture_models-depends tutorial-dataframe-df106_HiggsToFourLeptons-py) + set(roofit-rf618_mixture_models-depends tutorial-analysis-dataframe-df106_HiggsToFourLeptons-py) # Avoid a race condition: make sure Python tutorial is run after C++ tutorial set(roofit-rf104_classfactory-depends tutorial-roofit-rf104_classfactory) @@ -859,14 +859,14 @@ if(ROOT_pyroot_FOUND) # To add a new requirement, add a glob expression that's named requires_, # and add it to the list "fixtureLists" below. file(GLOB requires_numpy RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} - dataframe/df026_AsNumpyArrays.py - dataframe/df032_RDFFromNumpy.py + analysis/dataframe/df026_AsNumpyArrays.py + analysis/dataframe/df032_RDFFromNumpy.py math/fit/combinedFit.py math/fit/multifit.py roofit/rf409_NumPyPandasToRooFit.py) file(GLOB requires_numba RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} pyroot/pyroot004_NumbaDeclare.py) file(GLOB requires_pandas RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} - dataframe/df026_AsNumpyArrays.py + analysis/dataframe/df026_AsNumpyArrays.py roofit/rf409_NumPyPandasToRooFit.py) file(GLOB requires_keras RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} tmva/keras/*.py) file(GLOB requires_torch RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} tmva/pytorch/*.py) diff --git a/tutorials/dataframe/df000_simple.C b/tutorials/analysis/dataframe/df000_simple.C similarity index 100% rename from tutorials/dataframe/df000_simple.C rename to tutorials/analysis/dataframe/df000_simple.C diff --git a/tutorials/dataframe/df000_simple.py b/tutorials/analysis/dataframe/df000_simple.py similarity index 100% rename from tutorials/dataframe/df000_simple.py rename to tutorials/analysis/dataframe/df000_simple.py diff --git a/tutorials/dataframe/df001_introduction.C b/tutorials/analysis/dataframe/df001_introduction.C similarity index 100% rename from tutorials/dataframe/df001_introduction.C rename to tutorials/analysis/dataframe/df001_introduction.C diff --git a/tutorials/dataframe/df001_introduction.py b/tutorials/analysis/dataframe/df001_introduction.py similarity index 100% rename from tutorials/dataframe/df001_introduction.py rename to tutorials/analysis/dataframe/df001_introduction.py diff --git a/tutorials/dataframe/df002_dataModel.C b/tutorials/analysis/dataframe/df002_dataModel.C similarity index 100% rename from tutorials/dataframe/df002_dataModel.C rename to tutorials/analysis/dataframe/df002_dataModel.C diff --git a/tutorials/dataframe/df002_dataModel.py b/tutorials/analysis/dataframe/df002_dataModel.py similarity index 100% rename from tutorials/dataframe/df002_dataModel.py rename to tutorials/analysis/dataframe/df002_dataModel.py diff --git a/tutorials/dataframe/df003_profiles.C b/tutorials/analysis/dataframe/df003_profiles.C similarity index 100% rename from tutorials/dataframe/df003_profiles.C rename to tutorials/analysis/dataframe/df003_profiles.C diff --git a/tutorials/dataframe/df003_profiles.py b/tutorials/analysis/dataframe/df003_profiles.py similarity index 100% rename from tutorials/dataframe/df003_profiles.py rename to tutorials/analysis/dataframe/df003_profiles.py diff --git a/tutorials/dataframe/df004_cutFlowReport.C b/tutorials/analysis/dataframe/df004_cutFlowReport.C similarity index 100% rename from tutorials/dataframe/df004_cutFlowReport.C rename to tutorials/analysis/dataframe/df004_cutFlowReport.C diff --git a/tutorials/dataframe/df004_cutFlowReport.py b/tutorials/analysis/dataframe/df004_cutFlowReport.py similarity index 100% rename from tutorials/dataframe/df004_cutFlowReport.py rename to tutorials/analysis/dataframe/df004_cutFlowReport.py diff --git a/tutorials/dataframe/df005_fillAnyObject.C b/tutorials/analysis/dataframe/df005_fillAnyObject.C similarity index 100% rename from tutorials/dataframe/df005_fillAnyObject.C rename to tutorials/analysis/dataframe/df005_fillAnyObject.C diff --git a/tutorials/dataframe/df006_ranges.C b/tutorials/analysis/dataframe/df006_ranges.C similarity index 100% rename from tutorials/dataframe/df006_ranges.C rename to tutorials/analysis/dataframe/df006_ranges.C diff --git a/tutorials/dataframe/df006_ranges.py b/tutorials/analysis/dataframe/df006_ranges.py similarity index 100% rename from tutorials/dataframe/df006_ranges.py rename to tutorials/analysis/dataframe/df006_ranges.py diff --git a/tutorials/dataframe/df007_snapshot.C b/tutorials/analysis/dataframe/df007_snapshot.C similarity index 100% rename from tutorials/dataframe/df007_snapshot.C rename to tutorials/analysis/dataframe/df007_snapshot.C diff --git a/tutorials/dataframe/df007_snapshot.py b/tutorials/analysis/dataframe/df007_snapshot.py similarity index 100% rename from tutorials/dataframe/df007_snapshot.py rename to tutorials/analysis/dataframe/df007_snapshot.py diff --git a/tutorials/dataframe/df008_createDataSetFromScratch.C b/tutorials/analysis/dataframe/df008_createDataSetFromScratch.C similarity index 100% rename from tutorials/dataframe/df008_createDataSetFromScratch.C rename to tutorials/analysis/dataframe/df008_createDataSetFromScratch.C diff --git a/tutorials/dataframe/df008_createDataSetFromScratch.py b/tutorials/analysis/dataframe/df008_createDataSetFromScratch.py similarity index 100% rename from tutorials/dataframe/df008_createDataSetFromScratch.py rename to tutorials/analysis/dataframe/df008_createDataSetFromScratch.py diff --git a/tutorials/dataframe/df009_FromScratchVSTTree.C b/tutorials/analysis/dataframe/df009_FromScratchVSTTree.C similarity index 100% rename from tutorials/dataframe/df009_FromScratchVSTTree.C rename to tutorials/analysis/dataframe/df009_FromScratchVSTTree.C diff --git a/tutorials/dataframe/df010_trivialDataSource.C b/tutorials/analysis/dataframe/df010_trivialDataSource.C similarity index 100% rename from tutorials/dataframe/df010_trivialDataSource.C rename to tutorials/analysis/dataframe/df010_trivialDataSource.C diff --git a/tutorials/dataframe/df010_trivialDataSource.py b/tutorials/analysis/dataframe/df010_trivialDataSource.py similarity index 100% rename from tutorials/dataframe/df010_trivialDataSource.py rename to tutorials/analysis/dataframe/df010_trivialDataSource.py diff --git a/tutorials/dataframe/df012_DefinesAndFiltersAsStrings.C b/tutorials/analysis/dataframe/df012_DefinesAndFiltersAsStrings.C similarity index 100% rename from tutorials/dataframe/df012_DefinesAndFiltersAsStrings.C rename to tutorials/analysis/dataframe/df012_DefinesAndFiltersAsStrings.C diff --git a/tutorials/dataframe/df012_DefinesAndFiltersAsStrings.py b/tutorials/analysis/dataframe/df012_DefinesAndFiltersAsStrings.py similarity index 100% rename from tutorials/dataframe/df012_DefinesAndFiltersAsStrings.py rename to tutorials/analysis/dataframe/df012_DefinesAndFiltersAsStrings.py diff --git a/tutorials/dataframe/df013_InspectAnalysis.C b/tutorials/analysis/dataframe/df013_InspectAnalysis.C similarity index 100% rename from tutorials/dataframe/df013_InspectAnalysis.C rename to tutorials/analysis/dataframe/df013_InspectAnalysis.C diff --git a/tutorials/dataframe/df014_CSVDataSource.C b/tutorials/analysis/dataframe/df014_CSVDataSource.C similarity index 100% rename from tutorials/dataframe/df014_CSVDataSource.C rename to tutorials/analysis/dataframe/df014_CSVDataSource.C diff --git a/tutorials/dataframe/df014_CSVDataSource.py b/tutorials/analysis/dataframe/df014_CSVDataSource.py similarity index 100% rename from tutorials/dataframe/df014_CSVDataSource.py rename to tutorials/analysis/dataframe/df014_CSVDataSource.py diff --git a/tutorials/dataframe/df015_LazyDataSource.C b/tutorials/analysis/dataframe/df015_LazyDataSource.C similarity index 100% rename from tutorials/dataframe/df015_LazyDataSource.C rename to tutorials/analysis/dataframe/df015_LazyDataSource.C diff --git a/tutorials/dataframe/df016_vecOps.C b/tutorials/analysis/dataframe/df016_vecOps.C similarity index 100% rename from tutorials/dataframe/df016_vecOps.C rename to tutorials/analysis/dataframe/df016_vecOps.C diff --git a/tutorials/dataframe/df016_vecOps.py b/tutorials/analysis/dataframe/df016_vecOps.py similarity index 100% rename from tutorials/dataframe/df016_vecOps.py rename to tutorials/analysis/dataframe/df016_vecOps.py diff --git a/tutorials/dataframe/df017_vecOpsHEP.C b/tutorials/analysis/dataframe/df017_vecOpsHEP.C similarity index 96% rename from tutorials/dataframe/df017_vecOpsHEP.C rename to tutorials/analysis/dataframe/df017_vecOpsHEP.C index 72ee1f0b49b30..8726dbfc68a1b 100644 --- a/tutorials/dataframe/df017_vecOpsHEP.C +++ b/tutorials/analysis/dataframe/df017_vecOpsHEP.C @@ -16,7 +16,7 @@ /// \date March 2018 /// \authors Danilo Piparo (CERN), Andre Vieira Silva -auto filename = gROOT->GetTutorialDir() + "/dataframe/df017_vecOpsHEP.root"; +auto filename = gROOT->GetTutorialDir() + "/analysis/dataframe/df017_vecOpsHEP.root"; auto treename = "myDataset"; using namespace ROOT; diff --git a/tutorials/dataframe/df017_vecOpsHEP.py b/tutorials/analysis/dataframe/df017_vecOpsHEP.py similarity index 94% rename from tutorials/dataframe/df017_vecOpsHEP.py rename to tutorials/analysis/dataframe/df017_vecOpsHEP.py index 726cc665c61fc..ad992ccbcddf2 100644 --- a/tutorials/dataframe/df017_vecOpsHEP.py +++ b/tutorials/analysis/dataframe/df017_vecOpsHEP.py @@ -19,7 +19,7 @@ import ROOT import numpy as np -filename = ROOT.gROOT.GetTutorialDir().Data() + "/dataframe/df017_vecOpsHEP.root" +filename = ROOT.gROOT.GetTutorialDir().Data() + "/analysis/dataframe/df017_vecOpsHEP.root" treename = "myDataset" def WithPyROOT(filename): diff --git a/tutorials/dataframe/df017_vecOpsHEP.root b/tutorials/analysis/dataframe/df017_vecOpsHEP.root similarity index 100% rename from tutorials/dataframe/df017_vecOpsHEP.root rename to tutorials/analysis/dataframe/df017_vecOpsHEP.root diff --git a/tutorials/dataframe/df018_customActions.C b/tutorials/analysis/dataframe/df018_customActions.C similarity index 100% rename from tutorials/dataframe/df018_customActions.C rename to tutorials/analysis/dataframe/df018_customActions.C diff --git a/tutorials/dataframe/df019_Cache.C b/tutorials/analysis/dataframe/df019_Cache.C similarity index 100% rename from tutorials/dataframe/df019_Cache.C rename to tutorials/analysis/dataframe/df019_Cache.C diff --git a/tutorials/dataframe/df019_Cache.py b/tutorials/analysis/dataframe/df019_Cache.py similarity index 100% rename from tutorials/dataframe/df019_Cache.py rename to tutorials/analysis/dataframe/df019_Cache.py diff --git a/tutorials/dataframe/df020_helpers.C b/tutorials/analysis/dataframe/df020_helpers.C similarity index 100% rename from tutorials/dataframe/df020_helpers.C rename to tutorials/analysis/dataframe/df020_helpers.C diff --git a/tutorials/dataframe/df021_createTGraph.C b/tutorials/analysis/dataframe/df021_createTGraph.C similarity index 100% rename from tutorials/dataframe/df021_createTGraph.C rename to tutorials/analysis/dataframe/df021_createTGraph.C diff --git a/tutorials/dataframe/df021_createTGraph.py b/tutorials/analysis/dataframe/df021_createTGraph.py similarity index 100% rename from tutorials/dataframe/df021_createTGraph.py rename to tutorials/analysis/dataframe/df021_createTGraph.py diff --git a/tutorials/dataframe/df022_useKahan.C b/tutorials/analysis/dataframe/df022_useKahan.C similarity index 100% rename from tutorials/dataframe/df022_useKahan.C rename to tutorials/analysis/dataframe/df022_useKahan.C diff --git a/tutorials/dataframe/df023_aggregate.C b/tutorials/analysis/dataframe/df023_aggregate.C similarity index 100% rename from tutorials/dataframe/df023_aggregate.C rename to tutorials/analysis/dataframe/df023_aggregate.C diff --git a/tutorials/dataframe/df024_Display.C b/tutorials/analysis/dataframe/df024_Display.C similarity index 100% rename from tutorials/dataframe/df024_Display.C rename to tutorials/analysis/dataframe/df024_Display.C diff --git a/tutorials/dataframe/df024_Display.py b/tutorials/analysis/dataframe/df024_Display.py similarity index 100% rename from tutorials/dataframe/df024_Display.py rename to tutorials/analysis/dataframe/df024_Display.py diff --git a/tutorials/dataframe/df025_RNode.C b/tutorials/analysis/dataframe/df025_RNode.C similarity index 100% rename from tutorials/dataframe/df025_RNode.C rename to tutorials/analysis/dataframe/df025_RNode.C diff --git a/tutorials/dataframe/df026_AsNumpyArrays.py b/tutorials/analysis/dataframe/df026_AsNumpyArrays.py similarity index 100% rename from tutorials/dataframe/df026_AsNumpyArrays.py rename to tutorials/analysis/dataframe/df026_AsNumpyArrays.py diff --git a/tutorials/dataframe/df027_SQliteDependencyOverVersion.C b/tutorials/analysis/dataframe/df027_SQliteDependencyOverVersion.C similarity index 100% rename from tutorials/dataframe/df027_SQliteDependencyOverVersion.C rename to tutorials/analysis/dataframe/df027_SQliteDependencyOverVersion.C diff --git a/tutorials/dataframe/df028_SQliteIPLocation.C b/tutorials/analysis/dataframe/df028_SQliteIPLocation.C similarity index 100% rename from tutorials/dataframe/df028_SQliteIPLocation.C rename to tutorials/analysis/dataframe/df028_SQliteIPLocation.C diff --git a/tutorials/dataframe/df029_SQlitePlatformDistribution.C b/tutorials/analysis/dataframe/df029_SQlitePlatformDistribution.C similarity index 100% rename from tutorials/dataframe/df029_SQlitePlatformDistribution.C rename to tutorials/analysis/dataframe/df029_SQlitePlatformDistribution.C diff --git a/tutorials/dataframe/df030_SQliteVersionsOfROOT.C b/tutorials/analysis/dataframe/df030_SQliteVersionsOfROOT.C similarity index 100% rename from tutorials/dataframe/df030_SQliteVersionsOfROOT.C rename to tutorials/analysis/dataframe/df030_SQliteVersionsOfROOT.C diff --git a/tutorials/dataframe/df031_Stats.C b/tutorials/analysis/dataframe/df031_Stats.C similarity index 100% rename from tutorials/dataframe/df031_Stats.C rename to tutorials/analysis/dataframe/df031_Stats.C diff --git a/tutorials/dataframe/df031_Stats.py b/tutorials/analysis/dataframe/df031_Stats.py similarity index 100% rename from tutorials/dataframe/df031_Stats.py rename to tutorials/analysis/dataframe/df031_Stats.py diff --git a/tutorials/dataframe/df032_RDFFromNumpy.py b/tutorials/analysis/dataframe/df032_RDFFromNumpy.py similarity index 100% rename from tutorials/dataframe/df032_RDFFromNumpy.py rename to tutorials/analysis/dataframe/df032_RDFFromNumpy.py diff --git a/tutorials/dataframe/df033_Describe.py b/tutorials/analysis/dataframe/df033_Describe.py similarity index 100% rename from tutorials/dataframe/df033_Describe.py rename to tutorials/analysis/dataframe/df033_Describe.py diff --git a/tutorials/dataframe/df034_SaveGraph.C b/tutorials/analysis/dataframe/df034_SaveGraph.C similarity index 100% rename from tutorials/dataframe/df034_SaveGraph.C rename to tutorials/analysis/dataframe/df034_SaveGraph.C diff --git a/tutorials/dataframe/df034_SaveGraph.py b/tutorials/analysis/dataframe/df034_SaveGraph.py similarity index 100% rename from tutorials/dataframe/df034_SaveGraph.py rename to tutorials/analysis/dataframe/df034_SaveGraph.py diff --git a/tutorials/dataframe/df035_RDFFromPandas.py b/tutorials/analysis/dataframe/df035_RDFFromPandas.py similarity index 100% rename from tutorials/dataframe/df035_RDFFromPandas.py rename to tutorials/analysis/dataframe/df035_RDFFromPandas.py diff --git a/tutorials/dataframe/df036_missingBranches.C b/tutorials/analysis/dataframe/df036_missingBranches.C similarity index 100% rename from tutorials/dataframe/df036_missingBranches.C rename to tutorials/analysis/dataframe/df036_missingBranches.C diff --git a/tutorials/dataframe/df036_missingBranches.py b/tutorials/analysis/dataframe/df036_missingBranches.py similarity index 100% rename from tutorials/dataframe/df036_missingBranches.py rename to tutorials/analysis/dataframe/df036_missingBranches.py diff --git a/tutorials/dataframe/df037_TTreeEventMatching.C b/tutorials/analysis/dataframe/df037_TTreeEventMatching.C similarity index 100% rename from tutorials/dataframe/df037_TTreeEventMatching.C rename to tutorials/analysis/dataframe/df037_TTreeEventMatching.C diff --git a/tutorials/dataframe/df037_TTreeEventMatching.py b/tutorials/analysis/dataframe/df037_TTreeEventMatching.py similarity index 100% rename from tutorials/dataframe/df037_TTreeEventMatching.py rename to tutorials/analysis/dataframe/df037_TTreeEventMatching.py diff --git a/tutorials/dataframe/df101_h1Analysis.C b/tutorials/analysis/dataframe/df101_h1Analysis.C similarity index 100% rename from tutorials/dataframe/df101_h1Analysis.C rename to tutorials/analysis/dataframe/df101_h1Analysis.C diff --git a/tutorials/dataframe/df102_NanoAODDimuonAnalysis.C b/tutorials/analysis/dataframe/df102_NanoAODDimuonAnalysis.C similarity index 100% rename from tutorials/dataframe/df102_NanoAODDimuonAnalysis.C rename to tutorials/analysis/dataframe/df102_NanoAODDimuonAnalysis.C diff --git a/tutorials/dataframe/df102_NanoAODDimuonAnalysis.py b/tutorials/analysis/dataframe/df102_NanoAODDimuonAnalysis.py similarity index 100% rename from tutorials/dataframe/df102_NanoAODDimuonAnalysis.py rename to tutorials/analysis/dataframe/df102_NanoAODDimuonAnalysis.py diff --git a/tutorials/dataframe/df103_NanoAODHiggsAnalysis.C b/tutorials/analysis/dataframe/df103_NanoAODHiggsAnalysis.C similarity index 100% rename from tutorials/dataframe/df103_NanoAODHiggsAnalysis.C rename to tutorials/analysis/dataframe/df103_NanoAODHiggsAnalysis.C diff --git a/tutorials/dataframe/df103_NanoAODHiggsAnalysis.py b/tutorials/analysis/dataframe/df103_NanoAODHiggsAnalysis.py similarity index 99% rename from tutorials/dataframe/df103_NanoAODHiggsAnalysis.py rename to tutorials/analysis/dataframe/df103_NanoAODHiggsAnalysis.py index 52b0fadea6e21..07c70ede5b9cf 100644 --- a/tutorials/dataframe/df103_NanoAODHiggsAnalysis.py +++ b/tutorials/analysis/dataframe/df103_NanoAODHiggsAnalysis.py @@ -42,8 +42,8 @@ ROOT.ROOT.EnableImplicitMT() # Include necessary header -higgs_header_path = os.path.join(os.sep, str(ROOT.gROOT.GetTutorialDir()) + os.sep, "dataframe" + os.sep, - "df103_NanoAODHiggsAnalysis_python.h") +higgs_header_path = os.path.join(os.sep, str(ROOT.gROOT.GetTutorialDir()) + os.sep, "analysis" + os.sep, + "dataframe" + os.sep, "df103_NanoAODHiggsAnalysis_python.h") ROOT.gInterpreter.Declare('#include "{}"'.format(higgs_header_path)) diff --git a/tutorials/dataframe/df103_NanoAODHiggsAnalysis_python.h b/tutorials/analysis/dataframe/df103_NanoAODHiggsAnalysis_python.h similarity index 100% rename from tutorials/dataframe/df103_NanoAODHiggsAnalysis_python.h rename to tutorials/analysis/dataframe/df103_NanoAODHiggsAnalysis_python.h diff --git a/tutorials/dataframe/df104_HiggsToTwoPhotons.py b/tutorials/analysis/dataframe/df104_HiggsToTwoPhotons.py similarity index 100% rename from tutorials/dataframe/df104_HiggsToTwoPhotons.py rename to tutorials/analysis/dataframe/df104_HiggsToTwoPhotons.py diff --git a/tutorials/dataframe/df105_WBosonAnalysis.json b/tutorials/analysis/dataframe/df105_WBosonAnalysis.json similarity index 100% rename from tutorials/dataframe/df105_WBosonAnalysis.json rename to tutorials/analysis/dataframe/df105_WBosonAnalysis.json diff --git a/tutorials/dataframe/df105_WBosonAnalysis.py b/tutorials/analysis/dataframe/df105_WBosonAnalysis.py similarity index 99% rename from tutorials/dataframe/df105_WBosonAnalysis.py rename to tutorials/analysis/dataframe/df105_WBosonAnalysis.py index 1a33096ea26c4..2929fa1a21c32 100644 --- a/tutorials/dataframe/df105_WBosonAnalysis.py +++ b/tutorials/analysis/dataframe/df105_WBosonAnalysis.py @@ -55,7 +55,7 @@ # Create a ROOT dataframe for each dataset # Note that we load the filenames from the external json file placed in the same folder than this script. -files = json.load(open(os.path.join(ROOT.gROOT.GetTutorialsDir(), "dataframe/df105_WBosonAnalysis.json"))) +files = json.load(open(os.path.join(ROOT.gROOT.GetTutorialsDir(), "analysis/dataframe/df105_WBosonAnalysis.json"))) processes = files.keys() df = {} xsecs = {} diff --git a/tutorials/dataframe/df106_HiggsToFourLeptons.C b/tutorials/analysis/dataframe/df106_HiggsToFourLeptons.C similarity index 100% rename from tutorials/dataframe/df106_HiggsToFourLeptons.C rename to tutorials/analysis/dataframe/df106_HiggsToFourLeptons.C diff --git a/tutorials/dataframe/df106_HiggsToFourLeptons.py b/tutorials/analysis/dataframe/df106_HiggsToFourLeptons.py similarity index 97% rename from tutorials/dataframe/df106_HiggsToFourLeptons.py rename to tutorials/analysis/dataframe/df106_HiggsToFourLeptons.py index 8f9f392f0e1b7..c026855121779 100644 --- a/tutorials/dataframe/df106_HiggsToFourLeptons.py +++ b/tutorials/analysis/dataframe/df106_HiggsToFourLeptons.py @@ -28,7 +28,7 @@ ROOT.EnableImplicitMT() # Create the RDataFrame from the spec json file. The df106_HiggsToFourLeptons_spec.json is provided in the same folder as this tutorial -dataset_spec = os.path.join(ROOT.gROOT.GetTutorialsDir(), "dataframe", "df106_HiggsToFourLeptons_spec.json") +dataset_spec = os.path.join(ROOT.gROOT.GetTutorialsDir(), "analysis", "dataframe", "df106_HiggsToFourLeptons_spec.json") df = ROOT.RDF.Experimental.FromSpec(dataset_spec) # Creates a single dataframe for all the samples # Add the ProgressBar feature @@ -142,7 +142,7 @@ df = df.Define("m4l", "ComputeInvariantMass(goodlep_pt, goodlep_eta, goodlep_phi, goodlep_E)") # Save data for statistical analysis tutorial (rf618_mixture_models.py) -df.Snapshot("tree", ROOT.gROOT.GetTutorialDir().Data() + "/dataframe/df106_HiggsToFourLeptons.root", ["m4l", "sample_category", "weight"]) +df.Snapshot("tree", ROOT.gROOT.GetTutorialDir().Data() + "/analysis/dataframe/df106_HiggsToFourLeptons.root", ["m4l", "sample_category", "weight"]) # Book histograms for the four different samples: data, higgs, zz and other (this is specific to this particular analysis) histos = [] diff --git a/tutorials/dataframe/df106_HiggsToFourLeptons_spec.json b/tutorials/analysis/dataframe/df106_HiggsToFourLeptons_spec.json similarity index 100% rename from tutorials/dataframe/df106_HiggsToFourLeptons_spec.json rename to tutorials/analysis/dataframe/df106_HiggsToFourLeptons_spec.json diff --git a/tutorials/dataframe/df107_SingleTopAnalysis.json b/tutorials/analysis/dataframe/df107_SingleTopAnalysis.json similarity index 100% rename from tutorials/dataframe/df107_SingleTopAnalysis.json rename to tutorials/analysis/dataframe/df107_SingleTopAnalysis.json diff --git a/tutorials/dataframe/df107_SingleTopAnalysis.py b/tutorials/analysis/dataframe/df107_SingleTopAnalysis.py similarity index 99% rename from tutorials/dataframe/df107_SingleTopAnalysis.py rename to tutorials/analysis/dataframe/df107_SingleTopAnalysis.py index 328d69ed27fbd..f380be7f98e81 100644 --- a/tutorials/dataframe/df107_SingleTopAnalysis.py +++ b/tutorials/analysis/dataframe/df107_SingleTopAnalysis.py @@ -55,7 +55,7 @@ # Create a ROOT dataframe for each dataset # Note that we load the filenames from the external json file placed in the same folder than this script. -files = json.load(open(os.path.join(ROOT.gROOT.GetTutorialsDir(), "dataframe/df107_SingleTopAnalysis.json"))) +files = json.load(open(os.path.join(ROOT.gROOT.GetTutorialsDir(), "analysis/dataframe/df107_SingleTopAnalysis.json"))) processes = files.keys() df = {} xsecs = {} diff --git a/tutorials/dataframe/distrdf001_spark_connection.py b/tutorials/analysis/dataframe/distrdf001_spark_connection.py similarity index 100% rename from tutorials/dataframe/distrdf001_spark_connection.py rename to tutorials/analysis/dataframe/distrdf001_spark_connection.py diff --git a/tutorials/dataframe/distrdf002_dask_connection.py b/tutorials/analysis/dataframe/distrdf002_dask_connection.py similarity index 100% rename from tutorials/dataframe/distrdf002_dask_connection.py rename to tutorials/analysis/dataframe/distrdf002_dask_connection.py diff --git a/tutorials/dataframe/distrdf003_live_visualization.py b/tutorials/analysis/dataframe/distrdf003_live_visualization.py similarity index 100% rename from tutorials/dataframe/distrdf003_live_visualization.py rename to tutorials/analysis/dataframe/distrdf003_live_visualization.py diff --git a/tutorials/dataframe/distrdf004_dask_lxbatch.py b/tutorials/analysis/dataframe/distrdf004_dask_lxbatch.py similarity index 100% rename from tutorials/dataframe/distrdf004_dask_lxbatch.py rename to tutorials/analysis/dataframe/distrdf004_dask_lxbatch.py diff --git a/tutorials/dataframe/index.md b/tutorials/analysis/dataframe/index.md similarity index 100% rename from tutorials/dataframe/index.md rename to tutorials/analysis/dataframe/index.md diff --git a/tutorials/analysis/index.md b/tutorials/analysis/index.md new file mode 100644 index 0000000000000..6d4e124f03cc5 --- /dev/null +++ b/tutorials/analysis/index.md @@ -0,0 +1,11 @@ +\defgroup tutorial_dataframe RDataFrame analysis tutorials +\ingroup tutorial_analysis +\brief These examples show various features of [RDataFrame](classROOT_1_1RDataFrame.html): ROOT's declarative analysis interface. + +\defgroup tutorial_tree_analysis TTree analysis tutorials +\ingroup tutorial_analysis +\brief These examples show various data analyses with TTree + +\defgroup tutorial_unfold TUnfold tutorials +\ingroup tutorial_analysis +\brief Test programs for the classes TUnfold and related \ No newline at end of file diff --git a/tutorials/unfold/TSVDUnfoldExample.C b/tutorials/analysis/unfold/TSVDUnfoldExample.C similarity index 100% rename from tutorials/unfold/TSVDUnfoldExample.C rename to tutorials/analysis/unfold/TSVDUnfoldExample.C diff --git a/tutorials/unfold/index.md b/tutorials/analysis/unfold/index.md similarity index 100% rename from tutorials/unfold/index.md rename to tutorials/analysis/unfold/index.md diff --git a/tutorials/unfold/testUnfold1.C b/tutorials/analysis/unfold/testUnfold1.C similarity index 100% rename from tutorials/unfold/testUnfold1.C rename to tutorials/analysis/unfold/testUnfold1.C diff --git a/tutorials/unfold/testUnfold2.C b/tutorials/analysis/unfold/testUnfold2.C similarity index 100% rename from tutorials/unfold/testUnfold2.C rename to tutorials/analysis/unfold/testUnfold2.C diff --git a/tutorials/unfold/testUnfold3.C b/tutorials/analysis/unfold/testUnfold3.C similarity index 100% rename from tutorials/unfold/testUnfold3.C rename to tutorials/analysis/unfold/testUnfold3.C diff --git a/tutorials/unfold/testUnfold4.C b/tutorials/analysis/unfold/testUnfold4.C similarity index 100% rename from tutorials/unfold/testUnfold4.C rename to tutorials/analysis/unfold/testUnfold4.C diff --git a/tutorials/unfold/testUnfold5a.C b/tutorials/analysis/unfold/testUnfold5a.C similarity index 100% rename from tutorials/unfold/testUnfold5a.C rename to tutorials/analysis/unfold/testUnfold5a.C diff --git a/tutorials/unfold/testUnfold5b.C b/tutorials/analysis/unfold/testUnfold5b.C similarity index 100% rename from tutorials/unfold/testUnfold5b.C rename to tutorials/analysis/unfold/testUnfold5b.C diff --git a/tutorials/unfold/testUnfold5c.C b/tutorials/analysis/unfold/testUnfold5c.C similarity index 100% rename from tutorials/unfold/testUnfold5c.C rename to tutorials/analysis/unfold/testUnfold5c.C diff --git a/tutorials/unfold/testUnfold5d.C b/tutorials/analysis/unfold/testUnfold5d.C similarity index 100% rename from tutorials/unfold/testUnfold5d.C rename to tutorials/analysis/unfold/testUnfold5d.C diff --git a/tutorials/unfold/testUnfold6.C b/tutorials/analysis/unfold/testUnfold6.C similarity index 100% rename from tutorials/unfold/testUnfold6.C rename to tutorials/analysis/unfold/testUnfold6.C diff --git a/tutorials/unfold/testUnfold6binning.xml b/tutorials/analysis/unfold/testUnfold6binning.xml similarity index 100% rename from tutorials/unfold/testUnfold6binning.xml rename to tutorials/analysis/unfold/testUnfold6binning.xml diff --git a/tutorials/unfold/testUnfold7a.C b/tutorials/analysis/unfold/testUnfold7a.C similarity index 100% rename from tutorials/unfold/testUnfold7a.C rename to tutorials/analysis/unfold/testUnfold7a.C diff --git a/tutorials/unfold/testUnfold7b.C b/tutorials/analysis/unfold/testUnfold7b.C similarity index 100% rename from tutorials/unfold/testUnfold7b.C rename to tutorials/analysis/unfold/testUnfold7b.C diff --git a/tutorials/unfold/testUnfold7binning.xml b/tutorials/analysis/unfold/testUnfold7binning.xml similarity index 100% rename from tutorials/unfold/testUnfold7binning.xml rename to tutorials/analysis/unfold/testUnfold7binning.xml diff --git a/tutorials/unfold/testUnfold7c.C b/tutorials/analysis/unfold/testUnfold7c.C similarity index 100% rename from tutorials/unfold/testUnfold7c.C rename to tutorials/analysis/unfold/testUnfold7c.C diff --git a/tutorials/unfold/tunfoldbinning.dtd b/tutorials/analysis/unfold/tunfoldbinning.dtd similarity index 100% rename from tutorials/unfold/tunfoldbinning.dtd rename to tutorials/analysis/unfold/tunfoldbinning.dtd diff --git a/tutorials/experimental/rcanvas/df105.py b/tutorials/experimental/rcanvas/df105.py index 25f3f8ae2e40c..c528637d1d90f 100644 --- a/tutorials/experimental/rcanvas/df105.py +++ b/tutorials/experimental/rcanvas/df105.py @@ -55,7 +55,7 @@ # Create a ROOT dataframe for each dataset # Note that we load the filenames from the external json file placed in the same folder than this script. -files = json.load(open(os.path.join(ROOT.gROOT.GetTutorialsDir(), "dataframe/df105_WBosonAnalysis.json"))) +files = json.load(open(os.path.join(ROOT.gROOT.GetTutorialsDir(), "analysis/dataframe/df105_WBosonAnalysis.json"))) processes = files.keys() df = {} xsecs = {} diff --git a/tutorials/index.md b/tutorials/index.md index 7aa71fa147750..f166740ee3543 100644 --- a/tutorials/index.md +++ b/tutorials/index.md @@ -50,9 +50,9 @@ The `$ROOTSYS/tutorials` directory includes several sub-directories: \ingroup Tutorials \brief Examples showing the "histograms' classes" usage. -\defgroup tutorial_dataframe Dataframe tutorials +\defgroup tutorial_analysis Data analysis tutorials \ingroup Tutorials -\brief These examples show various features of [RDataFrame](classROOT_1_1RDataFrame.html): ROOT's declarative analysis interface. +\brief Various examples of data analysis workflows. \defgroup tutorial_exp Experimental API tutorials \ingroup Tutorials @@ -154,9 +154,6 @@ The `$ROOTSYS/tutorials` directory includes several sub-directories: \ingroup Tutorials \brief Example code which illustrates how to use the TMVA toolkit -\defgroup tutorial_unfold TUnfold tutorials -\ingroup Tutorials -\brief Test programs for the classes TUnfold and related \defgroup tutorial_webcanv TWebCanvas tutorials \ingroup Tutorials diff --git a/tutorials/roofit/rf618_mixture_models.py b/tutorials/roofit/rf618_mixture_models.py index ea0c2c3ef65df..c8d4d5b38836a 100644 --- a/tutorials/roofit/rf618_mixture_models.py +++ b/tutorials/roofit/rf618_mixture_models.py @@ -40,7 +40,7 @@ # Get Dataframe from tutorial df106_HiggsToFourLeptons.py # Adjust the path if running locally -df = ROOT.RDataFrame("tree", ROOT.gROOT.GetTutorialDir().Data() + "/dataframe/df106_HiggsToFourLeptons.root") +df = ROOT.RDataFrame("tree", ROOT.gROOT.GetTutorialDir().Data() + "/analysis/dataframe/df106_HiggsToFourLeptons.root") # Initialize a dictionary to store counts and weight sums for each category results = {}