SQLamarr
The stand-alone ultra-fast simulation option for the LHCb experiment
PVFinder.h
1 // (c) Copyright 2022 CERN for the benefit of the LHCb Collaboration.
2 //
3 // This software is distributed under the terms of the GNU General Public
4 // Licence version 3 (GPL Version 3), copied verbatim in the file "LICENCE".
5 //
6 // In applying this licence, CERN does not waive the privileges and immunities
7 // granted to it by virtue of its status as an Intergovernmental Organization
8 // or submit itself to any jurisdiction.
9 
10 
11 #pragma once
12 #include <string>
13 #include <string_view>
14 
15 #include "sqlite3.h"
16 #include "SQLamarr/db_functions.h"
17 #include "SQLamarr/BaseSqlInterface.h"
18 #include "SQLamarr/Transformer.h"
19 
20 namespace SQLamarr
21 {
40  class PVFinder: public BaseSqlInterface, public Transformer
41  {
42  public:
44  PVFinder (SQLite3DB& db, int signal_status_code = 889);
45 
47  void execute() override;
48 
49  private: // properties
50  int m_signal_status_code;
51 
52  };
53 }
Abstract interface with helper functions to access an SQLite DB.
Identify the primary vertex of each GenEvent (collision process)
Definition: PVFinder.py:19
PVFinder(SQLite3DB &db, int signal_status_code=889)
Constructor, with configurable signal status code.
Definition: PVFinder.cpp:17
void execute() override
Execute the algorithm.
Definition: PVFinder.cpp:22
Interface to an executable class used for polymorphism.
Definition: Transformer.h:17
A database connection handler easying sharing the DB between C++ and Python.
Definition: db_functions.py:24