|
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 |
|
|
SG::ReadCondHandleKey< InDetDD::TRT_DetElementContainer > | m_trtDetEleContKey {this, "TRTDetEleContKey", "TRT_DetElementContainer", "Key of TRT_DetElementContainer for TRT"} |
|
SG::ReadCondHandleKey< LuminosityCondData > | m_lumiDataKey {this, "LumiDataKey", "", "SG key for luminosity data"} |
|
ToolHandle< ITRT_DriftFunctionTool > | m_driftFunctionTool |
|
ToolHandle< ITRT_StrawStatusSummaryTool > | m_ConditionsSummary |
|
BooleanProperty | m_useConditionsStatus |
|
BooleanProperty | m_useConditionsHTStatus |
|
BooleanProperty | m_useToTCorrection |
|
BooleanProperty | m_useHTCorrection |
|
const TRT_ID * | m_trtid = nullptr |
| ID helper. More...
|
|
BooleanProperty | m_reject_if_first_bit |
|
BooleanProperty | m_reject_if_first_bit_argon |
|
FloatProperty | m_min_trailing_edge |
|
FloatProperty | m_min_trailing_edge_argon |
|
FloatProperty | m_max_drift_time |
|
FloatProperty | m_max_drift_time_argon |
|
BooleanProperty | m_out_of_time_supression |
|
BooleanProperty | m_out_of_time_supression_argon |
|
BooleanProperty | m_validity_gate_suppression |
|
BooleanProperty | m_validity_gate_suppression_argon {this, "ValidityGateSuppressionArgon", false, "Turn on suppression using validity gates"} |
|
FloatProperty | m_low_gate {this, "LowGate", 18.0*CLHEP::ns, "Low value for gate"} |
|
FloatProperty | m_low_gate_argon {this, "LowGateArgon", 18.0*CLHEP::ns, "Low value for gate"} |
|
FloatProperty | m_high_gate {this, "HighGate", 38.0*CLHEP::ns, "High value for gate"} |
|
FloatProperty | m_high_gate_argon {this, "HighGateArgon", 38.0*CLHEP::ns, "High value for gate"} |
|
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 |
|
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 127 of file TRT_DriftCircleTool.cxx.
145 if (not trtDetEleHandle.isValid() or elements==
nullptr) {
153 mu = lumiData->lbAverageInteractionsPerCrossing();
162 rio->setIdentifier(rdo->
identify());
169 bool isArgonStraw =
false;
170 bool isGasSet =
false;
178 int LTbin = (*r)->driftTimeBin();
182 unsigned int word = (*r)->getWord();
196 rawTime -=
m_driftFunctionTool->driftTimeToTCorrection((*r)->timeOverThreshold(),
id, isArgonStraw);
205 if( LTbin==0 || LTbin==24) {
212 if(!isOK) word &= 0xF7FFFFFF;
213 else word |= 0x08000000;
216 rawTime = (0.5+LTbin)*3.125;
255 if (!isOK ||
Mode > 1) {
258 error = 4. / sqrt(12.);
287 << MSG::dec <<
" data word raw " << MSG::hex << (*r)->getWord()
288 << MSG::dec <<
" radius " <<
radius <<
" err " <<
error);
291 <<
" raw time " << (0.5 + LTbin) * 3.125
293 <<
" OK? " << isOK <<
" Noise? "
294 << tdc->
isNoise() <<
" isArgon? "
297 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);
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]
◆ 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 52 of file TRT_DriftCircleTool.cxx.
61 return StatusCode::FAILURE;
68 return StatusCode::FAILURE;
75 if (
sc.isFailure() ) {
82 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 103 of file TRT_DriftCircleTool.cxx.
105 bool foundInterval =
false;
106 unsigned mask = 0x02000000;
108 while ( !foundInterval && (
i < 24) ) {
110 float thisTime = ((0.5+
i)*3.125)-
t0;
111 if (thisTime >= lowGate && thisTime <= highGate) foundInterval =
true;
114 if (
i == 7 ||
i == 15)
118 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
Initial value:{
this, "ConditionsSummaryTool", "TRT_StrawStatusSummaryTool"}
Definition at line 86 of file TRT_DriftCircleTool.h.
◆ m_detStore
◆ m_driftFunctionTool
Initial value:{
this, "TRTDriftFunctionTool", "TRT_DriftFunctionTool"}
Definition at line 84 of file TRT_DriftCircleTool.h.
◆ m_evtStore
◆ m_high_gate
FloatProperty InDet::TRT_DriftCircleTool::m_high_gate {this, "HighGate", 38.0*CLHEP::ns, "High value for gate"} |
|
private |
◆ m_high_gate_argon
FloatProperty InDet::TRT_DriftCircleTool::m_high_gate_argon {this, "HighGateArgon", 38.0*CLHEP::ns, "High value for gate"} |
|
private |
◆ m_low_gate
FloatProperty InDet::TRT_DriftCircleTool::m_low_gate {this, "LowGate", 18.0*CLHEP::ns, "Low value for gate"} |
|
private |
◆ m_low_gate_argon
FloatProperty InDet::TRT_DriftCircleTool::m_low_gate_argon {this, "LowGateArgon", 18.0*CLHEP::ns, "Low value for gate"} |
|
private |
◆ m_lumiDataKey
◆ m_max_drift_time
FloatProperty InDet::TRT_DriftCircleTool::m_max_drift_time |
|
private |
Initial value:
"Max allowed raw drift time to not reject this DC"}
Definition at line 106 of file TRT_DriftCircleTool.h.
◆ m_max_drift_time_argon
FloatProperty InDet::TRT_DriftCircleTool::m_max_drift_time_argon |
|
private |
Initial value:
"Max allowed raw drift time to not reject this DC"}
Definition at line 108 of file TRT_DriftCircleTool.h.
◆ m_min_trailing_edge
FloatProperty InDet::TRT_DriftCircleTool::m_min_trailing_edge |
|
private |
Initial value:
"Min raw trailing edge position to not reject this DC"}
Definition at line 102 of file TRT_DriftCircleTool.h.
◆ m_min_trailing_edge_argon
FloatProperty InDet::TRT_DriftCircleTool::m_min_trailing_edge_argon |
|
private |
Initial value:{
this,
"MinTrailingEdgeArgon", 11.0*
CLHEP::ns,
"Min raw trailing edge position to not reject this DC"}
Definition at line 104 of file TRT_DriftCircleTool.h.
◆ m_out_of_time_supression
BooleanProperty InDet::TRT_DriftCircleTool::m_out_of_time_supression |
|
private |
Initial value:{this, "SimpleOutOfTimePileupSupression", false,
"Turn this on to turn on the OOT options!"}
Definition at line 110 of file TRT_DriftCircleTool.h.
◆ m_out_of_time_supression_argon
BooleanProperty InDet::TRT_DriftCircleTool::m_out_of_time_supression_argon |
|
private |
Initial value:{this, "SimpleOutOfTimePileupSupressionArgon", false,
"Turn this on to turn on the OOT options!"}
Definition at line 112 of file TRT_DriftCircleTool.h.
◆ m_reject_if_first_bit
BooleanProperty InDet::TRT_DriftCircleTool::m_reject_if_first_bit |
|
private |
Initial value:{this, "RejectIfFirstBit", false,
"If true, reject this DC if first bit high"}
Definition at line 98 of file TRT_DriftCircleTool.h.
◆ m_reject_if_first_bit_argon
BooleanProperty InDet::TRT_DriftCircleTool::m_reject_if_first_bit_argon |
|
private |
Initial value:{this, "RejectIfFirstBitArgon", true,
"If true, reject this DC if first bit high"}
Definition at line 100 of file TRT_DriftCircleTool.h.
◆ m_trtDetEleContKey
◆ m_trtid
const TRT_ID* InDet::TRT_DriftCircleTool::m_trtid = nullptr |
|
private |
◆ m_useConditionsHTStatus
BooleanProperty InDet::TRT_DriftCircleTool::m_useConditionsHTStatus |
|
private |
Initial value:{this, "UseConditionsHTStatus", false,
"Shall the ConditionsSummaryTool be used for HT to find argon straws?"}
Definition at line 91 of file TRT_DriftCircleTool.h.
◆ m_useConditionsStatus
BooleanProperty InDet::TRT_DriftCircleTool::m_useConditionsStatus |
|
private |
Initial value:{this, "UseConditionsStatus", false,
"Shall the ConditionsSummaryTool be used?"}
Definition at line 89 of file TRT_DriftCircleTool.h.
◆ m_useHTCorrection
BooleanProperty InDet::TRT_DriftCircleTool::m_useHTCorrection |
|
private |
Initial value:{this, "useDriftTimeHTCorrection", false,
"Shall the High Threshold correction be used?"}
Definition at line 95 of file TRT_DriftCircleTool.h.
◆ m_useToTCorrection
BooleanProperty InDet::TRT_DriftCircleTool::m_useToTCorrection |
|
private |
Initial value:{this, "useDriftTimeToTCorrection", false,
"Shall the Time over Threshold correction be used?"}
Definition at line 93 of file TRT_DriftCircleTool.h.
◆ m_validity_gate_suppression
BooleanProperty InDet::TRT_DriftCircleTool::m_validity_gate_suppression |
|
private |
Initial value:{this, "ValidityGateSuppression", false,
"Turn on suppression using validity gates"}
Definition at line 115 of file TRT_DriftCircleTool.h.
◆ m_validity_gate_suppression_argon
BooleanProperty InDet::TRT_DriftCircleTool::m_validity_gate_suppression_argon {this, "ValidityGateSuppressionArgon", false, "Turn on suppression using validity gates"} |
|
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
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
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.