CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | Friends
EcalElectronicsMapper Class Reference

#include <EcalElectronicsMapper.h>

Public Types

enum  SMGeom_t {
  kModules = 4, kTriggerTowers = 68, kTowersInPhi = 4, kTowersInEta = 17,
  kCrystals = 1700, kPns = 10, kCrystalsInPhi = 20, kCrystalsInEta = 85,
  kCrystalsPerTower = 25, kCardsPerTower = 5, kChannelsPerCard = 5, TTMAPMASK = 100
}
 

Public Member Functions

void deletePointers ()
 
 EcalElectronicsMapper (unsigned int numbOfXtalTSamples, unsigned int numbOfTriggerTSamples)
 
unsigned int getActiveDCC ()
 
unsigned int getActiveSM ()
 
unsigned int getDCCId (unsigned int aSMId) const
 
const std::map< unsigned int,unsigned
int > & 
getDCCMap () const
 
std::string getDCCMapFilePath () const
 
DetIdgetDetIdPointer (unsigned int feChannel, unsigned int strip, unsigned int xtal)
 
unsigned int getEBTCCBlockLength ()
 
unsigned int getEETCCBlockLength ()
 
unsigned int getNumChannelsInDcc (unsigned int aDCCId)
 
EcalPseudoStripInputDigigetPSInputDigiPointer (unsigned int tccId, unsigned int towerId, unsigned int psId)
 
EcalPseudoStripInputDigigetPSInputDigiPointer (unsigned int tccId, unsigned int psCounter)
 
EcalScDetIdgetSCDetIdPointer (unsigned int smId, unsigned int feChannel)
 
EcalElectronicsIdgetSCElectronicsPointer (unsigned int smId, unsigned int feChannel)
 
unsigned int getSMId (unsigned int aDCCId) const
 
std::vector< EcalSrFlag * > getSrFlagPointer (unsigned int feChannel)
 
unsigned int getSRPBlockLength ()
 
std::vector< unsigned int > * getTccs (unsigned int smId)
 
EcalTriggerPrimitiveDigigetTPPointer (unsigned int tccId, unsigned int tower)
 
EcalTrigTowerDetIdgetTTDetIdPointer (unsigned int tccId, unsigned int tower)
 
EcalElectronicsIdgetTTEleIdPointer (unsigned int tccId, unsigned int tower)
 
unsigned int getUnfilteredTowerBlockLength ()
 
bool isTCCExternal (unsigned int TCCId)
 
bool makeMapFromVectors (std::vector< int > &, std::vector< int > &)
 
const EcalElectronicsMappingmapping ()
 
unsigned int numbTriggerTSamples ()
 
unsigned int numbXtalTSamples ()
 
void resetPointers ()
 
bool setActiveDCC (unsigned int dccId)
 
bool setDCCMapFilePath (std::string)
 
void setEcalElectronicsMapping (const EcalElectronicsMapping *)
 
 ~EcalElectronicsMapper ()
 

Private Member Functions

unsigned int computeEBTCCBlockLength ()
 
unsigned int computeEETCCBlockLength ()
 
unsigned int computeUnfilteredFEBlockLength ()
 
void fillMaps ()
 

Private Attributes

unsigned int dccId_
 
unsigned int ebTccBlockLength_
 
unsigned int eeTccBlockLength_
 
const EcalElectronicsMappingmappingBuilder_
 
std::map< unsigned int,
std::vector< unsigned int > * > 
mapSmIdToTccIds_
 
std::map< unsigned int,
unsigned int > 
myDCCMap_
 
unsigned int numbTriggerTSamples_
 
unsigned int numbXtalTSamples_
 
std::string pathToMapFile_
 
EcalPseudoStripInputDigipsInput_ [NUMB_TCC][TCC_EB_NUMBTTS][NUMB_STRIP]
 
EcalScDetIdscDetIds_ [NUMB_SM][NUMB_FE]
 
EcalElectronicsIdscEleIds_ [NUMB_SM][NUMB_FE]
 
unsigned int smId_
 
std::vector< EcalSrFlag * > srFlags_ [NUMB_SM][NUMB_FE]
 
unsigned int srpBlockLength_
 
short tTandPs_ [NUMB_TCC][5 *EcalTrigTowerDetId::kEBTowersPerSM][2]
 
EcalTrigTowerDetIdttDetIds_ [NUMB_TCC][NUMB_FE]
 
EcalElectronicsIdttEleIds_ [NUMB_TCC][NUMB_FE]
 
EcalTriggerPrimitiveDigittTPIds_ [NUMB_TCC][NUMB_FE]
 
unsigned int unfilteredFEBlockLength_
 
DetIdxtalDetIds_ [NUMB_SM][NUMB_FE][NUMB_STRIP][NUMB_XTAL]
 

Static Private Attributes

static const unsigned int numChannelsInDcc_ [NUMB_SM]
 

Friends

std::ostream & operator<< (std::ostream &o, const EcalElectronicsMapper &aEcalElectronicsMapper)
 

Detailed Description

Definition at line 41 of file EcalElectronicsMapper.h.

Member Enumeration Documentation

Enumerator
kModules 
kTriggerTowers 
kTowersInPhi 
kTowersInEta 
kCrystals 
kPns 
kCrystalsInPhi 
kCrystalsInEta 
kCrystalsPerTower 
kCardsPerTower 
kChannelsPerCard 
TTMAPMASK 

Definition at line 158 of file EcalElectronicsMapper.h.

158  {
159  kModules = 4, // Number of modules per supermodule
160  kTriggerTowers = 68, // Number of trigger towers per supermodule
161  kTowersInPhi = 4, // Number of trigger towers in phi
162  kTowersInEta = 17, // Number of trigger towers in eta
163  kCrystals = 1700, // Number of crystals per supermodule
164  kPns = 10, // Number of PN laser monitoring diodes per supermodule
165  kCrystalsInPhi = 20, // Number of crystals in phi
166  kCrystalsInEta = 85, // Number of crystals in eta
167  kCrystalsPerTower = 25, // Number of crystals per trigger tower
168  kCardsPerTower = 5, // Number of VFE cards per trigger tower
169  kChannelsPerCard = 5, // Number of channels per VFE card
170  TTMAPMASK = 100
171  };

Constructor & Destructor Documentation

EcalElectronicsMapper::EcalElectronicsMapper ( unsigned int  numbOfXtalTSamples,
unsigned int  numbOfTriggerTSamples 
)

Constructor

Definition at line 8 of file EcalElectronicsMapper.cc.

References resetPointers().

EcalElectronicsMapper::~EcalElectronicsMapper ( )

Destructor

Definition at line 148 of file EcalElectronicsMapper.cc.

References deletePointers().

148  {
149  deletePointers();
150 }

Member Function Documentation

unsigned int EcalElectronicsMapper::computeEBTCCBlockLength ( )
private

Definition at line 349 of file EcalElectronicsMapper.cc.

References nTT, and numbTriggerTSamples_.

Referenced by resetPointers().

