Rivet. July , CERN

Similar documents
Collider analysis recasting with Rivet & Contur. Andy Buckley, University of Glasgow Jon Butterworth, University College London MC4BSM, 20 April 2018

Analysis preservation and recasting with Rivet & Contur. Andy Buckley, University of Glasgow FNAL Reinterpretation Workshop, 16 Oct 2017

Rivet tutorial. Andy Buckley, Hendrik Hoeth. Les Houches /30

Rivet tutorial. Andy Buckley. ATLAS Rivet tutorial, /27

Studying jets in MC with Rivet

Study of the Higgs boson coupling to the top quark and of the b jet identification with the ATLAS experiment at the Large Hadron Collider.

CEDAR: HepData, JetWeb and Rivet

Monte Carlo programs

Recasting LHC analyses with MADANALYSIS 5

ATLAS Simulation Computing Performance and Pile-Up Simulation in ATLAS

Recasting with. Eric Conte, Benjamin Fuks. (Re)interpreting the results of new physics searches at the LHC June CERN

Tracking POG Update. Tracking POG Meeting March 17, 2009

How to discover the Higgs Boson in an Oracle database. Maaike Limper

Parton shower matching and multijet merging at NLO

Tau ID systematics in the Z lh cross section measurement

Software and computing evolution: the HL-LHC challenge. Simone Campana, CERN

Deep Learning Photon Identification in a SuperGranular Calorimeter

Event Displays and LArg

ATLAS PILE-UP AND OVERLAY SIMULATION

A New Segment Building Algorithm for the Cathode Strip Chambers in the CMS Experiment

MIP Reconstruction Techniques and Minimum Spanning Tree Clustering

Improving Generators Interface to Support LHEF V3 Format

Early experience with the Run 2 ATLAS analysis model

PoS(EPS-HEP2017)523. The CMS trigger in Run 2. Mia Tosi CERN

CMS Simulation Software

VISPA: Visual Physics Analysis Environment

MadAnalysis5 A framework for event file analysis.

Spark and HPC for High Energy Physics Data Analyses

PoS(IHEP-LHC-2011)002

MC4BSM-2012 Tutorial: PYTHIA 8

Electron and Photon Reconstruction and Identification with the ATLAS Detector

handling of LHE files in the CMS production and usage of MCDB

Tracking and flavour tagging selection in the ATLAS High Level Trigger

Open access to high-level data and analysis tools in the CMS experiment at the LHC

ATLAS ITk Layout Design and Optimisation

8.882 LHC Physics. Track Reconstruction and Fitting. [Lecture 8, March 2, 2009] Experimental Methods and Measurements

8.882 LHC Physics. Analysis Tips. [Lecture 9, March 4, 2009] Experimental Methods and Measurements

ATLAS NOTE ATLAS-CONF July 20, Commissioning of the ATLAS high-performance b-tagging algorithms in the 7 TeV collision data

Starting a Data Analysis

Spring 2010 Research Report Judson Benton Locke. High-Statistics Geant4 Simulations

Benchmarking the ATLAS software through the Kit Validation engine

A new method of The Monte Carlo Simulation based on Hit stream for the LHAASO

ATLAS 実験コンピューティングの現状と将来 - エクサバイトへの挑戦 坂本宏 東大 ICEPP

Stephen J. Gowdy (CERN) 12 th September 2012 XLDB Conference FINDING THE HIGGS IN THE HAYSTACK(S)

LAr Event Reconstruction with the PANDORA Software Development Kit

First LHCb measurement with data from the LHC Run 2

Direct photon measurements in ALICE. Alexis Mas for the ALICE collaboration

ATLAS, CMS and LHCb Trigger systems for flavour physics

ATLAS NOTE. December 4, ATLAS offline reconstruction timing improvements for run-2. The ATLAS Collaboration. Abstract

Physics CMS Muon High Level Trigger: Level 3 reconstruction algorithm development and optimization

