Skip to content

CP and Polarisation Analysis

azotz edited this page Apr 23, 2020 · 67 revisions

Running Artus

Outdated.

2016: click me!

  • Nominal Pipelines

    • RWTH
     HiggsToTauTauAnalysis.py \
     @HiggsAnalysis/KITHiggsToTauTau/data/ArtusWrapperConfigs/python_configs_CP/Run2CPStudies_Nominal.cfg \
     -i HiggsAnalysis/KITHiggsToTauTau/data/Samples/XROOTD_collection_HiggsCP_Summer16plusData.txt \
     -n Run2CPStudies_Nominal_Summer16_plusHToTauTauM110-140 \
     -b rwthtier2 @Artus/Configuration/data/ArtusWrapperConfigs/rwth_dcache.cfg --files-per-job 2 --copy-remote-files
     
    • NAF
     HiggsToTauTauAnalysis.py \
     @HiggsAnalysis/KITHiggsToTauTau/data/ArtusWrapperConfigs/python_configs_CP/Run2CPStudies_Nominal.cfg  \
     -i HiggsAnalysis/KITHiggsToTauTau/data/Samples/XROOTD_collection_HiggsCP_Summer16.txt \
     -n Run2CPStudies_Nominal_Summer16_plusHToTauTauM110-140 \
     -b naf --files-per-job 2 --copy-remote-files
     
  • Electron/Tau Energy Scale Variations (MC only)

    • RWTH
     HiggsToTauTauAnalysis.py \
     @HiggsAnalysis/KITHiggsToTauTau/data/ArtusWrapperConfigs/python_configs_CP/Run2CPStudies_EleES_TauES.cfg \
     -i HiggsAnalysis/KITHiggsToTauTau/data/Samples/XROOTD_collection_HiggsCP_Summer16.txt \
     -n Run2CPStudies_EleES_TauES_Summer16_MConly_plusHToTauTauM110-140 \
     -b rwthtier2 @Artus/Configuration/data/ArtusWrapperConfigs/rwth_dcache.cfg --files-per-job 2 --copy-remote-files
     
    • NAF
     HiggsToTauTauAnalysis.py \
     @HiggsAnalysis/KITHiggsToTauTau/data/ArtusWrapperConfigs/python_configs_CP/Run2CPStudies_EleES_TauES.cfg \ 
     -i HiggsAnalysis/KITHiggsToTauTau/data/Samples/XROOTD_collection_HiggsCP_Summer16.txt \
     -n Run2CPStudies_EleES_TauES_Summer16_MConly_plusHToTauTauM110-140 \
     -b naf --files-per-job 2 --copy-remote-files
     
  • Jet Energy Correction Variations (MC only)

    • RWTH
     HiggsToTauTauAnalysis.py \
     @HiggsAnalysis/KITHiggsToTauTau/data/ArtusWrapperConfigs/python_configs_CP/Run2CPStudies_JECunc.cfg \
     -i HiggsAnalysis/KITHiggsToTauTau/data/Samples/XROOTD_collection_HiggsCP_Summer16.txt \
     -n Run2CPStudies_JECunc_Summer16_MConly_plusHToTauTauM110-140 \
     -b rwthtier2 @Artus/Configuration/data/ArtusWrapperConfigs/rwth_dcache.cfg --files-per-job 2 --copy-remote-files
     
    • NAF
     HiggsToTauTauAnalysis.py \
     @HiggsAnalysis/KITHiggsToTauTau/data/ArtusWrapperConfigs/python_configs_CP/Run2CPStudies_JECunc.cfg \ 
     -i HiggsAnalysis/KITHiggsToTauTau/data/Samples/XROOTD_collection_HiggsCP_Summer16.txt  \
     -n Run2CPStudies_JECunc_Summer16_MConly_plusHToTauTauM110-140 \
     -b naf --files-per-job 2 --copy-remote-files
     
  • MET Uncertainty Variations (MC only)

    • RWTH
     HiggsToTauTauAnalysis.py \
     @HiggsAnalysis/KITHiggsToTauTau/data/ArtusWrapperConfigs/python_configs_CP/Run2CPStudies_METunc.cfg \
     -i HiggsAnalysis/KITHiggsToTauTau/data/Samples/XROOTD_collection_HiggsCP_Summer16.txt \
     -n Run2CPStudies_METunc_Summer16_MConly_plusHToTauTauM110-140 \
     -b rwthtier2 @Artus/Configuration/data/ArtusWrapperConfigs/rwth_dcache.cfg --files-per-job 2 --copy-remote-files
     
    • NAF
     HiggsToTauTauAnalysis.py \
     @HiggsAnalysis/KITHiggsToTauTau/data/ArtusWrapperConfigs/python_configs_CP/Run2CPStudies_METunc.cfg \
     -i HiggsAnalysis/KITHiggsToTauTau/data/Samples/XROOTD_collection_HiggsCP_Summer16.txt \
     -n Run2CPStudies_METunc_Summer16_MConly_plusHToTauTauM110-140 \
     -b naf --files-per-job 2 --copy-remote-files
     
  • Jet->Tau Fake Rate Variations (MC only)

    • RWTH
     HiggsToTauTauAnalysis.py \
     @HiggsAnalysis/KITHiggsToTauTau/data/ArtusWrapperConfigs/python_configs_CP/Run2CPStudies_tauJetFakeES.cfg \
     -i HiggsAnalysis/KITHiggsToTauTau/data/Samples/XROOTD_collection_HiggsCP_Summer16.txt \
     -n Run2CPStudies_tauJetFakeES_Summer16_MConly_plusHToTauTauM110-140 \
     -b rwthtier2 @Artus/Configuration/data/ArtusWrapperConfigs/rwth_dcache.cfg --files-per-job 2 --copy-remote-files
     
    • NAF
     HiggsToTauTauAnalysis.py \
     @HiggsAnalysis/KITHiggsToTauTau/data/ArtusWrapperConfigs/python_configs_CP/Run2CPStudies_tauJetFakeES.cfg \ 
     -i HiggsAnalysis/KITHiggsToTauTau/data/Samples/XROOTD_collection_HiggsCP_Summer16.txt \ 
     -n Run2CPStudies_tauJetFakeES_Summer16_MConly_plusHToTauTauM110-140 \
     -b naf --files-per-job 2 --copy-remote-files
     
  • Electron/Muon->Tau Fake Rate Variations (DY/EWK Z only)

    • RWTH
     HiggsToTauTauAnalysis.py \
     @HiggsAnalysis/KITHiggsToTauTau/data/ArtusWrapperConfigs/python_configs_CP/Run2CPStudies_tauEleFakeES_tauMuFakeES.cfg \
     -i HiggsAnalysis/KITHiggsToTauTau/data/Samples/XROOTD_collection_SM_Run2Analysis_Summer16_DYandEWKZonly.txt \
     -n Run2CPStudies_tauEleFakeES_tauMuFakeES_Summer16_DYandEWKZonly \
     -b rwthtier2 @Artus/Configuration/data/ArtusWrapperConfigs/rwth_dcache.cfg --files-per-job 2 --copy-remote-files	
    • NAF
     HiggsToTauTauAnalysis.py 
     @HiggsAnalysis/KITHiggsToTauTau/data/ArtusWrapperConfigs/python_configs_CP/Run2CPStudies_tauEleFakeES_tauMuFakeES.cfg \
     -i HiggsAnalysis/KITHiggsToTauTau/data/Samples/XROOTD_collection_SM_Run2Analysis_Summer16_DYandEWKZonly.txt \
     -n Run2CPStudies_tauEleFakeES_tauMuFakeES_Summer16_DYandEWKZonly  \
     -b naf	--files-per-job 2 --copy-remote-files
