Skip to content

Advanced Example : \(Z^0\)\(\mu^{+}\mu^{-} + jet\)

LbEnv Setup

Before testing this example, it is necessary to source LbEnv as it is shown in the section Setting CVMFS.

The following example builds a DecayTree for the decay \(Z^0\)\(\mu^{+}\mu^{-} + jet\) with data directly obtained from the Open Data portal! In this case, we are using part of the data in the ElectroWeak stream from 2011. Specifically, this subset can be found in the json file at the bottom of the page.
Follow the steps below to run the advanced example:

  • Download the advanced-example.py. The contents of this file are shown below:

    from Configurables import DecayTreeTuple
    from Configurables import DaVinci
    from Configurables import CombineParticles
    
    from DecayTreeTuple.Configuration import *
    from LoKiPhys import *
    from PhysSelPython.Wrappers import Selection, SelectionSequence
    from StandardParticles import StdJets
    from Gaudi.Configuration import *
    from CommonParticles.Utils import *
    
    from PhysConf.Selections import SelectionSequence
    from PhysConf.Selections import AutomaticData
    from PhysConf.Filters import LoKi_Filters
    
    from GaudiConf import IOHelper
    
    # Add a prefilter to make the process faster
    flters = LoKi_Filters (STRIP_Code = "HLT_PASS_RE('StrippingZ02MuMuLineDecision')")
    DaVinci().EventPreFilters = flters.filters('Filters')
    
    # Stream and stripping line we want to use
    stream = 'EW'
    line   = 'Z02MuMuLine'
    
    zboson_candidates = AutomaticData(Location = '/Event/{0}/Phys/{1}/Particles'.format(stream,line))
    
    # Now lets announce the need of a Z+Jet selection
    zjet = CombineParticles('Combine_ZJet',
                DecayDescriptor='H_10 -> Z0 CELLjet',
                DaughtersCuts={'CELLjet': '(PT > 5000) & (ETA > 2.2) & (ETA < 4.2)'},
                MotherCut="VFASPF(VCHI2/VDOF) < 12")
    
    zjet_sel = Selection(
               'Sel_ZJet',
               Algorithm=zjet,
               RequiredSelections=[zboson_candidates,StdJets]
               )
    
    zjet_seq = SelectionSequence('Seq_ZJet', TopSelection=zjet_sel)
    
    # Set Z+Jet NTuple
    dtt = DecayTreeTuple('ZJets')#,OutputLevel=VERBOSE)
    dtt.Inputs = zjet_seq.outputLocations()
    
    dtt.Decay = 'H_10 -> ^(Z0 -> ^mu+ ^mu-) ^CELLjet'
    
    dtt.ToolList.remove('TupleToolGeometry') #jets freak out otherwise
    dtt.addBranches({'Z0'  : 'H_10 -> ^(Z0 -> mu+ mu-) CELLjet',
                     'mup' : 'H_10 -> (Z0 -> ^mu+ mu-) CELLjet',
                     'mum' : 'H_10 -> (Z0 -> mu+ ^mu-) CELLjet',
                     'jet' : 'H_10 -> (Z0 -> mu+ mu-) ^CELLjet'})
    
    dtt.mup.addTupleTool('TupleToolTrackInfo') #gives track info
    dtt.mum.addTupleTool('TupleToolTrackInfo')
    dtt.mup.addTupleTool('TupleToolGeometry') # gives PV info
    dtt.mum.addTupleTool('TupleToolGeometry')
    dtt.Z0.addTupleTool('TupleToolGeometry')
    
    # Add jet information
    dtt.jet.addTupleTool('TupleToolJets')
    dtt.jet.TupleToolJets.Verbose = True
    
    # Configure DaVinci
    DaVinci().UserAlgorithms += [zjet_seq.sequence(),dtt]
    DaVinci().InputType = 'DST'
    
    # Name of the output file
    DaVinci().TupleFile = 'ZJet_example.root'
    DaVinci().PrintFreq = 1000
    DaVinci().DataType = '2011'
    DaVinci().Simulation = False
    
    # Only ask for luminosity information when not using simulated data
    DaVinci().Lumi = not DaVinci().Simulation
    DaVinci().EvtMax = -1
    
    IOHelper().inputFiles([
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000008_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000022_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000043_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000044_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000064_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000078_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000092_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000106_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000120_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000134_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000148_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000162_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000176_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000199_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000200_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000220_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000227_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000235_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000250_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000264_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000278_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000293_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000308_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000323_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000337_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000359_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000360_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000381_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000396_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000410_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000424_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000431_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000439_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000461_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000462_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000483_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000499_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000513_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000521_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000531_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000545_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000559_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000573_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000582_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000583_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000592_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000607_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000617_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000618_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000628_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000635_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000646_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000661_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000668_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000673_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000675_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000684_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000691_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000694_1.ew.dst',
    'root://eospublic.cern.ch//eos/opendata/lhcb/Collision11/EW/LHCb_2011_Beam3500GeV_VeloClosed_MagDown_RealData_Reco14_Stripping21r1_EW_DST/00041840/0000/00041840_00000710_1.ew.dst'
    
    ], clear=True)
    

  • In the same terminal that you initiated CVMFS and sourced LbEnv, run:

    lb-run DaVinci/v45r8 gaudirun.py advanced-example.py