Example 6: Run Delphes with Nsubjettiness and pile-up ===================================================== 1. Start from the original configuration file: cp /afs/cern.ch/user/s/selvaggi/public/delphes_tuto/delphes_card_FCC_basic.tcl examples/delphes_card_FCC_nsub.tcl 2. Replace the "GenJetFinder" and "FastJetFinder" modules with new Nsubjettiness configuration in the "delphes_card_FCC_nsub.tcl" configuration file: module FastJetFinder GenJetFinder { set InputArray Delphes/stableParticles set OutputArray jets set JetAlgorithm 7 set ParameterR 1.0 set ComputeNsubjettiness 1 set Beta 1.0 set AxisMode 1 set JetPTMin 500.0 } module FastJetFinder FastJetFinder { set InputArray EFlowMerger/eflow set OutputArray jets set JetAlgorithm 7 set ParameterR 1.0 set ComputeNsubjettiness 1 set Beta 1.0 set AxisMode 1 set JetPTMin 500.0 } Also comment out branches in the TreeWriter section that are not needed for this short study (to reduce output size): module TreeWriter TreeWriter { # add Branch InputArray BranchName BranchClass # add Branch Delphes/allParticles Particle GenParticle add Branch GenJetFinder/jets GenJet Jet # add Branch ChargedHadronMomentumSmearing/chargedHadrons ChargedHadron Track # add Branch Hcal/eflowNeutralHadrons NeutralHadron Tower # add Branch Ecal/eflowPhotons Photon Photon # add Branch ElectronEnergySmearing/electrons Electron Electron # add Branch MuonMomentumSmearing/muons Muon Muon add Branch JetEnergyScale/jets Jet Jet add Branch MissingET/momentum MissingET MissingET add Branch ScalarHT/energy ScalarHT ScalarHT } 3. Prepare configuration file to run with pile-up cp examples/delphes_card_FCC_nsub.tcl examples/delphes_card_FCC_nsub_pu.tcl 4. Edit "examples/delphes_card_FCC_nsub_pu.tcl" including pile-up simulation, and charged hadron subtraction. set ExecutionPath { PileUpMerger ParticlePropagator … Hcal TrackPileUpSubtractor ... } module PileUpMerger PileUpMerger { set InputArray Delphes/stableParticles set ParticleOutputArray stableParticles set VertexOutputArray vertices # pre-generated minbias input file set PileUpFile MinBias.pileup # average expected pile up set MeanPileUp 20 # maximum spread in the beam direction in m set ZVertexSpread 0.10 # maximum spread in time in s set TVertexSpread 1.5E-09 # vertex smearing formula f(z,t) (z,t need to be respectively given in m,s) set VertexDistributionFormula {exp(-(t^2/(2*(0.05/2.99792458E8*exp(-(z^2/(2*(0.05)^2))))^2)))} } module ParticlePropagator ParticlePropagator { set InputArray PileUpMerger/stableParticles … } module TrackPileUpSubtractor TrackPileUpSubtractor { # add InputArray InputArray OutputArray add InputArray ImpactParameterSmearing/tracks tracks set VertexInputArray PileUpMerger/vertices # assume perfect pile-up subtraction for tracks with |z| > fZVertexResolution # Z vertex resolution in m set ZVertexResolution 0.0001 } module Merger EFlowMerger { # add InputArray InputArray add InputArray TrackPileUpSubtractor/tracks add InputArray Ecal/eflowPhotons add InputArray Hcal/eflowNeutralHadrons set OutputArray eflow } (be careful, you need to REPLACE the existing EFlowMerger module with the above) 5. Copy the Minimum Bias file locally (used for pile-up merging) cp /afs/cern.ch/user/s/selvaggi/public/delphes_tuto/MinBias.pileup . 6. Run both configurations (with and without pile-up) on boosted QCD and ttbar events. This might take a while (to speed this up consider running them in parallel) … ./DelphesSTDHEP examples/delphes_card_FCC_nsub.tcl qcd_0pu.root /afs/cern.ch/user/s/selvaggi/public/delphes_tuto/qcd_100tev.hep ./DelphesSTDHEP examples/delphes_card_FCC_nsub.tcl tt_0pu.root /afs/cern.ch/user/s/selvaggi/public/delphes_tuto/tt_100tev.hep ./DelphesSTDHEP examples/delphes_card_FCC_nsub_pu.tcl qcd_20pu.root /afs/cern.ch/user/s/selvaggi/public/delphes_tuto/qcd_100tev.hep ./DelphesSTDHEP examples/delphes_card_FCC_nsub_pu.tcl tt_20pu.root /afs/cern.ch/user/s/selvaggi/public/delphes_tuto/tt_100tev.hep If you want to submit them all in parallel, do: cp /afs/cern.ch/user/s/selvaggi/public/delphes_tuto/submit.sh . ./submit.sh 7. Compare N-subjettiness cp /afs/cern.ch/user/s/selvaggi/public/delphes_tuto/Nsub.C . root -l -b -q Nsub.C'("qcd_0pu.root", "histo_qcd_0pu.root")' root -l -b -q Nsub.C'("qcd_20pu.root", "histo_qcd_20pu.root")' root -l -b -q Nsub.C'("tt_0pu.root", "histo_tt_0pu.root")' root -l -b -q Nsub.C'("tt_20pu.root", "histo_tt_20pu.root")' (produces root files with histograms) cp /afs/cern.ch/user/s/selvaggi/public/delphes_tuto/plots_nsub.C . root -b -q plots_nsub.C'("histo_qcd_0pu.root","histo_tt_0pu.root","histo_qcd_20pu.root","histo_tt_20pu.root")' display nsub_plots.png