#include <DTLinearDriftFromDBAlgo.h>
Public Member Functions | |
bool | compute (const DTLayer *layer, const DTDigi &digi, LocalPoint &leftPoint, LocalPoint &rightPoint, LocalError &error) const override |
bool | compute (const DTLayer *layer, const DTRecHit1D &recHit1D, const float &angle, DTRecHit1D &newHit1D) const override |
bool | compute (const DTLayer *layer, const DTRecHit1D &recHit1D, const float &angle, const GlobalPoint &globPos, DTRecHit1D &newHit1D) const override |
DTLinearDriftFromDBAlgo (const edm::ParameterSet &config, edm::ConsumesCollector cc) | |
Constructor. More... | |
void | setES (const edm::EventSetup &setup) override |
Pass the Event Setup to the algo at each event. More... | |
~DTLinearDriftFromDBAlgo () override | |
Destructor. More... | |
Public Member Functions inherited from DTRecHitBaseAlgo | |
DTRecHitBaseAlgo (const edm::ParameterSet &config, edm::ConsumesCollector) | |
Constructor. More... | |
virtual edm::OwnVector < DTRecHit1DPair > | reconstruct (const DTLayer *layer, const DTLayerId &layerId, const DTDigiCollection::Range &digiRange) |
Build all hits in the range associated to the layerId, at the 1st step. More... | |
virtual | ~DTRecHitBaseAlgo () |
Destructor. More... | |
Private Member Functions | |
virtual bool | compute (const DTLayer *layer, const DTWireId &wireId, const float digiTime, const GlobalPoint &globPos, LocalPoint &leftPoint, LocalPoint &rightPoint, LocalError &error, int step) const |
virtual bool | compute (const DTLayer *layer, const DTWireId &wireId, const float digiTime, const GlobalPoint &globPos, DTRecHit1D &newHit1D, int step) const |
Private Attributes | |
const bool | debug |
const bool | doVdriftCorr |
const MagneticField * | field |
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > | fieldToken_ |
const float | maxTime |
const float | minTime |
const DTMtime * | mTimeMap |
edm::ESGetToken< DTMtime, DTMtimeRcd > | mTimeMapToken_ |
int | nominalB |
bool | readLegacyTTrigDB |
bool | readLegacyVDriftDB |
const bool | stepTwoFromDigi |
const DTRecoConditions * | uncertMap |
edm::ESGetToken < DTRecoConditions, DTRecoConditionsUncertRcd > | uncertMapToken_ |
bool | useUncertDB |
const DTRecoConditions * | vDriftMap |
edm::ESGetToken < DTRecoConditions, DTRecoConditionsVdriftRcd > | vDriftMapToken_ |
Additional Inherited Members | |
Protected Attributes inherited from DTRecHitBaseAlgo | |
std::unique_ptr< DTTTrigBaseSync > | theSync |
Concrete implementation of DTRecHitBaseAlgo. Compute drift distance using constant drift velocity read from database.
Definition at line 23 of file DTLinearDriftFromDBAlgo.h.
DTLinearDriftFromDBAlgo::DTLinearDriftFromDBAlgo | ( | const edm::ParameterSet & | config, |
edm::ConsumesCollector | cc | ||
) |
Constructor.
Definition at line 28 of file DTLinearDriftFromDBAlgo.cc.
References edm::ConsumesCollector::esConsumes(), mTimeMapToken_, readLegacyVDriftDB, uncertMapToken_, useUncertDB, and vDriftMapToken_.
|
override |
|
overridevirtual |
First step in computation of Left/Right hits from a Digi. The results are the local position (in DTLayer frame) of the Left and Right hit, and the error (which is common). Returns false on failure. The hit is assumed to be at the wire center.
Implements DTRecHitBaseAlgo.
Definition at line 99 of file DTLinearDriftFromDBAlgo.cc.
References relativeConstraints::error, DTLayer::id(), DTTopology::isWireValid(), DTLayer::specificTopology(), DTDigi::time(), GeomDet::toGlobal(), DTDigi::wire(), and DTTopology::wirePosition().
Referenced by compute().
|
overridevirtual |
Second step in hit position computation. It is the same as first step since the angular information is not used NOTE: Only position and error of the new hit are modified
Implements DTRecHitBaseAlgo.
Definition at line 115 of file DTLinearDriftFromDBAlgo.cc.
References compute(), DTRecHit1D::digiTime(), DTTopology::isWireValid(), DTRecHit1D::localPosition(), DTRecHit1D::localPositionError(), DTRecHit1D::setPositionAndError(), DTLayer::specificTopology(), stepTwoFromDigi, GeomDet::toGlobal(), DTWireId::wire(), DTRecHit1D::wireId(), and DTTopology::wirePosition().
|
overridevirtual |
Third (and final) step in hits position computation. Also the hit position along the wire is available and can be used to correct the drift time for particle TOF and propagation of signal along the wire. NOTE: Only position and error of the new hit are modified
Implements DTRecHitBaseAlgo.
Definition at line 136 of file DTLinearDriftFromDBAlgo.cc.
References compute(), DTRecHit1D::digiTime(), and DTRecHit1D::wireId().
|
privatevirtual |
cf. http://arxiv.org/PS_cache/arxiv/pdf/0911/0911.4895v2.pdf
Definition at line 145 of file DTLinearDriftFromDBAlgo.cc.
References funct::abs(), writedatasetfile::args, DTVelocityUnits::cm_per_ns, debug, doVdriftCorr, shallow::drift(), DTRecoConditions::get(), DTMtime::get(), DTTopology::isWireValid(), maxTime, mTimeMap, nominalB, readLegacyVDriftDB, DTLayer::specificTopology(), DTChamberId::station(), DTSuperLayerId::superLayer(), DTLayerId::superlayerId(), DTRecHitBaseAlgo::theSync, GeomDet::toLocal(), uncertMap, useUncertDB, vDriftMap, DTChamberId::wheel(), DTWireId::wire(), DTTopology::wirePosition(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
|
privatevirtual |
Definition at line 235 of file DTLinearDriftFromDBAlgo.cc.
References compute(), relativeConstraints::error, Exception, DTEnums::Left, DTRecHit1D::localPosition(), DTRecHit1D::lrSide(), DTEnums::Right, DTRecHit1D::setPositionAndError(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
|
overridevirtual |
Pass the Event Setup to the algo at each event.
Implements DTRecHitBaseAlgo.
Definition at line 57 of file DTLinearDriftFromDBAlgo.cc.
References debug, Exception, field, fieldToken_, edm::EventSetup::getData(), mTimeMap, mTimeMapToken_, nominalB, MagneticField::nominalValue(), readLegacyVDriftDB, DTRecHitBaseAlgo::theSync, uncertMap, uncertMapToken_, useUncertDB, vDriftMap, vDriftMapToken_, DTRecoConditions::version(), DTMtime::version(), and relval_steps::version.
|
private |
Definition at line 123 of file DTLinearDriftFromDBAlgo.h.
Referenced by compute(), runTauIdMVA.TauIDEmbedder::loadMVA_WPs_run2_2017(), runTauIdMVA.TauIDEmbedder::runTauID(), and setES().
|
private |
Definition at line 108 of file DTLinearDriftFromDBAlgo.h.
Referenced by compute().
|
private |
Definition at line 93 of file DTLinearDriftFromDBAlgo.h.
Referenced by setES().
|
private |
Definition at line 94 of file DTLinearDriftFromDBAlgo.h.
Referenced by setES().
|
private |
Definition at line 105 of file DTLinearDriftFromDBAlgo.h.
Referenced by compute().
|
private |
Definition at line 102 of file DTLinearDriftFromDBAlgo.h.
|
private |
Definition at line 85 of file DTLinearDriftFromDBAlgo.h.
|
private |
Definition at line 86 of file DTLinearDriftFromDBAlgo.h.
Referenced by DTLinearDriftFromDBAlgo(), and setES().
|
private |
Definition at line 95 of file DTLinearDriftFromDBAlgo.h.
|
private |
Definition at line 119 of file DTLinearDriftFromDBAlgo.h.
|
private |
Definition at line 120 of file DTLinearDriftFromDBAlgo.h.
Referenced by compute(), DTLinearDriftFromDBAlgo(), and setES().
|
private |
Definition at line 112 of file DTLinearDriftFromDBAlgo.h.
Referenced by compute().
|
private |
Definition at line 98 of file DTLinearDriftFromDBAlgo.h.
|
private |
Definition at line 99 of file DTLinearDriftFromDBAlgo.h.
Referenced by DTLinearDriftFromDBAlgo(), and setES().
|
private |
Definition at line 116 of file DTLinearDriftFromDBAlgo.h.
Referenced by compute(), DTLinearDriftFromDBAlgo(), and setES().
|
private |
Definition at line 89 of file DTLinearDriftFromDBAlgo.h.
|
private |
Definition at line 90 of file DTLinearDriftFromDBAlgo.h.
Referenced by DTLinearDriftFromDBAlgo(), and setES().