DecayTreeTuple – an update (v2r3p1)

Slides:



Advertisements
Similar presentations
Micro Control Solutions Stability System II rev. 6.4
Advertisements

Micro Control Solutions Annual Product Review rev. 6.5 “Click” for next slide Move to the next slide when the request appears.
Stripping Plans for 2014 and 2015 Laurence Carson (Edinburgh), Stefano Perazzini (Bologna) 2 nd LHCb Computing Workshop,
Calendar Browser is a groupware used for booking all kinds of resources within an organization. Calendar Browser is installed on a file server and in a.
Grid and CDB Janusz Martyniak, Imperial College London MICE CM37 Analysis, Software and Reconstruction.
Batch Production and Monte Carlo + CDB work status Janusz Martyniak, Imperial College London MICE CM37 Analysis, Software and Reconstruction.
ATLAS Analysis Model. Introduction On Feb 11, 2008 the Analysis Model Forum published a report (D. Costanzo, I. Hinchliffe, S. Menke, ATL- GEN-INT )
Database Design Concepts Info 1408 Lecture 2 An Introduction to Data Storage.
Database Design Concepts Info 1408 Lecture 2 An Introduction to Data Storage.
Calendar Browser is a groupware used for booking all kinds of resources within an organization. The software is totally integrated in Outlook. Calendar.
Customer Support Center Overview June 2006.
DaVinci status Juan Palacios LHCb Software Week March, 2009.
ArcGIS Workflow Manager An Introduction
JAS3 + AIDA LC Simulations Workshop SLAC 19 th May 2003.
Prepared by: Steve Teo Contributors: Tong Huu Khiem.
Overview of LHCb applications and software environment LHCb software tutorial - March
An Introduction to Progress Arcade ™ June 12, 2013 Rob Straight Senior Manager, OpenEdge Product Management.
HYPACK MAX Training Seminar Advanced Survey Topics Multivessel & Specialty Drivers Demonstrations of operating with more than one vessel & specialty.
Status report from T2K-SK group Task list of this group discussion about NEUT Kaneyuki, Walter, Konaka We have just started the discussion.
Introduction Advantages/ disadvantages Code examples Speed Summary Running on the AOD Analysis Platforms 1/11/2007 Andrew Mehta.
Particle to MC truth association Juan Palacios (Nikhef) LHCb software week June
Gaudi Framework Tutorial, April Algorithm Tools: what they are, how to write them, how to use them.
Prepared by: Steve Teo Contributors: Tong Huu Khiem.
Reconstruction Configuration with Python Chris Jones University of Cambridge.
Vertex finding and B-Tagging for the ATLAS Inner Detector A.H. Wildauer Universität Innsbruck CERN ATLAS Computing Group on behalf of the ATLAS collaboration.
RICH upgrade simulation: updates RICH upgrade-software meeting 1 S.Easo.
RICH upgrade simulation: updates S.Easo RICH upgrade-mechanics meeting 1.
David Adams ATLAS DIAL: Distributed Interactive Analysis of Large datasets David Adams BNL August 5, 2002 BNL OMEGA talk.
1 SICBDST and Brunel Migration status and plans. 2 Migration Step 1: SICBMC/SICBDST split  Last LHCb week: Split done but not tested  Software week.
1 D.Chakraborty – VLCW'06 – 2006/07/21 PFA reconstruction with directed tree clustering Dhiman Chakraborty for the NICADD/NIU software group Vancouver.
DaVinciAssociators How to relate physics objects to MC truth.
CERN Tutorial, September Overview of LHCb applications and software environment.
1 HLT (confirmation, generic)  Idea Reconstruct only a fraction tracks In hand:  better PT estimation  signal (secondary) vertices  Data TDR DaVinci.
Marco Cattaneo, 6-Apr Issues identified in sub-detector OO software reviews Calorimeters:18th February Tracking:24th March Rich:31st March.
Processing large data sets Brad Abbott. Now J/Psi Starting with root-tuples Add 4-momentum to look for candidates Pick events (raw) -> reconstruct event.
Introduction to FCC Software FCC Istanbul 11 March, 2016 Alice Robson (CERN/UNIGE) on behalf of / with thanks to the FCC software group.
Nikhef Bfys Workshop Day One: Exploring a (m)DST Juan Palacios
Gaudi Framework Tutorial, April Histograms And N-tuples.
LoKi’s Cook-book : Writing analysis algorithms in C++ Tutorial v8r0 Vanya Belyaev Vanya Belyaev NIKHEF/Amsterdam & ITEP/Moscow Vanya Belyaev.
Monthly video-conference, 18/12/2003 P.Hristov1 Preparation for physics data challenge'04 P.Hristov Alice monthly off-line video-conference December 18,
T3/Tutorials: Data Submission
Project Management: Messages
Calendar Browser is fully integrated into SharePoint
Simulation Tools for Test Beam
Using IP Chi-Square Probability
Targeting & Optimization
The Generator Phase in Gauss
F2F Tracking Meeting, Prague 12/12/2013
Hlt Raw Data & TISTOS tool (Tutorial)
Developments of the PWG3 muon analysis code
Defence Architecture Framework
ALICE analysis preservation
Physics Software Towards first Physics data Reconstruction Alignment
Single Sample Registration
WP3 Educational and Outreach Portal
Software Testing With Testopia
LHCb Software Tutorial
Detector Configuration for Simulation (i)
Tapping the Power of Your Historical Data
Lesson 6: Protecting, Maintaining and Managing Databases
This presentation has been prepared by Vault Intelligence Limited (“Vault") and is intended for off line demonstration, presentation and educational purposes.
Update on LHCb Level-1 trigger
2 Getting Started.
2 Getting Started.
2 Getting Started.
Cases Admin Training.
ZHH Analysis preliminary results on different detector models
Manage Sourcing - Supplier
Enhanced agent workspace for messaging
Presentation transcript:

DecayTreeTuple – an update (v2r3p1) Robert W. Lambert, Imperial College London. R Lambert, Imperial Software Week, June 2009

What is DecayTreeTuple DecayTreeTuple is: A labour-saving device A common tool for writing ntuples Continuously expanding/developing Highly configurable An ntuple is: User defined quick and dirty analysis solution A compact ordered list of all relevant data A reduced, condensed set of data about events/candidates One typical starting point for an analysis Easily viewed/plotted in Root Produced from DSTs (possibly micro-DSTs) R Lambert, Imperial Software Week, June 2009

What is a TupleTool? A TupleTool: Previous talk: Adds information into the tuple Contains a “Fill” method Is called by the DecayTreeTuple Will typically contain a set of common entries Previous talk: http://indico.cern.ch/contributionDisplay.py?contribId=26&sessionId=2&confId=25000 Jeremie Borel, March 2008 There has been a lot of work since then!! I will give an overview of where we are now R Lambert, Imperial Software Week, June 2009

Purpose of this talk For the unconverted: For Everyone For Experts Introduce DecayTreeTuple Demonstrate the use of DecayTreeTuple Categorise types of TupleTools Introduce the new DaVinci Tutorial For Everyone Provide an up-to-date list of all TupleTools Provide a quick-reference of tool useage For Experts Give an overview of what has changed Open discussion of what needs to be changed in the future R Lambert, Imperial Software Week, June 2009

Using DecayTreeTuple Pick a Type of Tuple Pick the TupleTools you want to write Configure the tools in your python opts file R Lambert, Imperial Software Week, June 2009

1.Types of Tuple EventTuple MCDecayTreeTuple DecayTreeTuple Writes out one entry per event Filled by (MC)EventTupleTools MCDecayTreeTuple Uses the MCDecayFinder Writes once per candidate, LHCb::MCParticle Filled by MC(Particle)TupleTools DecayTreeTuple Uses the PhysDesktop and a DecayDescriptor Writes once per decay candidate, LHCb::Particle Filled by (Particle)TupleTools R Lambert, Imperial Software Week, June 2009

2.TupleTools TupleTools add/fill information into the ntuple TupleTools inherit from one of three base classes IEventTupleTool Fills information about the event IParticleTupleTool Fills information about an LHCb::Particle IMCParticleTupleTool Fills information about an LHCb::MCParticle R Lambert, Imperial Software Week, June 2009

EventTupleTools Can be added to any of the tuples, to fill info about the event Tool Description TupleToolEventInfo Fills event/run number TupleToolGeneration What was generated (MCTruth) TupleToolPrimaries PV information TupleToolRecoStats Number of Tracks/Particles reconstructed TupleToolSelectionResults Results of selections TupleToolTrigger L0, HLT1 and HLT2 output MCTupleToolEventType Categorise the event against the EvtGen ID MCTupleToolInteractions Weight based on the number of interactions R Lambert, Imperial Software Week, June 2009

MCParticle TupleTools Added to an MCDecayTreeTuple, fills info on MCParticles Tool Description MCTupleToolAngles Cos(theta) pointing angle MCTupleToolDalitz Dalitz mass distributions MCTupleToolDecayType Categorise the decay against the EvtGen ID MCTupleToolHierarchy Info on the mother/grandmother/daughters MCTupleToolKinematic Momentum etc. MCTupleToolP2VV Helicity/Transversity angles MCTupleToolReconstructed Is the particle reconstructed/reconstructible R Lambert, Imperial Software Week, June 2009

Particle TupleTools Added to a DecayTreeTuple, fills info about the particles Tool Description TupleToolAngles Cos(theta) pointing angle TupleToolDalitz Dalitz mass distributions TupleToolGeometry Vertices and distances TupleToolKinematic Momentum etc. TupleToolP2VV Helicity/Transversity angles TupleToolPID PID information, RICH, DLLs etc. TupleToolPropertime Decay proper time TupleToolTagging Tagging information TupleToolTISTOS Trigger: TIS, TOS, TOBbing TupleToolTrackInfo Tracking Chi2, extra info, etc. TupleToolVtxIsoln Tracks close to this vertex R Lambert, Imperial Software Week, June 2009

Special TupleTools LoKi::Hybrid::TupleTool TupleToolMCBackgroundInfo Add any entry which exists in the CombineParticles framework Perform basic maths with/between entries TupleToolMCBackgroundInfo Does MCTruth association through BackgroundCategory Stores the results TupleToolMCTruth Performs MCTruth association with SmartAssociator Fills MCParticleTupleTools attached to it TupleToolPi0 Information and MCTruth association for special case of Pi0 R Lambert, Imperial Software Week, June 2009

3. Using options Get an instance and add the TupleTools Define the decay, with ^ for the particles to process The ‘head’ particle is processed by default from Configurables import DecayTreeTuple tuple = DecayTreeTuple() tuple.InputLocations = [ "Bs2JpsiPhi" ] #your algorithm name tuple.ToolList += [ "TupleToolMCTruth" , "TupleToolMCBackgroundInfo" , "TupleToolKinematic" , "TupleToolEventInfo" , "TupleToolTrackInfo" ] tuple.Decay = "[B_s0 -> (^J/psi(1S) => ^mu+ ^mu-) (^phi(1020) -> ^K+ ^K-)]cc” R Lambert, Imperial Software Week, June 2009

LoKi::Hybrid::TupleTool A VERY powerful TupleTool Add anything from the CombineParticles framework Massive list of LoKi::Hybrid functors to choose from: https://twiki.cern.ch/twiki/bin/view/LHCb/LoKiHybridFilters LoKi_B=LoKi__Hybrid__TupleTool("LoKi_B") LoKi_B.Variables = { # " name " : " functor ", “PID" : "ID" , "BPVDIRA" : "BPVDIRA" , "MassDiff_Bs0" : "DMASS('B_s0')" , "P2" : "P*P“ } tuple.addTool(LoKi_B) tuple.ToolList+=["LoKi::Hybrid::TupleTool/LoKi_B"] R Lambert, Imperial Software Week, June 2009

MCTruth To add MCTruth information, you first add the MCTruth Tool This does the association, Then fill MC(Particle)TupleTools for this associate (No need for multiple assosciation calls) tuple = DecayTreeTuple() … tuple.ToolList += [ "TupleToolMCTruth" ] MCTruth = TupleToolMCTruth() MCTruth.ToolList = [ "MCTupleToolKinematic" , "MCTupleToolHierarchy" ] tuple.addTool(MCTruth) R Lambert, Imperial Software Week, June 2009

Tutorial Tutorial/Analysis v8r2 DaVinci Tutorial 6 DaVinci Tutorial 7 Basic DecayTreeTuple https://twiki.cern.ch/twiki/bin/view/LHCb/DaVinciTutorial6 Setting up and using a few tools DaVinci Tutorial 7 Advanced DecayTreeTuple https://twiki.cern.ch/twiki/bin/view/LHCb/DaVinciTutorial7 LoKi::Hybrid::TupleTool Working with MCTruth Configuring Branches Writing your own TupleTool R Lambert, Imperial Software Week, June 2009

Summary Tuples are often the starting point for a user analysis DecayTreeTuple is a common labour-saving tool Latest version v2r3p1 Many changes have happened recently: Now many TupleTools Can/Should use LoKi::Hybrid::TupleTool where possible MCTruth association simplified New tutorials reflect the situation Tutorial/Analysis v8r2 Enjoy your analysis! R Lambert, Imperial Software Week, June 2009

End Questions/Discussion R Lambert, Imperial Software Week, June 2009

Backup Backup slides R Lambert, Imperial Software Week, June 2009

Branches Branches are used to separate out particles: Different TupleTools can be added/configured for each one tuple.Branches={ "B" : "[B_s0]cc : [B_s0 -> (J/psi(1S) => mu+ mu-) (phi(1020) -> K+ K-)]cc" , "KPlus" : "[B_s0]cc -> (phi(1020) -> ^K+ K-) ? " , "KMinus" : "[B_s0]cc -> (phi(1020) -> K+ ^K-) ? " } tuple.addTool(TupleToolDecay, name="B") LoKi_B=LoKi__Hybrid__TupleTool("LoKi_B") LoKi_B.Variables = { "PID" : "ID" , "BPVDIRA" : "BPVDIRA" , "MassDiff_Bs0" : "DMASS('B_s0')" tuple.B.ToolList+=["LoKi::Hybrid::TupleTool/LoKi_B"] tuple.B.addTool(LoKi_B) R Lambert, Imperial Software Week, June 2009