2017: click me!

Testing the CP final state analysis

Running combine and producing likelihood scans

Run the datacard script and produce datacards, workspace and a likelihoodscan without shape uncertainties (current inputs do not include all shape uncertainties yet).

./HiggsAnalysis/KITHiggsToTauTau/scripts/makePlots_datacardsCPFinalState.py -i /net/scratch_cms3b/zotz/artus/2020-02-25_LEGACY_2017_ET_TT_NOMINAL_NOPUJETID_NewEmbTriggerSFs_COMB/merged/ -c mt --use-asimov-dataset --use-shape-only --no-shape-uncs --cp-study final --era 2017 --emb --get-official-dc -x recoPhiStarCPCombMergedHelrPVBS --output-suffix CPTestNew2 -n 6 -a " --y-log" --steps inputs datacards t2w likelihoodscan

Testing the CP initial state analysis

Producing control plots

Outdated.

makePlots_controlPlots.py -i /net/scratch_cms3b/tmuller/artus//2017-12-08_23-24_Run2CPStudies_Nominal_Summer16_plusHToTauTauM110-140/merged/ -c tt -x "jdphi" -s ztt zll ttj vv wj qcd qqh gghjhusm gghjhups --categories Vbf3D_CP -a " --filename CP_initialstate_controlplot"