349  {
350 
351  unsigned int nTT=68;
352  unsigned int tf;
353 
354  //TCC block size: header (8 bytes) + 17 words with 4 trigger primitives (17*8bytes)
355  if( (nTT*numbTriggerTSamples_)<4 || (nTT*numbTriggerTSamples_)%4 ) tf=1;
356  else tf=0;
357 
358  return 1 + ((nTT*numbTriggerTSamples_)/4) + tf ;
359 
360 }
#define nTT
Definition: TMEGeom.h:6
unsigned int EcalElectronicsMapper::computeEETCCBlockLength ( )
private

Definition at line 362 of file EcalElectronicsMapper.cc.

Referenced by resetPointers().

362  {
363  //Todo : implement multiple tt samples for the endcap
364  return 9;
365 
366 }
unsigned int EcalElectronicsMapper::computeUnfilteredFEBlockLength ( )
private

Definition at line 342 of file EcalElectronicsMapper.cc.

References numbXtalTSamples_.

Referenced by resetPointers().

342  {
343 
344  return ((numbXtalTSamples_-2)/4+1)*25+1;
345 
346 }
void EcalElectronicsMapper::deletePointers ( )

Definition at line 152 of file EcalElectronicsMapper.cc.

References i, mapSmIdToTccIds_, NUMB_FE, NUMB_SM, NUMB_STRIP, NUMB_TCC, NUMB_XTAL, pathToMapFile_, psInput_, scEleIds_, srFlags_, strip(), TCC_EB_NUMBTTS, ttDetIds_, ttEleIds_, ttTPIds_, and xtalDetIds_.

Referenced by ~EcalElectronicsMapper().

152  {
153 
154  //DETETE ARRAYS
155  for(unsigned int sm=0; sm < NUMB_SM; sm++){
156  for(unsigned int fe=0; fe< NUMB_FE; fe++){
157  for(unsigned int strip=0; strip<NUMB_STRIP;strip++){
158  for(unsigned int xtal=0; xtal<NUMB_XTAL;xtal++) delete xtalDetIds_[sm][fe][strip][xtal];
159  }
160 
161  // if(scDetIds_[sm][fe]){
162  // delete scDetIds_[sm][fe];
163  // delete scEleIds_[sm][fe];
164  for(size_t i = 0; i< srFlags_[sm][fe].size(); ++i) delete srFlags_[sm][fe][i];
165  srFlags_[sm][fe].clear();
166 
167  delete scEleIds_[sm][fe];
168 
169  }
170 
171  }
172 
173  // delete trigger electronics Id
174  for (int tccid=0; tccid<NUMB_TCC; tccid++){
175  for (int ttid=0; ttid<TCC_EB_NUMBTTS; ttid++){
176  for (int ps=0; ps<NUMB_STRIP; ps++){
177  delete psInput_[tccid][ttid][ps];
178  }
179  }
180  }
181 
182 
183 
184  for( unsigned int tccid=0; tccid < NUMB_TCC; tccid++){
185  for(unsigned int tpg =0; tpg<NUMB_FE;tpg++){
186  if(ttDetIds_[tccid][tpg]){
187  delete ttDetIds_[tccid][tpg];
188  delete ttTPIds_[tccid][tpg];
189  delete ttEleIds_[tccid][tpg];
190  }
191  }
192  }
193 
194 
195  pathToMapFile_.clear();
196 
197 
198  std::map<unsigned int, std::vector<unsigned int> *>::iterator it;
199  for(it = mapSmIdToTccIds_.begin(); it != mapSmIdToTccIds_.end(); it++ ){ delete (*it).second; }
200 
201  mapSmIdToTccIds_.clear();
202 
203 }
int i
Definition: DBlmapReader.cc:9
void strip(std::string &input, const std::string &blanks=" \n\t")
Definition: stringTools.cc:16
EcalTriggerPrimitiveDigi * ttTPIds_[NUMB_TCC][NUMB_FE]
EcalElectronicsId * ttEleIds_[NUMB_TCC][NUMB_FE]
std::map< unsigned int, std::vector< unsigned int > * > mapSmIdToTccIds_
EcalPseudoStripInputDigi * psInput_[NUMB_TCC][TCC_EB_NUMBTTS][NUMB_STRIP]
EcalTrigTowerDetId * ttDetIds_[NUMB_TCC][NUMB_FE]
std::vector< EcalSrFlag * > srFlags_[NUMB_SM][NUMB_FE]
DetId * xtalDetIds_[NUMB_SM][NUMB_FE][NUMB_STRIP][NUMB_XTAL]
EcalElectronicsId * scEleIds_[NUMB_SM][NUMB_FE]
void EcalElectronicsMapper::fillMaps ( )
private

Definition at line 410 of file EcalElectronicsMapper.cc.

References EcalElectronicsMapping::dccTowerConstituents(), EcalElectronicsMapping::getDetId(), EcalElectronicsMapping::getEcalScDetId(), EcalElectronicsMapping::getElectronicsId(), EcalElectronicsMapping::getTriggerElectronicsId(), EcalElectronicsMapping::getTrigTowerDetId(), i, EcalTrigTowerDetId::kEBTowersPerSM, mappingBuilder_, mapSmIdToTccIds_, MAX_CCUID_JUMP, EcalTriggerElectronicsId::MAX_TCCID, EcalTriggerElectronicsId::MAX_TCCID_EEM, EcalTriggerElectronicsId::MAX_TCCID_EEP, MIN_CCUID_JUMP, EcalTriggerElectronicsId::MIN_TCCID_EEM, EcalTriggerElectronicsId::MIN_TCCID_EEP, numbTriggerTSamples_, numChannelsInDcc_, psInput_, DetId::rawId(), scEleIds_, SECTOR_EEM_CCU_JUMP, SECTOR_EEP_CCU_JUMP, EcalPseudoStripInputDigi::setSample(), EcalTriggerPrimitiveDigi::setSample(), EcalPseudoStripInputDigi::setSize(), EcalTriggerPrimitiveDigi::setSize(), findQualityFiles::size, srFlags_, EcalElectronicsId::stripId(), EcalElectronicsMapping::tccConstituents(), TCCID_SMID_SHIFT_EB, tTandPs_, ttDetIds_, ttEleIds_, ttTPIds_, xtalDetIds_, and EcalElectronicsId::xtalId().

Referenced by setEcalElectronicsMapping().

410  {
411 
412  for( int smId=1 ; smId<= 54; smId++){
413 
414 
415  // Fill EB arrays
416  if( smId > 9 && smId < 46 ){
417 
418  for(int feChannel =1; feChannel<=68; feChannel++){
419 
420  unsigned int tccId = smId + TCCID_SMID_SHIFT_EB;
421 
422  // Builds Ecal Trigger Tower Det Id
423 
424  unsigned int rawid = (mappingBuilder_->getTrigTowerDetId(tccId, feChannel)).rawId();
425  EcalTrigTowerDetId * ttDetId = new EcalTrigTowerDetId(rawid);
426  ttDetIds_[tccId-1][feChannel-1] = ttDetId;
427  EcalElectronicsId * ttEleId = new EcalElectronicsId(smId, feChannel, 1, 1);
428  ttEleIds_[tccId-1][feChannel-1] = ttEleId;
431  for(unsigned int i=0;i<numbTriggerTSamples_;i++){
433  }
434  ttTPIds_[tccId-1][feChannel-1] = tp;
435 
436  // build pseudostrip input data digi
437  for(int ps=1; ps<=5; ps++){
438  psInput_[tccId-1][feChannel-1][ps-1]= new EcalPseudoStripInputDigi( EcalTriggerElectronicsId(tccId, feChannel, ps, 1) );
439  psInput_[tccId-1][feChannel-1][ps-1]->setSize(1);
440  psInput_[tccId-1][feChannel-1][ps-1]->setSample( 0, EcalPseudoStripInputSample(0) );
441  }
442 
443  // Buil SRP Flag
444  srFlags_[smId-1][feChannel-1].push_back(new EBSrFlag(*ttDetId,0));
445 
446  //only one element for barrel: 1-to-1 correspondance between
447  //DCC channels and EB trigger tower:
448  assert(srFlags_[smId-1][feChannel-1].size()==1);
449 
450  for(unsigned int stripId =1; stripId<=5; stripId++){
451 
452  for(unsigned int xtalId =1;xtalId<=5;xtalId++){
453 
454  EcalElectronicsId eid(smId,feChannel,stripId,xtalId);
455  EBDetId * detId = new EBDetId( (mappingBuilder_->getDetId(eid)).rawId());
456  xtalDetIds_[smId-1][feChannel-1][stripId-1][xtalId-1] = detId;
457 
458  } // close loop over xtals
459  }// close loop over strips
460 
461  }// close loop over fechannels
462 
463  }//close loop over sm ids in the EB
464  // Fill EE arrays (Todo : waiting SC correction)
465 
466  else{
467 
468  std::vector<unsigned int> * pTCCIds = mapSmIdToTccIds_[smId];
469  std::vector<unsigned int>::iterator it;
470 
471  for(it= pTCCIds->begin(); it!= pTCCIds->end(); it++){
472 
473  unsigned int tccId = *it;
474 
475  // creating arrays of pointers for trigger objects
476  for(unsigned int towerInTCC =1; towerInTCC <= numChannelsInDcc_[smId-1]; towerInTCC++){
477 
478  // Builds Ecal Trigger Tower Det Id
479  EcalTrigTowerDetId ttDetId = mappingBuilder_->getTrigTowerDetId(tccId, towerInTCC);
480 
481  ttDetIds_[tccId-1][towerInTCC-1] = new EcalTrigTowerDetId(ttDetId.rawId());
483  tp->setSize(numbTriggerTSamples_);
484  for(unsigned int i=0;i<numbTriggerTSamples_;i++){
485  tp->setSample( i, EcalTriggerPrimitiveSample(0) );
486  }
487 
488  ttTPIds_[tccId-1][towerInTCC-1] = tp;
489 
490  // build pseudostrip input data digi
491  for(int ps=1; ps<=5; ps++){
492  psInput_[tccId-1][towerInTCC-1][ps-1]= new EcalPseudoStripInputDigi( EcalTriggerElectronicsId(tccId, towerInTCC, ps, 1) );
493  psInput_[tccId-1][towerInTCC-1][ps-1]->setSize(1);
494  psInput_[tccId-1][towerInTCC-1][ps-1]->setSample( 0, EcalPseudoStripInputSample(0) );
495  }
496 
497  }
498  }
499 
500  // creating arrays of pointers for digi objects
501  for(unsigned int feChannel = 1; feChannel <= numChannelsInDcc_[smId-1]; feChannel++){
502 
503  // to avoid gap in CCU_id's
504  if((smId==SECTOR_EEM_CCU_JUMP || smId== SECTOR_EEP_CCU_JUMP) &&
505  (MIN_CCUID_JUMP <= feChannel && feChannel <=MAX_CCUID_JUMP )
506  ) continue;
507 
508  std::vector<EcalScDetId> scDetIds = mappingBuilder_->getEcalScDetId(smId,feChannel);
509  // scDetIds_[smId-1][feChannel-1] = new EcalScDetId(scDetId.rawId());
510  scEleIds_[smId-1][feChannel-1] = new EcalElectronicsId(smId,feChannel,1,1);
511 
512  for(size_t i = 0; i < scDetIds.size(); ++i){
513  // std::cout << __FILE__ << ":" << __LINE__ << ": "
514  // << "(DCC,RU) = (" << smId << "," << feChannel
515  // << ") -> " << scDetIds[i] << "\n";
516 
517  srFlags_[smId-1][feChannel-1].push_back(new EESrFlag( EcalScDetId( scDetIds[i].rawId() ) , 0 ));
518  }
519  //usually only one element 1 DCC channel <-> 1 SC
520  //in few case two or three elements: partial SCs grouped.
521  assert(srFlags_[smId-1][feChannel-1].size()<=3);
522 
523  std::vector<DetId> ecalDetIds = mappingBuilder_->dccTowerConstituents(smId,feChannel);
524  std::vector<DetId>::iterator it;
525 
526  //EEDetIds
527  for(it = ecalDetIds.begin(); it!= ecalDetIds.end(); it++){
528 
530 
531  int stripId = ids.stripId();
532  int xtalId = ids.xtalId();
533 
534  EEDetId * detId = new EEDetId((*it).rawId());
535  xtalDetIds_[smId-1][feChannel-1][stripId-1][xtalId-1] = detId;
536  }// close loop over tower constituents
537 
538  }// close loop over FE Channels
539 
540  }// closing loop over sm ids in EE
541 
542  }
543 
544 
545  // developing mapping for pseudostrip input data: (tccId,psNumber)->(tccId,towerId,psId)
546  // initializing array for pseudostrip data
548  for (int tccId=0; tccId<EcalTriggerElectronicsId::MAX_TCCID; tccId++){
549  for (int tt=0; tt<EcalTrigTowerDetId::kEBTowersPerSM; tt++){
550  numStripInTT[tccId][tt]=-2;} }
551 
552 
553  // assumption: if ps_max is the largest pseudostripId within a trigger tower
554  // all the pseudostrip 1 ... ps_max are actually present
555  std::vector<DetId>::iterator theTCCConstituent;
556  for(int tccId = 0; tccId< EcalTriggerElectronicsId::MAX_TCCID ; tccId++)
557  {
558 
559  // loop over all constituents of a TCC and collect
560  // the largest pseudostripId within each trigger tower
561  std::vector<DetId> tccConstituents = mappingBuilder_->tccConstituents(tccId+1);
562 
563  for (theTCCConstituent = tccConstituents.begin();
564  theTCCConstituent != tccConstituents.end();
565  theTCCConstituent++)
566  {
567 
568  int towerId = ( mappingBuilder_->getTriggerElectronicsId(*theTCCConstituent) ) .ttId();
569  int ps = ( mappingBuilder_->getTriggerElectronicsId(*theTCCConstituent) ) .pseudoStripId();
570  if( ps > numStripInTT[tccId][towerId-1]) numStripInTT[tccId][towerId-1] = ps;
571 
572  //std::cout << "tccId: " << (tccId+1) << " towerId: " << towerId
573  // << " ps: " << ps << " numStripInTT: " << numStripInTT[tccId][towerId-1] << std::endl;
574 
575  }// loop on TCC constituents
576 
577  }// loop on TCC's
578 
579 
580  int psCounter;
581  for (int tccId=0; tccId<EcalTriggerElectronicsId::MAX_TCCID; tccId++)
582  {
583  // resetting pseudostrip counter at each new TCC
584  psCounter=0;
585  for (int towerId=0; towerId < EcalTrigTowerDetId::kEBTowersPerSM; towerId++)
586  {
587  // if there's not a given towerId, numStripInTT==-1
588  for (int ps=0; ps<numStripInTT[tccId][towerId]; ps++)
589  {
590  tTandPs_[tccId][psCounter][0]=towerId+1;
591  tTandPs_[tccId][psCounter][1]=ps+1;
592  psCounter++;
593  } // loop on TCC's
594  } // loop on towers in TCC
595  } // loop in ps in tower
596 
597 
598 // for (int tccId=0; tccId<EcalTriggerElectronicsId::MAX_TCCID; tccId++) {
599 // for (int psCounter=0; psCounter<EcalTrigTowerDetId::kEBTowersPerSM*5; psCounter++) {
600 // std::cout << "tccId: " << (tccId+1) << " counter: " << (psCounter+1)
601 // << " tt: " << tTandPs_[tccId][psCounter][0]
602 // << " ps: " << tTandPs_[tccId][psCounter][1]
603 // << std::endl;
604 // } }
605 
606 
607 
608  // Note:
609  // for TCC 48 in EE, pseudostrip data in the interval:
610  // + 1-30 is good pseudostrip data
611  // + 31-42 is a duplication of the last 12 ps of the previous block, and needs be ignored
612  // + 43-60 is further good pseudostrip data
613 
615  {
616  int tccId=tcc-1;
617  short tTandPs_tmp[18][2];
618 
619  // store entries _after_ the pseudostrip data which gets duplicated
620  for (int psCounter=30; psCounter<48; psCounter++) {
621  tTandPs_tmp[psCounter-30][0] = tTandPs_[tccId][psCounter][0];
622  tTandPs_tmp[psCounter-30][1] = tTandPs_[tccId][psCounter][1]; }
623 
624  // duplication
625  for (int psCounter=18; psCounter<30; psCounter++) {
626  tTandPs_[tccId][psCounter+12][0] = tTandPs_[tccId][psCounter][0];
627  tTandPs_[tccId][psCounter+12][1] = tTandPs_[tccId][psCounter][1]; }
628 
629  // append stoed
630  for (int psCounter=42; psCounter<60; psCounter++) {
631  tTandPs_[tccId][psCounter][0] = tTandPs_tmp[psCounter-42][0];
632  tTandPs_[tccId][psCounter][1] = tTandPs_tmp[psCounter-42][1]; }
633 
634  }// loop on EEM TCC's
635 
636 
638  {
639  int tccId=tcc-1;
640  short tTandPs_tmp[18][2];
641 
642  // store entries _after_ the pseudostrip data which gets duplicated
643  for (int psCounter=30; psCounter<48; psCounter++) {
644  tTandPs_tmp[psCounter-30][0] = tTandPs_[tccId][psCounter][0];
645  tTandPs_tmp[psCounter-30][1] = tTandPs_[tccId][psCounter][1]; }
646 
647  // duplication
648  for (int psCounter=18; psCounter<30; psCounter++) {
649  tTandPs_[tccId][psCounter+12][0] = tTandPs_[tccId][psCounter][0];
650  tTandPs_[tccId][psCounter+12][1] = tTandPs_[tccId][psCounter][1]; }
651 
652  // append stoed
653  for (int psCounter=42; psCounter<60; psCounter++) {
654  tTandPs_[tccId][psCounter][0] = tTandPs_tmp[psCounter-42][0];
655  tTandPs_[tccId][psCounter][1] = tTandPs_tmp[psCounter-42][1]; }
656 
657  }// loop on EEP TCC's
658 
659 
660  //for (int tccId=0; tccId<EcalTriggerElectronicsId::MAX_TCCID; tccId++) {
661  //for (int psCounter=0; psCounter<EcalTrigTowerDetId::kEBTowersPerSM*5; psCounter++) {
662  //std::cout << "AF tccId: " << (tccId+1) << " counter: " << (psCounter+1)
663  //<< " tt: " << tTandPs_[tccId][psCounter][0]
664  //<< " ps: " << tTandPs_[tccId][psCounter][1]
665  //<< std::endl;
666 //} }
667 
668 }
int i
Definition: DBlmapReader.cc:9
int xtalId() const
get the channel id
const EcalElectronicsMapping * mappingBuilder_
int stripId() const
get the tower id
std::vector< DetId > tccConstituents(int tccId) const
Get the constituent detids for this dccId.
Ecal readout channel identification [32:20] Unused (so far) [19:13] DCC id [12:6] tower [5:3] strip [...
EcalTriggerPrimitiveDigi * ttTPIds_[NUMB_TCC][NUMB_FE]
EcalElectronicsId * ttEleIds_[NUMB_TCC][NUMB_FE]
EcalTrigTowerDetId getTrigTowerDetId(int TCCid, int iTT) const
Builds a EcalTrigTowerDetID from the TCCid &amp; TriggerTower index in TCC.
uint32_t rawId() const
get the raw id
Definition: DetId.h:45
EcalElectronicsId getElectronicsId(const DetId &id) const
Get the electronics id for this det id.
std::map< unsigned int, std::vector< unsigned int > * > mapSmIdToTccIds_
EcalPseudoStripInputDigi * psInput_[NUMB_TCC][TCC_EB_NUMBTTS][NUMB_STRIP]
void setSample(int i, const EcalTriggerPrimitiveSample &sam)
static const unsigned int numChannelsInDcc_[NUMB_SM]
EcalTriggerElectronicsId getTriggerElectronicsId(const DetId &id) const
Get the trigger electronics id for this det id.
std::vector< EcalScDetId > getEcalScDetId(int DCCid, int DCC_Channel, bool ignoreSingleCrystal=true) const
EcalTrigTowerDetId * ttDetIds_[NUMB_TCC][NUMB_FE]
void setSample(int i, const EcalPseudoStripInputSample &sam)
std::vector< EcalSrFlag * > srFlags_[NUMB_SM][NUMB_FE]
short tTandPs_[NUMB_TCC][5 *EcalTrigTowerDetId::kEBTowersPerSM][2]
DetId getDetId(const EcalElectronicsId &id) const
Get the detid given an electronicsId.
static const int kEBTowersPerSM
DetId * xtalDetIds_[NUMB_SM][NUMB_FE][NUMB_STRIP][NUMB_XTAL]
Ecal trigger electronics identification [32:20] Unused (so far) [19:13] TCC id [12:6] TT id [5:3] pse...
tuple size
Write out results.
std::vector< DetId > dccTowerConstituents(int dccId, int tower) const
Get the constituent detids for this dccId.
EcalElectronicsId * scEleIds_[NUMB_SM][NUMB_FE]
unsigned int EcalElectronicsMapper::getActiveDCC ( )
inline
unsigned int EcalElectronicsMapper::getActiveSM ( )
inline
unsigned int EcalElectronicsMapper::getDCCId ( unsigned int  aSMId) const

Definition at line 376 of file EcalElectronicsMapper.cc.

References myDCCMap_, and DCCDataUnpacker::silentMode_.

Referenced by printStatusRecords().

376  {
377  //get iterator for SM id
378  std::map<unsigned int ,unsigned int>::const_iterator it = myDCCMap_.find(aSMId_);
379 
380  //check if SMid exists and return DCC id
381  if(it!= myDCCMap_.end()) return it->second;
382 
383  //error return
385  edm::LogError("IncorrectMapping") << "DCC requested for SM id: " << aSMId_ << " not found";
386  }
387  return 0;
388 }
static bool silentMode_
std::map< unsigned int, unsigned int > myDCCMap_
const std::map<unsigned int ,unsigned int>& EcalElectronicsMapper::getDCCMap ( ) const
inline

