User Tools

Site Tools


root:backcat

This is an old revision of the document!


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:

  • A DaVinci algorithm, that writes the decay string in a text-file.
  • A standalone C++ class, that puts the decay-string in a formatted LaTeX-table.
  • A standalone C++ class, that converts the Monte Carlo particle numbers in a LaTeX-string with the particle name.

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

  • Copy the folders BGlatexClass, convPDGnumberClass, obj and lib, the Makefile and the PDGLaTeXTable.txt in /afs/cern.ch/user/d/decianm/analysis/tools/code in a directory of yours.
  • Type make. Some warnings about deprecated headers will appear.
  • After it is finished, you should have a libToolClasses.so shared object in the folder /lib.
  • Copy the BG_cat.txt of the DaVinci Algorithm in this directory. This is not absolutely necessary, but makes it a bit easier.

The makeTable()-method

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

  • The input file name. Default is: BG_cat.txt
  • The output file name. Defaul is: BG_cat.tex
  • The numbers of decays per table. This will create a second, third table after a certain amount of decays in the table, and prevents LaTeX from spreading the table over the bottom of the page. Default is: 15
  • The number of characters per line. This will create a second, third row in the table after a certain amount of characters per line, and prevents LaTeX from spreading the table of the right margin of the page. Default is: 20
  • Full LaTeX header. Choose true if you want to use the table standalone, false if you want to use it via /input in your LaTeX-document. Default is true.
root/backcat.1231930972.txt.gz · Last modified: 2009/01/14 12:02 by decianm