CMS 3D CMS Logo

EESelectiveReadoutTask Class Reference

#include <DQM/EcalEndcapMonitorTasks/interface/EESelectiveReadoutTask.h>

Inheritance diagram for EESelectiveReadoutTask:

edm::EDAnalyzer

List of all members.

Public Member Functions

 EESelectiveReadoutTask (const edm::ParameterSet &ps)
 Constructor.
virtual ~EESelectiveReadoutTask ()
 Destructor.

Protected Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c)
 Analyze.
void beginJob (const edm::EventSetup &c)
 BeginJob.
void beginRun (const edm::Run &r, const edm::EventSetup &c)
 BeginRun.
void cleanup (void)
 Cleanup.
void endJob (void)
 EndJob.
void endRun (const edm::Run &r, const edm::EventSetup &c)
 EndRun.
void reset (void)
 Reset.
void setup (void)
 Setup.

Static Protected Attributes

static const int bytesPerCrystal = 24
 Number of bytes per crystal.
static const int kByte = 1024
static const int nEBDcc = 36
static const int nECALDcc = 54
 Constants.
static const int nEEDcc = 18
static const int nEeRus = 2*(34+32+33+33+32+34+33+34+33)
 number of RUs for EE
static const int nEeX = 100
 EE crystal grid size along X.
static const int nEeY = 100
 EE crystal grid size along Y.
static const int nEndcaps = 2
 number of endcaps
static const int nTtEta = 56
 Number of Trigger Towers along Eta.
static const int nTtPhi = 72
 Number of Trigger Towers along Phi.
static const int scEdge = 5
 Number of crystals along a supercrystal edge.

Private Types

enum  subdet_t { EB, EE }
 distinguishes barral and endcap of ECAL. More...

Private Member Functions

void anaDigi (const EEDataFrame &frame, const EESrFlagCollection &srFlagColl)
 Accumulates statitics for data volume analysis.
void anaDigiInit ()
 Initializes statistics accumalator for data volume analysis.
int cIndex2iXY (int iX0) const
 converse of iXY2cIndex() method.
int dccIndex (int iDet, int i, int j) const
 Gets the index of the DCC reading a crystal.
unsigned dccNum (const DetId &xtalId) const
 Retrieve the logical number of the DCC reading a given crystal channel.
int dccPhiIndex (int i, int j) const
 Gets the phi index of the DCC reading a crystal.
int dccPhiIndexOfRU (int i, int j) const
 Gets the phi index of the DCC reading a RU (SC or TT).
double getDccEventSize (int iDcc0, double nReadXtals) const
 Gets the size of an DCC event fragment.
double getDccOverhead (subdet_t subdet) const
 Gets the size in bytes fixed-size part of a DCC event fragment.
double getEeEventSize (double nReadXtals) const
 Computes the size of an ECAL endcap event fragment.
int iXY2cIndex (int iX) const
 Converts a std CMSSW crystal x or y index to a c-array index (starting from zero and without hole).
EcalScDetId readOutUnitOf (const EEDetId &xtalId) const
 Retrives the readout unit, a trigger tower in the barrel case, and a supercrystal in the endcap case, a given crystal belongs to.

Private Attributes

DQMStoredqmStore_
edm::InputTag EcalRecHitCollection_
edm::InputTag EcalTrigPrimDigiCollection_
MonitorElementEEDccEventSize_
edm::InputTag EEDigiCollection_
MonitorElementEEEventSize_ [2]
MonitorElementEEFullReadoutSRFlagMap_ [2]
MonitorElementEEHighInterestPayload_ [2]
MonitorElementEEHighInterestTriggerTowerFlagMap_ [2]
MonitorElementEELowInterestPayload_ [2]
MonitorElementEELowInterestTriggerTowerFlagMap_ [2]
MonitorElementEEReadoutUnitForcedBitMap_ [2]
bool eeRuActive_ [nEndcaps][nEeX/scEdge][nEeY/scEdge]
 For book keeping of RU actually read out (not fully zero suppressed).
edm::InputTag EESRFlagCollection_
edm::InputTag EEUnsuppressedDigiCollection_
bool enableCleanup_
edm::InputTag FEDRawDataCollection_
int ievt_
bool init_
bool mergeRuns_
int nEe_ [2]
 ECAL endcap read channel count.
int nEeHI_ [2]
 ECAL endcap high interest read channel count.
int nEeLI_ [2]
 ECAL endcap low interest read channel count.
int nPerDcc_ [nECALDcc]
 ECAL read channel count for each DCC:.
int nRuPerDcc_ [nECALDcc]
 Count for each DCC of RUs with at leat one channel read out:.
std::string prefixME_


Detailed Description

Definition at line 43 of file EESelectiveReadoutTask.h.


Member Enumeration Documentation

enum EESelectiveReadoutTask::subdet_t [private]

distinguishes barral and endcap of ECAL.

Enumerator:
EB 
EE 

Definition at line 112 of file EESelectiveReadoutTask.h.

00112 {EB, EE};


Constructor & Destructor Documentation

EESelectiveReadoutTask::EESelectiveReadoutTask ( const edm::ParameterSet ps  ) 

Constructor.

Definition at line 39 of file EESelectiveReadoutTask.cc.

References dqmStore_, EcalTrigPrimDigiCollection_, EEDccEventSize_, EEDigiCollection_, EEEventSize_, EEFullReadoutSRFlagMap_, EEHighInterestPayload_, EEHighInterestTriggerTowerFlagMap_, EELowInterestPayload_, EELowInterestTriggerTowerFlagMap_, EEReadoutUnitForcedBitMap_, EESRFlagCollection_, EEUnsuppressedDigiCollection_, enableCleanup_, FEDRawDataCollection_, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), init_, mergeRuns_, and prefixME_.

