Belle II Software development
TRGTOPUnpackerStore.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 <trg/top/dataobjects/TRGTOPSlotTiming.h>
13
14#include <vector>
15
16namespace Belle2 {
21
22
24 class TRGTOPUnpackerStore : public RelationsObject {
25
26 public:
27
28 // Empty constructor
29 // Recommended for ROOT IO
30 TRGTOPUnpackerStore() :
31 m_eventIdL1(0),
32 m_eventIdTOP(0),
34 m_rvcB2L(0),
35 m_rvcWindow(0),
44 m_trigType(0),
45 m_nHitSum(0),
46 m_logLSum(0),
47 m_logLVar(0),
49 {}
50
74
77 int eventIdL1,
78 int eventIdTOP,
79 int windowIdTOP,
80 int rvcB2L,
81 int rvcWindow,
82 int rvcTopTimingDecisionPrev,
83 int rvcTopTimingDecisionNow,
84 int rvcTopTimingDecisionNowGdl,
85 int combinedTimingTop,
86 int nSlotsCombinedTimingTop,
87 int combinedTimingTopResidual,
88 int nErrorsMinor,
89 int nErrorsMajor,
90 int trigType,
91 int nHitSum,
92 int logLSum,
93 int logLVar,
94 int timingVar
95 ) :
96 m_eventIdL1(eventIdL1),
97 m_eventIdTOP(eventIdTOP),
98 m_windowIdTOP(windowIdTOP),
99 m_rvcB2L(rvcB2L),
100 m_rvcWindow(rvcWindow),
101 m_rvcTopTimingDecisionPrev(rvcTopTimingDecisionPrev),
102 m_rvcTopTimingDecisionNow(rvcTopTimingDecisionNow),
103 m_rvcTopTimingDecisionNowGdl(rvcTopTimingDecisionNowGdl),
104 m_combinedTimingTop(combinedTimingTop),
105 m_nSlotsCombinedTimingTop(nSlotsCombinedTimingTop),
106 m_combinedTimingTopResidual(combinedTimingTopResidual),
107 m_nErrorsMinor(nErrorsMinor),
108 m_nErrorsMajor(nErrorsMajor),
109 m_trigType(trigType),
110 m_nHitSum(nHitSum),
111 m_logLSum(logLSum),
112 m_logLVar(logLVar),
113 m_timingVar(timingVar)
114 {}
115
118
119 int getEventIdL1() const { return m_eventIdL1;}
120 int getEventIdTOP() const { return m_eventIdTOP;}
121 int getWindowIdTOP() const { return m_windowIdTOP;}
122 int getRvcB2L() const { return m_rvcB2L;}
123 int getRvcWindow() const { return m_rvcWindow;}
124 int getRvcTopTimingDecisionPrev() const { return m_rvcTopTimingDecisionPrev;}
125 int getRvcTopTimingDecisionNow() const { return m_rvcTopTimingDecisionNow;}
126 int getRvcTopTimingDecisionNowGdl() const { return m_rvcTopTimingDecisionNowGdl;}
127 int getCombinedTimingTop() const { return m_combinedTimingTop;}
128 int getNSlotsCombinedTimingTop() const { return m_nSlotsCombinedTimingTop;}
129 int getCombinedTimingTopResidual() const { return m_combinedTimingTopResidual;}
130 int getNErrorsMinor() const { return m_nErrorsMinor;}
131 int getNErrorsMajor() const { return m_nErrorsMajor;}
132 int getTrigType() const { return m_trigType;}
133 int getNHitSum() const { return m_nHitSum;}
134 int getLogLSum() const { return m_logLSum;}
135 int getLogLVar() const { return m_logLVar;}
136 int getTimingVar() const { return m_timingVar;}
137
138 //Need namespace qualifier because ROOT CINT has troubles otherwise
139 const std::vector<Belle2::TRGTOPSlotTiming> getSlotTimingDecisions() { return m_slotTimingDecisions; }
140
141 void setEventIdL1(int eventIdL1);
142 void setEventIdTOP(int eventIdTOP);
143 void setWindowIdTOP(int windowIdTOP);
144 void setRvcB2L(int rvcB2L);
145 void setRvcWindow(int rvcWindow);
146 void setRvcTopTimingDecisionPrev(int rvcTopTimingDecisionPrev);
147 void setRvcTopTimingDecisionNow(int rvcTopTimingDecisionNow);
148 void setRvcTopTimingDecisionNowGdl(int rvcTopTimingDecisionNowGdl);
149 void setCombinedTimingTop(int combinedTimingTop);
150 void setNSlotsCombinedTimingTop(int nSlotsCombinedTimingTop);
151 void setCombinedTimingTopResidual(int combinedTimingTopResidual);
152 void setNErrorsMinor(int nErrorsMinor);
153 void setNErrorsMajor(int nErrorsMajor);
154 void setTrigType(int trigType);
155 void setNHitSum(int nHitSum);
156 void setLogLSum(int logLSum);
157 void setLogLVar(int logLVar);
158 void setTimingVar(int timingVar);
159
160 void setSlotTimingDecision(TRGTOPSlotTiming slotTiming);
161
162 private:
163
200
202 std::vector<TRGTOPSlotTiming> m_slotTimingDecisions;
203
205 ClassDef(TRGTOPUnpackerStore, 2);
206
207 };
208
210} //end namespace Belle2
TRGTOPUnpackerStore(int eventIdL1, int eventIdTOP, int windowIdTOP, int rvcB2L, int rvcWindow, int rvcTopTimingDecisionPrev, int rvcTopTimingDecisionNow, int rvcTopTimingDecisionNowGdl, int combinedTimingTop, int nSlotsCombinedTimingTop, int combinedTimingTopResidual, int nErrorsMinor, int nErrorsMajor, int trigType, int nHitSum, int logLSum, int logLVar, int timingVar)
Another Useful Constructor.
int m_rvcTopTimingDecisionNowGdl
rvc of the current TOP timing decision sent to GDL
int m_nSlotsCombinedTimingTop
number of slots used for combined decision
std::vector< TRGTOPSlotTiming > m_slotTimingDecisions
vector of slot-level timing decisions
ClassDef(TRGTOPUnpackerStore, 2)
the class title
int m_rvcWindow
rvc of the current window
int m_rvcTopTimingDecisionNow
rvc of the current TOP timing decision
int m_combinedTimingTopResidual
t0 residual (between actual and estimated timing decisions)
int m_eventIdTOP
TOP decision's event id.
int m_timingVar
timing variance (among slots)
int m_rvcB2L
rvc at the time when B2L buffer was sent out
int m_windowIdTOP
Window number for TOP decision.
int m_rvcTopTimingDecisionPrev
rvc of previous TOP timing decision
int m_nHitSum
N hit sum (over slots)
TRGTOPUnpackerStore(int eventIdL1)
A Useful Constructor.
int m_nErrorsMajor
the number of major errors observed during unpacking
int m_nErrorsMinor
the number of minor errors observed during unpacking
int m_logLSum
logL sum (over slots)
int m_logLVar
logL variance (among slots)
RelationsInterface< TObject > RelationsObject
Provides interface for getting/adding relations to objects in StoreArrays.
Abstract base class for different kinds of events.