#include <AngleConverter.h>
Public Member Functions | |
AngleConverter (edm::ConsumesCollector &, bool getDuringEvent=true) | |
void | checkAndUpdateGeometry (const edm::EventSetup &, unsigned int) |
Update the Geometry with current Event Setup. More... | |
int | getGlobalEta (unsigned int rawid, const L1MuDTChambPhDigi &aDigi, const L1MuDTChambThContainer *dtThDigis) |
Convert local eta coordinate to global digital microGMT scale. More... | |
int | getGlobalEta (unsigned int rawid, const CSCCorrelatedLCTDigi &aDigi) |
Convert local eta coordinate to global digital microGMT scale. More... | |
int | getGlobalEta (unsigned int rawid, const unsigned int &aDigi) |
Convert local eta coordinate to global digital microGMT scale. More... | |
int | getProcessorPhi (unsigned int iProcessor, l1t::tftype part, const L1MuDTChambPhDigi &digi) const |
int | getProcessorPhi (unsigned int iProcessor, l1t::tftype part, const CSCDetId &csc, const CSCCorrelatedLCTDigi &digi) const |
int | getProcessorPhi (unsigned int iProcessor, l1t::tftype part, const RPCDetId &rollId, const unsigned int &digi) const |
int | getProcessorPhi (unsigned int iProcessor, l1t::tftype part, const RPCDetId &rollId, const unsigned int &digi1, const unsigned int &digi2) const |
~AngleConverter () | |
Private Member Functions | |
const int | findBTIgroup (const L1MuDTChambPhDigi &aDigi, const L1MuDTChambThContainer *dtThDigis) |
Find BTI group. More... | |
bool | isCSCCounterClockwise (const std::unique_ptr< const CSCLayer > &layer) const |
Check orientation of strips in given CSC chamber. More... | |
Private Attributes | |
CSCGeometry const * | _geocsc |
DTGeometry const * | _geodt |
unsigned long long | _geom_cache_id |
RPCGeometry const * | _georpc |
edm::ESGetToken< CSCGeometry, MuonGeometryRecord > | cscGeometryToken_ |
edm::ESGetToken< DTGeometry, MuonGeometryRecord > | dtGeometryToken_ |
unsigned int | nPhiBins |
Number of phi bins along 2Pi. More... | |
edm::ESGetToken< RPCGeometry, MuonGeometryRecord > | rpcGeometryToken_ |
Definition at line 26 of file AngleConverter.h.
AngleConverter::AngleConverter | ( | edm::ConsumesCollector & | iC, |
bool | getDuringEvent = true |
||
) |
Definition at line 151 of file AngleConverter.cc.
References edm::BeginRun, cscGeometryToken_, dtGeometryToken_, edm::ConsumesCollector::esConsumes(), and rpcGeometryToken_.
AngleConverter::~AngleConverter | ( | ) |
Definition at line 164 of file AngleConverter.cc.
void AngleConverter::checkAndUpdateGeometry | ( | const edm::EventSetup & | es, |
unsigned int | phiBins | ||
) |
Update the Geometry with current Event Setup.
Definition at line 167 of file AngleConverter.cc.
References _geocsc, _geodt, _geom_cache_id, _georpc, edm::eventsetup::EventSetupRecord::cacheIdentifier(), cscGeometryToken_, dtGeometryToken_, relativeConstraints::geom, edm::EventSetup::get(), edm::eventsetup::DependentRecordImplementation< RecordT, ListT >::get(), nPhiBins, and rpcGeometryToken_.
|
private |
Find BTI group.
If there are more than one theta digi we do not take is due to unresolvet ambiguity. In this case we take eta of the middle of the chamber.
Definition at line 518 of file AngleConverter.cc.
References L1MuDTChambPhDigi::bxNum(), L1MuDTChambThContainer::chThetaSegm(), mps_fire::i, L1MuDTChambThDigi::position(), L1MuDTChambPhDigi::scNum(), L1MuDTChambPhDigi::stNum(), and L1MuDTChambPhDigi::whNum().
int AngleConverter::getGlobalEta | ( | unsigned int | rawid, |
const L1MuDTChambPhDigi & | aDigi, | ||
const L1MuDTChambThContainer * | dtThDigis | ||
) |
Convert local eta coordinate to global digital microGMT scale.
Definition at line 364 of file AngleConverter.cc.
References _geodt, L1MuDTChambPhDigi::bxNum(), DTGeometry::chamber(), L1MuDTChambThContainer::chThetaSegm(), PV3DBase< T, PVType, FrameType >::eta(), mps_fire::i, L1MuDTChambThDigi::position(), L1MuDTChambPhDigi::scNum(), FWPFMaths::sgn(), L1MuDTChambPhDigi::stNum(), and L1MuDTChambPhDigi::whNum().
int AngleConverter::getGlobalEta | ( | unsigned int | rawid, |
const CSCCorrelatedLCTDigi & | aDigi | ||
) |
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 430 of file AngleConverter.cc.
References _geocsc, CSCGeometry::chamber(), CSCCorrelatedLCTDigi::getKeyWG(), CSCPatternBank::getLegacyPosition(), CSCCorrelatedLCTDigi::getPattern(), CSCCorrelatedLCTDigi::getStrip(), gpuClustering::id, isCSCCounterClockwise(), CSCConstants::KEY_ALCT_LAYER, phase1PixelTopology::layer, PV3DBase< T, PVType, FrameType >::mag(), hltrates_dqm_sourceclient-live_cfg::offset, PV3DBase< T, PVType, FrameType >::phi(), digitizers_cfi::strip, PV3DBase< T, PVType, FrameType >::theta(), and Geom::Phi< T1, Range >::value().
int AngleConverter::getGlobalEta | ( | unsigned int | rawid, |
const unsigned int & | aDigi | ||
) |
Convert local eta coordinate to global digital microGMT scale.
Definition at line 497 of file AngleConverter.cc.
References _georpc, PV3DBase< T, PVType, FrameType >::eta(), runTauDisplay::gp, gpuClustering::id, and RPCGeometry::roll().
int AngleConverter::getProcessorPhi | ( | unsigned int | iProcessor, |
l1t::tftype | part, | ||
const L1MuDTChambPhDigi & | digi | ||
) | const |
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
Definition at line 181 of file AngleConverter.cc.
References M_PI, nPhiBins, l1t::omtf_pos, phi, L1MuDTChambPhDigi::phi(), funct::pow(), pileupReCalc_HLTpaths::scale, L1MuDTChambPhDigi::scNum(), relativeConstraints::station, L1MuDTChambPhDigi::stNum(), and L1MuDTChambPhDigi::whNum().
int AngleConverter::getProcessorPhi | ( | unsigned int | iProcessor, |
l1t::tftype | part, | ||
const CSCDetId & | csc, | ||
const CSCCorrelatedLCTDigi & | digi | ||
) | const |
Definition at line 219 of file AngleConverter.cc.
References _geocsc, CSCLayer::centerOfStrip(), CSCDetId::chamber(), CSCGeometry::chamber(), CSCCorrelatedLCTDigi::getStrip(), CSCChamber::layer(), phase1PixelTopology::layer, M_PI, nPhiBins, l1t::omtf_pos, phi, PV3DBase< T, PVType, FrameType >::phi(), CSCDetId::ring(), pileupReCalc_HLTpaths::scale, CSCChamber::specs(), CSCDetId::station(), CSCChamberSpecs::stripPhiPitch(), and CSCDetId::zendcap().
int AngleConverter::getProcessorPhi | ( | unsigned int | iProcessor, |
l1t::tftype | part, | ||
const RPCDetId & | rollId, | ||
const unsigned int & | digi | ||
) | const |
Definition at line 327 of file AngleConverter.cc.
References _georpc, RPCRoll::centreOfStrip(), M_PI, nPhiBins, RPCGeometry::roll(), and GeomDet::toGlobal().
int AngleConverter::getProcessorPhi | ( | unsigned int | iProcessor, |
l1t::tftype | part, | ||
const RPCDetId & | rollId, | ||
const unsigned int & | digi1, | ||
const unsigned int & | digi2 | ||
) | const |
Definition at line 285 of file AngleConverter.cc.
References _georpc, RPCRoll::centreOfStrip(), M_PI, nPhiBins, RPCGeometry::roll(), and GeomDet::toGlobal().
|
private |
Check orientation of strips in given CSC chamber.
Definition at line 510 of file AngleConverter.cc.
References funct::abs(), M_PI, and me0TriggerPseudoDigis_cff::nStrips.
Referenced by getGlobalEta().
|
private |
Definition at line 71 of file AngleConverter.h.
Referenced by checkAndUpdateGeometry(), getGlobalEta(), and getProcessorPhi().
|
private |
Definition at line 72 of file AngleConverter.h.
Referenced by checkAndUpdateGeometry(), and getGlobalEta().
|
private |
Definition at line 69 of file AngleConverter.h.
Referenced by checkAndUpdateGeometry().
|
private |
Definition at line 70 of file AngleConverter.h.
Referenced by checkAndUpdateGeometry(), getGlobalEta(), and getProcessorPhi().
|
private |
Definition at line 65 of file AngleConverter.h.
Referenced by AngleConverter(), and checkAndUpdateGeometry().
|
private |
Definition at line 66 of file AngleConverter.h.
Referenced by AngleConverter(), and checkAndUpdateGeometry().
|
private |
Number of phi bins along 2Pi.
Definition at line 75 of file AngleConverter.h.
Referenced by checkAndUpdateGeometry(), and getProcessorPhi().
|
private |
Definition at line 64 of file AngleConverter.h.
Referenced by AngleConverter(), and checkAndUpdateGeometry().