00039                                                                     {
00040 
00041   init_ = false;
00042 
00043   dqmStore_ = Service<DQMStore>().operator->();
00044 
00045   prefixME_ = ps.getUntrackedParameter<string>("prefixME", "");
00046 
00047   enableCleanup_ = ps.getUntrackedParameter<bool>("enableCleanup", false);
00048 
00049   mergeRuns_ = ps.getUntrackedParameter<bool>("mergeRuns", false);
00050 
00051   // parameters...
00052   EEDigiCollection_ = ps.getParameter<edm::InputTag>("EEDigiCollection");
00053   EEUnsuppressedDigiCollection_ = ps.getParameter<edm::InputTag>("EEUsuppressedDigiCollection");
00054   EESRFlagCollection_ = ps.getParameter<edm::InputTag>("EESRFlagCollection");
00055   EcalTrigPrimDigiCollection_ = ps.getParameter<edm::InputTag>("EcalTrigPrimDigiCollection");
00056   FEDRawDataCollection_ = ps.getParameter<edm::InputTag>("FEDRawDataCollection");
00057 
00058   // histograms...
00059   EEDccEventSize_ = 0;
00060 
00061   EEReadoutUnitForcedBitMap_[0] = 0;
00062   EEFullReadoutSRFlagMap_[0] = 0;
00063   EEHighInterestTriggerTowerFlagMap_[0] = 0;
00064   EELowInterestTriggerTowerFlagMap_[0] = 0;
00065   EEEventSize_[0] = 0;
00066   EEHighInterestPayload_[0] = 0;
00067   EELowInterestPayload_[0] = 0;
00068 
00069   EEReadoutUnitForcedBitMap_[1] = 0;
00070   EEFullReadoutSRFlagMap_[1] = 0;
00071   EEHighInterestTriggerTowerFlagMap_[1] = 0;
00072   EELowInterestTriggerTowerFlagMap_[1] = 0;
00073   EEEventSize_[1] = 0;
00074   EEHighInterestPayload_[1] = 0;
00075   EELowInterestPayload_[1] = 0;
00076 
00077 }

EESelectiveReadoutTask::~EESelectiveReadoutTask (  )  [virtual]

Destructor.

Definition at line 79 of file EESelectiveReadoutTask.cc.

00079                                                 {
00080 
00081 }


Member Function Documentation

void EESelectiveReadoutTask::anaDigi ( const EEDataFrame frame,
const EESrFlagCollection srFlagColl 
) [private]

Accumulates statitics for data volume analysis.

To be called for each ECAL digi. See anaDigiInit().

Definition at line 522 of file EESelectiveReadoutTask.cc.

References dccNum(), EcalEndcap, eeRuActive_, edm::SortedCollection< T, SORT >::end(), GeomDetEnumerators::endcap, edm::SortedCollection< T, SORT >::find(), EEDataFrame::id(), Numbers::iSM(), iXY2cIndex(), nEe_, nEeHI_, nEeLI_, nPerDcc_, nRuPerDcc_, readOutUnitOf(), scEdge, and EcalSrFlag::SRF_FULL.

Referenced by analyze().

00522                                                                                                   {
00523 
00524   EEDetId id = frame.id();
00525   EESrFlagCollection::const_iterator srf = srFlagColl.find(readOutUnitOf(id));
00526 
00527   if(srf == srFlagColl.end()){
00528     // LogWarning("EESelectiveReadoutTask") << "SR flag not found";
00529     return;
00530   }
00531 
00532   bool highInterest = ((srf->value() & ~EcalSrFlag::SRF_FORCED_MASK)
00533                        == EcalSrFlag::SRF_FULL);
00534 
00535   bool endcap = (id.subdetId()==EcalEndcap);
00536 
00537   if(endcap){
00538     int ism = Numbers::iSM( id );
00539     if ( ism >= 1 && ism <= 9 ) {
00540       ++nEe_[0];
00541       if(highInterest){
00542         ++nEeHI_[0];
00543       } else{//low interest
00544         ++nEeLI_[0];
00545       }
00546     } else {
00547       ++nEe_[1];
00548       if(highInterest){
00549         ++nEeHI_[1];
00550       } else{//low interest
00551         ++nEeLI_[1];
00552       }
00553     }
00554 
00555     int iX0 = iXY2cIndex(id.ix());
00556     int iY0 = iXY2cIndex(id.iy());
00557     int iZ0 = id.zside()>0?1:0;
00558 
00559     if(!eeRuActive_[iZ0][iX0/scEdge][iY0/scEdge]){
00560       ++nRuPerDcc_[dccNum(id)];
00561       eeRuActive_[iZ0][iX0/scEdge][iY0/scEdge] = true;
00562     }
00563   }
00564 
00565   ++nPerDcc_[dccNum(id)-1];
00566 }

void EESelectiveReadoutTask::anaDigiInit (  )  [private]

Initializes statistics accumalator for data volume analysis.

To be call at start of each event analysis.

Definition at line 568 of file EESelectiveReadoutTask.cc.

References eeRuActive_, nEe_, nEeHI_, nEeLI_, nPerDcc_, and nRuPerDcc_.

Referenced by analyze().

00568                                         {
00569   nEe_[0] = 0;
00570   nEeLI_[0] = 0;
00571   nEeHI_[0] = 0;
00572   nEe_[1] = 0;
00573   nEeLI_[1] = 0;
00574   nEeHI_[1] = 0;
00575   bzero(nPerDcc_, sizeof(nPerDcc_));
00576   bzero(nRuPerDcc_, sizeof(nRuPerDcc_));
00577   bzero(eeRuActive_, sizeof(eeRuActive_));
00578 }

void EESelectiveReadoutTask::analyze ( const edm::Event e,
const edm::EventSetup c 
) [protected, virtual]

Analyze.

Implements edm::EDAnalyzer.

Definition at line 282 of file EESelectiveReadoutTask.cc.

References anaDigi(), anaDigiInit(), bytesPerCrystal, Numbers::crystals(), EcalEndcap, EcalTrigPrimDigiCollection_, EEDccEventSize_, EEDigiCollection_, EEEventSize_, EEFullReadoutSRFlagMap_, EEHighInterestPayload_, EEHighInterestTriggerTowerFlagMap_, EELowInterestPayload_, EELowInterestTriggerTowerFlagMap_, EEReadoutUnitForcedBitMap_, EESRFlagCollection_, FEDRawDataCollection_, MonitorElement::Fill(), edm::Event::getByLabel(), getEeEventSize(), i, ievt_, init_, Numbers::iSM(), edm::Handle< T >::isValid(), it, kByte, nEe_, nEeHI_, nEeLI_, setup(), EcalSrFlag::SRF_FORCED_MASK, EcalSrFlag::SRF_FULL, and Numbers::subDet().

