44 cout <<
"[DTRecSegment2DExtendedProducer] Constructor called" << endl;
46 produces<DTRecSegment2DCollection>();
55 cout <<
"[DTRecSegment2DExtendedProducer] Destructor called" << endl;
63 cout <<
"[DTRecSegment2DExtendedProducer] produce called" << endl;
68 theAlgo->setES(setup);
72 event.getByToken(recHits1DToken_, allHits);
76 event.getByToken(recClusToken_, dtClusters);
77 theAlgo->setClusters(vector<DTSLRecCluster>(dtClusters->begin(),
81 auto segments = std::make_unique<DTRecSegment2DCollection>();
84 DTRecHitCollection::id_iterator dtLayerIt;
86 for (dtLayerIt = allHits->id_begin(); dtLayerIt != allHits->id_end(); ++dtLayerIt){
90 if (SLId==oldSlId)
continue;
93 if(
debug)
cout <<
"Reconstructing the 2D segments in "<< SLId << endl;
102 vector<DTRecHit1DPair> pairs(range.first,range.second);
104 if(
debug)
cout <<
"Number of 1D-RecHit pairs " << pairs.size() << endl;
109 cout <<
"Number of Reconstructed segments: " << segs.
size() << endl;
111 ostream_iterator<DTSLRecSegment2D>(
cout,
"\n"));
115 segments->put(SLId, segs.
begin(),segs.
end());
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
std::pair< const_iterator, const_iterator > range
iterator range
DTRecSegment2DExtendedProducer(const edm::ParameterSet &)
Constructor.
static std::pair< DTLayerId, DTSuperLayerIdComparator > layersBySuperLayer(DTSuperLayerId slId)
Access by SL objects written into a RangeMap by layer.
def setup(process, global_tag, zero_tesla=False)
DTSuperLayerId superlayerId() const
Return the corresponding SuperLayerId.
~DTRecSegment2DExtendedProducer() override
Destructor.
void produce(edm::Event &event, const edm::EventSetup &setup) override
The method which produces the 2D-segments.
const DTSuperLayer * superLayer(const DTSuperLayerId &id) const
Return a DTSuperLayer given its id.