Get methods for DCCId/SMId and map

Definition at line 97 of file EcalElectronicsMapper.h.

References myDCCMap_.

97 { return myDCCMap_; }
std::map< unsigned int, unsigned int > myDCCMap_
std::string EcalElectronicsMapper::getDCCMapFilePath ( ) const
inline

Retrieves current path do the map file

Definition at line 78 of file EcalElectronicsMapper.h.

References pathToMapFile_.

78 { return pathToMapFile_; }
DetId* EcalElectronicsMapper::getDetIdPointer ( unsigned int  feChannel,
unsigned int  strip,
unsigned int  xtal 
)
inline

Definition at line 99 of file EcalElectronicsMapper.h.

References smId_, and xtalDetIds_.

Referenced by DCCTowerBlock::unpackXtalData(), and DCCSCBlock::unpackXtalData().

99 { return xtalDetIds_[smId_-1][feChannel-1][strip-1][xtal-1];}
void strip(std::string &input, const std::string &blanks=" \n\t")
Definition: stringTools.cc:16
DetId * xtalDetIds_[NUMB_SM][NUMB_FE][NUMB_STRIP][NUMB_XTAL]
unsigned int EcalElectronicsMapper::getEBTCCBlockLength ( )
inline

Definition at line 135 of file EcalElectronicsMapper.h.

