|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef MUON_MDTDRIFTCIRCLEONTRACKCREATOR_H
6 #define MUON_MDTDRIFTCIRCLEONTRACKCREATOR_H
13 #include "GaudiKernel/PhysicalConstants.h"
24 class MdtCalibToolInput;
112 const double t0Shift = 0.,
115 const double tTrack = 1)
const override final;
187 const double tShift)
const;
226 Gaudi::Property<bool>
m_doMdt{
this,
"doMDT",
true};
234 "Tolerance used for the Surface::globalToLocal"};
242 "Default error strategy to be used in calculating errors"};
261 Gaudi::Property<bool>
m_t0Refit{
this,
"T0RefitError",
false};
267 Gaudi::Property<bool>
m_isMC{
this,
"IsMC",
false};
273 "Use error strategy for MC"};
275 "This tool is too complicated to rely on defaults. Will fail if not configured."};
double mooreErrorStrategyTight(const MuonDriftCircleErrorStrategy &myStrategy, double sigmaR, const Identifier &id) const
static double parametrisedSigma(double r)
double mooreErrorStrategy(const MuonDriftCircleErrorStrategy &myStrategy, double sigmaR, const Identifier &id) const
Trk::LocalParameters locPars
Gaudi::Property< bool > m_errorAtPredictedPosition
Add a term to the error to account for very poorly aligned stations.
@ COSMICS_TRIGGERTIME
case for normal cosmic data with rpc trigger or simulation including TOF.
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Gaudi::Property< bool > m_stationError
Add a special error to account for the T0 refit.
virtual const MuonDriftCircleErrorStrategy & errorStrategy() const override
Returns the default error strategy object.
virtual ~MdtDriftCircleOnTrackCreator()=default
Gaudi::Property< bool > m_doMdt
Process MDT ROTs.
Gaudi::Property< double > m_globalToLocalTolerance
@ ATLTIME
normal time of flight corrections assuming IP + light speed to be used for simulated data and collisi...
CalibrationOutput(Trk::LocalParameters lp, Amg::MatrixX le, double t, bool ok)
@ NO_CORRECTIONS
special case for cosmics taken with scintilator trigger which is read out so the offset with respect ...
bool const RAWDATA *ch2 const
double muonErrorStrategy(const MuonDriftCircleErrorStrategy &myStrategy, double sigmaR, const Identifier &id) const
MdtDriftCircleOnTrackCreator(const std::string &, const std::string &, const IInterface *)
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
virtual void updateSign(MdtDriftCircleOnTrack &rot, const Trk::DriftCircleSide si) const override final
Update of the sign of the drift radius.
Interface for tools calibrating MdtPrepData, turning them into Muon::MdtDriftCircleOnTrack object.
ToolHandle< IMdtCalibrationTool > m_mdtCalibrationTool
TrackParameters_v1 TrackParameters
MuonDriftCircleErrorStrategy m_errorStrategy
< Error strategy for created ROTs
std::bitset< 23 > MuonDriftCircleErrorStrategyInput
virtual StatusCode initialize() override final
Gaudi::Property< bool > m_looseErrors
::StatusCode StatusCode
StatusCode definition for legacy code.
Gaudi::Property< bool > m_t0Refit
Use error strategy for segments by default.
double mooreErrorStrategyLoose(const MuonDriftCircleErrorStrategy &myStrategy, double sigmaR, const Identifier &id) const
Gaudi::Property< bool > m_doIndividualChamberReweights
toggle between MC and data alignment errors (to be removed in rel.
static constexpr double s_inverseSpeedOfLight
double mooreErrorStrategyMC(const MuonDriftCircleErrorStrategy &myStrategy, double sigmaR, const Identifier &id) const
Ensure that the ATLAS eigen extensions are properly loaded.
Definition of ATLAS Math & Geometry primitives (Amg)
Gaudi::Property< bool > m_doSegments
Deweight individual chambers.
Gaudi::Property< bool > m_useErrorParametrisation
Use the predicted track position to correct the Error.
This class represents the corrected MDT measurements, where the corrections include the effects of wi...
CalibrationOutput getLocalMeasurement(const EventContext &ctx, const MdtPrepData &DC, const MdtCalibInput &calibInput, const MuonDriftCircleErrorStrategy &strategy) const
preform the mdt calibration
Class to represent measurements from the Monitored Drift Tubes.
Eigen::Matrix< double, 3, 1 > Vector3D
double timeOfFlight(const Amg::Vector3D &pos, const double beta, const double tTrack, const double tShift) const
DriftCircleSide
Enumerates the 'side' of the wire on which the tracks passed (i.e.
Gaudi::Property< bool > m_isMC
toggle whether the time of flight is included in the t0 shifts
Gaudi::Property< bool > m_wasConfigured
Gaudi::Property< bool > m_createTubeHits
Scale ROTs depending on local alignment (i.e.
double getTriggerTime() const
currently returns 0.
Gaudi::Property< bool > m_applyToF
toggle between loose errors (initial before alignment) and tight after alignment
virtual Trk::RIO_OnTrack * correct(const Trk::PrepRawData &prd, const Trk::TrackParameters &tp, const EventContext &) const override
Base class method for correct.
Gaudi::Property< int > m_timeCorrectionType
Interface for the reconstruction to MDT calibration and alignment corrections.
virtual MdtRotPtr createRIO_OnTrack(const MdtPrepData &prd, const Amg::Vector3D &globalPos, const Amg::Vector3D *gdir=nullptr, const double t0Shift=0., const MuonDriftCircleErrorStrategy *strategy=nullptr, const double beta=1, const double tTrack=1) const override final
Calibrate a MdtPrepData object.
Gaudi::Property< bool > m_scaleMdtCov
Fixed error (not tube radius)
struct to hold output of calibration
virtual MdtRotPtr updateError(const MdtDriftCircleOnTrack &DCT, const Trk::TrackParameters *pars=nullptr, const MuonDriftCircleErrorStrategy *strategy=nullptr) const override
Update error of a ROT without changing the drift radius.
Gaudi::Property< bool > m_doFixedError
Use parameterised errors.
Gaudi::Property< std::string > m_defaultStrategy
if set to true, the ROT creator create 'tube' hits with a local position of 0 and an error of tube ra...
Gaudi::Property< double > m_fixedError
< Error used when m_doFixed error =true or m_scaleErrorManually = true
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc