Belle II Software development
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
15namespace 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.
virtual const char * eclShowerArrayName() const
We need names for the data objects to differentiate between PureCsI and default.
virtual const char * eclClusterArrayName() const
Default name ECLCluster.
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 void endRun() override
End run.
virtual void terminate() override
Terminate.
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.
virtual const char * eclCalDigitArrayName() const
Default name ECLCalDigits.
int makeCluster(int, double)
Make a cluster from a given shower array index.
StoreObjPtr< EventLevelClusteringInfo > m_eventLevelClusteringInfo
EventLevelClusteringInfo.
StoreArray< ECLCalDigit > m_eclCalDigits
ECLCalDigits.
The very same module but for PureCsI.
virtual const char * eclCalDigitArrayName() const override
PureCsI name ECLCalDigits.
virtual const char * eclClusterArrayName() const override
PureCsI name ECLCluster.
virtual const char * eclShowerArrayName() const override
PureCsI name ECLShower.
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.