00282                                                                        {
00283 
00284   if ( ! init_ ) this->setup();
00285 
00286   ievt_++;
00287 
00288   Handle<FEDRawDataCollection> raw;
00289   if ( e.getByLabel(FEDRawDataCollection_, raw) ) {
00290 
00291     int EEFirstFED[2];
00292     EEFirstFED[0] = 601; // EE-
00293     EEFirstFED[1] = 646; // EE+
00294     for(int zside=0; zside<2; zside++) {
00295 
00296       int firstFedOnSide=EEFirstFED[zside];
00297 
00298       for ( int iDcc = 0; iDcc < 9; ++iDcc ) {
00299 
00300         int ism = 0;
00301         if ( zside == 0 ) ism = iDcc+1;
00302         else ism = 10+iDcc;
00303 
00304         EEDccEventSize_->Fill(ism, ((double)raw->FEDData(firstFedOnSide+iDcc).size())/kByte );
00305 
00306       }
00307     }
00308 
00309   } else {
00310     LogWarning("EESelectiveReadoutTask") << FEDRawDataCollection_ << " not available";
00311   }
00312 
00313   TH2F *h01[2];
00314   float integral01[2];
00315   for(int iside=0;iside<2;iside++) {
00316     h01[iside] = UtilsClient::getHisto<TH2F*>( EEFullReadoutSRFlagMap_[iside] );
00317     integral01[iside] = h01[iside]->GetEntries();
00318     if( integral01[iside] != 0 ) h01[iside]->Scale( integral01[iside] );
00319   }
00320   
00321   TH2F *h02[2];
00322   float integral02[2];
00323   for(int iside=0;iside<2;iside++) {
00324     h02[iside] = UtilsClient::getHisto<TH2F*>( EEReadoutUnitForcedBitMap_[iside] );
00325     integral02[iside] = h02[iside]->GetEntries();
00326     if( integral02[iside] != 0 ) h02[iside]->Scale( integral02[iside] );
00327   }
00328 
00329   // Selective Readout Flags
00330   Handle<EESrFlagCollection> eeSrFlags;
00331   if ( e.getByLabel(EESRFlagCollection_,eeSrFlags) ) {
00332 
00333     for ( EESrFlagCollection::const_iterator it = eeSrFlags->begin(); it != eeSrFlags->end(); ++it ) {
00334 
00335       int ix = it->id().ix();
00336       int iy = it->id().iy();
00337 
00338       int zside = it->id().zside();
00339 
00340       if ( zside < 0 ) ix = 101 - ix;
00341 
00342       float xix = ix-0.5;
00343       float xiy = iy-0.5;
00344 
00345       int flag = it->value() & ~EcalSrFlag::SRF_FORCED_MASK;
00346 
00347       if(flag == EcalSrFlag::SRF_FULL){
00348         if( zside < 0 ) {
00349           EEFullReadoutSRFlagMap_[0]->Fill(xix,xiy);
00350         }
00351         else {
00352           EEFullReadoutSRFlagMap_[1]->Fill(xix,xiy);
00353         }
00354       } else {
00355         if( zside < 0 ) {
00356           EEFullReadoutSRFlagMap_[0]->Fill(-1,-1);
00357         }
00358         else {
00359           EEFullReadoutSRFlagMap_[1]->Fill(-1,-1);
00360         }
00361       }
00362 
00363       if(it->value() & EcalSrFlag::SRF_FORCED_MASK){
00364         if( zside < 0 ) {
00365           EEReadoutUnitForcedBitMap_[0]->Fill(xix,xiy);
00366         }
00367         else {
00368           EEReadoutUnitForcedBitMap_[1]->Fill(xix,xiy);
00369         }
00370       } else {
00371         if( zside < 0 ) {
00372           EEReadoutUnitForcedBitMap_[0]->Fill(-1,1);
00373         }
00374         else {
00375           EEReadoutUnitForcedBitMap_[1]->Fill(-1,1);
00376         }
00377       }
00378 
00379     }
00380   } else {
00381     LogWarning("EESelectiveReadoutTask") << EESRFlagCollection_ << " not available";
00382   }
00383 
00384   for(int iside=0;iside<2;iside++) {
00385     if( integral01[iside] != 0 ) h01[iside]->Scale( 1.0/integral01[iside] );
00386     if( integral02[iside] != 0 ) h02[iside]->Scale( 1.0/integral02[iside] );  
00387   }
00388 
00389   TH2F *h03[2];
00390   float integral03[2];
00391   for(int iside=0;iside<2;iside++) {
00392     h03[iside] = UtilsClient::getHisto<TH2F*>( EELowInterestTriggerTowerFlagMap_[iside] );
00393     integral03[iside] = h03[iside]->GetEntries();
00394     if( integral03[iside] != 0 ) h03[iside]->Scale( integral03[iside] );
00395   }
00396 
00397   TH2F *h04[2];
00398   float integral04[2];
00399   for(int iside=0;iside<2;iside++) {
00400     h04[iside] = UtilsClient::getHisto<TH2F*>( EEHighInterestTriggerTowerFlagMap_[iside] );
00401     integral04[iside] = h04[iside]->GetEntries();
00402     if( integral04[iside] != 0 ) h04[iside]->Scale( integral04[iside] );
00403   }
00404 
00405   Handle<EcalTrigPrimDigiCollection> TPCollection;
00406   if ( e.getByLabel(EcalTrigPrimDigiCollection_, TPCollection) ) {
00407 
00408     // Trigger Primitives
00409     EcalTrigPrimDigiCollection::const_iterator TPdigi;
00410     for ( TPdigi = TPCollection->begin(); TPdigi != TPCollection->end(); ++TPdigi ) {
00411 
00412       if ( Numbers::subDet( TPdigi->id() ) != EcalEndcap ) continue;
00413 
00414       int ismt = Numbers::iSM( TPdigi->id() );
00415 
00416       vector<DetId> crystals = Numbers::crystals( TPdigi->id() );
00417 
00418       for ( unsigned int i=0; i<crystals.size(); i++ ) {
00419 
00420         EEDetId id = crystals[i];
00421 
00422         int ix = id.ix();
00423         int iy = id.iy();
00424 
00425         if ( ismt >= 1 && ismt <= 9 ) ix = 101 - ix;
00426 
00427         float xix = ix-0.5;
00428         float xiy = iy-0.5;
00429 
00430         if ( (TPdigi->ttFlag() & 0x3) == 0 ) {
00431           if ( ismt >= 1 && ismt <= 9 ) {
00432             EELowInterestTriggerTowerFlagMap_[0]->Fill(xix,xiy);
00433           }
00434           else {
00435             EELowInterestTriggerTowerFlagMap_[1]->Fill(xix,xiy);
00436           }
00437         } else {
00438           if ( ismt >= 1 && ismt <= 9 ) {
00439             EELowInterestTriggerTowerFlagMap_[0]->Fill(-1,-1);
00440           }
00441           else {
00442             EELowInterestTriggerTowerFlagMap_[1]->Fill(-1,-1);
00443           }
00444         }
00445 
00446         if ( (TPdigi->ttFlag() & 0x3) == 3 ) {
00447           if ( ismt >= 1 && ismt <= 9 ) {
00448             EEHighInterestTriggerTowerFlagMap_[0]->Fill(xix,xiy);
00449           }
00450           else {
00451             EEHighInterestTriggerTowerFlagMap_[1]->Fill(xix,xiy);
00452           }
00453         } else {
00454           if ( ismt >= 1 && ismt <= 9 ) {
00455             EEHighInterestTriggerTowerFlagMap_[0]->Fill(-1,-1);
00456           }
00457           else {
00458             EEHighInterestTriggerTowerFlagMap_[1]->Fill(-1,-1);
00459           }
00460         }
00461 
00462       }
00463 
00464     }
00465   } else {
00466     LogWarning("EESelectiveReadoutTask") << EcalTrigPrimDigiCollection_ << " not available";
00467   }
00468 
00469   for(int iside=0;iside<2;iside++) {
00470     if( integral03[iside] != 0 ) h03[iside]->Scale( 1.0/integral03[iside] );
00471     if( integral04[iside] != 0 ) h04[iside]->Scale( 1.0/integral04[iside] );
00472   }
00473 
00474   if (!eeSrFlags.isValid()) return;
00475 
00476   // Data Volume
00477   double aLowInterest[2];
00478   double aHighInterest[2];
00479   double aAnyInterest[2];
00480 
00481   aLowInterest[0]=0;
00482   aHighInterest[0]=0;
00483   aAnyInterest[0]=0;
00484   aLowInterest[1]=0;
00485   aHighInterest[1]=0;
00486   aAnyInterest[1]=0;
00487 
00488   Handle<EEDigiCollection> eeDigis;
00489   if ( e.getByLabel(EEDigiCollection_ , eeDigis) ) {
00490 
00491     anaDigiInit();
00492 
00493     for (unsigned int digis=0; digis<eeDigis->size(); ++digis) {
00494       EEDataFrame eedf = (*eeDigis)[digis];
00495       anaDigi(eedf, *eeSrFlags);
00496     }
00497 
00498     //low interest channels:
00499     aLowInterest[0] = nEeLI_[0]*bytesPerCrystal/kByte;
00500     EELowInterestPayload_[0]->Fill(aLowInterest[0]);
00501     aLowInterest[1] = nEeLI_[1]*bytesPerCrystal/kByte;
00502     EELowInterestPayload_[1]->Fill(aLowInterest[1]);
00503 
00504     //low interest channels:
00505     aHighInterest[0] = nEeHI_[0]*bytesPerCrystal/kByte;
00506     EEHighInterestPayload_[0]->Fill(aHighInterest[0]);
00507     aHighInterest[1] = nEeHI_[1]*bytesPerCrystal/kByte;
00508     EEHighInterestPayload_[1]->Fill(aHighInterest[1]);
00509 
00510     //any-interest channels:
00511     aAnyInterest[0] = getEeEventSize(nEe_[0])/kByte;
00512     EEEventSize_[0]->Fill(aAnyInterest[0]);
00513     aAnyInterest[1] = getEeEventSize(nEe_[1])/kByte;
00514     EEEventSize_[1]->Fill(aAnyInterest[1]);
00515 
00516   } else {
00517     LogWarning("EESelectiveReadoutTask") << EEDigiCollection_ << " not available";
00518   }
00519 
00520 }

