36 debug =
pset.getUntrackedParameter<
bool>(
"debug");
84 vector<DTRecHit1DPair> hitsFromPhi1(rangeHitsFromPhi1.first, rangeHitsFromPhi1.second);
85 vector<DTRecHit1DPair> hitsFromPhi2(rangeHitsFromPhi2.first, rangeHitsFromPhi2.second);
87 cout <<
"Number of DTRecHit1DPair in the SL 1 (Phi 1): " << hitsFromPhi1.size() << endl
88 <<
"Number of DTRecHit1DPair in the SL 3 (Phi 2): " << hitsFromPhi2.size() << endl;
97 vector<DTRecHit1DPair> hitsFromTheta(rangeHitsFromTheta.first, rangeHitsFromTheta.second);
99 cout <<
"Number of DTRecHit1DPair in the SL 2 (Theta): " << hitsFromTheta.size() << endl;
112 vector<DTSLRecSegment2D> segments2DTheta(rangeTheta.first, rangeTheta.second);
115 cout <<
"Number of 2D-segments in the second SL (Theta): " << segments2DTheta.size() << endl;
125 cout <<
"Reconstructing Phi segments" << endl;
128 vector<std::shared_ptr<DTHitPairForFit>> pairPhiOwned;
132 cout <<
"There are " << resultPhi.size() <<
" Phi cand" << endl;
141 cout <<
"Reconstructing Theta segments" << endl;
143 vector<DTSLRecSegment2D> segments2DTheta(thetaSegs.
begin(), thetaSegs.
end());
157 cout <<
"No Theta candidates." << endl;
162 cout <<
"Building the concrete DTRecSegment4D" << endl;
163 if (!resultPhi.empty()) {
164 for (vector<DTSegmentCand*>::const_iterator
phi = resultPhi.begin();
phi != resultPhi.end(); ++
phi) {
165 std::unique_ptr<DTChamberRecSegment2D> superPhi(**
phi);
169 cout <<
"superPhi: " << *superPhi << endl;
185 zed->localPosition().x(), (zSL->toLocal(
theChamber->
toGlobal(superPhi->localPosition()))).
y(), 0.);
196 cout <<
"Created a 4D seg " << *newSeg << endl;
211 cout <<
"Created a 4D segment using only the 2D Phi segment" << endl;
239 cout <<
"Created a 4D segment using only the 2D Theta segment" << endl;
251 for (vector<DTSegmentCand*>::iterator
phi = resultPhi.begin();
phi != resultPhi.end(); ++
phi)
258 vector<std::shared_ptr<DTHitPairForFit>>& pairPhiOwned) {
267 cout <<
"DTMeantimerPatternReco4D::buildPhiSuperSegmentsCandidates: " 268 <<
"No Hits in the two Phi SL" << endl;
269 return vector<DTSegmentCand*>();
278 copy(pairPhi2.begin(), pairPhi2.end(), back_inserter(pairPhi1));
280 pairPhiOwned.swap(pairPhi1);
std::vector< std::shared_ptr< DTHitPairForFit > > initHits(const DTSuperLayer *sl, const std::vector< DTRecHit1DPair > &hits)
std::pair< const_iterator, const_iterator > range
iterator range
std::vector< DTRecHit1DPair > theHitsFromPhi2
edm::OwnVector< DTSLRecSegment2D > reconstruct(const DTSuperLayer *sl, const std::vector< DTRecHit1DPair > &hits) override
this function is called in the producer
void setES(const edm::EventSetup &setup) override
DTChamberId id() const
Return the DTChamberId of this chamber.
DTMeantimerPatternReco4D(const edm::ParameterSet &pset, edm::ConsumesCollector)
Constructor.
LocalPoint toLocal(const GlobalPoint &gp) const
Conversion to the R.F. of the GeomDet.
DTMeantimerPatternReco * the2DAlgo
static std::pair< DTLayerId, DTSuperLayerIdComparator > layersBySuperLayer(DTSuperLayerId slId)
Access by SL objects written into a RangeMap by layer.
const edm::ESGetToken< DTGeometry, MuonGeometryRecord > theDTGeometryToken
std::vector< DTRecHit1DPair > theHitsFromPhi1
edm::OwnVector< DTRecSegment4D > reconstruct() override
Operations.
void update(DTRecSegment4D *seg, const bool calcT0, bool allow3par) const
recompute hits position and refit the segment4D
void calculateT0corr(DTRecSegment2D *seg) const
std::vector< DTSegmentCand * > buildSegments(const DTSuperLayer *sl, const std::vector< std::shared_ptr< DTHitPairForFit >> &hits)
void setES(const edm::EventSetup &setup) override
const DTSuperLayer * superLayer(const DTSuperLayerId &id) const
Return the superlayer corresponding to the given id.
void setES(const edm::EventSetup &setup)
set the setup
const DTSuperLayer * superLayer(const DTSuperLayerId &id) const
Return a DTSuperLayer given its id.
void setDTRecHit1DContainer(edm::Handle< DTRecHitCollection > all1DHits) override
std::vector< DTRecHit1DPair > theHitsFromTheta
std::vector< DTSegmentCand * > buildPhiSuperSegmentsCandidates(std::vector< std::shared_ptr< DTHitPairForFit >> &pairPhiOwned)
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
std::vector< DTSLRecSegment2D > theSegments2DTheta
DTSegmentUpdator * theUpdator
~DTMeantimerPatternReco4D() override
Destructor.
edm::ESHandle< DTGeometry > theDTGeometry
const DTChamber * theChamber
void setDTRecSegment2DContainer(edm::Handle< DTRecSegment2DCollection > all2DSegments) override
const DTChamber * chamber(const DTChamberId &id) const
Return a DTChamber given its id.
void setChamber(const DTChamberId &chId) override