Belle II Software  release-08-01-07
ECLFinalizerModule.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/StoreObjPtr.h>
13 #include <framework/datastore/StoreArray.h>
14 
15 namespace Belle2 {
21  class EventT0;
22  class ECLShower;
23  class ECLCluster;
24  class ECLCalDigit;
25  class EventLevelClusteringInfo;
26 
28  class ECLFinalizerModule : public Module {
29 
30  public:
33 
36 
38  virtual void initialize() override;
39 
41  virtual void beginRun() override;
42 
44  virtual void event() override;
45 
47  virtual void endRun() override;
48 
50  virtual void terminate() override;
51 
52  private:
63  int makeCluster(int, double);
65  public:
69  virtual const char* eclShowerArrayName() const
70  { return "ECLShowers" ; }
71 
73  virtual const char* eclClusterArrayName() const
74  { return "ECLClusters"; }
75 
77  virtual const char* eclCalDigitArrayName() const
78  {return "ECLCalDigits";}
79 
80  }; // end of ECLFinalizerModule
81 
82 
85  public:
86 
88  virtual const char* eclShowerArrayName() const override
89  { return "ECLShowersPureCsI" ; }
90 
92  virtual const char* eclClusterArrayName() const override
93  { return "ECLClustersPureCsI"; }
94 
96  virtual const char* eclCalDigitArrayName() const override
97  {return "ECLCalDigitsPureCsI";}
98  }; // end of ECLFinalizerPureCsIModule
99 
101 } // end of Belle2 namespace
Class to perform the shower correction.
double m_clusterLossyFraction
Maximum allowed fractional difference between nPhotons and neutralHadron number of crystals.
StoreArray< ECLShower > m_eclShowers
ECLShowers.
StoreObjPtr< EventT0 > m_eventT0
Event T0.
virtual void initialize() override
Initialize.
virtual void event() override
Event.
virtual const char * eclShowerArrayName() const
We need names for the data objects to differentiate between PureCsI and default.
virtual void endRun() override
End run.
virtual void terminate() override
Terminate.
virtual const char * eclClusterArrayName() const
Default name ECLCluster.
virtual void beginRun() override
Begin run.
double m_clusterEnergyCutMin
Min value for the cluster energy cut.
double m_clusterTimeCutMaxEnergy
Above this energy, keep all cluster.
StoreArray< ECLCluster > m_eclClusters
ECLClusters.
int makeCluster(int, double)
Make a cluster from a given shower array index.
virtual const char * eclCalDigitArrayName() const
Default name ECLCalDigits.
StoreObjPtr< EventLevelClusteringInfo > m_eventLevelClusteringInfo
EventLevelClusteringInfo.
StoreArray< ECLCalDigit > m_eclCalDigits
ECLCalDigits.
The very same module but for PureCsI.
virtual const char * eclClusterArrayName() const override
PureCsI name ECLCluster.
virtual const char * eclShowerArrayName() const override
PureCsI name ECLShower.
virtual const char * eclCalDigitArrayName() const override
PureCsI name ECLCalDigits.
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.