void EESelectiveReadoutTask::beginJob ( const edm::EventSetup c  )  [protected, virtual]

BeginJob.

Reimplemented from edm::EDAnalyzer.

Definition at line 83 of file EESelectiveReadoutTask.cc.

References dqmStore_, ievt_, Numbers::initGeometry(), prefixME_, DQMStore::rmdir(), and DQMStore::setCurrentFolder().

00083                                                          {
00084 
00085   ievt_ = 0;
00086 
00087   if ( dqmStore_ ) {
00088     dqmStore_->setCurrentFolder(prefixME_ + "/EESelectiveReadoutTask");
00089     dqmStore_->rmdir(prefixME_ + "/EESelectiveReadoutTask");
00090   }
00091 
00092   Numbers::initGeometry(c, false);
00093 
00094 }

void EESelectiveReadoutTask::beginRun ( const edm::Run r,
const edm::EventSetup c 
) [protected, virtual]

BeginRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 245 of file EESelectiveReadoutTask.cc.

References mergeRuns_, and reset().

00245                                                                        {
00246 
00247   if ( ! mergeRuns_ ) this->reset();
00248 
00249 }

int EESelectiveReadoutTask::cIndex2iXY ( int  iX0  )  const [inline, private]

converse of iXY2cIndex() method.

Definition at line 146 of file EESelectiveReadoutTask.h.

00146                              {
00147   return iX0+1;
00148 }

void EESelectiveReadoutTask::cleanup ( void   )  [protected]

Cleanup.

Definition at line 179 of file EESelectiveReadoutTask.cc.

References dqmStore_, EEDccEventSize_, EEEventSize_, EEFullReadoutSRFlagMap_, EEHighInterestPayload_, EEHighInterestTriggerTowerFlagMap_, EELowInterestPayload_, EELowInterestTriggerTowerFlagMap_, EEReadoutUnitForcedBitMap_, edm::getName(), MonitorElement::getName(), init_, prefixME_, DQMStore::removeElement(), and DQMStore::setCurrentFolder().

Referenced by endJob().

