CMS 3D CMS Logo

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

#include <AreaSeededTrackingRegionsProducer.h>

Public Types

enum  Mode { BEAM_SPOT_FIXED, BEAM_SPOT_SIGMA, VERTICES_FIXED, VERTICES_SIGMA }
 

Public Member Functions

 AreaSeededTrackingRegionsProducer (const edm::ParameterSet &conf, edm::ConsumesCollector &&iC)
 
std::vector< std::unique_ptr
< TrackingRegion > > 
regions (const edm::Event &e, const edm::EventSetup &es) const
 
 ~AreaSeededTrackingRegionsProducer ()=default
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 

Private Attributes

std::vector
< AreaSeededTrackingRegionsBuilder::Area
m_areas
 
AreaSeededTrackingRegionsBuilder m_builder
 
VertexBeamspotOrigins m_origins
 

Detailed Description

class AreaSeededTrackingRegionsProducer

eta-phi TrackingRegions producer in directions defined by z-phi area-based objects of interest from the "input" parameters.

Four operational modes are supported ("mode" parameter):

BeamSpotFixed: origin is defined by the beam spot z-half-length is defined by a fixed zErrorBeamSpot parameter BeamSpotSigma: origin is defined by the beam spot z-half-length is defined by nSigmaZBeamSpot * beamSpot.sigmaZ VerticesFixed: origins are defined by vertices from VertexCollection (use maximum MaxNVertices of them) z-half-length is defined by a fixed zErrorVertex parameter VerticesSigma: origins are defined by vertices from VertexCollection (use maximum MaxNVertices of them) z-half-length is defined by nSigmaZVertex * vetex.zError

If, while using one of the "Vertices" modes, there's no vertices in an event, we fall back into either BeamSpotSigma or BeamSpotFixed mode, depending on the positiveness of nSigmaZBeamSpot.

Definition at line 48 of file AreaSeededTrackingRegionsProducer.h.

Member Enumeration Documentation

Constructor & Destructor Documentation

AreaSeededTrackingRegionsProducer::AreaSeededTrackingRegionsProducer ( const edm::ParameterSet conf,
edm::ConsumesCollector &&  iC 
)
inline

Definition at line 52 of file AreaSeededTrackingRegionsProducer.h.

References edm::ParameterSet::getParameter(), and m_areas.

53  : m_origins(conf.getParameter<edm::ParameterSet>("RegionPSet"), iC),
54  m_builder(conf.getParameter<edm::ParameterSet>("RegionPSet"), iC) {
55  edm::ParameterSet regPSet = conf.getParameter<edm::ParameterSet>("RegionPSet");
56  for (const auto& area : regPSet.getParameter<std::vector<edm::ParameterSet> >("areas")) {
57  m_areas.emplace_back(area.getParameter<double>("rmin"),
58  area.getParameter<double>("rmax"),
59  area.getParameter<double>("phimin"),
60  area.getParameter<double>("phimax"),
61  area.getParameter<double>("zmin"),
62  area.getParameter<double>("zmax"));
63  }
64  if (m_areas.empty())
65  throw cms::Exception("Configuration") << "Empty 'areas' parameter.";
66  }
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
std::vector< AreaSeededTrackingRegionsBuilder::Area > m_areas
AreaSeededTrackingRegionsProducer::~AreaSeededTrackingRegionsProducer ( )
default

Member Function Documentation

static void AreaSeededTrackingRegionsProducer::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
inlinestatic

Definition at line 70 of file AreaSeededTrackingRegionsProducer.h.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), edm::ParameterSetDescription::addVPSet(), submitPVResolutionJobs::desc, VertexBeamspotOrigins::fillDescriptions(), and AreaSeededTrackingRegionsBuilder::fillDescriptions().

70  {
72 
74  descAreas.add<double>("rmin", 0.0);
75  descAreas.add<double>("rmax", 0.0);
76  descAreas.add<double>("zmin", 0.0);
77  descAreas.add<double>("zmax", 0.0);
78  descAreas.add<double>("phimin", 0.0);
79  descAreas.add<double>("phimax", 0.0);
80  std::vector<edm::ParameterSet> vDefaults;
81  desc.addVPSet("areas", descAreas, vDefaults);
82 
85 
86  // Only for backwards-compatibility
88  descRegion.add<edm::ParameterSetDescription>("RegionPSet", desc);
89 
90  descriptions.add("areaSeededTrackingRegion", descRegion);
91  }
static void fillDescriptions(edm::ParameterSetDescription &desc)
static void fillDescriptions(edm::ParameterSetDescription &desc, const std::string &defaultBeamSpot="offlineBeamSpot", const std::string &defaultVertex="firstStepPrimaryVertices", int defaultMaxVertices=-1)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
std::vector<std::unique_ptr<TrackingRegion> > AreaSeededTrackingRegionsProducer::regions ( const edm::Event e,
const edm::EventSetup es 
) const
inline

Definition at line 93 of file AreaSeededTrackingRegionsProducer.h.

References AreaSeededTrackingRegionsBuilder::beginEvent(), m_areas, m_builder, m_origins, VertexBeamspotOrigins::origins(), and AreaSeededTrackingRegionsBuilder::Builder::regions().

93  {
94  auto origins = m_origins.origins(e);
95  auto builder = m_builder.beginEvent(e, es);
96  return builder.regions(origins, m_areas);
97  }
Origins origins(const edm::Event &iEvent) const
Builder beginEvent(const edm::Event &e, const edm::EventSetup &es) const
std::vector< std::unique_ptr< TrackingRegion > > regions(const Origins &origins, const std::vector< Area > &areas) const
std::vector< AreaSeededTrackingRegionsBuilder::Area > m_areas

Member Data Documentation

std::vector<AreaSeededTrackingRegionsBuilder::Area> AreaSeededTrackingRegionsProducer::m_areas
private
AreaSeededTrackingRegionsBuilder AreaSeededTrackingRegionsProducer::m_builder
private

Definition at line 101 of file AreaSeededTrackingRegionsProducer.h.

Referenced by regions().

VertexBeamspotOrigins AreaSeededTrackingRegionsProducer::m_origins
private

Definition at line 100 of file AreaSeededTrackingRegionsProducer.h.

Referenced by regions().