|  | ATLAS Offline Software
    | 
 
 
 
#include <TileRawChNoiseCalibAlg.h>
|  | 
|  | TileRawChNoiseCalibAlg (const std::string &name, ISvcLocator *pSvcLocator) | 
|  | 
| virtual | ~TileRawChNoiseCalibAlg () | 
|  | 
| virtual StatusCode | initialize () override | 
|  | Only array initialization is done here All the helpers initialization is done at the first event.  More... 
 | 
|  | 
| virtual StatusCode | execute () override | 
|  | Main method.  More... 
 | 
|  | 
| virtual StatusCode | finalize () override | 
|  | The output ntuple is created in finalize method.  More... 
 | 
|  | 
| void | finalRawCh (int rctype) | 
|  | finalDigits is called during finalize Here the average Ped, lfn, hfn and covariance are calculated.  More... 
 | 
|  | 
| virtual StatusCode | sysInitialize () override | 
|  | Override sysInitialize.  More... 
 | 
|  | 
| virtual const DataObjIDColl & | extraOutputDeps () const override | 
|  | Return the list of extra output dependencies.  More... 
 | 
|  | 
| ServiceHandle< StoreGateSvc > & | evtStore () | 
|  | The standard StoreGateSvc(event store) Returns (kind of) a pointer to theStoreGateSvc.  More...
 | 
|  | 
| const ServiceHandle< StoreGateSvc > & | evtStore () const | 
|  | The standard StoreGateSvc(event store) Returns (kind of) a pointer to theStoreGateSvc.  More...
 | 
|  | 
| const ServiceHandle< StoreGateSvc > & | detStore () const | 
|  | The standard StoreGateSvc/DetectorStoreReturns (kind of) a pointer to theStoreGateSvc.  More...
 | 
|  | 
| virtual StatusCode | sysStart () override | 
|  | Handle START transition.  More... 
 | 
|  | 
| virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override | 
|  | Return this algorithm's input handles.  More... 
 | 
|  | 
| virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override | 
|  | Return this algorithm's output handles.  More... 
 | 
|  | 
| Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T, V, H > &t) | 
|  | 
| Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) | 
|  | Declare a new Gaudi property.  More... 
 | 
|  | 
| Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) | 
|  | Declare a new Gaudi property.  More... 
 | 
|  | 
| Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) | 
|  | 
| Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) | 
|  | Declare a new Gaudi property.  More... 
 | 
|  | 
| Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") | 
|  | Declare a new Gaudi property.  More... 
 | 
|  | 
| void | updateVHKA (Gaudi::Details::PropertyBase &) | 
|  | 
| MsgStream & | msg () const | 
|  | 
| MsgStream & | msg (const MSG::Level lvl) const | 
|  | 
| bool | msgLvl (const MSG::Level lvl) const | 
|  | 
|  | 
| enum | RCtype { Fit = 0, 
Fixed = 1, 
Opt = 2, 
Dsp = 3,
 OF1 = 4, 
MF = 5, 
RCnum = 6
 }
 | 
|  | 
| enum | trigtype { Unknown = 0, 
Phys = 1, 
Las = 2, 
Ped = 4,
 Cis = 8
 }
 | 
|  | 
| enum | CELL_CHANNEL { OUTER_MBTS_CHANNEL = 4, 
SPECIAL_C10_CHANNEL = 5, 
E1_CHANNEL = 12
 } | 
|  | 
| using | Tile = TileCalibUtils | 
|  | 
| typedef ServiceHandle< StoreGateSvc > | StoreGateSvc_t | 
|  | 
|  | 
| StatusCode | FirstEvt_initialize () | 
|  | Initialization done at the first event.  More... 
 | 
|  | 
| StatusCode | fillRawChannels (const TileDQstatus *dqStatus, const SG::ReadHandleKey< TileRawChannelContainer > &rawChannelContainerKey, RCtype rctype) | 
|  | 
| void | StoreRunInfo (const TileDQstatus *dqStatus) | 
|  | StoreRunInfo is called only during the first event.  More... 
 | 
|  | 
| void | fillCell (TileRawChannelUnit::UNIT RChUnit, const TileRawChannel *rch) | 
|  | 
| void | fillCellHist () | 
|  | fillCellHist is called during execute It fill the HGHG and LGLG combination of the cell energies  More... 
 | 
|  | 
| void | finalCell () | 
|  | finalCell is called during finalize Here the cell variables of the ntuple are filled.  More... 
 | 
|  | 
| void | deleteHist () | 
|  | deleteHist is called at finalize to ensure that no histogram goes into any output root file delete [] didn't work properly  More... 
 | 
|  | 
| int | digiChannel2PMT (int ros, int chan) | 
|  | 
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) | 
|  | specialization for handling Gaudi::Property<SG::VarHandleKey>  More... 
 | 
|  | 
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyArrayType &) | 
|  | specialization for handling Gaudi::Property<SG::VarHandleKeyArray>  More... 
 | 
|  | 
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleType &) | 
|  | specialization for handling Gaudi::Property<SG::VarHandleBase>  More... 
 | 
|  | 
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &t, const SG::NotHandleType &) | 
|  | specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>  More... 
 | 
|  | 
|  | 
| static void | doFit (TH1F *h, float *gp, bool invert=true) | 
|  | doFit performs the double gaussian fit of the amplitude  More... 
 | 
|  | 
Definition at line 47 of file TileRawChNoiseCalibAlg.h.
 
◆ StoreGateSvc_t
◆ Tile
◆ CELL_CHANNEL
◆ RCtype
◆ trigtype
◆ TileRawChNoiseCalibAlg()
      
        
          | TileRawChNoiseCalibAlg::TileRawChNoiseCalibAlg | ( | const std::string & | name, | 
        
          |  |  | ISvcLocator * | pSvcLocator | 
        
          |  | ) |  |  | 
      
 
 
◆ ~TileRawChNoiseCalibAlg()
  
  | 
        
          | TileRawChNoiseCalibAlg::~TileRawChNoiseCalibAlg | ( |  | ) |  |  | virtual | 
 
 
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray> 
Definition at line 170 of file AthCommonDataStore.h.
  175                                                        hndl.documentation());
 
 
 
 
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey> 
Definition at line 156 of file AthCommonDataStore.h.
  161                                                        hndl.documentation());
 
 
 
 
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase> 
Definition at line 184 of file AthCommonDataStore.h.
  189                                                        hndl.documentation());
 
 
 
 
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property. 
- Parameters
- 
  
    | name | Name of the property. |  | hndl | Object holding the property value. |  | doc | Documentation string for the property. |  
 
This is the version for types that derive from SG::VarHandleBase. The property value object is put on the input and output lists as appropriate; then we forward to the base class. 
Definition at line 245 of file AthCommonDataStore.h.
  250     this->declare(hndl.
vhKey());
 
  251     hndl.
