ATLAS Offline Software
Classes | Public Types | Public Member Functions | Static Public Attributes | List of all members
IMdtCalibrationTool Class Referenceabstract

#include <IMdtCalibrationTool.h>

Inheritance diagram for IMdtCalibrationTool:
Collaboration diagram for IMdtCalibrationTool:

Classes

struct  ToolSettings
 

Public Types

enum  timeWindowMode {
  UserDefined = 0, Default = 1, CollisionG4 = 2, CollisionData = 3,
  CollisionFitT0 = 4
}
 

Public Member Functions

virtual ~IMdtCalibrationTool ()=default
 destructor More...
 
 DeclareInterfaceID (IMdtCalibrationTool, 1, 0)
 implements IInterface More...
 
virtual MdtCalibOutput calibrate (const EventContext &ctx, const MdtCalibInput &hit, bool resolFromRtrack=false) const =0
 Convert the raw MDT time (+charge) into a drift radius + error. More...
 
virtual MdtCalibTwinOutput calibrateTwinTubes (const EventContext &ctx, MdtCalibInput &&primHit, MdtCalibInput &&twinHit) const =0
 Convert the raw MDT times of two twin hits into a Twin position (coordinate along tube) It returns whether the conversion was successful. More...
 
virtual const MuonCalib::MdtFullCalibDatagetCalibConstants (const EventContext &ctx, const Identifier &channelId) const =0
 
virtual double getResolutionFromRt (const EventContext &ctx, const Identifier &module, const double time) const =0
 
virtual ToolSettings getSettings () const =0
 

Static Public Attributes

static constexpr double tdcBinSize = 0.78125
 Conversion to go from tdc counts -> drift Time. More...
 

Detailed Description

the Mdt Calib Service provides, on request, the drift radius and its error, computed applying the proper calibration, for any hit in Mdt chambers

Author
Martin Woudstra, Niels van Eldik

Definition at line 27 of file IMdtCalibrationTool.h.

Member Enumeration Documentation

◆ timeWindowMode

Enumerator
UserDefined 
Default 

User can configure the window.

CollisionG4 

1000, 2000

CollisionData 

20, 30

CollisionFitT0 

10, 30

Definition at line 30 of file IMdtCalibrationTool.h.

30  {
31  UserDefined = 0,
32  Default = 1,
33  CollisionG4 = 2,
34  CollisionData = 3,
35  CollisionFitT0 = 4,
36  };

Constructor & Destructor Documentation

◆ ~IMdtCalibrationTool()

virtual IMdtCalibrationTool::~IMdtCalibrationTool ( )
virtualdefault

destructor

Member Function Documentation

◆ calibrate()

virtual MdtCalibOutput IMdtCalibrationTool::calibrate ( const EventContext &  ctx,
const MdtCalibInput hit,
bool  resolFromRtrack = false 
) const
pure virtual

Convert the raw MDT time (+charge) into a drift radius + error.

It returns whether the conversion was successful.

Parameters
[in,out]hitHit must have pointer set to the MdtDigit, as well as the global hit position (including the position along the tube!)
[in]signedTracklengththe track length from the 'triggerpoint' to the hit. It is used for the time-of-flight correction. This triggerpoint is the I.P. for ATLAS p-p collisions, typically scintillators in test-beam and cosmic teststands, and not clear yet what is it is for cosmics in ATLAS. The sign is for determining the sign of the time-of-flight correction. If a muon first passes the triggerpoint, and then the MDT tube, the sign should be positive (the case for ATLAS p-p and H8 test-beam). If a muon first passes the MDT tube, and then de triggerpoint, the sign should be negative (typically the case for cosmic-ray teststands).
[in]triggerTimethe time of the 'triggerpoint' in ns. This is the time (measured with the same clock as the MDT TDC's) when the muon passed a known point in space: the 'triggerpoint'. For ATLAS this is 0.0 since the TDC's are synchonised w.r.t. the bunch-crossings. For H8 test-beam it is the trigger time, which is time when the muon passed the trigger scintillators. For cosmic-ray teststands it is usually also the time when the muon passed the trigger scintillators. For cosmics in ATLAS it is not clear yet.
[in]resolFromRtrackindicates the method to provide the resolution as a function of the distance of the reconstructed track from the anode wire instead of the drift radius

◆ calibrateTwinTubes()

virtual MdtCalibTwinOutput IMdtCalibrationTool::calibrateTwinTubes ( const EventContext &  ctx,
MdtCalibInput &&  primHit,
MdtCalibInput &&  twinHit 
) const
pure virtual

Convert the raw MDT times of two twin hits into a Twin position (coordinate along tube) It returns whether the conversion was successful.

◆ DeclareInterfaceID()

IMdtCalibrationTool::DeclareInterfaceID ( IMdtCalibrationTool  ,
,
 
)

implements IInterface

◆ getCalibConstants()

virtual const MuonCalib::MdtFullCalibData* IMdtCalibrationTool::getCalibConstants ( const EventContext &  ctx,
const Identifier channelId 
) const
pure virtual

◆ getResolutionFromRt()

virtual double IMdtCalibrationTool::getResolutionFromRt ( const EventContext &  ctx,
const Identifier module,
const double  time 
) const
pure virtual

◆ getSettings()

virtual ToolSettings IMdtCalibrationTool::getSettings ( ) const
pure virtual

Member Data Documentation

◆ tdcBinSize

constexpr double IMdtCalibrationTool::tdcBinSize = 0.78125
staticconstexpr

Conversion to go from tdc counts -> drift Time.

Definition at line 38 of file IMdtCalibrationTool.h.


The documentation for this class was generated from the following file:
IMdtCalibrationTool::UserDefined
@ UserDefined
Definition: IMdtCalibrationTool.h:31
IMdtCalibrationTool::CollisionFitT0
@ CollisionFitT0
10, 30
Definition: IMdtCalibrationTool.h:35
IMdtCalibrationTool::CollisionData
@ CollisionData
20, 30
Definition: IMdtCalibrationTool.h:34
IMdtCalibrationTool::CollisionG4
@ CollisionG4
1000, 2000
Definition: IMdtCalibrationTool.h:33
Default