Belle II Software  release-08-01-10
MdstPIDModule.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/datastore/StoreArray.h>
13 
14 #include <mdst/dataobjects/Track.h>
15 #include <mdst/dataobjects/PIDLikelihood.h>
16 
17 #include <top/dataobjects/TOPLikelihood.h>
18 #include <arich/dataobjects/ARICHLikelihood.h>
19 #include <reconstruction/dataobjects/CDCDedxLikelihood.h>
20 #include <reconstruction/dataobjects/VXDDedxLikelihood.h>
21 #include <ecl/dataobjects/ECLPidLikelihood.h>
22 #include <klm/dataobjects/KLMMuidLikelihood.h>
23 
24 namespace Belle2 {
37  class MdstPIDModule : public Module {
38  public:
39 
40 
44  MdstPIDModule();
45 
49  virtual ~MdstPIDModule();
50 
55  virtual void initialize() override;
56 
60  virtual void beginRun() override;
61 
66  virtual void event() override;
67 
71  virtual void endRun() override;
72 
76  virtual void terminate() override;
77 
78  private:
79 
80  // required input
84  // optional input
96  void setLikelihoods(const TOPLikelihood* logl);
97 
102  void setLikelihoods(const ARICHLikelihood* logl);
103 
108  void setLikelihoods(const CDCDedxLikelihood* logl);
109 
114  void setLikelihoods(const VXDDedxLikelihood* logl);
115 
120  void setLikelihoods(const ECLPidLikelihood* logl);
121 
126  void setLikelihoods(const KLMMuidLikelihood* muid);
127 
130  };
131 
133 } // Belle2 namespace
134 
135 
136 
137 
This is a class to store ARICH likelihoods in the datastore.
Container for likelihoods obtained by the CDC dE/dx PID (CDCDedxPIDModule).
Container for likelihoods with ECL PID (ECLChargedPIDModule)
Class to store the likelihoods from KLM with additional informations related to the extrapolation.
a module to fill PIDLikelihoods
Definition: MdstPIDModule.h:37
StoreArray< KLMMuidLikelihood > m_muid
Optional array for KLMMuidLikelihood.
Definition: MdstPIDModule.h:90
StoreArray< VXDDedxLikelihood > m_vxdDedxLikelihoods
Optional array for VXDDedxLikelihoods.
Definition: MdstPIDModule.h:88
virtual void initialize() override
Initialize the module.
virtual void event() override
Called for each event.
StoreArray< TOPLikelihood > m_topLikelihoods
Optional array for TOPLikelihoods.
Definition: MdstPIDModule.h:85
MdstPIDModule()
Constructor.
StoreArray< ECLPidLikelihood > m_eclLikelihoods
Optional array for ECLPidLikelihoods.
Definition: MdstPIDModule.h:89
virtual ~MdstPIDModule()
Destructor.
virtual void endRun() override
Called when run ended.
virtual void terminate() override
Terminates the module.
PIDLikelihood * m_pid
pointer to the object to be filled
virtual void beginRun() override
Called when a new run is started.
StoreArray< Track > m_tracks
Required array for Tracks.
Definition: MdstPIDModule.h:81
StoreArray< ARICHLikelihood > m_arichLikelihoods
Optional array for ARICHLikelihoods.
Definition: MdstPIDModule.h:86
void setLikelihoods(const TOPLikelihood *logl)
Set TOP log likelihoods and corresponding reconstruction flag.
StoreArray< CDCDedxLikelihood > m_cdcDedxLikelihoods
Optional array for CDCDedxLikelihoods.
Definition: MdstPIDModule.h:87
StoreArray< PIDLikelihood > m_pidLikelihoods
Required array for PIDLikelihoods.
Definition: MdstPIDModule.h:82
Base class for Modules.
Definition: Module.h:72
Class to collect log likelihoods from TOP, ARICH, dEdx, ECL and KLM aimed for output to mdst includes...
Definition: PIDLikelihood.h:26
Accessor to arrays stored in the data store.
Definition: StoreArray.h:113
Class to store TOP log likelihoods (output of TOPReconstructor).
Definition: TOPLikelihood.h:26
Container for likelihoods obtained by the VXD dE/dx PID (VXDDedxPIDModule).
Abstract base class for different kinds of events.