CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
TSGForOI Class Reference

Create L3MuonTrajectorySeeds from L2 Muons updated at vertex in an outside in manner. More...

#include <TSGForOI.h>

Inheritance diagram for TSGForOI:
edm::stream::EDProducer<> edm::stream::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

virtual void produce (edm::Event &iEvent, const edm::EventSetup &iSetup) override
 
 TSGForOI (const edm::ParameterSet &iConfig)
 
virtual ~TSGForOI ()
 
- 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< ConsumesInfoconsumesInfo () 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 ()
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::stream::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Private Member Functions

double calculateSFFromL2 (const GeometricSearchDet &layer, const TrajectoryStateOnSurface &tsosAtMuonSystem, const TrajectoryStateOnSurface &tsosOnLayer, const Propagator &propagatorOpposite, const reco::TrackRef track)
 Function used to calculate the dynamic error SF by analysing the L2. More...
 
void findSeedsOnLayer (const GeometricSearchDet &layer, const TrajectoryStateOnSurface &tsosAtIP, const TrajectoryStateOnSurface &tsosAtMuonSystem, const Propagator &propagatorAlong, const Propagator &propagatorOpposite, const reco::TrackRef l2, std::auto_ptr< std::vector< TrajectorySeed > > &seeds)
 Function to find seeds on a given layer. More...
 
int makeSeedsFromHits (const GeometricSearchDet &layer, const TrajectoryStateOnSurface &state, std::vector< TrajectorySeed > &out, const Propagator &propagatorAlong, const MeasurementTrackerEvent &mte, double errorSF)
 Function to find hits on layers and create seeds from updated TSOS. More...
 

Private Attributes

const bool adjustErrorsDyanmicallyForHitless_
 
const bool adjustErrorsDyanmicallyForHits_
 Whether or not to use an automatically calculated SF value. More...
 
bool analysedL2_
 
Plane::PlanePointer dummyPlane_
 Surface used to make a TSOS at the PCA to the beamline. More...
 
edm::ESHandle
< Chi2MeasurementEstimatorBase
estimator_
 
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 STA for fixed option. More...
 
bool foundCompatibleDet_
 Counters and flags for the implementation. More...
 
edm::ESHandle
< GlobalTrackingGeometry
geometry_
 
unsigned int layerCount_
 
edm::ESHandle< MagneticFieldmagfield_
 
const double maxEtaForTOB_
 Maximum eta value to activate searching in the TOB. More...
 
edm::Handle
< MeasurementTrackerEvent
measurementTracker_
 
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 on same layer. More...
 
const unsigned int numOfLayersToTry_
 How many layers to try. More...
 
unsigned int numOfMaxSeeds_
 Maximum number of seeds for each L2. More...
 
unsigned int numSeedsMade_
 
edm::ESHandle< PropagatorpropagatorAlong_
 
edm::ESHandle< PropagatorpropagatorOpposite_
 
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...
 
std::string theCategory
 
const double tsosDiffDeltaR_
 Difference in deltaR of TSOSs to trigger using hits in hybrid. More...
 
std::unique_ptr
< TrajectoryStateUpdator
updator_
 KFUpdator defined in constructor. More...
 
const bool useHitlessSeeds_
 Switch to use hitless seeds or not. More...
 
bool useHitsInHybrid_
 
const bool useHybridSeeds_
 Switch to use hitless + hits for seeds depending on the L2 properties. More...
 

Additional Inherited Members

- 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
 
- 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)
 

Detailed Description

Create L3MuonTrajectorySeeds from L2 Muons updated at vertex in an outside in manner.

Author
Benjamin Radburn-Smith

Definition at line 34 of file TSGForOI.h.

Constructor & Destructor Documentation

TSGForOI::TSGForOI ( const edm::ParameterSet iConfig)
explicit

Definition at line 10 of file TSGForOI.cc.

TSGForOI::~TSGForOI ( )
virtual

Definition at line 46 of file TSGForOI.cc.

Member Function Documentation

double TSGForOI::calculateSFFromL2 ( const GeometricSearchDet layer,
const TrajectoryStateOnSurface tsosAtMuonSystem,
const TrajectoryStateOnSurface tsosOnLayer,
const Propagator propagatorOpposite,
const reco::TrackRef  track 
)
private

Function used to calculate the dynamic error SF by analysing the L2.

Definition at line 208 of file TSGForOI.cc.

void TSGForOI::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 283 of file TSGForOI.cc.

void TSGForOI::findSeedsOnLayer ( const GeometricSearchDet layer,
const TrajectoryStateOnSurface tsosAtIP,
const TrajectoryStateOnSurface tsosAtMuonSystem,
const Propagator propagatorAlong,
const Propagator propagatorOpposite,
const reco::TrackRef  l2,
std::auto_ptr< std::vector< TrajectorySeed > > &  seeds 
)
private

Function to find seeds on a given layer.

Definition at line 149 of file TSGForOI.cc.

int TSGForOI::makeSeedsFromHits ( const GeometricSearchDet layer,
const TrajectoryStateOnSurface state,
std::vector< TrajectorySeed > &  out,
const Propagator propagatorAlong,
const MeasurementTrackerEvent mte,
double  errorSF 
)
private

Function to find hits on layers and create seeds from updated TSOS.

