/cvmfs/atlas.cern.ch/repo/sw/ASG/AnalysisBase/2.4.30/xAODBPhys/xAODBPhys/BPhysHypoHelper.h File Reference

: B-physcis xAOD helpers. More...

#include "BPhysHelper.h"
#include "TVector3.h"
#include "TLorentzVector.h"
#include "TMatrixTSym.h"
#include <assert.h>

Go to the source code of this file.

Classes

class  xAOD::BPhysHypoHelper

Namespaces

namespace  xAOD
 

Namespace holding all the xAOD EDM classes.



Detailed Description

: B-physcis xAOD helpers.

Author:
: Daniel Scheirich <daniel.scheirich@cern.ch>

This class provides interface to the basic B-physics augmemtation which depends on the invariant mass hypothesis, i.e.:

It is derived from the BPhysHelper which means that it also provides access to all basic hypothesis-independent decorations (reffited tracks, lxy, etc).

The basic idea is that the analysis code augments the vertex with hypothesis-independent variables (e.g. lxy, ptError, etc) and also variables dependent on the given mass hypothesis (e.g. mass). Since one vertex can be treated as candidate for more than one decay hypothesis (e.g. in case of Bd->JpsiK* and Bs->JpsiPhi, or LamB->JPsiLam and Bd->Jpsi Ks), the hypothesis-dependent augmentation variables have prefix to distinguish between different hypotheses. These prefixes are defined by user when creating the BPhysHypoHelper:

    xAOD::BPhysHypoHelper jpsi("jpsi", vtx); // "jpsi" is the name of the hypothesis

To check if the vertex has been augmented with variables for a given hypothesis, call method xAOD::BPhysHypoHelper::isValidHypo()

Usage example:

    void myFunction(xAOD::Vertex* vtx) {
      // Let "vtx" be some xAOD::Vertex created by the b-physics software
      // We gain access to its augmentations through the helper class:
      xAOD::BPhysHypoHelper jpsi("jpsi", vtx); // "jpsi" is the name of the hypothesis

      // access to mehods inherited from the BPhysHelper:
      std::cout << "Refitted pT of the 1st track: ";
      if(jpsi.nRefTrks()>0) {
        std::cout << jpsi.refTrk(0).Pt();
      }
      std::cout << std::endl;
 
      // access to the hypothesis-specific variables
      if( !jpsi.isValidHypo() ) {
        std::cout <<  "The vertex is not jpsi" << std::endl;
        return;
      } else {
        std::cout << "Jpsi invariant mass" << jpsi.m() << std::endl;
      }

    }
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 15 Apr 2017 for RootCore Packages by  doxygen 1.6.1