![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
#include <TRT_DriftCircleTool.h>
|
| TRT_DriftCircleTool (const std::string &, const std::string &, const IInterface *) |
| constructor More...
|
|
virtual | ~TRT_DriftCircleTool () |
| destructor More...
|
|
virtual StatusCode | initialize () override |
| initialize needed services More...
|
|
virtual StatusCode | finalize () override |
| finalize More...
|
|
virtual InDet::TRT_DriftCircleCollection * | convert (int, const InDetRawDataCollection< TRT_RDORawData > *, const EventContext &ctx, DataPool< TRT_DriftCircle > *dataItemsPool, const bool CTBBadChannels) const override |
| make the conversion from RDOs to DriftCircles More...
|
|
virtual bool | passValidityGate (unsigned int word, float lowGate, float highGate, float t0) const override |
| test validity gate for corrected drift times 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 | 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 |
|
Class for converting a RDO collection to a DriftCircle collection Performs trigger phase corrections in case of CTB data
Definition at line 45 of file TRT_DriftCircleTool.h.
◆ StoreGateSvc_t
◆ TRT_DriftCircleTool()
InDet::TRT_DriftCircleTool::TRT_DriftCircleTool |
( |
const std::string & |
t, |
|
|
const std::string & |
n, |
|
|
const IInterface * |
p |
|
) |
| |
◆ ~TRT_DriftCircleTool()
InDet::TRT_DriftCircleTool::~TRT_DriftCircleTool |
( |
| ) |
|
|
virtualdefault |
◆ convert()
make the conversion from RDOs to DriftCircles
Implements InDet::ITRT_DriftCircleTool.
Definition at line 170 of file TRT_DriftCircleTool.cxx.
188 if (not trtDetEleHandle.isValid() or elements==
nullptr) {
196 mu = lumiData->lbAverageInteractionsPerCrossing();
205 rio->setIdentifier(rdo->
identify());
212 bool isArgonStraw =
false;
213 bool isGasSet =
false;
221 int LTbin = (*r)->driftTimeBin();
225 unsigned int word = (*r)->getWord();
239 rawTime -=
m_driftFunctionTool->driftTimeToTCorrection((*r)->timeOverThreshold(),
id, isArgonStraw);
248 if( LTbin==0 || LTbin==24) {
255 if(!isOK) word &= 0xF7FFFFFF;
256 else word |= 0x08000000;
259 rawTime = (0.5+LTbin)*3.125;
298 if (!isOK ||
Mode > 1) {
301 error = 4. / sqrt(12.);
330 << MSG::dec <<
" data word raw " << MSG::hex << (*r)->getWord()
331 << MSG::dec <<
" radius " <<
radius <<
" err " <<
error);
334 <<
" raw time " << (0.5 + LTbin) * 3.125
336 <<
" OK? " << isOK <<
" Noise? "
337 << tdc->
isNoise() <<
" isArgon? "
340 ATH_MSG_ERROR(
"Could not create InDet::TRT_DriftCircle object !");
◆ 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()
◆ 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
◆ finalize()
StatusCode InDet::TRT_DriftCircleTool::finalize |
( |
| ) |
|
|
overridevirtual |
◆ initialize()
StatusCode InDet::TRT_DriftCircleTool::initialize |
( |
| ) |
|
|
overridevirtual |
initialize needed services
Definition at line 95 of file TRT_DriftCircleTool.cxx.
104 return StatusCode::FAILURE;
111 return StatusCode::FAILURE;
118 if (
sc.isFailure() ) {
125 ATH_MSG_DEBUG(
"Luminosity conditions data key not set. No mu correction." );
◆ 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& InDet::ITRT_DriftCircleTool::interfaceID |
( |
| ) |
|
|
inlinestaticinherited |
Return method for the InterfaceID.
Definition at line 44 of file ITRT_DriftCircleTool.h.
44 {
return IID_ITRT_DriftCircleTool; };
◆ 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.
◆ passValidityGate()
bool InDet::TRT_DriftCircleTool::passValidityGate |
( |
unsigned int |
word, |
|
|
float |
lowGate, |
|
|
float |
highGate, |
|
|
float |
t0 |
|
) |
| const |
|
overridevirtual |
test validity gate for corrected drift times
Implements InDet::ITRT_DriftCircleTool.
Definition at line 146 of file TRT_DriftCircleTool.cxx.
148 bool foundInterval =
false;
149 unsigned mask = 0x02000000;
151 while ( !foundInterval && (
i < 24) ) {
153 float thisTime = ((0.5+
i)*3.125)-
t0;
154 if (thisTime >= lowGate && thisTime <= highGate) foundInterval =
true;
157 if (
i == 7 ||
i == 15)
161 return foundInterval;
◆ 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.
◆ updateVHKA()
◆ m_ConditionsSummary
◆ m_detStore
◆ m_driftFunctionTool
◆ m_evtStore
◆ m_high_gate
float InDet::TRT_DriftCircleTool::m_high_gate |
|
private |
◆ m_high_gate_argon
float InDet::TRT_DriftCircleTool::m_high_gate_argon |
|
private |
◆ m_low_gate
float InDet::TRT_DriftCircleTool::m_low_gate |
|
private |
◆ m_low_gate_argon
float InDet::TRT_DriftCircleTool::m_low_gate_argon |
|
private |
◆ m_lumiDataKey
◆ m_max_drift_time
float InDet::TRT_DriftCircleTool::m_max_drift_time |
|
private |
◆ m_max_drift_time_argon
float InDet::TRT_DriftCircleTool::m_max_drift_time_argon |
|
private |
◆ m_min_trailing_edge
float InDet::TRT_DriftCircleTool::m_min_trailing_edge |
|
private |
◆ m_min_trailing_edge_argon
float InDet::TRT_DriftCircleTool::m_min_trailing_edge_argon |
|
private |
◆ m_out_of_time_supression
bool InDet::TRT_DriftCircleTool::m_out_of_time_supression |
|
private |
◆ m_out_of_time_supression_argon
bool InDet::TRT_DriftCircleTool::m_out_of_time_supression_argon |
|
private |
◆ m_reject_if_first_bit
bool InDet::TRT_DriftCircleTool::m_reject_if_first_bit |
|
private |
◆ m_reject_if_first_bit_argon
bool InDet::TRT_DriftCircleTool::m_reject_if_first_bit_argon |
|
private |
◆ m_trtDetEleContKey
◆ m_trtid
◆ m_useConditionsHTStatus
bool InDet::TRT_DriftCircleTool::m_useConditionsHTStatus |
|
private |
Shall the ConditionsSummaryTool be used for HT to find argon straws?
Definition at line 88 of file TRT_DriftCircleTool.h.
◆ m_useConditionsStatus
bool InDet::TRT_DriftCircleTool::m_useConditionsStatus |
|
private |
◆ m_useHTCorrection
bool InDet::TRT_DriftCircleTool::m_useHTCorrection |
|
private |
◆ m_useToTCorrection
bool InDet::TRT_DriftCircleTool::m_useToTCorrection |
|
private |
◆ m_validity_gate_suppression
bool InDet::TRT_DriftCircleTool::m_validity_gate_suppression |
|
private |
◆ m_validity_gate_suppression_argon
bool InDet::TRT_DriftCircleTool::m_validity_gate_suppression_argon |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
def finalize(self)
_info( "content of StoreGate..." ) self.sg.dump()
Const iterator class for DataVector/DataList.
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts
Eigen::Matrix< double, 2, 1 > Vector2D
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
double timeOverThreshold() const
returns Time over threshold in ns
std::vector< ALFA_RawData_p1 > t0
virtual Identifier identify() const override final
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
#define ATH_MSG_VERBOSE(x)
const std::string & key() const
Return the StoreGate ID for the referenced object.
bool empty() const
Test if the key is blank.
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual void setOwner(IDataHandleHolder *o)=0
virtual IdentifierHash identifyHash() const override final
int straw(const Identifier &id) const
bool isNoise() const
returns true if the hit is caused by noise with a high probability.
void setHashAndIndex(unsigned short collHash, unsigned short objIndex)
TEMP for testing: might make some classes friends later ...
::StatusCode StatusCode
StatusCode definition for legacy code.
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
int barrel_ec(const Identifier &id) const
Values of different levels (failure returns 0)
int straw_layer(const Identifier &id) const
pointer nextElementPtr()
obtain the next available element in pool by pointer pool is resized if its limit has been reached On...
int layer_or_wheel(const Identifier &id) const
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Trk::PrepRawDataCollection< TRT_DriftCircle > TRT_DriftCircleCollection
StatusCode initialize(bool used=true)
int phi_module(const Identifier &id) const
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
const boost::regex re(r_e)
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Class to hold collection of TRT detector elements.
double rawDriftTime() const
returns the raw driftTime
unsigned int getWord() const
returns the TRT dataword
float distance(const Amg::Vector3D &p1, const Amg::Vector3D &p2)
calculates the distance between two point in 3D space
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.