#include <TrajectorySeedProducer.h>
Public Types | |
typedef std::vector < std::unique_ptr < TrackingRegion > > | Regions |
Public Types inherited from edm::stream::EDProducer<> | |
typedef CacheContexts< T...> | CacheTypes |
typedef CacheTypes::GlobalCache | GlobalCache |
typedef AbilityChecker< T...> | HasAbility |
typedef CacheTypes::LuminosityBlockCache | LuminosityBlockCache |
typedef LuminosityBlockContextT < LuminosityBlockCache, RunCache, GlobalCache > | LuminosityBlockContext |
typedef CacheTypes::LuminosityBlockSummaryCache | LuminosityBlockSummaryCache |
typedef CacheTypes::RunCache | RunCache |
typedef RunContextT< RunCache, GlobalCache > | RunContext |
typedef CacheTypes::RunSummaryCache | RunSummaryCache |
Public Types inherited from edm::stream::EDProducerBase | |
typedef EDProducerAdaptorBase | ModuleType |
Public Types inherited from edm::ProducerBase | |
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
Public Types inherited from edm::EDConsumerBase | |
typedef ProductLabels | Labels |
Public Member Functions | |
bool | compatibleWithBeamSpot (const GlobalPoint &gpos1, const GlobalPoint &gpos2, double error, bool forward) const |
bool | compatibleWithPrimaryVertex (const GlobalPoint &gpos1, const GlobalPoint &gpos2, double error, bool forward) const |
const SeedingNode < TrackingLayer > * | insertHit (const std::vector< TrajectorySeedHitCandidate > &trackerRecHits, std::vector< int > &hitIndicesInTree, const SeedingNode< TrackingLayer > *node, unsigned int trackerHit) const |
bool | isHitOnLayer (const TrajectorySeedHitCandidate &trackerRecHit, const TrackingLayer &layer) const |
virtual std::vector< unsigned int > | iterateHits (unsigned int start, const std::vector< TrajectorySeedHitCandidate > &trackerRecHits, std::vector< int > hitIndicesInTree, bool processSkippedHits) const |
method tries to insert all hits into the tree structure. More... | |
bool | pass2HitsCuts (const TrajectorySeedHitCandidate &hit1, const TrajectorySeedHitCandidate &hit2) const |
bool | passHitTuplesCuts (const SeedingNode< TrackingLayer > &seedingNode, const std::vector< TrajectorySeedHitCandidate > &trackerRecHits, const std::vector< int > &hitIndicesInTree, const TrajectorySeedHitCandidate ¤tTrackerHit) const |
method checks if a SimTrack fulfills the quality requirements. More... | |
virtual void | produce (edm::Event &e, const edm::EventSetup &es) |
virtual void | produce (edm::Event &e, const edm::EventSetup &es) |
bool | testWithRegions (const TrajectorySeedHitCandidate &innerHit, const TrajectorySeedHitCandidate &outerHit) const |
method inserts hit into the tree structure at an empty position. More... | |
TrajectorySeedProducer (const edm::ParameterSet &conf) | |
TrajectorySeedProducer (const edm::ParameterSet &conf) | |
virtual | ~TrajectorySeedProducer () |
Public Member Functions inherited from edm::stream::EDProducer<> | |
EDProducer ()=default | |
Public Member Functions inherited from edm::stream::EDProducerBase | |
EDProducerBase () | |
ModuleDescription const & | moduleDescription () const |
virtual | ~EDProducerBase () |
Public Member Functions inherited from edm::ProducerBase | |
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
ProducerBase () | |
void | registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &) |
std::function< void(BranchDescription const &)> | registrationCallback () const |
used by the fwk to register list of products More... | |
virtual | ~ProducerBase () |
Public Member Functions inherited from edm::EDConsumerBase | |
std::vector< ConsumesInfo > | consumesInfo () const |
EDConsumerBase () | |
ProductHolderIndexAndSkipBit | indexFrom (EDGetToken, BranchType, TypeID const &) const |
void | itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const |
void | itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const |
std::vector < ProductHolderIndexAndSkipBit > const & | itemsToGetFromEvent () const |
void | labelsForToken (EDGetToken iToken, Labels &oLabels) const |
void | modulesDependentUpon (std::string const &iProcessName, std::string const &iModuleLabel, bool iPrint, std::vector< char const * > &oModuleLabels) const |
void | modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const |
bool | registeredToConsume (ProductHolderIndex, bool, BranchType) const |
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
void | updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &) |
virtual | ~EDConsumerBase () |
Public Attributes | |
const edm::EventSetup * | es_ |
const MeasurementTrackerEvent * | measurementTrackerEvent |
edm::EDGetTokenT < MeasurementTrackerEvent > | measurementTrackerEventToken |
Regions | regions |
Private Attributes | |
SeedingTree< TrackingLayer > | _seedingTree |
const reco::BeamSpot * | beamSpot |
bool | hitMasks_exists |
edm::EDGetTokenT< std::vector < bool > > | hitMasksToken |
const MagneticField * | magneticField |
const MagneticFieldMap * | magneticFieldMap |
std::string | measurementTrackerLabel |
unsigned int | minLayersCrossed |
double | nSigmaZ |
double | originHalfLength |
double | originRadius |
const reco::VertexCollection * | primaryVertices |
double | ptMin |
edm::EDGetTokenT < FastTrackerRecHitCombinationCollection > | recHitCombinationsToken |
std::unique_ptr< SeedCreator > | seedCreator |
std::vector< std::vector < TrackingLayer > > | seedingLayers |
double | simTrack_maxD0 |
double | simTrack_maxZ0 |
double | simTrack_pTMin |
bool | skipSeedFinderSelector |
bool | testBeamspotCompatibility |
bool | testPrimaryVertexCompatibility |
std::shared_ptr < PropagatorWithMaterial > | thePropagator |
std::unique_ptr < TrackingRegionProducer > | theRegionProducer |
const TrackerGeometry * | trackerGeometry |
const TrackerTopology * | trackerTopology |
Additional Inherited Members | |
Static Public Member Functions inherited from edm::stream::EDProducerBase | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
Protected Member Functions inherited from edm::EDConsumerBase | |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
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 ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
NOTE: what is called here 'FastTrackPreCandidate' is currently still known as 'FastTrackerRecHitCombination'
TrajectorySeedProducer emulates the reconstruction of TrajectorySeeds in FastSim.
The input data is a list of FastTrackPreCandidates. (input data are configured through the parameter 'src') In each given FastTrackPreCandidate, TrajectorySeedProducer searches for one combination of hits that matches all given seed requirements, (see parameters 'layerList','regionFactoryPSet') In that process it respects the order of the hits in the FastTrackPreCandidate. When such combination is found, a TrajectorySeed is reconstructed. Optionally, one can specify a list of hits to be ignored by TrajectorySeedProducer. (see parameter 'hitMasks')
The output data is the list of reconstructed TrajectorySeeds.
Definition at line 62 of file TrajectorySeedProducer.cc.
typedef std::vector<std::unique_ptr<TrackingRegion> > TrajectorySeedProducer::Regions |
Definition at line 192 of file TrajectorySeedProducer.h.
TrajectorySeedProducer::TrajectorySeedProducer | ( | const edm::ParameterSet & | conf | ) |
region producer
Definition at line 94 of file TrajectorySeedProducer.cc.
References _seedingTree, edm::EDConsumerBase::consumesCollector(), SurfaceDeformationFactory::create(), TrackingLayer::createFromString(), edm::ParameterSet::exists(), reco::get(), edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), hitMasksToken, SeedingTree< DATA >::insert(), geometryCSVtoXML::line, measurementTrackerLabel, recHitCombinationsToken, seedCreator, skipSeedFinderSelector, AlCaHLTBitMon_QueryRunRegistry::string, and theRegionProducer.
TrajectorySeedProducer::TrajectorySeedProducer | ( | const edm::ParameterSet & | conf | ) |
|
inlinevirtual |
Definition at line 70 of file TrajectorySeedProducer.h.
bool TrajectorySeedProducer::compatibleWithBeamSpot | ( | const GlobalPoint & | gpos1, |
const GlobalPoint & | gpos2, | ||
double | error, | ||
bool | forward | ||
) | const |
Check that the seed is compatible with a track coming from within a cylinder of radius originRadius, with a decent pT.
bool TrajectorySeedProducer::compatibleWithPrimaryVertex | ( | const GlobalPoint & | gpos1, |
const GlobalPoint & | gpos2, | ||
double | error, | ||
bool | forward | ||
) | const |
Check that the seed is compatible with a track coming from within a cylinder of radius originRadius, with a decent pT.
const SeedingNode<TrackingLayer>* TrajectorySeedProducer::insertHit | ( | const std::vector< TrajectorySeedHitCandidate > & | trackerRecHits, |
std::vector< int > & | hitIndicesInTree, | ||
const SeedingNode< TrackingLayer > * | node, | ||
unsigned int | trackerHit | ||
) | const |
|
inline |
Definition at line 152 of file TrajectorySeedProducer.h.
References TrajectorySeedHitCandidate::getTrackingLayer().
|
virtual |
method tries to insert all hits into the tree structure.
start | index where to begin insertion. Important for recursion. |
trackerRecHits | list of all TrackerRecHits. |
hitIndicesInTree | hit indices which translates the tree node to the hits in trackerRecHits. |
currentTrackerHit | hit which is tested. |
bool TrajectorySeedProducer::pass2HitsCuts | ( | const TrajectorySeedHitCandidate & | hit1, |
const TrajectorySeedHitCandidate & | hit2 | ||
) | const |
Referenced by passHitTuplesCuts().
|
inline |
method checks if a SimTrack fulfills the quality requirements.
theSimTrack | the SimTrack to be tested. |
theSimVertex | the associated SimVertex of the SimTrack. |
seedingNode | tree node at which the hit will be inserted. |
trackerRecHits | list of all TrackerRecHits. |
hitIndicesInTree | hit indices which translates the tree node to the hits in trackerRecHits. |
currentTrackerHit | hit which is tested. |
Definition at line 91 of file TrajectorySeedProducer.h.
References SeedingNode< DATA >::getDepth(), SeedingNode< DATA >::getIndex(), SeedingNode< DATA >::getParent(), and pass2HitsCuts().
|
virtual |
Implements edm::stream::EDProducerBase.
Referenced by JSONExport.JsonExport::export(), HTMLExport.HTMLExport::export(), and HTMLExport.HTMLExportStatic::export().
|
virtual |
Implements edm::stream::EDProducerBase.
Definition at line 142 of file TrajectorySeedProducer.cc.
References _seedingTree, clone(), TrackingRecHit::det(), HitPairGeneratorFromLayerPair::doublets(), GeomDet::geographicalId(), edm::EventSetup::get(), edm::Event::getByToken(), BaseTrackerRecHit::hit(), fastTrackingUtilities::hitIsMasked(), hitMasksToken, edm::EDGetTokenT< T >::isUninitialized(), HLT_FULL_cff::measurementTracker, measurementTrackerLabel, eostools::move(), nullptr, TrackingRegion::origin(), convertSQLitetoXML_cfg::output, edm::ESHandle< class >::product(), edm::OwnVector< T, P >::push_back(), edm::Event::put(), recHitCombinationsToken, HLT_FULL_cff::region, regions, mps_fire::result, seedCreator, HLT_FULL_cff::seedFinder, fastTrackingUtilities::setRecHitCombinationIndex(), edm::OwnVector< T, P >::size(), skipSeedFinderSelector, theRegionProducer, and trackerTopology.
Referenced by JSONExport.JsonExport::export(), HTMLExport.HTMLExport::export(), and HTMLExport.HTMLExportStatic::export().
bool TrajectorySeedProducer::testWithRegions | ( | const TrajectorySeedHitCandidate & | innerHit, |
const TrajectorySeedHitCandidate & | outerHit | ||
) | const |
method inserts hit into the tree structure at an empty position.
trackerRecHits | list of all TrackerRecHits. |
hitIndicesInTree | hit indices which translates the tree node to the hits in trackerRecHits. Empty positions are identified with '-1'. |
node | where to look for an empty position. Important for recursive tree traversing (Breadth-first). Starts with the root. |
trackerHit | hit which is tested. |
|
private |
Definition at line 75 of file TrajectorySeedProducer.cc.
Referenced by produce(), and TrajectorySeedProducer().
|
private |
Definition at line 61 of file TrajectorySeedProducer.h.
const edm::EventSetup* TrajectorySeedProducer::es_ |
Definition at line 199 of file TrajectorySeedProducer.h.
|
private |
Definition at line 59 of file TrajectorySeedProducer.h.
|
private |
Definition at line 70 of file TrajectorySeedProducer.cc.
Referenced by produce(), and TrajectorySeedProducer().
|
private |
Definition at line 41 of file TrajectorySeedProducer.h.
|
private |
Definition at line 42 of file TrajectorySeedProducer.h.
const MeasurementTrackerEvent* TrajectorySeedProducer::measurementTrackerEvent |
Definition at line 198 of file TrajectorySeedProducer.h.
edm::EDGetTokenT<MeasurementTrackerEvent> TrajectorySeedProducer::measurementTrackerEventToken |
Definition at line 197 of file TrajectorySeedProducer.h.
|
private |
Definition at line 79 of file TrajectorySeedProducer.cc.
Referenced by produce(), and TrajectorySeedProducer().
|
private |
Definition at line 51 of file TrajectorySeedProducer.h.
|
private |
Definition at line 57 of file TrajectorySeedProducer.h.
|
private |
Definition at line 56 of file TrajectorySeedProducer.h.
|
private |
Definition at line 54 of file TrajectorySeedProducer.h.
|
private |
Definition at line 63 of file TrajectorySeedProducer.h.
|
private |
Definition at line 55 of file TrajectorySeedProducer.h.
|
private |
Definition at line 69 of file TrajectorySeedProducer.cc.
Referenced by produce(), and TrajectorySeedProducer().
Regions TrajectorySeedProducer::regions |
Definition at line 193 of file TrajectorySeedProducer.h.
Referenced by produce().
|
private |
Definition at line 77 of file TrajectorySeedProducer.cc.
Referenced by produce(), and TrajectorySeedProducer().
|
private |
Definition at line 74 of file TrajectorySeedProducer.cc.
|
private |
Definition at line 48 of file TrajectorySeedProducer.h.
|
private |
Definition at line 49 of file TrajectorySeedProducer.h.
|
private |
Definition at line 47 of file TrajectorySeedProducer.h.
|
private |
Definition at line 81 of file TrajectorySeedProducer.cc.
Referenced by produce(), and TrajectorySeedProducer().
|
private |
Definition at line 60 of file TrajectorySeedProducer.h.
|
private |
Definition at line 62 of file TrajectorySeedProducer.h.
|
private |
Definition at line 45 of file TrajectorySeedProducer.h.
|
private |
Definition at line 78 of file TrajectorySeedProducer.cc.
Referenced by produce(), and TrajectorySeedProducer().
|
private |
Definition at line 43 of file TrajectorySeedProducer.h.
|
private |
Definition at line 44 of file TrajectorySeedProducer.h.
Referenced by produce().