References ebTccBlockLength_.

Referenced by DCCEBTCCBlock::DCCEBTCCBlock().

135 { return ebTccBlockLength_; }
unsigned int EcalElectronicsMapper::getEETCCBlockLength ( )
inline

Definition at line 137 of file EcalElectronicsMapper.h.

References eeTccBlockLength_.

137 { return eeTccBlockLength_; }
unsigned int EcalElectronicsMapper::getNumChannelsInDcc ( unsigned int  aDCCId)
inline

Definition at line 145 of file EcalElectronicsMapper.h.

References numChannelsInDcc_.

Referenced by DCCFEBlock::unpack().

145 {return numChannelsInDcc_[aDCCId-1];}
static const unsigned int numChannelsInDcc_[NUMB_SM]
EcalPseudoStripInputDigi* EcalElectronicsMapper::getPSInputDigiPointer ( unsigned int  tccId,
unsigned int  towerId,
unsigned int  psId 
)
inline

Definition at line 111 of file EcalElectronicsMapper.h.

References psInput_.

Referenced by DCCEETCCBlock::addTriggerPrimitivesToCollection(), and getPSInputDigiPointer().

111 { return psInput_[tccId-1][towerId-1][psId-1];}
EcalPseudoStripInputDigi * psInput_[NUMB_TCC][TCC_EB_NUMBTTS][NUMB_STRIP]
EcalPseudoStripInputDigi* EcalElectronicsMapper::getPSInputDigiPointer ( unsigned int  tccId,
unsigned int  psCounter 
)
inline

Definition at line 113 of file EcalElectronicsMapper.h.

References getPSInputDigiPointer(), and tTandPs_.

113  {
114  return getPSInputDigiPointer(tccId, tTandPs_[tccId-1][psCounter-1][0],tTandPs_[tccId-1][psCounter-1][1]);}
EcalPseudoStripInputDigi * getPSInputDigiPointer(unsigned int tccId, unsigned int towerId, unsigned int psId)
short tTandPs_[NUMB_TCC][5 *EcalTrigTowerDetId::kEBTowersPerSM][2]
EcalScDetId* EcalElectronicsMapper::getSCDetIdPointer ( unsigned int  smId,
unsigned int  feChannel 
)
inline

Definition at line 107 of file EcalElectronicsMapper.h.

References scDetIds_.

107 { return scDetIds_[smId-1][feChannel-1];}
EcalScDetId * scDetIds_[NUMB_SM][NUMB_FE]
EcalElectronicsId* EcalElectronicsMapper::getSCElectronicsPointer ( unsigned int  smId,
unsigned int  feChannel 
)
inline

Definition at line 109 of file EcalElectronicsMapper.h.

References scEleIds_.

Referenced by DCCSCBlock::fillEcalElectronicsError().

109 { return scEleIds_[smId-1][feChannel-1];}
EcalElectronicsId * scEleIds_[NUMB_SM][NUMB_FE]
unsigned int EcalElectronicsMapper::getSMId ( unsigned int  aDCCId) const

Definition at line 391 of file EcalElectronicsMapper.cc.

References myDCCMap_, and DCCDataUnpacker::silentMode_.

Referenced by DCCDataUnpacker::getCCUValue(), DCCDataUnpacker::getChannelValue(), and setActiveDCC().

391  {
392  //get iterator map
393  std::map<unsigned int ,unsigned int>::const_iterator it;
394 
395  //try to find SM id for given DCC id
396  for(it = myDCCMap_.begin(); it != myDCCMap_.end(); it++)
397  if(it->second == aDCCId_)
398  return it->first;
399 
400  //error return
402  edm::LogError("IncorrectMapping") << "SM requested DCC id: " << aDCCId_ << " not found";
403  }
404  return 0;
405 }
static bool silentMode_
std::map< unsigned int, unsigned int > myDCCMap_
std::vector<EcalSrFlag*> EcalElectronicsMapper::getSrFlagPointer ( unsigned int  feChannel)
inline

Definition at line 121 of file EcalElectronicsMapper.h.

References smId_, and srFlags_.

Referenced by DCCEESRPBlock::addSRFlagToCollection(), and DCCEBSRPBlock::addSRFlagToCollection().

