|
|
#include <EcalElectronicsMapping.h>
|
void | assign (const DetId &cell, const EcalElectronicsId &, const EcalTriggerElectronicsId &tower) |
| set the association between a DetId and a tower More...
|
|
int | DCCBoundary (int FED) const |
|
std::vector< DetId > | dccConstituents (int dccId) const |
| Get the constituent detids for this dccId. More...
|
|
int | DCCid (const EBDetId &id) const |
| returns the DCC of an EBDetId More...
|
|
int | DCCid (const EcalTrigTowerDetId &id) const |
| returns the DCCid (i.e. the FED) of a Trigger Tower More...
|
|
std::vector< DetId > | dccTowerConstituents (int dccId, int tower) const |
| Get the constituent detids for this dccId. More...
|
|
| EcalElectronicsMapping () |
|
std::pair< int, int > | getDCCandSC (EcalScDetId id) const |
|
DetId | getDetId (const EcalElectronicsId &id) const |
| Get the detid given an electronicsId. More...
|
|
DetId | getDetId (const EcalTriggerElectronicsId &id) const |
| Get the detid given a trigger electronicsId. More...
|
|
std::vector< EcalScDetId > | getEcalScDetId (int DCCid, int DCC_Channel, bool ignoreSingleCrystal=true) const |
|
EcalElectronicsId | getElectronicsId (const DetId &id) const |
| Get the electronics id for this det id. More...
|
|
EcalElectronicsId | getElectronicsId (const EcalTriggerElectronicsId &id) const |
| Get the electronics id given a trigger electronicsId. More...
|
|
int | GetFED (double eta, double phi) const |
|
std::vector< int > | GetListofFEDs (const RectangularEtaPhiRegion ®ion) const |
|
void | GetListofFEDs (const RectangularEtaPhiRegion ®ion, std::vector< int > &FEDs) const |
|
int | getLMNumber (const DetId &id) const |
|
EcalTriggerElectronicsId | getTriggerElectronicsId (const DetId &id) const |
| Get the trigger electronics id for this det id. More...
|
|
EcalTriggerElectronicsId | getTriggerElectronicsId (const EcalElectronicsId &id) const |
| Get the trigger electronics id given an electronicsId. More...
|
|
EcalTrigTowerDetId | getTrigTowerDetId (int TCCid, int iTT) const |
| Builds a EcalTrigTowerDetID from the TCCid & TriggerTower index in TCC. More...
|
|
int | iTT (const EcalTrigTowerDetId &id) const |
| returns the index of a Trigger Tower within its TCC. More...
|
|
std::vector< DetId > | pseudoStripConstituents (int tccId, int tt, int pseudostrip) const |
| Get the constituent detids for this dccId. More...
|
|
bool | rightTower (int tower) const |
|
std::vector< DetId > | stripConstituents (int dccId, int tower, int strip) const |
| Get the constituent detids for this dccId. More...
|
|
EcalSubdetector | subdet (int dccid, int mode) const |
|
std::vector< DetId > | tccConstituents (int tccId) const |
| Get the constituent detids for this dccId. More...
|
|
int | TCCid (const EBDetId &id) const |
| returns the TCCid of an EBDetId More...
|
|
int | TCCid (const EcalTrigTowerDetId &id) const |
| returns the TCCid of a Trigger Tower More...
|
|
std::vector< DetId > | ttConstituents (int tccId, int tt) const |
| Get the constituent detids for this dccId. More...
|
|
int | zside (int dcctcc, int mode) const |
|
|
typedef boost::multi_index::multi_index_container< MapItem, boost::multi_index::indexed_by< boost::multi_index::ordered_unique< boost::multi_index::member< MapItem, DetId, &MapItem::cell > >, boost::multi_index::ordered_unique< boost::multi_index::member< MapItem, EcalElectronicsId, &MapItem::elid > >, boost::multi_index::ordered_unique< boost::multi_index::member< MapItem, EcalTriggerElectronicsId, &MapItem::trelid > >, boost::multi_index::ordered_non_unique< boost::multi_index::const_mem_fun< MapItem, int, &MapItem::dccId > >, boost::multi_index::ordered_non_unique< boost::multi_index::composite_key< MapItem, boost::multi_index::const_mem_fun< MapItem, int, &MapItem::dccId >, boost::multi_index::const_mem_fun< MapItem, int, &MapItem::towerId > > >, boost::multi_index::ordered_non_unique< boost::multi_index::composite_key< MapItem, boost::multi_index::const_mem_fun< MapItem, int, &MapItem::dccId >, boost::multi_index::const_mem_fun< MapItem, int, &MapItem::towerId >, boost::multi_index::const_mem_fun< MapItem, int, &MapItem::stripId > > >, boost::multi_index::ordered_non_unique< boost::multi_index::const_mem_fun< MapItem, int, &MapItem::tccId > >, boost::multi_index::ordered_non_unique< boost::multi_index::composite_key< MapItem, boost::multi_index::const_mem_fun< MapItem, int, &MapItem::tccId >, boost::multi_index::const_mem_fun< MapItem, int, &MapItem::ttId > > >, boost::multi_index::ordered_non_unique< boost::multi_index::composite_key< MapItem, boost::multi_index::const_mem_fun< MapItem, int, &MapItem::tccId >, boost::multi_index::const_mem_fun< MapItem, int, &MapItem::ttId >, boost::multi_index::const_mem_fun< MapItem, int, &MapItem::pseudoStripId > > > > > | EcalElectronicsMap |
|
typedef EcalElectronicsMap::nth_index< 3 >::type | EcalElectronicsMap_by_DccId |
|
typedef EcalElectronicsMap::nth_index< 4 >::type | EcalElectronicsMap_by_DccId_and_TowerId |
|
typedef EcalElectronicsMap::nth_index< 5 >::type | EcalElectronicsMap_by_DccId_TowerId_and_StripId |
|
typedef EcalElectronicsMap::nth_index< 0 >::type | EcalElectronicsMap_by_DetId |
|
typedef EcalElectronicsMap::nth_index< 1 >::type | EcalElectronicsMap_by_ElectronicsId |
|
typedef EcalElectronicsMap::nth_index< 6 >::type | EcalElectronicsMap_by_TccId |
|
typedef EcalElectronicsMap::nth_index< 7 >::type | EcalElectronicsMap_by_TccId_and_TtId |
|
typedef EcalElectronicsMap::nth_index< 8 >::type | EcalElectronicsMap_by_TccId_TtId_and_PseudostripId |
|
typedef EcalElectronicsMap::nth_index< 2 >::type | EcalElectronicsMap_by_TriggerElectronicsId |
|
- Author
- P.Meridiani (INFN Roma1), E. Perez (CERN)
Definition at line 28 of file EcalElectronicsMapping.h.
◆ EcalElectronicsMap
typedef boost::multi_index::multi_index_container< MapItem, boost::multi_index::indexed_by< boost::multi_index::ordered_unique<boost::multi_index::member<MapItem, DetId, &MapItem::cell> >, boost::multi_index::ordered_unique<boost::multi_index::member<MapItem, EcalElectronicsId, &MapItem::elid> >, boost::multi_index::ordered_unique< boost::multi_index::member<MapItem, EcalTriggerElectronicsId, &MapItem::trelid> >, boost::multi_index::ordered_non_unique<boost::multi_index::const_mem_fun<MapItem, int, &MapItem::dccId> >, boost::multi_index::ordered_non_unique< boost::multi_index::composite_key<MapItem, boost::multi_index::const_mem_fun<MapItem, int, &MapItem::dccId>, boost::multi_index::const_mem_fun<MapItem, int, &MapItem::towerId> > >, boost::multi_index::ordered_non_unique< boost::multi_index::composite_key<MapItem, boost::multi_index::const_mem_fun<MapItem, int, &MapItem::dccId>, boost::multi_index::const_mem_fun<MapItem, int, &MapItem::towerId>, boost::multi_index::const_mem_fun<MapItem, int, &MapItem::stripId> > >, boost::multi_index::ordered_non_unique<boost::multi_index::const_mem_fun<MapItem, int, &MapItem::tccId> >, boost::multi_index::ordered_non_unique< boost::multi_index::composite_key<MapItem, boost::multi_index::const_mem_fun<MapItem, int, &MapItem::tccId>, boost::multi_index::const_mem_fun<MapItem, int, &MapItem::ttId> > >, boost::multi_index::ordered_non_unique<boost::multi_index::composite_key< MapItem, boost::multi_index::const_mem_fun<MapItem, int, &MapItem::tccId>, boost::multi_index::const_mem_fun<MapItem, int, &MapItem::ttId>, boost::multi_index::const_mem_fun<MapItem, int, &MapItem::pseudoStripId> > > > > EcalElectronicsMapping::EcalElectronicsMap |
|
private |
◆ EcalElectronicsMap_by_DccId
◆ EcalElectronicsMap_by_DccId_and_TowerId
◆ EcalElectronicsMap_by_DccId_TowerId_and_StripId
◆ EcalElectronicsMap_by_DetId
◆ EcalElectronicsMap_by_ElectronicsId
◆ EcalElectronicsMap_by_TccId
◆ EcalElectronicsMap_by_TccId_and_TtId
◆ EcalElectronicsMap_by_TccId_TtId_and_PseudostripId
◆ EcalElectronicsMap_by_TriggerElectronicsId
◆ EcalElectronicsMapping()
EcalElectronicsMapping::EcalElectronicsMapping |
( |
| ) |
|
◆ assign()
◆ DCCBoundary()
int EcalElectronicsMapping::DCCBoundary |
( |
int |
FED | ) |
const |
◆ dccConstituents()
std::vector< DetId > EcalElectronicsMapping::dccConstituents |
( |
int |
dccId | ) |
const |
◆ DCCid() [1/2]
int EcalElectronicsMapping::DCCid |
( |
const EBDetId & |
id | ) |
const |
◆ DCCid() [2/2]
returns the DCCid (i.e. the FED) of a Trigger Tower
Definition at line 189 of file EcalElectronicsMapping.cc.
194 int phi =
id.iphi() + 2;
200 if (
id.
zside() < 0) {
207 int tccid =
TCCid(
id);
214 if (tccid == 24 || tccid == 25 || tccid == 6 || tccid == 7)
216 if (tccid == 26 || tccid == 27 || tccid == 8 || tccid == 9)
218 if (tccid == 28 || tccid == 29 || tccid == 10 || tccid == 11)
220 if (tccid == 30 || tccid == 31 || tccid == 12 || tccid == 13)
222 if (tccid == 32 || tccid == 33 || tccid == 14 || tccid == 15)
224 if (tccid == 34 || tccid == 35 || tccid == 16 || tccid == 17)
226 if (tccid == 36 || tccid == 19 || tccid == 18 || tccid == 1)
228 if (tccid == 20 || tccid == 21 || tccid == 2 || tccid == 3)
230 if (tccid == 22 || tccid == 23 || tccid == 4 || tccid == 5)
235 throw cms::Exception(
"InvalidDetId") <<
" Wrong EcalTrigTowerDetId in EcalElectronicsMapping::DCCid.";
References EcalBarrel, EcalEndcap, Exception, hltrates_dqm_sourceclient-live_cfg::offset, and ecaldqm::zside().
◆ dccTowerConstituents()
std::vector< DetId > EcalElectronicsMapping::dccTowerConstituents |
( |
int |
dccId, |
|
|
int |
tower |
|
) |
| const |
Get the constituent detids for this dccId.
Definition at line 589 of file EcalElectronicsMapping.cc.
591 std::vector<DetId>
items;
607 for (
int ip = 1; ip <= 5; ip++) {
608 for (
int ie = 0; ie <= 4; ie++) {
609 int ieta_xtal =
ieta + ie;
610 int iphi_xtal =
iphi + ip;
612 ieta_xtal = -ieta_xtal;
614 items.emplace_back(ebdetid);
621 EcalElectronicsMap_by_DccId_and_TowerId::const_iterator lb, ub;
622 boost::tuples::tie(lb, ub) = get<4>(
m_items).equal_range(boost::make_tuple(
int(
dccId),
int(
tower)));
624 DetId cell = lb->cell;
625 items.emplace_back(cell);
631 <<
" in EcalElectronicsMapping::dccTowerConstituents.";
References ecaldqm::dccId(), EcalBarrel, EcalEndcap, EBDetId::ETAPHIMODE, Exception, LEDCalibrationChannels::ieta, LEDCalibrationChannels::iphi, mps_monitormerge::items, hgcalTowerProducer_cfi::tower, and ecaldqm::zside().
Referenced by EcalElectronicsMapper::fillMaps(), and DCCDataUnpacker::getCCUValue().
◆ getDCCandSC()
std::pair< int, int > EcalElectronicsMapping::getDCCandSC |
( |
EcalScDetId |
id | ) |
const |
Retrieves the DCC channel that reads the crystals constituting an ECAL supercystal (SC). For standard 5x5 complete SCs, there is a one-to-one matching between DCC channel and SC. For partial SCs, the relation from SC to DCC channel is N-to-N. The 3-2-1 partial SC type has 1 crystal read by a DCC channel and the others read by another DCC channel. If the former crystal is ignored for the DCC channel matching, then the SC-to-DCC channel association is simplified to 1-to-N relation. This method uses this prescription and therefore returns a single DCC channel.
- Parameters
-
- Returns
- DCC channel. .first: DCC ID (from 1 to 54); .second: channel within the DCC (from 1 to 68). See http://hepwww.rl.ac.uk/CMSecal/Dee-layout.html, https://twiki.cern.ch/twiki/bin/view/CMS/EcalIndices, and references thereby.
Definition at line 761 of file EcalElectronicsMapping.cc.
767 std::pair<int, int> ind;
771 int zside =
id.zside();
772 ix = (ix - 1) * 5 + 1;
773 iy = (iy - 1) * 5 + 1;
774 ix = 5 * (ix / 5) + 1;
775 iy = 5 * (iy / 5) + 1;
792 int Dccid = elid.
dccId();
793 int DCC_Channel = elid.
towerId();
795 ind.second = DCC_Channel;
References EcalElectronicsId::dccId(), EEDetId::ix(), EcalElectronicsId::towerId(), EEDetId::validDetId(), EEDetId::XYMODE, and ecaldqm::zside().
Referenced by EcalSelectiveReadoutValidation::dccCh(), EcalSelectiveReadoutValidation::dccId(), and EcalDigiToRaw::produce().
◆ getDetId() [1/2]
Get the detid given an electronicsId.
Definition at line 410 of file EcalElectronicsMapping.cc.
414 int dcc =
id.dccId();
415 int tower =
id.towerId();
416 int strip =
id.stripId();
417 int channel =
id.xtalId();
421 bool EBPlus = (
id.zside() > 0);
422 bool EBMinus = !EBPlus;
424 if (
id.
zside() < 0) {
437 if (
strip % 2 == 1) {
439 iphi += (channel - 1) + 1;
441 iphi += (4 - (channel - 1)) + 1;
444 iphi += (4 - (channel - 1)) + 1;
446 iphi += (channel - 1) + 1;
450 if (
strip % 2 == 1) {
452 iphi += (4 - (channel - 1)) + 1;
454 iphi += (channel - 1) + 1;
457 iphi += (channel - 1) + 1;
459 iphi += (4 - (channel - 1)) + 1;
470 EcalElectronicsMap_by_ElectronicsId::const_iterator it = get<1>(
m_items).find(
id);
473 edm::LogError(
"EcalElectronicsMapping") <<
"Ecal mapping was asked non DetId";
476 DetId cell = it->cell;
479 throw cms::Exception(
"InvalidDetId") <<
"Wrong EcalElectronicsId in EcalElectronicsMapping::getDetId.";
References MillePedeFileConverter_cfg::e, EcalBarrel, EcalEndcap, mps_fire::end, EBDetId::ETAPHIMODE, Exception, LEDCalibrationChannels::ieta, LEDCalibrationChannels::iphi, digitizers_cfi::strip, hgcalTowerProducer_cfi::tower, and ecaldqm::zside().
Referenced by ecaldqm::binning::channelName(), EcalElectronicsMapper::fillMaps(), ecaldqm::binning::findBinCrystal_(), ecaldqm::binning::findBinSuperCrystal_(), DCCDataUnpacker::getChannelValue(), and EcalDetIdToBeRecoveredProducer::produce().
◆ getDetId() [2/2]
◆ getEcalScDetId()
std::vector< EcalScDetId > EcalElectronicsMapping::getEcalScDetId |
( |
int |
DCCid, |
|
|
int |
DCC_Channel, |
|
|
bool |
ignoreSingleCrystal = true |
|
) |
| const |
builds EcalScDetId's from (DCC, DCC_channel) Most of the time there is only one SC read-out by the DCC channel, but few DCC channels read VPTs coming from two different partial SCs. There are also 4 SCs per endcap whose one crystal is read out by a different DCC channel than the others. In such case, the SC will be assiociated to the DCC channel reading most of the crystals, the DCC channel reading only one crystal being ignored.
- Parameters
-
ignoreSingleCrystal. | There are four partial SCs per endcap whose one crystal is read out by a different DCC channel than for the other crystals. If this parameter is true these single crystals will be ignored: if a SC has only one crystal read out by the DCC channel, then the SC will not be included in the returned list. a differentsimplification, SC read out by two different DCC channels |
- Returns
- vector of SCs associated to the DCC channel.
Definition at line 799 of file EcalElectronicsMapping.cc.
803 const bool debug =
false;
810 std::vector<EcalScDetId> scDetIds;
815 std::vector<int> nReadoutXtals;
820 std::cout << __FILE__ <<
":" << __LINE__ <<
": " << xtals.size() <<
" crystals read out by channel " << DCC_Channel
821 <<
" of DCC " <<
DCCid <<
": ";
822 for (
auto xtal : xtals) {
829 throw cms::Exception(
"InvalidDetId") <<
"EcalElectronicsMapping : can not create EcalScDetId for DCC " <<
DCCid
830 <<
" and DCC_Channel " << DCC_Channel <<
".";
832 for (
auto xtal : xtals) {
834 int ix = eedetid.
ix();
835 int iy = eedetid.
iy();
836 int iz = eedetid.
zside();
837 int ix_SC = (ix - 1) / 5 + 1;
838 int iy_SC = (iy - 1) / 5 + 1;
843 while (iSc < scDetIds.size() && scDetIds[iSc] != scdetid)
845 if (iSc == scDetIds.size()) {
846 scDetIds.emplace_back(scdetid);
847 nReadoutXtals.emplace_back(1);
849 ++nReadoutXtals[iSc];
853 if (ignoreSingleCrystal) {
859 assert(scDetIds.size() == nReadoutXtals.size());
860 for (
size_t iSc = 0; iSc < scDetIds.size(); ) {
861 if (nReadoutXtals[iSc] <= 1) {
863 std::cout <<
"EcalElectronicsMapping::getEcalScDetId: Ignore SC " << scDetIds[iSc]
864 <<
" whose only one channel is read out by "
865 "the DCC channel (DCC "
866 <<
DCCid <<
", ch " << DCC_Channel <<
").\n";
867 scDetIds.erase(scDetIds.begin() + iSc);
868 nReadoutXtals.erase(nReadoutXtals.begin() + iSc);
References cms::cuda::assert(), gather_cfg::cout, debug, EEDetId::ix(), EEDetId::iy(), and EEDetId::zside().
Referenced by EcalElectronicsMapper::fillMaps(), ecaldqm::StatusManager::readFromStream(), EcalReadoutTools::readOutUnitOf(), PFEcalEndcapRecHitCreator::readOutUnitOf(), and EcalSelectiveReadoutValidation::readOutUnitOf().
◆ getElectronicsId() [1/2]
Get the electronics id for this det id.
Definition at line 324 of file EcalElectronicsMapping.cc.
329 int dcc =
DCCid(ebdetid);
331 bool EBMinus = !EBPlus;
344 if (
strip % 2 == 0) {
346 channel = (
iphi - 1) % 5;
348 channel = 4 - ((
iphi - 1) % 5);
351 channel = 4 - ((
iphi - 1) % 5);
353 channel = (
iphi - 1) % 5;
357 if (
strip % 2 == 0) {
359 channel = 4 - ((
iphi - 1) % 5);
361 channel = (
iphi - 1) % 5;
364 channel = (
iphi - 1) % 5;
366 channel = 4 - ((
iphi - 1) % 5);
376 EcalElectronicsMap_by_DetId::const_iterator it = get<0>(
m_items).find(
id);
379 edm::LogError(
"EcalElectronicsMapping") <<
"Ecal mapping was asked non valid id";
385 throw cms::Exception(
"InvalidDetId") <<
" Wrong DetId in EcalElectronicsMapping::getElectronicsId.";
References EcalBarrel, EcalEndcap, mps_fire::end, Exception, LEDCalibrationChannels::ieta, EBDetId::ietaAbs(), EBDetId::iphi(), LEDCalibrationChannels::iphi, digitizers_cfi::strip, hgcalTowerProducer_cfi::tower, EBDetId::tower(), and ecaldqm::zside().
Referenced by EcalPerEvtLaserAnalyzer::analyze(), EcalABAnalyzer::analyze(), EcalTestPulseAnalyzer::analyze(), EcalLaserAnalyzer2::analyze(), EcalLaserAnalyzer::analyze(), EcalURecHitHists::analyze(), EcalTPGParamBuilder::analyze(), EcalCosmicsHists::analyze(), ecaldqm::binning::channelName(), EcalDccWeightBuilder::dbId(), EcalSelectiveReadoutValidation::dccCh(), TowerBlockFormatter::DigiToRaw(), EcalElectronicsMapper::fillMaps(), EcalDisplaysByEvent::makeHistos(), EcalDigiToRaw::produce(), EcalPedOffset::readDACs(), EcalDigiDisplay::readEBDigis(), EcalPedHists::readEBdigis(), EcalDigiDisplay::readEEDigis(), EcalPedHists::readEEdigis(), EcalReadoutTools::readOutUnitOf(), PFEcalEndcapRecHitCreator::readOutUnitOf(), EcalSelectiveReadoutValidation::readOutUnitOf(), EcalMipGraphs::selectDigi(), EcalDisplaysByEvent::selectDigi(), EcalMipGraphs::selectHits(), and EcalDisplaysByEvent::selectHits().
◆ getElectronicsId() [2/2]
◆ GetFED()
int EcalElectronicsMapping::GetFED |
( |
double |
eta, |
|
|
double |
phi |
|
) |
| const |
◆ GetListofFEDs() [1/2]
◆ GetListofFEDs() [2/2]
void EcalElectronicsMapping::GetListofFEDs |
( |
const RectangularEtaPhiRegion & |
region, |
|
|
std::vector< int > & |
FEDs |
|
) |
| const |
Definition at line 945 of file EcalElectronicsMapping.cc.
950 double radTodeg = 180. /
M_PI;
955 double etalow =
region.etaLow();
956 double philow =
region.phiLow() * radTodeg;
958 std::cout <<
" etalow philow " << etalow <<
" " << philow << std::endl;
959 int FED_LB =
GetFED(etalow, philow);
961 double phihigh =
region.phiHigh() * radTodeg;
963 std::cout <<
" etalow phihigh " << etalow <<
" " << phihigh << std::endl;
964 int FED_LT =
GetFED(etalow, phihigh);
971 if (philow < -170 && phihigh > 170) {
972 FED_LB = DCC_BoundaryL;
973 FED_LT = DCC_BoundaryL + deltaL - 1;
976 std::cout <<
" FED_LB FED_LT " << FED_LB <<
" " << FED_LT << std::endl;
981 int iL = (FED_LB - DCC_BoundaryL +
idx) % deltaL + DCC_BoundaryL;
982 FEDs.emplace_back(iL);
984 std::cout <<
" add fed " << iL << std::endl;
990 double etahigh =
region.etaHigh();
991 int FED_RB =
GetFED(etahigh, philow);
992 if (FED_RB == FED_LB)
995 int FED_RT =
GetFED(etahigh, phihigh);
998 std::cout <<
"etahigh philow phihigh " << etahigh <<
" " << philow <<
" " << phihigh << std::endl;
1004 if (philow < -170 && phihigh > 170) {
1005 FED_RB = DCC_BoundaryR;
1006 FED_RT = DCC_BoundaryR +
deltaR - 1;
1009 std::cout <<
" FED_RB FED_RT " << FED_RB <<
" " << FED_RT << std::endl;
1012 int iR = (FED_RB - DCC_BoundaryR +
idx) %
deltaR + DCC_BoundaryR;
1013 FEDs.emplace_back(iR);
1015 std::cout <<
" add fed " << iR << std::endl;
1022 int minR = FED_LB + 18;
1023 int maxR = FED_LT + 18;
1027 FEDs.emplace_back(iR);
1029 std::cout <<
" add fed " << iR << std::endl;
1038 int minL = FED_RB - 18;
1039 int maxL = FED_RT - 18;
1043 FEDs.emplace_back(iL);
1045 std::cout <<
" add fed " << iL << std::endl;
1063 FEDs.emplace_back(iL);
1065 std::cout <<
" add fed " << iL << std::endl;
1070 int minR = minL + 18;
1071 int maxR = maxL + 18;
1075 FEDs.emplace_back(iR);
1077 std::cout <<
" add fed " << iR << std::endl;
References gather_cfg::cout, debug, PbPb_ZMuSkimMuonDPG_cff::deltaR, RawToDigi_cff::FEDs, heavyIonCSV_trainingSettings::idx, M_PI, HLT_FULL_cff::minR, and HLT_FULL_cff::region.
◆ getLMNumber()
int EcalElectronicsMapping::getLMNumber |
( |
const DetId & |
id | ) |
const |
◆ getTriggerElectronicsId() [1/2]
◆ getTriggerElectronicsId() [2/2]
◆ getTrigTowerDetId()
Builds a EcalTrigTowerDetID from the TCCid & TriggerTower index in TCC.
Definition at line 240 of file EcalElectronicsMapping.cc.
248 int jtower =
iTT - 1;
253 int SMid = (zIndex > 0) ?
DCCid - 27 :
DCCid + 9;
271 bool EEminus = (zIndex < 0);
272 bool EEplus = (zIndex > 0);
273 if ((!EEminus) && (!EEplus))
274 throw cms::Exception(
"InvalidDetId") <<
"EcalElectronicsMapping: Cannot create EcalTrigTowerDetId object. ";
307 tcc = tcc - TCC_origin;
319 throw cms::Exception(
"InvalidDetId") <<
" Wrong indices in EcalElectronicsMapping::getTrigTowerDetId. TCCid = "
320 <<
TCCid <<
" iTT = " <<
iTT <<
".";
References funct::abs(), EcalBarrel, EcalEndcap, Exception, LEDCalibrationChannels::ieta, SurfaceOrientation::inner, LEDCalibrationChannels::iphi, SurfaceOrientation::outer, EcalTrigTowerDetId::SUBDETIJMODE, and ecaldqm::zside().
Referenced by ecaldqm::binning::channelName(), EcalElectronicsMapper::fillMaps(), and L1CaloEcalScaleConfigOnlineProd::newObject().
◆ iTT()
◆ pseudoStripConstituents()
std::vector< DetId > EcalElectronicsMapping::pseudoStripConstituents |
( |
int |
tccId, |
|
|
int |
tt, |
|
|
int |
pseudostrip |
|
) |
| const |
◆ rightTower()
bool EcalElectronicsMapping::rightTower |
( |
int |
tower | ) |
const |
◆ stripConstituents()
std::vector< DetId > EcalElectronicsMapping::stripConstituents |
( |
int |
dccId, |
|
|
int |
tower, |
|
|
int |
strip |
|
) |
| const |
Get the constituent detids for this dccId.
Definition at line 634 of file EcalElectronicsMapping.cc.
636 std::vector<DetId>
items;
658 for (
int ip = 1; ip <= 5; ip++) {
659 int ieta_xtal =
ieta;
660 int iphi_xtal =
iphi + ip;
662 ieta_xtal = -ieta_xtal;
664 items.emplace_back(ebdetid);
669 EcalElectronicsMap_by_DccId_TowerId_and_StripId::const_iterator lb, ub;
670 boost::tuples::tie(lb, ub) = get<5>(
m_items).equal_range(boost::make_tuple(
int(
dccId),
int(
tower),
int(
strip)));
672 DetId cell = lb->cell;
673 items.emplace_back(cell);
References ecaldqm::dccId(), EcalBarrel, EBDetId::ETAPHIMODE, LEDCalibrationChannels::ieta, LEDCalibrationChannels::iphi, mps_monitormerge::items, digitizers_cfi::strip, hgcalTowerProducer_cfi::tower, and ecaldqm::zside().
◆ subdet()
EcalSubdetector EcalElectronicsMapping::subdet |
( |
int |
dccid, |
|
|
int |
mode |
|
) |
| const |
◆ tccConstituents()
std::vector< DetId > EcalElectronicsMapping::tccConstituents |
( |
int |
tccId | ) |
const |
◆ TCCid() [1/2]
int EcalElectronicsMapping::TCCid |
( |
const EBDetId & |
id | ) |
const |
◆ TCCid() [2/2]
◆ ttConstituents()
std::vector< DetId > EcalElectronicsMapping::ttConstituents |
( |
int |
tccId, |
|
|
int |
tt |
|
) |
| const |
◆ zside()
int EcalElectronicsMapping::zside |
( |
int |
dcctcc, |
|
|
int |
mode |
|
) |
| const |
◆ DCCID_PHI0_EBM
const int EcalElectronicsMapping::DCCID_PHI0_EBM = EcalElectronicsId::DCCID_PHI0_EBM |
|
static |
◆ DCCID_PHI0_EBP
const int EcalElectronicsMapping::DCCID_PHI0_EBP = EcalElectronicsId::DCCID_PHI0_EBP |
|
static |
◆ DCCMODE
const int EcalElectronicsMapping::DCCMODE = 0 |
|
staticprivate |
◆ iEEEtaMinInner
const int EcalElectronicsMapping::iEEEtaMinInner = 22 |
|
static |
◆ iEEEtaMinOuter
const int EcalElectronicsMapping::iEEEtaMinOuter = 18 |
|
static |
◆ kCrystalsInPhi
const int EcalElectronicsMapping::kCrystalsInPhi = EBDetId::kCrystalsInPhi |
|
static |
◆ kEBTowersInEta
const int EcalElectronicsMapping::kEBTowersInEta = EcalTrigTowerDetId::kEBTowersInEta |
|
static |
◆ kEBTowersInPhi
const int EcalElectronicsMapping::kEBTowersInPhi = EcalTrigTowerDetId::kEBTowersInPhi |
|
static |
◆ kEBTowersPerSM
const int EcalElectronicsMapping::kEBTowersPerSM = EcalTrigTowerDetId::kEBTowersPerSM |
|
static |
◆ kEETowersInEta
const int EcalElectronicsMapping::kEETowersInEta = EcalTrigTowerDetId::kEETowersInEta |
|
static |
◆ kEETowersInEtaPerInnerTCC
const int EcalElectronicsMapping::kEETowersInEtaPerInnerTCC = 7 |
|
static |
◆ kEETowersInEtaPerOuterTCC
const int EcalElectronicsMapping::kEETowersInEtaPerOuterTCC = 4 |
|
static |
◆ kEETowersInPhiPerQuadrant
const int EcalElectronicsMapping::kEETowersInPhiPerQuadrant = EcalTrigTowerDetId::kEETowersInPhiPerQuadrant |
|
static |
◆ kEETowersInPhiPerTCC
const int EcalElectronicsMapping::kEETowersInPhiPerTCC = 4 |
|
static |
◆ kTCCinPhi
const int EcalElectronicsMapping::kTCCinPhi = 18 |
|
static |
◆ kTowersInPhi
const int EcalElectronicsMapping::kTowersInPhi = EBDetId::kTowersInPhi |
|
static |
◆ LaserMonitoringMap_EB
std::map<int, int> EcalElectronicsMapping::LaserMonitoringMap_EB |
|
private |
◆ LaserMonitoringMap_EE
std::map<int, int> EcalElectronicsMapping::LaserMonitoringMap_EE |
|
private |
◆ m_items
◆ MAX_DCCID
const int EcalElectronicsMapping::MAX_DCCID = EcalElectronicsId::MAX_DCCID |
|
static |
◆ MAX_DCCID_EBM
const int EcalElectronicsMapping::MAX_DCCID_EBM = EcalElectronicsId::MAX_DCCID_EBM |
|
static |
◆ MAX_DCCID_EBP
const int EcalElectronicsMapping::MAX_DCCID_EBP = EcalElectronicsId::MAX_DCCID_EBP |
|
static |
◆ MAX_DCCID_EEM
const int EcalElectronicsMapping::MAX_DCCID_EEM = EcalElectronicsId::MAX_DCCID_EEM |
|
static |
◆ MAX_DCCID_EEP
const int EcalElectronicsMapping::MAX_DCCID_EEP = EcalElectronicsId::MAX_DCCID_EEP |
|
static |
◆ MAX_LM
const int EcalElectronicsMapping::MAX_LM = 92 |
|
static |
◆ MAX_TCCID
const int EcalElectronicsMapping::MAX_TCCID = EcalTriggerElectronicsId::MAX_TCCID |
|
static |
◆ MAX_TCCID_EBM
const int EcalElectronicsMapping::MAX_TCCID_EBM = EcalTriggerElectronicsId::MAX_TCCID_EBM |
|
static |
◆ MAX_TCCID_EBP
const int EcalElectronicsMapping::MAX_TCCID_EBP = EcalTriggerElectronicsId::MAX_TCCID_EBP |
|
static |
◆ MAX_TCCID_EEM
const int EcalElectronicsMapping::MAX_TCCID_EEM = EcalTriggerElectronicsId::MAX_TCCID_EEM |
|
static |
◆ MAX_TCCID_EEP
const int EcalElectronicsMapping::MAX_TCCID_EEP = EcalTriggerElectronicsId::MAX_TCCID_EEP |
|
static |
◆ MIN_DCCID
const int EcalElectronicsMapping::MIN_DCCID = EcalElectronicsId::MIN_DCCID |
|
static |
◆ MIN_DCCID_EBM
const int EcalElectronicsMapping::MIN_DCCID_EBM = EcalElectronicsId::MIN_DCCID_EBM |
|
static |
◆ MIN_DCCID_EBP
const int EcalElectronicsMapping::MIN_DCCID_EBP = EcalElectronicsId::MIN_DCCID_EBP |
|
static |
◆ MIN_DCCID_EEM
const int EcalElectronicsMapping::MIN_DCCID_EEM = EcalElectronicsId::MIN_DCCID_EEM |
|
static |
◆ MIN_DCCID_EEP
const int EcalElectronicsMapping::MIN_DCCID_EEP = EcalElectronicsId::MIN_DCCID_EEP |
|
static |
◆ MIN_LM_EBM
const int EcalElectronicsMapping::MIN_LM_EBM = 1 |
|
static |
◆ MIN_LM_EBP
const int EcalElectronicsMapping::MIN_LM_EBP = 37 |
|
static |
◆ MIN_LM_EEM
const int EcalElectronicsMapping::MIN_LM_EEM = 73 |
|
static |
◆ MIN_LM_EEP
const int EcalElectronicsMapping::MIN_LM_EEP = 83 |
|
static |
◆ MIN_TCCID
const int EcalElectronicsMapping::MIN_TCCID = EcalTriggerElectronicsId::MIN_TCCID |
|
static |
◆ MIN_TCCID_EBM
const int EcalElectronicsMapping::MIN_TCCID_EBM = EcalTriggerElectronicsId::MIN_TCCID_EBM |
|
static |
◆ MIN_TCCID_EBP
const int EcalElectronicsMapping::MIN_TCCID_EBP = EcalTriggerElectronicsId::MIN_TCCID_EBP |
|
static |
◆ MIN_TCCID_EEM
const int EcalElectronicsMapping::MIN_TCCID_EEM = EcalTriggerElectronicsId::MIN_TCCID_EEM |
|
static |
◆ MIN_TCCID_EEP
const int EcalElectronicsMapping::MIN_TCCID_EEP = EcalTriggerElectronicsId::MIN_TCCID_EEP |
|
static |
◆ TCCID_PHI0_EBM
const int EcalElectronicsMapping::TCCID_PHI0_EBM = EcalTriggerElectronicsId::TCCID_PHI0_EBM |
|
static |
◆ TCCID_PHI0_EBP
const int EcalElectronicsMapping::TCCID_PHI0_EBP = EcalTriggerElectronicsId::TCCID_PHI0_EBP |
|
static |
◆ TCCID_PHI0_EEM_IN
const int EcalElectronicsMapping::TCCID_PHI0_EEM_IN = EcalTriggerElectronicsId::TCCID_PHI0_EEM_IN |
|
static |
◆ TCCID_PHI0_EEM_OUT
const int EcalElectronicsMapping::TCCID_PHI0_EEM_OUT = EcalTriggerElectronicsId::TCCID_PHI0_EEM_OUT |
|
static |
◆ TCCID_PHI0_EEP_IN
const int EcalElectronicsMapping::TCCID_PHI0_EEP_IN = EcalTriggerElectronicsId::TCCID_PHI0_EEP_IN |
|
static |
◆ TCCID_PHI0_EEP_OUT
const int EcalElectronicsMapping::TCCID_PHI0_EEP_OUT = EcalTriggerElectronicsId::TCCID_PHI0_EEP_OUT |
|
static |
◆ TCCMODE
const int EcalElectronicsMapping::TCCMODE = 1 |
|
staticprivate |
static const int TCCID_PHI0_EEM_IN
static const int SUBDETIJMODE
static const int TCCID_PHI0_EEP_OUT
static const int kTowersInPhi
Ecal trigger electronics identification [32:20] Unused (so far) [19:13] TCC id [12:6] TT id [5:3] pse...
static const int kEBTowersInPhi
static const int TCCID_PHI0_EBM
static const int kEETowersInPhiPerTCC
int iTT(const EcalTrigTowerDetId &id) const
returns the index of a Trigger Tower within its TCC.
static const int kEBTowersPerSM
static const int MAX_TCCID_EBP
static const int iEEEtaMinInner
std::vector< DetId > dccTowerConstituents(int dccId, int tower) const
Get the constituent detids for this dccId.
static const int kTCCinPhi
static const int MAX_DCCID_EBM
static const int MIN_DCCID_EBM
static const int iEEEtaMinOuter
static const int MAX_TCCID_EBM
int dccId() const
get the DCC (Ecal Local DCC value not global one) id
bool rightTower(int tower) const
static const int MIN_TCCID_EEP
std::vector< DetId > stripConstituents(int dccId, int tower, int strip) const
Get the constituent detids for this dccId.
int towerId() const
get the tower id
static const int MIN_TCCID_EBM
static const int MIN_TCCID_EEM
EcalTrigTowerDetId tower() const
get the HCAL/trigger iphi of this crystal
static const int kCrystalsInPhi
static const int DCCID_PHI0_EBM
static const int DCCID_PHI0_EBP
EcalElectronicsId getElectronicsId(const DetId &id) const
Get the electronics id for this det id.
static const int TCCID_PHI0_EBP
std::map< int, int > LaserMonitoringMap_EB
static const int MIN_LM_EEP
Ecal readout channel identification [32:20] Unused (so far) [19:13] DCC id [12:6] tower [5:3] strip [...
int GetFED(double eta, double phi) const
static const int MAX_DCCID_EEP
static const int ETAPHIMODE
static const int MAX_TCCID_EEP
std::vector< int > GetListofFEDs(const RectangularEtaPhiRegion ®ion) const
DetId getDetId(const EcalElectronicsId &id) const
Get the detid given an electronicsId.
EcalTriggerElectronicsId getTriggerElectronicsId(const DetId &id) const
Get the trigger electronics id for this det id.
static const int MIN_TCCID_EBP
static const int TCCID_PHI0_EEP_IN
int DCCid(const EBDetId &id) const
returns the DCC of an EBDetId
static const int MIN_DCCID_EBP
Log< level::Error, false > LogError
static const int MAX_TCCID_EEM
static const int MIN_LM_EEM
unsigned dccId(DetId const &, EcalElectronicsMapping const *)
std::map< int, int > LaserMonitoringMap_EE
int TCCid(const EBDetId &id) const
returns the TCCid of an EBDetId
std::vector< DetId > dccConstituents(int dccId) const
Get the constituent detids for this dccId.
static const int MIN_LM_EBM
int iphiSM() const
get the crystal iphi (1-20)
int ietaAbs() const
get the absolute value of the crystal ieta
static const int kEETowersInEtaPerOuterTCC
static const int kEETowersInPhiPerQuadrant
EcalSubdetector subdet(int dccid, int mode) const
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
int DCCBoundary(int FED) const
int iphi() const
get the crystal iphi
Abs< T >::type abs(const T &t)
unsigned tccId(DetId const &, EcalElectronicsMapping const *)
static const int TCCID_PHI0_EEM_OUT
EcalElectronicsMap m_items
static const int MIN_DCCID_EEM
static const int MAX_DCCID_EBP
static const int kEETowersInEtaPerInnerTCC
int zside(int dcctcc, int mode) const
int ietaSM() const
get the crystal ieta in the SM convention (1-85)
static const int MIN_LM_EBP
static const int MIN_DCCID_EEP
static const int MAX_DCCID_EEM