ATLAS Offline Software
Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
LArDSPThresholdFillInline Class Reference

#include <LArDSPThresholdFillInline.h>

Inheritance diagram for LArDSPThresholdFillInline:
Collaboration diagram for LArDSPThresholdFillInline:

Public Member Functions

 LArDSPThresholdFillInline (const std::string &name, ISvcLocator *pSvcLocator)
 
virtual ~LArDSPThresholdFillInline ()
 
virtual StatusCode initialize () override
 
virtual StatusCode execute () override
 
virtual StatusCode stop () override
 
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 the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & evtStore () const
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. 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 > &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
 

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution More...
 
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
 
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed. More...
 

Private Types

enum  mode_t { FIXED, GROUP, NOISE }
 
typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

Private Attributes

SG::ReadCondHandleKey< LArOnOffIdMappingm_cablingKey {this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"}
 
SG::ReadCondHandleKey< CaloDetDescrManagerm_caloMgrKey {this,"CaloDetDescrManager","CaloDetDescrManager","SG Key for CaloDetDescrManager in the Condition Store" }
 
const LArOnlineIDm_onlineID
 
std::string m_nameOfSet
 
std::string m_key
 
std::string m_mode
 
std::vector< std::string > m_cellGroupStr
 
float m_tqThrsh
 
float m_samplesThrsh
 
float m_maskedtqThrsh
 
float m_maskedsamplesThrsh
 
float m_sigmaNoiseSamples = 0.0F
 
float m_sigmaNoiseQt = 0.0F
 
bool m_usePileupNoiseSamples = false
 
bool m_usePileupNoiseQt = false
 
bool m_dump
 
bool m_maskBadChannels
 
std::string m_outFileName
 
std::string m_inFileName
 
bool m_fill
 
SG::ReadCondHandleKey< CaloNoisem_totalNoiseKey { this, "TotalNoiseKey", "totalNoise", "SG key for total noise" }
 
SG::ReadCondHandleKey< CaloNoisem_elecNoiseKey { this, "ElecNoiseKey", "electronicNoise", "SG key for electronic noise" }
 
LArBadChannelMask m_bcMask
 Handle to bad-channel mask. More...
 
SG::ReadCondHandleKey< LArBadChannelContm_bcContKey {this, "BadChanKey", "LArBadChannel", "SG key for LArBadChan object"}
 
Gaudi::Property< std::vector< std::string > > m_problemsToMask {this,"ProblemsToMask",{}, "Bad-Channel categories to mask"}
 
Gaudi::Property< float > m_scaleIW {this,"ScaleIW",0.,"if >0 scale EMEC IW and FCAL thresholds with this factor"}
 
mode_t m_workmode
 
CaloCellGroupList m_thrPerCell
 
DataObjIDColl m_extendedExtraObjects
 
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default) More...
 
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default) More...
 
std::vector< SG::VarHandleKeyArray * > m_vhka
 
bool m_varHandleArraysDeclared
 

Detailed Description

Definition at line 20 of file LArDSPThresholdFillInline.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< Algorithm > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Member Enumeration Documentation

◆ mode_t

Enumerator
FIXED 
GROUP 
NOISE 

Definition at line 58 of file LArDSPThresholdFillInline.h.

58  {
60  };

Constructor & Destructor Documentation

◆ LArDSPThresholdFillInline()

LArDSPThresholdFillInline::LArDSPThresholdFillInline ( const std::string &  name,
ISvcLocator *  pSvcLocator 
)

Definition at line 25 of file LArDSPThresholdFillInline.cxx.

25  :
26  AthAlgorithm(name,pSvcLocator),
27  m_onlineID(0),
29 {
30 
31  declareProperty("Fill",m_fill=true);
32  declareProperty("NameOfSet",m_nameOfSet);
33  declareProperty("Key",m_key="DSPThresholds");
34  declareProperty("mode",m_mode="fixed",
35  "Select how to set thresholds. Allowed values are 'fixed','group' and 'noise'");
36 
37  //For mode 'fixed'
38  declareProperty("tQThreshold",m_tqThrsh=250);
39  declareProperty("samplesThreshold",m_samplesThrsh=1000);
40 
41  //For mode 'group'
42  declareProperty("ThresholdsPerCellGroup",m_cellGroupStr);
43 
44  //For mode 'Noise'
45  declareProperty("sigmaNoiseSamples",m_sigmaNoiseSamples);
46  declareProperty("sigmaNoiseQt",m_sigmaNoiseQt);
47  declareProperty("usePileupNoiseSamples",m_usePileupNoiseSamples);
48  declareProperty("usePileupNoiseQt",m_usePileupNoiseQt);
49 
50  //For channel masking
51  declareProperty("MaskBadChannels",m_maskBadChannels=false);
52  declareProperty("MaskedtQThreshold",m_maskedtqThrsh=static_cast<float>(0x7fffffff));
53  declareProperty("MaskedsamplesThreshold",m_maskedsamplesThrsh=static_cast<float>(0x7fffffff));
54 
55  declareProperty("Dump",m_dump=false);
56  declareProperty("OutFile",m_outFileName="out.txt");
57  //declareProperty("InFile",m_inFileName="");
58 }

