CMS 3D CMS Logo

CombinedHitPairGeneratorForPhotonConversion.cc
Go to the documentation of this file.
6 
8 namespace {
9  edm::RunningAverage localRA;
10 }
11 
14  : theSeedingLayerToken(iC.consumes<SeedingLayerSetsHits>(cfg.getParameter<edm::InputTag>("SeedingLayers"))) {
15  theMaxElement = cfg.getParameter<unsigned int>("maxElement");
16  maxHitPairsPerTrackAndGenerator = cfg.getParameter<unsigned int>("maxHitPairsPerTrackAndGenerator");
17  theGenerator.reset(
18  new HitPairGeneratorFromLayerPairForPhotonConversion(0, 1, &theLayerCache, 0, maxHitPairsPerTrackAndGenerator));
19 }
20 
22  const TrackingRegion& region,
23  const edm::Event& ev,
24  const edm::EventSetup& es) {
25  if (thePairs.capacity() == 0)
26  thePairs.reserve(localRA.upper());
27  thePairs.clear();
28  hitPairs(convRegion, region, thePairs, ev, es);
29  return thePairs;
30 }
31 
33  const TrackingRegion& region,
35  const edm::Event& ev,
36  const edm::EventSetup& es) {
38  ev.getByToken(theSeedingLayerToken, hlayers);
39  const SeedingLayerSetsHits& layers = *hlayers;
40  assert(layers.numberOfLayersInSet() == 2);
41 
42  for (SeedingLayerSetsHits::LayerSetIndex i = 0; i < layers.size(); ++i) {
43  theGenerator->hitPairs(convRegion, region, result, layers[i], ev, es);
44  }
45 }
46 
49  localRA.update(thePairs.size());
50  thePairs.clear();
51  thePairs.shrink_to_fit();
52 }
T getParameter(std::string const &) const
unsigned short numberOfLayersInSet() const
Get number of layers in each SeedingLayerSets.
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
unsigned short LayerSetIndex
bool ev
const OrderedHitPairs & run(const ConversionRegion &convRegion, const TrackingRegion &region, const edm::Event &ev, const edm::EventSetup &es)
unsigned int size() const override
CombinedHitPairGeneratorForPhotonConversion(const edm::ParameterSet &cfg, edm::ConsumesCollector &iC)
void hitPairs(const ConversionRegion &convRegion, const TrackingRegion &reg, OrderedHitPairs &result, const edm::Event &ev, const edm::EventSetup &es)
HLT enums.
std::unique_ptr< HitPairGeneratorFromLayerPairForPhotonConversion > theGenerator
unsigned short size() const
Get the number of SeedingLayerSets.