16#include "GaudiKernel/MsgStream.h"
17#include "GaudiKernel/Bootstrap.h"
18#include "GaudiKernel/ISvcLocator.h"
19#include "GaudiKernel/IMessageSvc.h"
20#include "GaudiKernel/INTupleSvc.h"
21#include "GaudiKernel/IDataProviderSvc.h"
22#include "GaudiKernel/SmartDataPtr.h"
38#include "GaudiKernel/IClassIDSvc.h"
104 for (
int i=0; i<32; ++i)
107 for (
int i=0; i<32; ++i)
125 for (
int i=0; i<sizepart; ++i){
127 for (
int j=0; j<sizemodu; ++j){
129 for (
int k=0; k<sizegain; ++k){
146 MsgStream log(
msgSvc(),
"TileInfo");
147 MSG::Level logLevel = log.level();
148 bool debug = (logLevel <= MSG::DEBUG);
150 if(
debug) log<<MSG::DEBUG<<
"In TileInfo::initialize..."<<
endmsg;
157 return StatusCode::FAILURE;
164 return StatusCode::FAILURE;
182 <<
"Unable to load WienerFilter weights"<<
endmsg;
183 return StatusCode::FAILURE;
187 if(
debug) log << MSG::DEBUG <<
" TileInfo initialization completed. " <<
endmsg;
188 return StatusCode::SUCCESS;
211 int gain = (hilo) ? 0 : 1;
222void TileInfo::ttl1Shape(
const int nsamp,
const int itrig,
const double phase,std::vector<double> &ttl1shape)
const {
225 for (
int i=0; i<nsamp; ++i) {
232 MsgStream log(
msgSvc(),
"TileInfo");
233 if (log.level() <= MSG::DEBUG){
234 log << MSG::DEBUG <<
" Shaping profile at beam crossings: nsamp = " << nsamp <<
", itrig = " << itrig <<
endmsg;
236 for (
int i=0; i<nsamp; i++) {
237 if(jc==0) log << MSG::DEBUG <<
" bin = " << i <<
" Shape factor =";
238 log << MSG::DEBUG << std::setw(8) << std::setprecision(4) << ttl1shape[i] <<
" ";
240 log << MSG::DEBUG <<
endmsg;
244 log << MSG::DEBUG <<
endmsg;
254void TileInfo::muRcvShape(
const int nsamp,
const int itrig,
const double phase,std::vector<double> &murcvshape)
const {
256 for (
int i=0; i<nsamp; ++i) {
Helpers for checking error return status codes and reporting errors.
StatusCode initialize()
Initialization of the TileInfo object.
const TileTBID * m_tileTBID
ServiceHandle< TileCablingSvc > m_tileCablingSvc
std::vector< double > m_MuRcvFullShape
std::vector< std::vector< std::vector< TMatrixD * > > > m_decoCovaria
IMessageSvc * msgSvc() const
Returns a handle to the MessageSvc.
TileWienerFilterWeights * m_WienerFilterWeights
std::vector< double > m_TTL1FullShape
const TMatrixD * DecoCovariance(int ros, int drawer, int hilo) const
Returns the decomposed covariance matrix.
double m_mbtsL1NoiseSigma
void muRcvShape(const int nsamp, const int itrig, const double phase, std::vector< double > &murcvshape) const
double m_thresholdRawChannel
const TileCablingService * m_cabling
double m_ttL1CosmicsThresh
double m_noiseScaleFactor[4]
scale factor from digital noise to Opt Filter noise for various opt filter algoritms 0 - reserved 1 -...
TilePulseShapes * m_pulseShapes
const TileHWID * m_tileHWID
const std::vector< double > & ttl1Shape() const
Return bunch-X TTL1 shape vector.
IMessageSvc * getMessageSvc(bool quiet=false)