|
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_updator {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", ""} |
|
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);
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
◆ fill()
INCLUDE TO HAVE UNBIAS RESIDUAL!!
END INCLUDE TO HAVE UNBIAS RESIDUAL!!
Implements IFillAlignTrkInfo.
Definition at line 85 of file FillAlignTRTHits.cxx.
89 float rtrackunbias = 0;
90 float drrtrackunbias = 0;
92 float ttrackunbias = 0;
131 int countVertices(0);
134 if ( vx-> nTrackParticles() >= 3) countVertices++;
137 nvrt_rec = countVertices;
151 for (; tsos != tsosEnd; ++tsos) {
152 mesb = (*tsos)->measurementOnTrack();
154 if(rotp !=
nullptr) {
162 if (trtcirc !=
nullptr) {
164 tparp = ((*tsos)->trackParameters());
167 if (tparp ==
nullptr) {
170 if (dcp ==
nullptr) {
171 msg(MSG::ERROR) <<
"strange: prepRawData not available" <<
endmsg;
176 output->push_back(newhit);
189 if(errsq<0) errsq=1.0;
191 bool isvalid =
false;
213 float HTCorrection = 0;
222 if(errsq<0) errsq=1.0;
225 if(errsq<0) errsq=1.0;
240 }
else if (chip<12) {
248 int isArgonStraw = 0;
260 float h_timeResidual = h_driftTime - h_trkDriftTime;
270 float d = h_residualVariance;
272 float h_chiSquare = h_residual*h_residual/
d ;
279 h_hasValidDriftTime &&
289 drrtrack = sqrt(errsq);
293 tparp = ((*tsos)->trackParameters());
294 HitOnTrackToRemove = *tsos;
296 if(HitOnTrackToRemove){
297 unbiasedTrkParameters =
m_updator->removeFromState(*(HitOnTrackToRemove->trackParameters()),
298 HitOnTrackToRemove->measurementOnTrack()->localParameters(),
299 HitOnTrackToRemove->measurementOnTrack()->localCovariance()).
release();
300 ATH_MSG_DEBUG (
"TrackParameters 1: " << *(HitOnTrackToRemove->trackParameters()));
303 msg() <<
"TrackParameters 1: nullptr" <<
endmsg;
306 if(unbiasedTrkParameters){
310 if(errsq<0) errsq=1.;
311 drrtrackunbias = sqrt(errsq);
313 if( rtrelation ) ttrackunbias = rtrelation->
drifttime(std::abs( rtrackunbias ));
314 ATH_MSG_DEBUG(
"Unbiased TrackParameters 2: " << *unbiasedTrkParameters );
321 float const ntvar[40]={
377 msg(MSG::ERROR) <<
"TRT drift RIO cast failed - no hit stored" <<
endmsg;
386 <<
output->size() <<
" hits had FULL info available" <<
endmsg;
390 delete unbiasedTrkParameters;
◆ finalize()
StatusCode FillAlignTRTHits::finalize |
( |
| ) |
|
|
virtual |
◆ initialize()
StatusCode FillAlignTRTHits::initialize |
( |
| ) |
|
|
virtual |
Definition at line 59 of file FillAlignTRTHits.cxx.
70 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");
71 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_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
value_type get_compact() const
Get the compact id.
unsigned int m_numOfHitsAccepted
bool msgLvl(const MSG::Level lvl) const
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 float drifttime(float radius) const =0
drifttime for given radius
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
Class describing a Vertex.
bool highLevel() const
returns true if the high level threshold was passed
ToolHandle< Trk::IUpdator > m_updator
Identifier identify() const
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
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: