Belle II Software  release-08-01-10
BelleBremRecoveryModule.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 
13 #include <analysis/dataobjects/Particle.h>
14 #include <analysis/dataobjects/ParticleList.h>
15 
16 #include <framework/datastore/StoreArray.h>
17 #include <framework/datastore/StoreObjPtr.h>
18 
19 #include <analysis/DecayDescriptor/DecayDescriptor.h>
20 
21 #include <mdst/dataobjects/MCParticle.h>
22 #include <mdst/dataobjects/PIDLikelihood.h>
23 
24 #include <string>
25 
26 
27 namespace Belle2 {
32  class Particle;
33 
40 
41  public:
42 
47 
52  virtual void initialize() override;
53 
57  virtual void event() override;
58 
62  void correctLepton(const Particle* lepton, std::vector<Particle*> selectedGammas);
63 
64  enum {c_DimMatrix = 7};
65 
66  private:
67 
68  int m_pdgCode;
69  std::string m_decayString;
72  std::string m_inputListName;
73  std::string m_gammaListName;
74  std::string m_outputListName;
75  std::string m_outputAntiListName;
83  double m_angleThres;
84  bool m_writeOut;
85  bool m_isMultiPho;
87  };
88 
90 } // Belle2 namespace
91 
Brem recovery module (used in past belle analyses) This module add four vector of all the brem photon...
void correctLepton(const Particle *lepton, std::vector< Particle * > selectedGammas)
Correct lepton kinematics using the selectedGammas.
StoreObjPtr< ParticleList > m_outputparticleList
StoreObjptr for output particlelist.
virtual void initialize() override
Initialize the Module.
std::string m_gammaListName
input ParticleList names
virtual void event() override
Event processor.
std::string m_decayString
Input DecayString specifying the decay being reconstructed.
bool m_isMultiPho
multiple or one bremphoton addition option
StoreArray< Particle > m_particles
StoreArray of Particle objects.
double m_angleThres
input max angle to be accepted (in radian)
StoreArray< PIDLikelihood > m_pidlikelihoods
StoreArray of PIDLikelihood objects.
StoreObjPtr< ParticleList > m_gammaList
StoreObjptr for gamma list.
StoreObjPtr< ParticleList > m_inputparticleList
StoreObjptr for input charged particlelist.
StoreObjPtr< ParticleList > m_outputAntiparticleList
StoreObjptr for output antiparticlelist.
DecayDescriptor m_decaydescriptorGamma
Decay descriptor of the decay being reconstructed.
DecayDescriptor m_decaydescriptor
Decay descriptor of the charged particle decay.
bool m_writeOut
toggle output particle list btw.
StoreArray< MCParticle > m_mcParticles
StoreArray of MCParticle objects.
bool m_usePhotonOnlyOnce
Each brems photon can be used to correct only one particle (the one with the smallest relation weight...
int m_pdgCode
PDG code of the combined mother particle.
std::string m_outputAntiListName
output anti-particle list name
std::string m_inputListName
input ParticleList names
std::string m_outputListName
output ParticleList name
The DecayDescriptor stores information about a decay tree or parts of a decay tree.
Base class for Modules.
Definition: Module.h:72
Class to store reconstructed particles.
Definition: Particle.h:75
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.