Table of Contents

Categorizing Background using Monte Carlo truth

Idea

It may be useful to print the decay tree of a Monte Carlo particle that was associated to a reconstructed particle. Suppose you have a preselection and you want to see what particles the background, that passes your preselection, consists of. As your reconstruction “thinks”, your reconstructed particles are all signal, you have to print the decay tree of the Monte Carlo particle associated to your reconstructed particle. The following components save the decay-string of a Monte Carlo particle in a txt-file (in DaVinci) and convert them into a LaTeX-table.

Components

There are 3 components:

DaVinci Algorithm BGCat

This algorithm takes your reconstruced mother particle from CombineParticles, assigns the respective Monte Carlo particle and prints all daughters (with their respective daughters if they are not stable, etc. ) in ascending order, with antiparticles coming after particles. The decay strings are stored in a file named BG_cat.txt. In your options-file, add:

from Configurables import BGCat

BGCategory = BGCat("BGCategory")
BGCategory.addTool( PhysDesktop() )
BGCategory.PhysDesktop.InputLocations = ["Phys/yourLocation"]
BGCategory.OutputLevel = 4

yourSequence.Members.append(BGCategory)

yourLocation may be something like Bsmumu, when you are doing Bsmumu = CombineParticles(“Bsmumu”). In your /src directory, add: BGcat.cpp and BGcat.h, which are located at: /afs/cern.ch/user/d/decianm/cmtuser/DaVinci_v21r0/Phys/DaVinci/src/code (cut the .source-ending off)

C++ Classes BGlatex and convPDGnumber

BGlatex takes the output text-file of BGCat and turns it into a LaTeX-table. convPDGnumber converts the Monte Carlo numbers into a string of LaTeX-code. Note that BGlatex needs convPDGnumber, while convPDGnumber can be used separately.

How to install it

The makeTable()-method

The class BGlatex has the main method makeTable(). It takes five arguments:

Notes

At this moment (09/01/14), all anti-particle numbers are converted into particle numbers.

The PDGlatex()-method

The class convPDGnumber has the main method PDGlatex(), takes as an argument the Monte Carlo number and returns a string with the LaTeX-expression. This method is called internally by makeTable().

Notes

At this moment (09/01/14), no anti-particles are implemented.

How to use it in ROOT/C++

The classes have been tested to work with ROOT. To use them, start ROOT and type:

This should have created a file named BG_cat.tex in your directory.

How to use it in Python

The classes have not really been tested in Python. The following procedure seems to work, though. Copy the file libToolClasses.so in your working directory. Start python and type:

This should have created a file named BG_cat.tex in your directory.

Disclaimer

Most of the above programming was done in a Trial-and-Error fashion and things have not been extensively tested. Feel free to add comments or report bugs.