#include <AngleConverterBase.h>
Public Member Functions | |
AngleConverterBase () | |
virtual void | checkAndUpdateGeometry (const edm::EventSetup &, const ProcConfigurationBase *config, const MuonGeometryTokens &muonGeometryTokens) |
Update the Geometry with current Event Setup. More... | |
float | cscChamberEtaSize (const CSCDetId &id) const |
virtual void | getGlobalEta (const L1MuDTChambThDigi &thetaDigi, std::vector< EtaValue > &etaSegments) const |
virtual std::vector< EtaValue > | getGlobalEta (const L1MuDTChambThContainer *dtThDigis, int bxFrom, int bxTo) const |
virtual EtaValue | getGlobalEta (const CSCDetId &detId, const CSCCorrelatedLCTDigi &aDigi) const |
Convert local eta coordinate to global digital microGMT scale. More... | |
virtual EtaValue | getGlobalEta (unsigned int rawid, const unsigned int &aDigi) const |
virtual EtaValue | getGlobalEtaCsc (const CSCDetId &detId) const |
returns the eta position of the CSC chamber More... | |
virtual EtaValue | getGlobalEtaDt (const DTChamberId &detId) const |
virtual int | getProcessorPhi (int phiZero, l1t::tftype part, int dtScNum, int dtPhi) const |
virtual int | getProcessorPhi (int phiZero, l1t::tftype part, const CSCDetId &csc, const CSCCorrelatedLCTDigi &digi, unsigned int iInput) const |
virtual int | getProcessorPhi (unsigned int iProcessor, l1t::tftype part, const RPCDetId &rollId, const unsigned int &digi) const |
virtual int | getProcessorPhi (int phiZero, l1t::tftype part, const RPCDetId &rollId, const unsigned int &digi1, const unsigned int &digi2) const |
virtual | ~AngleConverterBase () |
Protected Member Functions | |
virtual const int | findBTIgroup (const L1MuDTChambPhDigi &aDigi, const L1MuDTChambThContainer *dtThDigis) |
Find BTI group. More... | |
virtual bool | isCSCCounterClockwise (const CSCLayer *layer) const |
Check orientation of strips in given CSC chamber. More... | |
Protected Attributes | |
edm::ESHandle< CSCGeometry > | _geocsc |
edm::ESHandle< DTGeometry > | _geodt |
unsigned long long | _geom_cache_id = 0 |
edm::ESHandle< RPCGeometry > | _georpc |
const ProcConfigurationBase * | config = nullptr |
edm::ESWatcher< MuonGeometryRecord > | muonGeometryRecordWatcher |
unsigned int | nPhiBins = 0 |
Number of phi bins along 2Pi. More... | |
Definition at line 49 of file AngleConverterBase.h.
AngleConverterBase::AngleConverterBase | ( | ) |
Definition at line 41 of file AngleConverterBase.cc.
|
virtual |
Definition at line 44 of file AngleConverterBase.cc.
|
virtual |
Update the Geometry with current Event Setup.
Definition at line 47 of file AngleConverterBase.cc.
References _geocsc, _geodt, _georpc, edm::ESWatcher< T >::check(), config, MuonGeometryTokens::cscGeometryEsToken, MuonGeometryTokens::dtGeometryEsToken, edm::EventSetup::getHandle(), muonGeometryRecordWatcher, nPhiBins, and MuonGeometryTokens::rpcGeometryEsToken.
float AngleConverterBase::cscChamberEtaSize | ( | const CSCDetId & | id | ) | const |
ME1/1 lower eta (b?, eta < ~2.1), L1TkMuonBayes eta bins 6-11 - but getGlobalEtaCsc(const CSCDetId& detId) gives the midle of the full chamber, so here we put the size of the full chamber
ME1/1 higher eta (a?, eta > ~2.1), L1TkMuonBayes eta bins 10-15
Definition at line 303 of file AngleConverterBase.cc.
References hcalRecHitTable_cff::detId.
Referenced by getGlobalEtaCsc().
|
protectedvirtual |
Find BTI group.
If there are more than one theta digi we do not take is due to unresolved ambiguity. In this case we take eta of the middle of the chamber.
Definition at line 436 of file AngleConverterBase.cc.
References L1MuDTChambPhDigi::bxNum(), L1MuDTChambThContainer::chThetaSegm(), mps_fire::i, L1MuDTChambThDigi::position(), L1MuDTChambPhDigi::scNum(), L1MuDTChambPhDigi::stNum(), and L1MuDTChambPhDigi::whNum().
|
virtual |
Definition at line 256 of file AngleConverterBase.cc.
References _geodt, L1MuDTChambThDigi::bxNum(), DTGeometry::chamber(), PV3DBase< T, PVType, FrameType >::eta(), DTTrigGeom::nCell(), L1MuDTChambThDigi::position(), L1MuDTChambThDigi::quality(), L1MuDTChambThDigi::scNum(), L1MuDTChambThDigi::stNum(), and L1MuDTChambThDigi::whNum().
Referenced by getGlobalEta().
|
virtual |
Definition at line 287 of file AngleConverterBase.cc.
References L1MuDTChambThContainer::getContainer(), and getGlobalEta().
|
virtual |
Convert local eta coordinate to global digital microGMT scale.
Code taken from GeometryTranslator. Will be replaced by direct CSC phi local to global scale transformation as used in FPGA implementation
Definition at line 333 of file AngleConverterBase.cc.
References _geocsc, CSCGeometry::chamber(), hcalRecHitTable_cff::detId, PV3DBase< T, PVType, FrameType >::eta(), CSCLayer::geometry(), CSCCorrelatedLCTDigi::getBX(), CSCCorrelatedLCTDigi::getKeyWG(), CSCConstants::KEY_ALCT_LAYER, nano_mu_digi_cff::layer, and CSCChamber::layer().
|
virtual |
Convert local eta coordinate to global digital microGMT scale. EtaValue::etaSigma is half of the strip
Definition at line 386 of file AngleConverterBase.cc.
References _georpc, funct::abs(), PV3DBase< T, PVType, FrameType >::eta(), runTauDisplay::gp, EcalPhiSymFlatTableProducers_cfi::id, nano_mu_digi_cff::layer, nano_mu_digi_cff::region, relativeConstraints::ring, nano_mu_digi_cff::roll, RPCGeometry::roll(), nano_mu_digi_cff::sector, relativeConstraints::station, nano_mu_digi_cff::strip, and nano_mu_digi_cff::subsector.
returns the eta position of the CSC chamber
Definition at line 366 of file AngleConverterBase.cc.
References _geocsc, CSCGeometry::chamber(), cscChamberEtaSize(), hcalRecHitTable_cff::detId, and PV3DBase< T, PVType, FrameType >::eta().
|
virtual |
returns the eta position of the DT chamber (n.b. in the DT phi and eta segments are independent)
Definition at line 235 of file AngleConverterBase.cc.
References _geodt, funct::abs(), DTGeometry::chamber(), hcalRecHitTable_cff::detId, PV3DBase< T, PVType, FrameType >::eta(), and GeomDet::toGlobal().
|
virtual |
get phi of DT,CSC and RPC azimutal angle digi in processor scale, used by OMTF algorithm. in case of wrong phi returns OMTFConfiguration::instance()->nPhiBins phiZero - desired phi where the scale should start, should be in the desired scale, use getProcessorPhiZero to obtain it
Reimplemented in OmtfPhase2AngleConverter.
Definition at line 60 of file AngleConverterBase.cc.
References createfilelist::int, M_PI, nPhiBins, l1ctLayer1_cff::phiZero, funct::pow(), isotrackNtupler::scale, and nano_mu_digi_cff::sector.
Referenced by CscDigiToStubsConverterOmtf::addCSCstubs(), DtDigiToStubsConverterOmtf::addDTphiDigi(), DtPhase2DigiToStubsConverterOmtf::addDTphiDigi(), and RpcDigiToStubsConverterOmtf::addRPCstub().
|
virtual |
Definition at line 83 of file AngleConverterBase.cc.
References _geocsc, funct::abs(), relativeConstraints::chamber, CSCGeometry::chamber(), CSCCorrelatedLCTDigi::getStrip(), nano_mu_digi_cff::layer, M_PI, nPhiBins, eventshapeDQM_cfi::order, phi, l1ctLayer1_cff::phiZero, isotrackNtupler::scale, and CSCChamberSpecs::stripPhiPitch().
|
virtual |
Definition at line 197 of file AngleConverterBase.cc.
References _georpc, M_PI, nPhiBins, nano_mu_digi_cff::roll, and RPCGeometry::roll().
|
virtual |
Definition at line 166 of file AngleConverterBase.cc.
References _georpc, funct::abs(), LogTrace, M_PI, nPhiBins, l1ctLayer1_cff::phiZero, DetId::rawId(), nano_mu_digi_cff::roll, and RPCGeometry::roll().
|
protectedvirtual |
Check orientation of strips in given CSC chamber.
Definition at line 428 of file AngleConverterBase.cc.
References funct::abs(), nano_mu_digi_cff::layer, M_PI, and me0TriggerPseudoDigis_cff::nStrips.
Referenced by OmtfAngleConverter::getGlobalEta().
|
protected |
Definition at line 107 of file AngleConverterBase.h.
Referenced by checkAndUpdateGeometry(), OmtfAngleConverter::getGlobalEta(), getGlobalEta(), getGlobalEtaCsc(), and getProcessorPhi().
|
protected |
Definition at line 108 of file AngleConverterBase.h.
Referenced by checkAndUpdateGeometry(), OmtfAngleConverter::getGlobalEta(), getGlobalEta(), and getGlobalEtaDt().
|
protected |
Definition at line 105 of file AngleConverterBase.h.
|
protected |
Definition at line 106 of file AngleConverterBase.h.
Referenced by checkAndUpdateGeometry(), getGlobalEta(), OmtfAngleConverter::getGlobalEtaRpc(), and getProcessorPhi().
|
protected |
Definition at line 112 of file AngleConverterBase.h.
Referenced by checkAndUpdateGeometry().
|
protected |
Definition at line 110 of file AngleConverterBase.h.
Referenced by checkAndUpdateGeometry().
|
protected |
Number of phi bins along 2Pi.
Definition at line 114 of file AngleConverterBase.h.
Referenced by checkAndUpdateGeometry(), OmtfPhase2AngleConverter::getProcessorPhi(), and getProcessorPhi().