121 { return srFlags_[smId_-1][feChannel-1]; }
std::vector< EcalSrFlag * > srFlags_[NUMB_SM][NUMB_FE]
unsigned int EcalElectronicsMapper::getSRPBlockLength ( )
inline

Definition at line 139 of file EcalElectronicsMapper.h.

References srpBlockLength_.

139 { return srpBlockLength_; }
std::vector<unsigned int>* EcalElectronicsMapper::getTccs ( unsigned int  smId)
inline

Definition at line 123 of file EcalElectronicsMapper.h.

References mapSmIdToTccIds_.

Referenced by DCCEETCCBlock::checkTccIdAndNumbTTs().

123 { return mapSmIdToTccIds_[smId];}
std::map< unsigned int, std::vector< unsigned int > * > mapSmIdToTccIds_
EcalTriggerPrimitiveDigi* EcalElectronicsMapper::getTPPointer ( unsigned int  tccId,
unsigned int  tower 
)
inline

Definition at line 105 of file EcalElectronicsMapper.h.

References ttTPIds_.

Referenced by DCCEETCCBlock::addTriggerPrimitivesToCollection(), and DCCEBTCCBlock::addTriggerPrimitivesToCollection().

105 { return ttTPIds_[tccId-1][tower-1];}
EcalTriggerPrimitiveDigi * ttTPIds_[NUMB_TCC][NUMB_FE]
EcalTrigTowerDetId* EcalElectronicsMapper::getTTDetIdPointer ( unsigned int  tccId,
unsigned int  tower 
)
inline

Definition at line 101 of file EcalElectronicsMapper.h.

References ttDetIds_.

101 { return ttDetIds_[tccId-1][tower-1];}
EcalTrigTowerDetId * ttDetIds_[NUMB_TCC][NUMB_FE]
EcalElectronicsId* EcalElectronicsMapper::getTTEleIdPointer ( unsigned int  tccId,
unsigned int  tower 
)
inline

Definition at line 103 of file EcalElectronicsMapper.h.

References ttEleIds_.

Referenced by DCCTowerBlock::fillEcalElectronicsError().

103 { return ttEleIds_[tccId-1][tower-1];}
EcalElectronicsId * ttEleIds_[NUMB_TCC][NUMB_FE]
unsigned int EcalElectronicsMapper::getUnfilteredTowerBlockLength ( )
inline

Definition at line 133 of file EcalElectronicsMapper.h.

References unfilteredFEBlockLength_.

Referenced by DCCFEBlock::DCCFEBlock(), and DCCMemBlock::DCCMemBlock().

133 { return unfilteredFEBlockLength_; }
bool EcalElectronicsMapper::isTCCExternal ( unsigned int  TCCId)
bool EcalElectronicsMapper::makeMapFromVectors ( std::vector< int > &  orderedFedUnpackList,
std::vector< int > &  orderedDCCIdList 
)

Read map file (returns false if an error ocurred) deprecated by HLT environment HLT friendly: load default mapping or, for non standatd mapping, use 2 vectors from cfg

Definition at line 278 of file EcalElectronicsMapper.cc.

References myDCCMap_, tmp, and v.

Referenced by EcalUnpackerWorker::EcalUnpackerWorker().

280 {
281 
282  // in case as non standard set of DCCId:FedId pairs was provided
283  if ( orderedFedUnpackList.size() == orderedDCCIdList.size() &&
284  orderedFedUnpackList.size() > 0)
285  {
286  edm::LogInfo("EcalElectronicsMapper") << "DCCIdList/FedUnpackList lists given. Being loaded.";
287 
288  std::string correspondence("list of pairs DCCId:FedId : ");
289  char onePair[50];
290  for (int v=0; v< ((int)orderedFedUnpackList.size()); v++) {
291  myDCCMap_[ orderedDCCIdList[v] ] = orderedFedUnpackList[v] ;
292 
293  sprintf( onePair, " %d:%d", orderedDCCIdList[v], orderedFedUnpackList[v]);
294  std::string tmp(onePair);
295  correspondence += tmp;
296  }
297  edm::LogInfo("EcalElectronicsMapper") << correspondence;
298 
299  }
300  else
301  { // default set of DCCId:FedId for ECAL
302 
303  edm::LogInfo("EcalElectronicsMapper") << "No input DCCIdList/FedUnpackList lists given for ECAL unpacker"
304  << "(or given with different number of elements). "
305  << " Loading default association DCCIdList:FedUnpackList,"
306  << "i.e. 1:601 ... 53:653, 54:654.";
307 
308  for (unsigned int v=1; v<=54; v++) {
309  myDCCMap_[ v ] = (v+600) ; }
310  }
311 
312  return true;
313 }
std::vector< std::vector< double > > tmp
Definition: MVATrainer.cc:100
std::map< unsigned int, unsigned int > myDCCMap_
mathSSE::Vec4< T > v
const EcalElectronicsMapping* EcalElectronicsMapper::mapping ( )
inline

Definition at line 147 of file EcalElectronicsMapper.h.

References mappingBuilder_.

Referenced by DCCDataUnpacker::getCCUValue(), and DCCDataUnpacker::getChannelValue().

147 {return mappingBuilder_;}
const EcalElectronicsMapping * mappingBuilder_
unsigned int EcalElectronicsMapper::numbTriggerTSamples ( )
inline

Definition at line 131 of file EcalElectronicsMapper.h.

References numbTriggerTSamples_.

131 { return numbTriggerTSamples_; }
unsigned int EcalElectronicsMapper::numbXtalTSamples ( )
inline

Definition at line 129 of file EcalElectronicsMapper.h.

References numbXtalTSamples_.

Referenced by DCCFEBlock::DCCFEBlock(), and DCCMemBlock::DCCMemBlock().

129 { return numbXtalTSamples_; }
void EcalElectronicsMapper::resetPointers ( )

Definition at line 17 of file EcalElectronicsMapper.cc.

References computeEBTCCBlockLength(), computeEETCCBlockLength(), computeUnfilteredFEBlockLength(), ebTccBlockLength_, eeTccBlockLength_, EcalTrigTowerDetId::kEBTowersPerSM, mapSmIdToTccIds_, EcalTriggerElectronicsId::MAX_TCCID, NUMB_FE, NUMB_SM, NUMB_STRIP, NUMB_TCC, NUMB_XTAL, psInput_, scEleIds_, strip(), TCC_EB_NUMBTTS, tTandPs_, ttDetIds_, ttEleIds_, ttTPIds_, unfilteredFEBlockLength_, and xtalDetIds_.

Referenced by EcalElectronicsMapper().

