#include <DTNoDriftAlgo.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, const GlobalPoint &globPos, DTRecHit1D &newHit1D) const override |
bool | compute (const DTLayer *layer, const DTRecHit1D &recHit1D, const float &angle, DTRecHit1D &newHit1D) const override |
DTNoDriftAlgo (const edm::ParameterSet &config) | |
Constructor. More... | |
edm::OwnVector< DTRecHit1DPair > | reconstruct (const DTLayer *layer, const DTLayerId &layerId, const DTDigiCollection::Range &digiRange) override |
void | setES (const edm::EventSetup &setup) override |
Pass the Event Setup to the algo at each event. More... | |
~DTNoDriftAlgo () override | |
Destructor. More... | |
Public Member Functions inherited from DTRecHitBaseAlgo | |
DTRecHitBaseAlgo (const edm::ParameterSet &config) | |
Constructor. More... | |
virtual | ~DTRecHitBaseAlgo () |
Destructor. More... | |
Private Member Functions | |
virtual bool | compute (const DTLayer *layer, const DTWireId &wireId, const float digiTime, const GlobalPoint &globPos, DTRecHit1D &newHit1D, int step) const |
virtual bool | compute (const DTLayer *layer, const DTWireId &wireId, const float digiTime, const GlobalPoint &globPos, LocalPoint &leftPoint, LocalPoint &rightPoint, LocalError &error, int step) const |
Private Attributes | |
const bool | debug |
const float | fixedDrift |
const float | hitResolution |
const float | maxTime |
const float | minTime |
Additional Inherited Members | |
Protected Attributes inherited from DTRecHitBaseAlgo | |
std::unique_ptr< DTTTrigBaseSync > | theSync |
Concrete implementation of DTRecHitBaseAlgo. Create pair of RecHits at fixed distance from the wire.
Definition at line 15 of file DTNoDriftAlgo.h.
DTNoDriftAlgo::DTNoDriftAlgo | ( | const edm::ParameterSet & | config | ) |
|
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 78 of file DTNoDriftAlgo.cc.
References relativeConstraints::error, DTLayer::id(), DTTopology::isWireValid(), DTLayer::specificTopology(), DTDigi::time(), GeomDet::toGlobal(), DTDigi::wire(), and DTTopology::wirePosition().
Referenced by compute(), and reconstruct().
|
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 103 of file DTNoDriftAlgo.cc.
References compute(), DTRecHit1D::digiTime(), and DTRecHit1D::wireId().
|
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 94 of file DTNoDriftAlgo.cc.
References DTRecHit1D::localPosition(), DTRecHit1D::localPositionError(), and DTRecHit1D::setPositionAndError().
|
privatevirtual |
Definition at line 166 of file DTNoDriftAlgo.cc.
References compute(), relativeConstraints::error, Exception, DTEnums::Left, DTRecHit1D::lrSide(), DTEnums::Right, and DTRecHit1D::setPositionAndError().
|
privatevirtual |
Definition at line 112 of file DTNoDriftAlgo.cc.
References gather_cfg::cout, debug, shallow::drift(), relativeConstraints::error, fixedDrift, hitResolution, DTTopology::isWireValid(), maxTime, DTLayer::specificTopology(), DTWireId::wire(), DTTopology::wirePosition(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
|
overridevirtual |
MM: Override virtual function from DTRecHitBaseAlgo--> for the NoDrift algorithm only a maximum of one hit per wire is allowed! Build all hits in the range associated to the layerId, at the 1st step.
Reimplemented from DTRecHitBaseAlgo.
Definition at line 34 of file DTNoDriftAlgo.cc.
References compute(), DTEnums::Left, mps_fire::result, DTEnums::Right, and DTRecHit1DPair::setPositionAndError().
|
overridevirtual |
Pass the Event Setup to the algo at each event.
Implements DTRecHitBaseAlgo.
Definition at line 29 of file DTNoDriftAlgo.cc.
|
private |
Definition at line 96 of file DTNoDriftAlgo.h.
Referenced by compute(), runTauIdMVA.TauIDEmbedder::loadMVA_WPs_run2_2017(), and runTauIdMVA.TauIDEmbedder::runTauID().
|
private |
Definition at line 84 of file DTNoDriftAlgo.h.
Referenced by compute().
|
private |
Definition at line 87 of file DTNoDriftAlgo.h.
Referenced by compute().
|
private |
Definition at line 93 of file DTNoDriftAlgo.h.
Referenced by compute().
|
private |
Definition at line 90 of file DTNoDriftAlgo.h.