Skip to content

Instantly share code, notes, and snippets.

View betatim's full-sized avatar
🤠
Not my first rodeo

Tim Head betatim

🤠
Not my first rodeo
View GitHub Profile
@betatim
betatim / dst-explore.py
Last active August 29, 2015 14:04
Interactively explore a DST or a micro DST. Particularly useful to work out why/what decay descriptor works.
# SetupProject DaVinci v35r1
# ipython -i dst-explore.py <inputDST>
import sys
import GaudiPython as GP
from GaudiConf import IOHelper
from Configurables import LHCbApp, ApplicationMgr, DataOnDemandSvc
from Configurables import SimConf, DigiConf, DecodeRawEvent
from Configurables import CondDB, DstConf, PhysConf
from Configurables import LoKiSvc
def cluster2mc_particles(cluster, event):
links = event['/Event/Link/Raw/VP/Clusters']
refs = links.linkReference()
mc_particles = event['MC/Particles']
next_idx = -1
particles = []
for channel, key in links.keyIndex():
if channel == cluster.channelID().channelID():
mc_key = refs[key].objectKey()
particles.append(mc_particles.object(mc_key))
def nodes(evt, node=None):
nodenames = []
if node is None:
root = evt.retrieveObject('')
node = root.registry()
if node.object():
nodenames.append(node.identifier())
for l in evt.leaves(node):
@betatim
betatim / Track finding and fitting.ipynb
Created October 23, 2014 09:20
Generate some basic tracks
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
#! /usr/bin/env bash
#
# essence
# https://github.com/betatim/essence
#
# `essence` takes a list of file names and creates a gist from them
#
set -e
# SetupProject DaVinci v36r0
import sys
from GaudiConf import IOHelper
from Configurables import LHCbApp, ApplicationMgr, DataOnDemandSvc
from Configurables import SimConf, DigiConf, DecodeRawEvent
from Configurables import CondDB, DaVinci
from Configurables import LoKiSvc
from DecayTreeTuple.Configuration import *
from Configurables import TupleToolTrigger
# SetupProject DaVinci v36r2
import sys
import GaudiPython as GP
from GaudiConf import IOHelper
from Configurables import LHCbApp, ApplicationMgr, DataOnDemandSvc
from Configurables import SimConf, DigiConf, DecodeRawEvent
from Configurables import CondDB, DstConf, PhysConf
from Configurables import LoKiSvc
# SetupProject DaVinci v36r2
import sys
import GaudiPython as GP
from GaudiConf import IOHelper
from Configurables import LHCbApp, ApplicationMgr, DataOnDemandSvc
from Configurables import SimConf, DigiConf, DecodeRawEvent
from Configurables import CondDB, DstConf, PhysConf
from Configurables import LoKiSvc
# SetupProject DaVinci v36r2
import sys
import GaudiPython as GP
from GaudiConf import IOHelper
from Configurables import LHCbApp, ApplicationMgr, DataOnDemandSvc
from Configurables import SimConf, DigiConf, DecodeRawEvent
from Configurables import CondDB, DstConf, PhysConf
from Configurables import LoKiSvc
from Ganga.GPI import *
import sys
import inspect
import os
local_dir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))
if len(sys.argv) not in (2,3):
sys.exit("Script requires the ID of a DaVinci (Turbo) or Brunel job to use as inputdata and optionally name of a file containing LFNs to process.")