![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Obtain ADC_max by an iterating optimal filtering.
More...
#include <LArRawChannelBuilderToolOFCIter.h>
|
| LArRawChannelBuilderToolOFCIter (const std::string &type, const std::string &name, const IInterface *parent) |
|
bool | buildRawChannel (const LArDigit *digit, float pedestal, const std::vector< float > &ramps, MsgStream *pLog) |
|
StatusCode | initTool () |
|
void | initEvent () |
|
void | initEventHidden () |
|
int | energy () |
|
int | time () |
|
CaloGain::CaloGain | gain () |
|
void | BuildLArCell (int energy, int time, uint16_t quality, uint16_t provenance, const LArDigit *digit) |
|
void | BuildLArRawChannel (int energy, int time, uint16_t quality, uint16_t provenance, const LArDigit *digit) |
|
StatusCode | initToolHidden (LArRawChannelBuilderParams *myParent) |
|
virtual void | finalEventHidden () |
|
virtual void | finalEvent () |
|
virtual void | printSummary () |
|
Identifier | currentID () |
|
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 | sysInitialize () override |
| Perform system initialization for an algorithm. 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 |
|
Obtain ADC_max by an iterating optimal filtering.
- Author
- Bernardo Resende
Definition at line 29 of file LArRawChannelBuilderToolOFCIter.h.
◆ StoreGateSvc_t
◆ LArRawChannelBuilderToolOFCIter()
LArRawChannelBuilderToolOFCIter::LArRawChannelBuilderToolOFCIter |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
Definition at line 24 of file LArRawChannelBuilderToolOFCIter.cxx.
50 "Create container of LArOFIterResults in StoreGate");
52 "Key of the LArOFIterResultsContainer in StoreGate");
54 " take noise from LArNoise instead of LArPedestal");
◆ BuildLArCell()
void LArRawChannelBuilderToolBase::BuildLArCell |
( |
int |
energy, |
|
|
int |
time, |
|
|
uint16_t |
quality, |
|
|
uint16_t |
provenance, |
|
|
const LArDigit * |
digit |
|
) |
| |
|
inlineinherited |
◆ BuildLArRawChannel()
void LArRawChannelBuilderToolBase::BuildLArRawChannel |
( |
int |
energy, |
|
|
int |
time, |
|
|
uint16_t |
quality, |
|
|
uint16_t |
provenance, |
|
|
const LArDigit * |
digit |
|
) |
| |
|
inlineinherited |
◆ buildRawChannel()
bool LArRawChannelBuilderToolOFCIter::buildRawChannel |
( |
const LArDigit * |
digit, |
|
|
float |
pedestal, |
|
|
const std::vector< float > & |
ramps, |
|
|
MsgStream * |
pLog |
|
) |
| |
|
virtual |
Implements LArRawChannelBuilderToolBase.
Definition at line 110 of file LArRawChannelBuilderToolOFCIter.cxx.
117 const EventContext& ctx = Gaudi::Hive::currentContext();
132 unsigned int sampsize = (
unsigned int)
samples.size();
133 float peakval = -999.;
134 unsigned int ipeak = 0;
138 for (
unsigned int ii = 0; ii < sampsize; ii++) {
141 <<
"Saturation on channel 0x" << MSG::hex << chid.
get_compact() << MSG::dec
151 iprovenance = iprovenance | 0x0400;
166 float sigma = larNoise->noise(chid,
gain);
171 float vRMS=larPedestal->pedestalRMS(chid,
gain);
191 if (ipeak > sampsize - 3) ipeak = sampsize - 3 ;
192 if (ipeak < 2) ipeak = 2;
195 unsigned int peak_min = ipeak - 1 ;
196 unsigned int peak_max = ipeak + 1 ;
203 ipeak,peak_min, peak_max
212 ADCPeak =
results.getAmplitude();
230 for(
unsigned int i=0;
i<ramps.size();
i++)
245 if (iqua > 0xFFFF) iqua=0xFFFF;
246 iquality = (
uint16_t)(iqua & 0xFFFF);
247 iprovenance = iprovenance | 0x2000;
257 iprovenance |= 0x0100;
258 iprovenance = iprovenance & 0x3FFF;
262 const float fMAXINT =
static_cast<float>(
MAXINT);
263 const float fMAXINT2 =
static_cast<float>(
MAXINT2);
273 #if __GNUC__ >= 11 && __GNUC__ <= 13
274 # pragma GCC diagnostic push
275 # pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
278 #if __GNUC__ >= 11 && __GNUC__ <= 13
279 # pragma GCC diagnostic pop
◆ currentID()
Identifier LArRawChannelBuilderToolBaseClass::currentID |
( |
| ) |
|
|
inherited |
◆ 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);
◆ 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.
◆ 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.
◆ 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]
◆ detStore()
◆ energy()
int LArRawChannelBuilderToolBase::energy |
( |
| ) |
|
|
inlinevirtualinherited |
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ 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
◆ finalEvent()
virtual void LArRawChannelBuilderToolBaseClass::finalEvent |
( |
| ) |
|
|
inlinevirtualinherited |
◆ finalEventHidden()
void LArRawChannelBuilderToolBaseClass::finalEventHidden |
( |
| ) |
|
|
virtualinherited |
◆ gain()
◆ initEvent()
void LArRawChannelBuilderToolOFCIter::initEvent |
( |
| ) |
|
|
virtual |
◆ initEventHidden()
void LArRawChannelBuilderToolBase::initEventHidden |
( |
| ) |
|
|
inlinevirtualinherited |
◆ initTool()
StatusCode LArRawChannelBuilderToolOFCIter::initTool |
( |
| ) |
|
|
virtual |
◆ initToolHidden()
◆ 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.
◆ interfaceID()
static const InterfaceID& ILArRawChannelBuilderToolBase::interfaceID |
( |
| ) |
|
|
inlinestaticinherited |
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ OFC_a()
const std::vector<float>& LArRawChannelBuilderToolOFCIter::OFC_a |
( |
| ) |
|
|
private |
◆ OFC_b()
const std::vector<float>& LArRawChannelBuilderToolOFCIter::OFC_b |
( |
| ) |
|
|
private |
◆ 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.
◆ printSummary()
void LArRawChannelBuilderToolBaseClass::printSummary |
( |
| ) |
|
|
virtualinherited |
Implements ILArRawChannelBuilderToolBaseClass.
Definition at line 33 of file LArRawChannelBuilderToolBaseClass.cxx.
40 log << MSG::INFO <<
"Printing Summary for tool " <<
name() <<
" :" <<
endmsg;
42 << std::setw(40) <<
" " <<
" : "
43 << std::setw(12) <<
" total "
44 << std::setw(10) <<
" percent " <<
" "
45 << std::setw(12) <<
" per event "
46 << std::setw(12) <<
" RMS "
49 double inv_sum =
sum > 0 ? 1./
sum : 1;
52 double fraction = 0.0;
53 double perEvent = 0.0;
54 double rmsPerEv = 0.0;
61 rmsPerEv = sqrt(
std::max(0.,rmsPerEv-perEvent*perEvent));
71 << std::setprecision(4)
76 << std::setprecision(4)
80 << std::setprecision(4)
◆ renounce()
◆ renounceArray()
◆ sysInitialize()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ time()
int LArRawChannelBuilderToolBase::time |
( |
| ) |
|
|
inlinevirtualinherited |
◆ updateVHKA()
◆ m_AdcMax
unsigned short LArRawChannelBuilderToolOFCIter::m_AdcMax |
|
private |
◆ m_buildIt
void(LArRawChannelBuilderToolBase::* LArRawChannelBuilderToolBase::m_buildIt) (int energy, int time, uint16_t quality, uint16_t provenance, const LArDigit *digit) |
|
inherited |
◆ m_cablingKey
◆ m_cablingKeySC
◆ m_defaultPhase
float LArRawChannelBuilderToolOFCIter::m_defaultPhase |
|
private |
◆ m_detStore
◆ m_doIter
bool LArRawChannelBuilderToolOFCIter::m_doIter |
|
private |
◆ m_doMC
bool LArRawChannelBuilderToolOFCIter::m_doMC |
|
private |
◆ m_doQual
bool LArRawChannelBuilderToolOFCIter::m_doQual |
|
private |
◆ m_Ecut
float LArRawChannelBuilderToolOFCIter::m_Ecut |
|
private |
◆ m_energy
int LArRawChannelBuilderToolBase::m_energy |
|
protectedinherited |
◆ m_evtStore
◆ m_gain
◆ m_helper
◆ m_isSC
bool LArRawChannelBuilderToolBaseClass::m_isSC |
|
protectedinherited |
◆ m_larNoiseKey
◆ m_larOFIterCont
◆ m_larRawChannelContainer
◆ m_maxSample
unsigned int LArRawChannelBuilderToolOFCIter::m_maxSample |
|
private |
◆ m_minADCforIter
unsigned int LArRawChannelBuilderToolOFCIter::m_minADCforIter |
|
private |
◆ m_minADCforIterInSigma
float LArRawChannelBuilderToolOFCIter::m_minADCforIterInSigma |
|
private |
◆ m_minSample
unsigned int LArRawChannelBuilderToolOFCIter::m_minSample |
|
private |
◆ m_nIterProp
unsigned int LArRawChannelBuilderToolOFCIter::m_nIterProp |
|
private |
◆ m_OFCtmp
std::vector<float> LArRawChannelBuilderToolOFCIter::m_OFCtmp |
|
private |
◆ m_parent
◆ m_peakReco
◆ m_pedestalRMSKey
SG::ReadCondHandleKey<ILArPedestal> LArRawChannelBuilderToolOFCIter::m_pedestalRMSKey { this, "PedestalRMSKey", "", "SG key for pedestal object. Needed only if 'minADCforIterInSigma' is set (for the RMS)" } |
|
private |
◆ m_signal
std::vector<float> LArRawChannelBuilderToolOFCIter::m_signal |
|
private |
◆ m_skipSaturatedCells
bool LArRawChannelBuilderToolOFCIter::m_skipSaturatedCells |
|
private |
◆ m_storeGate
◆ m_storeTiming
bool LArRawChannelBuilderToolOFCIter::m_storeTiming |
|
private |
◆ m_time
int LArRawChannelBuilderToolBase::m_time |
|
protectedinherited |
◆ m_timingContKey
std::string LArRawChannelBuilderToolOFCIter::m_timingContKey |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
CaloGain::CaloGain curr_gain
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
void setErrorString(unsigned int nerr, const std::string &s)
std::vector< SG::VarHandleKeyArray * > m_vhka
LArRawChannelContainer * m_larRawChannelContainer
Returns various counters from the LArRawChannel building.
void incrementErrorCount(unsigned int nerr)
virtual void setOwner(IDataHandleHolder *o)=0
int curr_shiftTimeSamples
ulonglong returnErrorCount(unsigned int nerr)
msgSvc
Provide convenience handles for various services.
void add(const LArRawChannel &rc)
Liquid Argon ROD output object base class.
::StatusCode StatusCode
StatusCode definition for legacy code.
ulonglong returnErrorCountSqPerEvent(unsigned int nerr)
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
unsigned long returnEvents() const
ulonglong returnErrorCountPerEvent(unsigned int nerr)
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
void resetErrorcountPerEvent()
StatusCode initialize(bool used=true)
unsigned int returnMaxErrors() const
value_type get_compact(void) const
Get the compact id.
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
std::string returnErrorString(unsigned int nerr)
unsigned int returnBitPattern() const
std::string debugPrint(const IDC_Container *container, unsigned numprint=25)
Diagnostic output of Identifiable Containers.
unsigned int qualityBitPattern
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Exception class for LAr Identifiers.