#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) 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 297 of file AngleConverterBase.cc.
References CSCDetId::ring(), and CSCDetId::station().
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 430 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 250 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 281 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 327 of file AngleConverterBase.cc.
References _geocsc, CSCGeometry::chamber(), PV3DBase< T, PVType, FrameType >::eta(), CSCLayer::geometry(), CSCCorrelatedLCTDigi::getBX(), CSCCorrelatedLCTDigi::getKeyWG(), CSCConstants::KEY_ALCT_LAYER, CSCChamber::layer(), and pixelTopology::layer.
|
virtual |
Convert local eta coordinate to global digital microGMT scale. EtaValue::etaSigma is half of the strip
Definition at line 380 of file AngleConverterBase.cc.
References _georpc, funct::abs(), PV3DBase< T, PVType, FrameType >::eta(), runTauDisplay::gp, l1ctLayer2EG_cff::id, pixelTopology::layer, HLT_2022v15_cff::region, relativeConstraints::ring, RPCGeometry::roll(), hgcalTBTopologyTester_cfi::sector, relativeConstraints::station, and digitizers_cfi::strip.
returns the eta position of the CSC chamber
Definition at line 360 of file AngleConverterBase.cc.
References _geocsc, CSCGeometry::chamber(), cscChamberEtaSize(), 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 229 of file AngleConverterBase.cc.
References _geodt, DTGeometry::chamber(), PV3DBase< T, PVType, FrameType >::eta(), DTChamberId::sector(), DTChamberId::station(), GeomDet::toGlobal(), and DTChamberId::wheel().
|
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
Definition at line 60 of file AngleConverterBase.cc.
References createfilelist::int, M_PI, nPhiBins, l1ctLayer1_cff::phiZero, funct::pow(), L1EGammaClusterEmuProducer_cfi::scale, and hgcalTBTopologyTester_cfi::sector.
Referenced by CscDigiToStubsConverterOmtf::addCSCstubs(), DtDigiToStubsConverterOmtf::addDTphiDigi(), and RpcDigiToStubsConverterOmtf::addRPCstub().
|
virtual |
Definition at line 83 of file AngleConverterBase.cc.
References _geocsc, relativeConstraints::chamber, CSCGeometry::chamber(), CSCCorrelatedLCTDigi::getStrip(), pixelTopology::layer, M_PI, nPhiBins, eventshapeDQM_cfi::order, phi, l1ctLayer1_cff::phiZero, L1EGammaClusterEmuProducer_cfi::scale, and CSCChamberSpecs::stripPhiPitch().
|
virtual |
Definition at line 191 of file AngleConverterBase.cc.
References _georpc, RPCRoll::centreOfStrip(), M_PI, nPhiBins, RPCGeometry::roll(), and GeomDet::toGlobal().
|
virtual |
Definition at line 160 of file AngleConverterBase.cc.
References _georpc, funct::abs(), RPCRoll::centreOfStrip(), LogTrace, M_PI, nPhiBins, l1ctLayer1_cff::phiZero, DetId::rawId(), RPCGeometry::roll(), GeomDet::toGlobal(), PV3DBase< T, PVType, FrameType >::x(), and PV3DBase< T, PVType, FrameType >::y().
|
protectedvirtual |
Check orientation of strips in given CSC chamber.
Definition at line 422 of file AngleConverterBase.cc.
References funct::abs(), pixelTopology::layer, M_PI, and me0TriggerPseudoDigis_cff::nStrips.
Referenced by OmtfAngleConverter::getGlobalEta().
|
protected |
Definition at line 109 of file AngleConverterBase.h.
Referenced by checkAndUpdateGeometry(), OmtfAngleConverter::getGlobalEta(), getGlobalEta(), getGlobalEtaCsc(), and getProcessorPhi().
|
protected |
Definition at line 110 of file AngleConverterBase.h.
Referenced by checkAndUpdateGeometry(), OmtfAngleConverter::getGlobalEta(), getGlobalEta(), and getGlobalEtaDt().
|
protected |
Definition at line 107 of file AngleConverterBase.h.
|
protected |
Definition at line 108 of file AngleConverterBase.h.
Referenced by checkAndUpdateGeometry(), getGlobalEta(), OmtfAngleConverter::getGlobalEtaRpc(), and getProcessorPhi().
|
protected |
Definition at line 114 of file AngleConverterBase.h.
Referenced by checkAndUpdateGeometry().
|
protected |
Definition at line 112 of file AngleConverterBase.h.
Referenced by checkAndUpdateGeometry().
|
protected |
Number of phi bins along 2Pi.
Definition at line 116 of file AngleConverterBase.h.
Referenced by checkAndUpdateGeometry(), and getProcessorPhi().