17  {
18 
19  // Reset Arrays
20  for(unsigned int sm=0; sm < NUMB_SM; sm++){
21  for(unsigned int fe=0; fe< NUMB_FE; fe++){
22 
23  for(unsigned int strip=0; strip<NUMB_STRIP;strip++){
24  for(unsigned int xtal=0; xtal<NUMB_XTAL;xtal++){
25 
26  //Reset DFrames and xtalDetIds
27  xtalDetIds_[sm][fe][strip][xtal]=0;
28  }
29  }
30 
31  //Reset SC Det Ids
32  //scDetIds_[sm][fe]=0;
33  scEleIds_[sm][fe]=0;
34  //srFlags_[sm][fe]=0;
35  }
36  }
37 
38 
39  //Reset TT det Ids
40  for( unsigned int tccid=0; tccid < NUMB_TCC; tccid++){
41  for(unsigned int tpg =0; tpg<NUMB_FE;tpg++){
42  ttDetIds_[tccid][tpg]=0;
43  ttTPIds_[tccid][tpg]=0;
44  ttEleIds_[tccid][tpg]=0;
45  }
46  }
47 
48  // reset trigger electronics Id
49  for (int tccid=0; tccid<NUMB_TCC; tccid++){
50  for (int ttid=0; ttid<TCC_EB_NUMBTTS; ttid++){
51  for (int ps=0; ps<NUMB_STRIP; ps++){
52  psInput_[tccid][ttid][ps]=0;
53  }}}
54 
55  // initialize TCC maps
56  for (int tccId=0; tccId<EcalTriggerElectronicsId::MAX_TCCID; tccId++) {
57  for (int psCounter=0; psCounter<EcalTrigTowerDetId::kEBTowersPerSM*5; psCounter++) {
58  for (int u=0; u<2; u++){
59  tTandPs_[tccId][psCounter][u]=-1;
60  } } }
61 
62 
63 
64  //Fill map sm id to tcc ids
65  std::vector<unsigned int> * ids;
66  ids = new std::vector<unsigned int>;
67  ids->push_back(1); ids->push_back(18);ids->push_back(19);ids->push_back(36);
68  mapSmIdToTccIds_[1]= ids;
69 
70  ids = new std::vector<unsigned int>;
71  ids->push_back(2); ids->push_back(3);ids->push_back(20);ids->push_back(21);
72  mapSmIdToTccIds_[2]= ids;
73 
74  ids = new std::vector<unsigned int>;
75  ids->push_back(4); ids->push_back(5);ids->push_back(22);ids->push_back(23);
76  mapSmIdToTccIds_[3]= ids;
77 
78  ids = new std::vector<unsigned int>;
79  ids->push_back(6); ids->push_back(7);ids->push_back(24);ids->push_back(25);
80  mapSmIdToTccIds_[4]= ids;
81 
82  ids = new std::vector<unsigned int>;
83  ids->push_back(8); ids->push_back(9);ids->push_back(26);ids->push_back(27);
84  mapSmIdToTccIds_[5]= ids;
85 
86  ids = new std::vector<unsigned int>;
87  ids->push_back(10); ids->push_back(11);ids->push_back(28);ids->push_back(29);
88  mapSmIdToTccIds_[6]= ids;
89 
90  ids = new std::vector<unsigned int>;
91  ids->push_back(12); ids->push_back(13);ids->push_back(30);ids->push_back(31);
92  mapSmIdToTccIds_[7]= ids;
93 
94  ids = new std::vector<unsigned int>;
95  ids->push_back(14); ids->push_back(15);ids->push_back(32);ids->push_back(33);
96  mapSmIdToTccIds_[8]= ids;
97 
98  ids = new std::vector<unsigned int>;
99  ids->push_back(16); ids->push_back(17);ids->push_back(34);ids->push_back(35);
100  mapSmIdToTccIds_[9]= ids;
101 
102  ids = new std::vector<unsigned int>;
103  ids->push_back(73); ids->push_back(90);ids->push_back(91);ids->push_back(108);
104  mapSmIdToTccIds_[46]= ids;
105 
106  ids = new std::vector<unsigned int>;
107  ids->push_back(74); ids->push_back(75);ids->push_back(92);ids->push_back(93);
108  mapSmIdToTccIds_[47]= ids;
109 
110  ids = new std::vector<unsigned int>;
111  ids->push_back(76); ids->push_back(77);ids->push_back(94);ids->push_back(95);
112  mapSmIdToTccIds_[48]= ids;
113 
114  ids = new std::vector<unsigned int>;
115  ids->push_back(78); ids->push_back(79);ids->push_back(96);ids->push_back(97);
116  mapSmIdToTccIds_[49]= ids;
117 
118  ids = new std::vector<unsigned int>;
119  ids->push_back(80); ids->push_back(81);ids->push_back(98);ids->push_back(99);
120  mapSmIdToTccIds_[50]= ids;
121 
122  ids = new std::vector<unsigned int>;
123  ids->push_back(82); ids->push_back(83);ids->push_back(100);ids->push_back(101);
124  mapSmIdToTccIds_[51]= ids;
125 
126  ids = new std::vector<unsigned int>;
127  ids->push_back(84); ids->push_back(85);ids->push_back(102);ids->push_back(103);
128  mapSmIdToTccIds_[52]= ids;
129 
130  ids = new std::vector<unsigned int>;
131  ids->push_back(86); ids->push_back(87);ids->push_back(104);ids->push_back(105);
132  mapSmIdToTccIds_[53]= ids;
133 
134  ids = new std::vector<unsigned int>;
135  ids->push_back(88); ids->push_back(89);ids->push_back(106);ids->push_back(107);
136  mapSmIdToTccIds_[54]= ids;
137 
138 
139  //Compute data block sizes
143 
144 
145 }
void strip(std::string &input, const std::string &blanks=" \n\t")
Definition: stringTools.cc:16
EcalTriggerPrimitiveDigi * ttTPIds_[NUMB_TCC][NUMB_FE]
EcalElectronicsId * ttEleIds_[NUMB_TCC][NUMB_FE]
std::map< unsigned int, std::vector< unsigned int > * > mapSmIdToTccIds_
EcalPseudoStripInputDigi * psInput_[NUMB_TCC][TCC_EB_NUMBTTS][NUMB_STRIP]
unsigned int computeEETCCBlockLength()
EcalTrigTowerDetId * ttDetIds_[NUMB_TCC][NUMB_FE]
short tTandPs_[NUMB_TCC][5 *EcalTrigTowerDetId::kEBTowersPerSM][2]
unsigned int computeUnfilteredFEBlockLength()
unsigned int computeEBTCCBlockLength()
static const int kEBTowersPerSM
DetId * xtalDetIds_[NUMB_SM][NUMB_FE][NUMB_STRIP][NUMB_XTAL]
EcalElectronicsId * scEleIds_[NUMB_SM][NUMB_FE]
bool EcalElectronicsMapper::setActiveDCC ( unsigned int  dccId)

Set DCC id that is going to be unpacked for the event

Definition at line 210 of file EcalElectronicsMapper.cc.

References dccId_, getSMId(), runTheMatrix::ret, and smId_.

Referenced by EcalRawToDigi::produce(), and EcalUnpackerWorker::work().

