|  | ATLAS Offline Software
    | 
 
 
 
Go to the documentation of this file.
   40     m_DetID(nullptr), m_TRTID(nullptr),
 
   42     m_maxTimeResidual(150),
 
   43     m_minTimebinsOverThreshold(2),
 
   44     m_maxTrackChisquarePerDof(10),
 
   46     m_numOfHitsAccepted(0),
 
   47     m_numOfProcessedTracks(0),
 
   48     m_DoMCCosmicTimeShift(0),
 
   49     m_f(nullptr), m_ntuple(nullptr)
 
   51     declareInterface<IFillAlignTrkInfo>(
this);
 
   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;
 
   81     return StatusCode::SUCCESS;
 
   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){
 
  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;
 
  
Trk::DriftCircleSide side() const
returns the side on which the drift radius is.
def retrieve(aClass, aKey=None)
bool is_pixel(Identifier id) const
const TrackParameters * trackParameters() const
return ptr to trackparameters const overload
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.
const Trk::TrackStates * trackStateOnSurfaces() const
return a pointer to a const DataVector of const TrackStateOnSurfaces.
abstract base class for rt-relations
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
This is an Identifier helper class for the TRT subdetector. This class is a factory for creating comp...
value_type get_compact() const
Get the compact id.
unsigned int m_numOfHitsAccepted
bool msgLvl(const MSG::Level lvl) const
const MeasurementBase * measurementOnTrack() const
returns MeasurementBase const overload
const AtlasDetectorID * m_DetID
bool is_trt(Identifier id) const
ToolHandle< ITRT_CalDbTool > m_trtcaldbTool
ServiceHandle< ITRT_StrawNeighbourSvc > m_neighbourSvc
virtual bool fill(const Trk::Track *aTrack, TRT::TrackInfo *output, const xAOD::EventInfo &eventInfo, const xAOD::VertexContainer &vertices)
FillAlignTRTHits(const std::string &type, const std::string &name, const IInterface *parent)
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
ToolHandle< ITRT_DriftFunctionTool > m_driftFunctionTool
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
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 StatusCode finalize()
virtual float drifttime(float radius) const =0
drifttime for given radius
::StatusCode StatusCode
StatusCode definition for legacy code.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
ToolHandle< ITRT_StrawStatusSummaryTool > m_TRTStrawSummaryTool
int barrel_ec(const Identifier &id) const
Values of different levels (failure returns 0)
int straw_layer(const Identifier &id) const
virtual StatusCode initialize()
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.
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
Class describing the basic event information.
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
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.
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: