Belle II Software  release-05-02-19
ECLShowerCalibratorModule.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2016 - Belle II Collaboration *
4  * *
5  * This module performs the calibration for EM shower. This calibration *
6  * corrects for differences between data and MC: corr = data / MC *
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 
20 namespace Belle2 {
26  class ECLShower;
27  class ECLConnectedRegion;
28 
33  class ECLShowerCalibratorModule : public Module {
34 
35  public:
38 
41 
43  virtual void initialize() override;
44 
46  virtual void beginRun() override;
47 
49  virtual void event() override;
50 
52  virtual void endRun() override;
53 
55  virtual void terminate() override;
56 
57  private:
62 
63  public:
67  virtual const char* eclShowerArrayName() const
68  { return "ECLShowers" ; }
69 
71  virtual const char* eclConnectedRegionArrayName() const
72  { return "ECLConnectedRegions" ; }
73 
74  };
75 
76 
79  public:
80 
82  virtual const char* eclShowerArrayName() const override
83  { return "ECLShowersPureCsI" ; }
84 
86  virtual const char* eclConnectedRegionArrayName() const override
87  { return "ECLConnectedRegionsPureCsI" ; }
88 
89  };
91 } // end of Belle2 namespace
Belle2::ECLShowerCalibratorModule::initialize
virtual void initialize() override
Initialize.
Definition: ECLShowerCalibratorModule.cc:46
Belle2::ECLShowerCalibratorPureCsIModule
The very same module but for PureCsI.
Definition: ECLShowerCalibratorModule.h:89
Belle2::ECLShowerCalibratorModule::endRun
virtual void endRun() override
End run.
Definition: ECLShowerCalibratorModule.cc:70
Belle2::ECLShowerCalibratorModule::eclShowerArrayName
virtual const char * eclShowerArrayName() const
We need names for the data objects to differentiate between PureCsI and default.
Definition: ECLShowerCalibratorModule.h:78
Belle2::ECLShowerCalibratorModule::ECLShowerCalibratorModule
ECLShowerCalibratorModule()
Constructor.
Definition: ECLShowerCalibratorModule.cc:33
Belle2::ECLShowerCalibratorModule::m_eclCRs
StoreArray< ECLConnectedRegion > m_eclCRs
StoreArray ECLConnectedRegion.
Definition: ECLShowerCalibratorModule.h:72
Belle2::ECLShowerCalibratorModule::beginRun
virtual void beginRun() override
Begin run.
Definition: ECLShowerCalibratorModule.cc:53
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::ECLShowerCalibratorModule::m_eclShowers
StoreArray< ECLShower > m_eclShowers
StoreArray ECLShower.
Definition: ECLShowerCalibratorModule.h:70
Belle2::ECLShowerCalibratorModule::eclConnectedRegionArrayName
virtual const char * eclConnectedRegionArrayName() const
Default name ECLConnectedRegion.
Definition: ECLShowerCalibratorModule.h:82
Belle2::ECLShowerCalibratorPureCsIModule::eclConnectedRegionArrayName
virtual const char * eclConnectedRegionArrayName() const override
PureCsI name ECLConnectedRegion.
Definition: ECLShowerCalibratorModule.h:97
Belle2::ECLShowerCalibratorModule::event
virtual void event() override
Event.
Definition: ECLShowerCalibratorModule.cc:59
Belle2::ECLShowerCalibratorPureCsIModule::eclShowerArrayName
virtual const char * eclShowerArrayName() const override
PureCsI name ECLShowers.
Definition: ECLShowerCalibratorModule.h:93
Belle2::StoreArray
Accessor to arrays stored in the data store.
Definition: ECLMatchingPerformanceExpertModule.h:33
Belle2::ECLShowerCalibratorModule::terminate
virtual void terminate() override
Terminate.
Definition: ECLShowerCalibratorModule.cc:75
Belle2::ECLShowerCalibratorModule
Class to perform the shower correction.
Definition: ECLShowerCalibratorModule.h:44
Belle2::ECLShowerCalibratorModule::~ECLShowerCalibratorModule
~ECLShowerCalibratorModule()
Destructor.
Definition: ECLShowerCalibratorModule.cc:41