Belle II Software  release-08-01-10
ECLSplitterN2Module.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 /* Basf2 headers. */
12 #include <framework/core/Module.h>
13 #include <framework/datastore/StoreArray.h>
14 
15 namespace Belle2 {
20  class ECLShower;
21  class ECLLocalMaximum;
22  class ECLConnectedRegion;
23  class ECLCalDigit;
24 
29  class ECLSplitterN2Module : public Module {
30 
31  public:
34 
37 
39  virtual void initialize() override;
40 
42  virtual void beginRun() override;
43 
45  virtual void event() override;
46 
48  virtual void endRun() override;
49 
51  virtual void terminate() override;
52 
53  private:
54 
55  // Position
56  std::string m_positionMethod;
60  std::vector< double > m_liloParameters;
62  // Background
63  //const int c_fullBkgdCount = 280; /**< Number of expected background digits at full background, FIXME: ove to database. */
64 
67 
70 
73 
76 
78  virtual const char* eclCalDigitArrayName() const
79  { return "ECLCalDigits" ; }
80 
82  virtual const char* eclConnectedRegionArrayName() const
83  { return "ECLConnectedRegions" ; }
84 
86  virtual const char* eclLocalMaximumArrayName() const
87  { return "ECLLocalMaximums" ; }
88 
90  virtual const char* eclShowerArrayName() const
91  { return "ECLShowers" ; }
92 
93  }; // end of ECLSplitterN2Module
94 
95 
98  public:
100  virtual const char* eclCalDigitArrayName() const override
101  { return "ECLCalDigitsPureCsI" ; }
102 
104  virtual const char* eclConnectedRegionArrayName() const override
105  { return "ECLConnectedRegionsPureCsI" ; }
106 
108  virtual const char* eclLocalMaximumArrayName() const override
109  { return "ECLLocalMaximumsPureCsI" ; }
110 
112  virtual const char* eclShowerArrayName() const override
113  { return "ECLShowersPureCsI" ; }
114 
115  }; // end of ECLSplitterN2PureCsIModule
116 
118 } // end of Belle2 namespace
Class to perform the shower correction.
double m_liloParameterB
lin-log parameter B
StoreArray< ECLShower > m_eclShowers
Store array: ECLShower.
StoreArray< ECLConnectedRegion > m_eclConnectedRegions
Store array: ECLConnectedRegion.
std::string m_positionMethod
Position calculation: lilo or linear.
virtual void initialize() override
Initialize.
StoreArray< ECLLocalMaximum > m_eclLocalMaximums
Store array: ECLLocalMaximum.
virtual void event() override
Event.
virtual const char * eclShowerArrayName() const
Default name ECLShowers.
virtual void endRun() override
End run.
virtual void terminate() override
Terminate.
virtual void beginRun() override
Begin run.
std::vector< double > m_liloParameters
lin-log parameters A, B, and C
virtual const char * eclCalDigitArrayName() const
Default name ECLCalDigits.
double m_liloParameterA
lin-log parameter A
StoreArray< ECLCalDigit > m_eclCalDigits
Store array: ECLCalDigit.
double m_liloParameterC
lin-log parameter C
virtual const char * eclConnectedRegionArrayName() const
Default name ECLConnectedRegions.
virtual const char * eclLocalMaximumArrayName() const
Default name ECLLocalMaximums.
The very same module but for PureCsI.
virtual const char * eclConnectedRegionArrayName() const override
PureCsI name ECLConnectedRegionsPureCsI.
virtual const char * eclLocalMaximumArrayName() const override
PureCsI name ECLLocalMaximumsPureCsI.
virtual const char * eclShowerArrayName() const override
PureCsI name ECLShowersPureCsI.
virtual const char * eclCalDigitArrayName() const override
PureCsI name ECLCalDigitsPureCsI.
Base class for Modules.
Definition: Module.h:72
Accessor to arrays stored in the data store.
Definition: StoreArray.h:113
Abstract base class for different kinds of events.