Create L3MuonTrajectorySeeds from L2 Muons updated at vertex in an outside in manner. More...
#include <TSGForOI.h>
Public Member Functions | |
virtual void | produce (edm::StreamID sid, edm::Event &iEvent, const edm::EventSetup &iSetup) const override |
TSGForOI (const edm::ParameterSet &iConfig) | |
virtual | ~TSGForOI () |
Public Member Functions inherited from edm::global::EDProducer<> | |
EDProducer ()=default | |
Public Member Functions inherited from edm::global::EDProducerBase | |
EDProducerBase () | |
ModuleDescription const & | moduleDescription () const |
virtual | ~EDProducerBase () |
Public Member Functions inherited from edm::ProducerBase | |
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
std::vector< edm::ProductResolverIndex > const & | indiciesForPutProducts (BranchType iBranchType) const |
ProducerBase () | |
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, std::unordered_multimap< std::string, edm::ProductResolverIndex > const &iIndicies, std::string const &moduleLabel) |
virtual | ~ProducerBase () noexcept(false) |
Public Member Functions inherited from edm::EDConsumerBase | |
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 const &)=delete | |
EDConsumerBase (EDConsumerBase &&)=default | |
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::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const |
EDConsumerBase const & | operator= (EDConsumerBase const &)=delete |
EDConsumerBase & | operator= (EDConsumerBase &&)=default |
bool | registeredToConsume (ProductResolverIndex, bool, BranchType) const |
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
void | updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet) |
virtual | ~EDConsumerBase () noexcept(false) |
Static Public Member Functions | |
static void | fillDescriptions (edm::ConfigurationDescriptions &descriptions) |
Static Public Member Functions inherited from edm::global::EDProducerBase | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
Private Member Functions | |
double | calculateSFFromL2 (const reco::TrackRef track) const |
Function used to calculate the dynamic error SF by analysing the L2. More... | |
void | findSeedsOnLayer (const TrackerTopology *tTopo, const GeometricSearchDet &layer, const TrajectoryStateOnSurface &tsosAtIP, const Propagator &propagatorAlong, const Propagator &propagatorOpposite, const reco::TrackRef l2, edm::ESHandle< Chi2MeasurementEstimatorBase > &estimator_, edm::Handle< MeasurementTrackerEvent > &measurementTrackerH, unsigned int &numSeedsMade, unsigned int &numOfMaxSeeds, unsigned int &layerCount, bool &foundHitlessSeed, bool &analysedL2, std::unique_ptr< std::vector< TrajectorySeed > > &out) const |
Function to find seeds on a given layer. More... | |
int | makeSeedsFromHits (const TrackerTopology *tTopo, const GeometricSearchDet &layer, const TrajectoryStateOnSurface &tsosAtIP, std::vector< TrajectorySeed > &out, const Propagator &propagatorAlong, const MeasurementTrackerEvent &measurementTracker, edm::ESHandle< Chi2MeasurementEstimatorBase > &estimator_, const double errorSF) const |
Function to find hits on layers and create seeds from updated TSOS. More... | |
Private Attributes | |
const bool | adjustErrorsDynamicallyForHitless_ |
const bool | adjustErrorsDynamicallyForHits_ |
Whether or not to use an automatically calculated scale-factor value. More... | |
const std::string | estimatorName_ |
Estimator used to find dets and TrajectoryMeasurements. More... | |
const double | eta1_ |
const double | eta2_ |
const double | fixedErrorRescalingForHitless_ |
const double | fixedErrorRescalingForHits_ |
How much to rescale errors from the L2 (fixed error vs pT, eta) More... | |
const double | maxEtaForTOB_ |
Maximum eta value to activate searching in the TOB. More... | |
const edm::EDGetTokenT< MeasurementTrackerEvent > | measurementTrackerTag_ |
const double | minEtaForTEC_ |
Minimum eta value to activate searching in the TEC. More... | |
const unsigned int | numOfHitsToTry_ |
How many hits to try per layer. More... | |
const unsigned int | numOfLayersToTry_ |
How many layers to try. More... | |
const unsigned int | numOfMaxSeedsParam_ |
Maximum number of seeds for each L2. More... | |
const double | pT1_ |
pT, eta ranges and scale factor values More... | |
const double | pT2_ |
const double | pT3_ |
const double | SF1_ |
const double | SF2_ |
const double | SF3_ |
const double | SF4_ |
const double | SF5_ |
const edm::EDGetTokenT< reco::TrackCollection > | src_ |
Labels for input collections. More... | |
const std::string | theCategory |
Counters and flags for the implementation. More... | |
const double | tsosDiff_ |
Distance of TSOSs to trigger using hits or not. More... | |
const std::unique_ptr< TrajectoryStateUpdator > | updator_ |
KFUpdator defined in constructor. More... | |
const bool | useHitLessSeeds_ |
const bool | useStereoLayersInTEC_ |
Switch ON to use Stereo layers instead of using every layer in TEC. More... | |
Additional Inherited Members | |
Public Types inherited from edm::global::EDProducerBase | |
typedef EDProducerBase | ModuleType |
Public Types inherited from edm::ProducerBase | |
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
Public Types inherited from edm::EDConsumerBase | |
typedef ProductLabels | Labels |
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) |
Create L3MuonTrajectorySeeds from L2 Muons updated at vertex in an outside in manner.
Definition at line 33 of file TSGForOI.h.
|
explicit |
Definition at line 15 of file TSGForOI.cc.
|
virtual |
Definition at line 48 of file TSGForOI.cc.
|
private |
Function used to calculate the dynamic error SF by analysing the L2.
Definition at line 256 of file TSGForOI.cc.
References funct::abs(), eta1_, eta2_, LogTrace, pT1_, pT2_, pT3_, SF1_, SF2_, SF3_, SF4_, SF5_, and theCategory.
Referenced by findSeedsOnLayer().
|
static |
Definition at line 345 of file TSGForOI.cc.
References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), edm::ParameterSetDescription::addUntracked(), DEFINE_FWK_MODULE, and AlCaHLTBitMon_QueryRunRegistry::string.
|
private |
Function to find seeds on a given layer.
Definition at line 194 of file TSGForOI.cc.
References adjustErrorsDynamicallyForHitless_, adjustErrorsDynamicallyForHits_, calculateSFFromL2(), GeometricSearchDet::compatibleDetsV(), fixedErrorRescalingForHitless_, fixedErrorRescalingForHits_, LogTrace, makeSeedsFromHits(), numOfLayersToTry_, oppositeToMomentum, MillePedeFileConverter_cfg::out, trajectoryStateTransform::persistentState(), theCategory, and useHitLessSeeds_.
Referenced by produce().
|
private |
Function to find hits on layers and create seeds from updated TSOS.
Definition at line 281 of file TSGForOI.cc.
References GeometricSearchDet::compatibleDetsV(), MeasurementDetWithData::fastMeasurements(), runEdmFileComparison::found, MeasurementDetWithData::isNull(), TrajectoryStateOnSurface::isValid(), LogTrace, eostools::move(), numOfHitsToTry_, oppositeToMomentum, trajectoryStateTransform::persistentState(), edm::OwnVector< T, P >::push_back(), DetId::rawId(), TrajectoryStateOnSurface::rescaleError(), SurveyInfoScenario_cff::seed, edm::OwnVector< T, P >::size(), DetId::subdetId(), StripSubdetector::TEC, TrackerTopology::tecIsStereo(), updator_, and useStereoLayersInTEC_.
Referenced by findSeedsOnLayer().
|
overridevirtual |
Init variables
Surface used to make a TSOS at the PCA to the beamline
Read ESHandles
Read L2 track collection
Definition at line 52 of file TSGForOI.cc.
References funct::abs(), alongMomentum, Plane::build(), estimatorName_, PV3DBase< T, PVType, FrameType >::eta(), findSeedsOnLayer(), edm::EventSetup::get(), edm::Event::getByToken(), TrajectoryStateOnSurface::globalPosition(), trajectoryStateTransform::initialFreeState(), trajectoryStateTransform::innerStateOnSurface(), TrackerGeometry::isThere(), TrajectoryStateOnSurface::isValid(), LogTrace, maxEtaForTOB_, measurementTrackerTag_, minEtaForTEC_, eostools::move(), numOfMaxSeedsParam_, oppositeToMomentum, MillePedeFileConverter_cfg::out, GeomDetEnumerators::P2OTEC, PV3DBase< T, PVType, FrameType >::phi(), FreeTrajectoryState::position(), edm::ESHandle< T >::product(), gsfElectronCkfTrackCandidateMaker_cff::propagatorAlong, gsfElectronCkfTrackCandidateMaker_cff::propagatorOpposite, edm::Event::put(), mps_fire::result, SetPropagationDirection(), mathSSE::sqrt(), src_, theCategory, tsosDiff_, and useHitLessSeeds_.
|
private |
Definition at line 58 of file TSGForOI.h.
Referenced by findSeedsOnLayer().
|
private |
Whether or not to use an automatically calculated scale-factor value.
Definition at line 57 of file TSGForOI.h.
Referenced by findSeedsOnLayer().
|
private |
Estimator used to find dets and TrajectoryMeasurements.
Definition at line 61 of file TSGForOI.h.
Referenced by produce().
|
private |
Definition at line 83 of file TSGForOI.h.
Referenced by calculateSFFromL2().
|
private |
Definition at line 83 of file TSGForOI.h.
Referenced by calculateSFFromL2().
|
private |
Definition at line 54 of file TSGForOI.h.
Referenced by findSeedsOnLayer().
|
private |
How much to rescale errors from the L2 (fixed error vs pT, eta)
Definition at line 53 of file TSGForOI.h.
Referenced by findSeedsOnLayer().
|
private |
Maximum eta value to activate searching in the TOB.
Definition at line 67 of file TSGForOI.h.
Referenced by produce().
|
private |
Definition at line 79 of file TSGForOI.h.
Referenced by produce().
|
private |
Minimum eta value to activate searching in the TEC.
Definition at line 64 of file TSGForOI.h.
Referenced by produce().
|
private |
How many hits to try per layer.
Definition at line 50 of file TSGForOI.h.
Referenced by makeSeedsFromHits().
|
private |
|
private |
Maximum number of seeds for each L2.
Definition at line 44 of file TSGForOI.h.
Referenced by produce().
|
private |
pT, eta ranges and scale factor values
Definition at line 82 of file TSGForOI.h.
Referenced by calculateSFFromL2().
|
private |
Definition at line 82 of file TSGForOI.h.
Referenced by calculateSFFromL2().
|
private |
Definition at line 82 of file TSGForOI.h.
Referenced by calculateSFFromL2().
|
private |
Definition at line 84 of file TSGForOI.h.
Referenced by calculateSFFromL2().
|
private |
Definition at line 84 of file TSGForOI.h.
Referenced by calculateSFFromL2().
|
private |
Definition at line 84 of file TSGForOI.h.
Referenced by calculateSFFromL2().
|
private |
Definition at line 84 of file TSGForOI.h.
Referenced by calculateSFFromL2().
|
private |
Definition at line 84 of file TSGForOI.h.
Referenced by calculateSFFromL2().
|
private |
|
private |
Counters and flags for the implementation.
Definition at line 90 of file TSGForOI.h.
Referenced by calculateSFFromL2(), findSeedsOnLayer(), and produce().
|
private |
Distance of TSOSs to trigger using hits or not.
Definition at line 87 of file TSGForOI.h.
Referenced by produce().
|
private |
KFUpdator defined in constructor.
Definition at line 77 of file TSGForOI.h.
Referenced by makeSeedsFromHits().
|
private |
Switch ON (True) : use additional hits for seeds depending on the L2 properties (ignores numOfMaxSeeds_) Switch OFF (False): the numOfMaxSeeds_ defines if we will use hitless (numOfMaxSeeds_==1) or hitless+hits (numOfMaxSeeds_>1)
Definition at line 71 of file TSGForOI.h.
Referenced by findSeedsOnLayer(), and produce().
|
private |
Switch ON to use Stereo layers instead of using every layer in TEC.
Definition at line 74 of file TSGForOI.h.
Referenced by makeSeedsFromHits().