Signal selection

Background estimation

em channel

All backgrounds are taken from simulation except for QCD. QCD is estimated from same-sign events by applying scale factors in bins of the number of jets, the lepton pt and the angular separation of the lectron and the muon. The scale factors are retrieved from the htt_scalefactors_v16_5_1 file. The method was adapted from the MSSM analysis. Threo systematics are necessary to cover extrapolation and statistical uncertainties.

et/mt channels

In the et/mt channels we use the so-called simultaneous equation method to estimate W+jets and QCD in a data-driven way. The procedure is described in the analysis note AN2017/071 http://cms.cern.ch/iCMS/analysisadmin/cadilines?line=HIG-17-020&tp=an&id=1921&ancode=HIG-17-020. The background estimation constists of two steps that need to be performed for each category that is used in the analysis.

QCD OS/SS extrapolation factor determination

Since there are no QCD Monte Carlo samples, we need to determine the QCD OS/SS factor also from data. Therefore an anti-isolated sideband is used here. QCD is estimated from SS data subtracting all possible backgrounds using a Monte Carlo estimate. This part is done by calling the qcd_prefit sample defined in samples_run2_2016.pyexclusively for the purpose of this step of the background estimation. The process of estimation the prefit QCD histogram is performed automatically by the estimateqcdprefit.pymodule.

This same-sign estimate is then subsequently used as a first guess in the opposite sign region.

After that a likelihood fit is performed to data treating QCD as signal. Thus, the resulting signal strength will be the measurement of the QCD OS/SS factor. All necessary settings for the combine tool and all systematics (mainly normalization and energy scale) used in this measurement are configured in qcdfactorsdatacards.py and the makePlots_datacardsQCDfactors.py scripts.

In order to produce the plots and all fits for the QCD factor determination run:

makePlots_datacardsQCDfactors.py -i /nfs/dust/cms/user/dwolfsch/artus/outputs_march/ -c et -c mt --categories ZeroJet2D_SB_antiiso Boosted2D_SB_antiiso dijet2D_lowboost_SB_antiiso dijet2D_boosted_SB_antiiso --www background_estimation

Background estimation

The estimatewjetsandqcdsimeuqationmethod.py module calculates all extrapolation factors needed for W+jets from Monte Carlo and perform the full background estimation. The previously determined extrapolation factors are needed as an input and must be added at to the module in samples_run2_2016.py. To produce coontrolplots using this background estimation method call:

makePlots_controlPlots.py -i /nfs/dust/cms/user/dwolfsch/artus/outputs_march/ -s ztt zll ttj vv wj qcd data  -c em et mt tt -x eta_1 phi_1 mt_1 pt_1  --categories ZeroJetCP BoostedCP dijet2D_lowboost diejt2D_boosted -a " --live --log-level debug "   --background-method simeqn  --cpggh --www background_estimation/control_plots/simeqn -r

Controlregions to constrain the QCD and W+jets background are added to the fit. The controlregion are choosen

  • QCD control region for each channel and category (Total 8) in events with equally charged tau-lepton pair:
