|
ATLAS Offline Software
|
Go to the documentation of this file.
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 {
JetConstituentVector::iterator iterator
constexpr uint8_t stationPhi
station Phi 1 to 8
PublicToolHandle< Muon::MuonEDMPrinterTool > m_printer
virtual const Amg::Vector3D & globalPosition() const override
Returns global position.
Scalar phi() const
phi method
std::unique_ptr< MuonSegmentCombinationCollection > find(const std::vector< const Muon::CscPrepDataCollection * > &pcols, const EventContext &ctx) const
Scalar eta() const
pseudorapidity method
std::vector< Cluster > ChamberTrkClusters[4]
virtual Amg::Transform3D GlobalToAmdbLRSTransform() const
Gaudi::Property< std::string > m_cscdig_sg_inkey
#define ATH_MSG_VERBOSE(x)
MuonSegment_v1 MuonSegment
Reference the current persistent version:
int maxNumberOfStrips(int measuresPhi) const
const std::string & getStationName() const
Class representing clusters from the CSC.
::StatusCode StatusCode
StatusCode definition for legacy code.
virtual const Amg::Vector3D & globalPosition() const override final
Returns the global position.
Eigen::Affine3d Transform3D
MuonPrepDataContainerT< CscPrepData > CscPrepDataContainer
MuonPrepDataContainerT< CscStripPrepData > CscStripPrepDataContainer
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Identifier identify() const
return the identifier
MuonPrepDataCollection< CscPrepData > CscPrepDataCollection
This class represents the corrected MDT measurements, where the corrections include the effects of wi...
value_type push_back(value_type pElem)
Add an element to the end of the collection.
Eigen::Matrix< double, 3, 1 > Vector3D
Muon::MuonSegmentCombination * findSegmentCombination(const Muon::CscPrepDataCollection &pcol, const EventContext &ctx) const
Class to represent the calibrated clusters created from CSC strips.
#define ATH_MSG_WARNING(x)
ToolHandle< Muon::IMuonClusterOnTrackCreator > m_cscClusterOnTrackCreator
ToolHandle< ICscSegmentUtilTool > m_segmentTool
constexpr uint8_t stationEta
1 to 3
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
constexpr int pow(int base, int exp) noexcept
size_type size() const noexcept
Returns the number of elements in the collection.
bool empty() const noexcept
Returns true if the collection is empty.
int getStationPhi() const
int getStationEta() const
Base class for Muon cluster RIO_OnTracks.
Csc2dSegmentMaker(const std::string &, const std::string &, const IInterface *)