37 std::string measphi_name(
bool measphi) {
38 if (measphi)
return "phi";
43 std::string
chamber(
int istation,
int zsec,
int phi) {
44 std::ostringstream ssout;
47 else if (istation == 2)
67 declareInterface<ICscSegmentFinder>(
this);
81 return StatusCode::SUCCESS;
85 std::unique_ptr<MuonSegmentCombinationCollection>
Csc2dSegmentMaker::find(
const std::vector<const Muon::CscPrepDataCollection*>& pcols,
86 const EventContext& ctx)
const {
90 for (
unsigned int icol = 0;
icol < pcols.size(); ++
icol) {
92 if (clus->empty())
continue;
96 unsigned int col_count = 0;
98 for (
unsigned int icol = 0;
icol < pcols.size(); ++
icol) {
101 ATH_MSG_VERBOSE(
"** Collection " << col_count <<
" has " << clus->size() <<
" clusters");
103 if (clus->empty())
continue;
111 if (!mpsegs->
empty())
123 if (clus.empty())
return nullptr;
156 for (
int iLay = 0; iLay < 4; iLay++) {
165 ATH_MSG_DEBUG(
"get strip quality for " << isPhi <<
" layer " << iLay <<
" strip " << iStrip);
169 m_idHelperSvc->cscIdHelper().get_channel_hash(stripId, hashID);
180 ATH_MSG_DEBUG(
"final status for eta is " << layStatus[0] <<
" and phi " << layStatus[1]);
182 for (CscPrepDataCollection::const_iterator iclu = clus.begin(); iclu != clus.end(); ++iclu) {
185 int station =
m_idHelperSvc->cscIdHelper().stationName(
id) - 49;
191 if (iclu == clus.begin()) {
192 col_station = station;
198 if (station != col_station ||
eta != col_eta || phisec != col_phisec) {
213 phi_clus[iwlay - 1].emplace_back(lpos, ptclu, measphi);
216 eta_clus[iwlay - 1].emplace_back(lpos, ptclu, measphi);
222 int nHitLayer_eta = 0;
223 int nHitLayer_phi = 0;
224 for (
int i = 0;
i < 4; ++
i) {
225 if (!eta_clus[
i].
empty()) ++nHitLayer_eta;
226 if (!phi_clus[
i].
empty()) ++nHitLayer_phi;
228 ATH_MSG_DEBUG(
"there are " << nHitLayer_eta <<
" eta hit layers and " << nHitLayer_phi <<
" phi hit layers");
232 if (nHitLayer_eta >= 2 || nHitLayer_phi >= 2) {
233 ATH_MSG_DEBUG(
"Csc2dSegment calls get2dMuonSegmentCombination !!!");
234 pcol =
m_segmentTool->get2dMuonSegmentCombination(eta_id, phi_id, eta_clus, phi_clus, lpos000, ctx, layStatus[0], layStatus[1]);
238 for (
unsigned int i = 0;
i < 4; ++
i) {
250 const EventContext&)
const {