Belle II Software  release-08-01-10
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 
31  class ECLFinalizerModule : public Module {
32 
33  public:
36 
39 
41  virtual void initialize() override;
42 
44  virtual void beginRun() override;
45 
47  virtual void event() override;
48 
50  virtual void endRun() override;
51 
53  virtual void terminate() override;
54 
55  private:
66  int makeCluster(int, double);
68  public:
72  virtual const char* eclShowerArrayName() const
73  { return "ECLShowers" ; }
74 
76  virtual const char* eclClusterArrayName() const
77  { return "ECLClusters"; }
78 
80  virtual const char* eclCalDigitArrayName() const
81  {return "ECLCalDigits";}
82 
83  }; // end of ECLFinalizerModule
84 
85 
88  public:
89 
91  virtual const char* eclShowerArrayName() const override
92  { return "ECLShowersPureCsI" ; }
93 
95  virtual const char* eclClusterArrayName() const override
96  { return "ECLClustersPureCsI"; }
97 
99  virtual const char* eclCalDigitArrayName() const override
100  {return "ECLCalDigitsPureCsI";}
101  }; // end of ECLFinalizerPureCsIModule
102 
104 } // 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.