Belle II Software  release-05-02-19
KLMDigitEventInfo.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2018 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Giacomo De Pietro *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 /* Belle 2 headers. */
14 #include <framework/datastore/RelationsObject.h>
15 #include <rawdata/dataobjects/RawKLM.h>
16 
17 namespace Belle2 {
26  class KLMDigitEventInfo : public RelationsObject {
27 
28  public:
29 
36  m_triggerUTime(0),
37  m_windowStart(0),
38  m_nRPCHits(0),
39  m_nSciHits(0),
42  m_UserWord(0)
43  {
44  };
45 
51  KLMDigitEventInfo(RawKLM* rawKLM, int entry) :
52  m_TriggerCTime(rawKLM->GetTTCtime(entry)),
54  m_triggerUTime(rawKLM->GetTTUtime(entry)),
55  m_windowStart(rawKLM->GetTrailerChksum(entry)),
56  m_nRPCHits(0),
57  m_nSciHits(0),
60  m_UserWord(0)
61  {
62  }
63 
68  unsigned int getTriggerCTime() const
69  {
70  return m_TriggerCTime;
71  }
72 
77  int getIntTriggerCTime() const
78  {
79  return (int)m_TriggerCTime;
80  }
81 
86  void setTriggerCTime(unsigned int triggerCTime)
87  {
88  m_TriggerCTime = triggerCTime;
89  }
90 
95  long int getTriggerInterval() const
96  {
97  return (long int)m_TriggerCTime - (long int)m_triggerCTimeOfPreviousEvent;
98  }
99 
105  double getTriggerIntervalInUs() const
106  {
107  return ((long int)m_TriggerCTime -
108  (long int)m_triggerCTimeOfPreviousEvent) / 127.216;
109  }
110 
114  void setPreviousEventTriggerCTime(unsigned int triggerCTimeOfPreviousEvent)
115  {
116  m_triggerCTimeOfPreviousEvent = triggerCTimeOfPreviousEvent;
117  }
118 
123  unsigned int getTriggerUTime() const
124  {
125  return m_triggerUTime;
126  }
127 
131  void setTriggerUTime(unsigned int triggerUTime)
132  {
133  m_triggerUTime = triggerUTime;
134  }
135 
140  unsigned int getWindowStart() const
141  {
142  return m_windowStart;
143  }
144 
148  void setWindowStart(unsigned int windowStart)
149  {
150  m_windowStart = windowStart;
151  }
152 
157  int getRPCHits() const
158  {
159  return m_nRPCHits;
160  }
161 
166  {
167  m_nRPCHits++;
168  }
169 
173  void increaseRPCHits(int hits)
174  {
175  m_nRPCHits += hits;
176  }
177 
182  int getSciHits() const
183  {
184  return m_nSciHits;
185  }
186 
191  {
192  m_nSciHits++;
193  }
194 
198  void increaseSciHits(int hits)
199  {
200  m_nSciHits += hits;
201  }
202 
207  int getOutOfRangeHits() const
208  {
209  return m_nOutOfRangeHits;
210  }
211 
216  {
218  }
219 
223  void increaseOutOfRangeHits(int hits)
224  {
225  m_nOutOfRangeHits += hits;
226  }
227 
232  unsigned int getRevo9TriggerWord() const
233  {
234  return m_Revo9TriggerWord;
235  }
236 
241  void setRevo9TriggerWord(unsigned int revo9TriggerWord)
242  {
243  m_Revo9TriggerWord = revo9TriggerWord;
244  }
245 
250  unsigned int getUserWord() const
251  {
252  return m_UserWord;
253  }
254 
259  void setUserWord(unsigned int userWord)
260  {
261  m_UserWord = userWord;
262  }
263 
264  protected:
265 
267  unsigned int m_TriggerCTime;
268 
270  unsigned int m_triggerCTimeOfPreviousEvent;
271 
273  unsigned int m_triggerUTime;
274 
276  unsigned int m_windowStart;
277 
279  int m_nRPCHits;
280 
282  int m_nSciHits;
283 
285  int m_nOutOfRangeHits;
286 
288  unsigned int m_Revo9TriggerWord;
289 
291  unsigned int m_UserWord;
292 
295 
296  };
297 
299 }
Belle2::KLMDigitEventInfo::setPreviousEventTriggerCTime
void setPreviousEventTriggerCTime(unsigned int triggerCTimeOfPreviousEvent)
Set trigger CTime of previous event.
Definition: KLMDigitEventInfo.h:122
Belle2::KLMDigitEventInfo::increaseOutOfRangeHits
void increaseOutOfRangeHits()
Increase by 1 the number of outOfRange-flagged hits in the event.
Definition: KLMDigitEventInfo.h:223
Belle2::KLMDigitEventInfo::setTriggerUTime
void setTriggerUTime(unsigned int triggerUTime)
Set trigger UTIME.
Definition: KLMDigitEventInfo.h:139
Belle2::KLMDigitEventInfo::getRevo9TriggerWord
unsigned int getRevo9TriggerWord() const
Get revo9 trigger word (from DCs).
Definition: KLMDigitEventInfo.h:240
Belle2::KLMDigitEventInfo::getSciHits
int getSciHits() const
Returns the number of scintillator hits in the event.
Definition: KLMDigitEventInfo.h:190
Belle2::KLMDigitEventInfo::getRPCHits
int getRPCHits() const
Returns the number of RPC hits in the event.
Definition: KLMDigitEventInfo.h:165
Belle2::KLMDigitEventInfo::KLMDigitEventInfo
KLMDigitEventInfo()
Constructor.
Definition: KLMDigitEventInfo.h:41
Belle2::KLMDigitEventInfo::getOutOfRangeHits
int getOutOfRangeHits() const
Returns the number of OutOfRange-flagged hits in the event.
Definition: KLMDigitEventInfo.h:215
Belle2::KLMDigitEventInfo::increaseSciHits
void increaseSciHits()
Increase by 1 the number of scintillator hits in the event.
Definition: KLMDigitEventInfo.h:198
Belle2::KLMDigitEventInfo::m_windowStart
unsigned int m_windowStart
Window start.
Definition: KLMDigitEventInfo.h:284
Belle2::KLMDigitEventInfo::ClassDef
ClassDef(KLMDigitEventInfo, 5)
Class version.
Belle2::KLMDigitEventInfo::setUserWord
void setUserWord(unsigned int userWord)
Set user word (from DCs).
Definition: KLMDigitEventInfo.h:267
Belle2::KLMDigitEventInfo::getTriggerCTime
unsigned int getTriggerCTime() const
Get trigger CTIME.
Definition: KLMDigitEventInfo.h:76
Belle2::KLMDigitEventInfo::getTriggerIntervalInUs
double getTriggerIntervalInUs() const
Returns trigger interval (triggerCTime - triggerCTimeOfPreviousEvent) in us.
Definition: KLMDigitEventInfo.h:113
Belle2::KLMDigitEventInfo
Class to store debugging informations from the unpacker (event based).
Definition: KLMDigitEventInfo.h:34
Belle2::KLMDigitEventInfo::m_nSciHits
int m_nSciHits
Scintillator hits in the event.
Definition: KLMDigitEventInfo.h:290
Belle2::KLMDigitEventInfo::getTriggerInterval
long int getTriggerInterval() const
Returns trigger interval (triggerCTime - triggerCTimeOfPreviousEvent)
Definition: KLMDigitEventInfo.h:103
Belle2::KLMDigitEventInfo::setRevo9TriggerWord
void setRevo9TriggerWord(unsigned int revo9TriggerWord)
Set Revo9 trigger word (from DCs).
Definition: KLMDigitEventInfo.h:249
Belle2::KLMDigitEventInfo::setWindowStart
void setWindowStart(unsigned int windowStart)
Set window start.
Definition: KLMDigitEventInfo.h:156
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::RawKLM
The Raw KLM class Class for RawCOPPER class data taken by KLM.
Definition: RawKLM.h:27
Belle2::KLMDigitEventInfo::m_triggerCTimeOfPreviousEvent
unsigned int m_triggerCTimeOfPreviousEvent
Trigger CTime of previous event.
Definition: KLMDigitEventInfo.h:278
Belle2::KLMDigitEventInfo::m_Revo9TriggerWord
unsigned int m_Revo9TriggerWord
Revo9 trigger word (from DCs).
Definition: KLMDigitEventInfo.h:296
Belle2::KLMDigitEventInfo::m_UserWord
unsigned int m_UserWord
User word (from DCs)
Definition: KLMDigitEventInfo.h:299
Belle2::KLMDigitEventInfo::m_nOutOfRangeHits
int m_nOutOfRangeHits
Out-of-range hits (skipped hits with layer > 14 for BKLM).
Definition: KLMDigitEventInfo.h:293
Belle2::KLMDigitEventInfo::getIntTriggerCTime
int getIntTriggerCTime() const
Returns trigger CTIME as int.
Definition: KLMDigitEventInfo.h:85
Belle2::KLMDigitEventInfo::getUserWord
unsigned int getUserWord() const
Get user word (from DCs).
Definition: KLMDigitEventInfo.h:258
Belle2::KLMDigitEventInfo::setTriggerCTime
void setTriggerCTime(unsigned int triggerCTime)
Set trigger CTIME.
Definition: KLMDigitEventInfo.h:94
Belle2::KLMDigitEventInfo::getWindowStart
unsigned int getWindowStart() const
Get window start.
Definition: KLMDigitEventInfo.h:148
Belle2::RelationsObject
RelationsInterface< TObject > RelationsObject
Provides interface for getting/adding relations to objects in StoreArrays.
Definition: RelationsObject.h:443
Belle2::KLMDigitEventInfo::m_nRPCHits
int m_nRPCHits
RPC hits in the event.
Definition: KLMDigitEventInfo.h:287
Belle2::KLMDigitEventInfo::m_TriggerCTime
unsigned int m_TriggerCTime
Trigger CTime.
Definition: KLMDigitEventInfo.h:275
Belle2::KLMDigitEventInfo::getTriggerUTime
unsigned int getTriggerUTime() const
Get trigger UTIME.
Definition: KLMDigitEventInfo.h:131
Belle2::KLMDigitEventInfo::increaseRPCHits
void increaseRPCHits()
Increase by 1 the number of RPC hits in the event.
Definition: KLMDigitEventInfo.h:173
Belle2::KLMDigitEventInfo::m_triggerUTime
unsigned int m_triggerUTime
Trigger UTime.
Definition: KLMDigitEventInfo.h:281