00179                                         {
00180 
00181   if ( ! init_ ) return;
00182 
00183   if ( dqmStore_ ) {
00184     dqmStore_->setCurrentFolder(prefixME_ + "/EESelectiveReadoutTask");
00185 
00186     if ( EEDccEventSize_ ) dqmStore_->removeElement( EEDccEventSize_->getName() );
00187     EEDccEventSize_ = 0;
00188 
00189     if ( EEReadoutUnitForcedBitMap_[0] ) dqmStore_->removeElement( EEReadoutUnitForcedBitMap_[0]->getName() );
00190     EEReadoutUnitForcedBitMap_[0] = 0;
00191 
00192     if ( EEReadoutUnitForcedBitMap_[1] ) dqmStore_->removeElement( EEReadoutUnitForcedBitMap_[1]->getName() );
00193     EEReadoutUnitForcedBitMap_[1] = 0;
00194 
00195     if ( EEFullReadoutSRFlagMap_[0] ) dqmStore_->removeElement( EEFullReadoutSRFlagMap_[0]->getName() );
00196     EEFullReadoutSRFlagMap_[0] = 0;
00197 
00198     if ( EEFullReadoutSRFlagMap_[1] ) dqmStore_->removeElement( EEFullReadoutSRFlagMap_[1]->getName() );
00199     EEFullReadoutSRFlagMap_[1] = 0;
00200 
00201     if ( EEHighInterestTriggerTowerFlagMap_[0] ) dqmStore_->removeElement( EEHighInterestTriggerTowerFlagMap_[0]->getName() );
00202     EEHighInterestTriggerTowerFlagMap_[0] = 0;
00203 
00204     if ( EEHighInterestTriggerTowerFlagMap_[1] ) dqmStore_->removeElement( EEHighInterestTriggerTowerFlagMap_[1]->getName() );
00205     EEHighInterestTriggerTowerFlagMap_[1] = 0;
00206 
00207     if ( EELowInterestTriggerTowerFlagMap_[0] ) dqmStore_->removeElement( EELowInterestTriggerTowerFlagMap_[0]->getName() );
00208     EELowInterestTriggerTowerFlagMap_[0] = 0;
00209 
00210     if ( EELowInterestTriggerTowerFlagMap_[1] ) dqmStore_->removeElement( EELowInterestTriggerTowerFlagMap_[1]->getName() );
00211     EELowInterestTriggerTowerFlagMap_[1] = 0;
00212 
00213     if ( EEEventSize_[0] ) dqmStore_->removeElement( EEEventSize_[0]->getName() );
00214     EEEventSize_[0] = 0;
00215 
00216     if ( EEEventSize_[1] ) dqmStore_->removeElement( EEEventSize_[1]->getName() );
00217     EEEventSize_[1] = 0;
00218 
00219     if ( EEHighInterestPayload_[0] ) dqmStore_->removeElement( EEHighInterestPayload_[0]->getName() );
00220     EEHighInterestPayload_[0] = 0;
00221 
00222     if ( EEHighInterestPayload_[1] ) dqmStore_->removeElement( EEHighInterestPayload_[1]->getName() );
00223     EEHighInterestPayload_[1] = 0;
00224 
00225     if ( EELowInterestPayload_[0] ) dqmStore_->removeElement( EELowInterestPayload_[0]->getName() );
00226     EELowInterestPayload_[0] = 0;
00227 
00228     if ( EELowInterestPayload_[1] ) dqmStore_->removeElement( EELowInterestPayload_[1]->getName() );
00229     EELowInterestPayload_[1] = 0;
00230 
00231   }
00232 
00233   init_ = false;
00234 
00235 }

int EESelectiveReadoutTask::dccIndex ( int  iDet,
int  i,
int  j 
) const [private]

Gets the index of the DCC reading a crystal.

Parameters:
i iX
j iY
Returns:
DCC phi index between 0 and 8 for EE

Definition at line 631 of file EESelectiveReadoutTask.cc.

References dccPhiIndex().

Referenced by dccNum().

00631                                                                  {
00632   int iPhi = dccPhiIndex(i, j);
00633   if(iPhi<0) return -1;
00634   //34 DCCs in barrel and 8 in EE-=>in EE+ DCC numbering starts at 45,
00635   //iDet/2 is 0 for EE- and 1 for EE+:
00636   return iPhi+iDet/2*45;
00637 }

unsigned EESelectiveReadoutTask::dccNum ( const DetId xtalId  )  const [private]

Retrieve the logical number of the DCC reading a given crystal channel.

Parameters:
xtarId crystal channel identifier
Returns:
the DCC logical number starting from 1.

Definition at line 588 of file EESelectiveReadoutTask.cc.

References dccIndex(), DetId::det(), DetId::Ecal, EcalEndcap, Exception, EEDetId::ix(), iXY2cIndex(), EEDetId::iy(), j, k, nECALDcc, DetId::subdetId(), and EEDetId::zside().

Referenced by anaDigi().

00588                                                                 {
00589   int j;
00590   int k;
00591 
00592   if ( xtalId.det()!=DetId::Ecal ) {
00593     throw cms::Exception("EESelectiveReadoutTask") << "Crystal does not belong to ECAL";
00594   }
00595 
00596   int iDet = 0;
00597 
00598   if(xtalId.subdetId()==EcalEndcap){
00599     EEDetId eeDetId(xtalId);
00600     j = iXY2cIndex(eeDetId.ix());
00601     k = iXY2cIndex(eeDetId.iy());
00602     int zside = eeDetId.zside();
00603     if ( zside < 0 ) iDet = 0;
00604     else iDet = 2;
00605   } else {
00606     throw cms::Exception("EESelectiveReadoutTask")
00607       <<"Not ECAL endcap.";
00608   }
00609   int iDcc0 = dccIndex(iDet,j,k);
00610   assert(iDcc0>=0 && iDcc0<nECALDcc);
00611   return iDcc0+1;
00612 }

int EESelectiveReadoutTask::dccPhiIndex ( int  i,
int  j 
) const [inline, private]

Gets the phi index of the DCC reading a crystal.

Parameters:
i iX
j iY
Returns:
DCC phi index between 0 and 8 for EE

Definition at line 191 of file EESelectiveReadoutTask.h.

References dccPhiIndexOfRU().

Referenced by dccIndex().

00191                                            {
00192   return dccPhiIndexOfRU(i/5, j/5);
00193 }

int EESelectiveReadoutTask::dccPhiIndexOfRU ( int  i,
int  j 
) const [private]

Gets the phi index of the DCC reading a RU (SC or TT).

Parameters:
i iX
j iY
Returns:
DCC phi index between 0 and 8 for EE

Definition at line 626 of file EESelectiveReadoutTask.cc.

References endcapDccMap.

Referenced by dccPhiIndex().

