Belle II Software development
TrackingMomentumScaleFactors.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8
9#pragma once
10
11#include <framework/core/Module.h>
12#include <framework/database/DBObjPtr.h>
13#include <analysis/dbobjects/ParticleWeightingLookUpTable.h>
14
15#include <analysis/dataobjects/Particle.h>
16
17namespace Belle2 {
27 public:
32
36 virtual void initialize() override;
37
41 virtual void event() override;
42
43 private:
48 double getScalingFactor(Particle* particle);
49
54 double getSmearingFactor(Particle* particle);
55
57 std::vector<std::string> m_ParticleLists;
59 double m_scale;
60
62 std::string m_payloadName;
63
66
69
71 std::unique_ptr<DBObjPtr<ParticleWeightingLookUpTable>> m_ParticleWeightingLookUpTable;
75 void setMomentumScalingFactor(Particle* particle);
76
81
82 }; // TrackingMomentumScaleFactorsModule
83
85}; //namespace
86
Base class for Modules.
Definition: Module.h:72
Class to store reconstructed particles.
Definition: Particle.h:75
Tracking momentum systematics module: allows for the application of a corrective momentum scale facto...
std::vector< std::string > m_ParticleLists
input particle lists
virtual void initialize() override
Initializes the modules and checks the validity of the input parameters.
virtual void event() override
Function to be executed at each event.
std::string m_scalingFactorName
Name of the scale factor from table.
std::unique_ptr< DBObjPtr< ParticleWeightingLookUpTable > > m_ParticleWeightingLookUpTable
Pointer to the table in DB.
void setMomentumScalingFactor(Particle *particle)
function to set momentum scaling factor
TrackingMomentumScaleFactorsModule()
Constructor: Sets the description, the properties and the parameters of the module.
double getSmearingFactor(Particle *particle)
Returns the needed smearing factor for particle based on payloadName and smearingFactorName.
std::string m_smearingFactorName
Name of the smear factor from table.
double getScalingFactor(Particle *particle)
Returns the needed scale factor for particle based on payloadName and scalingFactorName.
void setMomentumSmearingFactor(Particle *particle)
function to set momentum scaling factor
Abstract base class for different kinds of events.