The purpose of this repository is to keep track of analysis configurations to perform FCC-ee feasability studies performed at BNL. This analysis includes phase space selections and plotters for:
- Higgs to invisible
- Z(cc)H
- Higgs self-coupling interpretation
Clone the repository, including the FCCAnalyses submodule(s).
Via ssh:
git clone --recurse-submodules [email protected]:BNL-FCCee/BNL-Analyses.git BNL-Analyses
cd BNL-Analysesor via https:
git clone --recurse-submodules https://github.com/BNL-FCCee/BNL-Analyses.git BNL-Analyses
cd BNL-AnalysesNote that there are two submodules defined in the repository: FCCAnalyses and FCCAnalyses_BNL_dev. FCCAnalyses points to the central FCCAnalyses framework used by the FCC community. However, if one wants to run an analysis configuration using a custom addition to the framework which has not yet been merged into the central repository, one can run with that configuration by pushing it to the BNL development fork of FCCAnalyses, and sourcing that submodule instead of the central one while working.
For the initial setup of the central FCCAnalyses repository, run the command:
source setup_FCC.shFor initial setup and sourcing of the BNL development fork, run the following:
source setup_FCC_BNL_Dev.shAfter initial setup, first make sure you have the latest versions of the submodules, assuming you don't want to work with the non-latest version:
cd BNL-Analyses
git submodule update --remoteThen, one can source either the central version or BNL development version of FCCAnalyses with the following:
cd FCCAnalyses; source setup.sh; cd ..
cd FCCAnalyses_BNL_Dev; source setup.sh; cd ..Depending on the physics process you want to study, you may need to apply different analysis selections and define certain variables in order to pin down the relevant phase space, in which the physics process you are targetting has a strong signal to background ratio. These selections and plotters are currently defined per analysis - in this case for Higgs Invisible, or Z(cc)H.
Before running, note that if one wants to use json information for a certain campaign, one should specify it with the FCCDICTSDIR environment variable:
export FCCDICTSDIR="/afs/cern.ch/work/f/fccsw/public/FCCDicts"
The analysis proceeds in multiple steps. Execute these steps in squence. H->inv, Z->mumu selection
fccanalysis run analysis_HInvMuMu_stage1.py
fccanalysis final analysis_HInvMuMu_final.pyH->inv, Z->jj selection ( work in progress )
fccanalysis run analysis_HInvjj_stage1.pyThe purpose of the Z(cc)H analysis is to indirectly constrain the Higgs self-coupling via precision measurements of the ZH cross section and Higgs branching ratios, which are altered for non-SM-value Higgs self-couplings [Higgs performance meeting update].
Before running, first check the RunConfig.yaml file for the configured parameters for your run. Currently the following options exist:
batch: Boolean 0 or 1 - determines whether or not to submit jobs to HTCondor.EOSoutput: Boolean 0 or 1 - determines where or not to output files to EOS.JobName: String - used for name of output directory.njets: Integer - number of jets to demand when performing jet reclustering.
Example configuration to run without HTCondor, without EOS, and requiring 4 jets upon reclustering:
batch: 0
EOSoutput: 0
JobName: "ZccH_4jetsRequired"
njets: 4To run the current analysis selections locally on a single file, set the config to the above and run the following commands:
fccanalysis run ZccH_stage1.py --output wzp6_ee_ccH_Hcc_ecm240.root --files-list /eos/experiment/fcc/ee/generation/DelphesEvents/winter2023/IDEA/wzp6_ee_ccH_Hcc_ecm240/events_056080797.root --ncpus 64 --nev 1000
fccanalysis final ZccH_final.py
fccanalysis plots ZccH_plots.pyNote that if you run via HTCondor, you can find useful batchoutput logging information in the BatchOutputs directory in whichever FCCAnalyses version you are using. For example, when running with FCCAnalyses_BNL_Dev, after submitting batch jobs, you can find batch information in FCCAnalyses_BNL_Dev/BatchOutputs.
Single file commands to run on different processes:
fccanalysis run ZccH_stage1.py --output wzp6_ee_ccH_Hcc_ecm240.root --files-list /eos/experiment/fcc/ee/generation/DelphesEvents/winter2023/IDEA/wzp6_ee_ccH_Hcc_ecm240/events_056080797.root --ncpus 64 --nev 1000
fccanalysis run ZccH_stage1.py --output wzp6_ee_ccH_Hbb_ecm240.root --files-list /eos/experiment/fcc/ee/generation/DelphesEvents/winter2023/IDEA/wzp6_ee_ccH_Hbb_ecm240/events_090228867.root --ncpus 64 --nev 1000
fccanalysis run ZccH_stage1.py --output p8_ee_WW_ecm240.root --files-list /eos/experiment/fcc/ee/generation/DelphesEvents/winter2023/IDEA/p8_ee_WW_ecm240/events_077741545.root --ncpus 64 --nev 1000
fccanalysis run ZccH_stage1.py --output p8_ee_ZZ_ecm240.root --files-list /eos/experiment/fcc/ee/generation/DelphesEvents/winter2023/IDEA/p8_ee_ZZ_ecm240/events_030772128.root --ncpus 64 --nev 1000
fccanalysis run ZccH_stage1.py --output p8_ee_Zqq_ecm240.root --files-list /eos/experiment/fcc/ee/generation/DelphesEvents/winter2023/IDEA/p8_ee_Zqq_ecm240/events_088384807.root --ncpus 64 --nev 1000
in /eos/experiment/fcc/ee/generation/DelphesEvents/winter2023/IDEA/wzp6_ee_ccH_Hbb_ecm240/events_180562176.root, Jet#2.collectionID is 15, indicating this is the ReconstructedParticles collection of jets.
Know this from podio_metadata->Scan("m_names")
***********************************
* Row * Instance * m_names *
***********************************
* 0 * 0 * MissingET *
* 0 * 1 * MCReco *
* 0 * 2 * ParticleI *
* 0 * 3 * magFieldB *
* 0 * 4 * TrackerHi *
* 0 * 5 * EFlowTrac *
* 0 * 6 * Calorimet *
* 0 * 7 * Particle *
* 0 * 8 * Photon *
* 0 * 9 * EFlowTrac *
* 0 * 10 * Electron *
* 0 * 11 * EFlowPhot *
* 0 * 12 * EFlowNeut *
* 0 * 13 * Jet *
* 0 * 14 * Reconstru *
* 0 * 15 * Muon *
***********************************
Can also tell by printing the collectionID:
Jet#2: ReconstructedParticles
Jet#3: ParticleIDs
fccanalysis run ZccH/ZccH_stage1.py --output ZccH_stage1.root --files-list /eos/experiment/fcc/ee/generation/DelphesEvents/winter2023/IDEA/wzp6_ee_ccH_Hbb_ecm240/events_180562176.root --nevents 100
fccanalysis run ZccH/ZccH_stage1_Reclustering.py --output ZccH_stage1.root --files-list /eos/experiment/fcc/ee/generation/DelphesEvents/winter2023/IDEA/wzp6_ee_ccH_Hbb_ecm240/events_180562176.root --nevents 100
fccanalysis run ZccH/ZccH_stage2.py --output wzp6_ee_ccH_Hbb_ecm240.root --files-list ZccH/stage1/ZccH_stage1.root --nevents 100
fccanalysis final ZccH/ZccH_final.py
fccanalysis plots ZccH/ZccH_plots.py Added BNL dev submodule with:
git submodule add -b Add_Jet_Fcn [email protected]:BNL-FCCee/FCCAnalyses.git FCCAnalyses_BNL_DevUpdate submodules:
cd BNL-Analyses
git submodule update --remote
This seemed related to some HTCondor errors:
https://fccsw-forum.web.cern.ch/t/issue-running-fccanalysis-software-on-ht-condor/142/6 https://github.com/HEP-FCC/FCCAnalyses/pull/245/files