00626                                                               {
00627   char flag=endcapDccMap[i+j*20];
00628   return (flag==' ')?-1:(flag-'0');
00629 }

void EESelectiveReadoutTask::endJob ( void   )  [protected, virtual]

EndJob.

Reimplemented from edm::EDAnalyzer.

Definition at line 237 of file EESelectiveReadoutTask.cc.

References cleanup(), enableCleanup_, and ievt_.

00237                                        {
00238 
00239   LogInfo("EESelectiveReadoutTask") << "analyzed " << ievt_ << " events";
00240 
00241   if ( enableCleanup_ ) this->cleanup();
00242 
00243 }

void EESelectiveReadoutTask::endRun ( const edm::Run r,
const edm::EventSetup c 
) [protected, virtual]

EndRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 251 of file EESelectiveReadoutTask.cc.

00251                                                                      {
00252 
00253 }

double EESelectiveReadoutTask::getDccEventSize ( int  iDcc0,
double  nReadXtals 
) const [inline, private]

Gets the size of an DCC event fragment.

Parameters:
iDcc0 the DCC logical number starting from 0.
nReadXtals number of read crystal channels.
Returns:
the DCC event fragment size in bytes.

Definition at line 169 of file EESelectiveReadoutTask.h.

References bytesPerCrystal, EB, EE, getDccOverhead(), and nRuPerDcc_.

00169                                                           {
00170   subdet_t subdet;
00171   if(iDcc0<9 || iDcc0>=45){
00172     subdet = EE;
00173   } else{
00174     subdet = EB;
00175   }
00176   return getDccOverhead(subdet)+nReadXtals*bytesPerCrystal+nRuPerDcc_[iDcc0]*8;
00177 }

double EESelectiveReadoutTask::getDccOverhead ( subdet_t  subdet  )  const [inline, private]

Gets the size in bytes fixed-size part of a DCC event fragment.

Returns:
the fixed size in bytes.

Definition at line 159 of file EESelectiveReadoutTask.h.

References EB.

Referenced by getDccEventSize(), and getEeEventSize().

00159                                             {
00160   //  return (subdet==EB?34:25)*8;
00161   return (subdet==EB?34:52)*8;
00162 }

double EESelectiveReadoutTask::getEeEventSize ( double  nReadXtals  )  const [private]

Computes the size of an ECAL endcap event fragment.

Parameters:
nReadXtals number of read crystal channels
Returns:
the event fragment size in bytes

Definition at line 614 of file EESelectiveReadoutTask.cc.

References bytesPerCrystal, EE, getDccOverhead(), nEBDcc, nECALDcc, nEEDcc, and nRuPerDcc_.

Referenced by analyze().

00614                                                                      {
00615   double ruHeaderPayload = 0.;
00616   const int firstEbDcc0 = nEEDcc/2;
00617   for ( int iDcc0 = 0; iDcc0 < nECALDcc; ++iDcc0 ) {
00618     //skip barrel:
00619     if(iDcc0 == firstEbDcc0) iDcc0 += nEBDcc;
00620       ruHeaderPayload += nRuPerDcc_[iDcc0]*8.;
00621   }
00622   return getDccOverhead(EE)*nEEDcc + nReadXtals*bytesPerCrystal
00623     + ruHeaderPayload;
00624 }

int EESelectiveReadoutTask::iXY2cIndex ( int  iX  )  const [inline, private]

Converts a std CMSSW crystal x or y index to a c-array index (starting from zero and without hole).

Definition at line 140 of file EESelectiveReadoutTask.h.

Referenced by anaDigi(), and dccNum().

00140                             {
00141   return iX-1;
00142 }

EcalScDetId EESelectiveReadoutTask::readOutUnitOf ( const EEDetId xtalId  )  const [private]

Retrives the readout unit, a trigger tower in the barrel case, and a supercrystal in the endcap case, a given crystal belongs to.

Parameters:
xtalId identifier of the crystal
Returns:
identifer of the supercrystal or of the trigger tower.

Definition at line 581 of file EESelectiveReadoutTask.cc.

References EEDetId::ix(), EEDetId::iy(), scEdge, and EEDetId::zside().

Referenced by anaDigi().

00581                                                                 {
00582   const int scEdge = 5;
00583   return EcalScDetId((xtalId.ix()-1)/scEdge+1,
00584                      (xtalId.iy()-1)/scEdge+1,
00585                      xtalId.zside());
00586 }

void EESelectiveReadoutTask::reset ( void   )  [protected]

Reset.

Definition at line 255 of file EESelectiveReadoutTask.cc.

References EEDccEventSize_, EEEventSize_, EEFullReadoutSRFlagMap_, EEHighInterestPayload_, EEHighInterestTriggerTowerFlagMap_, EELowInterestPayload_, EELowInterestTriggerTowerFlagMap_, EEReadoutUnitForcedBitMap_, and MonitorElement::Reset().

Referenced by beginRun().

void EESelectiveReadoutTask::setup ( void   )  [protected]

Setup.

Definition at line 96 of file EESelectiveReadoutTask.cc.

References DQMStore::book1D(), DQMStore::book2D(), DQMStore::bookProfile(), dqmStore_, EEDccEventSize_, EEEventSize_, EEFullReadoutSRFlagMap_, EEHighInterestPayload_, EEHighInterestTriggerTowerFlagMap_, EELowInterestPayload_, EELowInterestTriggerTowerFlagMap_, EEReadoutUnitForcedBitMap_, histo, i, init_, prefixME_, Numbers::sEE(), MonitorElement::setAxisTitle(), MonitorElement::setBinLabel(), and DQMStore::setCurrentFolder().

Referenced by analyze().

