Belle II Software  release-05-02-19
ECLCovarianceMatrixModule.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2016 - Belle II Collaboration *
4  * *
5  * This module calculates the covariance matrix for n photon showers. *
6  * The matrix depends on the shower region (FWD, Bartel, BWD) *
7  * *
8  * Author: The Belle II Collaboration *
9  * Contributors: Torben Ferber (ferber@physics.ubc.ca) *
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 #include <framework/datastore/StoreObjPtr.h>
20 
21 namespace Belle2 {
27  class EventLevelClusteringInfo;
28  class ECLShower;
29 
34  class ECLCovarianceMatrixModule : 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  const double m_fullBkgdCount = 183.0;
64 
67 
68  public:
70  virtual const char* eclShowerArrayName() const
71  { return "ECLShowers" ; }
72 
74  virtual const char* eventLevelClusteringInfoName() const
75  { return "EventLevelClusteringInfo" ; }
76  }; // end of ECLCovarianceMatrixModule
77 
78 
81  public:
83  virtual const char* eclShowerArrayName() const override
84  { return "ECLShowersPureCsI" ; }
85 
87  virtual const char* eventLevelClusteringInfoName() const override
88  { return "EventLevelClusteringInfoPureCsI" ; }
89  }; // end of ECLCovarianceMatrixPureCsIModule
90 
92 } // end of Belle2 namespace
Belle2::ECLCovarianceMatrixModule::m_eventLevelClusteringInfo
StoreObjPtr< EventLevelClusteringInfo > m_eventLevelClusteringInfo
Store object pointer: EventLevelClusteringInfo.
Definition: ECLCovarianceMatrixModule.h:77
Belle2::ECLCovarianceMatrixModule
Class to perform the shower correction.
Definition: ECLCovarianceMatrixModule.h:45
Belle2::ECLCovarianceMatrixModule::ECLCovarianceMatrixModule
ECLCovarianceMatrixModule()
Constructor.
Definition: ECLCovarianceMatrixModule.cc:38
Belle2::ECLCovarianceMatrixModule::endRun
virtual void endRun() override
End run.
Definition: ECLCovarianceMatrixModule.cc:211
Belle2::ECLCovarianceMatrixModule::initialize
virtual void initialize() override
Initialize.
Definition: ECLCovarianceMatrixModule.cc:52
Belle2::ECLCovarianceMatrixModule::eclShowerArrayName
virtual const char * eclShowerArrayName() const
Default name ECLShowers.
Definition: ECLCovarianceMatrixModule.h:81
Belle2::ECLCovarianceMatrixPureCsIModule::eventLevelClusteringInfoName
virtual const char * eventLevelClusteringInfoName() const override
Name to be used for PureCsI option: EventLevelClusteringInfoPureCsI.
Definition: ECLCovarianceMatrixModule.h:98
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::ECLCovarianceMatrixModule::~ECLCovarianceMatrixModule
~ECLCovarianceMatrixModule()
Destructor.
Definition: ECLCovarianceMatrixModule.cc:48
Belle2::ECLCovarianceMatrixPureCsIModule
The very same module but for PureCsI.
Definition: ECLCovarianceMatrixModule.h:91
Belle2::ECLCovarianceMatrixModule::m_fullBkgdCount
const double m_fullBkgdCount
Nominal Background at BGx1.0 (MC12)
Definition: ECLCovarianceMatrixModule.h:71
Belle2::ECLCovarianceMatrixModule::terminate
virtual void terminate() override
Terminate.
Definition: ECLCovarianceMatrixModule.cc:216
Belle2::ECLCovarianceMatrixModule::event
virtual void event() override
Event.
Definition: ECLCovarianceMatrixModule.cc:65
Belle2::StoreArray
Accessor to arrays stored in the data store.
Definition: ECLMatchingPerformanceExpertModule.h:33
Belle2::ECLCovarianceMatrixModule::m_eclShowers
StoreArray< ECLShower > m_eclShowers
Store array: ECLShower.
Definition: ECLCovarianceMatrixModule.h:74
Belle2::ECLCovarianceMatrixModule::beginRun
virtual void beginRun() override
Begin run.
Definition: ECLCovarianceMatrixModule.cc:59
Belle2::ECLCovarianceMatrixPureCsIModule::eclShowerArrayName
virtual const char * eclShowerArrayName() const override
PureCsI name ECLShowersPureCsI.
Definition: ECLCovarianceMatrixModule.h:94
Belle2::ECLCovarianceMatrixModule::eventLevelClusteringInfoName
virtual const char * eventLevelClusteringInfoName() const
Name to be used for default option: EventLevelClusteringInfo.
Definition: ECLCovarianceMatrixModule.h:85