CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
GenericPairGenerator.cc
Go to the documentation of this file.
2 //#include "RecoTracker/TkSeedingLayers/interface/SeedingLayerSetsBuilder.h"
4 
6 using namespace ctfseeding;
7 
8 
10  theLsb(conf.getParameter<edm::ParameterSet>("LayerPSet"), iC){
11  edm::LogInfo("CtfSpecialSeedGenerator|GenericPairGenerator") << "Constructing GenericPairGenerator";
12 }
13 
14 
16  const edm::Event& e,
17  const edm::EventSetup& es){
18  hitPairs.clear();
19  hitPairs.reserve(0);
20  if(theLsb.check(es)) {
21  theLss = theLsb.layers(es);
22  }
23  SeedingLayerSets::const_iterator iLss;
24  for (iLss = theLss.begin(); iLss != theLss.end(); iLss++){
25  SeedingLayers ls = *iLss;
26  if (ls.size() != 2){
27  throw cms::Exception("CtfSpecialSeedGenerator") << "You are using " << ls.size() <<" layers in set instead of 2 ";
28  }
29  std::vector<SeedingHit> innerHits = region.hits(e, es, &ls[0]);
30  std::vector<SeedingHit> outerHits = region.hits(e, es, &ls[1]);
31  std::vector<SeedingHit>::const_iterator iOuterHit;
32  for (iOuterHit = outerHits.begin(); iOuterHit != outerHits.end(); iOuterHit++){
33  std::vector<SeedingHit>::const_iterator iInnerHit;
34  for (iInnerHit = innerHits.begin(); iInnerHit != innerHits.end(); iInnerHit++){
35  hitPairs.push_back(OrderedHitPair(*iInnerHit,
36  *iOuterHit));
37  }
38  }
39  }
40  return hitPairs;
41 }
ctfseeding::SeedingLayerSets layers(const edm::EventSetup &es)
virtual Hits hits(const edm::Event &ev, const edm::EventSetup &es, const ctfseeding::SeedingLayer *layer) const =0
get hits from layer compatible with region constraints
SeedingLayerSetsBuilder theLsb
bool check(const edm::EventSetup &es)
tuple conf
Definition: dbtoconf.py:185
virtual const OrderedSeedingHits & run(const TrackingRegion &region, const edm::Event &ev, const edm::EventSetup &es)
TransientTrackingRecHit::ConstRecHitPointer SeedingHit
ctfseeding::SeedingLayerSets theLss
GenericPairGenerator(const edm::ParameterSet &conf, edm::ConsumesCollector &iC)
std::vector< SeedingLayer > SeedingLayers