python HiggsAnalysis/KITHiggsToTauTau/scripts/makePlots_controlPlots.py -i /nfs/dust/cms/user/dwolfsch/artus/outputs_march/ -s ztt zll ttj vv wj qcd data  -c et mt -x m_sv --categories ZeroJetCP_qcd_cr BoostedCP_qcd_cr dijet2D_lowboost_qcd_cr dijet2D_boosted_qcd_cr -a " --x-bins "1,0,250" "   --background-method simeqn  --cpggh --www controlregions/qcd_cr/ -r -e os 
  • Two W+jets control regions per channel and category for same-sign and opposite-sign events.

Systematic uncertainties

JEC uncertainty groupings

During the SM Htt analysis it was observed that the Total JEC uncertaintiy was constrained very tightly by the fit. Therefore, it was decided to split them into the 27 individual sources. Here, we group them into sets of contextually similar uncertainties in barrel, endcap and the whole eta region of the detector.
https://github.com/cms-analysis/HiggsAnalysis-KITHiggsToTauTau/blob/7c9c56342bf03265c9770ca569a25a583fd50c4e/python/ArtusConfigs/Run2Analysis/Includes/settingsJECUncertaintySplit.py#L54

Statistical Analysis

The general setup for the datacards is determined here.

Running the datacards script

makePlots_datacardsCPInitialState.py -i /net/scratch_cms3b/tmuller/artus/2017-12-08_23-24_Run2CPStudies_Nominal_Summer16_plusHToTauTauM110-140/merged/ -n 3 -c tt --categories Vbf3D_CP -x "jdphi" --no-shape-uncs --use-asimov-dataset --use-shape-only --cp-study ggh -o "plots/htt_datacards/testing_CP_initialstate_datacardsscript/" --steps inputs t2w likelihoodScan prefitpostfitplots

MadGraph reweighting

Not used anymore. Necessary to produce madGraphWeights needed for Initial state CP studies:

  • Clone the GeneratorTools in a folder called "CMSAachen3B" in the "$CMSSW_BASE/src" folder. "https://github.com/CMSAachen3B/GeneratorTools"

  • Uncomment the necessary producers in "data/ArtusConfigs/Run2CPStudies/.json"

  • Uncomment "$CMSSW_BASE/src/HiggsAnalysis/KITHiggsToTauTau/data/ArtusConfigs/Run2CPStudies/Includes/weightQuantitiesHiggs.json" in "data/ArtusConfigs/Run2CPStudies/.json" to fill the madGraphWeights.

Signal Samples

MadGraph

LO: madgraph, NLO: amcatnlo. Currently only NLO samples exist.

McM

New Samples

DAS

dasgoclient

  • dasgoclient -query "dataset=/*HToTauTau*125*13TeV*madgraph*/*/MINIAODSIM"

  • dasgoclient -query "dataset=/*HToTauTau*125*13TeV*amcatnlo*/*/MINIAODSIM"

  • dasgoclient -query "dataset=/*HToTauTau*125*13TeV*madgraph*/*/LHE"

  • dasgoclient -query "dataset=/*HToTauTau*125*13TeV*amcatnlo*/*/LHE"

DatasetManager.py

  • DatasetManager.py --nicks ".*HToTauTau.*125.*13TeV.*madgraph.*" --print --printkeys all
  • DatasetManager.py --nicks ".*HToTauTau.*125.*13TeV.*amcatnlo.*" --print --printkeys all

Powheg

McM

DAS

dasgoclient

  • dasgoclient -query "dataset=/*HToTauTau*125*13TeV*powheg_pythia8/RunIIWinter15wmLHE*/LHE"

  • dasgoclient -query "dataset=/*HToTauTau*125*13TeV*powheg_pythia8/RunIISummer16MiniAODv2*/MINIAODSIM"

DatasetManager.py

  • DatasetManager.py --nicks ".*HToTauTau.*125.*RunIISummer16MiniAODv2.*13TeV.*powheg-pythia" --print --printkeys all

Background Samples

Embedded samples for Z->tautau:

  • dasgoclient -query "dataset=/EmbeddingRun2016*/*FinalState*/USER"
  • DatasetManager.py --nicks .*Embedding2016.*FinalState.* --print --printkeys dbs
  • DatasetManager.py --nicks .*Embedding2017.*FinalState.*v2.* --print --printkeys dbs

Talks and Updates

May 2018

Miscellaneous

Clone this wiki locally