Definition at line 236 of file TSGForOI.cc.

void TSGForOI::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
overridevirtual

Implements edm::stream::EDProducerBase.

Definition at line 50 of file TSGForOI.cc.

Member Data Documentation

const bool TSGForOI::adjustErrorsDyanmicallyForHitless_
private

Definition at line 59 of file TSGForOI.h.

const bool TSGForOI::adjustErrorsDyanmicallyForHits_
private

Whether or not to use an automatically calculated SF value.

Definition at line 58 of file TSGForOI.h.

bool TSGForOI::analysedL2_
private

Definition at line 94 of file TSGForOI.h.

Plane::PlanePointer TSGForOI::dummyPlane_
private

Surface used to make a TSOS at the PCA to the beamline.

Definition at line 79 of file TSGForOI.h.

edm::ESHandle<Chi2MeasurementEstimatorBase> TSGForOI::estimator_
private

Definition at line 131 of file TSGForOI.h.

const std::string TSGForOI::estimatorName_
private

Estimator used to find dets and TrajectoryMeasurements.

Definition at line 62 of file TSGForOI.h.

const double TSGForOI::eta1_
private

Definition at line 86 of file TSGForOI.h.

const double TSGForOI::eta2_
private

Definition at line 86 of file TSGForOI.h.

const double TSGForOI::fixedErrorRescalingForHitless_
private

Definition at line 55 of file TSGForOI.h.

const double TSGForOI::fixedErrorRescalingForHits_
private

How much to rescale errors from STA for fixed option.

Definition at line 54 of file TSGForOI.h.

bool TSGForOI::foundCompatibleDet_
private

Counters and flags for the implementation.

Definition at line 93 of file TSGForOI.h.

edm::ESHandle<GlobalTrackingGeometry> TSGForOI::geometry_
private

Definition at line 104 of file TSGForOI.h.

unsigned int TSGForOI::layerCount_
private

Definition at line 97 of file TSGForOI.h.

edm::ESHandle<MagneticField> TSGForOI::magfield_
private

Definition at line 101 of file TSGForOI.h.

const double TSGForOI::maxEtaForTOB_
private

Maximum eta value to activate searching in the TOB.

Definition at line 70 of file TSGForOI.h.

edm::Handle<MeasurementTrackerEvent> TSGForOI::measurementTracker_
private

Definition at line 105 of file TSGForOI.h.

const edm::EDGetTokenT<MeasurementTrackerEvent> TSGForOI::measurementTrackerTag_
private

Definition at line 64 of file TSGForOI.h.

const double TSGForOI::minEtaForTEC_
private

Minimum eta value to activate searching in the TEC.

Definition at line 67 of file TSGForOI.h.

const unsigned int TSGForOI::numOfHitsToTry_
private

How many hits to try on same layer.

Definition at line 51 of file TSGForOI.h.

const unsigned int TSGForOI::numOfLayersToTry_
private

How many layers to try.

Definition at line 48 of file TSGForOI.h.

unsigned int TSGForOI::numOfMaxSeeds_
private

Maximum number of seeds for each L2.

Definition at line 45 of file TSGForOI.h.

unsigned int TSGForOI::numSeedsMade_
private

Definition at line 96 of file TSGForOI.h.

edm::ESHandle<Propagator> TSGForOI::propagatorAlong_
private

Definition at line 102 of file TSGForOI.h.

edm::ESHandle<Propagator> TSGForOI::propagatorOpposite_
private

Definition at line 103 of file TSGForOI.h.

const double TSGForOI::pT1_
private

pT, eta ranges and scale factor values

Definition at line 85 of file TSGForOI.h.

const double TSGForOI::pT2_
private

Definition at line 85 of file TSGForOI.h.

const double TSGForOI::pT3_
private

Definition at line 85 of file TSGForOI.h.

const double TSGForOI::SF1_
private

Definition at line 87 of file TSGForOI.h.

const double TSGForOI::SF2_
private

Definition at line 87 of file TSGForOI.h.

const double TSGForOI::SF3_
private

Definition at line 87 of file TSGForOI.h.

const double TSGForOI::SF4_
private

Definition at line 87 of file TSGForOI.h.

const double TSGForOI::SF5_
private

Definition at line 87 of file TSGForOI.h.

const edm::EDGetTokenT<reco::TrackCollection> TSGForOI::src_
private

Labels for input collections.

Definition at line 42 of file TSGForOI.h.

std::string TSGForOI::theCategory
private

Definition at line 99 of file TSGForOI.h.

const double TSGForOI::tsosDiffDeltaR_
private

Difference in deltaR of TSOSs to trigger using hits in hybrid.

Definition at line 90 of file TSGForOI.h.

std::unique_ptr<TrajectoryStateUpdator> TSGForOI::updator_
private

KFUpdator defined in constructor.

Definition at line 82 of file TSGForOI.h.

const bool TSGForOI::useHitlessSeeds_
private

Switch to use hitless seeds or not.

Definition at line 73 of file TSGForOI.h.

bool TSGForOI::useHitsInHybrid_
private

Definition at line 95 of file TSGForOI.h.

const bool TSGForOI::useHybridSeeds_
private

Switch to use hitless + hits for seeds depending on the L2 properties.

Definition at line 76 of file TSGForOI.h.