• No results found

3.2 The LHCb detector

3.2.9 Software

Various software packages are used within the LHCb collaboration for tasks such as data processing and the generation of simulated data. A brief summary of some relevant software packages is given below.

Gauss

TheGausspackage is used to generate proton-proton collisions and the subse- quent decays of particles produced therein, and then simulate the interaction of the decay products with the LHCb detector. The generation and decay phase makes use of a range of external packages such as Pythia [79] and EvtGen[80, 81] to model the underlying physics of particle production and decays based on experimental observations and theoretical models. In the sim- ulation phase,Gaussuses theGeant4toolkit [82] to simulate the interaction of the generated particles with the LHCb detector.

Pythia

proton-proton collision events. Pythiamodels the underlying hard process and the resulting parton showers up to hadronisation.

EvtGen

Oncec- and b-hadrons have been produced in simulation,EvtGen is used to describe their decays into final state particles. The inclusive decay chain for each particle and the model used to describe each decay are configured in a main “decay file”, which is updated to match branching fractions reported by the PDG [3]. For simulating signal events,EvtGen also supports “user decay files”, which may specify exclusive decay chains for some particles. EvtGen is actively developed and maintained within the Warwick LHCb group, and a record of my contributions to this development can be found in App. B.

Boole

Booleis the LHCb digitisation package and is responsible for modelling the response of the LHCb subdetectors to the particle hits simulated byGauss. Moore

The Moore package implements the LHCb HLT algorithms and is used to process both online data obtained from the LHCb detector and simulated data produced usingGauss andBoole. To minimise differences between online and offline track reconstruction, the same algorithms are used both online and offline, however, some configuration differences exist to meet the time requirements of the online system. The most significant difference is that the pT threshold above which a track is reconstructed is set to be higher for online reconstruction.

Brunel

The Brunelpackage is responsible for reconstructing data from the LHCb subdetectors including tracking, particle identification and calorimeter objects. As withMoore, Brunel is used to reconstruct both real data and simulated events.

DaVinci

DaVinci is the LHCb analysis package used to select events of interest to a particular analysis from the reconstructed data produced byBrunel and to perform some high-level reconstruction. For events that pass the specified requirements, parameters of interest relating to the reconstructed particles are recorded for further use offline.

PIDCalib

As particle identification variables are poorly modelled in simulated data, thePIDCalib package is used to model the effect of PID requirements as a function of kinematic variables such as the momentum or transverse momentum of the particle as well as detector occupancy. Calibration samples, where the species of a particle can be inferred without PID requirements, are used to measure the efficiency of a particular requirement in bins across the kinematic phase space. For example, in the decay chain D∗+ →D0(→ K−π+)π+s, the charge of the slow pion,πs+, tags the flavours of the kaon and pion produced in theD0 decay based on their charges. The efficiencies obtained from such samples can be used to weight simulated events based on the kinematics of the tracks in each event.

Laura++

Laura++[83] is a Dalitz plot fitting package, developed and maintained within the Warwick LHCb group. The package is used to perform unbinned maximum- likelihood fits to data. Signal models are described parametrically using the isobar formalism introduced in Sec. 2.5.1, while background components and efficiency effects can be described by histograms. A record of my contributions to the development of this package can be found in App. C.

Multivariate algorithms

A multivariate algorithm (MVA) converts information from multiple variables into a single classifier capable of distinguishing between two populations (here labelled signal and background) based on training performed using samples of both categories. Two types of MVA are used in the analyses reported in the following chapters: boosted decision trees (BDTs) are used to identify secondary vertices and to identifyD0 candidates; neural networks (NNs) are used both to separate signal decays from combinatorial background and to separate pions, kaons and protons.

BDTs are trained by repeatedly constructing decision trees to separate the two training samples by placing requirements on the input variables. At each node in a tree the variable and requirement are chosen to maximise the separation between signal and background. Once a tree is constructed the events that have been sorted into the incorrect category are “boosted” to increase their importance in the next tree. The score for a given event is then given by a weighted sum of the scores returned by each of these decision trees.

variables are transformed before being passed into a set of input “neurons”. These signals then pass through one or more internal layers of neurons, where the signal received by any node in layer i+ 1 is determined by a weighted sum of the signals at the neurons in layeriwith weights determined from the training samples. The final layer consists of a single neuron that outputs the classifier.

Related documents