210  {
211 
212  bool ret(true);
213 
214  //Update active dcc and associated smId
215  dccId_ = dccId;
216 
217  smId_ = getSMId(dccId_);
218 
219  if(!smId_) ret = false;
220 
221  return ret;
222 
223  }
unsigned int getSMId(unsigned int aDCCId) const
bool EcalElectronicsMapper::setDCCMapFilePath ( std::string  aPath_)

Receives a string with a path and checks if file is accessible

Definition at line 226 of file EcalElectronicsMapper.cc.

References pathToMapFile_.

226  {
227 
228 
229  //try to open a dccMapFile in the given path
230  std::ifstream dccMapFile_(aPath_.c_str());
231 
232  //if not successful return false
233  if(!dccMapFile_.is_open()) return false;
234 
235  //else close file and accept given path
236  dccMapFile_.close();
237  pathToMapFile_ = aPath_;
238 
239  return true;
240 }
void EcalElectronicsMapper::setEcalElectronicsMapping ( const EcalElectronicsMapping m)

Definition at line 205 of file EcalElectronicsMapper.cc.

References fillMaps(), m, and mappingBuilder_.

Referenced by EcalUnpackerWorker::setHandles().

205  {
207  fillMaps();
208 }
const EcalElectronicsMapping * mappingBuilder_

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  o,
const EcalElectronicsMapper aEcalElectronicsMapper 
)
friend

Print current map

Definition at line 316 of file EcalElectronicsMapper.cc.

316  {
317  //print class information
318  o << "---------------------------------------------------------";
319 
320  if(aMapper_.pathToMapFile_.size() < 1){
321  o << "No correct input for DCC map has been given yet...";
322  }
323  else{
324  o << "DCC Map (Map file: " << aMapper_.pathToMapFile_ << " )" << "SM id\t\tDCCid ";
325 
326  //get DCC map and iterator
327  std::map<unsigned int ,unsigned int > aMap;
328  aMap=aMapper_.myDCCMap_;
329  std::map<unsigned int ,unsigned int >::iterator iter;
330 
331  //print info contained in map
332  for(iter = aMap.begin(); iter != aMap.end(); iter++)
333  o << iter->first << "\t\t" << iter->second;
334  }
335 
336  o << "---------------------------------------------------------";
337  return o;
338 }

Member Data Documentation

unsigned int EcalElectronicsMapper::dccId_
private

Definition at line 191 of file EcalElectronicsMapper.h.

Referenced by getActiveDCC(), and setActiveDCC().

unsigned int EcalElectronicsMapper::ebTccBlockLength_
private

Definition at line 199 of file EcalElectronicsMapper.h.

Referenced by getEBTCCBlockLength(), and resetPointers().

unsigned int EcalElectronicsMapper::eeTccBlockLength_
private

Definition at line 199 of file EcalElectronicsMapper.h.

Referenced by getEETCCBlockLength(), and resetPointers().

const EcalElectronicsMapping* EcalElectronicsMapper::mappingBuilder_
private

Definition at line 216 of file EcalElectronicsMapper.h.

Referenced by fillMaps(), mapping(), and setEcalElectronicsMapping().

std::map< unsigned int, std::vector<unsigned int> * > EcalElectronicsMapper::mapSmIdToTccIds_
private

Definition at line 189 of file EcalElectronicsMapper.h.

Referenced by deletePointers(), fillMaps(), getTccs(), and resetPointers().

std::map<unsigned int,unsigned int> EcalElectronicsMapper::myDCCMap_
private

Definition at line 187 of file EcalElectronicsMapper.h.

Referenced by getDCCId(), getDCCMap(), getSMId(), makeMapFromVectors(), and operator<<().

unsigned int EcalElectronicsMapper::numbTriggerTSamples_
private

Definition at line 185 of file EcalElectronicsMapper.h.

Referenced by computeEBTCCBlockLength(), fillMaps(), and numbTriggerTSamples().

unsigned int EcalElectronicsMapper::numbXtalTSamples_
private

Definition at line 183 of file EcalElectronicsMapper.h.

Referenced by computeUnfilteredFEBlockLength(), and numbXtalTSamples().

const unsigned int EcalElectronicsMapper::numChannelsInDcc_
staticprivate
Initial value:
= {34,32,33,33,32,34,33,41,33,
68,68,68,68,68,68,68,68,68,68,
68,68,68,68,68,68,68,68,
68,68,68,68,68,68,68,68,68,68,
68,68,68,68,68,68,68,68,
34,32,33,33,32,34,33,41,33}

Definition at line 201 of file EcalElectronicsMapper.h.

Referenced by fillMaps(), and getNumChannelsInDcc().

std::string EcalElectronicsMapper::pathToMapFile_
private
EcalPseudoStripInputDigi* EcalElectronicsMapper::psInput_[NUMB_TCC][TCC_EB_NUMBTTS][NUMB_STRIP]
private
EcalScDetId* EcalElectronicsMapper::scDetIds_[NUMB_SM][NUMB_FE]
private

Definition at line 206 of file EcalElectronicsMapper.h.

Referenced by getSCDetIdPointer().

EcalElectronicsId* EcalElectronicsMapper::scEleIds_[NUMB_SM][NUMB_FE]
private
unsigned int EcalElectronicsMapper::smId_
private
std::vector<EcalSrFlag*> EcalElectronicsMapper::srFlags_[NUMB_SM][NUMB_FE]
private

Definition at line 211 of file EcalElectronicsMapper.h.

Referenced by deletePointers(), fillMaps(), and getSrFlagPointer().

unsigned int EcalElectronicsMapper::srpBlockLength_
private

Definition at line 197 of file EcalElectronicsMapper.h.

Referenced by getSRPBlockLength().

short EcalElectronicsMapper::tTandPs_[NUMB_TCC][5 *EcalTrigTowerDetId::kEBTowersPerSM][2]
private

Definition at line 214 of file EcalElectronicsMapper.h.

Referenced by fillMaps(), getPSInputDigiPointer(), and resetPointers().

EcalTrigTowerDetId* EcalElectronicsMapper::ttDetIds_[NUMB_TCC][NUMB_FE]
private
EcalElectronicsId* EcalElectronicsMapper::ttEleIds_[NUMB_TCC][NUMB_FE]
private
EcalTriggerPrimitiveDigi* EcalElectronicsMapper::ttTPIds_[NUMB_TCC][NUMB_FE]
private

Definition at line 210 of file EcalElectronicsMapper.h.

Referenced by deletePointers(), fillMaps(), getTPPointer(), and resetPointers().

unsigned int EcalElectronicsMapper::unfilteredFEBlockLength_
private

Definition at line 195 of file EcalElectronicsMapper.h.

Referenced by getUnfilteredTowerBlockLength(), and resetPointers().

DetId* EcalElectronicsMapper::xtalDetIds_[NUMB_SM][NUMB_FE][NUMB_STRIP][NUMB_XTAL]
private

Definition at line 205 of file EcalElectronicsMapper.h.

Referenced by deletePointers(), fillMaps(), getDetIdPointer(), and resetPointers().