Analogue, Digital and Semi-Digital Energy Reconstruction in the CALICE AHCAL

arxiv:hep-ph/ v1 11 Mar 2002

Data Analysis in ATLAS. Graeme Stewart with thanks to Attila Krasznahorkay and Johannes Elmsheuser

Latest development for ME-PS matching with MadGraph/MadEvent

Prompt data reconstruction at the ATLAS experiment

HPS Data Analysis Group Summary. Matt Graham HPS Collaboration Meeting June 6, 2013

Physics and Detector Simulations. Norman Graf (SLAC) 2nd ECFA/DESY Workshop September 24, 2000

DAL ALGORITHMS AND PYTHON

Simulation and Physics Studies for SiD. Norman Graf (for the Simulation & Reconstruction Team)

Atlantis: Visualization Tool in Particle Physics

Offline Tutorial I. Małgorzata Janik Łukasz Graczykowski. Warsaw University of Technology

CMS High Level Trigger Timing Measurements

Update on Energy Resolution of

ISTITUTO NAZIONALE DI FISICA NUCLEARE

Real-time Analysis with the ALICE High Level Trigger.

PoS(High-pT physics09)036

SiD Tracking using VXD. Nick Sinev, University of Oregon

HEP data analysis using ROOT

EicRoot software framework

b-jet identification at High Level Trigger in CMS

Big Data Analytics Tools. Applied to ATLAS Event Data

The CMS data quality monitoring software: experience and future prospects

LoKi & Bender Smart & transparent physics analysis

THE ATLAS INNER DETECTOR OPERATION, DATA QUALITY AND TRACKING PERFORMANCE.

Conference The Data Challenges of the LHC. Reda Tafirout, TRIUMF

The performance of the ATLAS Inner Detector Trigger Algorithms in pp collisions at the LHC

Design of the new ATLAS Inner Tracker (ITk) for the High Luminosity LHC

Dijet A LL Dijet cross section 2006 Dijet A LL Preparation for Tai Sakuma MIT

The CMS Computing Model

Report Semesterarbeit MORE-Web

arxiv: v2 [hep-ph] 13 Jun 2014

Software for implementing trigger algorithms on the upgraded CMS Global Trigger System

The LHCb Upgrade. LHCC open session 17 February Large Hadron Collider Physics (LHCP) Conference New York, 2-7 June 2014

ILC Software Overview and recent developments

Precision Timing in High Pile-Up and Time-Based Vertex Reconstruction

Preparing for CLAS12 Data Analysis

Belle & Belle II. Takanori Hara (KEK) 9 June, 2015 DPHEP Collaboration CERN

ATLAS Experiment and GCE

ATLAS Tracking Detector Upgrade studies using the Fast Simulation Engine

CMS Conference Report

Trigger information in the Atlantis event display

Straw Detectors for the Large Hadron Collider. Dirk Wiedner

Large Scale Software Building with CMake in ATLAS

The ATLAS Trigger Simulation with Legacy Software

DESY at the LHC. Klaus Mőnig. On behalf of the ATLAS, CMS and the Grid/Tier2 communities

Locating the neutrino interaction vertex with the help of electronic detectors in the OPERA experiment

WHIZARD -Tutorial. 1 How to use this tutorial. (last prepared for Peking University Workshop 2015 Beijing, China) Status: October 2015

A new petabyte-scale data derivation framework for ATLAS

RADU POPESCU IMPROVING THE WRITE SCALABILITY OF THE CERNVM FILE SYSTEM WITH ERLANG/OTP

From raw data to new fundamental particles: The data management lifecycle at the Large Hadron Collider

Transcription:

Rivet Chris Gütschow (UC London) Chris Pollard (Glasgow) Deepak Kar (Witwatersrand) Holger Schulz (Durham) July 13 2016, CERN

H. Schulz Rivet 1 / 19 Contents 1 Introduction 2 Basic work cycle 3 Writing your own analysis 4 New features in Rivet 2.5

