Belle II Software development
GeneratorPreselectionLeptonicModule.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
10#pragma once
11
12#include <framework/core/Module.h>
13#include <framework/datastore/StoreArray.h>
14#include <framework/datastore/StoreObjPtr.h>
15#include <framework/dataobjects/MCInitialParticles.h>
16#include <mdst/dataobjects/MCParticle.h>
17#include <Math/Vector3D.h>
18#include <string>
19
20namespace Belle2 {
30 public:
31
36
38 void initialize() override;
39
41 void event() override;
42
43 protected:
45 void checkParticle(const MCParticle& mc);
46
47 std::string m_particleList;
51 private:
53 int m_nTauLepton = 0;
55 double m_missingPx = 0.0;
56 double m_missingPy = 0.0;
57 double m_missingPz = 0.0;
58 double m_missingE = 0.0;
60 ROOT::Math::XYZVector m_signalLeptonPVec;
61 std::vector<ROOT::Math::XYZVector> m_tauLeptonPVecs;
62 double m_signalLeptonZ = 0.0;
63 std::vector<double> m_tauLeptonZs;
72 double m_angleMin;
73 double m_angleMax;
74 double m_zDiffMin;
75 double m_zDiffMax;
76 double m_UMin;
77 double m_UMax;
78 };
80}
double m_projectionMin
Minimum value for projection of tau lepton onto signal lepton momentum (in CMS)
double m_signalLeptonPMax
Maximum momentum (CMS) for signal lepton.
double m_zDiffMax
Maximum value for difference between production vertex z-component for signal and tau leptons.
double m_tauLeptonPMin
Minimum momentum (CMS) for tau lepton.
void initialize() override
Initialise the parameters.
std::vector< ROOT::Math::XYZVector > m_tauLeptonPVecs
Vector of momentum vectors for tau leptons.
double m_signalLeptonZ
Storing the production vertex z-component for signal lepton.
StoreArray< MCParticle > m_mcparticles
Store array for the MCParticles.
double m_missingPz
Sum of pz components for neutrinos in event.
double m_UMin
Minimum value of U = E - p (calculated using vector sum of momenta and energy for neutrinos in CMS)
double m_UMax
Maximum value of U = E - p (calculated using vector sum of momenta and energy for neutrinos in CMS)
double m_angleMax
Maximum value for the cosine of the angle between the tau and signal lepton momentum vectors (in CMS)
std::vector< double > m_tauLeptonZs
Vector of production vertex z-components for tau leptons.
double m_missingE
Sum of energy for neutrinos in event.
void checkParticle(const MCParticle &mc)
Called for each particle, performs basic cut checks.
double m_missingPx
Sum of px components for neutrinos in event.
StoreObjPtr< MCInitialParticles > m_initial
Pointer to the actual beam parameters.
std::string m_particleList
The name of the MCParticle collection.
double m_tauLeptonPMax
Maximum momentum (CMS) for tau lepton.
double m_missingPy
Sum of py components for neutrinos in event.
GeneratorPreselectionLeptonicModule()
Constructor: Sets the description, the properties and the parameters of the module.
double m_projectionMax
Maximum value for projection of tau lepton onto signal lepton momentum (in CMS)
double m_angleMin
Minimum value for the cosine of the angle between the tau and signal lepton momentum vectors (in CMS)
double m_zDiffMin
Minimum value for difference between production vertex z-component for signal and tau leptons.
ROOT::Math::XYZVector m_signalLeptonPVec
Vector storing momentum components of signal lepton.
double m_signalLeptonPMin
Minimum momentum (CMS) for signal lepton.
A Class to store the Monte Carlo particle information.
Definition: MCParticle.h:32
Base class for Modules.
Definition: Module.h:72
Accessor to arrays stored in the data store.
Definition: StoreArray.h:113
Type-safe access to single objects in the data store.
Definition: StoreObjPtr.h:96
Abstract base class for different kinds of events.