00096                                        {
00097 
00098   init_ = true;
00099 
00100   char histo[200];
00101 
00102   if ( dqmStore_ ) {
00103     dqmStore_->setCurrentFolder(prefixME_ + "/EESelectiveReadoutTask");
00104 
00105     sprintf(histo, "EESRT DCC event size");
00106     EEDccEventSize_ = dqmStore_->bookProfile(histo, histo, 18, 1, 19, 100, 0., 200., "s");
00107     for (int i = 0; i < 18; i++) {
00108       EEDccEventSize_->setBinLabel(i+1, Numbers::sEE(i+1).c_str(), 1);
00109     }
00110 
00111     sprintf(histo, "EESRT readout unit with SR forced EE -");
00112     EEReadoutUnitForcedBitMap_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00113     EEReadoutUnitForcedBitMap_[0]->setAxisTitle("jx", 1);
00114     EEReadoutUnitForcedBitMap_[0]->setAxisTitle("jy", 2);
00115 
00116     sprintf(histo, "EESRT readout unit with SR forced EE +");
00117     EEReadoutUnitForcedBitMap_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00118     EEReadoutUnitForcedBitMap_[1]->setAxisTitle("jx", 1);
00119     EEReadoutUnitForcedBitMap_[1]->setAxisTitle("jy", 2);
00120 
00121     sprintf(histo, "EESRT full readout SR flags EE -");
00122     EEFullReadoutSRFlagMap_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00123     EEFullReadoutSRFlagMap_[0]->setAxisTitle("jx", 1);
00124     EEFullReadoutSRFlagMap_[0]->setAxisTitle("jy", 2);
00125 
00126     sprintf(histo, "EESRT full readout SR flags EE +");
00127     EEFullReadoutSRFlagMap_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00128     EEFullReadoutSRFlagMap_[1]->setAxisTitle("jx", 1);
00129     EEFullReadoutSRFlagMap_[1]->setAxisTitle("jy", 2);
00130 
00131     sprintf(histo, "EESRT high interest TT Flags EE -");
00132     EEHighInterestTriggerTowerFlagMap_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00133     EEHighInterestTriggerTowerFlagMap_[0]->setAxisTitle("jx", 1);
00134     EEHighInterestTriggerTowerFlagMap_[0]->setAxisTitle("jy", 2);
00135 
00136     sprintf(histo, "EESRT high interest TT Flags EE +");
00137     EEHighInterestTriggerTowerFlagMap_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00138     EEHighInterestTriggerTowerFlagMap_[1]->setAxisTitle("jx", 1);
00139     EEHighInterestTriggerTowerFlagMap_[1]->setAxisTitle("jy", 2);
00140 
00141     sprintf(histo, "EESRT low interest TT Flags EE -");
00142     EELowInterestTriggerTowerFlagMap_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00143     EELowInterestTriggerTowerFlagMap_[0]->setAxisTitle("jx", 1);
00144     EELowInterestTriggerTowerFlagMap_[0]->setAxisTitle("jy", 2);
00145 
00146     sprintf(histo, "EESRT low interest TT Flags EE +");
00147     EELowInterestTriggerTowerFlagMap_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
00148     EELowInterestTriggerTowerFlagMap_[1]->setAxisTitle("jx", 1);
00149     EELowInterestTriggerTowerFlagMap_[1]->setAxisTitle("jy", 2);
00150 
00151     sprintf(histo, "EESRT event size EE -");
00152     EEEventSize_[0] = dqmStore_->book1D(histo, histo, 100, 0, 200);
00153     EEEventSize_[0]->setAxisTitle("event size (kB)",1);
00154 
00155     sprintf(histo, "EESRT event size EE +");
00156     EEEventSize_[1] = dqmStore_->book1D(histo, histo, 100, 0, 200);
00157     EEEventSize_[1]->setAxisTitle("event size (kB)",1);
00158 
00159     sprintf(histo, "EESRT high interest payload EE -");
00160     EEHighInterestPayload_[0] =  dqmStore_->book1D(histo, histo, 100, 0, 200);
00161     EEHighInterestPayload_[0]->setAxisTitle("event size (kB)",1);
00162 
00163     sprintf(histo, "EESRT high interest payload EE +");
00164     EEHighInterestPayload_[1] =  dqmStore_->book1D(histo, histo, 100, 0, 200);
00165     EEHighInterestPayload_[1]->setAxisTitle("event size (kB)",1);
00166 
00167     sprintf(histo, "EESRT low interest payload EE -");
00168     EELowInterestPayload_[0] =  dqmStore_->book1D(histo, histo, 100, 0, 200);
00169     EELowInterestPayload_[0]->setAxisTitle("event size (kB)",1);
00170 
00171     sprintf(histo, "EESRT low interest payload EE +");
00172     EELowInterestPayload_[1] =  dqmStore_->book1D(histo, histo, 100, 0, 200);
00173     EELowInterestPayload_[1]->setAxisTitle("event size (kB)",1);
00174 
00175   }
00176 
00177 }


Member Data Documentation

const int EESelectiveReadoutTask::bytesPerCrystal = 24 [static, protected]

Number of bytes per crystal.

Definition at line 107 of file EESelectiveReadoutTask.h.

Referenced by analyze(), getDccEventSize(), and getEeEventSize().

DQMStore* EESelectiveReadoutTask::dqmStore_ [private]

Definition at line 228 of file EESelectiveReadoutTask.h.

Referenced by beginJob(), cleanup(), EESelectiveReadoutTask(), and setup().

edm::InputTag EESelectiveReadoutTask::EcalRecHitCollection_ [private]

Definition at line 238 of file EESelectiveReadoutTask.h.

edm::InputTag EESelectiveReadoutTask::EcalTrigPrimDigiCollection_ [private]

Definition at line 240 of file EESelectiveReadoutTask.h.

Referenced by analyze(), and EESelectiveReadoutTask().

MonitorElement* EESelectiveReadoutTask::EEDccEventSize_ [private]

Definition at line 243 of file EESelectiveReadoutTask.h.

Referenced by analyze(), cleanup(), EESelectiveReadoutTask(), reset(), and setup().

edm::InputTag EESelectiveReadoutTask::EEDigiCollection_ [private]

Definition at line 236 of file EESelectiveReadoutTask.h.

Referenced by analyze(), and EESelectiveReadoutTask().

MonitorElement* EESelectiveReadoutTask::EEEventSize_[2] [private]

Definition at line 248 of file EESelectiveReadoutTask.h.

Referenced by analyze(), cleanup(), EESelectiveReadoutTask(), reset(), and setup().

MonitorElement* EESelectiveReadoutTask::EEFullReadoutSRFlagMap_[2] [private]

Definition at line 245 of file EESelectiveReadoutTask.h.

Referenced by analyze(), cleanup(), EESelectiveReadoutTask(), reset(), and setup().

MonitorElement* EESelectiveReadoutTask::EEHighInterestPayload_[2] [private]

Definition at line 249 of file EESelectiveReadoutTask.h.

Referenced by analyze(), cleanup(), EESelectiveReadoutTask(), reset(), and setup().