vhKey().setOwner(
this);
 
  253     return PBASE::declareProperty(
name,hndl,
doc);
 
 
 
 
◆ declareProperty() [2/6]
Declare a new Gaudi property. 
- Parameters
- 
  
    | name | Name of the property. |  | hndl | Object holding the property value. |  | doc | Documentation string for the property. |  
 
This is the version for types that derive from SG::VarHandleKey. The property value object is put on the input and output lists as appropriate; then we forward to the base class. 
Definition at line 221 of file AthCommonDataStore.h.
  229     return PBASE::declareProperty(
name,hndl,
doc);
 
 
 
 
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property. 
- Parameters
- 
  
    | name | Name of the property. |  | property | Object holding the property value. |  | doc | Documentation string for the property. |  
 
This is the generic version, for types that do not derive from SG::VarHandleKey. It just forwards to the base class version of declareProperty. 
Definition at line 333 of file AthCommonDataStore.h.
  338     return PBASE::declareProperty(
name, property, 
doc);
 
 
 
 
◆ declareProperty() [5/6]
Declare a new Gaudi property. 
- Parameters
- 
  
    | name | Name of the property. |  | property | Object holding the property value. |  | doc | Documentation string for the property. |  
 
This dispatches to either the generic declareProperty or the one for VarHandle/Key/KeyArray. 
Definition at line 352 of file AthCommonDataStore.h.
 
 
◆ declareProperty() [6/6]
◆ deleteHist()
  
  | 
        
          | void TileRawChNoiseCalibAlg::deleteHist | ( |  | ) |  |  | private | 
 