H. Schulz Rivet 2 / 19 What is Rivet? HEP tool for analyzing Monte Carlo events Very capable library of predefined calculators (e.g. event shapes, jets, Z-finder,... ) Analyses intended to be based on physical objects: Final state hadrons Jets (FastJet) Muons, Electrons (dressed) Bosons reconstructed from particles (rather than taken from event record) allows for fair comparison with (unfolded) collider data Core written in robust C++, elegant and flexible Python scripts for the rest

H. Schulz Rivet 3 / 19 Why use Rivet? Generator independent code due to industry standard for simulated events (HepMC) Version 2.5 contains 350 Analyses (195 LHC) Monte Carlo validation and tuning, data preservation Lots of code examples to get inspired Plugin system for new analyses: One file of C++ with clear structure Scripts prepare templates and turn C++ into shared library, download data from HepData if available Very simple to plan new data analyses, test new observables etc. Perfect as independent cross-check for e.g. CMS or ATLAS analysis code Lightweight histogramming (YODA excellent to use in Python), quite ok plotting Exploration of BSM physics (UFO + Herwig7/Sherpa)

H. Schulz Rivet 4 / 19 Basic principle HepMC events User: specify analyses R I V E T Histograms (YODA)

H. Schulz Rivet 4 / 19 Basic principle HepMC events User: specify analyses σ(njet) [pb] 3 Exclusive jet multiplicity Sherpa 2 R I V E T 1 1 0 1 2 3 4 5 6 Njet Histograms (YODA)

H. Schulz Rivet 4 / 19 Basic principle HepMC events User: specify analyses dσ/dp T [pb/gev] 1 t t cross-section vs. 3 rd jet pt 1 Data Sherpa 2 R I V E T 3 Histograms (YODA) Expected/Data 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 2 3 rd jet pt [GeV]

H. Schulz Rivet 5 / 19 Events Several event files are available on lxplus 13 TeV Z+jets (muon) inclusive 13 TeV Z+jets (muon) with Zpt>200 GeV 13 TeV Dark Matter model https://feynrules.irmp.ucl.ac.be/wiki/dmsimp All events are fully showered, hadronised and underlying event 1 /afs/cern.ch/work/h/hschulz/public/events

H. Schulz Rivet 6 / 19 Hands on 1 on lxplus 1 source /afs/cern.ch/work/h/hschulz/public/setuprivet2.5.0.sh // Set up Rivet 2.5 with Python 2.7 from LCG 3 rivet h 5 rivet list analyses // List precompiled analyses shipped with Rivet 7 rivet show analysis CMS 2015 I13737 // Detailed info for particular analysis 9 rivet show analysis MC ZJETS MU rivet show analysis ATLAS 2015 CONF 2015 041 1 3 5 rivet a ATLAS 2015 CONF 2015 041 a MC ZJETS MU H Output.yoda INPUTFILE rivet a CMS 2015 I13737 H Output2.yoda ignore beams INPUTFILE rivet mkhtml h 7 rivet mkhtml Output.yoda: LegendLabel mc errs

H. Schulz Rivet 7 / 19 Analysis skeleton 1 rivet-mkanalysis ANANAME prepares skeleton rivet-buildplugin RivetANANAME.so ANANAME.cc compiles analysis plugin rivet EVENTS.hepmc -a ANANAME --pwd finds and runs analysis plugin void init() { 3 // Declare analysis containers (jets etc), histograms here } 5 void ANANAME::analyze(const Event & e) { 7 // Executed once per event, calc observables, fill histograms here } 9 void ANANAME::finalize() { 1 // Normalise, divide histograms here } 3 private: 5 // Histogram pointers go here

H. Schulz Rivet 8 / 19 Hands on 1 on lxplus 1 source /afs/cern.ch/work/h/hschulz/public/setuprivet2.5.0.sh // Set up Rivet 2.5 with Python 2.7 from LCG 3 rivet h 5 rivet list analyses // List precompiled analyses shipped with Rivet 7 rivet show analysis CMS 2015 I13737 // Detailed info for particular analysis 9 rivet show analysis MC ZJETS MU rivet show analysis ATLAS 2015 CONF 2015 041 1 3 5 rivet a ATLAS 2015 CONF 2015 041 a MC ZJETS MU H Output.yoda INPUTFILE rivet a CMS 2015 I13737 H Output2.yoda ignore beams INPUTFILE rivet mkhtml h 7 rivet mkhtml Output.yoda: LegendLabel mc errs

1 Analysis skeleton rivet-mkanalysis ANANAME prepares skeleton rivet-buildplugin RivetANANAME.so ANANAME.cc compiles analysis plugin rivet EVENTS.hepmc -a ANANAME --pwd finds and runs analysis plugin void init() { 3 // Declare analysis containers (jets etc), histograms here } 5 void ANANAME::analyze(const Event & e) { 7 // Executed once per event, calc observables, fill histograms here } 9 void ANANAME::finalize() { 1 // Normalise, divide histograms here } 3 private: 5 // Histogram pointers go here http://rivet.hepforge.org/code/dev/annotated.html H. Schulz Rivet 9 / 19

H. Schulz Rivet / 19 Analysis objects 1 void init() { hist=bookhisto1d( hist met, 14, 0., 700); 3 p1d=bookprofile1d( JetPt vs JetEta, 50,, 120); c=bookcounter( passedcutxy ); 5 } 7 void ANANAME::analyze(const Event & e) { double weight = e.weight() 9 hist >fill(met, weight); p1d >fill(jet.pt(), jet.eta(), weight); 1 c >fill(weight); } 3 void ANANAME::finalize() { hist >scale(crosssection()/femtobarn 20.3/sumOfWeights()); 5 } private: 7 Histo1DPtr hist; Profile1DPtr p1d; 9 CounterPtr c; Note: Everything that is booked is automatically written out to file.

H. Schulz Rivet 11 / 19 Projections Predefined calculators Declaration in init(), application to event ( project ) in analyze 1 #include Rivet/Projections/FastJets.hh 3 void init() { FinalState fs; 5 FastJets jetpro(fs, FastJets::ANTIKT, 0.4); declare(jetpro, Jets ); 7 } 9 void ANANAME::analyze(const Event & e) { const Jets& jets = apply<fastjets>(e, Jets ).jetsbypt(cuts::pt>30 GeV); 1 foreach(const Jet& j, jets) { if (j.btagged()) { // Is there a ghost associated B hadron 3 // } 5 } }

FinalStates ChargedFinalState NeutralFinalState UnstableFinalState VetoedFinalState DISFinalState VisibleFinalState IdentifiedFinalState HadronicFinalState 1 #include Rivet/Projections/FastJets.hh #include Rivet/Projections/IdentifiedFinalState.hh 3 #include Rivet/Projections/VetoedFinalState.hh 5 void init() { IdentifiedFinalState neutrinofs(fs); 7 neutrinofs.acceptneutrinos(); declare(neutrinofs, Neutrinos ); 9 VetoedFinalState jetinput; 1 jetinput.addvetoonthisfinalstate(neutrinofs); 3 FastJets jetpro(jetinput, FastJets::ANTIKT, 0.4); declare(jetpro, Jets ); 5 } H. Schulz Rivet 12 / 19

H. Schulz Rivet 13 / 19 Plotting rivet-mkhtml MC1.yoda: Signal1 MC2.yoda: Signal2 -o plots.plot file 1 BEGIN PLOT /ATLAS 2015 I13437/d18 x01 y01 XLabel=$Eˆ{\rm{miss}} T$ [GeV] 3 YLabel=Events XMin=150 5 END PLOT

H. Schulz Rivet 14 / 19 New in Rivet 2.5 Even simpler projections syntax Basic modelling of detector repsonses No more boost dependency (pure C++11)

H. Schulz Rivet 15 / 19 Modelling detector response Huge wealth of searches available would like to preserve properly to allow amongst others reinterpration Data preservation of non-unfolded analyses: approximate repsonse (can be made public) Need to encode efficiencies and response of physics objects MC truth Filtering Smearing Detector hits Digi+Pile-up Trigger Det Reco Reco

H. Schulz Rivet 16 / 19 Implementation 1 inline Jet MY JET SMEAR ATLAS RUN1(const Jet& j) { static random device rd; 3 static mt19937 gen(rd()); // Const fractional resolution for now 5 static const double resolution = 0.03; // Smear by a Gaussian centered on 1 with width given by the (fractional) resolution 7 normal distribution<> d(1., resolution); const double fsmear = max(d(gen), 0.); 9 if (j.mass() <0) return Jet(FourMomentum::mkXYZM(j.px() fsmear, j.py() fsmear, j.pz() fsmear, 0.)); return Jet(FourMomentum::mkXYZM(j.px() fsmear, j.py() fsmear, j.pz() fsmear, j. mass())); 1 } Some adhoc jet resolution smearing

H. Schulz Rivet 17 / 19 Implementation 1 // This is in init() FastJets fj(finalstate(cuts::abseta < 5), FastJets::ANTIKT, 0.4); 3 declare(fj, Jets ); 5 SmearedJets sj(fj, MY JET SMEAR ATLAS RUN1, [](const Jet& j){ return j.btagged()? 0.7 (1 exp( j.pt()/( GeV))) : 0.01; } ); 7 declare(sj, SmearedJets ); 9 hist met = bookhisto1d(18,1,1); // Binning read from data file entry d18 x01 y01 1 // This is in analyze() const Jets& jets = apply<jetalg>(event, SmearedJets ).jetsbypt(cuts::pt > 30.0 GeV && Cuts::abseta < 4.5); The SmearedJet projection takes a smearing and an efficieny function The latter uses C++11 lambda syntax (any function pointer would work)

H. Schulz Rivet 18 / 19 Hands on 2 Events / GeV Data/SM 4 3 2 1-1 -2 1.5 2 0.5 1 0 ATLAS -1 s=8 TeV, 20.3 fb miss E T >150 GeV Data 2012 SM uncertainty Z( νν)+jets W( lν)+jets Di-boson tt + single top Multi-jet Z( ll)+jets D5 M=0GeV, M =670GeV * ADD n=2, M =3TeV ~ q/g~ Mq~,g~=1TeV, D M -4 G ~ + ~= ev G 200 400 600 800 00 1200 miss E T [GeV] Monojet search (https://arxiv.org/pdf/ 1502.01518v2.pdf) Data in signal region and total background available on HepData Prepared skeleton ( rivet-mkanalysis ATLAS 2015 I13437) See /afs/cern.ch/work/h/hschulz/public/monojet rivet-buildplugin RivetATLAS 2015 I13437.so ATLAS 2015 I13437.cc rivet --pwd -a ATLAS 2015 I13437 INFILE

H. Schulz Rivet 18 / 19 Hands on 2 Events / GeV Data/SM 4 3 2 1-1 -2 1.5 2 0.5 1 0 ATLAS -1 s=8 TeV, 20.3 fb miss E T >150 GeV Data 2012 SM uncertainty Z( νν)+jets W( lν)+jets Di-boson tt + single top Multi-jet Z( ll)+jets D5 M=0GeV, M =670GeV * ADD n=2, M =3TeV ~ q/g~ Mq~,g~=1TeV, D M -4 G ~ + ~= ev G 200 400 600 800 00 1200 miss E T [GeV] Monojet search (https://arxiv.org/pdf/ 1502.01518v2.pdf) Data in signal region and total background available on HepData Prepared skeleton ( rivet-mkanalysis ATLAS 2015 I13437)

H. Schulz Rivet 19 / 19 Final remarks rivet.hepforge.org Getting started super convenient bootstrap script BSM tool chain extremely easy via UFO + Herwig7/Sherpa + Rivet