SQLamarr
The stand-alone ultra-fast simulation option for the LHCb experiment
SQLamarr::PVFinder Class Reference

Identifies the primary vertices. More...

#include <PVFinder.h>

Inheritance diagram for SQLamarr::PVFinder:

Classes

class  PVFinder
 Identify the primary vertex of each GenEvent (collision process) More...
 

Public Member Functions

 PVFinder (SQLite3DB &db, int signal_status_code=889)
 Constructor, with configurable signal status code. More...
 
void execute () override
 Execute the algorithm. More...
 
- Public Member Functions inherited from SQLamarr::BaseSqlInterface
 BaseSqlInterface (SQLite3DB &db)
 Constructor, acquiring the database without ownership. More...
 
virtual ~BaseSqlInterface ()
 
void sync_database (const std::string &db_uri)
 
void invalidate_cache (void)
 Invalidate the cache of the queries. More...
 

Public Attributes

 argtypes
 
 restype
 

Additional Inherited Members

- Protected Member Functions inherited from SQLamarr::BaseSqlInterface
sqlite3_stmt * get_statement (const std::string &name, const std::string &query)
 Creates or retrieve from cache a statement. More...
 
void begin_transaction ()
 Begin an SQL transaction stopping update to disk util end_transaction() is issued
More...
 
void end_transaction ()
 End an SQL transaction re-enabling disk updates. More...
 
int last_insert_row ()
 Return the index of the last rows inserted in any table. More...
 
void using_sql_function (const std::string &name, int argc, void(*xFunc)(sqlite3_context *, int, sqlite3_value **))
 Register a static function in DB, enabling usage from SQL. More...
 
bool exec_stmt (sqlite3_stmt *)
 Execute a statement, possibly throwing an exception on failure. More...
 
- Protected Attributes inherited from SQLamarr::BaseSqlInterface
SQLite3DBm_database
 Reference to the SQLite database (not owned). More...
 

Detailed Description

Identifies the primary vertices.

Primary vertices are identified using up to three different methods. The first method succeeding interrupts the search and the resulting GenVertex is imported to the MCVertices table as a primary vertex.

Methods:

  1. If a vertex was marked as primary when importing the data, no further search is performed for that GenEvent (or collision);
  2. If particles with "signal" status code are found, the production vertex of the particle with lower HepMC ID is assigned the role of PV;
  3. The production vertex of the particle with the lowest HepMC ID is called the PV.

The value of the HepMC status identifying signal particles depends may depend on the generator and is defined as argument of the constructor.

Definition at line 40 of file PVFinder.h.

Constructor & Destructor Documentation

◆ PVFinder()

SQLamarr::PVFinder::PVFinder ( SQLite3DB db,
int  signal_status_code = 889 
)

Constructor, with configurable signal status code.

Definition at line 17 of file PVFinder.cpp.

Member Function Documentation

◆ execute()

void SQLamarr::PVFinder::execute ( void  )
overridevirtual

Execute the algorithm.

Implements SQLamarr::Transformer.

Definition at line 22 of file PVFinder.cpp.

Member Data Documentation

◆ argtypes

SQLamarr.PVFinder.argtypes

Definition at line 16 of file PVFinder.py.

◆ restype

SQLamarr.PVFinder.restype

Definition at line 17 of file PVFinder.py.


The documentation for this class was generated from the following files: