Belle II Software  release-08-01-10
TrackingSystematics.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 
17 namespace Belle2 {
32  public:
33 
38 
42  virtual void event() override;
43 
44  private:
46  std::vector<std::string> m_ParticleLists;
48  double m_frac;
49  }; //TrackingEfficiencyModule
50 
51 
55  class TrackingMomentumModule : public Module {
56  public:
61 
65  virtual void initialize() override;
66 
70  virtual void event() override;
71 
72  private:
77  double getScalingFactor(Particle* particle);
78 
83  double getSmearingFactor(Particle* particle);
84 
86  std::vector<std::string> m_ParticleLists;
88  double m_scale;
89 
91  std::string m_payloadName;
92 
94  std::string m_scalingFactorName;
95 
97  std::string m_smearingFactorName;
98 
100  std::unique_ptr<DBObjPtr<ParticleWeightingLookUpTable>> m_ParticleWeightingLookUpTable;
104  void setMomentumScalingFactor(Particle* particle);
105 
110 
111  }; // TrackingMomentumModule
112 
114 }; //namespace
115 
Base class for Modules.
Definition: Module.h:72
Class to store reconstructed particles.
Definition: Particle.h:75
This set of module is designed for tracking systematics studies.
std::vector< std::string > m_ParticleLists
input particle lists
virtual void event() override
Function to be executed at each event.
double m_frac
fraction of particles to be removed from the particlelist
TrackingEfficiencyModule()
Constructor: Sets the description, the properties and the parameters of the module.
Tracking momentum systematics.
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::string m_payloadName
Name of the table
std::unique_ptr< DBObjPtr< ParticleWeightingLookUpTable > > m_ParticleWeightingLookUpTable
Pointer to the table in DB.
void setMomentumScalingFactor(Particle *particle)
function to set momentum scaling factor
double m_scale
input momentum scale modifier
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.
TrackingMomentumModule()
Constructor: Sets the description, the properties and the parameters of the module.
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.