28 : m_digiMaxDistanceX(iConfig.getParameter<double>(
"digiMaxDistanceX")),
50 int nDigisInRange = 0;
54 double xTrack = muChMatch.
x;
62 for (
auto digiIt =
range.first; digiIt !=
range.second; ++digiIt) {
63 const auto topo =
m_dtGeometry->layer(layerId)->specificTopology();
65 double xWire = topo.wirePosition((*digiIt).wire());
66 double dX =
std::abs(xWire - xTrack);
76 double xTrack = muChMatch.
x;
77 double yTrack = muChMatch.
y;
81 const CSCDetId layerId(chId.endcap(), chId.station(), chId.ring(), chId.chamber(), iLayer);
85 for (
auto digiIt = range.first; digiIt != range.second; ++digiIt) {
86 std::vector<int> adcVals = digiIt->getADCCounts();
87 bool hasFired =
false;
88 float pedestal = 0.5 * (float)(adcVals[0] + adcVals[1]);
91 for (
const auto& adcVal : adcVals) {
92 diff = (float)adcVal - pedestal;
93 if (diff > threshold) {
104 Float_t xStrip = layerGeom->
xOfStrip(digiIt->getStrip(), yTrack);
105 float dX =
std::abs(xStrip - xTrack);
bool getByToken(EDGetToken token, Handle< PROD > &result) const
constexpr uint32_t rawId() const
get the raw id
edm::Handle< DTDigiCollection > m_dtDigis
void getDigis(edm::Event &iEvent)
edm::EDGetTokenT< CSCStripDigiCollection > m_cscDigisToken
constexpr std::array< uint8_t, layerIndexSize > layer
const uint16_t range(const Frame &aFrame)
float xOfStrip(int strip, float y=0.) const
edm::ESHandle< DTGeometry > m_dtGeometry
static const int maxLayerId
highest layer id
Abs< T >::type abs(const T &t)
static const int maxSuperLayerId
highest superlayer id
edm::EDGetTokenT< DTDigiCollection > m_dtDigisToken
edm::ESGetToken< CSCGeometry, MuonGeometryRecord > m_cscGeometryToken
void fillDefault(reco::MuonChamberMatch &muChMatch) const
void getES(const edm::EventSetup &iSetup)
edm::ESHandle< CSCGeometry > m_cscGeometry
edm::ESGetToken< DTGeometry, MuonGeometryRecord > m_dtGeometryToken
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
edm::Handle< CSCStripDigiCollection > m_cscDigis
double m_digiMaxDistanceX
void fill(reco::MuonChamberMatch &muChMatch) const