12 #include <arich/modules/arichRateCal/ARICHRateCalModule.h>
13 #include <arich/dataobjects/ARICHThParam.h>
14 #include <arich/dataobjects/ARICHRawDigit.h>
15 #include <arich/dataobjects/ARICHInfo.h>
18 #include <framework/dataobjects/EventMetaData.h>
19 #include <framework/datastore/StoreArray.h>
20 #include <framework/datastore/StoreObjPtr.h>
55 addParam(
"nrun", m_nrun,
"# of scan runs", 100);
56 addParam(
"nevents", m_nevents,
"# of events per run", 1000);
60 addParam(
"debug", m_debugmode,
"debug mode",
false);
61 addParam(
"internal", m_internalmode,
"Internal thscan mode",
false);
62 addParam(
"daqdb", m_daqdb,
"daqdb config name", std::string(
""));
90 B2WARNING(
"dth is set to 0");
92 for (
int i = 0; i < 100; i++) {
93 h_rate2D[i] =
new TH2F(Form(
"h_rate2D_%d", i), Form(
"MRG#%d;Channel ID; Vth [mV]", i), 144 * 6, -0.5, -0.5 + 144 * 6,
94 m_nrun, (m_th0 - 0.5 * m_dth) * 1000, (m_th0 + (m_nrun - 0.5)*m_dth) * 1000);
103 rawdata.isRequired();
112 int runno = evtmetadata->getRun();
113 if (runno == 100 && !m_internalmode) {
122 if (!arichinfo->getthscan_mode())
return;
123 double vth_thscan = arichinfo->getvth_thscan();
127 int runno = evtmetadata->getRun();
132 for (
auto& rawdigit : rawdigits) {
133 const int mrgid = rawdigit.getBoardId();
136 std::vector<ARICHRawDigit::FEBDigit>& febs(rawdigit.getFEBs());
137 for (
auto& feb : febs) {
138 const int febno = feb.febno;
139 std::vector<ARICHRawDigit::FEBDigit::ChannelDigit>& channels(feb());
140 for (
auto& channel : channels) {
141 if (channel.val > 0) {
143 double vth = m_internalmode ? vth_thscan * 1000 : param.getVth() * 1000 ;
144 h_rate2D[mrgid]->Fill(channel.chno + febno * 144, vth);
152 if (m_evt_count == m_nevents) {