BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
RealizationSvc.h
Go to the documentation of this file.
1#ifndef REALIZATIONSVC_H
2#define REALIZATIONSVC_H
3
4#include "GaudiKernel/DataSvc.h"
5#include "GaudiKernel/IDataProviderSvc.h"
6#include "GaudiKernel/IIncidentListener.h"
7#include "GaudiKernel/IInterface.h"
8#include "GaudiKernel/Kernel.h"
9#include "GaudiKernel/Service.h"
10#include "GaudiKernel/SmartDataPtr.h"
11#include <vector>
12
13#include "RealizationSvc/IRealizationSvc.h"
14
15#include "ConnectionProvider.h"
16
17// class IDataProviderSvc;
18
19// class RealizationSvc: public Service, virtual public IRealizationSvc,
20class RealizationSvc : virtual public extends<Service, IRealizationSvc>,
21 virtual public IIncidentListener {
22
23public:
24 RealizationSvc( const std::string& name, ISvcLocator* svcloc );
26 virtual StatusCode initialize();
27 virtual StatusCode finalize();
28 // virtual StatusCode queryInterface( const InterfaceID& riid, void** ppvInterface );
29
30 // Incident handler
31 void handle( const Incident& );
32
33 // interface
34 void readDB( int runNo );
35 void updateRealData();
36
37 // set or get initial event ID
38 int getInitEvtID() { return m_initEvtID; }
39 void setInitEvtID( int i ) { m_initEvtID = i; }
40
41 void setLuminosity( float i ) { m_lumi = i; }
42 double getLuminosity() { return m_lumi; }
43 float getLuminosity( int runNo );
44
45 void setBunchPosX( double i ) { m_bunch_x = i; }
46 void setBunchPosY( double i ) { m_bunch_y = i; }
47 void setBunchPosZ( double i ) { m_bunch_z = i; }
48 void setBunchSizeX( double i ) { m_sigma_x = i; }
49 void setBunchSizeY( double i ) { m_sigma_y = i; }
50 void setBunchSizeZ( double i ) { m_sigma_z = i; }
51 double getBunchPosX() { return m_bunch_x; }
52 double getBunchPosY() { return m_bunch_y; }
53 double getBunchPosZ() { return m_bunch_z; }
54 double getBunchSizeX() { return m_sigma_x; }
55 double getBunchSizeY() { return m_sigma_y; }
56 double getBunchSizeZ() { return m_sigma_z; }
57
58 inline double getTrgGain( int cry_id ) { return m_trgGain[cry_id]; }
59
60 // set event number in a run
61 void setRunEvtNum( int i ) { m_RunEvtNum = i; }
62 // set event number in a random trigger file
63 // void setRanTrgEvtNum(std::vector<int> i) { m_RanTrgEvtNum = i; }
64
65 // get event number in a run
66 int getRunEvtNum() { return m_RunEvtNum; }
67 // get event number in a random trigger file
68 // std::vector<int> getRanTrgEvtNum() { return m_RanTrgEvtNum; }
69
70 // std::vector<int> getRunEvtNum(std::vector<int> inrunList, int EvtMax);
71
72 // trigger table
73 void setTrgTable( std::vector<uint32_t> i ) { m_trgTable = i; }
74 std::vector<uint32_t> getTrgTable() { return m_trgTable; }
75
76 // trigger config infor.
77 int getEtotDataSteps() { return m_EtotDataSteps; }
78 int getVthBEtotH() { return m_VthBEtotH; }
79 int getVthEEtotH() { return m_VthEEtotH; }
80 int getVthEtotL() { return m_VthEtotL; }
81 int getVthEtotM() { return m_VthEtotM; }
82 int getVthBLZ() { return m_VthBLZ; }
83 int getVthDiffB() { return m_VthDiffB; }
84 int getVthDiffE() { return m_VthDiffE; }
85 int getVthBalBLK() { return m_VthBalBLK; }
86 int getVthBalEEMC() { return m_VthBalEEMC; }
87 int getVthDiffMin() { return m_VthDiffMin; }
88
89 void setBgFileName( std::vector<std::string> i ) { m_bgfilename = i; }
90 std::vector<std::string> getBgFileName() { return m_bgfilename; }
91 std::vector<std::string> getBgFileName( std::string query );
92
93 // luminosity curve parameters
94 float getRunTotalTime() { return m_runTotalTime; }
95 float getTauValue() { return m_tauValue; }
96
97 // run infor.
98 std::vector<double> getRunInfo() { return m_runInfo; }
99
100 // TFEE
101 std::vector<std::string> getTofThreshold() { return m_tfee; }
102
103 // related run id
104 std::vector<int> getRunList() { return m_runIdList; }
105 int getRunId() { return m_runID; }
106 void setRunId( int i ) { m_runID = i; }
107
108 bool UseDBFlag() { return m_useDB; }
109
110 bool ifReadBunch() { return m_ifReadBunch; }
111 bool ifReadTrg() { return m_ifReadTrg; }
112 bool ifReadRandTrg() { return m_ifReadRandTrg; }
113 bool ifReadTFEE() { return m_ifReadTFEE; }
114
115private:
116 int m_CaliConst;
117
118 std::string m_bossRelease;
119 std::string m_SftVer;
120 std::string m_ParVer;
121
122 float m_lumi;
123 double m_bunch_x;
124 double m_bunch_y;
125 double m_bunch_z;
126
127 double m_sigma_x;
128 double m_sigma_y;
129 double m_sigma_z;
130
131 int m_initEvtID;
132
133 int m_RunEvtNum;
134 // std::vector<int> m_RanTrgEvtNum;
135
136 // run id list property
137 std::vector<int> m_runNoList;
138 std::vector<int> m_runIdList;
139 int m_runID;
140
141 bool m_useDB;
142
143 // luminosity curve parameters
144 float m_runTotalTime;
145 float m_tauValue;
146
147 bool m_ifReadBunch;
148 bool m_ifReadTrg;
149 bool m_ifReadRandTrg;
150 bool m_ifReadTFEE;
151 bool m_ifReadRunInfo;
152
153 std::vector<uint32_t> m_trgTable;
154 IDataProviderSvc* m_eventSvc;
155
156 // background
157 std::vector<std::string> m_bgfilename;
158 // TFEE
159 std::vector<std::string> m_tfee;
160
161 // run infor.
162 std::vector<double> m_runInfo;
163
164 double m_trgGain[6240];
165
166 // trigger config infor.
167 int m_EtotDataSteps;
168 int m_VthBEtotH;
169 int m_VthEEtotH;
170 int m_VthEtotL;
171 int m_VthEtotM;
172 int m_VthBLZ;
173 int m_VthDiffB;
174 int m_VthDiffE;
175 int m_VthBalBLK;
176 int m_VthBalEEMC;
177 int m_VthDiffMin;
178
180};
181
182#endif
int runNo
Definition DQA_TO_DB.cxx:13
std::vector< double > getRunInfo()
double getTrgGain(int cry_id)
std::vector< int > getRunList()
RealizationSvc(const std::string &name, ISvcLocator *svcloc)
void setBunchPosX(double i)
void setBunchPosZ(double i)
virtual StatusCode finalize()
std::vector< uint32_t > getTrgTable()
double getLuminosity()
void setBunchSizeZ(double i)
double getBunchSizeZ()
void setLuminosity(float i)
void setBgFileName(std::vector< std::string > i)
virtual StatusCode initialize()
std::vector< std::string > getBgFileName()
float getRunTotalTime()
double getBunchSizeY()
double getBunchPosY()
void handle(const Incident &)
void setTrgTable(std::vector< uint32_t > i)
void setRunEvtNum(int i)
double getBunchPosZ()
std::vector< std::string > getTofThreshold()
void setRunId(int i)
void readDB(int runNo)
double getBunchSizeX()
void setBunchSizeX(double i)
void setBunchSizeY(double i)
void setInitEvtID(int i)
void setBunchPosY(double i)
double getBunchPosX()