Belle II Software  release-06-02-00
TOPRecBunch.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/datastore/RelationsObject.h>
12 #include <TH1F.h>
13 #include <vector>
14 
15 namespace Belle2 {
25  class TOPRecBunch : public RelationsObject {
26  public:
27 
32  {}
33 
38  {
39  m_recBunchNo = 0;
40  m_recTime = 0;
41  m_currentOffset = 0;
42  m_averageOffset = 0;
45  m_numTracks = 0;
46  m_usedTracks = 0;
47  m_nodEdx = 0;
48  m_fineSearch = false;
49  m_histograms.clear();
50  m_recValid = false;
51  }
52 
63  void setReconstructed(int bunchNo, double time,
64  double currentOffset, double currentOffsetError,
65  double averageOffset, double averageOffsetError,
66  bool fineSearch)
67  {
68  m_recBunchNo = bunchNo;
69  m_recTime = time;
70  m_currentOffset = currentOffset;
71  m_averageOffset = averageOffset;
72  m_currentOffsetError = currentOffsetError;
73  m_averageOffsetError = averageOffsetError;
74  m_fineSearch = fineSearch;
75  m_recValid = true;
76  }
77 
84  void setNumTracks(int numTracks, int usedTracks, int nodEdx)
85  {
86  m_numTracks = numTracks;
87  m_usedTracks = usedTracks;
88  m_nodEdx = nodEdx;
89  }
90 
95  void setRevo9Counter(unsigned short revo9Counter) {m_revo9Counter = revo9Counter;}
96 
101  void addHistogram(const TH1F& histo)
102  {
103  m_histograms.push_back(histo);
104  }
105 
111  void setSimulated(int bunchNo, double time)
112  {
113  m_simBunchNo = bunchNo;
114  m_simTime = time;
115  m_simValid = true;
116  }
117 
123  int getBunchNo() const {return m_recBunchNo;}
124 
130  int getAbsoluteBunchNo(int offset) const
131  {
132  return (m_recBunchNo + m_revo9Counter * 4 - offset) % 5120;
133  }
134 
140  double getTime() const {return m_recTime;}
141 
146  double getCurrentOffset() const {return m_currentOffset;}
147 
153 
158  double getAverageOffset() const {return m_averageOffset;}
159 
165 
170  int getNumTracks() const {return m_numTracks;}
171 
176  int getUsedTracks() const {return m_usedTracks;}
177 
182  int getNodEdxTracks() const {return m_nodEdx;}
183 
188  const std::vector<TH1F>& getHistograms() const {return m_histograms;}
189 
194  bool isReconstructed() const {return m_recValid;}
195 
200  bool isFineSearch() const {return m_fineSearch;}
201 
206  int getMCBunchNo() const {return m_simBunchNo;}
207 
212  double getMCTime() const {return m_simTime;}
213 
218  bool isSimulated() const {return m_simValid;}
219 
224  unsigned short getRevo9Counter() const {return m_revo9Counter;}
225 
226  private:
227 
228  int m_recBunchNo = 0;
229  float m_recTime = 0;
230  float m_currentOffset = 0;
231  float m_averageOffset = 0;
234  int m_numTracks = 0;
235  int m_usedTracks = 0;
236  int m_nodEdx = 0;
237  bool m_fineSearch = false;
238  std::vector<TH1F> m_histograms;
239  bool m_recValid = false;
241  int m_simBunchNo = 0;
242  float m_simTime = 0;
243  bool m_simValid = false;
245  unsigned short m_revo9Counter = 0;
249  };
250 
251 
253 } // end namespace Belle2
254 
Defines interface for accessing relations of objects in StoreArray.
Class to store results of TOPBunchFinder.
Definition: TOPRecBunch.h:25
float m_recTime
reconstructed relative bunch time
Definition: TOPRecBunch.h:229
void setRevo9Counter(unsigned short revo9Counter)
Sets number of global clock tics since last revo9 flag.
Definition: TOPRecBunch.h:95
int getNumTracks() const
Returns number of tracks in acceptance of TOP.
Definition: TOPRecBunch.h:170
double getCurrentOffset() const
Returns current offset to reconstructed bunch.
Definition: TOPRecBunch.h:146
float m_currentOffset
current offset
Definition: TOPRecBunch.h:230
void addHistogram(const TH1F &histo)
Add histogram.
Definition: TOPRecBunch.h:101
unsigned short getRevo9Counter() const
Returns 127 MHz clock ticks since last revo9 marker.
Definition: TOPRecBunch.h:224
unsigned short m_revo9Counter
number of clock ticks since last revo9 flag
Definition: TOPRecBunch.h:245
bool m_recValid
status of rec
Definition: TOPRecBunch.h:239
bool m_fineSearch
if true, fine search was done
Definition: TOPRecBunch.h:237
int getNodEdxTracks() const
Returns number of used tracks without dEdx information.
Definition: TOPRecBunch.h:182
double getMCTime() const
Returns simulated bunch time (= time used as event start time)
Definition: TOPRecBunch.h:212
float m_averageOffset
running average of offset
Definition: TOPRecBunch.h:231
bool isReconstructed() const
Check if reconstructed return values are valid.
Definition: TOPRecBunch.h:194
float m_simTime
simulated relative bunch time
Definition: TOPRecBunch.h:242
int m_numTracks
number of tracks in acceptance of TOP
Definition: TOPRecBunch.h:234
int getBunchNo() const
Returns reconstructed bunch number relative to L1 trigger signal at TOP note: depends on the "look ba...
Definition: TOPRecBunch.h:123
int getAbsoluteBunchNo(int offset) const
Returns reconstructed absolute bunch number within the ring.
Definition: TOPRecBunch.h:130
int m_nodEdx
number of used tracks with no dEdx information
Definition: TOPRecBunch.h:236
bool isSimulated() const
Check if simulated return values are valid.
Definition: TOPRecBunch.h:218
void setNumTracks(int numTracks, int usedTracks, int nodEdx)
Set number of tracks.
Definition: TOPRecBunch.h:84
double getAverageOffsetError() const
Returns uncertainly of average offset.
Definition: TOPRecBunch.h:164
int getMCBunchNo() const
Returns simulated bunch number (= bunch used for the event start time)
Definition: TOPRecBunch.h:206
float m_currentOffsetError
uncertainty of current offset
Definition: TOPRecBunch.h:232
int m_simBunchNo
simulated relative bunch number
Definition: TOPRecBunch.h:241
int m_recBunchNo
reconstructed relative bunch number
Definition: TOPRecBunch.h:228
double getAverageOffset() const
Returns average offset to reconstructed bunch.
Definition: TOPRecBunch.h:158
void clearReconstructed()
Clear reconstruction data members.
Definition: TOPRecBunch.h:37
bool isFineSearch() const
Check if fine search is done.
Definition: TOPRecBunch.h:200
ClassDef(TOPRecBunch, 3)
ClassDef.
void setReconstructed(int bunchNo, double time, double currentOffset, double currentOffsetError, double averageOffset, double averageOffsetError, bool fineSearch)
Set reconstructed relative bunch number and time.
Definition: TOPRecBunch.h:63
void setSimulated(int bunchNo, double time)
Set simulated relative bunch number and time.
Definition: TOPRecBunch.h:111
double getCurrentOffsetError() const
Returns uncertainly of current offset.
Definition: TOPRecBunch.h:152
int getUsedTracks() const
Returns number of tracks used for bunch reconstruction.
Definition: TOPRecBunch.h:176
const std::vector< TH1F > & getHistograms() const
Returns histograms.
Definition: TOPRecBunch.h:188
std::vector< TH1F > m_histograms
histograms, like chi2 vs t0
Definition: TOPRecBunch.h:238
bool m_simValid
status of sim
Definition: TOPRecBunch.h:243
TOPRecBunch()
Default constructor.
Definition: TOPRecBunch.h:31
double getTime() const
Returns reconstructed bunch time relative to L1 trigger signal at TOP (time to be subtracted to corre...
Definition: TOPRecBunch.h:140
int m_usedTracks
number of tracks used for bunch reconstruction
Definition: TOPRecBunch.h:235
float m_averageOffsetError
uncertainty of running average of offset
Definition: TOPRecBunch.h:233
Abstract base class for different kinds of events.