Reimplemented from IOMTFEmulationObserver.
Definition at line 75 of file DataROOTDumper2.cc.
References funct::abs(), EmulationObserverBase::candProcIndx, CSCDetId::chamber(), MuonSubdetId::CSC, evntCnt, OMTFConfiguration::getRefToLogicNumber(), OmtfEvent::hits, OMTFConfiguration::hwEtaToEta(), OMTFConfiguration::hwPtToGev(), l1t::RegionalMuonCand::hwQual(), l1t::RegionalMuonCand::hwSign(), createfilelist::int, OMTFConfiguration::isBendingLayer(), CoreSimTrack::momentum(), OmtfEvent::muonCharge, OmtfEvent::muonEta, OmtfEvent::muonPhi, OmtfEvent::muonPt, EmulationObserverBase::omtfCand, OmtfEvent::omtfCharge, EmulationObserverBase::omtfConfig, OmtfEvent::omtfEta, omtfEvent, OmtfEvent::omtfFiredLayers, OmtfEvent::omtfPhi, OmtfEvent::omtfProcessor, OmtfEvent::omtfPt, OmtfEvent::omtfQuality, OmtfEvent::omtfRefLayer, OmtfEvent::omtfScore, funct::pow(), ptGenNeg, ptGenPos, EmulationObserverBase::regionalMuonCand, rootTree, EmulationObserverBase::simMuon, CoreSimTrack::type(), and hit::z.
115 auto& gpResult =
omtfCand->getGpResult();
123 for (
unsigned int iLogicLayer = 0; iLogicLayer < gpResult.getStubResults().size(); ++iLogicLayer) {
124 auto& stubResult = gpResult.getStubResults()[iLogicLayer];
125 if (stubResult.getMuonStub()) {
127 hit.layer = iLogicLayer;
128 hit.quality = stubResult.getMuonStub()->qualityHw;
129 hit.eta = stubResult.getMuonStub()->etaHw;
130 hit.valid = stubResult.getValid();
132 int hitPhi = stubResult.getMuonStub()->phiHw;
134 int phiRefHit = gpResult.getStubResults()[refLayerLogicNum].getMuonStub()->phiHw;
137 hitPhi = stubResult.getMuonStub()->phiBHw;
142 hit.phiDist = hitPhi - phiRefHit;
150 if (
hit.phiDist > 504 ||
hit.phiDist < -512) {
154 << stubResult.getValid() <<
" !!!!!!!!!!!!!!!!!!!!!!!!" << endl;
157 DetId detId(stubResult.getMuonStub()->detId);
160 hit.
z = cscId.chamber() % 2;
Log< level::Info, true > LogVerbatim
AlgoMuons::value_type omtfCand
virtual double hwEtaToEta(int hwEta) const
center of eta bin
unsigned int omtfFiredLayers
const math::XYZTLorentzVectorD & momentum() const
const int hwQual() const
Get quality code.
int type() const
particle type (HEP PDT convension)
l1t::RegionalMuonCand regionalMuonCand
Abs< T >::type abs(const T &t)
const std::vector< int > & getRefToLogicNumber() const
double hwPtToGev(int hwPt) const override
uGMT pt scale conversion
const int hwSign() const
Get charge sign bit (charge = (-1)^(sign))
unsigned int candProcIndx
std::vector< unsigned long > hits
unsigned int omtfRefLayer
const OMTFConfiguration * omtfConfig
Power< A, B >::type pow(const A &a, const B &b)
bool isBendingLayer(unsigned int iLayer) const override