Belle II Software  release-05-02-19
ECLSplitterN2Module.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2016 - Belle II Collaboration *
4  * *
5  * Main reconstruction splitter code for the N2 hypothesis *
6  * (neutral hadron). This code must run after the N1 splitter *
7  * *
8  * Author: The Belle II Collaboration *
9  * Contributors: Torben Ferber (ferber@physics.ubc.ca) (TF) *
10  * *
11  * This software is provided "as is" without any warranty. *
12  **************************************************************************/
13 
14 #pragma once
15 
16 // FRAMEWORK
17 #include <framework/core/Module.h>
18 #include <framework/datastore/StoreArray.h>
19 
20 namespace Belle2 {
25  class ECLShower;
26  class ECLLocalMaximum;
27  class ECLConnectedRegion;
28  class ECLCalDigit;
29 
34  class ECLSplitterN2Module : public Module {
35 
36  public:
39 
42 
44  virtual void initialize() override;
45 
47  virtual void beginRun() override;
48 
50  virtual void event() override;
51 
53  virtual void endRun() override;
54 
56  virtual void terminate() override;
57 
58  private:
59 
60  // Position
61  std::string m_positionMethod;
62  double m_liloParameterA;
63  double m_liloParameterB;
64  double m_liloParameterC;
65  std::vector< double > m_liloParameters;
67  // Background
68  //const int c_fullBkgdCount = 280; /**< Number of expected background digits at full background, FIXME: ove to database. */
69 
72 
75 
78 
81 
83  virtual const char* eclCalDigitArrayName() const
84  { return "ECLCalDigits" ; }
85 
87  virtual const char* eclConnectedRegionArrayName() const
88  { return "ECLConnectedRegions" ; }
89 
91  virtual const char* eclLocalMaximumArrayName() const
92  { return "ECLLocalMaximums" ; }
93 
95  virtual const char* eclShowerArrayName() const
96  { return "ECLShowers" ; }
97 
98  }; // end of ECLSplitterN2Module
99 
100 
103  public:
105  virtual const char* eclCalDigitArrayName() const override
106  { return "ECLCalDigitsPureCsI" ; }
107 
109  virtual const char* eclConnectedRegionArrayName() const override
110  { return "ECLConnectedRegionsPureCsI" ; }
111 
113  virtual const char* eclLocalMaximumArrayName() const override
114  { return "ECLLocalMaximumsPureCsI" ; }
115 
117  virtual const char* eclShowerArrayName() const override
118  { return "ECLShowersPureCsI" ; }
119 
120  }; // end of ECLSplitterN2PureCsIModule
121 
123 } // end of Belle2 namespace
Belle2::ECLSplitterN2Module::ECLSplitterN2Module
ECLSplitterN2Module()
Constructor.
Definition: ECLSplitterN2Module.cc:47
Belle2::ECLSplitterN2Module::eclShowerArrayName
virtual const char * eclShowerArrayName() const
Default name ECLShowers.
Definition: ECLSplitterN2Module.h:106
Belle2::ECLSplitterN2Module::m_eclShowers
StoreArray< ECLShower > m_eclShowers
Store array: ECLShower.
Definition: ECLSplitterN2Module.h:91
Belle2::ECLSplitterN2Module::initialize
virtual void initialize() override
Initialize.
Definition: ECLSplitterN2Module.cc:70
Belle2::ECLSplitterN2PureCsIModule::eclLocalMaximumArrayName
virtual const char * eclLocalMaximumArrayName() const override
PureCsI name ECLLocalMaximumsPureCsI.
Definition: ECLSplitterN2Module.h:124
Belle2::ECLSplitterN2Module::endRun
virtual void endRun() override
End run.
Definition: ECLSplitterN2Module.cc:180
Belle2::ECLSplitterN2PureCsIModule
The very same module but for PureCsI.
Definition: ECLSplitterN2Module.h:113
Belle2::ECLSplitterN2PureCsIModule::eclShowerArrayName
virtual const char * eclShowerArrayName() const override
PureCsI name ECLShowersPureCsI.
Definition: ECLSplitterN2Module.h:128
Belle2::ECLSplitterN2Module::eclConnectedRegionArrayName
virtual const char * eclConnectedRegionArrayName() const
Default name ECLConnectedRegions.
Definition: ECLSplitterN2Module.h:98
Belle2::ECLSplitterN2Module
Class to perform the shower correction.
Definition: ECLSplitterN2Module.h:45
Belle2::ECLSplitterN2Module::m_liloParameterB
double m_liloParameterB
lin-log parameter B
Definition: ECLSplitterN2Module.h:74
Belle2::ECLSplitterN2PureCsIModule::eclCalDigitArrayName
virtual const char * eclCalDigitArrayName() const override
PureCsI name ECLCalDigitsPureCsI.
Definition: ECLSplitterN2Module.h:116
Belle2::ECLSplitterN2Module::m_liloParameters
std::vector< double > m_liloParameters
lin-log parameters A, B, and C
Definition: ECLSplitterN2Module.h:76
Belle2::ECLSplitterN2Module::m_liloParameterA
double m_liloParameterA
lin-log parameter A
Definition: ECLSplitterN2Module.h:73
Belle2::ECLSplitterN2Module::eclCalDigitArrayName
virtual const char * eclCalDigitArrayName() const
Default name ECLCalDigits.
Definition: ECLSplitterN2Module.h:94
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::ECLSplitterN2Module::beginRun
virtual void beginRun() override
Begin run.
Definition: ECLSplitterN2Module.cc:90
Belle2::ECLSplitterN2Module::eclLocalMaximumArrayName
virtual const char * eclLocalMaximumArrayName() const
Default name ECLLocalMaximums.
Definition: ECLSplitterN2Module.h:102
Belle2::ECLSplitterN2Module::m_eclConnectedRegions
StoreArray< ECLConnectedRegion > m_eclConnectedRegions
Store array: ECLConnectedRegion.
Definition: ECLSplitterN2Module.h:85
Belle2::ECLSplitterN2Module::m_eclCalDigits
StoreArray< ECLCalDigit > m_eclCalDigits
Store array: ECLCalDigit.
Definition: ECLSplitterN2Module.h:82
Belle2::ECLSplitterN2Module::event
virtual void event() override
Event.
Definition: ECLSplitterN2Module.cc:95
Belle2::ECLSplitterN2Module::terminate
virtual void terminate() override
Terminate.
Definition: ECLSplitterN2Module.cc:186
Belle2::ECLSplitterN2PureCsIModule::eclConnectedRegionArrayName
virtual const char * eclConnectedRegionArrayName() const override
PureCsI name ECLConnectedRegionsPureCsI.
Definition: ECLSplitterN2Module.h:120
Belle2::ECLSplitterN2Module::m_positionMethod
std::string m_positionMethod
Position calculation: lilo or linear.
Definition: ECLSplitterN2Module.h:72
Belle2::ECLSplitterN2Module::m_eclLocalMaximums
StoreArray< ECLLocalMaximum > m_eclLocalMaximums
Store array: ECLLocalMaximum.
Definition: ECLSplitterN2Module.h:88
Belle2::StoreArray
Accessor to arrays stored in the data store.
Definition: ECLMatchingPerformanceExpertModule.h:33
Belle2::ECLSplitterN2Module::~ECLSplitterN2Module
~ECLSplitterN2Module()
Destructor.
Definition: ECLSplitterN2Module.cc:65
Belle2::ECLSplitterN2Module::m_liloParameterC
double m_liloParameterC
lin-log parameter C
Definition: ECLSplitterN2Module.h:75