72 const EventContext& ctx = Gaudi::Hive::currentContext();
85 DataVect channel; channel.reserve(cellContainer->
size());
86 DataVect feedThrough; feedThrough.reserve(cellContainer->
size());
90 DataVect cellTimeVec; cellTimeVec.reserve(cellContainer->
size());
91 DataVect cellGain; cellGain.reserve(cellContainer->
size());
92 DataVect cellPedestal; cellPedestal.reserve(cellContainer->
size());
93 DataVect adc2Mev; adc2Mev.reserve(cellContainer->
size());
94 DataVect BadCell; BadCell.reserve(cellContainer->
size());
111 if( detStore()->
retrieve(larPedestal).isFailure() ){
112 ATH_MSG_ERROR(
"in getFCalData(), Could not retrieve LAr Pedestal" );
117 if ( detStore()->
retrieve(onlineId,
"LArOnlineID").isFailure()) {
118 ATH_MSG_ERROR(
"in getFCalData(),Could not get LArOnlineID!" );
127 double energyGeV, xmm, ymm, zmm, dxmm, dymm, dzmm, cellTime;
128 double energyAllLArFcal = 0.;
130 for(;it1!=it2;++it1){
132 if((*it1)->badcell()) BadCell.push_back(1);
134 else BadCell.push_back(-1);
139 HWIdentifier LArhwid = cabling->createSignalChannelIDFromHash((*it1)->caloDDE()->calo_hash());
143 bool maskChannel =
false;
150 if (maskChannel)
continue;
153 energyGeV = (*it1)->energy()*(1./
GeV);
155 energyAllLArFcal += energyGeV;
156 idVec.emplace_back((Identifier::value_type)(*it1)->ID().get_compact() );
158 xmm = (*it1)->x()*0.1;
159 ymm = (*it1)->y()*0.1;
160 zmm = (*it1)->z()*0.1;
161 x.emplace_back( gcvt( xmm, 4, rndStr) );
162 y.emplace_back( gcvt( ymm, 4, rndStr) );
163 z.emplace_back( gcvt( zmm, 4, rndStr) );
165 channel.emplace_back(onlineId->
channel(LArhwid));
166 feedThrough.emplace_back(onlineId->
feedthrough(LArhwid));
167 slot.emplace_back(onlineId->
slot(LArhwid));
170 cellTime = (*it1)->time();
171 cellTimeVec.emplace_back( gcvt( cellTime,
m_cellTimePrec, rndStr) );
172 cellGain.emplace_back( (*it1)->gain() );
174 int fcalgain = (*it1)->gain();
175 float pedestal=larPedestal->
pedestal(LArhwid,fcalgain);
179 cellPedestal.emplace_back(pedvalue);
182 if (polynom_adc2mev.size()==0){ adc2Mev.emplace_back(-1); }
183 else{ adc2Mev.emplace_back(polynom_adc2mev[1]); }
188 dxmm = elt->
dx()*0.1;
189 dymm = elt->
dy()*0.1;
190 dzmm = elt->
dz()*0.1;
191 dx.emplace_back( gcvt( dxmm, 4, rndStr) );
192 dy.emplace_back( gcvt( dymm, 4, rndStr) );
193 dz.emplace_back( gcvt( dzmm, 4, rndStr) );
201 ATH_MSG_DEBUG(
" Total energy in FCAL (LAr) in GeV : " << energyAllLArFcal );
204 const auto nEntries =
x.size();
211 DataMap[
"energy"] = std::move(energy);
212 DataMap[
"id"] = std::move(idVec);
213 DataMap[
"channel"] = std::move(channel);
214 DataMap[
"feedThrough"] = std::move(feedThrough);
215 DataMap[
"slot"] = std::move(slot);
218 DataMap[
"BadCell"] = std::move(BadCell);
219 }
DataMap[
"sub"] = std::move(sub);
223 DataMap[
"cellTime"] = std::move(cellTimeVec);
224 DataMap[
"cellGain"] = std::move(cellGain);
225 DataMap[
"cellPedestal"] = std::move(cellPedestal);
226 DataMap[
"adc2Mev"] = std::move(adc2Mev);