Reimplemented from IOMTFEmulationObserver.
Definition at line 75 of file DataROOTDumper2.cc.
References funct::abs(), EmulationObserverBase::candProcIndx, CSCDetId::chamber(), MuonSubdetId::CSC, OmtfEvent::Hit::eta, evntCnt, OMTFConfiguration::getRefToLogicNumber(), OmtfEvent::hits, OMTFConfiguration::hwEtaToEta(), OMTFConfiguration::hwPtToGev(), l1t::RegionalMuonCand::hwQual(), l1t::RegionalMuonCand::hwSign(), OMTFConfiguration::isBendingLayer(), OmtfEvent::Hit::layer, 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, OmtfEvent::Hit::phiDist, funct::pow(), ptGenNeg, ptGenPos, OmtfEvent::Hit::quality, OmtfEvent::Hit::rawData, EmulationObserverBase::regionalMuonCand, rootTree, EmulationObserverBase::simMuon, CoreSimTrack::type(), OmtfEvent::Hit::valid, and OmtfEvent::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;
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
unsigned int omtfFiredLayers
const int hwQual() const
Get quality code.
virtual double hwEtaToEta(int hwEta) const
center of eta bin
l1t::RegionalMuonCand regionalMuonCand
Abs< T >::type abs(const T &t)
double hwPtToGev(int hwPt) const override
uGMT pt scale conversion
unsigned int candProcIndx
const std::vector< int > & getRefToLogicNumber() const
int type() const
particle type (HEP PDT convension)
const math::XYZTLorentzVectorD & momentum() const
std::vector< unsigned long > hits
const int hwSign() const
Get charge sign bit (charge = (-1)^(sign))
unsigned int omtfRefLayer
const OMTFConfiguration * omtfConfig
Power< A, B >::type pow(const A &a, const B &b)
bool isBendingLayer(unsigned int iLayer) const override