FCC

Go to Parent Directory

Subdirectories:

BoostHiggsInvZHXsec

FCC ZH Higgs Mass and Cross-section Analysis for Beginners

Installation of Software

Follow the instructions step-by-step.

FCCAnalyses

To install FCCAnalyses, execute the following commands:

git clone https://github.com/AngLICERN/FCCAnalyses.git
cd FCCAnalyses
source ./setup.sh
mkdir build install
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=../install
make install
cd ../

Higgs Tools

To install the Higgs tools, run the following commands:

git clone -b ZH_recoil https://github.com/AngLICERN/FCCeePhysicsPerformance.git
cd FCCeePhysicsPerformance/case-studies/higgs/
cd tools
source ./install.sh LOCALPATH

Replace LOCALPATH with an absolute path, like /afs/cern.ch/user/x/xyz/FCCsoft/FCCeePhysicsPerformance/case-studies/flavour/tools/localPythonTools.

cd ../dataframe
source /cvmfs/fcc.cern.ch/sw/latest/setup.sh
source ./localSetup.sh
mkdir build install
cd build/
cmake .. -DCMAKE_INSTALL_PREFIX=../install -DFCCANALYSES_INCLUDE_PATH=<PATH_FCCANALYSES_INSTALL_INCLUDE_DIR>

Replace PATH_FCCANALYSES_INSTALL_INCLUDE_DIR with the appropriate path, such as /afs/cern.ch/user/l/lia/FCCsoft/HEP-FCC/FCCAnalyses/install/include/FCCAnalyses.

make install
cd ..
source ./localSetup.sh

Setup After Each Login

  1. Navigate to the FCCAnalysis repository and run source setup.sh.
  2. Navigate to FCCeePhysicsPerformance/case-studies/higgs/dataframe/ and run source localSetup.sh.
  3. Go to the working directory (mH-recoil) and run source setup.sh.

Note: The working directory is FCCeePhysicsPerformance/case-studies/higgs/mH-recoil.

Producing Results

This example is for the $\mu^{+}\mu^{-}$ channel. Scripts for the $e^{+}e^{-}$ channel can be found in the ee directory.

Train the BDT

  1. Preprocess BDT inputs:
    python analysis/APC/FCCAnalysisRun.py FCCAnalyses-config/MidTerm/mumu/analysis_stage1_MVA_Ntuples_batch.py
  2. Produce BDT inputs:
    python FCCAnalyses-config/MidTerm/mumu/process_sig_bkg_samples_for_xgb.py
  3. Train BDT:
    python FCCAnalyses-config/MidTerm/mumu/train_xgb.py
  4. Evaluate BDT model (generate performance plots):
    python FCCAnalyses-config/MidTerm/mumu/evaluate.py

Include BDT Scores

  1. Produce trees with BDT scores:

    python analysis/APC/FCCAnalysisRun.py FCCAnalyses-config/MidTerm/mumu/analysis_stage1_include_bdt_batch_analysis_samples.py
  2. Produce histograms:

    python analysis/APC/FCCAnalysisRun.py FCCAnalyses-config/MidTerm/mumu/analysis_stage1_trained_final_analysis_samples.py --final
  3. Produce plots:

    python analysis/APC/FCCAnalysisRun.py FCCAnalyses-config/MidTerm/mumu/analysis_stage1_trained_plot_analysis_samples.py --plots
  4. To produce all the systematics for the fitting:

    python analysis/APC/FCCAnalysisRun.py FCCAnalyses-config/MidTerm/mumu/analysis_stage1_trained_final_analysis_samples_syst.py --final

    Statistical Tool: Producing Fitting Results

The statistical analysis uses the COMBINE software from CMS. You can find the original repository by Jan at FCCAnalyzer or Ang's forked version at AngLICERN/FCCAnalyzer. You can fork your own version or start with one of the repositories above. Here, we use Ang's forked version as an example to demonstrate how to work with it.

Installing the Software

FCCAnalyzer is a working repository made by Jan that partly depends on FCCAnalyses. However, we are only going to use the 'COMBINE' part to execute the statistical analysis. To install the software, run the following commands:

git clone --recurse-submodules git@github.com:AngLICERN/FCCAnalyzer.git
cd FCCAnalyzer
git clone https://github.com/cms-analysis/HiggsAnalysis-CombinedLimit.git --branch 112x HiggsAnalysis/CombinedLimit
cd HiggsAnalysis/CombinedLimit/
source env_standalone.sh
make -j ${nproc}
cd ../../

To run Combine, execute:

source ./initCombine.sh

Producing Fits on Higgs Mass

Coming soon

Producing Fits on ZH Cross-section

At this stage, we recommend checking all variables in the script carefully. First, run:

python scripts/ZH_mass_xsec_MidTerm/combine/makeWS_BDT_binned.py

Then, change the line:

flavor = "mumu"

to

flavor = "ee"

This prepares the data card for both $\mu^{+}\mu^{-}$ and $e^{+}e^{-}$ channels. Next, execute:

python scripts/ZH_mass_xsec_MidTerm/combine/fitAnalysis.py

This command generates the cross-section limits. The script is still being optimized, so this part of the instruction may change in the near future.

Useful References

Here is a concise guide to help beginners dive into FCC Analysis:

Key resources for your reference:

Current Focus

We are currently concentrating on the Winter2023 tag for MC samples, which includes well-produced muon and electron final states:

If you encounter any issues or have questions, feel free to reach out to Ang LI.

Enjoy the Future!

It appears you don't have a PDF plugin for this browser.

Click here to download the PDF file.

PDF

It appears you don't have a PDF plugin for this browser.

Click here to download the PDF file.

PDF

It appears you don't have a PDF plugin for this browser.

Click here to download the PDF file.

PDF