141 LogDebug(
"HoughGrouping") <<
"\nHoughGrouping::run";
146 LogDebug(
"HoughGrouping") <<
"run - Beginning digis' loop...";
152 digiIt != ((*dtLayerIdIt).second).second;
155 LogDebug(
"HoughGrouping") <<
"\nHoughGrouping::run - Digi number " <<
idigi_;
156 LogDebug(
"HoughGrouping") <<
"run - Wheel: " << (*dtLayerIdIt).first.wheel();
157 LogDebug(
"HoughGrouping") <<
"run - Chamber: " << (*dtLayerIdIt).first.station();
158 LogDebug(
"HoughGrouping") <<
"run - Sector: " << (*dtLayerIdIt).first.sector();
159 LogDebug(
"HoughGrouping") <<
"run - Superlayer: " << (*dtLayerIdIt).first.superLayer();
160 LogDebug(
"HoughGrouping") <<
"run - Layer: " << (*dtLayerIdIt).first.layer();
161 LogDebug(
"HoughGrouping") <<
"run - Wire: " << (*digiIt).wire();
164 LogDebug(
"HoughGrouping") <<
"run - First wire x: " 166 LogDebug(
"HoughGrouping") <<
"run - Last wire x: " 171 if ((*dtLayerIdIt).first.superLayer() == 2)
175 wirePosGlob = lay->
toGlobal(wirePosInLay);
178 if ((*dtLayerIdIt).first.superLayer() == 3) {
180 digimap_[(*dtLayerIdIt).first.layer() + 3][(*digiIt).wire()].setTDCTimeStamp((*digiIt).time());
181 digimap_[(*dtLayerIdIt).first.layer() + 3][(*digiIt).wire()].setChannelId((*digiIt).wire());
182 digimap_[(*dtLayerIdIt).first.layer() + 3][(*digiIt).wire()].setLayerId((*dtLayerIdIt).first.layer());
183 digimap_[(*dtLayerIdIt).first.layer() + 3][(*digiIt).wire()].setSuperLayerId((*dtLayerIdIt).first.superLayer());
184 digimap_[(*dtLayerIdIt).first.layer() + 3][(*digiIt).wire()].setCameraId((*dtLayerIdIt).first.rawId());
187 digimap_[(*dtLayerIdIt).first.layer() - 1][(*digiIt).wire()].setTDCTimeStamp((*digiIt).time());
188 digimap_[(*dtLayerIdIt).first.layer() - 1][(*digiIt).wire()].setChannelId((*digiIt).wire());
189 digimap_[(*dtLayerIdIt).first.layer() - 1][(*digiIt).wire()].setLayerId((*dtLayerIdIt).first.layer());
190 digimap_[(*dtLayerIdIt).first.layer() - 1][(*digiIt).wire()].setSuperLayerId((*dtLayerIdIt).first.superLayer());
191 digimap_[(*dtLayerIdIt).first.layer() - 1][(*digiIt).wire()].setCameraId((*dtLayerIdIt).first.rawId());
196 thewheel_ = (*dtLayerIdIt).first.wheel();
203 LogDebug(
"HoughGrouping") <<
"run - X position of the cell (chamber frame of reference): " 204 << wirePosInChamber.
x();
205 LogDebug(
"HoughGrouping") <<
"run - Y position of the cell (chamber frame of reference): " 206 << wirePosInChamber.
y();
207 LogDebug(
"HoughGrouping") <<
"run - Z position of the cell (chamber frame of reference): " 208 << wirePosInChamber.
z();
211 hitvec_.push_back({wirePosInChamber.
x() - 1.05, wirePosInChamber.
z()});
212 hitvec_.push_back({wirePosInChamber.
x() + 1.05, wirePosInChamber.
z()});
220 LogDebug(
"HoughGrouping") <<
"\nHoughGrouping::run - nhits: " <<
nhits_;
226 LogDebug(
"HoughGrouping") <<
"run - No digis present in this chamber.";
239 LogDebug(
"HoughGrouping") <<
"run - No good maxima found in this event.";
245 std::vector<ProtoCand>
cands;
247 for (
unsigned short int ican = 0; ican <
maxima_.size(); ican++) {
249 LogDebug(
"HoughGrouping") <<
"\nHoughGrouping::run - Candidate number: " << ican;
256 LogDebug(
"HoughGrouping") <<
"run - now we have our muonpaths! It has " << outMpath.size() <<
" elements";
Point3DBase< Scalar, LocalTag > LocalPoint
unsigned short int thestation_
DTGeometry const * dtGeo_
LocalPoint toLocal(const GlobalPoint &gp) const
Conversion to the R.F. of the GeomDet.
ProtoCand associateHits(const DTChamber *thechamb, double m, double n)
void orderAndFilter(std::vector< ProtoCand > &invector, MuonPathPtrs &outMuonPath)
const DTChamber * chamber() const
PointsInPlane getMaximaVector()
unsigned short int thesector_
unsigned short int idigi_
int firstChannel() const
Returns the wire number of the first wire.
unsigned short int nhits_
float cellWidth() const
Returns the cell width.
void obtainGeometricalBorders(const DTLayer *lay)
const DTTopology & specificTopology() const
void resetPosElementsOfLinespace()
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
std::vector< DigiType >::const_iterator const_iterator
std::map< unsigned short int, DTPrimitive > digimap_[8]
int lastChannel() const
Returns the wire number of the last wire.
const DTChamber * chamber(const DTChamberId &id) const
Return a DTChamber given its id.
float cellHeight() const
Returns the cell height.
float wirePosition(int wireNumber) const
Returns the x position in the layer of a given wire number.
const DTLayer * layer(const DTLayerId &id) const
Return a layer given its id.