◆ ~LArDSPThresholdFillInline()

LArDSPThresholdFillInline::~LArDSPThresholdFillInline ( )
virtual

Definition at line 60 of file LArDSPThresholdFillInline.cxx.

60 {}

Member Function Documentation

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyArrayType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKeyArray>

Definition at line 170 of file AthCommonDataStore.h.

172  {
173  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
174  hndl.value(),
175  hndl.documentation());
176 
177  }

◆ declareGaudiProperty() [2/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158  {
159  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
160  hndl.value(),
161  hndl.documentation());
162 
163  }

◆ declareGaudiProperty() [3/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleBase>

Definition at line 184 of file AthCommonDataStore.h.

186  {
187  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
188  hndl.value(),
189  hndl.documentation());
190  }

◆ declareGaudiProperty() [4/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  t,
const SG::NotHandleType  
)
inlineprivateinherited

specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>

Definition at line 199 of file AthCommonDataStore.h.

200  {
201  return PBASE::declareProperty(t);
202  }

◆ declareProperty() [1/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
SG::VarHandleBase hndl,
const std::string &  doc,
const SG::VarHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation 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.

249  {
250  this->declare(hndl.vhKey());
251  hndl.vhKey().setOwner(this);
252 
253  return PBASE::declareProperty(name,hndl,doc);
254  }

◆ declareProperty() [2/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
SG::VarHandleKey hndl,
const std::string &  doc,
const SG::VarHandleKeyType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation 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.

225  {
226  this->declare(hndl);
227  hndl.setOwner(this);
228 
229  return PBASE::declareProperty(name,hndl,doc);
230  }

◆ declareProperty() [3/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
SG::VarHandleKeyArray hndArr,
const std::string &  doc,
const SG::VarHandleKeyArrayType  
)
inlineinherited

Definition at line 259 of file AthCommonDataStore.h.

263  {
264 
265  // std::ostringstream ost;
266  // ost << Algorithm::name() << " VHKA declareProp: " << name
267  // << " size: " << hndArr.keys().size()
268  // << " mode: " << hndArr.mode()
269  // << " vhka size: " << m_vhka.size()
270  // << "\n";
271  // debug() << ost.str() << endmsg;
272 
273  hndArr.setOwner(this);
274  m_vhka.push_back(&hndArr);
275 
276  Gaudi::Details::PropertyBase* p = PBASE::declareProperty(name, hndArr, doc);
277  if (p != 0) {
278  p->declareUpdateHandler(&AthCommonDataStore<PBASE>::updateVHKA, this);
279  } else {
280  ATH_MSG_ERROR("unable to call declareProperty on VarHandleKeyArray "
281  << name);
282  }
283 
284  return p;
285 
286  }

◆ declareProperty() [4/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc,
const SG::NotHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation 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.

337  {
338  return PBASE::declareProperty(name, property, doc);
339  }

◆ declareProperty() [5/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation 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.

355  {
356  typedef typename SG::HandleClassifier<T>::type htype;
357  return declareProperty (name, property, doc, htype());
358  }

◆ declareProperty() [6/6]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( Gaudi::Property< T > &  t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145  {
146  typedef typename SG::HandleClassifier<T>::type htype;
148  }

◆ detStore()

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< Algorithm > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

95 { return m_detStore; }

◆ evtStore() [1/2]

ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< Algorithm > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

85 { return m_evtStore; }

◆ evtStore() [2/2]

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< Algorithm > >::evtStore ( ) const
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 90 of file AthCommonDataStore.h.

90 { return m_evtStore; }

◆ execute()

virtual StatusCode LArDSPThresholdFillInline::execute ( )
inlineoverridevirtual

Definition at line 25 of file LArDSPThresholdFillInline.h.

25 {return StatusCode::SUCCESS;}

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase &  ExtraDeps)
protectedinherited

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.

51 {
52  // If we didn't find any symlinks to add, just return the collection
53  // from the base class. Otherwise, return the extended collection.
54  if (!m_extendedExtraObjects.empty()) {
56  }
57  return Algorithm::extraOutputDeps();
58 }

◆ initialize()

StatusCode LArDSPThresholdFillInline::initialize ( )
overridevirtual

Definition at line 63 of file LArDSPThresholdFillInline.cxx.

63  {
64 
65  ATH_MSG_DEBUG ( "start initialize()" );
66 
67  ATH_CHECK( detStore()->retrieve(m_onlineID,"LArOnlineID") );
70 
73 
74 
75  if (m_mode.compare("fixed")==0) {
77  ATH_MSG_INFO ( "Will used fixed values defined by jobO "
78  << name() <<".tQThreshold and "
79  << name() << ".samplesThreshold for DSP thresholds" );
80  }
81  else if (m_mode.compare("group")==0) {
83  ATH_MSG_INFO ( "Will used cell groups defined in jobO " << name() << ".CellGroup for DSP thresholds" );
84  const CaloCell_ID* caloCellID = nullptr;
85  ATH_CHECK( detStore()->retrieve(caloCellID,"CaloCell_ID") );
86 
87  if (m_thrPerCell.setDefinition(dynamic_cast<const CaloCell_Base_ID*>(caloCellID),m_cellGroupStr,msg())==false)
88  return StatusCode::FAILURE;
90 
91  if (m_thrPerCell.getDefaults().size()!=2) {
92  ATH_MSG_ERROR ( "Expected 2 values per cell group, got " << m_thrPerCell.getDefaults().size() );
93  return StatusCode::FAILURE;
94  }
95  }
96  else if (m_mode.compare("noise")==0) {
98 
100  ATH_MSG_INFO ( "Will used ICaloCellTool::totalNoiseRMS times " << name() << ".sigmaNoiseSamples and" );
101  else
102  ATH_MSG_INFO ( "Will used ICaloCellTool::elecNoiseRMS times " << name() << ".sigmaNoiseSamples and" );
103 
105  ATH_MSG_INFO ( "ICaloCellTool::totalNoiseRMS times " << name() << ".sigmaNoiseQt for DSP thresholds" );
106  else
107  ATH_MSG_INFO ( "ICaloCellTool::elecNoiseRMS times " << name() << ".sigmaNoiseQt for DSP thresholds" );
108 
109  }
110 
113 
114  return StatusCode::SUCCESS;
115 }

◆ inputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< Algorithm > >::inputHandles ( ) const
overridevirtualinherited

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]

MsgStream& AthCommonMsg< Algorithm >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24  {
25  return this->msgStream();
26  }

◆ msg() [2/2]

MsgStream& AthCommonMsg< Algorithm >::msg ( const MSG::Level  lvl) const
inlineinherited

Definition at line 27 of file AthCommonMsg.h.

27  {
28  return this->msgStream(lvl);
29  }

◆ msgLvl()

bool AthCommonMsg< Algorithm >::msgLvl ( const MSG::Level  lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30  {
31  return this->msgLevel(lvl);
32  }

◆ outputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< Algorithm > >::outputHandles ( ) const
overridevirtualinherited

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()

std::enable_if_t<std::is_void_v<std::result_of_t<decltype(&T::renounce)(T)> > && !std::is_base_of_v<SG::VarHandleKeyArray, T> && std::is_base_of_v<Gaudi::DataHandle, T>, void> AthCommonDataStore< AthCommonMsg< Algorithm > >::renounce ( T &  h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381  {
382  h.renounce();
383  PBASE::renounce (h);
384  }

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::renounceArray ( SG::VarHandleKeyArray handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364  {
365  handlesArray.renounce();
366  }

◆ stop()

StatusCode LArDSPThresholdFillInline::stop ( )
overridevirtual

Definition at line 117 of file LArDSPThresholdFillInline.cxx.

117  {
118 
119  ATH_MSG_DEBUG ( "start stop()" );
120 
121  const EventContext& ctx = Gaudi::Hive::currentContext();
122 
123  if (m_fill) {
124 
125  ATH_MSG_INFO ( "Filling database" );
126 
127  unsigned hashMax=m_onlineID->channelHashMax();
128 
129  coral::AttributeListSpecification* spec = new coral::AttributeListSpecification();
130  //cool::RecordSpecification* spec = new cool::RecordSpecification();
131  spec->extend("tQThr", "blob");
132  spec->extend("samplesThr", "blob");
133  spec->extend("trigSumThr", "blob");
134  spec->extend("Name","string");
135 
137 
138 
139  (*attr)["Name"].setValue(m_nameOfSet);
140  coral::Blob& tQThrBlob = (*attr)["tQThr"].data<coral::Blob>();
141  coral::Blob& samplesThrBlob = (*attr)["samplesThr"].data<coral::Blob>();
142  coral::Blob& trigSumThrBlob = (*attr)["trigSumThr"].data<coral::Blob>();
143 
144  tQThrBlob.resize(hashMax*sizeof(float));
145  samplesThrBlob.resize(hashMax*sizeof(float));
146  trigSumThrBlob.resize(hashMax*sizeof(float));
147 
148  float* ptQThrBlob=static_cast<float*>(tQThrBlob.startingAddress());
149  float* psamplesBlob=static_cast<float*>(samplesThrBlob.startingAddress());
150  float* ptrigSumBlob=static_cast<float*>(trigSumThrBlob.startingAddress());
151 
152  ATH_CHECK( detStore()->record(attr,m_key) );
153 
155  ATH_CHECK(caloMgrHandle.isValid());
156  const CaloDetDescrManager *theCaloDDM = *caloMgrHandle;
157  ATH_MSG_INFO ( "theCaloDDM retrieved" );
158 
160  const LArOnOffIdMapping* cabling{*cablingHdl};
161  if(!cabling) {
162  ATH_MSG_ERROR("Do not have mapping object " << m_cablingKey.key());
163  return StatusCode::FAILURE;
164  }
165 
166  const CaloNoise* totalNoise = nullptr;
167  const CaloNoise* elecNoise = nullptr;
168  if (m_workmode == NOISE) {
170  totalNoise = totalNoiseH.cptr();
172  elecNoise = elecNoiseH.cptr();
173  }
174 
175  //retrieve BadChannel info:
176  const LArBadChannelCont* bcCont=nullptr;
177  if (m_maskBadChannels) {
179  bcCont=(*bcContHdl);
180  }
181 
182 
183  for (unsigned hs=0;hs<hashMax;++hs) {
184  const HWIdentifier chid=m_onlineID->channel_Id(hs);
185  const Identifier id=cabling->cnvToIdentifier(chid);
186  ATH_MSG_DEBUG ( "cell id: " << id << " " << cabling->isOnlineConnected(chid) );
187 
188  if(!cabling->isOnlineConnected(chid)){
189  ATH_MSG_DEBUG ( "cell id: " << id << " not connected channel, skip " );
190  // Same (very high) thresholds for disconnected channels as masked channels
191  ptQThrBlob[hs]=m_maskedtqThrsh;
192  psamplesBlob[hs]=m_maskedsamplesThrsh;
193  ptrigSumBlob[hs]=m_maskedtqThrsh;
194  continue;
195  }
196 
197  if(m_maskBadChannels && m_bcMask.cellShouldBeMasked(bcCont,chid)){ // Default gain is CaloGain::UNKNOWNGAIN
198  ATH_MSG_DEBUG ( "cell id: " << id << " is masked; set thresholds to " << m_maskedtqThrsh << ", " << m_maskedsamplesThrsh );
199  ptQThrBlob[hs]=m_maskedtqThrsh;
200  psamplesBlob[hs]=m_maskedsamplesThrsh;
201  ptrigSumBlob[hs]=m_maskedtqThrsh;
202  continue;
203  }
204 
205  if (m_workmode==FIXED) {
206  //cont->set(chid,m_tqThrsh,m_samplesThrsh,m_tqThrsh);
207  ptQThrBlob[hs]=m_tqThrsh;
208  psamplesBlob[hs]=m_samplesThrsh;
209  ptrigSumBlob[hs]=m_tqThrsh;
210  }
211  else if (m_workmode==GROUP) {
212  const std::vector<float>& thrs=m_thrPerCell.valuesForCell(id);
213  if(thrs.size()!=2) std::cout << "len=" << thrs.size() << std::endl;
214  ptQThrBlob[hs]=thrs[0];
215  psamplesBlob[hs]=thrs[1];
216  ptrigSumBlob[hs]=thrs[0];
217  }
218  else if (m_workmode==NOISE) {
219  const CaloDetDescrElement *caloDDE = theCaloDDM->get_element(id);
220  if(!caloDDE){
221  ATH_MSG_ERROR ( "Failed to return CaloDetDescrElement" );
222  return StatusCode::FAILURE;
223  }
224  /*
225  if(caloDDE->is_lar_em_barrel())
226  log << MSG::DEBUG << "EM barrel" << endmsg;
227 
228  if(caloDDE->is_lar_em_endcap())
229  log << MSG::DEBUG << "EM endcap" << endmsg;
230 
231  if(caloDDE->is_lar_hec())
232  log << MSG::DEBUG << "HEC" << endmsg;
233 
234  if(caloDDE->is_lar_fcal())
235  log << MSG::DEBUG << "FCAL" << endmsg;
236  */
238 
239  if(caloDDE->is_lar_fcal())
241  else
243 
244  ATH_MSG_DEBUG ( "hash, eta, phi: " << caloDDE->calo_hash() << ", " << caloDDE->eta() << ", " << caloDDE->phi() << "; noise: " << totalNoise->getNoise(id,igain) );
245 
246  float samplesThr = 0.;
247  float QtThr = 0.;
248 
250  samplesThr = totalNoise->getNoise(id,igain);
251  else
252  samplesThr = elecNoise->getNoise(id,igain);
253 
255  QtThr = totalNoise->getNoise(id,igain);
256  else
257  QtThr = elecNoise->getNoise(id,igain);
258 
259  //cont->set(chid,QtThr*m_sigmaNoiseQt,samplesThr*m_sigmaNoiseSamples,QtThr*m_sigmaNoiseQt);
260  ptQThrBlob[hs]=QtThr*m_sigmaNoiseQt;
261  psamplesBlob[hs]=samplesThr*m_sigmaNoiseSamples;
262  ptrigSumBlob[hs]=QtThr*m_sigmaNoiseQt;
263 
264  }// end if NOISE
265 
266  if( m_scaleIW > 0.) {
267  int slot = m_onlineID->slot(chid);
268  if (m_onlineID->isEMECIW(chid) || m_onlineID->isFCALchannel(chid) ||
269  (m_onlineID->isHECchannel(chid) && (slot==9 || slot==10) ) ||
270  (m_onlineID->isEMECchannel(chid) && (slot==6||slot==7||slot==14||slot==15))
271  ) {
272  ptQThrBlob[hs] *= m_scaleIW;
273  psamplesBlob[hs] *= m_scaleIW;
274  ptrigSumBlob[hs] *= m_scaleIW;
275  } else if ( (m_onlineID->isHECchannel(chid) && (slot==7 || slot==8) ) ||
276  (m_onlineID->isEMECchannel(chid) && (slot==12||slot==13)) ) {
277  ptQThrBlob[hs] *= m_scaleIW/2.;
278  psamplesBlob[hs] *= m_scaleIW/2.;
279  ptrigSumBlob[hs] *= m_scaleIW/2.;
280  }
281  } // scaling IW
282 
283  }//end loop over cells
284  }//end if FILL
285 
286  if (m_dump) {
287 
288  const AthenaAttributeList* attr=0;
289 
290  ATH_CHECK( detStore()->retrieve(attr,m_key) );
291 
292  const LArDSPThresholdsFlat* cont=new LArDSPThresholdsFlat(attr);
293 
294 
295  std::ostream *out = &(std::cout);
296  std::ofstream outfile;
297  if (m_outFileName.size()) {
298  outfile.open(m_outFileName.c_str(),std::ios::out);
299  if (outfile.is_open()) {
300  ATH_MSG_INFO ( "Writing to file " << m_outFileName );
301  out = &outfile;
302  }
303  else
304  ATH_MSG_ERROR ( "Failed to open file " << m_outFileName );
305  }
306 
307  std::vector<HWIdentifier>::const_iterator chanIt=m_onlineID->channel_begin();
308  std::vector<HWIdentifier>::const_iterator chanIt_e=m_onlineID->channel_end ();
309  for (;chanIt!=chanIt_e;++chanIt) {
310  const HWIdentifier chid=*chanIt;
311  (*out) << std::fixed << chid.get_compact() << " " << cont->tQThr(chid) << " " << cont->samplesThr(chid) << " " << cont->trigSumThr(chid)
312  << std::endl;
313 
314  } //end if loop over channels
315 
316  if (outfile.is_open())
317  outfile.close();
318  delete cont;
319  }// end if m_dump
320 
321  return StatusCode::SUCCESS;
322 }

◆ sysInitialize()

StatusCode AthAlgorithm::sysInitialize ( )
overridevirtualinherited

Override sysInitialize.

Override sysInitialize from the base class.

Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc

Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc

Reimplemented from AthCommonDataStore< AthCommonMsg< Algorithm > >.

Reimplemented in AthAnalysisAlgorithm, AthFilterAlgorithm, PyAthena::Alg, and AthHistogramAlgorithm.

Definition at line 66 of file AthAlgorithm.cxx.

66  {
68 
69  if (sc.isFailure()) {
70  return sc;
71  }
72  ServiceHandle<ICondSvc> cs("CondSvc",name());
73  for (auto h : outputHandles()) {
74  if (h->isCondition() && h->mode() == Gaudi::DataHandle::Writer) {
75  // do this inside the loop so we don't create the CondSvc until needed
76  if ( cs.retrieve().isFailure() ) {
77  ATH_MSG_WARNING("no CondSvc found: won't autoreg WriteCondHandles");
78  return StatusCode::SUCCESS;
79  }
80  if (cs->regHandle(this,*h).isFailure()) {
81  sc = StatusCode::FAILURE;
82  ATH_MSG_ERROR("unable to register WriteCondHandle " << h->fullKey()
83  << " with CondSvc");
84  }
85  }
86  }
87  return sc;
88 }

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< Algorithm > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::updateVHKA ( Gaudi::Details::PropertyBase &  )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308  {
309  // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310  // << " size: " << m_vhka.size() << endmsg;
311  for (auto &a : m_vhka) {
312  std::vector<SG::VarHandleKey*> keys = a->keys();
313  for (auto k : keys) {
314  k->setOwner(this);
315  }
316  }
317  }

Member Data Documentation

◆ m_bcContKey

SG::ReadCondHandleKey<LArBadChannelCont> LArDSPThresholdFillInline::m_bcContKey {this, "BadChanKey", "LArBadChannel", "SG key for LArBadChan object"}
private

Definition at line 53 of file LArDSPThresholdFillInline.h.

◆ m_bcMask

LArBadChannelMask LArDSPThresholdFillInline::m_bcMask
private

Handle to bad-channel mask.

Definition at line 52 of file LArDSPThresholdFillInline.h.

◆ m_cablingKey

SG::ReadCondHandleKey<LArOnOffIdMapping> LArDSPThresholdFillInline::m_cablingKey {this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"}
private

Definition at line 29 of file LArDSPThresholdFillInline.h.

◆ m_caloMgrKey

SG::ReadCondHandleKey<CaloDetDescrManager> LArDSPThresholdFillInline::m_caloMgrKey {this,"CaloDetDescrManager","CaloDetDescrManager","SG Key for CaloDetDescrManager in the Condition Store" }
private

Definition at line 30 of file LArDSPThresholdFillInline.h.

◆ m_cellGroupStr

std::vector<std::string> LArDSPThresholdFillInline::m_cellGroupStr
private

Definition at line 37 of file LArDSPThresholdFillInline.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Algorithm > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_dump

bool LArDSPThresholdFillInline::m_dump
private

Definition at line 42 of file LArDSPThresholdFillInline.h.

◆ m_elecNoiseKey

SG::ReadCondHandleKey<CaloNoise> LArDSPThresholdFillInline::m_elecNoiseKey { this, "ElecNoiseKey", "electronicNoise", "SG key for electronic noise" }
private

Definition at line 48 of file LArDSPThresholdFillInline.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Algorithm > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_extendedExtraObjects

DataObjIDColl AthAlgorithm::m_extendedExtraObjects
privateinherited

Definition at line 79 of file AthAlgorithm.h.

◆ m_fill

bool LArDSPThresholdFillInline::m_fill
private

Definition at line 44 of file LArDSPThresholdFillInline.h.

◆ m_inFileName

std::string LArDSPThresholdFillInline::m_inFileName
private

Definition at line 43 of file LArDSPThresholdFillInline.h.

◆ m_key

std::string LArDSPThresholdFillInline::m_key
private

Definition at line 35 of file LArDSPThresholdFillInline.h.

◆ m_maskBadChannels

bool LArDSPThresholdFillInline::m_maskBadChannels
private

Definition at line 42 of file LArDSPThresholdFillInline.h.

◆ m_maskedsamplesThrsh

float LArDSPThresholdFillInline::m_maskedsamplesThrsh
private

Definition at line 39 of file LArDSPThresholdFillInline.h.

◆ m_maskedtqThrsh

float LArDSPThresholdFillInline::m_maskedtqThrsh
private

Definition at line 39 of file LArDSPThresholdFillInline.h.

◆ m_mode

std::string LArDSPThresholdFillInline::m_mode
private

Definition at line 36 of file LArDSPThresholdFillInline.h.

◆ m_nameOfSet

std::string LArDSPThresholdFillInline::m_nameOfSet
private

Definition at line 34 of file LArDSPThresholdFillInline.h.

◆ m_onlineID

const LArOnlineID* LArDSPThresholdFillInline::m_onlineID
private

Definition at line 32 of file LArDSPThresholdFillInline.h.

◆ m_outFileName

std::string LArDSPThresholdFillInline::m_outFileName
private

Definition at line 43 of file LArDSPThresholdFillInline.h.

◆ m_problemsToMask

Gaudi::Property<std::vector<std::string> > LArDSPThresholdFillInline::m_problemsToMask {this,"ProblemsToMask",{}, "Bad-Channel categories to mask"}
private

Definition at line 54 of file LArDSPThresholdFillInline.h.

◆ m_samplesThrsh

float LArDSPThresholdFillInline::m_samplesThrsh
private

Definition at line 38 of file LArDSPThresholdFillInline.h.

◆ m_scaleIW

Gaudi::Property<float> LArDSPThresholdFillInline::m_scaleIW {this,"ScaleIW",0.,"if >0 scale EMEC IW and FCAL thresholds with this factor"}
private

Definition at line 55 of file LArDSPThresholdFillInline.h.

◆ m_sigmaNoiseQt

float LArDSPThresholdFillInline::m_sigmaNoiseQt = 0.0F
private

Definition at line 40 of file LArDSPThresholdFillInline.h.

◆ m_sigmaNoiseSamples

float LArDSPThresholdFillInline::m_sigmaNoiseSamples = 0.0F
private

Definition at line 40 of file LArDSPThresholdFillInline.h.

◆ m_thrPerCell

CaloCellGroupList LArDSPThresholdFillInline::m_thrPerCell
private

Definition at line 64 of file LArDSPThresholdFillInline.h.

◆ m_totalNoiseKey

SG::ReadCondHandleKey<CaloNoise> LArDSPThresholdFillInline::m_totalNoiseKey { this, "TotalNoiseKey", "totalNoise", "SG key for total noise" }
private

Definition at line 46 of file LArDSPThresholdFillInline.h.

◆ m_tqThrsh

float LArDSPThresholdFillInline::m_tqThrsh
private

Definition at line 38 of file LArDSPThresholdFillInline.h.

◆ m_usePileupNoiseQt

bool LArDSPThresholdFillInline::m_usePileupNoiseQt = false
private

Definition at line 41 of file LArDSPThresholdFillInline.h.

◆ m_usePileupNoiseSamples

bool LArDSPThresholdFillInline::m_usePileupNoiseSamples = false
private

Definition at line 41 of file LArDSPThresholdFillInline.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< Algorithm > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< Algorithm > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.

◆ m_workmode

mode_t LArDSPThresholdFillInline::m_workmode
private

Definition at line 62 of file LArDSPThresholdFillInline.h.


The documentation for this class was generated from the following files:
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
LArDSPThresholdFillInline::m_dump
bool m_dump
Definition: LArDSPThresholdFillInline.h:42
LArDSPThresholdFillInline::m_elecNoiseKey
SG::ReadCondHandleKey< CaloNoise > m_elecNoiseKey
Definition: LArDSPThresholdFillInline.h:49
LArOnlineID::isEMECIW
bool isEMECIW(const HWIdentifier id) const override final
Definition: LArOnlineID.cxx:745
LArDSPThresholdFillInline::m_problemsToMask
Gaudi::Property< std::vector< std::string > > m_problemsToMask
Definition: LArDSPThresholdFillInline.h:54
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
LArDSPThresholdFillInline::m_nameOfSet
std::string m_nameOfSet
Definition: LArDSPThresholdFillInline.h:34
LArDSPThresholdFillInline::m_sigmaNoiseSamples
float m_sigmaNoiseSamples
Definition: LArDSPThresholdFillInline.h:40
LArDSPThresholdFillInline::m_tqThrsh
float m_tqThrsh
Definition: LArDSPThresholdFillInline.h:38
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
LArDSPThresholdFillInline::m_usePileupNoiseSamples
bool m_usePileupNoiseSamples
Definition: LArDSPThresholdFillInline.h:41
CaloCondBlobAlgs_fillNoiseFromASCII.spec
spec
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:47
AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
LArDSPThresholdFillInline::m_mode
std::string m_mode
Definition: LArDSPThresholdFillInline.h:36
CaloCellGroupList::getDefaults
const std::vector< float > & getDefaults() const
Definition: CaloCellGroup.h:72
LArBadXCont
Conditions-Data class holding LAr Bad Channel or Bad Feb information.
Definition: LArBadChannelCont.h:28
CaloDetDescrElement
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:66
CaloDetDescrManager_Base::get_element
const CaloDetDescrElement * get_element(const Identifier &cellId) const
get element by its identifier
Definition: CaloDetDescrManager.cxx:159
ReadCellNoiseFromCool.cabling
cabling
Definition: ReadCellNoiseFromCool.py:154
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:71
LArOnlineID_Base::slot
int slot(const HWIdentifier id) const
Return the slot number of a hardware cell identifier: slot = [1,15] Slot-ID in top part of the crat...
Definition: LArOnlineID_Base.cxx:1961
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
LArBadChannelMask::buildBitMask
StatusCode buildBitMask(const std::vector< std::string > &problemsToMask, MsgStream &msg)
Definition: LArBadChannelMask.cxx:10
python.subdetectors.tile.Blob
Blob
Definition: tile.py:17
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
LArDSPThresholdsFlat
Definition: LArDSPThresholdsFlat.h:17
SG::VarHandleKey::key
const std::string & key() const
Return the StoreGate ID for the referenced object.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:141
HWIdentifier
Definition: HWIdentifier.h:13
CaloNoise::getNoise
float getNoise(const IdentifierHash h, const int gain) const
Accessor by IdentifierHash and gain.
Definition: CaloNoise.h:34
LArBadChannelMask::cellShouldBeMasked
bool cellShouldBeMasked(const LArBadChannelCont *bcCont, const HWIdentifier &hardwareId) const
Definition: LArBadChannelMask.h:42
LArDSPThresholdFillInline::m_scaleIW
Gaudi::Property< float > m_scaleIW
Definition: LArDSPThresholdFillInline.h:55
LArDSPThresholdFillInline::m_workmode
mode_t m_workmode
Definition: LArDSPThresholdFillInline.h:62
LArOnlineID_Base::channel_end
id_iterator channel_end() const
Definition: LArOnlineID_Base.cxx:1931
LArDSPThresholdFillInline::m_outFileName
std::string m_outFileName
Definition: LArDSPThresholdFillInline.h:43
LArDSPThresholdsFlat::samplesThr
float samplesThr(const HWIdentifier &CellID) const
Definition: LArDSPThresholdsFlat.cxx:47
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
AthCommonDataStore< AthCommonMsg< Algorithm > >::detStore
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:95
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
CaloGain::INVALIDGAIN
@ INVALIDGAIN
Definition: CaloGain.h:18
LArOnlineID_Base::isFCALchannel
bool isFCALchannel(const HWIdentifier id) const
Definition: LArOnlineID_Base.cxx:1657
CaloDetDescrElement::calo_hash
IdentifierHash calo_hash() const
cell calo hash
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:412
LArOnlineID::isEMECchannel
bool isEMECchannel(const HWIdentifier id) const override final
Definition: LArOnlineID.cxx:774
LArDSPThresholdFillInline::m_fill
bool m_fill
Definition: LArDSPThresholdFillInline.h:44
AthCommonDataStore
Definition: AthCommonDataStore.h:52
AthAlgorithm::sysInitialize
virtual StatusCode sysInitialize() override
Override sysInitialize.
Definition: AthAlgorithm.cxx:66
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
LArDSPThresholdsFlat::tQThr
float tQThr(const HWIdentifier &CellID) const
Definition: LArDSPThresholdsFlat.cxx:35
AthCommonDataStore< AthCommonMsg< Algorithm > >::outputHandles
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
LArDSPThresholdFillInline::m_caloMgrKey
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
Definition: LArDSPThresholdFillInline.h:30
LArDSPThresholdFillInline::m_maskBadChannels
bool m_maskBadChannels
Definition: LArDSPThresholdFillInline.h:42
CreatePhysValWebPage.hs
hs
Definition: CreatePhysValWebPage.py:107
LArDSPThresholdFillInline::NOISE
@ NOISE
Definition: LArDSPThresholdFillInline.h:59
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LArDSPThresholdFillInline::m_key
std::string m_key
Definition: LArDSPThresholdFillInline.h:35
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
LArDSPThresholdFillInline::m_sigmaNoiseQt
float m_sigmaNoiseQt
Definition: LArDSPThresholdFillInline.h:40
LArOnlineID_Base::channel_Id
HWIdentifier channel_Id(int barrel_ec, int pos_neg, int feedthrough, int slot, int channel) const
create channel identifier from fields
Definition: LArOnlineID_Base.cxx:1569
CaloCellPos2Ntuple.x7fffffff
x7fffffff
Definition: CaloCellPos2Ntuple.py:24
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
AthenaAttributeList
An AttributeList represents a logical row of attributes in a metadata table. The name and type of eac...
Definition: PersistentDataModel/PersistentDataModel/AthenaAttributeList.h:45
CaloCell_ID
Helper class for offline cell identifiers.
Definition: CaloCell_ID.h:34
WriteCellNoiseToCool.igain
igain
Definition: WriteCellNoiseToCool.py:338
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
LArDSPThresholdFillInline::m_samplesThrsh
float m_samplesThrsh
Definition: LArDSPThresholdFillInline.h:38
CaloDetDescrElement::is_lar_fcal
bool is_lar_fcal() const
cell belongs to FCAL
Definition: CaloDetDescrElement.cxx:138
LArDSPThresholdFillInline::GROUP
@ GROUP
Definition: LArDSPThresholdFillInline.h:59
LArDSPThresholdFillInline::m_maskedsamplesThrsh
float m_maskedsamplesThrsh
Definition: LArDSPThresholdFillInline.h:39
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
CaloNoise
Definition: CaloNoise.h:16
LArDSPThresholdFillInline::m_cellGroupStr
std::vector< std::string > m_cellGroupStr
Definition: LArDSPThresholdFillInline.h:37
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
LArOnlineID_Base::channelHashMax
size_type channelHashMax(void) const
Define channel hash tables max size.
Definition: LArOnlineID_Base.cxx:1901
LArDSPThresholdFillInline::m_bcContKey
SG::ReadCondHandleKey< LArBadChannelCont > m_bcContKey
Definition: LArDSPThresholdFillInline.h:53
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
CaloGain::LARHIGHGAIN
@ LARHIGHGAIN
Definition: CaloGain.h:18
CaloGain::CaloGain
CaloGain
Definition: CaloGain.h:11
CaloGain::LARMEDIUMGAIN
@ LARMEDIUMGAIN
Definition: CaloGain.h:18
AthAlgorithm::m_extendedExtraObjects
DataObjIDColl m_extendedExtraObjects
Definition: AthAlgorithm.h:79
LArDSPThresholdsFlat::trigSumThr
float trigSumThr(const HWIdentifier &CellID) const
Definition: LArDSPThresholdsFlat.cxx:59
a
TList * a
Definition: liststreamerinfos.cxx:10
h
Identifier::get_compact
value_type get_compact(void) const
Get the compact id.
CaloDetDescrManager
This class provides the client interface for accessing the detector description information common to...
Definition: CaloDetDescrManager.h:473
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
AthCommonMsg< Algorithm >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
LArDSPThresholdFillInline::m_bcMask
LArBadChannelMask m_bcMask
Handle to bad-channel mask.
Definition: LArDSPThresholdFillInline.h:52
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:616
LArDSPThresholdFillInline::m_cablingKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Definition: LArDSPThresholdFillInline.h:29
LArDSPThresholdFillInline::m_thrPerCell
CaloCellGroupList m_thrPerCell
Definition: LArDSPThresholdFillInline.h:64
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
LArDSPThresholdFillInline::FIXED
@ FIXED
Definition: LArDSPThresholdFillInline.h:59
CaloDetDescrElement::eta
float eta() const
cell eta
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:344
AthAlgorithm::AthAlgorithm
AthAlgorithm()
Default constructor:
LArDSPThresholdFillInline::m_maskedtqThrsh
float m_maskedtqThrsh
Definition: LArDSPThresholdFillInline.h:39
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
CaloDetDescrElement::phi
float phi() const
cell phi
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:346
CaloCellGroupList::printDef
void printDef() const
Definition: CaloCellGroup.cxx:301
LHEF::Writer
Pythia8::Writer Writer
Definition: Prophecy4fMerger.cxx:12
LArOnlineID::isHECchannel
bool isHECchannel(const HWIdentifier id) const override final
Definition: LArOnlineID.cxx:734
CaloCell_Base_ID
Helper base class for offline cell identifiers.
Definition: CaloCell_Base_ID.h:41
PrepareReferenceFile.outfile
outfile
Definition: PrepareReferenceFile.py:42
CaloCellGroupList::valuesForCell
const std::vector< float > & valuesForCell(const Identifier id)
Definition: CaloCellGroup.cxx:266
CaloCellGroupList::setDefinition
bool setDefinition(const CaloCell_Base_ID *caloCellId, const std::vector< std::string > &definitions, MsgStream &logStr)
Definition: CaloCellGroup.cxx:225
LArDSPThresholdFillInline::m_usePileupNoiseQt
bool m_usePileupNoiseQt
Definition: LArDSPThresholdFillInline.h:41
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
LArOnlineID_Base::channel_begin
id_iterator channel_begin() const
Returns an iterator pointing to a channel identifier collection.
Definition: LArOnlineID_Base.cxx:1926
LArDSPThresholdFillInline::m_totalNoiseKey
SG::ReadCondHandleKey< CaloNoise > m_totalNoiseKey
Definition: LArDSPThresholdFillInline.h:47
fitman.k
k
Definition: fitman.py:528
ServiceHandle< ICondSvc >
LArOnOffIdMapping
Definition: LArOnOffIdMapping.h:20
LArDSPThresholdFillInline::m_onlineID
const LArOnlineID * m_onlineID
Definition: LArDSPThresholdFillInline.h:32