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";
float wirePosition(int wireNumber) const
Returns the x position in the layer of a given wire number.
Point3DBase< Scalar, LocalTag > LocalPoint
unsigned short int thestation_
const DTChamber * chamber(const DTChamberId &id) const
Return a DTChamber given its id.
DTGeometry const * dtGeo_
ProtoCand associateHits(const DTChamber *thechamb, double m, double n)
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
float cellWidth() const
Returns the cell width.
LocalPoint toLocal(const GlobalPoint &gp) const
Conversion to the R.F. of the GeomDet.
void orderAndFilter(std::vector< ProtoCand > &invector, MuonPathPtrs &outMuonPath)
PointsInPlane getMaximaVector()
unsigned short int thesector_
unsigned short int idigi_
int firstChannel() const
Returns the wire number of the first wire.
int lastChannel() const
Returns the wire number of the last wire.
const DTTopology & specificTopology() const
unsigned short int nhits_
void obtainGeometricalBorders(const DTLayer *lay)
float cellHeight() const
Returns the cell height.
void resetPosElementsOfLinespace()
const DTChamber * chamber() const
std::vector< DigiType >::const_iterator const_iterator
std::map< unsigned short int, DTPrimitive > digimap_[8]
const DTLayer * layer(const DTLayerId &id) const
Return a layer given its id.