deleteHist is called at finalize to ensure that no histogram goes into any output root file delete [] didn't work properly 
Definition at line 1117 of file TileRawChNoiseCalibAlg.cxx.
 1136         for (
int tower = 0; tower < 17; ++tower) {
 
 1137           for (
int gg = 0; gg < 6; gg++) {
 
 
 
 
◆ detStore()
◆ digiChannel2PMT()
  
  | 
        
          | int TileRawChNoiseCalibAlg::digiChannel2PMT | ( | int | ros, |  
          |  |  | int | chan |  
          |  | ) |  |  |  | inlineprivate | 
 
 
◆ doFit()
  
  | 
        
          | void TileRawChNoiseCalibAlg::doFit | ( | TH1F * | h, |  
          |  |  | float * | gp, |  
          |  |  | bool | invert = true |  
          |  | ) |  |  |  | staticprivate | 
 
doFit performs the double gaussian fit of the amplitude 
Definition at line 992 of file TileRawChNoiseCalibAlg.cxx.
  996   float xmin = 
h->GetBinCenter(1);
 
  997   float xmax = 
h->GetBinCenter(
h->GetNbinsX());
 
  998   TF1* total = 
new TF1(
"total", 
"gaus(0)+gaus(3)", 
xmin, 
xmax);
 
  999   total->SetLineColor(2);
 
 1002   float rms = 
h->GetRMS();
 
 1003   float bin = 
h->GetBinWidth(0);
 
 1013   total->SetParameters(
par);
 
 1015   float lim1 = 
bin / 2.;
 
 1020   if (lim1 < 0.5) limN1 /= (2. * lim1); 
 
 1022   if (lim2 < 0.5) limN2 /= (2. * lim2); 
 
 1024   total->SetParLimits(0, 0., limN1);
 
 1025   total->FixParameter(1, 0.);
 
 1026   total->SetParLimits(2, lim1, lim2);
 
 1027   total->SetParLimits(3, 0., limN2);
 
 1028   total->FixParameter(4, 0.);
 
 1029   total->SetParLimits(5, lim2, lim3);
 
 1031   TFitResultPtr resfit = 
h->Fit(total, 
"BLQRS");
 
 1033   float par0 = total->GetParameter(0);
 
 1034   float par3 = total->GetParameter(3);
 
 1036   float sigma1 = total->GetParameter(2); 
 
 1037   float sigma2 = total->GetParameter(5); 
 
 1040   float errpar0 = total->GetParError(0);
 
 1041   float errpar3 = total->GetParError(3);
 
 1043   float errsigma1 = total->GetParError(2);
 
 1044   float errsigma2 = total->GetParError(5);
 
 1046   float norm = par3 / par0; 
 
 1048   if (invert && 
norm > 1.) {  
 
 1055     gp[5] = sqrt((errpar0 * errpar0) + (errpar3 * errpar3) * (par0 * par0) / (par3 * par3)) / par3;
 
 1065     gp[5] = sqrt((errpar3 * errpar3) + (errpar0 * errpar0) * (par3 * par3) / (par0 * par0)) / par0;
 
 1070   if (total->GetNDF() > 0) {
 
 1071     gp[3] = total->GetChisquare() / total->GetNDF(); 
 
 1077   TMatrixDSym corr = resfit->GetCorrelationMatrix();
 
 
 
 
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ execute()
  
  | 
        
          | StatusCode TileRawChNoiseCalibAlg::execute | ( |  | ) |  |  | overridevirtual | 
 
Main method. 
Definition at line 316 of file TileRawChNoiseCalibAlg.cxx.
  318   const EventContext& ctx = Gaudi::Hive::currentContext();
 
  327     bool calibMode  = (dqStatus->
calibMode() == 1);
 
  355   return StatusCode::SUCCESS;
 
 
 
 
◆ extraDeps_update_handler()
Add StoreName to extra input/output deps as needed. 
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given 
 
 
◆ extraOutputDeps()
  
  | 
        
          | const DataObjIDColl & AthAlgorithm::extraOutputDeps | ( |  | ) | const |  | overridevirtualinherited | 
 
Return the list of extra output dependencies. 
This list is extended to include symlinks implied by inheritance relations. 
Definition at line 50 of file AthAlgorithm.cxx.
   57   return Algorithm::extraOutputDeps();
 
 
 
 
◆ fillCell()
Definition at line 863 of file TileRawChNoiseCalibAlg.cxx.
  877                        << 
" in fillCell() because channel is bad in DB." );
 
  919           if (TMath::Abs(amp) > 1.
e-5) {
 
  937     if (TMath::Abs(amp) > 1.
e-5) {
 
 
 
 
◆ fillCellHist()
  
  | 
        
          | void TileRawChNoiseCalibAlg::fillCellHist | ( |  | ) |  |  | private | 
 
fillCellHist is called during execute It fill the HGHG and LGLG combination of the cell energies 
Definition at line 1087 of file TileRawChNoiseCalibAlg.cxx.
 1093         for (
int tower = 0; tower < 17; ++tower) {
 
 1099             if (TMath::Abs(ene) > 1.
e-5) {
 
 
 
 
◆ fillRawChannels()
Definition at line 711 of file TileRawChNoiseCalibAlg.cxx.
  721     return StatusCode::FAILURE;
 
  729   for (; collItr != lastColl; ++collItr) {
 
  734     for (; chItr != lastCh; ++chItr) {
 
  751                            << 
" ADC: " << 
gain << 
" due to DQ error found." );
 
  759                            << 
" channel: " << 
channel << 
" due to DQ error found."  );
 
  791   return StatusCode::SUCCESS;
 
 
 
 
◆ finalCell()
  
  | 
        
          | void TileRawChNoiseCalibAlg::finalCell | ( |  | ) |  |  | private | 
 
finalCell is called during finalize Here the cell variables of the ntuple are filled. 
Definition at line 948 of file TileRawChNoiseCalibAlg.cxx.
  955         for (
int tower = 0; tower < 17; ++tower) {
 
  956           for (
int gg = 0; gg < 6; ++gg) {
 
 
 
 
◆ finalize()
  
  | 
        
          | StatusCode TileRawChNoiseCalibAlg::finalize | ( |  | ) |  |  | overridevirtual | 
 
The output ntuple is created in finalize method. 
Definition at line 360 of file TileRawChNoiseCalibAlg.cxx.
  387   std::ostringstream sStr;
 
  388   std::string trig_str;
 
  399   sStr << 
m_file << 
"_" << 
m_run  << 
"_" << trig_str << 
".root";
 
  405   TFile* 
fout = 
new TFile(
m_file.c_str(), 
"recreate");
 
  408   TTree* 
t = 
new TTree(
m_ntupleID.c_str(), 
"Tile_RC_NoiseCalib-Ntuple");
 
  410   t->Branch(
"RunNumber", &
m_run, 
"RunNumber/I");
 
  412   t->Branch(
"Time", &
m_time, 
"Time/I");
 
  413   t->Branch(
"Year", &
m_year, 
"Year/I");
 
  414   t->Branch(
"Month", &
m_month, 
"Month/I");
 
  415   t->Branch(
"Day", &
m_day, 
"Day/I");
 
  416   t->Branch(
"YDay", &
m_yday, 
"YDay/I");
 
  417   t->Branch(
"Hour", &
m_hour, 
"Hour/I");
 
  418   t->Branch(
"Min", &
m_min, 
"Min/I"); 
 
  419   t->Branch(
"nEvt", &
m_evtNr, 
"nEvt/I"); 
 
  420   t->Branch(
"EvtNr", &
m_evtNr, 
"EvtNr/I");
 
  421   t->Branch(
"EvtGood", *
m_evt, 
"Evt[5][64][48][2]/I"); 
 
  424   t->Branch(
"ros", *
m_ros, 
"ros[5][64][48][2]/b");
 
  425   t->Branch(
"drawer", *
m_drawer, 
"drawer[5][64][48][2]/b");
 
  426   t->Branch(
"channel", *
m_channel, 
"channel[5][64][48][2]/b");
 
  427   t->Branch(
"gain", *
m_gain, 
"gain[5][64][48][2]/O");
 
  429   t->Branch(
"efit_mean",*(
m_rc_mean[
Fit]),
"efit_mean[5][64][48][2]/F");
 
  430   t->Branch(
"efit_av",*(
m_rc_av[
Fit]),
"efit_av[5][64][48][2]/F");
 
  431   t->Branch(
"efit_rms",*(
m_rc_rms[
Fit]),
"efit_rms[5][64][48][2]/F");
 
  432   t->Branch(
"efit_sigma",*(
m_rc_sigma[
Fit]),
"efit_sigma[5][64][48][2]/F");
 
  433   t->Branch(
"efit_mean_err",*(
m_rc_mean_err[
Fit]),
"efit_mean_err[5][64][48][2]/F");
 
  435   t->Branch(
"efit_kurtosis",*(
m_rc_kurtosis[
Fit]),
"efit_kurtosis[5][64][48][2]/F");
 
  436   t->Branch(
"efit_skewness",*(
m_rc_skewness[
Fit]),
"efit_skewness[5][64][48][2]/F");
 
  437   t->Branch(
"efit_chi2",*(
m_rc_chi2[
Fit]),
"efit_chi2[5][64][48][2]/F");
 
  438   t->Branch(
"efit_ndf",*(
m_rc_ndf[
Fit]),
"efit_ndf[5][64][48][2]/F");
 
  439   t->Branch(
"efit_probC2",*(
m_rc_probC2[
Fit]),
"efit_probC2[5][64][48][2]/F");
 
  441   t->Branch(
"efit_gsigma1",*(
m_rc_gsigma1[
Fit]),
"efit_gsigma1[5][64][48][2]/F");
 
  442   t->Branch(
"efit_gsigma2",*(
m_rc_gsigma2[
Fit]),
"efit_gsigma2[5][64][48][2]/F");
 
  443   t->Branch(
"efit_gnorm",*(
m_rc_gnorm[
Fit]),
"efit_gnorm[5][64][48][2]/F");
 
  444   t->Branch(
"efit_gchi2",*(
m_rc_gchi2[
Fit]),
"efit_gchi2[5][64][48][2]/F");
 
  446   t->Branch(
"efit_gerrnorm",*(
m_rc_gerrnorm[
Fit]),
"efit_gerrnorm[5][64][48][2]/F");
 
  451   t->Branch(
"efixed_mean",*(
m_rc_mean[
Fixed]),
"efixed_mean[5][64][48][2]/F");
 
  452   t->Branch(
"efixed_av",*(
m_rc_av[
Fixed]),
"efixed_av[5][64][48][2]/F");
 
  453   t->Branch(
"efixed_rms",*(
m_rc_rms[
Fixed]),
"efixed_rms[5][64][48][2]/F");
 
  454   t->Branch(
"efixed_sigma",*(
m_rc_sigma[
Fixed]),
"efixed_sigma[5][64][48][2]/F");
 
  459   t->Branch(
"efixed_chi2",*(
m_rc_chi2[
Fixed]),
"efixed_chi2[5][64][48][2]/F");
 
  460   t->Branch(
"efixed_ndf",*(
m_rc_ndf[
Fixed]),
"efixed_ndf[5][64][48][2]/F");
 
  461   t->Branch(
"efixed_probC2",*(
m_rc_probC2[
Fixed]),
"efixed_probC2[5][64][48][2]/F");
 
  465   t->Branch(
"efixed_gnorm",*(
m_rc_gnorm[
Fixed]),
"efixed_gnorm[5][64][48][2]/F");
 
  466   t->Branch(
"efixed_gchi2",*(
m_rc_gchi2[
Fixed]),
"efixed_gchi2[5][64][48][2]/F");
 
  473   t->Branch(
"eopt_mean",*(
m_rc_mean[
Opt]),
"eopt_mean[5][64][48][2]/F");
 
  474   t->Branch(
"eopt_av",*(
m_rc_av[
Opt]),
"eopt_av[5][64][48][2]/F");
 
  475   t->Branch(
"eopt_rms",*(
m_rc_rms[
Opt]),
"eopt_rms[5][64][48][2]/F");
 
  476   t->Branch(
"eopt_sigma",*(
m_rc_sigma[
Opt]),
"eopt_sigma[5][64][48][2]/F");
 
  477   t->Branch(
"eopt_mean_err",*(
m_rc_mean_err[
Opt]),
"eopt_mean_err[5][64][48][2]/F");
 
  479   t->Branch(
"eopt_kurtosis",*(
m_rc_kurtosis[
Opt]),
"eopt_kurtosis[5][64][48][2]/F");
 
  480   t->Branch(
"eopt_skewness",*(
m_rc_skewness[
Opt]),
"eopt_skewness[5][64][48][2]/F");
 
  481   t->Branch(
"eopt_chi2",*(
m_rc_chi2[
Opt]),
"eopt_chi2[5][64][48][2]/F");
 
  482   t->Branch(
"eopt_ndf",*(
m_rc_ndf[
Opt]),
"eopt_ndf[5][64][48][2]/F");
 
  483   t->Branch(
"eopt_probC2",*(
m_rc_probC2[
Opt]),
"eopt_probC2[5][64][48][2]/F");
 
  485   t->Branch(
"eopt_gsigma1",*(
m_rc_gsigma1[
Opt]),
"eopt_gsigma1[5][64][48][2]/F");
 
  486   t->Branch(
"eopt_gsigma2",*(
m_rc_gsigma2[
Opt]),
"eopt_gsigma2[5][64][48][2]/F");
 
  487   t->Branch(
"eopt_gnorm",*(
m_rc_gnorm[
Opt]),
"eopt_gnorm[5][64][48][2]/F");
 
  488   t->Branch(
"eopt_gchi2",*(
m_rc_gchi2[
Opt]),
"eopt_gchi2[5][64][48][2]/F");
 
  490   t->Branch(
"eopt_gerrnorm",*(
m_rc_gerrnorm[
Opt]),
"eopt_gerrnorm[5][64][48][2]/F");
 
  495   t->Branch(
"edsp_mean",*(
m_rc_mean[
Dsp]),
"edsp_mean[5][64][48][2]/F");
 
  496   t->Branch(
"edsp_av",*(
m_rc_av[
Dsp]),
"edsp_av[5][64][48][2]/F");
 
  497   t->Branch(
"edsp_rms",*(
m_rc_rms[
Dsp]),
"edsp_rms[5][64][48][2]/F");
 
  498   t->Branch(
"edsp_sigma",*(
m_rc_sigma[
Dsp]),
"edsp_sigma[5][64][48][2]/F");
 
  499   t->Branch(
"edsp_mean_err",*(
m_rc_mean_err[
Dsp]),
"edsp_mean_err[5][64][48][2]/F");
 
  501   t->Branch(
"edsp_kurtosis",*(
m_rc_kurtosis[
Dsp]),
"edsp_kurtosis[5][64][48][2]/F");
 
  502   t->Branch(
"edsp_skewness",*(
m_rc_skewness[
Dsp]),
"edsp_skewness[5][64][48][2]/F");
 
  503   t->Branch(
"edsp_chi2",*(
m_rc_chi2[
Dsp]),
"edsp_chi2[5][64][48][2]/F");
 
  504   t->Branch(
"edsp_ndf",*(
m_rc_ndf[
Dsp]),
"edsp_ndf[5][64][48][2]/F");
 
  505   t->Branch(
"edsp_probC2",*(
m_rc_probC2[
Dsp]),
"edsp_probC2[5][64][48][2]/F");
 
  507   t->Branch(
"edsp_gsigma1",*(
m_rc_gsigma1[
Dsp]),
"edsp_gsigma1[5][64][48][2]/F");
 
  508   t->Branch(
"edsp_gsigma2",*(
m_rc_gsigma2[
Dsp]),
"edsp_gsigma2[5][64][48][2]/F");
 
  509   t->Branch(
"edsp_gnorm",*(
m_rc_gnorm[
Dsp]),
"edsp_gnorm[5][64][48][2]/F");
 
  510   t->Branch(
"edsp_gchi2",*(
m_rc_gchi2[
Dsp]),
"edsp_gchi2[5][64][48][2]/F");
 
  512   t->Branch(
"edsp_gerrnorm",*(
m_rc_gerrnorm[
Dsp]),
"edsp_gerrnorm[5][64][48][2]/F");
 
  517   t->Branch(
"eOF1_mean",*(
m_rc_mean[
OF1]),
"eOF1_mean[5][64][48][2]/F");
 
  518   t->Branch(
"eOF1_av",*(
m_rc_av[
OF1]),
"eOF1_av[5][64][48][2]/F");
 
  519   t->Branch(
"eOF1_rms",*(
m_rc_rms[
OF1]),
"eOF1_rms[5][64][48][2]/F");
 
  520   t->Branch(
"eOF1_sigma",*(
m_rc_sigma[
OF1]),
"eOF1_sigma[5][64][48][2]/F");
 
  521   t->Branch(
"eOF1_mean_err",*(
m_rc_mean_err[
OF1]),
"eOF1_mean_err[5][64][48][2]/F");
 
  523   t->Branch(
"eOF1_kurtosis",*(
m_rc_kurtosis[
OF1]),
"eOF1_kurtosis[5][64][48][2]/F");
 
  524   t->Branch(
"eOF1_skewness",*(
m_rc_skewness[
OF1]),
"eOF1_skewness[5][64][48][2]/F");
 
  525   t->Branch(
"eOF1_chi2",*(
m_rc_chi2[
OF1]),
"eOF1_chi2[5][64][48][2]/F");
 
  526   t->Branch(
"eOF1_ndf",*(
m_rc_ndf[
OF1]),
"eOF1_ndf[5][64][48][2]/F");
 
  527   t->Branch(
"eOF1_probC2",*(
m_rc_probC2[
OF1]),
"eOF1_probC2[5][64][48][2]/F");
 
  529   t->Branch(
"eOF1_gsigma1",*(
m_rc_gsigma1[
OF1]),
"eOF1_gsigma1[5][64][48][2]/F");
 
  530   t->Branch(
"eOF1_gsigma2",*(
m_rc_gsigma2[
OF1]),
"eOF1_gsigma2[5][64][48][2]/F");
 
  531   t->Branch(
"eOF1_gnorm",*(
m_rc_gnorm[
OF1]),
"eOF1_gnorm[5][64][48][2]/F");
 
  532   t->Branch(
"eOF1_gchi2",*(
m_rc_gchi2[
OF1]),
"eOF1_gchi2[5][64][48][2]/F");
 
  534   t->Branch(
"eOF1_gerrnorm",*(
m_rc_gerrnorm[
OF1]),
"eOF1_gerrnorm[5][64][48][2]/F");
 
  539   t->Branch(
"eMF_mean",*(
m_rc_mean[
MF]),
"eMF_mean[5][64][48][2]/F");
 
  540   t->Branch(
"eMF_av",*(
m_rc_av[
MF]),
"eMF_av[5][64][48][2]/F");
 
  541   t->Branch(
"eMF_rms",*(
m_rc_rms[
MF]),
"eMF_rms[5][64][48][2]/F");
 
  542   t->Branch(
"eMF_sigma",*(
m_rc_sigma[
MF]),
"eMF_sigma[5][64][48][2]/F");
 
  543   t->Branch(
"eMF_mean_err",*(
m_rc_mean_err[
MF]),
"eMF_mean_err[5][64][48][2]/F");
 
  544   t->Branch(
"eMF_sigma_err",*(
m_rc_sigma_err[
MF]),
"eMF_sigma_err[5][64][48][2]/F");
 
  545   t->Branch(
"eMF_kurtosis",*(
m_rc_kurtosis[
MF]),
"eMF_kurtosis[5][64][48][2]/F");
 
  546   t->Branch(
"eMF_skewness",*(
m_rc_skewness[
MF]),
"eMF_skewness[5][64][48][2]/F");
 
  547   t->Branch(
"eMF_chi2",*(
m_rc_chi2[
MF]),
"eMF_chi2[5][64][48][2]/F");
 
  548   t->Branch(
"eMF_ndf",*(
m_rc_ndf[
MF]),
"eMF_ndf[5][64][48][2]/F");
 
  549   t->Branch(
"eMF_probC2",*(
m_rc_probC2[
MF]),
"eMF_probC2[5][64][48][2]/F");
 
  551   t->Branch(
"eMF_gsigma1",*(
m_rc_gsigma1[
MF]),
"eMF_gsigma1[5][64][48][2]/F");
 
  552   t->Branch(
"eMF_gsigma2",*(
m_rc_gsigma2[
MF]),
"eMF_gsigma2[5][64][48][2]/F");
 
  553   t->Branch(
"eMF_gnorm",*(
m_rc_gnorm[
MF]),
"eMF_gnorm[5][64][48][2]/F");
 
  554   t->Branch(
"eMF_gchi2",*(
m_rc_gchi2[
MF]),
"eMF_gchi2[5][64][48][2]/F");
 
  556   t->Branch(
"eMF_gerrnorm",*(
m_rc_gerrnorm[
MF]),
"eMF_gerrnorm[5][64][48][2]/F");
 
  561   t->Branch(
"ecell_av",*(
m_ecell_av),
"ecell_av[2][64][4][17][6]/F");
 
  562   t->Branch(
"ecell_rms",*(
m_ecell_rms),
"ecell_rms[2][64][4][17][6]/F");
 
  563   t->Branch(
"ecell_hash",*(
m_ecell_hash),
"ecell_hash[2][64][4][17]/i");
 
  564   t->Branch(
"ecell_gsigma1",*(
m_gsigma1),
"ecell_gsigma1[2][64][4][17][6]/F");
 
  565   t->Branch(
"ecell_gsigma2",*(
m_gsigma2),
"ecell_gsigma2[2][64][4][17][6]/F");
 
  566   t->Branch(
"ecell_gnorm",*(
m_gnorm),
"ecell_gnorm[2][64][4][17][6]/F");
 
  567   t->Branch(
"ecell_gchi2",*(
m_gchi2),
"ecell_gchi2[2][64][4][17][6]/F");
 
  568   t->Branch(
"ecell_gerrsigma1",*(
m_gerrsigma1),
"ecell_gerrsigma1[2][64][4][17][6]/F");
 
  569   t->Branch(
"ecell_gerrnorm",*(
m_gerrnorm),
"ecell_gerrnorm[2][64][4][17][6]/F");
 
  570   t->Branch(
"ecell_gerrsigma2",*(
m_gerrsigma2),
"ecell_gerrsigma2[2][64][4][17][6]/F");  
 
  571   t->Branch(
"ecell_gcorrsigma1sigma2",*(
m_gcorrsigma1sigma2),
"ecell_gcorrsigma1sigma2[2][64][4][17][6]/F");
 
  574   t->Branch(
"side", *
m_side, 
"side[2][64][4][17][6]/O");
 
  575   t->Branch(
"phi", *
m_phi, 
"phi[2][64][4][17][6]/b");
 
  576   t->Branch(
"sample", *
m_sample, 
"sample[2][64][4][17][6]/b");
 
  577   t->Branch(
"tower", *
m_tower, 
"tower[2][64][4][17][6]/b");
 
  578   t->Branch(
"gaingain", *
m_gg, 
"gaingain[2][64][4][17][6]/b");
 
  611           for (
int tower = 0; tower < 
NTOWERS; ++tower) {
 
  626   return StatusCode::SUCCESS;
 
 
 
 
◆ finalRawCh()
      
        
          | void TileRawChNoiseCalibAlg::finalRawCh | ( | int | rctype | ) |  | 
      
 
finalDigits is called during finalize Here the average Ped, lfn, hfn and covariance are calculated. 
Definition at line 797 of file TileRawChNoiseCalibAlg.cxx.
  800   TF1 * fit_gaus = 
new TF1(
"g", 
"gaus");
 
 
 
 
◆ FirstEvt_initialize()
  
  | 
        
          | StatusCode TileRawChNoiseCalibAlg::FirstEvt_initialize | ( |  | ) |  |  | private | 
 
Initialization done at the first event. 
All the helpers and data dependent variables are initialized here 
Definition at line 272 of file TileRawChNoiseCalibAlg.cxx.
  292       if (cnvSvc.retrieve().isFailure()) {
 
  301           ATH_MSG_ERROR( 
" Can't get TileBeamElemContByteStreamCnv " );
 
  311   return StatusCode::SUCCESS;
 
 
 
 
◆ initialize()
  
  | 
        
          | StatusCode TileRawChNoiseCalibAlg::initialize | ( |  | ) |  |  | overridevirtual | 
 
Only array initialization is done here All the helpers initialization is done at the first event. 
Definition at line 197 of file TileRawChNoiseCalibAlg.cxx.
  200   float binwidth[2] = { 0.125, 0.25 }; 
 
  203   std::ostringstream sStr;
 
  212             sStr << 
"Amplitudes_RC_" << 
rc << 
"_Part_" << 
ros << 
"_Drawer_" << 
drawer << 
"_Ch_" << 
ch << 
"_Gain_" << 
g;
 
  224   float cellbin[2] = { 80., 2.5 }; 
 
  230         for (
int tower = 0; tower < 
NTOWERS; tower++) {
 
  233             sStr << 
"CellAmplitude_Side_" << 
side << 
"_Drawer_" << 
drawer << 
"_Sample_" << 
sample << 
"_Tower_" << tower << 
"_Gains_" << gg;
 
  267   return StatusCode::SUCCESS;
 
 
 
 
◆ inputHandles()
Return this algorithm's input handles. 
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA. 
 
 
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ outputHandles()
Return this algorithm's output handles. 
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA. 
 
 
◆ renounce()
◆ renounceArray()
◆ StoreRunInfo()
StoreRunInfo is called only during the first event. 
Definition at line 630 of file TileRawChNoiseCalibAlg.cxx.
  640     ATH_MSG_WARNING(
"TileRawChNoiseCalibAlg::StoreRunInfo : dqStatus pointer is null");
 
  673     if ( !eventInfo.isValid() ) {
 
  674       ATH_MSG_ERROR( 
"No EventInfo object found! Can't read run number!" );
 
  679       m_run = eventInfo->runNumber();
 
  680       m_time = eventInfo->timeStamp();
 
  691     localtime_r(&t_time, &
t);
 
 
 
 
◆ sysInitialize()
  
  | 
        
          | StatusCode AthAlgorithm::sysInitialize | ( |  | ) |  |  | overridevirtualinherited | 
 
 
◆ sysStart()
Handle START transition. 
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container. 
 
 
◆ updateVHKA()
◆ m_beamCnv
◆ m_beamElemContainer
  
  | 
        
          | std::string TileRawChNoiseCalibAlg::m_beamElemContainer |  | private | 
 
 
◆ m_cabling
◆ m_calibMode
  
  | 
        
          | bool TileRawChNoiseCalibAlg::m_calibMode |  | private | 
 
 
◆ m_cell_nch
◆ m_channel
◆ m_cispar
  
  | 
        
          | const uint32_t* TileRawChNoiseCalibAlg::m_cispar |  | private | 
 
 
◆ m_day
  
  | 
        
          | int TileRawChNoiseCalibAlg::m_day |  | private | 
 
 
◆ m_detStore
◆ m_digitsContainer
  
  | 
        
          | std::string TileRawChNoiseCalibAlg::m_digitsContainer |  | private | 
 
 
◆ m_doDsp
  
  | 
        
          | bool TileRawChNoiseCalibAlg::m_doDsp |  | private | 
 
 
◆ m_doFit
  
  | 
        
          | bool TileRawChNoiseCalibAlg::m_doFit |  | private | 
 
 
◆ m_doFixed
  
  | 
        
          | bool TileRawChNoiseCalibAlg::m_doFixed |  | private | 
 
 
◆ m_doMF
  
  | 
        
          | bool TileRawChNoiseCalibAlg::m_doMF |  | private | 
 
 
◆ m_doOF1
  
  | 
        
          | bool TileRawChNoiseCalibAlg::m_doOF1 |  | private | 
 
 
◆ m_doOpt
  
  | 
        
          | bool TileRawChNoiseCalibAlg::m_doOpt |  | private | 
 
 
◆ m_dqStatusKey
◆ m_drawer
◆ m_dspRawChannelContainer
  
  | 
        
          | std::string TileRawChNoiseCalibAlg::m_dspRawChannelContainer |  | private | 
 
 
◆ m_ecell_av
◆ m_ecell_ene
◆ m_ecell_hash
◆ m_ecell_rms
◆ m_eventInfoKey
◆ m_evt
◆ m_evtNr
  
  | 
        
          | int TileRawChNoiseCalibAlg::m_evtNr |  | private | 
 
 
◆ m_evtStore
◆ m_extendedExtraObjects
  
  | 
        
          | DataObjIDColl AthAlgorithm::m_extendedExtraObjects |  | privateinherited | 
 
 
◆ m_file
  
  | 
        
          | std::string TileRawChNoiseCalibAlg::m_file |  | private | 
 
 
◆ m_fillidx
  
  | 
        
          | bool TileRawChNoiseCalibAlg::m_fillidx |  | private | 
 
 
◆ m_fitRawChannelContainer
  
  | 
        
          | std::string TileRawChNoiseCalibAlg::m_fitRawChannelContainer |  | private | 
 
 
◆ m_fixedRawChannelContainer
  
  | 
        
          | std::string TileRawChNoiseCalibAlg::m_fixedRawChannelContainer |  | private | 
 
 
◆ m_gain
◆ m_gchi2
◆ m_gcorrsigma1sigma2
◆ m_gerrnorm
◆ m_gerrsigma1
◆ m_gerrsigma2
◆ m_gg
◆ m_ggpar
◆ m_gnorm
◆ m_gsigma1
◆ m_gsigma2
◆ m_histAmp
◆ m_histCellAmp
◆ m_hour
  
  | 
        
          | int TileRawChNoiseCalibAlg::m_hour |  | private | 
 
 
◆ m_invertChanRatio
  
  | 
        
          | bool TileRawChNoiseCalibAlg::m_invertChanRatio |  | private | 
 
 
◆ m_maskBadChannels
  
  | 
        
          | bool TileRawChNoiseCalibAlg::m_maskBadChannels |  | private | 
 
 
◆ m_MFRawChannelContainer
  
  | 
        
          | std::string TileRawChNoiseCalibAlg::m_MFRawChannelContainer |  | private | 
 
 
◆ m_min
  
  | 
        
          | int TileRawChNoiseCalibAlg::m_min |  | private | 
 
 
◆ m_month
  
  | 
        
          | int TileRawChNoiseCalibAlg::m_month |  | private | 
 
 
◆ m_ntupleID
  
  | 
        
          | std::string TileRawChNoiseCalibAlg::m_ntupleID |  | private | 
 
 
◆ m_OF1RawChannelContainer
  
  | 
        
          | std::string TileRawChNoiseCalibAlg::m_OF1RawChannelContainer |  | private | 
 
 
◆ m_optRawChannelContainer
  
  | 
        
          | std::string TileRawChNoiseCalibAlg::m_optRawChannelContainer |  | private | 
 
 
◆ m_phi
◆ m_rawChannelContainerDspKey
Initial value:{this,
         "TileRawChannelContainerDsp", "TileRawChannelCnt", 
         "Input Tile raw channel container from DSP"}
Definition at line 140 of file TileRawChNoiseCalibAlg.h.
 
 
◆ m_rawChannelContainerFitKey
Initial value:{this,
         "TileRawChannelContainerFit", "TileRawChannelFit", 
         "Input Tile raw channel container reconstructed with Fit method"}
Definition at line 134 of file TileRawChNoiseCalibAlg.h.
 
 
◆ m_rawChannelContainerFixedKey
Initial value:{this,
         "TileRawChannelContainerFixed", "TileRawChannelFixed", 
         "Input Tile raw channel container reconstructed with ATLAS method"}
Definition at line 131 of file TileRawChNoiseCalibAlg.h.
 
 
◆ m_rawChannelContainerMFKey
Initial value:{this,
         "TileRawChannelContainerMF", "TileRawChannelMF", 
         "Input Tile raw channel container reconstructed with MF method"}
Definition at line 146 of file TileRawChNoiseCalibAlg.h.
 
 
◆ m_rawChannelContainerOF1Key
Initial value:{this,
         "TileRawChannelContainerOF1", "TileRawChannelOF1", 
         "Input Tile raw channel container reconstructed with OF1 method"}
Definition at line 143 of file TileRawChNoiseCalibAlg.h.
 
 
◆ m_rawChannelContainerOptKey
Initial value:{this,
         "TileRawChannelContainerOpt", "TileRawChannelOpt2", 
         "Input Tile raw channel container reconstructed with Opt method"}
Definition at line 137 of file TileRawChNoiseCalibAlg.h.
 
 
◆ m_rc_av
◆ m_rc_chi2
◆ m_rc_gchi2
◆ m_rc_gcorrsigma1sigma2
◆ m_rc_gerrnorm
◆ m_rc_gerrsigma1
◆ m_rc_gerrsigma2
◆ m_rc_ggpar
◆ m_rc_gnorm
◆ m_rc_gsigma1
◆ m_rc_gsigma2
◆ m_rc_kurtosis
◆ m_rc_mean
◆ m_rc_mean_err
◆ m_rc_ndf
◆ m_rc_probC2
◆ m_rc_rms
◆ m_rc_sigma
◆ m_rc_sigma_err
◆ m_rc_skewness
◆ m_ros
◆ m_run
  
  | 
        
          | int TileRawChNoiseCalibAlg::m_run |  | private | 
 
 
◆ m_sample
◆ m_saveHist
  
  | 
        
          | bool TileRawChNoiseCalibAlg::m_saveHist |  | private | 
 
 
◆ m_side
◆ m_tileBadChanTool
Initial value:{this,
      "TileBadChanTool", "TileBadChanTool", "Tile bad channel tool"}
Definition at line 122 of file TileRawChNoiseCalibAlg.h.
 
 
◆ m_tileHWID
◆ m_tileID
◆ m_tileIdTrans
Initial value:{this,
      "TileCondIdTransforms", "TileCondIdTransforms", "Tile Id transforms tool"}
Definition at line 125 of file TileRawChNoiseCalibAlg.h.
 
 
◆ m_tileToolEmscale
Initial value:{this,
      "TileCondToolEmscale", "TileCondToolEmscale", "Tile em scale tool"}
Definition at line 120 of file TileRawChNoiseCalibAlg.h.
 
 
◆ m_time
  
  | 
        
          | int TileRawChNoiseCalibAlg::m_time |  | private | 
 
 
◆ m_tower
◆ m_treeSize
  
  | 
        
          | int64_t TileRawChNoiseCalibAlg::m_treeSize |  | private | 
 
 
◆ m_trigType
  
  | 
        
          | int TileRawChNoiseCalibAlg::m_trigType |  | private | 
 
 
◆ m_UseforCells
  
  | 
        
          | int TileRawChNoiseCalibAlg::m_UseforCells |  | private | 
 
 
◆ m_usePMT
  
  | 
        
          | bool TileRawChNoiseCalibAlg::m_usePMT |  | private | 
 
 
◆ m_varHandleArraysDeclared
◆ m_vhka
◆ m_yday
  
  | 
        
          | int TileRawChNoiseCalibAlg::m_yday |  | private | 
 
 
◆ m_year
  
  | 
        
          | int TileRawChNoiseCalibAlg::m_year |  | private | 
 
 
◆ NCELLGAINS
  
  | 
        
          | constexpr int TileRawChNoiseCalibAlg::NCELLGAINS = 6 |  | staticconstexpr | 
 
 
◆ NPARS
  
  | 
        
          | constexpr int TileRawChNoiseCalibAlg::NPARS = 8 |  | staticconstexpr | 
 
 
◆ NSAMPLES
  
  | 
        
          | constexpr int TileRawChNoiseCalibAlg::NSAMPLES = 4 |  | staticconstexpr | 
 
 
◆ NSIDES
  
  | 
        
          | constexpr int TileRawChNoiseCalibAlg::NSIDES = 2 |  | staticconstexpr | 
 
 
◆ NTOWERS
  
  | 
        
          | constexpr int TileRawChNoiseCalibAlg::NTOWERS = 17 |  | staticconstexpr | 
 
 
The documentation for this class was generated from the following files:
 
bool validBeamFrag() const
def retrieve(aClass, aKey=None)
SG::ReadHandleKey< TileRawChannelContainer > m_rawChannelContainerDspKey
static constexpr int NSIDES
float(* m_rc_gsigma2)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
Const iterator class for DataVector/DataList.
float(* m_ecell_rms)[Tile::MAX_DRAWER][NSAMPLES][NTOWERS][NCELLGAINS]
float(* m_rc_av)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
float(* m_gerrsigma2)[Tile::MAX_DRAWER][NSAMPLES][NTOWERS][NCELLGAINS]
TH1F *(* m_histCellAmp)[Tile::MAX_DRAWER][NSAMPLES][NTOWERS][NCELLGAINS]
float(* m_gsigma2)[Tile::MAX_DRAWER][NSAMPLES][NTOWERS][NCELLGAINS]
std::string m_digitsContainer
void fillCellHist()
fillCellHist is called during execute It fill the HGHG and LGLG combination of the cell energies
float(* m_rc_sigma)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
static const TileCablingService * getInstance()
get pointer to service instance
bool isChanDQgood(int partition, int drawer, int ch) const
returns status of single channel (if bigain, returns AND of ADCs' status
float(* m_gcorrsigma1sigma2)[Tile::MAX_DRAWER][NSAMPLES][NTOWERS][NCELLGAINS]
std::string m_beamElemContainer
const uint32_t * m_cispar
void StoreRunInfo(const TileDQstatus *dqStatus)
StoreRunInfo is called only during the first event.
ToolHandle< ITileBadChanTool > m_tileBadChanTool
uint32_t calibMode() const
Calibration mode.
TileBeamElemContByteStreamCnv * m_beamCnv
@ IS_CALIBRATION
true: calibration, false: physics
int side(const Identifier &id) const
uint8_t(* m_drawer)[Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
static constexpr int NPARS
const eformat::ROBFragment< const uint32_t * > * robFragment() const
int sample(const Identifier &id) const
void deleteHist()
deleteHist is called at finalize to ensure that no histogram goes into any output root file delete []...
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool(* m_side)[Tile::MAX_DRAWER][NSAMPLES][NTOWERS][NCELLGAINS]
float(* m_gchi2)[Tile::MAX_DRAWER][NSAMPLES][NTOWERS][NCELLGAINS]
TGraphErrors * GetEntries(TH2F *histo)
float(* m_gerrsigma1)[Tile::MAX_DRAWER][NSAMPLES][NTOWERS][NCELLGAINS]
int tower(const Identifier &id) const
float(* m_rc_sigma_err)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
#define ATH_MSG_VERBOSE(x)
const std::string & key() const
Return the StoreGate ID for the referenced object.
float(* m_gsigma1)[Tile::MAX_DRAWER][NSAMPLES][NTOWERS][NCELLGAINS]
float(* m_rc_mean_err)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
HWIdentifier adc_HWID(void) const
SG::ReadHandleKey< TileRawChannelContainer > m_rawChannelContainerOF1Key
static int isChEmpty(int partition, int drawer, int ch)
True if channel is not fully implemented.
float(* m_rc_gchi2)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
void fillCell(TileRawChannelUnit::UNIT RChUnit, const TileRawChannel *rch)
int(* m_cell_nch)[Tile::MAX_DRAWER][NSAMPLES][NTOWERS][Tile::MAX_GAIN]
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
static const unsigned int MAX_DRAWER
Number of drawers in ROS 1-4.
static constexpr int NTOWERS
virtual void setOwner(IDataHandleHolder *o)=0
float(* m_ecell_av)[Tile::MAX_DRAWER][NSAMPLES][NTOWERS][NCELLGAINS]
float(* m_rc_gnorm)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
float(* m_rc_probC2)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Class that holds Data Quality fragment information and provides functions to extract the data quality...
bool isRun2PlusCabling() const
void finalRawCh(int rctype)
finalDigits is called during finalize Here the average Ped, lfn, hfn and covariance are calculated.
float amplitude(int ind=0) const
virtual StatusCode sysInitialize() override
Override sysInitialize.
SG::ReadHandleKey< TileRawChannelContainer > m_rawChannelContainerMFKey
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
msgSvc
Provide convenience handles for various services.
SG::ReadHandleKey< TileRawChannelContainer > m_rawChannelContainerOptKey
ToolHandle< TileCondIdTransforms > m_tileIdTrans
::StatusCode StatusCode
StatusCode definition for legacy code.
SG::ReadHandleKey< TileRawChannelContainer > m_rawChannelContainerFitKey
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
const TileCablingService * m_cabling
Default, invalid implementation of ClassID_traits.
SG::ReadHandleKey< TileRawChannelContainer > m_rawChannelContainerFixedKey
float(* m_rc_gerrsigma2)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
uint32_t(* m_ecell_hash)[Tile::MAX_DRAWER][NSAMPLES][NTOWERS]
float(* m_gnorm)[Tile::MAX_DRAWER][NSAMPLES][NTOWERS][NCELLGAINS]
#define CHECK(...)
Evaluate an expression and check for errors.
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
static const unsigned int MAX_ROS
Number of ROSs
float(* m_ggpar)[Tile::MAX_DRAWER][NSAMPLES][NTOWERS][NCELLGAINS][NPARS]
float(* m_gerrnorm)[Tile::MAX_DRAWER][NSAMPLES][NTOWERS][NCELLGAINS]
This AthConstConverter class provides conversion from ByteStream to TileBeamElemContainer.
float(* m_rc_gsigma1)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
bool isAdcDQgood(int partition, int drawer, int ch, int gain) const
returns status of single ADC returns False if there are any errors
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
void finalCell()
finalCell is called during finalize Here the cell variables of the ntuple are filled.
uint8_t(* m_sample)[Tile::MAX_DRAWER][NSAMPLES][NTOWERS][NCELLGAINS]
StatusCode fillRawChannels(const TileDQstatus *dqStatus, const SG::ReadHandleKey< TileRawChannelContainer > &rawChannelContainerKey, RCtype rctype)
const uint32_t * cispar() const
CIS parameters.
static constexpr int NCELLGAINS
TH1F *(* m_histAmp)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
ToolHandle< TileCondToolEmscale > m_tileToolEmscale
float(* m_rc_ndf)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
int(* m_evt)[Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
int digiChannel2PMT(int ros, int chan)
static std::string getDrawerString(unsigned int ros, unsigned int drawer)
Return the drawer name, e.g.
DataObjIDColl m_extendedExtraObjects
uint8_t(* m_phi)[Tile::MAX_DRAWER][NSAMPLES][NTOWERS][NCELLGAINS]
SG::ReadHandleKey< TileDQstatus > m_dqStatusKey
float(* m_ecell_ene)[Tile::MAX_DRAWER][NSAMPLES][NTOWERS][Tile::MAX_GAIN]
uint8_t(* m_tower)[Tile::MAX_DRAWER][NSAMPLES][NTOWERS][NCELLGAINS]
StatusCode FirstEvt_initialize()
Initialization done at the first event.
static bool C10_connected(int module)
Identifier cell_ID_index(int &index, int &pmt) const
bool empty() const noexcept
#define ATH_MSG_WARNING(x)
float(* m_rc_gcorrsigma1sigma2)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
static int channel2hole(int ros, int channel)
uint8_t(* m_gg)[Tile::MAX_DRAWER][NSAMPLES][NTOWERS][NCELLGAINS]
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
float(* m_rc_rms)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
static constexpr int NSAMPLES
bool(* m_gain)[Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
AthAlgorithm()
Default constructor:
static void doFit(TH1F *h, float *gp, bool invert=true)
doFit performs the double gaussian fit of the amplitude
def TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)
static unsigned int getDrawerIdx(unsigned int ros, unsigned int drawer)
Returns a drawer hash.
IdentifierHash cell_hash(const Identifier &cell_id) const
fast conversion from ID to hash for cells
const TileHWID * m_tileHWID
static const unsigned int MAX_CHAN
Number of channels in drawer.
float(* m_rc_kurtosis)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
float(* m_rc_ggpar)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN][NPARS]
float(* m_rc_chi2)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
uint8_t(* m_ros)[Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
float(* m_rc_mean)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
float(* m_rc_gerrnorm)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
float(* m_rc_skewness)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
int E1_merged_with_run2plus(int ros, int module) const
float(* m_rc_gerrsigma1)[Tile::MAX_ROS][Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]
static const unsigned int MAX_GAIN
Number of gains per channel
uint8_t(* m_channel)[Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN]