rave is hosted by Hepforge, IPPP Durham
close Warning: Can't synchronize with repository "(default)" (/hepforge/svn/rave does not appear to be a Subversion repository.). Look in the Trac log for more information.

RaveKinematics

Introduction

As the aim of Rave is to provide a complete toolset for sophisticated vertex reconstruction, it naturally includes the possibility of performing a "constrained fit". This kind of reconstruction implies knowledge of the fitted topology, which then is used as extra information to refine the purely geometrically fitted results of the unconstrained vertex fit.

The topology (read decay chain) is represented by a data structure called KinematicTree referring to the tree-like hierarchical structure of a decay. This tree should be understood as a graph using KinematicParticle instances as its edges and KinematicVertex instances as its nodes. The following image should clearify the design.

To maximize the ease-of-use, a certain number of common constraints was chosen. At the moment there is no other possibilty to add new constraints than by requesting them from the package maintainer.

Quickstart

To get a head start immediately, copy, paste & compile the following source code. Don't forget to link against the RaveVertexKinematics library (additional to the Core, Base and Vertex libraries).

Because the code is already pretty huge for a first-should-be-tiny example, the comments follow seperately lateron.

#include <iostream>
#include <sstream>

#include <rave/Version.h>
#include <rave/TransientTrackKinematicParticle.h>
#include <rave/KinematicConstraintBuilder.h>
#include <rave/KinematicTreeFactory.h>

namespace {
  std::vector< rave::KinematicParticle > createParticles()
  {
    rave::Vector7D state1 (  0.0001,  0.0001,  0.0001, 
                           -31.2685, 13.0785, 28.7524, 0.1057 );
    rave::Covariance7D cov1 (
         1.5e-7,    3.6e-7,    4.0e-14,
                    8.5e-7,    9.6e-14,
                               1.7e-6,
                                 -1.4e-16,  -3.4e-16,   1.8e-24,
                                 -3.3e-16,  -8.1e-16,   4.3e-24,
                                 -3.9e-9,   -9.4e-9,    5.0e-17,
                                  4.9e-3,   -2.0e-3,   -4.4e-3,
                                             9.2e-4,    1.8e-3,
                                                        4.1e-3,
           0, 0, 0,   0, 0, 0,    6.2 );
    rave::TransientTrackKinematicParticle particle1 (
        state1, cov1, +1.0, 100, 100 );

    rave::Vector7D state2 ( -0.0006,  -0.0006,   0.0018,
                           -57.1634, -57.6416, -40.0142, 0.1057 );
    rave::Covariance7D cov2 (
        5.0e-7,    -5.0e-7,   -1.1e-14,
                    5.0e-7,    1.1e-14,
                               1.2e-6,
                                  1.5e-16,  -1.5e-16,   3.4e-24,
                                 -1.5e-16,   1.5e-16,  -3.4e-24,
                                  4.2e-9,   -4.2e-9,    9.7e-17,
                                  6.7e-2,    6.7e-2,    4.7e-2,
                                             6.8e-2,    4.7e-2,
                                                        3.3e-2,
           0, 0, 0,   0, 0, 0,    6.2 );
    rave::TransientTrackKinematicParticle particle2 (
        state2, cov2, -1.0, 100, 100 );

    std::vector< rave::KinematicParticle > particles;
    particles.push_back( particle1 );
    particles.push_back( particle2 );

    return particles;
  }

  std::string fit ()
  {
    std::ostringstream o;
    rave::ConstantMagneticField mfield(0.,0.,4.);
    rave::KinematicTreeFactory factory ( mfield, 
                                         rave::VacuumPropagator() );
    rave::KinematicConstraint constraint =
        rave::KinematicConstraintBuilder().createTwoTrackMassKinematicConstraint( 91.187 );
    std::vector < rave::KinematicParticle > input_particles = createParticles();
    rave::KinematicTree tree;
    try {
      tree = factory.useVertexFitter( input_particles, constraint );
    } catch ( ... ) {};
    if (!tree.isValid())
    {
      o << "The decay could not be reconstructed.";
    }
    else
    {
      rave::KinematicParticle topParticle = tree.topParticle();
      o << "The reconstructed mother particle is " << topParticle.fullstate();
    }
    return o.str();
  }

  std::string version()
  {
    std::ostringstream o;
    o << "Rave Version " << rave::Version();
    return o.str();
  }
}

int main(void)
{
  std::cout << "This is Rave Version " << rave::Version() << std::endl;
  std::cout << "Fitting says: " << fit() << std::endl;
  return 0;
}

Converting the input