MonitorElement* EESelectiveReadoutTask::EEHighInterestTriggerTowerFlagMap_[2] [private]

Definition at line 246 of file EESelectiveReadoutTask.h.

Referenced by analyze(), cleanup(), EESelectiveReadoutTask(), reset(), and setup().

MonitorElement* EESelectiveReadoutTask::EELowInterestPayload_[2] [private]

Definition at line 250 of file EESelectiveReadoutTask.h.

Referenced by analyze(), cleanup(), EESelectiveReadoutTask(), reset(), and setup().

MonitorElement* EESelectiveReadoutTask::EELowInterestTriggerTowerFlagMap_[2] [private]

Definition at line 247 of file EESelectiveReadoutTask.h.

Referenced by analyze(), cleanup(), EESelectiveReadoutTask(), reset(), and setup().

MonitorElement* EESelectiveReadoutTask::EEReadoutUnitForcedBitMap_[2] [private]

Definition at line 244 of file EESelectiveReadoutTask.h.

Referenced by analyze(), cleanup(), EESelectiveReadoutTask(), reset(), and setup().

bool EESelectiveReadoutTask::eeRuActive_[nEndcaps][nEeX/scEdge][nEeY/scEdge] [private]

For book keeping of RU actually read out (not fully zero suppressed).

Definition at line 224 of file EESelectiveReadoutTask.h.

Referenced by anaDigi(), and anaDigiInit().

edm::InputTag EESelectiveReadoutTask::EESRFlagCollection_ [private]

Definition at line 239 of file EESelectiveReadoutTask.h.

Referenced by analyze(), and EESelectiveReadoutTask().

edm::InputTag EESelectiveReadoutTask::EEUnsuppressedDigiCollection_ [private]

Definition at line 237 of file EESelectiveReadoutTask.h.

Referenced by EESelectiveReadoutTask().

bool EESelectiveReadoutTask::enableCleanup_ [private]

Definition at line 232 of file EESelectiveReadoutTask.h.

Referenced by EESelectiveReadoutTask(), and endJob().

edm::InputTag EESelectiveReadoutTask::FEDRawDataCollection_ [private]

Definition at line 241 of file EESelectiveReadoutTask.h.

Referenced by analyze(), and EESelectiveReadoutTask().

int EESelectiveReadoutTask::ievt_ [private]

Definition at line 226 of file EESelectiveReadoutTask.h.

Referenced by analyze(), beginJob(), and endJob().

bool EESelectiveReadoutTask::init_ [private]

Definition at line 252 of file EESelectiveReadoutTask.h.

Referenced by analyze(), cleanup(), EESelectiveReadoutTask(), and setup().

const int EESelectiveReadoutTask::kByte = 1024 [static, protected]

Definition at line 83 of file EESelectiveReadoutTask.h.

Referenced by analyze().

bool EESelectiveReadoutTask::mergeRuns_ [private]

Definition at line 234 of file EESelectiveReadoutTask.h.

Referenced by beginRun(), and EESelectiveReadoutTask().

const int EESelectiveReadoutTask::nEBDcc = 36 [static, protected]

Definition at line 82 of file EESelectiveReadoutTask.h.

Referenced by getEeEventSize().

const int EESelectiveReadoutTask::nECALDcc = 54 [static, protected]

Constants.

Definition at line 80 of file EESelectiveReadoutTask.h.

Referenced by dccNum(), and getEeEventSize().

int EESelectiveReadoutTask::nEe_[2] [private]

ECAL endcap read channel count.

Definition at line 204 of file EESelectiveReadoutTask.h.

Referenced by anaDigi(), anaDigiInit(), and analyze().

const int EESelectiveReadoutTask::nEEDcc = 18 [static, protected]

Definition at line 81 of file EESelectiveReadoutTask.h.

Referenced by getEeEventSize().

int EESelectiveReadoutTask::nEeHI_[2] [private]

ECAL endcap high interest read channel count.

Definition at line 212 of file EESelectiveReadoutTask.h.

Referenced by anaDigi(), anaDigiInit(), and analyze().

int EESelectiveReadoutTask::nEeLI_[2] [private]

ECAL endcap low interest read channel count.

Definition at line 208 of file EESelectiveReadoutTask.h.

Referenced by anaDigi(), anaDigiInit(), and analyze().

const int EESelectiveReadoutTask::nEeRus = 2*(34+32+33+33+32+34+33+34+33) [static, protected]

number of RUs for EE

Definition at line 86 of file EESelectiveReadoutTask.h.

const int EESelectiveReadoutTask::nEeX = 100 [static, protected]

EE crystal grid size along X.

Definition at line 92 of file EESelectiveReadoutTask.h.

const int EESelectiveReadoutTask::nEeY = 100 [static, protected]

EE crystal grid size along Y.

Definition at line 95 of file EESelectiveReadoutTask.h.

const int EESelectiveReadoutTask::nEndcaps = 2 [static, protected]

number of endcaps

Definition at line 89 of file EESelectiveReadoutTask.h.

int EESelectiveReadoutTask::nPerDcc_[nECALDcc] [private]

ECAL read channel count for each DCC:.

Definition at line 216 of file EESelectiveReadoutTask.h.

Referenced by anaDigi(), and anaDigiInit().

int EESelectiveReadoutTask::nRuPerDcc_[nECALDcc] [private]

Count for each DCC of RUs with at leat one channel read out:.

Definition at line 220 of file EESelectiveReadoutTask.h.

Referenced by anaDigi(), anaDigiInit(), getDccEventSize(), and getEeEventSize().

const int EESelectiveReadoutTask::nTtEta = 56 [static, protected]

Number of Trigger Towers along Eta.

Definition at line 101 of file EESelectiveReadoutTask.h.

const int EESelectiveReadoutTask::nTtPhi = 72 [static, protected]

Number of Trigger Towers along Phi.

Definition at line 104 of file EESelectiveReadoutTask.h.

std::string EESelectiveReadoutTask::prefixME_ [private]

Definition at line 230 of file EESelectiveReadoutTask.h.

Referenced by beginJob(), cleanup(), EESelectiveReadoutTask(), and setup().

const int EESelectiveReadoutTask::scEdge = 5 [static, protected]

Number of crystals along a supercrystal edge.

Definition at line 98 of file EESelectiveReadoutTask.h.

Referenced by anaDigi(), and readOutUnitOf().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:20:08 2009 for CMSSW by  doxygen 1.5.4