Belle II Software  release-05-02-19
ECLFinalizerModule.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2016 - Belle II Collaboration *
4  * *
5  * This module converts the ecl dataobject(s) in the mdst dataobect(s) *
6  * *
7  * Author: The Belle II Collaboration *
8  * Contributors: Torben Ferber (ferber@physics.ubc.ca) *
9  * *
10  * This software is provided "as is" without any warranty. *
11  **************************************************************************/
12 
13 #pragma once
14 
15 #include <framework/core/Module.h>
16 #include <framework/datastore/StoreObjPtr.h>
17 #include <framework/datastore/StoreArray.h>
18 
19 namespace Belle2 {
25  class EventT0;
26  class ECLShower;
27  class ECLCluster;
28  class ECLCalDigit;
29  class EventLevelClusteringInfo;
30 
35  class ECLFinalizerModule : public Module {
36 
37  public:
40 
43 
45  virtual void initialize() override;
46 
48  virtual void beginRun() override;
49 
51  virtual void event() override;
52 
54  virtual void endRun() override;
55 
57  virtual void terminate() override;
58 
59  private:
60  double m_clusterEnergyCutMin;
62  double m_clusterLossyFraction;
70  int makeCluster(int, double);
72  public:
76  virtual const char* eclShowerArrayName() const
77  { return "ECLShowers" ; }
78 
80  virtual const char* eclClusterArrayName() const
81  { return "ECLClusters"; }
82 
84  virtual const char* eclCalDigitArrayName() const
85  {return "ECLCalDigits";}
86 
87  }; // end of ECLFinalizerModule
88 
89 
92  public:
93 
95  virtual const char* eclShowerArrayName() const override
96  { return "ECLShowersPureCsI" ; }
97 
99  virtual const char* eclClusterArrayName() const override
100  { return "ECLClustersPureCsI"; }
101 
103  virtual const char* eclCalDigitArrayName() const override
104  {return "ECLCalDigitsPureCsI";}
105  }; // end of ECLFinalizerPureCsIModule
106 
108 } // end of Belle2 namespace
Belle2::ECLFinalizerPureCsIModule::eclClusterArrayName
virtual const char * eclClusterArrayName() const override
PureCsI name ECLCluster.
Definition: ECLFinalizerModule.h:109
Belle2::ECLFinalizerModule::m_eclClusters
StoreArray< ECLCluster > m_eclClusters
ECLClusters.
Definition: ECLFinalizerModule.h:76
Belle2::ECLFinalizerModule::beginRun
virtual void beginRun() override
Begin run.
Definition: ECLFinalizerModule.cc:80
Belle2::ECLFinalizerModule::endRun
virtual void endRun() override
End run.
Definition: ECLFinalizerModule.cc:191
Belle2::ECLFinalizerModule::m_eclCalDigits
StoreArray< ECLCalDigit > m_eclCalDigits
ECLCalDigits.
Definition: ECLFinalizerModule.h:74
Belle2::ECLFinalizerModule::ECLFinalizerModule
ECLFinalizerModule()
Constructor.
Definition: ECLFinalizerModule.cc:45
Belle2::ECLFinalizerModule::makeCluster
int makeCluster(int, double)
Make a cluster from a given shower array index.
Definition: ECLFinalizerModule.cc:196
Belle2::ECLFinalizerPureCsIModule
The very same module but for PureCsI.
Definition: ECLFinalizerModule.h:101
Belle2::ECLFinalizerModule
Class to perform the shower correction.
Definition: ECLFinalizerModule.h:45
Belle2::ECLFinalizerModule::eclCalDigitArrayName
virtual const char * eclCalDigitArrayName() const
Default name ECLCalDigits.
Definition: ECLFinalizerModule.h:94
Belle2::ECLFinalizerModule::m_eclShowers
StoreArray< ECLShower > m_eclShowers
ECLShowers.
Definition: ECLFinalizerModule.h:75
Belle2::ECLFinalizerModule::~ECLFinalizerModule
~ECLFinalizerModule()
Destructor.
Definition: ECLFinalizerModule.cc:61
Belle2::ECLFinalizerModule::m_clusterLossyFraction
double m_clusterLossyFraction
Maximum allowed fractional difference between nPhotons and neutralHadron number of crystals.
Definition: ECLFinalizerModule.h:72
Belle2::ECLFinalizerPureCsIModule::eclShowerArrayName
virtual const char * eclShowerArrayName() const override
PureCsI name ECLShower.
Definition: ECLFinalizerModule.h:105
Belle2::ECLFinalizerModule::initialize
virtual void initialize() override
Initialize.
Definition: ECLFinalizerModule.cc:65
Belle2::ECLFinalizerPureCsIModule::eclCalDigitArrayName
virtual const char * eclCalDigitArrayName() const override
PureCsI name ECLCalDigits.
Definition: ECLFinalizerModule.h:113
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::StoreObjPtr
Type-safe access to single objects in the data store.
Definition: ParticleList.h:33
Belle2::ECLFinalizerModule::m_clusterEnergyCutMin
double m_clusterEnergyCutMin
Min value for the cluster energy cut.
Definition: ECLFinalizerModule.h:70
Belle2::ECLFinalizerModule::event
virtual void event() override
Event.
Definition: ECLFinalizerModule.cc:86
Belle2::ECLFinalizerModule::m_eventT0
StoreObjPtr< EventT0 > m_eventT0
Event T0.
Definition: ECLFinalizerModule.h:78
Belle2::ECLFinalizerModule::m_clusterTimeCutMaxEnergy
double m_clusterTimeCutMaxEnergy
Above this energy, keep all cluster.
Definition: ECLFinalizerModule.h:71
Belle2::ECLFinalizerModule::m_eventLevelClusteringInfo
StoreObjPtr< EventLevelClusteringInfo > m_eventLevelClusteringInfo
EventLevelClusteringInfo.
Definition: ECLFinalizerModule.h:77
Belle2::ECLFinalizerModule::eclClusterArrayName
virtual const char * eclClusterArrayName() const
Default name ECLCluster.
Definition: ECLFinalizerModule.h:90
Belle2::StoreArray
Accessor to arrays stored in the data store.
Definition: ECLMatchingPerformanceExpertModule.h:33
Belle2::ECLFinalizerModule::eclShowerArrayName
virtual const char * eclShowerArrayName() const
We need names for the data objects to differentiate between PureCsI and default.
Definition: ECLFinalizerModule.h:86
Belle2::ECLFinalizerModule::terminate
virtual void terminate() override
Terminate.
Definition: ECLFinalizerModule.cc:193