31 using namespace pixeltrackfitting;
39 produces<reco::TrackCollection>();
40 produces<TrackingRecHitCollection>();
41 produces<reco::TrackExtraCollection>();
44 std::string regfactoryName = regfactoryPSet.
getParameter<std::string>(
"ComponentName");
48 std::string fitterName = fitterPSet.
getParameter<std::string>(
"ComponentName");
78 typedef std::vector<const TrackingRecHit *> RecHits;
87 if(theSeeds->size() == 0) {
97 typedef std::vector<TrackingRegion* > Regions;
98 typedef Regions::const_iterator IR;
100 for (IR ir=regions.begin(), irEnd=regions.end(); ir < irEnd; ++ir) {
104 TrajectorySeedCollection::const_iterator aSeed = theSeeds->begin();
105 TrajectorySeedCollection::const_iterator lastSeed = theSeeds->end();
106 for ( ; aSeed!=lastSeed; ++aSeed ) {
114 std::vector<const TrackingRecHit*> TripletHits(3,static_cast<const TrackingRecHit*>(0));
115 for (
unsigned i=0; aSeedingRecHit!=theLastSeedingRecHit; ++
i,++aSeedingRecHit )
116 TripletHits[
i] = &(*aSeedingRecHit);
134 int nTracks = pixeltracks.size();
135 for (
int i = 0;
i < nTracks; ++
i) {
138 const RecHits & hits = pixeltracks.at(
i).second;
140 for (
unsigned int k = 0;
k < hits.size();
k++) {
143 recHits->push_back(hit);
146 tracks->push_back(*track);
153 for (
int k = 0;
k < nTracks; ++
k) {
161 for(
unsigned int i = 0;
i < nHits; ++
i) {
167 trackExtras->push_back(theTrackExtra);
174 for (
int k = 0;
k < nTracks;
k++) {
177 (tracks->at(
k)).setExtra(theTrackExtraRef);
184 unsigned nRegions = regions.size();
185 for (
unsigned iRegions=0; iRegions<nRegions; ++iRegions ) {
186 delete regions[iRegions];
T getParameter(std::string const &) const
edm::InputTag seedProducer
PixelTracksProducer(const edm::ParameterSet &conf)
virtual reco::Track * run(const edm::EventSetup &es, const std::vector< const TrackingRecHit * > &hits, const TrackingRegion ®ion) const
std::vector< Track > TrackCollection
collection of Tracks
virtual void produce(edm::Event &ev, const edm::EventSetup &es)
TrackingRegionProducer * theRegionProducer
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
edm::Ref< TrackingRecHitCollection > TrackingRecHitRef
persistent reference to a TrackingRecHit
const PixelTrackFilter * theFilter
std::pair< const_iterator, const_iterator > range
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
std::pair< reco::Track *, std::vector< const TrackingRecHit * > > TrackWithRecHits
void setHitPattern(const C &c)
set hit patterns from vector of hit references
std::vector< TrackExtra > TrackExtraCollection
collection of TrackExtra objects
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
const PixelFitter * theFitter
std::vector< TrackWithRecHits > TracksWithRecHits
T get(const Candidate &c)
virtual std::vector< TrackingRegion * > regions(const edm::Event &ev, const edm::EventSetup &es) const =0