|
ATLAS Offline Software
|
Go to the documentation of this file.
7 #include "GaudiKernel/MsgStream.h"
8 #include "GaudiKernel/Service.h"
9 #include "GaudiKernel/IToolSvc.h"
10 #include "GaudiKernel/TypeNameString.h"
50 m_n_same_filt_evts(0),
53 declareInterface<ITileCalibTool>(
this );
208 return StatusCode::SUCCESS;
214 return StatusCode::SUCCESS;
233 const EventContext& ctx = Gaudi::Hive::currentContext();
243 ATH_MSG_INFO (
"Filter wheel turn completed: stop here" );
244 return StatusCode::SUCCESS;
247 ATH_MSG_DEBUG (
"Retrieving the LASER object and RawChannel" );
259 m_las_time =
static_cast<double>(cispar[10])+
static_cast<double>(cispar[11])/1000000;
269 return StatusCode::SUCCESS;
301 return StatusCode::SUCCESS;
311 for(
int i=0;
i<10; ++
i)
317 for(
int i=0;
i<10; ++
i){
322 for(
int i=0;
i<2; ++
i){
370 ATH_MSG_INFO (
"Filter wheel turn completed: stop here" );
371 return StatusCode::SUCCESS;
386 for(; itColl != itCollEnd; ++itColl)
391 for(;
it != (*itColl)->end(); ++
it)
402 float amp = (*it)->amplitude();
411 if ( amp <= 0.)
continue;
427 if (fabs(ampInPicoCoulombs-current_mean)>5*current_RMS)
429 ATH_MSG_VERBOSE (
"Rejecting an outlier. If there are a lot this means filter wheel will soon move again!" );
435 if (HG_diode[0] != 0)
441 if (LG_diode[0] != 0)
458 if (HG_diode[0] != 0)
464 if (LG_diode[0] != 0)
474 return StatusCode::SUCCESS;
581 return StatusCode::SUCCESS;
601 TTree *
t =
new TTree(
m_toolNtuple.c_str(),
"TileLaserCalib-Ntuple");
605 t->Branch(
"Humidity",&
m_hrate,
"humid/D");
606 t->Branch(
"AirFlow",&
m_flow,
"flow/D");
609 t->Branch(
"LG_PMT_Signal",
m_LG_PMT,
"LG_PMT1[8][2]/D");
610 t->Branch(
"LG_PMT_Sigma_Signal",
m_LG_PMT_S,
"LG_PMT1_s[8][2]/D");
611 t->Branch(
"HG_PMT_Signal",
m_HG_PMT,
"HG_PMT1[8][2]/D");
612 t->Branch(
"HG_PMT_Sigma_Signal",
m_HG_PMT_S,
"HG_PMT1_s[8][2]/D");
614 t->Branch(
"LG_Diode_Signal",
m_LG_diode,
"LG_diode[8][10]/D");
615 t->Branch(
"LG_Diode_Sigma_Signal",
m_LG_diode_S,
"LG_diode_s[8][10]/D");
616 t->Branch(
"HG_Diode_Signal",
m_HG_diode,
"HG_diode[8][10]/D");
617 t->Branch(
"HG_Diode_Sigma_Signal",
m_HG_diode_S,
"HG_diode_s[8][10]/D");
619 t->Branch(
"Signal",*
m_mean,
"signal[8][4][64][48][2]/D");
620 t->Branch(
"Sigma_Signal",*
m_mean_S,
"signal_s[8][4][64][48][2]/D");
621 t->Branch(
"LG_Ratio",*
m_LG_ratio,
"LG_signal_cor[8][4][64][48][2]/D");
622 t->Branch(
"LG_Sigma_Ratio",*
m_LG_ratio_S,
"LG_signal_cor_s[8][4][64][48][2]/D");
623 t->Branch(
"LG_Ratio2",*
m_LG_ratio2,
"LG_signal_cor2[8][4][64][48][2]/D");
624 t->Branch(
"LG_Sigma_Ratio2",*
m_LG_ratio2_S,
"LG_signal_cor2_s[8][4][64][48][2]/D");
625 t->Branch(
"HG_Ratio",*
m_HG_ratio,
"HG_signal_cor[8][4][64][48][2]/D");
626 t->Branch(
"HG_Sigma_Ratio",*
m_HG_ratio_S,
"HG_signal_cor_s[8][4][64][48][2]/D");
627 t->Branch(
"HG_Ratio2",*
m_HG_ratio2,
"HG_signal_cor2[8][4][64][48][2]/D");
628 t->Branch(
"HG_Sigma_Ratio2",*
m_HG_ratio2_S,
"HG_signal_cor2_s[8][4][64][48][2]/D");
629 t->Branch(
"Entries",*
m_entries,
"n_LASER_entries[8][4][64][48][2]/I");
636 return StatusCode::SUCCESS;
642 return StatusCode::SUCCESS;
def retrieve(aClass, aKey=None)
Const iterator class for DataVector/DataList.
static const TileCablingService * getInstance()
get pointer to service instance
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
double getPumpDiodeTemp() const
double getDiodeCurrOrd() const
#define ATH_MSG_VERBOSE(x)
int channel(const HWIdentifier &id) const
extract channel field from HW identifier
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
int getPMADC(const unsigned int j, const unsigned int gain=0) const
int ros(const HWIdentifier &id) const
extract ros field from HW identifier
int getFiltNumber() const
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
double getHumidity() const
Class that holds Data Quality fragment information and provides functions to extract the data quality...
int adc(const HWIdentifier &id) const
extract adc field from HW identifier
::StatusCode StatusCode
StatusCode definition for legacy code.
const_iterator end() const
return const_iterator for end of container
#define CHECK(...)
Evaluate an expression and check for errors.
const_iterator begin() const
return const_iterator for first entry
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
int NumDataValues() const
int getDiodeADC(const unsigned int i, const unsigned int gain=0) const
double getPMPedestal(const unsigned int j, const unsigned int gain=0) const
const uint32_t * cispar() const
CIS parameters.
double StandardDeviation() const
int drawer(const HWIdentifier &id) const
extract drawer field from HW identifier
#define ATH_MSG_WARNING(x)
double getDiodePedestal(const unsigned int i, const unsigned int gain=0) const
double getGasFlux() const
static unsigned int getDrawerIdx(unsigned int ros, unsigned int drawer)
Returns a drawer hash.
Handle class for reading from StoreGate.