Belle II Software  release-05-02-19
BackgroundMetaData.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2011 Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Marko Staric *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <framework/pcore/Mergeable.h>
14 #include <framework/core/FrameworkExceptions.h>
15 #include <string>
16 
17 namespace Belle2 {
26  class BackgroundMetaData: public Mergeable {
27 
28  public:
29 
33  enum BG_TAG { bg_none = 0,
35  bg_Coulomb_HER = 2,
36  bg_RBB_LER = 3,
37  bg_RBB_HER = 4,
38  bg_Touschek_LER = 5,
39  bg_Touschek_HER = 6,
40  bg_twoPhoton = 7,
50  bg_RBB = 17,
51  bg_BHWide = 18,
55  bg_Brems_LER = 23,
56  bg_Brems_HER = 24,
57  bg_other = 99
58  };
59 
63  BELLE2_DEFINE_EXCEPTION(BackgroundMetaDataNotMergeable,
64  "BackgroundMetaData: objects cannot be merged");
65 
69  enum EFileType { c_Usual = 0,
70  c_ECL = 1,
71  c_PXD = 2
72  };
73 
78  {}
79 
84  void setBackgroundType(const std::string& type) {m_backgroundType = type;}
85 
90  void setBackgroundTag(BG_TAG tag) {m_backgroundTag = tag;}
91 
96  void setRealTime(float time) {m_realTime = time;}
97 
102  void setFileType(EFileType type) {m_fileType = type;}
103 
108  const std::string& getBackgroundType() const {return m_backgroundType;}
109 
114  BG_TAG getBackgroundTag() const {return m_backgroundTag;}
115 
120  float getRealTime() const {return m_realTime;}
121 
126  EFileType getFileType() const {return m_fileType;}
127 
131  virtual void merge(const Mergeable* other) override;
132 
136  virtual void clear() override;
137 
138 
139  private:
140 
146  bool canBeMerged(const BackgroundMetaData* other);
147 
148  std::string m_backgroundType;
150  float m_realTime = 0;
157  };
159 }
160 
Belle2::BackgroundMetaData::bg_BHWide_LER
@ bg_BHWide_LER
Wide angle radiative Bhabha LER.
Definition: BackgroundMetaData.h:56
Belle2::BackgroundMetaData::canBeMerged
bool canBeMerged(const BackgroundMetaData *other)
Checks if other object can be merged with this object.
Definition: BackgroundMetaData.cc:18
Belle2::BackgroundMetaData::bg_BHWideLargeAngle
@ bg_BHWideLargeAngle
Large angle radiative Bhabha.
Definition: BackgroundMetaData.h:60
Belle2::BackgroundMetaData::merge
virtual void merge(const Mergeable *other) override
Implementation of abstract class function.
Definition: BackgroundMetaData.cc:40
Belle2::BackgroundMetaData::bg_InjectionLER
@ bg_InjectionLER
injection background LER
Definition: BackgroundMetaData.h:61
Belle2::BackgroundMetaData::ClassDefOverride
ClassDefOverride(BackgroundMetaData, 4)
Class definition required for creation of ROOT dictionary.
Belle2::BackgroundMetaData::bg_Touschek_HER
@ bg_Touschek_HER
Touschek HER.
Definition: BackgroundMetaData.h:47
Belle2::BackgroundMetaData::BELLE2_DEFINE_EXCEPTION
BELLE2_DEFINE_EXCEPTION(BackgroundMetaDataNotMergeable, "BackgroundMetaData: objects cannot be merged")
Exception definition.
Belle2::BackgroundMetaData::bg_Touschek_LER
@ bg_Touschek_LER
Touschek LER.
Definition: BackgroundMetaData.h:46
Belle2::BackgroundMetaData::bg_BHWide
@ bg_BHWide
Wide angle radiative Bhabha.
Definition: BackgroundMetaData.h:59
Belle2::BackgroundMetaData::c_ECL
@ c_ECL
additional for ECL
Definition: BackgroundMetaData.h:78
Belle2::BackgroundMetaData::bg_SynchRad_LER
@ bg_SynchRad_LER
Synchrotron radiation LER.
Definition: BackgroundMetaData.h:54
Belle2::BackgroundMetaData::m_backgroundTag
BG_TAG m_backgroundTag
background tag
Definition: BackgroundMetaData.h:157
Belle2::BackgroundMetaData::getBackgroundType
const std::string & getBackgroundType() const
Returns the type of background.
Definition: BackgroundMetaData.h:116
Belle2::BackgroundMetaData::bg_twoPhoton
@ bg_twoPhoton
2-photon
Definition: BackgroundMetaData.h:48
Belle2::BackgroundMetaData::bg_BHWide_HER
@ bg_BHWide_HER
Wide angle radiative Bhabha HER.
Definition: BackgroundMetaData.h:57
Belle2::BackgroundMetaData::setBackgroundType
void setBackgroundType(const std::string &type)
Sets background type.
Definition: BackgroundMetaData.h:92
Belle2::BackgroundMetaData::bg_RBB_HER
@ bg_RBB_HER
Radiative Bhabha HER.
Definition: BackgroundMetaData.h:45
Belle2::BackgroundMetaData::setRealTime
void setRealTime(float time)
Sets real time that corresponds to this background sample.
Definition: BackgroundMetaData.h:104
Belle2::BackgroundMetaData::EFileType
EFileType
Enum for BG file types.
Definition: BackgroundMetaData.h:77
Belle2::BackgroundMetaData::getRealTime
float getRealTime() const
Returns real time that corresponds to this background sample.
Definition: BackgroundMetaData.h:128
Belle2::BackgroundMetaData::BackgroundMetaData
BackgroundMetaData()
Constructor.
Definition: BackgroundMetaData.h:85
Belle2::BackgroundMetaData::bg_SynchRad_HER
@ bg_SynchRad_HER
Synchrotron radiation HER.
Definition: BackgroundMetaData.h:55
Belle2::BackgroundMetaData::setFileType
void setFileType(EFileType type)
Sets file type.
Definition: BackgroundMetaData.h:110
Belle2::BackgroundMetaData::bg_Coulomb_LER
@ bg_Coulomb_LER
Coulomb LER.
Definition: BackgroundMetaData.h:42
Belle2::BackgroundMetaData::bg_other
@ bg_other
Other type of background.
Definition: BackgroundMetaData.h:65
Belle2::BackgroundMetaData::bg_RBB_gamma
@ bg_RBB_gamma
Gammas from radiative Bhabha.
Definition: BackgroundMetaData.h:49
Belle2::BackgroundMetaData::bg_Coulomb_HER
@ bg_Coulomb_HER
Coulomb HER.
Definition: BackgroundMetaData.h:43
Belle2::BackgroundMetaData::bg_RBB_LER_far
@ bg_RBB_LER_far
Radiative Bhabha far LER.
Definition: BackgroundMetaData.h:50
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::BackgroundMetaData::setBackgroundTag
void setBackgroundTag(BG_TAG tag)
Sets background tag value that corresponds to background type.
Definition: BackgroundMetaData.h:98
Belle2::BackgroundMetaData::bg_Brems_LER
@ bg_Brems_LER
bremsstrahlung LER
Definition: BackgroundMetaData.h:63
Belle2::BackgroundMetaData::m_fileType
EFileType m_fileType
file type
Definition: BackgroundMetaData.h:159
Belle2::BackgroundMetaData::bg_RBB
@ bg_RBB
Radiative Bhabha.
Definition: BackgroundMetaData.h:58
Belle2::BackgroundMetaData::m_backgroundType
std::string m_backgroundType
beam background type
Definition: BackgroundMetaData.h:156
Belle2::BackgroundMetaData::bg_Touschek_LER_far
@ bg_Touschek_LER_far
Touschek far LER.
Definition: BackgroundMetaData.h:52
Belle2::BackgroundMetaData::bg_Touschek_HER_far
@ bg_Touschek_HER_far
Touschek far HER.
Definition: BackgroundMetaData.h:53
Belle2::BackgroundMetaData::bg_none
@ bg_none
No background.
Definition: BackgroundMetaData.h:41
Belle2::BackgroundMetaData
Metadata information about the beam background file.
Definition: BackgroundMetaData.h:34
Belle2::BackgroundMetaData::bg_Brems_HER
@ bg_Brems_HER
bremsstrahlung HER
Definition: BackgroundMetaData.h:64
Belle2::BackgroundMetaData::bg_RBB_LER
@ bg_RBB_LER
Radiative Bhabha LER.
Definition: BackgroundMetaData.h:44
Belle2::BackgroundMetaData::getFileType
EFileType getFileType() const
Returns file type.
Definition: BackgroundMetaData.h:134
Belle2::BackgroundMetaData::m_realTime
float m_realTime
real time that corresponds to beam background sample
Definition: BackgroundMetaData.h:158
Belle2::BackgroundMetaData::c_Usual
@ c_Usual
usual BG file
Definition: BackgroundMetaData.h:77
Belle2::BackgroundMetaData::c_PXD
@ c_PXD
additional for PXD
Definition: BackgroundMetaData.h:79
Belle2::BackgroundMetaData::clear
virtual void clear() override
Implementation of abstract class function.
Definition: BackgroundMetaData.cc:57
Belle2::BackgroundMetaData::bg_InjectionHER
@ bg_InjectionHER
injection background HER
Definition: BackgroundMetaData.h:62
Belle2::BackgroundMetaData::getBackgroundTag
BG_TAG getBackgroundTag() const
Returns background tag value.
Definition: BackgroundMetaData.h:122
Belle2::BackgroundMetaData::bg_RBB_HER_far
@ bg_RBB_HER_far
Radiative Bhabha far HER.
Definition: BackgroundMetaData.h:51
Belle2::BackgroundMetaData::BG_TAG
BG_TAG
Enum for background tags.
Definition: BackgroundMetaData.h:41