![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
#include <FillAlignTRTHits.h>
|
| FillAlignTRTHits (const std::string &type, const std::string &name, const IInterface *parent) |
|
virtual | ~FillAlignTRTHits () |
|
virtual StatusCode | initialize () |
|
virtual StatusCode | finalize () |
|
virtual bool | fill (const Trk::Track *aTrack, TRT::TrackInfo *output, const xAOD::EventInfo &eventInfo, const xAOD::VertexContainer &vertices) |
|
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 |
|
|
const AtlasDetectorID * | m_DetID |
|
const TRT_ID * | m_TRTID |
|
ToolHandle< ITRT_DriftFunctionTool > | m_driftFunctionTool {this, "TRTDriftFunctionTool", "TRT_DriftFunctionTool", "Drift function tool name"} |
|
ToolHandle< Trk::IUpdator > | m_updatorHandle {this, "UpdatorTool" , "Trk::KalmanUpdator/TrkKalmanUpdator", "Measurement updator to calculate unbiased track states"} |
|
ToolHandle< ITRT_CalDbTool > | m_trtcaldbTool {this, "TRTCalDbTool", "CalDbTool", "Access to the folder of the calibration constants"} |
|
ServiceHandle< ITRT_StrawNeighbourSvc > | m_neighbourSvc {this, "NeighbourSvc", "NeighbourSvc", ""} |
|
ToolHandle< ITRT_StrawStatusSummaryTool > | m_TRTStrawSummaryTool {this, "TRTStrawSummaryTool", "InDetTRTStrawStatusSummaryTool", ""} |
|
Trk::IUpdator * | m_updator |
| updator for unbiased states More...
|
|
Gaudi::Property< std::string > | m_ntupleName {this, "NtupleName" , "basic.root", "Changes the name of the ntuple Output"} |
|
float | m_maxDistance |
|
float | m_maxTimeResidual |
|
int | m_minTimebinsOverThreshold |
|
float | m_maxTrackChisquarePerDof |
|
unsigned int | m_numOfHitsTotal |
|
unsigned int | m_numOfHitsAccepted |
|
unsigned int | m_numOfProcessedTracks |
|
float | m_DoMCCosmicTimeShift |
|
TFile * | m_f |
|
TNtuple * | m_ntuple |
|
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 |
|
Definition at line 51 of file FillAlignTRTHits.h.
◆ StoreGateSvc_t
◆ FillAlignTRTHits()
FillAlignTRTHits::FillAlignTRTHits |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
◆ ~FillAlignTRTHits()
virtual FillAlignTRTHits::~FillAlignTRTHits |
( |
| ) |
|
|
inlinevirtual |
◆ 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
◆ fill()
INCLUDE TO HAVE UNBIAS RESIDUAL!!
END INCLUDE TO HAVE UNBIAS RESIDUAL!!
Implements IFillAlignTrkInfo.
Definition at line 137 of file FillAlignTRTHits.cxx.
141 float rtrackunbias = 0;
142 float drrtrackunbias = 0;
144 float ttrackunbias = 0;
183 int countVertices(0);
186 if ( vx-> nTrackParticles() >= 3) countVertices++;
189 nvrt_rec = countVertices;
203 for (; tsos != tsosEnd; ++tsos) {
204 mesb = (*tsos)->measurementOnTrack();
206 if(rotp !=
nullptr) {
214 if (trtcirc !=
nullptr) {
216 tparp = ((*tsos)->trackParameters());
219 if (tparp ==
nullptr) {
222 if (dcp ==
nullptr) {
223 msg(MSG::ERROR) <<
"strange: prepRawData not available" <<
endmsg;
228 output->push_back(newhit);
241 if(errsq<0) errsq=1.0;
243 bool isvalid =
false;
265 float HTCorrection = 0;
274 if(errsq<0) errsq=1.0;
277 if(errsq<0) errsq=1.0;
292 }
else if (chip<12) {
300 int isArgonStraw = 0;
312 float h_timeResidual = h_driftTime - h_trkDriftTime;
322 float d = h_residualVariance;
324 float h_chiSquare = h_residual*h_residual/
d ;
331 h_hasValidDriftTime &&
341 drrtrack = sqrt(errsq);
345 tparp = ((*tsos)->trackParameters());
346 HitOnTrackToRemove = *tsos;
348 if(HitOnTrackToRemove){
350 HitOnTrackToRemove->measurementOnTrack()->localParameters(),
351 HitOnTrackToRemove->measurementOnTrack()->localCovariance()).
release();
352 ATH_MSG_DEBUG (
"TrackParameters 1: " << *(HitOnTrackToRemove->trackParameters()));
355 msg() <<
"TrackParameters 1: nullptr" <<
endmsg;
358 if(unbiasedTrkParameters){
362 if(errsq<0) errsq=1.;
363 drrtrackunbias = sqrt(errsq);
365 if( rtrelation ) ttrackunbias = rtrelation->
drifttime(std::abs( rtrackunbias ));
366 ATH_MSG_DEBUG(
"Unbiased TrackParameters 2: " << *unbiasedTrkParameters );
373 float const ntvar[40]={
429 msg(MSG::ERROR) <<
"TRT drift RIO cast failed - no hit stored" <<
endmsg;
438 <<
output->size() <<
" hits had FULL info available" <<
endmsg;
442 delete unbiasedTrkParameters;
◆ finalize()
StatusCode FillAlignTRTHits::finalize |
( |
| ) |
|
|
virtual |
◆ initialize()
StatusCode FillAlignTRTHits::initialize |
( |
| ) |
|
|
virtual |
Definition at line 68 of file FillAlignTRTHits.cxx.
69 msg(MSG::INFO) <<
"initialize() " <<
endmsg;
72 return StatusCode::FAILURE;
76 return StatusCode::FAILURE;
82 return StatusCode::FAILURE;
86 return StatusCode::FAILURE;
94 return StatusCode::FAILURE;
102 if (
sc.isFailure()) {
108 ATH_MSG_DEBUG (
"No Updator for unbiased track states given, use normal states!");
116 return StatusCode::FAILURE;
122 m_ntuple =
new TNtuple(
"ntuple",
"TRT calibration ntuple",
"run:evt:lbn:nvx:trk:det:lay:mod:stl:stw:brd:chp:sid:locx:locy:locz:x:y:z:r:dr:t:rtrack:drrtrack:rtrackunbias:drrtrackunbias:ttrack:ttrackunbias:t0:ephase:phi:theta:pt:qoverp:d0:ToT:HT:ToTCorrection:HTCorrection:isArgonStraw");
123 return StatusCode::SUCCESS;
◆ 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()
const InterfaceID & IFillAlignTrkInfo::interfaceID |
( |
| ) |
|
|
inlinestaticinherited |
◆ 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.
◆ 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_DetID
◆ m_detStore
◆ m_DoMCCosmicTimeShift
float FillAlignTRTHits::m_DoMCCosmicTimeShift |
|
private |
◆ m_driftFunctionTool
◆ m_evtStore
◆ m_f
TFile* FillAlignTRTHits::m_f |
|
private |
◆ m_maxDistance
float FillAlignTRTHits::m_maxDistance |
|
private |
◆ m_maxTimeResidual
float FillAlignTRTHits::m_maxTimeResidual |
|
private |
◆ m_maxTrackChisquarePerDof
float FillAlignTRTHits::m_maxTrackChisquarePerDof |
|
private |
◆ m_minTimebinsOverThreshold
int FillAlignTRTHits::m_minTimebinsOverThreshold |
|
private |
◆ m_neighbourSvc
◆ m_ntuple
TNtuple* FillAlignTRTHits::m_ntuple |
|
private |
◆ m_ntupleName
Gaudi::Property<std::string> FillAlignTRTHits::m_ntupleName {this, "NtupleName" , "basic.root", "Changes the name of the ntuple Output"} |
|
private |
◆ m_numOfHitsAccepted
unsigned int FillAlignTRTHits::m_numOfHitsAccepted |
|
private |
◆ m_numOfHitsTotal
unsigned int FillAlignTRTHits::m_numOfHitsTotal |
|
private |
◆ m_numOfProcessedTracks
unsigned int FillAlignTRTHits::m_numOfProcessedTracks |
|
private |
◆ m_trtcaldbTool
ToolHandle<ITRT_CalDbTool> FillAlignTRTHits::m_trtcaldbTool {this, "TRTCalDbTool", "CalDbTool", "Access to the folder of the calibration constants"} |
|
private |
◆ m_TRTID
◆ m_TRTStrawSummaryTool
ToolHandle<ITRT_StrawStatusSummaryTool> FillAlignTRTHits::m_TRTStrawSummaryTool {this, "TRTStrawSummaryTool", "InDetTRTStrawStatusSummaryTool", ""} |
|
private |
◆ m_updator
◆ m_updatorHandle
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
Trk::DriftCircleSide side() const
returns the side on which the drift radius is.
def retrieve(aClass, aKey=None)
bool is_pixel(Identifier id) const
virtual const TRT_DriftCircle * prepRawData() const override final
returns the PrepRawData - is a TRT_DriftCircle in this scope
float m_DoMCCosmicTimeShift
Scalar phi() const
phi method
unsigned int m_numOfProcessedTracks
bool is_sct(Identifier id) const
const Amg::Vector3D & position() const
Access method for the position.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
const Trk::TrackStates * trackStateOnSurfaces() const
return a pointer to a const DataVector of const TrackStateOnSurfaces.
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
double timeOverThreshold() const
returns Time over threshold in ns
Scalar theta() const
theta method
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
unsigned int m_numOfHitsAccepted
bool msgLvl(const MSG::Level lvl) const
Trk::IUpdator * m_updator
updator for unbiased states
const AtlasDetectorID * m_DetID
bool is_trt(Identifier id) const
ToolHandle< ITRT_CalDbTool > m_trtcaldbTool
ServiceHandle< ITRT_StrawNeighbourSvc > m_neighbourSvc
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
ToolHandle< ITRT_DriftFunctionTool > m_driftFunctionTool
virtual void setOwner(IDataHandleHolder *o)=0
int straw(const Identifier &id) const
float m_maxTrackChisquarePerDof
double driftTime(bool &valid) const
returns the raw driftTime, the passed boolean indicates if the drift time is valid or not.
virtual std::unique_ptr< TrackParameters > removeFromState(const TrackParameters &, const Amg::Vector2D &, const Amg::MatrixX &) const =0
the reverse updating or inverse KalmanFilter removes a measurement from the track state,...
virtual float drifttime(float radius) const =0
drifttime for given radius
::StatusCode StatusCode
StatusCode definition for legacy code.
ToolHandle< ITRT_StrawStatusSummaryTool > m_TRTStrawSummaryTool
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
int layer_or_wheel(const Identifier &id) const
uint32_t lumiBlock() const
The current event's luminosity block number.
const Amg::MatrixX & localCovariance() const
Interface method to get the localError.
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
unsigned int m_numOfHitsTotal
const Perigee * perigeeParameters() const
return Perigee.
represents the track state (measurement, material, fit parameters and quality) at a surface.
double error(const Amg::MatrixX &mat, int index)
return diagonal error of the matrix caller should ensure the matrix is symmetric and the index is in ...
int phi_module(const Identifier &id) const
const LocalParameters & localParameters() const
Interface method to get the LocalParameters.
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
Gaudi::Property< std::string > m_ntupleName
value_type get_compact(void) const
Get the compact id.
Class describing a Vertex.
bool highLevel() const
returns true if the high level threshold was passed
virtual Identifier identify() const final
return the identifier -extends MeasurementBase
virtual float drdt(float driftime) const =0
driftvelocity for given drifttime
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
int m_minTimebinsOverThreshold
virtual const TrkDetElementBase * detectorElement() const =0
returns the detector element, assoicated with the PRD of this class
ToolHandle< Trk::IUpdator > m_updatorHandle
virtual const Amg::Vector3D & center() const =0
Return the center of the element.
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.
Identifier straw_id(int barrel_ec, int phi_module, int layer_or_wheel, int straw_layer, int straw) const
Three ways of getting id for a single straw: