SQLamarr
The stand-alone ultra-fast simulation option for the LHCb experiment
SQLamarr::BlockLib::LbParticleId Namespace Reference

Specialize GenerativePlugin to the LHCb Particle ID Pipeline. More...

Functions

std::unique_ptr< GenerativePluginmake (SQLite3DB &db, const std::string &library, const std::string &function_name, const std::string &output_table, const std::string &particle_table, const std::string &track_table, const int abspid)
 Initialize a GenerativePlugin specialized for PID pipelines. More...
 
std::vector< std::string > get_column_names (bool include_indices=true, bool include_outputs=true)
 Provide a vector of the names of the columns of the output table. More...
 

Detailed Description

Specialize GenerativePlugin to the LHCb Particle ID Pipeline.

The model of the LHCb Particle Identification reconstructed quantities is defined, for example in https://github.com/mbarbetti/lb-pidsim-train.

They take as in input kinematic features of each particle, event occupancy encoded by the number of tracks in the event, the charge of the particle and the isMuon flag.

A different model is defined for each particle (pi, K, p, and mu).

Function Documentation

◆ get_column_names()

std::vector< std::string > SQLamarr::BlockLib::LbParticleId::get_column_names ( bool  include_indices = true,
bool  include_outputs = true 
)

Provide a vector of the names of the columns of the output table.

Parameters
include_indicesIf false, reference indices for future joins are not listed
include_outputsIf false, output features from plugin are not listed

Definition at line 59 of file LbParticleId.cpp.

◆ make()

std::unique_ptr< GenerativePlugin > SQLamarr::BlockLib::LbParticleId::make ( SQLite3DB db,
const std::string &  library,
const std::string &  function_name,
const std::string &  output_table,
const std::string &  particle_table,
const std::string &  track_table,
const int  abspid 
)

Initialize a GenerativePlugin specialized for PID pipelines.

Parameters
dbReference to the database
libraryPath to the library
function_nameName of the linking symbol
output_tableName of the output table (overwrite on existing)
particle_tableName of the MCParticle table. Table must include columns `mcparticle_id`,`px`, `py`, `pz`.
track_tableName of table with track type information. Table must include column `track_type`.
abspidAbsolute particle ID to process with this pipeline

Definition at line 12 of file LbParticleId.cpp.