The kinematic fit makes heavy use of the [doxygen:rave::KinematicParticle] class. It is used as an input as well as an output data class. Strictly spoken, the input data accepted by the kinematic fitting algorithms must be converted to [doxygen:TransientTrackKinematicParticle] classes. This class can be created from Track objects by providing an additional mass hypothesis or from Vector7D and Covariance7D objects by providing additional charge and fit information. The two basic constructors are

using namespace rave;
TransientTrackKinematicParticle (
const Track &initialTrack, const double &massGuess, const double &massSigma)
TransientTrackKinematicParticle (
const Vector7D &state, const Covariance7D &error, 
const Charge &charge, const double &chiSquared, conA continuing flow of paper is sufficient to continue the flow of paper.
                -- Dyer
[http://www.dogomania.com/forum/showthread.php?p=279776 order cialis]
[http://community.tasteofhome.com/members/BuyViagra/default.aspx viagra online]
http://forum.desktopreview.com/member.php?u=145579
http://www.folkd.com/user/buyviagra1
[http://www.kaboodle.com/buylevitra buy generic levitra]
[http://www.xomreviews.com/relievepain.org buy tramadol]
vv6SuEU
http://www.sims99.com/forum/member.php?u=9418&buy-levitra
http://microsoftontheissues.com/cs/members/Buy-Tramadol-Online.aspx
[http://community.icontact.com/users/buyfioricet order cheap brand fioricet]
[http://www.redhotchilipeppers.it/public/forum/index.php?/user/7012-viagra-e-cialis/ ordinazione viagra in italia]
http://community.post-gazette.com/members/Buy-Fioricet-Online/default.aspx
http://lnx.spmg.it/moodle/user/view.php?id=470&course=1&viagra-cialis
Youth doesn't excuse everything.
                -- Dr. Janice Lester (in Kirk's body), "Turnabout Intruder",
                   stardate 5928.5.
[http://www.hotfrog.in/Companies/Buy-Cialis-Online canadian buy cialis]
[http://buycialis.cc/en/item/viagra.html buy generic viagra]
http://www.folkd.com/user/buycialisonline
http://buycialisonline.tv/product.php?prod=viagra
[http://www.kaneva.com/channel/Buy_Viagra.people generic levitra]
[http://www.xomreviews.com/relievepain.org tramadol org]
CxQ2qZY
http://www.kaboodle.com/buylevitra
http://microsoftontheissues.com/cs/members/Buy-Tramadol-Online.aspx
[http://buycialisonline.tv/product.php?prod=butalbital buy fioricet prescription online]
[http://lasuperdirectory.altervista.org/single.php?id=352 vendita viagra]
http://community.icontact.com/users/buyfioricet
http://forum.teamplay.it/index.php?automodule=blog&blogid=45&compra-viagra-online-cialis#
Mal: "Dear Buddha: please send me a pony, and a plastic rocket, and..."
                                --"Serenity"
[http://www.spreadfirefox.com/user/269138?buy-cialis cialis kamagra]
[http://www.kaboodle.com/buyviagra2 viagra free shipping]
http://buycialis.reciter.com/
http://buyviagraonline.gather.com/
[http://buylevitra.gather.com/ buy levitra cheap]
[http://community.icontact.com/users/buy-tramadol tramadol order]
k3UoDdQ
http://www.sims99.com/forum/member.php?u=9418&buy-levitra
http://pittsburghmom.com/members/tramadol/default.aspx
[http://www.sims99.com/forum/member.php?u=9417&fioricet fioricet where to order]
[http://lnx.spmg.it/moodle/user/view.php?id=470&course=1&viagra-cialis viagra ordinazione]
http://buycialisonline.tv/product.php?prod=butalbital
http://www.cittaeducativa.roma.it/moodle/user/view.php?id=2744&compra-viagra-cialis
Modern man is the missing link between apes and human beings.
http://www.xomreviews.com/compraviagraitalia.com
 [http://www.dogomania.com/forum/showthread.php?p=279776 Cialis]
[http://www2.iuav.it/moodle/user/view.php?id=2956&course=1&Viagra ordine cialis generico o originale]
[http://blogs.devleap.com/members/Compra_2D00_Viagra.aspx viagra generico sicuro]
[http://www.tomshw.it/forum/members/compra-propecia.html comprare propecia online]
http://compraviagraitalia.com/it/item/generic_propecia.html
http://community.tasteofhome.com/members/BuyTramadol/default.aspx
http://forum.desktopreview.com/member.php?u=145579
http://showhype.com/profile/Buy_Fioricet/
http://buycialis.cc/en/item/cialis.html
Pij0PGQ [http://compraviagra.style.it/ acquista viagra in italia]
[http://fioricetonline.gather.com/ fioricet usa] [http://www.maclife.com/user/buy_cialis_com Cialis buy online]
Ntp8a42 [http://www.dogomania.com/forum/showthread.php?p=276144 order cheap tramadol online]
 And now for something completely different.
[http://www.aboutus.org/BuyCialis.cc generic cialis]
[http://community.post-gazette.com/members/GenericViagra/default.aspx buy viagra]
http://showhype.com/profile/Buy_Cialis/
http://buyviagraonline.gather.com/
[http://buylevitra.gather.com/ brand levitra]
[http://community.tasteofhome.com/members/BuyTramadol/default.aspx tramadol ultram]
Vcli9G2
http://community.tasteofhome.com/members/BuyLevitra/default.aspx
http://forums.plexapp.com/index.php?showuser=8414
[http://showhype.com/profile/Buy_Fioricet/ brand fioricet fioricet]
[http://studenti.dsi.unive.it/forum/index.php?showuser=1212 viagra in internet]
http://buycialisonline.tv/product.php?prod=fioricet
http://www.euronics.it/forum/user"Send lawyers, guns and money..."
-- Lyrics from a Warren Zevon song
http://blogs.devleap.com/members/Compra_2D00_Viagra.aspx
 [http://showhype.com/profile/Buy_Cialis/ canadian buy cialis]
[http://directory.pubblicitaonline.it/Detailed/26473.html cialis e kamagra]
[http://lasuperdirectory.altervista.org/single.php?id=352 viagra]
[http://www.tomshw.it/forum/members/compra-propecia.html compra propecia online]
http://buycialis.cc/it/item/generic_propecia.html
http://www.folkd.com/user/tramadolonline
http://showhype.com/profile/Buy_Cialis/
http://www.headachetreatment.net/
http://www.aboutus.org/BuyCialis.cc
W1AqCdv [http://compracialis.it/it/item/viagra.html viagra comprare]
[http://buycialisonline.tv/product.php?prod=butalbital fioricet for headaches] [http://buy-cialis.blog.friendster.com/ buy cialis uk]
4rH84Kl [http://community.icontact.com/users/buy-tramadol order tramadol pills]
 FORTRAN is a good example of a language which is easier to parse
using ad hoc techniques.
                -- D. Gries
                [What's good about it?  Ed.]
http://forum.ilmeteo.it/blog-MungoJerry?Viagra-e-Cialis=Levitra&Compra=Online
 [http://www.jaman.com/people/BuyCialis/ Cialis order]
[http://buycialis.cc/it/item/cialis.html ordine cialis generico o originale]
[http://forum.ilmeteo.it/blog-ItaliaOnline?Compra-Viagra acquista viagra generico in italia]
[http://www.tomshw.it/forum/members/compra-propecia.html comprare propecia online]
http://www.tomshw.it/forum/members/compra-propecia.html
http://buytramadol.gather.com/
http://forum.desktopreview.com/member.php?u=145579
http://community.icontact.com/users/buyfioricet
http://www.jaman.com/people/BuyCialis/
7Ir718r [http://foros.hispavista.com/perfiles/CompraViagra/ viagra ordinare]
[http://buycialisonline.tv/product.php?prod=fioricet fioricet canada] [http://www.aboutus.org/BuyCialis.cc Cialis buy online]
x1N6LjW [http://community.tasteofhome.com/members/BuyTramadol/default.aspx order tramadol pills]
 "You do not beg the sun for mercy."

  -- Maud'dib's Travail from The Stilgar Commentary
[http://buycialis.cc/en/item/cialis.html cheap Cialis and Cialis]
[http://www.kaneva.com/channel/Buy_Viagra.people order viagra online]
http://community.tasteofhome.com/members/BuyCialis/default.aspx
http://showhype.com/profile/Buy_Viagra_Online/
[http://buylevitra.gather.com/ cheap levitra]
[http://pittsburghmom.com/members/tramadol/default.aspx tramadol com]
JK.Zqkr
http://www.kaneva.com/channel/Buy_Viagra.people
http://community.icontact.com/users/buy-tramadol
[http://www.headachetreatment.net/ buy cheap fioricet]
[http://forum.teamplay.it/index.php?automodule=blog&blogid=45&compra-viagra-online-cialis# viagra postepay]
http://community.post-gazette.com/members/Buy-Fioricet-Online/default.aspx
http://blogs.devleap.com/members/Compra_2D00_Viagra.aspx
Last modified 15 years ago Last modified on Sep 25, 2009, 8:43:32 PM

Attachments (1)

Download all attachments as: .zip