RhopiAlg Example Package#
What does this example package teach?#
The RhopiAlg
is the starting point for beginners using BOSS. It teaches:
The usual Gaudi Algorithm structure of the initialize, execute, and finalize steps.
The use of logging using MsgStream.
Declaring and booking NTuple::Tuples (the eventual
TTree
) and adding items (the eventual branches) using NTuple::Tuple::addItem.Accessing data of charged tracks and neutral tracks in the using data from EvtRecEvent and EvtRecTrack classes.
Identifying particles (PID) using the ParticleID class.
Making a selection of these tracks (using iterators) over which you loop again later.
Applying a Kalman kinematic fit with constraints and a resonance using KalmanKinematicFit.
Computing invariant masses using
HepLorentzVector
from the CLHEP library.Computing the angle between a photon and a pion.
Reconstructed data from the detectors is accessed through the classes in the below table. This package only makes use of the MDC, EMC, and TOF detectors.
Detector |
Class |
Accessed through |
|
---|---|---|---|
MDC |
Main Drift Chamber |
||
MDC |
\(dE/dx\) info |
||
MDC |
Kalman track |
||
TOF |
Time-of-Flight |
||
EMC |
EM-Calorimeter |
||
MUC |
Muon Chamber |
||
<> |
Extension through all |
Introduction#
One of the basic physics analysis packages that is already provided in BOSS is the
RhopiAlg
package. Within BESIII, almost everyone knows it, because it is used as the
starting point for developing your own initial event selection packages. RhopiAlg
is
an illustration of a typical procedure in particle physics: reconstructing a decayed
particle. For this, you will have to make apply cuts on measured parameters and this
package is an illustration of this procedure.
The RhopiAlg
analyzes the decay of the \(\rho(770)\) meson. As you can see in the in the
PDG listing for this meson,
the \(\rho(770)\) meson predominantly decays through \(\rho\rightarrow\pi\pi\) (almost
\(100\%\)), whether it concerns a \(\rho^+\), \(\rho^0\), or \(\rho^-\). This means that we can
reconstruct this meson purely through this 2-particle decay mode.
Additionally, when we consider the charged \(\rho^\pm\) mesons, one of the decay products is the neutral pion: \(\rho^\pm \rightarrow \pi^\pm\pi^0\). This meson is again neutral and cannot be detected, so has to be reconstructed. But here again, there is one dominant decay mode: \(\pi^0 \rightarrow \gamma\gamma\) (\(98.823 \pm 0.034 \%\), see its PDG listing). This means that we can reconstruct the \(\rho^\pm\) meson almost exclusively through its \(\rho^\pm \rightarrow \pi^\pm\pi^0 \rightarrow \pi^\pm\gamma\gamma\) decay channel.
In reconstructing \(\pi^0\) and \(\rho^0\), you will run into another common phenomenon in hadron research: the width of the decaying particle. The width of \(\rho^0\) is much wider than \(\pi^0\) and therefore results in interesting differences in the eventual invariant mass spectra. In the final event selection, you will for instance see that a fit of the invariant mass peaks results in different widths.
Where to find it?#
The original RhopiAlg
package (version 0.0.23
) is located here,
/cvmfs/bes3.ihep.ac.cn/bes3sw/Boss/$BOSSVERSION/Analysis/Physics/RhopiAlg/RhopiAlg-00-00-23
You can also find the RhopiAlg package in the BOSS Tutorials repository.
How to compile and run?#
See
summary of Set up a BOSS package
and Running jobs. An
example of a analysis job option file for RhopiAlg
is found under run
in the
TestRelease
package.
The parameter EventCnvSvc.digiRootInputFile
lists the input files. This is currently
rhopi.dst
(namely the output after running the jobOptions_rec.txt
job), but you can
also feed it other DST files, such as the ones reconstructed from BESIII
data or MC samples.
Description of source code#
Warning
The sections below are incomplete and it is not yet decided whether it is useful to describe the source code in words.
Declaring and defining properties like cuts#
See
header .h
file
for declarations and
source .cxx
code
for definitions of cuts.
Determining vertex position#
Writing properties#
Looping over charged and neutral tracks#
Kalman kinematic \(n\)-constraints fit procedure#
fit4c
refers to the 4-constraints coming from the original \(\pi^0 \rightarrow \gamma\gamma\) meson (or other mesons, depending on the collision energy), namely, the 4-momentum of the system (collision energy and sum of the 3-momenta). Note that the \(\chi^2_\text{red}\) of the fit is the same for any combination, as the for constraints are the same in each event.fit5c
is used when an additional constraint is applied. In theRhopiAlg
package, this fifth constraint refers to the constraint reconstruction of \(\rho^\pm \rightarrow \pi^\pm\pi^0 \rightarrow \pi^\pm\gamma\gamma\), namely the mass of the pion.
Cut flow#
Output root
file#
Warning
General description of how to read the output ROOT file.