|
|
|
| MkFitOutputConverter (edm::ParameterSet const &iConfig) |
|
| ~MkFitOutputConverter () override=default |
|
| EDProducer ()=default |
|
| EDProducer (const EDProducer &)=delete |
|
bool | hasAbilityToProduceInBeginLumis () const final |
|
bool | hasAbilityToProduceInBeginProcessBlocks () const final |
|
bool | hasAbilityToProduceInBeginRuns () const final |
|
bool | hasAbilityToProduceInEndLumis () const final |
|
bool | hasAbilityToProduceInEndProcessBlocks () const final |
|
bool | hasAbilityToProduceInEndRuns () const final |
|
EDProducer & | operator= (const EDProducer &)=delete |
|
bool | wantsGlobalLuminosityBlocks () const final |
|
bool | wantsGlobalRuns () const final |
|
bool | wantsInputProcessBlocks () const final |
|
bool | wantsProcessBlocks () const final |
|
bool | wantsStreamLuminosityBlocks () const final |
|
bool | wantsStreamRuns () const final |
|
| EDProducerBase () |
|
ModuleDescription const & | moduleDescription () const |
|
| ~EDProducerBase () override |
|
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
|
std::vector< edm::ProductResolverIndex > const & | indiciesForPutProducts (BranchType iBranchType) const |
|
| ProducerBase () |
|
std::vector< edm::ProductResolverIndex > const & | putTokenIndexToProductResolverIndex () const |
|
std::vector< bool > const & | recordProvenanceList () const |
|
void | registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &) |
|
std::function< void(BranchDescription const &)> | registrationCallback () const |
| used by the fwk to register list of products More...
|
|
void | resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel) |
|
TypeLabelList const & | typeLabelList () const |
| used by the fwk to register the list of products of this module More...
|
|
| ~ProducerBase () noexcept(false) override |
|
std::vector< ConsumesInfo > | consumesInfo () const |
|
void | convertCurrentProcessAlias (std::string const &processName) |
| Convert "@currentProcess" in InputTag process names to the actual current process name. More...
|
|
| EDConsumerBase () |
|
| EDConsumerBase (EDConsumerBase &&)=default |
|
| EDConsumerBase (EDConsumerBase const &)=delete |
|
ESProxyIndex const * | esGetTokenIndices (edm::Transition iTrans) const |
|
std::vector< ESProxyIndex > const & | esGetTokenIndicesVector (edm::Transition iTrans) const |
|
std::vector< ESRecordIndex > const & | esGetTokenRecordIndicesVector (edm::Transition iTrans) const |
|
ProductResolverIndexAndSkipBit | indexFrom (EDGetToken, BranchType, TypeID const &) const |
|
void | itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
|
void | itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
|
std::vector< ProductResolverIndexAndSkipBit > const & | itemsToGetFrom (BranchType iType) const |
|
void | labelsForToken (EDGetToken iToken, Labels &oLabels) const |
|
void | modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const * > *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const |
|
EDConsumerBase & | operator= (EDConsumerBase &&)=default |
|
EDConsumerBase const & | operator= (EDConsumerBase const &)=delete |
|
bool | registeredToConsume (ProductResolverIndex, bool, BranchType) const |
|
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
|
ProductResolverIndexAndSkipBit | uncheckedIndexFrom (EDGetToken) const |
|
void | updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet) |
|
void | updateLookup (eventsetup::ESRecordsToProxyIndices const &) |
|
virtual | ~EDConsumerBase () noexcept(false) |
|
|
std::pair< TrajectoryStateOnSurface, const GeomDet * > | backwardFit (const FreeTrajectoryState &fts, const edm::OwnVector< TrackingRecHit > &hits, const Propagator &propagatorAlong, const Propagator &propagatorOpposite, const TkClonerImpl &hitCloner, bool lastHitWasInvalid, bool lastHitWasChanged) const |
|
TrackCandidateCollection | convertCandidates (const MkFitOutputWrapper &mkFitOutput, const MkFitHitIndexMap &hitIndexMap, const edm::View< TrajectorySeed > &seeds, const TrackerGeometry &geom, const MagneticField &mf, const Propagator &propagatorAlong, const Propagator &propagatorOpposite, const TkClonerImpl &hitCloner, const std::vector< const DetLayer * > &detLayers, const mkfit::TrackVec &mkFitSeeds) const |
|
std::pair< TrajectoryStateOnSurface, const GeomDet * > | convertInnermostState (const FreeTrajectoryState &fts, const edm::OwnVector< TrackingRecHit > &hits, const Propagator &propagatorAlong, const Propagator &propagatorOpposite) const |
|
std::vector< const DetLayer * > | createDetLayers (const mkfit::LayerNumberConverter &lnc, const GeometricSearchTracker &tracker, const TrackerTopology &ttopo) const |
|
void | produce (edm::StreamID, edm::Event &iEvent, const edm::EventSetup &iSetup) const override |
|
|
typedef EDProducerBase | ModuleType |
|
using | ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > > |
|
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
|
typedef ProductLabels | Labels |
|
template<class ProductType > |
BranchAliasSetterT< ProductType > | produces () |
| declare what type of product will make and with which optional label More...
|
|
template<typename ProductType , BranchType B> |
BranchAliasSetterT< ProductType > | produces () |
|
template<typename ProductType , Transition B> |
BranchAliasSetterT< ProductType > | produces () |
|
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
|
template<BranchType B> |
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
|
template<Transition B> |
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
|
template<typename ProductType , Transition B> |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
|
template<class ProductType > |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
|
template<typename ProductType , BranchType B> |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
|
ProducesCollector | producesCollector () |
|
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
|
template<typename ProductType , BranchType B = InEvent> |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
|
template<BranchType B = InEvent> |
EDConsumerBaseAdaptor< B > | consumes (edm::InputTag tag) noexcept |
|
template<BranchType B> |
EDGetToken | consumes (TypeToGet const &id, edm::InputTag const &tag) |
|
ConsumesCollector | consumesCollector () |
| Use a ConsumesCollector to gather consumes information from helper functions. More...
|
|
template<typename ProductType , BranchType B = InEvent> |
void | consumesMany () |
|
void | consumesMany (const TypeToGet &id) |
|
template<BranchType B> |
void | consumesMany (const TypeToGet &id) |
|
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> |
auto | esConsumes () |
|
template<Transition Tr = Transition::Event> |
constexpr auto | esConsumes () noexcept |
|
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> |
auto | esConsumes (ESInputTag const &tag) |
|
template<Transition Tr = Transition::Event> |
auto | esConsumes (ESInputTag tag) noexcept |
|
template<Transition Tr = Transition::Event> |
ESGetTokenGeneric | esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey) |
| Used with EventSetupRecord::doGet. More...
|
|
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
|
template<BranchType B> |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
|
template<typename ProductType , BranchType B = InEvent> |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
|
Definition at line 61 of file MkFitOutputConverter.cc.
◆ MkFitOutputConverter()
Definition at line 117 of file MkFitOutputConverter.cc.
121 mteToken_{consumes<MeasurementTrackerEvent>(iConfig.getParameter<
edm::InputTag>(
"measurementTrackerEvent"))},
122 geomToken_{esConsumes<TrackerGeometry, TrackerDigiGeometryRecord>()},
124 esConsumes<Propagator, TrackingComponentsRecord>(iConfig.getParameter<
edm::ESInputTag>(
"propagatorAlong"))},
127 ttopoToken_{esConsumes<TrackerTopology, TrackerTopologyRcd>()},
128 mfToken_{esConsumes<MagneticField, IdealMagneticFieldRecord>()},
129 ttrhBuilderToken_{esConsumes<TransientTrackingRecHitBuilder, TransientRecHitRecord>(
References edm::ParameterSet::getParameter().
◆ ~MkFitOutputConverter()
MkFitOutputConverter::~MkFitOutputConverter |
( |
| ) |
|
|
overridedefault |
◆ backwardFit()
Definition at line 381 of file MkFitOutputConverter.cc.
392 for (
int i =
hits.size() - 1;
i >= 0; --
i) {
403 const auto& lastHitSurface = firstHits.front()->det()->surface();
407 if (lastHitWasInvalid || lastHitWasChanged) {
408 LogTrace(
"MkFitOutputConverter") <<
"Propagating first opposite, then along, because lastHitWasInvalid? "
409 << lastHitWasInvalid <<
" or lastHitWasChanged? " << lastHitWasChanged;
412 const auto lastHitSubdet = firstHits.front()->geographicalId().subdetId();
413 const auto& surfacePos = lastHitSurface.position();
414 const auto& lastHitPos = firstHits.front()->globalPosition();
415 bool doSwitch =
false;
417 doSwitch = (surfacePos.perp2() < lastHitPos.perp2());
419 doSwitch = (surfacePos.z() < lastHitPos.z());
423 <<
"Propagating first opposite, then along, because surface is inner than the hit; surface perp2 "
424 << surfacePos.perp() <<
" hit " << lastHitPos.perp2() <<
" surface z " << surfacePos.z() <<
" hit "
432 if (!tsosDouble.first.isValid()) {
433 LogDebug(
"MkFitOutputConverter") <<
"Propagating to startingState failed, trying in another direction next";
436 auto& startingState = tsosDouble.first;
438 if (!startingState.isValid()) {
440 <<
"startingState is not valid, FTS was\n"
441 << fts <<
" last hit surface surface:"
442 <<
"\n position " << lastHitSurface.
position() <<
"\n phiSpan " << lastHitSurface.phiSpan().first <<
","
443 << lastHitSurface.phiSpan().first <<
"\n rSpan " << lastHitSurface.rSpan().first <<
","
444 << lastHitSurface.rSpan().first <<
"\n zSpan " << lastHitSurface.zSpan().first <<
","
445 << lastHitSurface.zSpan().first;
446 return std::pair<TrajectoryStateOnSurface, const GeomDet*>();
450 startingState.rescaleError(100.);
455 KFTrajectoryFitter backFitter(
456 &
propagatorAlong, &aKFUpdator, &aChi2MeasurementEstimator, firstHits.size(),
nullptr, &hitCloner);
467 LogDebug(
"MkFitOutputConverter") <<
"using a backward fit of :" << firstHits.size() <<
" hits, starting from:\n"
468 << startingState <<
" to get the estimate of the initial state of the track.";
471 edm::LogWarning(
"MkFitOutputConverter") <<
"FitTester: first hits fit failed";
472 return std::pair<TrajectoryStateOnSurface, const GeomDet*>();
485 LogDebug(
"MkFitOutputConverter") <<
"the initial state is found to be:\n:" << firstState
486 <<
"\n it's field pointer is: " << firstState.magneticField()
487 <<
"\n the pointer from the state of the back fit was: "
490 return std::make_pair(firstState, firstMeas.
recHit()->det());
References Chi2MeasurementEstimator_cfi::Chi2MeasurementEstimator, hfClusterShapes_cfi::hits, mps_fire::i, PixelPluginsPhase0_cfi::isBarrel, Trajectory::isValid(), Trajectory::lastMeasurement(), TrajectoryStateOnSurface::localError(), TrajectoryStateOnSurface::localParameters(), LogDebug, LogTrace, TrajectoryStateOnSurface::magneticField(), oppositeToMomentum, FreeTrajectoryState::position(), Propagator::propagateWithPath(), HLT_FULL_cff::propagatorAlong, HLT_FULL_cff::propagatorOpposite, TrajectoryMeasurement::recHit(), TrajectoryStateOnSurface::rescaleError(), TrajectoryFitter::standard, TrajectoryStateOnSurface::surface(), std::swap(), and TrajectoryMeasurement::updatedState().
Referenced by convertCandidates().
◆ convertCandidates()
Definition at line 223 of file MkFitOutputConverter.cc.
242 LogTrace(
"MkFitOutputConverter") <<
"Candidate " << candIndex <<
" pT " <<
cand.pT() <<
" eta " <<
cand.momEta()
243 <<
" phi " <<
cand.momPhi() <<
" chi2 " <<
cand.chi2();
251 bool lastHitInvalid =
false;
253 const auto& hitOnTrack =
cand.getHitOnTrack(
i);
254 LogTrace(
"MkFitOutputConverter") <<
" hit on layer " << hitOnTrack.layer <<
" index " << hitOnTrack.index;
255 if (hitOnTrack.index < 0) {
266 const auto* detLayer = detLayers.at(hitOnTrack.layer);
267 if (detLayer ==
nullptr) {
268 throw cms::Exception(
"LogicError") <<
"DetLayer for layer index " << hitOnTrack.layer <<
" is null!";
273 lastHitInvalid =
true;
276 LogTrace(
"MkFitOutputConverter") <<
" pos " <<
recHits.back().globalPosition().x() <<
" "
277 <<
recHits.back().globalPosition().y() <<
" "
278 <<
recHits.back().globalPosition().z() <<
" mag2 "
279 <<
recHits.back().globalPosition().mag2() <<
" detid "
280 <<
recHits.back().geographicalId().rawId() <<
" cluster "
283 lastHitInvalid =
false;
287 const auto lastHitId =
recHits.back().geographicalId();
291 recHits.sort([](
const auto&
a,
const auto&
b) {
292 const auto asub =
a.geographicalId().subdetId();
293 const auto bsub =
b.geographicalId().subdetId();
299 const auto& apos =
a.globalPosition();
300 const auto& bpos =
b.globalPosition();
303 return apos.perp2() < bpos.perp2();
308 const bool lastHitChanged = (
recHits.back().geographicalId() != lastHitId);
311 const auto seedIndex =
cand.label();
312 LogTrace(
"MkFitOutputConverter") <<
" from seed " << seedIndex <<
" seed hits";
313 const auto& mkseed = mkFitSeeds.at(
cand.label());
314 for (
int i = 0;
i < mkseed.nTotalHits(); ++
i) {
315 const auto& hitOnTrack = mkseed.getHitOnTrack(
i);
316 LogTrace(
"MkFitOutputConverter") <<
" hit on layer " << hitOnTrack.layer <<
" index " << hitOnTrack.index;
318 const auto& candHitOnTrack =
cand.getHitOnTrack(
i);
319 if (hitOnTrack.layer != candHitOnTrack.layer) {
321 <<
"Candidate " << candIndex <<
" from seed " << seedIndex <<
" hit " <<
i
322 <<
" has different layer in candidate (" << candHitOnTrack.layer <<
") and seed (" << hitOnTrack.layer
324 <<
" Hit indices are " << candHitOnTrack.index <<
" and " << hitOnTrack.index <<
", respectively";
326 if (hitOnTrack.index != candHitOnTrack.index) {
327 throw cms::Exception(
"LogicError") <<
"Candidate " << candIndex <<
" from seed " << seedIndex <<
" hit " <<
i
328 <<
" has different hit index in candidate (" << candHitOnTrack.index
329 <<
") and seed (" << hitOnTrack.index <<
") on layer " << hitOnTrack.layer;
335 state.convertFromCCSToCartesian();
336 const auto& param =
state.parameters;
339 for (
int i = 0;
i < 6; ++
i) {
340 for (
int j =
i;
j < 6; ++
j) {
349 if (!fts.curvilinearError().posDef()) {
350 edm::LogWarning(
"MkFitOutputConverter") <<
"Curvilinear error not pos-def\n"
351 << fts.curvilinearError().matrix() <<
"\noriginal 6x6 covariance matrix\n"
352 << cov <<
"\ncandidate ignored";
360 if (!tsosDet.first.isValid()) {
362 <<
"Backward fit of candidate " << candIndex <<
" failed, ignoring the candidate";
373 seeds.refAt(seedIndex),
References a, funct::abs(), b, backwardFit(), backwardFitInCMSSW_, HLT_FULL_cff::candidates, MkFitOutputWrapper::candidateTracks(), TrackingRecHit::clone(), MkFitHitIndexMap::clusterIndex(), convertInnermostState(), submitPVResolutionJobs::err, Exception, MkFitOutputWrapper::fitTracks(), MkFitHitIndexMap::hitPtr(), mps_fire::i, MkFitHitIndexMap::MkFitHit::index(), PixelPluginsPhase0_cfi::isBarrel, dqmiolumiharvest::j, LogTrace, nhits, convertSQLitetoXML_cfg::output, trajectoryStateTransform::persistentState(), HLT_FULL_cff::propagatorAlong, HLT_FULL_cff::propagatorOpposite, FastTrackerRecHitMaskProducer_cfi::recHits, InitialStep_cff::seeds, and UNINITIALIZED.
Referenced by produce().
◆ convertInnermostState()
◆ createDetLayers()
Definition at line 181 of file MkFitOutputConverter.cc.
184 std::vector<const DetLayer*> dets(lnc.nLayers(),
nullptr);
186 auto isPlusSide = [&ttopo](
const DetId& detid) {
189 auto setDet = [&lnc, &dets, &isPlusSide](
190 const int subdet,
const int layer,
const int isStereo,
const DetId& detId,
const DetLayer* lay) {
191 const int index = lnc.convertLayerNumber(subdet,
layer,
false, isStereo, isPlusSide(detId));
192 if (
index < 0
or static_cast<unsigned>(
index) >= dets.size()) {
193 throw cms::Exception(
"LogicError") <<
"Invalid mkFit layer index " <<
index <<
" for det rawId " << detId.rawId()
195 <<
" subdet " << subdet <<
" layer " <<
layer <<
" isStereo " << isStereo;
199 constexpr
int monoLayer = 0;
200 constexpr
int stereoLayer = 1;
202 const auto&
comp = lay->basicComponents();
204 throw cms::Exception(
"LogicError") <<
"Got a tracker layer (subdet " << lay->subDetector()
205 <<
") with empty basicComponents.";
208 const auto& detId =
comp.front()->geographicalId();
209 const auto subdet = detId.subdetId();
213 setDet(subdet,
layer, monoLayer, detId, lay);
216 setDet(subdet,
layer, stereoLayer, detId, lay);
References AlCaHLTBitMon_QueryRunRegistry::comp, Exception, phase1PixelTopology::layer, TrackerTopology::layer(), or, PosEndcap, TrackerTopology::side(), StripSubdetector::TEC, StripSubdetector::TIB, StripSubdetector::TID, StripSubdetector::TOB, PbPb_ZMuSkimMuonDPG_cff::tracker, and UNLIKELY.
Referenced by produce().
◆ fillDescriptions()
◆ produce()
Implements edm::global::EDProducerBase.
Definition at line 151 of file MkFitOutputConverter.cc.
157 const auto* tkBuilder = dynamic_cast<TkTransientTrackingRecHitBuilder const*>(&ttrhBuilder);
159 throw cms::Exception(
"LogicError") <<
"TTRHBuilder must be of type TkTransientTrackingRecHitBuilder";
163 const auto detlayers =
References convertCandidates(), createDetLayers(), Exception, geomToken_, edm::EventSetup::getData(), InitialStep_cff::hitsSeeds, hitsSeedsToken_, iEvent, mfToken_, mteToken_, propagatorAlongToken_, propagatorOppositeToken_, putSeedStopInfoToken_, putTrackCandidateToken_, InitialStep_cff::seeds, seedToken_, tracksToken_, ttopoToken_, and ttrhBuilderToken_.
◆ backwardFitInCMSSW_
bool MkFitOutputConverter::backwardFitInCMSSW_ |
|
private |
◆ geomToken_
◆ hitsSeedsToken_
◆ mfToken_
◆ mteToken_
◆ propagatorAlongName_
std::string MkFitOutputConverter::propagatorAlongName_ |
|
private |
◆ propagatorAlongToken_
◆ propagatorOppositeName_
std::string MkFitOutputConverter::propagatorOppositeName_ |
|
private |
◆ propagatorOppositeToken_
◆ putSeedStopInfoToken_
◆ putTrackCandidateToken_
◆ seedToken_
◆ tracksToken_
◆ ttopoToken_
◆ ttrhBuilderName_
std::string MkFitOutputConverter::ttrhBuilderName_ |
|
private |
◆ ttrhBuilderToken_
edm::ESGetToken< Propagator, TrackingComponentsRecord > propagatorAlongToken_
unsigned int side(const DetId &id) const
mkfit::TrackVec const & fitTracks() const
edm::ESGetToken< TransientTrackingRecHitBuilder, TransientRecHitRecord > ttrhBuilderToken_
unsigned int layer(const DetId &id) const
edm::EDPutTokenT< std::vector< SeedStopInfo > > putSeedStopInfoToken_
edm::EDGetTokenT< edm::View< TrajectorySeed > > seedToken_
size_t clusterIndex(MkFitHit hit) const
Get CMSSW cluster index (currently used only for debugging)
TrajectoryStateOnSurface const & updatedState() const
GlobalPoint position() const
Global3DVector GlobalVector
std::pair< TrajectoryStateOnSurface, const GeomDet * > backwardFit(const FreeTrajectoryState &fts, const edm::OwnVector< TrackingRecHit > &hits, const Propagator &propagatorAlong, const Propagator &propagatorOpposite, const TkClonerImpl &hitCloner, bool lastHitWasInvalid, bool lastHitWasChanged) const
Log< level::Warning, false > LogWarning
std::pair< TrajectoryStateOnSurface, const GeomDet * > convertInnermostState(const FreeTrajectoryState &fts, const edm::OwnVector< TrackingRecHit > &hits, const Propagator &propagatorAlong, const Propagator &propagatorOpposite) const
const TrackingRecHit * hitPtr(MkFitHit hit) const
Get CMSSW hit pointer.
edm::EDGetTokenT< MkFitInputWrapper > hitsSeedsToken_
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > geomToken_
edm::ESGetToken< Propagator, TrackingComponentsRecord > propagatorOppositeToken_
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
ROOT::Math::SMatrix< double, 6, 6, ROOT::Math::MatRepSym< double, 6 > > AlgebraicSymMatrix66
static constexpr auto TIB
Global3DPoint GlobalPoint
mkfit::TrackVec const & candidateTracks() const
constexpr std::array< uint8_t, layerIndexSize > layer
const LocalTrajectoryParameters & localParameters() const
std::vector< TrackCandidate > TrackCandidateCollection
std::vector< ConstRecHitPointer > ConstRecHitContainer
edm::EDPutTokenT< TrackCandidateCollection > putTrackCandidateToken_
TrajectoryMeasurement const & lastMeasurement() const
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > ttopoToken_
virtual TrackingRecHit * clone() const =0
edm::EDGetTokenT< MkFitOutputWrapper > tracksToken_
edm::EDGetTokenT< MeasurementTrackerEvent > mteToken_
void rescaleError(double factor)
bool getData(T &iHolder) const
ConstRecHitPointer const & recHit() const
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > mfToken_
static constexpr auto TEC
TrackCandidateCollection convertCandidates(const MkFitOutputWrapper &mkFitOutput, const MkFitHitIndexMap &hitIndexMap, const edm::View< TrajectorySeed > &seeds, const TrackerGeometry &geom, const MagneticField &mf, const Propagator &propagatorAlong, const Propagator &propagatorOpposite, const TkClonerImpl &hitCloner, const std::vector< const DetLayer * > &detLayers, const mkfit::TrackVec &mkFitSeeds) const
static constexpr auto TOB
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
virtual std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const FreeTrajectoryState &, const Surface &) const final
const SurfaceType & surface() const
Abs< T >::type abs(const T &t)
const LocalTrajectoryError & localError() const
std::vector< const DetLayer * > createDetLayers(const mkfit::LayerNumberConverter &lnc, const GeometricSearchTracker &tracker, const TrackerTopology &ttopo) const
const MagneticField * magneticField() const
static constexpr auto TID
void addWithDefaultLabel(ParameterSetDescription const &psetDescription)