![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Obtain ADC_max for the Tile using Optimal Filtering.
More...
#include <LArRawChannelBuilderToolTileInfo.h>
|
| LArRawChannelBuilderToolTileInfo (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 | 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 | initEvent () |
|
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 for the Tile using Optimal Filtering.
- Author
- Hong Ma
Definition at line 29 of file LArRawChannelBuilderToolTileInfo.h.
◆ StoreGateSvc_t
◆ LArRawChannelBuilderToolTileInfo() [1/2]
LArRawChannelBuilderToolTileInfo::LArRawChannelBuilderToolTileInfo |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
◆ LArRawChannelBuilderToolTileInfo() [2/2]
◆ 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 LArRawChannelBuilderToolTileInfo::buildRawChannel |
( |
const LArDigit * |
digit, |
|
|
float |
pedestal, |
|
|
const std::vector< float > & |
ramps, |
|
|
MsgStream * |
pLog |
|
) |
| |
|
virtual |
Implements LArRawChannelBuilderToolBase.
Definition at line 79 of file LArRawChannelBuilderToolTileInfo.cxx.
93 (*pLog) <<
MSG::DEBUG <<
"Saturation on channel 0x"
94 << MSG::hex << chid.
get_compact() << MSG::dec <<
". ";
98 (*pLog) <<
"Skipping channel." <<
endmsg;
106 const std::vector < short >&
samples =
digit->samples();
107 unsigned int sampsize = (
unsigned int)
samples.size();
109 unsigned int ipeak = 0;
110 std::vector<float>
signal ;
112 for (
unsigned int ii = 0; ii < sampsize; ii++) {
114 signal.push_back(currval);
120 double globaltimeoffset = -25;
126 if (
sc.isFailure()) {
128 (*pLog) << MSG::ERROR
129 <<
"Unable to retrieve ComTime from StoreGate" <<
endmsg;
130 return static_cast<bool>(
sc);
140 double tileComTime = comTime->
getTime();
144 if(tileComTime!=0 || muonpos.x()!=0 || muonpos.z()!=0) {
148 globaltimeoffset = 0.;
150 if (caloDDE !=
nullptr) {
152 double xpos=caloDDE->
x();
153 double ypos=caloDDE->
y();
154 double zpos=caloDDE->
z();
156 const double inv_c_light = 1. /
c_light;
157 timeTOF = (sqrt((muonpos.x()-xpos)*(muonpos.x()-xpos) + (muonpos.y()-ypos)*(muonpos.y()-ypos) + (muonpos.z()-zpos)*(muonpos.z()-zpos))) * inv_c_light;
158 IPTOF = (sqrt(xpos*xpos+ypos*ypos+zpos*zpos)) * inv_c_light;
168 if ((ypos>0 && muondir.y()<0) || (ypos<0 && muondir.y()>0)) timeTOF=timeTOF*(-1);
172 double larTimeOffset = tileComTime + timeTOF + IPTOF + globaltimeoffset;
179 double peakSampleTile =
int( (larTimeOffset*(1./25.)) + 2.);
180 m_delayTile = 25.*(peakSampleTile-2) - larTimeOffset;
197 if (ipeak < 2) ipeak = 2;
198 if (ipeak > sampsize - 3) ipeak = sampsize - 3 ;
202 unsigned int peak_min = ipeak - 1 ;
203 if (peak_min < 2) peak_min = 2;
205 unsigned int peak_max = ipeak + 1 ;
206 if (peak_max > sampsize - 3) peak_max = sampsize - 3 ;
213 ADCPeak =
results.getAmplitude();
219 (*pLog) <<
MSG::DEBUG <<
". OFC not valid for channel 0x"
221 <<
" Gain = " <<
gain <<
". Skipping channel." <<
endmsg;
228 for(
unsigned int i=0;
i<ramps.size();
i++)
240 iquality = ((
int)(
results.getQuality())) & 0xFFFF;
241 iprovenance = iprovenance | 0x2000;
246 iprovenance = iprovenance & 0x3FFF;
250 const float fMAXINT =
static_cast<float>(
MAXINT);
251 const float fMAXINT2 =
static_cast<float>(
MAXINT2);
263 iquality,iprovenance,
digit->gain());
◆ 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()
virtual void LArRawChannelBuilderToolBaseClass::initEvent |
( |
| ) |
|
|
inlinevirtualinherited |
◆ initEventHidden()
void LArRawChannelBuilderToolBase::initEventHidden |
( |
| ) |
|
|
inlinevirtualinherited |
◆ initTool()
StatusCode LArRawChannelBuilderToolTileInfo::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()
◆ operator=()
◆ 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 LArRawChannelBuilderToolTileInfo::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_caloMgrKey
◆ m_comTimeKey
std::string LArRawChannelBuilderToolTileInfo::m_comTimeKey |
|
private |
◆ m_defaultPhase
unsigned int LArRawChannelBuilderToolTileInfo::m_defaultPhase |
|
private |
◆ m_delayTile
double LArRawChannelBuilderToolTileInfo::m_delayTile |
|
private |
◆ m_detStore
◆ m_doQual
bool LArRawChannelBuilderToolTileInfo::m_doQual |
|
private |
◆ m_Ecut
float LArRawChannelBuilderToolTileInfo::m_Ecut |
|
private |
◆ m_energy
int LArRawChannelBuilderToolBase::m_energy |
|
protectedinherited |
◆ m_evtStore
◆ m_gain
◆ m_globaltimeoffsetbottom
double LArRawChannelBuilderToolTileInfo::m_globaltimeoffsetbottom |
|
private |
◆ m_globaltimeoffsettop
double LArRawChannelBuilderToolTileInfo::m_globaltimeoffsettop |
|
private |
◆ m_helper
◆ m_isSC
bool LArRawChannelBuilderToolBaseClass::m_isSC |
|
protectedinherited |
◆ m_larRawChannelContainer
◆ m_maxSample
unsigned int LArRawChannelBuilderToolTileInfo::m_maxSample |
|
private |
◆ m_minSample
unsigned int LArRawChannelBuilderToolTileInfo::m_minSample |
|
private |
◆ m_parent
◆ m_peakReco
◆ m_skipSaturatedCells
bool LArRawChannelBuilderToolTileInfo::m_skipSaturatedCells |
|
private |
◆ m_time
int LArRawChannelBuilderToolBase::m_time |
|
protectedinherited |
◆ 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)
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
const CaloDetDescrElement * get_element(const Identifier &cellId) const
get element by its identifier
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
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
CLHEP::Hep3Vector GetcosThetaDirection() const
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)
double delay(std::size_t d)
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.
This class provides the client interface for accessing the detector description information common to...
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
CLHEP::Hep3Vector GetCounterPosition() const
std::string returnErrorString(unsigned int nerr)
unsigned int returnBitPattern() const
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.