CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
CTPPSPixelDQMSource Class Reference
Inheritance diagram for CTPPSPixelDQMSource:
DQMEDAnalyzer edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > > edm::stream::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

 CTPPSPixelDQMSource (const edm::ParameterSet &ps)
 
 ~CTPPSPixelDQMSource () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void beginRun (edm::Run const &, edm::EventSetup const &) final
 
void beginStream (edm::StreamID id) final
 
 DQMEDAnalyzer ()
 
void endLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
void endRunSummary (edm::Run const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
uint32_t streamId () const
 
- Public Member Functions inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
 EDAnalyzer ()=default
 
- Public Member Functions inherited from edm::stream::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
 ~EDAnalyzerBase () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
virtual ~EDConsumerBase () noexcept(false)
 

Protected Member Functions

void analyze (edm::Event const &e, edm::EventSetup const &eSetup) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
void dqmBeginRun (edm::Run const &, edm::EventSetup const &) override
 
void endRun (edm::Run const &run, edm::EventSetup const &eSetup) override
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Private Member Functions

int getDet (int id)
 
int getPixPlane (int id)
 
int getPlaneIndex (int arm, int station, int rp, int plane)
 
int getRPindex (int arm, int station, int rp)
 
int prIndex (int rp, int plane)
 

Private Attributes

int cluSizeMax
 
const int ClusMultMAX = 10
 
int ClusMultPlane [RPotsTotalNumber][NplaneMAX]
 
MonitorElementh2CluSize [NArms][NStationMAX]
 
MonitorElementh2ClusMultipl [NArms][NStationMAX]
 
MonitorElementh2HitsMultipl [NArms][NStationMAX]
 
MonitorElementh2HitsMultROC [RPotsTotalNumber]
 
MonitorElementh2PlaneActive [NArms][NStationMAX]
 
MonitorElementh2xyHits [RPotsTotalNumber][NplaneMAX]
 
MonitorElementh2xyROCadc [RPotsTotalNumber *NplaneMAX][NROCsMAX]
 
MonitorElementh2xyROCHits [RPotsTotalNumber *NplaneMAX][NROCsMAX]
 
MonitorElementhBX
 
MonitorElementhBXshort
 
MonitorElementhHitsMult [RPotsTotalNumber][NplaneMAX]
 
const int hitMultMAX = 300
 
int HitsMultPlane [RPotsTotalNumber][NplaneMAX]
 
int HitsMultROC [RPotsTotalNumber *NplaneMAX][NROCsMAX]
 
MonitorElementhp2HitsMultROC_LS [RPotsTotalNumber]
 
MonitorElementhp2HitsOcc [NArms][NStationMAX]
 
MonitorElementhp2xyADC [RPotsTotalNumber][NplaneMAX]
 
MonitorElementhRPotActivBX [RPotsTotalNumber]
 
MonitorElementhRPotActivBXall [RPotsTotalNumber]
 
MonitorElementhRPotActivBXroc [RPotsTotalNumber]
 
MonitorElementhRPotActivPlanes [RPotsTotalNumber]
 
MonitorElementhRPotActivROCs [RPotsTotalNumber]
 
const int IndexNotValid = 0
 
int multHitsMax
 
long int nEvents = 0
 
int pixColMAX = 156
 
int pixRowMAX = 160
 
int ROCSizeInX = pixRowMAX/2
 
int ROCSizeInY = pixColMAX/3
 
int RPindexValid [RPotsTotalNumber]
 
int RPstatus [NStationMAX][NRPotsMAX]
 
unsigned int rpStatusWord = 0x8000
 
int StationStatus [NStationMAX]
 
CTPPSPixelIndices thePixIndices
 
edm::EDGetTokenT< edm::DetSetVector< CTPPSPixelCluster > > tokenCluster
 
edm::EDGetTokenT< edm::DetSetVector< CTPPSPixelDigi > > tokenDigi
 
unsigned int verbosity
 

Static Private Attributes

static int NArms =2
 
static int NPlaneBins = NplaneMAX*NRPotBinsInStation
 
static int NplaneMAX =6
 
static int NROCsMAX = 6
 
static int NRPotBinsInStation = RPn_last-RPn_first
 
static int NRPotsMAX =6
 
static int NStationMAX =3
 
static int RPn_first = 3
 
static int RPn_last = 4
 
static int RPotsTotalNumber =NArms*NStationMAX*NRPotsMAX
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Public Types inherited from edm::stream::EDAnalyzerBase
typedef EDAnalyzerAdaptorBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static std::shared_ptr< dqmDetails::NoCacheglobalBeginLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *)
 
static std::shared_ptr< dqmDetails::NoCacheglobalBeginRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *)
 
static void globalEndLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *, dqmDetails::NoCache *)
 
static void globalEndRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *, dqmDetails::NoCache *)
 
- Static Public Member Functions inherited from edm::stream::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Detailed Description

Definition at line 32 of file CTPPSPixelDQMSource.cc.

Constructor & Destructor Documentation

CTPPSPixelDQMSource::CTPPSPixelDQMSource ( const edm::ParameterSet ps)

Definition at line 134 of file CTPPSPixelDQMSource.cc.

References edm::ParameterSet::getParameter(), tokenCluster, and tokenDigi.

134  :
135  verbosity(ps.getUntrackedParameter<unsigned int>("verbosity", 0)),
136  rpStatusWord(ps.getUntrackedParameter<unsigned int>("RPStatusWord",0x8000))
137 {
138  tokenDigi = consumes<DetSetVector<CTPPSPixelDigi> >(ps.getParameter<edm::InputTag>("tagRPixDigi"));
139  tokenCluster=consumes<DetSetVector<CTPPSPixelCluster>>(ps.getParameter<edm::InputTag>("tagRPixCluster"));
140 
141 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
edm::EDGetTokenT< edm::DetSetVector< CTPPSPixelDigi > > tokenDigi
edm::EDGetTokenT< edm::DetSetVector< CTPPSPixelCluster > > tokenCluster
CTPPSPixelDQMSource::~CTPPSPixelDQMSource ( )
override

Definition at line 145 of file CTPPSPixelDQMSource.cc.

146 {
147 }

Member Function Documentation

void CTPPSPixelDQMSource::analyze ( edm::Event const &  e,
edm::EventSetup const &  eSetup 
)
overrideprotectedvirtual

Implements edm::stream::EDAnalyzerBase.

Definition at line 356 of file CTPPSPixelDQMSource.cc.

References ecalMGPA::adc(), CTPPSDetId::arm(), edm::DetSet< T >::begin(), edm::EventBase::bunchCrossing(), cluSizeMax, ClusMultPlane, cuy::col, MonitorElement::Fill(), HcalObjRepresent::Fill(), objects.autophobj::float, getDet(), getPixPlane(), getPlaneIndex(), getRPindex(), h2CluSize, h2ClusMultipl, h2HitsMultipl, h2HitsMultROC, h2PlaneActive, h2xyHits, h2xyROCadc, h2xyROCHits, hBX, hBXshort, hHitsMult, HitsMultPlane, HitsMultROC, hp2HitsMultROC_LS, hp2HitsOcc, hp2xyADC, hRPotActivBX, hRPotActivBXall, hRPotActivBXroc, hRPotActivPlanes, hRPotActivROCs, diffTreeTool::index, edm::HandleBase::isValid(), SiStripPI::max, multHitsMax, NArms, nEvents, np, NplaneMAX, NROCsMAX, NRPotsMAX, NStationMAX, AlCaHLTBitMon_ParallelJobs::p, pixColMAX, pixRowMAX, prIndex(), alignCSCRings::r, CTPPSDetId::rp(), RPindexValid, RPstatus, mathSSE::sqrt(), CTPPSDetId::station(), relativeConstraints::station, StationStatus, thePixIndices, tokenCluster, tokenDigi, CTPPSPixelIndices::transformToROC(), verbosity, and DetId::VeryForward.

357 {
358  ++nEvents;
359  int lumiId = event.getLuminosityBlock().id().luminosityBlock();
360  if(lumiId<0) lumiId=0;
361 
362  int RPactivity[NArms][NRPotsMAX], digiSize[NArms][NRPotsMAX];
363  for(int arm = 0; arm <2; arm++) {
364  for(int rp=0; rp<NRPotsMAX; rp++) {
365  RPactivity[arm][rp] = digiSize[arm][rp] = 0;
366  }
367  }
368  for(int ind=0; ind<2*3*NRPotsMAX; ind++) {
369  for(int p=0; p<NplaneMAX; p++) {
370  HitsMultPlane[ind][p] = 0;
371  ClusMultPlane[ind][p] = 0;
372  }
373  }
374  for(int ind=0; ind<2*3*NRPotsMAX*NplaneMAX; ind++) {
375  for(int rp=0; rp<NROCsMAX; rp++) {
376  HitsMultROC[ind][rp] = 0;
377  }
378  }
380  event.getByToken(tokenDigi, pixDigi);
381 
383  event.getByToken(tokenCluster, pixClus);
384 
385  hBX->Fill(event.bunchCrossing());
386  hBXshort->Fill(event.bunchCrossing());
387 
388  bool valid = false;
389  valid |= pixDigi.isValid();
390 // valid |= Clus.isValid();
391 
392  if(!valid && verbosity) LogPrint("CTPPSPixelDQMSource") <<"No valid data in Event "<<nEvents;
393 
394  if(pixDigi.isValid()) {
395  for(const auto &ds_digi : *pixDigi)
396  {
397  int idet = getDet(ds_digi.id);
398  if(idet != DetId::VeryForward) {
399  if(verbosity>1) LogPrint("CTPPSPixelDQMSource") <<"not CTPPS: ds_digi.id"<<ds_digi.id;
400  continue;
401  }
402  // int subdet = getSubdet(ds_digi.id);
403 
404  int plane = getPixPlane(ds_digi.id);
405 
406  CTPPSDetId theId(ds_digi.id);
407  int arm = theId.arm()&0x1;
408  int station = theId.station()&0x3;
409  int rpot = theId.rp()&0x7;
410  RPactivity[arm][rpot] = 1;
411  ++digiSize[arm][rpot];
412 
413  if(StationStatus[station] && RPstatus[station][rpot]) {
414 
415  hp2HitsOcc[arm][station]->Fill(plane,rpot,(int)ds_digi.data.size());
416  h2HitsMultipl[arm][station]->Fill(prIndex(rpot,plane),ds_digi.data.size());
417  h2PlaneActive[arm][station]->Fill(plane,rpot);
418 
419  int index = getRPindex(arm,station,rpot);
420  HitsMultPlane[index][plane] += ds_digi.data.size();
421  if(RPindexValid[index]) {
422  hHitsMult[index][plane]->Fill(ds_digi.data.size());
423  }
424  int rocHistIndex = getPlaneIndex(arm,station,rpot,plane);
425 
426  for(DetSet<CTPPSPixelDigi>::const_iterator dit = ds_digi.begin();
427  dit != ds_digi.end(); ++dit) {
428  int row = dit->row();
429  int col = dit->column();
430  int adc = dit->adc();
431 
432  if(RPindexValid[index]) {
433  h2xyHits[index][plane]->Fill(col,row);
434  hp2xyADC[index][plane]->Fill(col,row,adc);
435  int colROC, rowROC;
436  int trocId;
437  if(!thePixIndices.transformToROC(col,row, trocId, colROC, rowROC)) {
438  if(trocId>=0 && trocId<NROCsMAX) {
439  h2xyROCHits[rocHistIndex][trocId]->Fill(colROC,rowROC);
440  h2xyROCadc[rocHistIndex][trocId]->Fill(colROC,rowROC,adc);
441  ++HitsMultROC[rocHistIndex][trocId];
442  }
443  }
444  } //end if(RPindexValid[index]) {
445  }
446  if(int(ds_digi.data.size()) > multHitsMax) multHitsMax = ds_digi.data.size();
447 
448  } // end if(StationStatus[station]) {
449  } // end for(const auto &ds_digi : *pixDigi)
450  } //if(pixDigi.isValid()) {
451 
452  if(pixClus.isValid())
453  for(const auto &ds : *pixClus)
454  {
455  int idet = getDet(ds.id);
456  if(idet != DetId::VeryForward) {
457  if(verbosity>1) LogPrint("CTPPSPixelDQMSource") <<"not CTPPS: cluster.id"<<ds.id;
458  continue;
459  }
460  // int subdet = getSubdet(ds.id);
461 
462  int plane = getPixPlane(ds.id);
463 
464  CTPPSDetId theId(ds.id);
465  int arm = theId.arm()&0x1;
466  int station = theId.station()&0x3;
467  int rpot = theId.rp()&0x7;
468 
469  int index = getRPindex(arm,station,rpot);
470  ++ClusMultPlane[index][plane];
471 
472  unsigned int minRow=pixRowMAX, maxRow=0;
473  unsigned int minCol=pixColMAX, maxCol=0;
474  for (const auto &p : ds) {
475  unsigned int max= p.minPixelRow() + p.rowSpan()+1;
476  if(minRow > p.minPixelRow()) minRow = p.minPixelRow();
477  if(maxRow < max) maxRow = max;
478  max= p.minPixelCol() + p.colSpan()+1;
479  if(minCol > p.minPixelCol()) minCol = p.minPixelCol();
480  if(maxCol < max) maxCol = max;
481 
482  }
483  int drow = maxRow - minRow;
484  int dcol = maxCol - minCol;
485  float clusize= sqrt(drow*drow + dcol*dcol);
486  if(cluSizeMax < int(clusize)) cluSizeMax = clusize;
487  h2CluSize[arm][station]->Fill(prIndex(rpot,plane),clusize);
488 
489  } // end if(pixClus.isValid()) for(const auto &ds : *pixClus)
490 
491  for(int arm=0; arm<2; arm++) {
492  for(int stn=0; stn<NStationMAX; stn++) {
493  for(int rp=0; rp<NRPotsMAX; rp++) {
494  int index = getRPindex(arm,stn,rp);
495  if(RPindexValid[index]==0) continue;
496  if(RPactivity[arm][rp]==0) continue;
497 
498  for(int p=0; p<NplaneMAX; p++)
499  h2ClusMultipl[arm][stn]->Fill(prIndex(rp,p),ClusMultPlane[index][p]);
500 
501  int np = 0;
502  for(int p=0; p<NplaneMAX; p++) if(HitsMultPlane[index][p]>0) np++;
503  for(int p=0; p<=NplaneMAX; p++) {
504  if(p == np) hRPotActivPlanes[index]->Fill(p,1.);
505  else hRPotActivPlanes[index]->Fill(p,0.);
506  }
507  if(np>5) hRPotActivBX[index]->Fill(event.bunchCrossing());
508  hRPotActivBXall[index]->Fill(event.bunchCrossing(),float(digiSize[arm][rp]));
509 
510  int rocf[NplaneMAX];
511  for(int r=0; r<NROCsMAX; r++) rocf[r]=0;
512  for(int p=0; p<NplaneMAX; p++) {
513  int indp = getPlaneIndex(arm,stn,rp,p);
514  for(int r=0; r<NROCsMAX; r++) if(HitsMultROC[indp][r] > 0) ++rocf[r];
515  for(int r=0; r<NROCsMAX; r++) {
516  h2HitsMultROC[index]->Fill(p,r,HitsMultROC[indp][r]);
517  hp2HitsMultROC_LS[index]->Fill(lumiId,p*NROCsMAX+r,HitsMultROC[indp][r]);
518  }
519  }
520  int max = 0;
521  for(int r=0; r<NROCsMAX; r++)
522  if(max < rocf[r]) { max = rocf[r]; }
523 
524  for(int r=0; r<NROCsMAX; r++) {
525  for(int p=0; p<=NplaneMAX; p++)
526  if(p==rocf[r]) hRPotActivROCs[index]->Fill(r,rocf[r],1.);
527  else hRPotActivROCs[index]->Fill(r,p,0);
528  }
529 
530  if(max > 4) hRPotActivBXroc[index]->Fill(event.bunchCrossing());
531  } //end for(int rp=0; rp<NRPotsMAX; rp++) {
532  }
533  } //end for(int arm=0; arm<2; arm++) {
534 
535  if((nEvents % 100)) return;
536  if(verbosity) LogPrint("CTPPSPixelDQMSource")<<"analyze event "<<nEvents;
537 }
int adc(sample_type sample)
get the ADC sample (12 bits)
MonitorElement * hHitsMult[RPotsTotalNumber][NplaneMAX]
int HitsMultPlane[RPotsTotalNumber][NplaneMAX]
MonitorElement * hp2xyADC[RPotsTotalNumber][NplaneMAX]
MonitorElement * hp2HitsMultROC_LS[RPotsTotalNumber]
MonitorElement * h2CluSize[NArms][NStationMAX]
edm::EDGetTokenT< edm::DetSetVector< CTPPSPixelDigi > > tokenDigi
MonitorElement * hp2HitsOcc[NArms][NStationMAX]
MonitorElement * h2HitsMultROC[RPotsTotalNumber]
CTPPSPixelIndices thePixIndices
edm::EDGetTokenT< edm::DetSetVector< CTPPSPixelCluster > > tokenCluster
void Fill(long long x)
int prIndex(int rp, int plane)
int RPindexValid[RPotsTotalNumber]
int RPstatus[NStationMAX][NRPotsMAX]
int np
Definition: AMPTWrapper.h:33
MonitorElement * h2ClusMultipl[NArms][NStationMAX]
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
T sqrt(T t)
Definition: SSEVec.h:18
MonitorElement * hRPotActivBX[RPotsTotalNumber]
MonitorElement * h2xyROCadc[RPotsTotalNumber *NplaneMAX][NROCsMAX]
bool isValid() const
Definition: HandleBase.h:74
int getRPindex(int arm, int station, int rp)
MonitorElement * hRPotActivBXroc[RPotsTotalNumber]
MonitorElement * h2PlaneActive[NArms][NStationMAX]
iterator begin()
Definition: DetSet.h:59
MonitorElement * h2xyROCHits[RPotsTotalNumber *NplaneMAX][NROCsMAX]
int ClusMultPlane[RPotsTotalNumber][NplaneMAX]
MonitorElement * hRPotActivBXall[RPotsTotalNumber]
Base class for CTPPS detector IDs.
Definition: CTPPSDetId.h:32
int transformToROC(const int col, const int row, int &rocId, int &colROC, int &rowROC) const
MonitorElement * hRPotActivROCs[RPotsTotalNumber]
col
Definition: cuy.py:1008
int StationStatus[NStationMAX]
int HitsMultROC[RPotsTotalNumber *NplaneMAX][NROCsMAX]
int getPlaneIndex(int arm, int station, int rp, int plane)
MonitorElement * h2xyHits[RPotsTotalNumber][NplaneMAX]
MonitorElement * hRPotActivPlanes[RPotsTotalNumber]
MonitorElement * hBXshort
MonitorElement * h2HitsMultipl[NArms][NStationMAX]
Definition: event.py:1
void CTPPSPixelDQMSource::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  ,
edm::EventSetup const &   
)
overrideprotectedvirtual

Implements DQMEDAnalyzer.

Definition at line 178 of file CTPPSPixelDQMSource.cc.

References CTPPSDetId::armName(), DQMStore::IBooker::book1D(), DQMStore::IBooker::book1DD(), DQMStore::IBooker::book2D(), DQMStore::IBooker::book2DD(), DQMStore::IBooker::bookProfile(), DQMStore::IBooker::bookProfile2D(), DQMStore::IBooker::cd(), ClusMultMAX, MillePedeFileConverter_cfg::e, JetChargeProducer_cfi::exp, getPlaneIndex(), CTPPSDetId::getRPId(), getRPindex(), CTPPSDetId::getStationId(), MonitorElement::getTH2D(), MonitorElement::getTH2F(), MonitorElement::getTProfile2D(), h2CluSize, h2ClusMultipl, h2HitsMultipl, h2HitsMultROC, h2PlaneActive, h2xyHits, h2xyROCadc, h2xyROCHits, hBX, hBXshort, hHitsMult, hitMultMAX, hp2HitsMultROC_LS, hp2HitsOcc, hp2xyADC, hRPotActivBX, hRPotActivBXall, hRPotActivBXroc, hRPotActivPlanes, hRPotActivROCs, mps_fire::i, diffTreeTool::index, cmsBatch::log, n0, pileupCalc::nbins, CTPPSDetId::nFull, CTPPSDetId::nPath, NPlaneBins, NplaneMAX, NROCsMAX, NRPotBinsInStation, CTPPSDetId::nShort, NStationMAX, AlCaHLTBitMon_ParallelJobs::p, pixRowMAX, alignCSCRings::r, ROCSizeInX, ROCSizeInY, RPindexValid, RPn_first, RPn_last, RPstatus, alignCSCRings::s, sd, CTPPSDetId::sdTrackingPixel, DQMStore::IBooker::setCurrentFolder(), CTPPSDetId::setRP(), CTPPSDetId::setStation(), StationStatus, and AlCaHLTBitMon_QueryRunRegistry::string.

180 {
181  ibooker.cd();
182  ibooker.setCurrentFolder("CTPPS/TrackingPixel");
183  char s[50];
184  hBX = ibooker.book1D("events per BX", "ctpps_pixel;Event.BX", 4002, -1.5, 4000. +0.5);
185  hBXshort = ibooker.book1D("events per BX(short)", "ctpps_pixel;Event.BX", 102, -1.5, 100. + 0.5);
186 
187  for(int arm=0; arm<2; arm++) {
189  string sd, armTitle;
190  ID.armName(sd, CTPPSDetId::nPath);
191  ID.armName(armTitle, CTPPSDetId::nFull);
192 
193  ibooker.setCurrentFolder(sd);
194 
195  for(int stn=2; stn<NStationMAX; stn++) {
196  if(StationStatus[stn]==0) continue;
197  ID.setStation(stn);
198  string stnd, stnTitle;
199 
200  CTPPSDetId(ID.getStationId()).stationName(stnd, CTPPSDetId::nPath);
201  CTPPSDetId(ID.getStationId()).stationName(stnTitle, CTPPSDetId::nFull);
202 
203  ibooker.setCurrentFolder(stnd);
204 
205  string st = "planes activity";
206  string st2 = ": " + stnTitle;
207 
208  h2PlaneActive[arm][stn] = ibooker.book2DD(st,st+st2+";Plane #",
210  TH2D *h = h2PlaneActive[arm][stn]->getTH2D();
211  h->SetOption("colz");
212  TAxis *yah = h->GetYaxis();
213 
214  st = "hit average multiplicity in planes";
215  int PlaneMultCut = 20;
216  hp2HitsOcc[arm][stn]= ibooker.bookProfile2D(st,st+st2+";Plane #",
217  NplaneMAX, 0, NplaneMAX, NRPotBinsInStation, RPn_first,RPn_last,-1,PlaneMultCut,"");
218  TProfile2D *h2 = hp2HitsOcc[arm][stn]->getTProfile2D();
219  h2->SetOption("textcolz");
220  TAxis *yah2 = h2->GetYaxis();
221 
222  st = "hit multiplicity in planes";
223  string st3 = ";PlaneIndex(=pixelPot*PlaneMAX + plane)";
224  h2HitsMultipl[arm][stn]= ibooker.book2DD(st,st+st2+st3+";multiplicity",
226  h2HitsMultipl[arm][stn]->getTH2D()->SetOption("colz");
227 
228  st = "cluster multiplicity in planes";
229  h2ClusMultipl[arm][stn] = ibooker.book2DD(st,st+st2+st3+";multiplicity",
231  h2ClusMultipl[arm][stn]->getTH2D()->SetOption("colz");
232 
233  st = "cluster span in planes";
234  const int nyClus = 9; //18;
235  float xCh[NPlaneBins+1];
236  float yClus[nyClus+1];
237  for(int i=0; i<=NPlaneBins; i++) xCh[i]=i;
238  double n0 = 1; //1./CluSizeMAX;
239  double lnA = log(2.);
240  yClus[0] = n0; //yClus[1] = n0;
241  for(int j=0; j<nyClus; j++) yClus[j+1] = n0*exp(j*lnA);
242 
243  h2CluSize[arm][stn] = ibooker.book2D(st,st+st2+st3+";Cluster size",
244  NPlaneBins,xCh,nyClus,yClus);
245  h2CluSize[arm][stn]->getTH2F()->SetOption("colz");
246 
247 //--------- RPots ---
248  int pixBinW = 4;
249  for(int rp=RPn_first; rp<RPn_last; rp++) { // only installed pixel pots
250  ID.setRP(rp);
251  string rpd, rpTitle;
252  CTPPSDetId(ID.getRPId()).rpName(rpTitle, CTPPSDetId::nShort);
253  yah->SetBinLabel(rp - RPn_first +1, rpTitle.c_str()); // h
254  yah2->SetBinLabel(rp - RPn_first +1, rpTitle.c_str()); //h2
255 
256  if(RPstatus[stn][rp]==0) continue;
257  int indexP = getRPindex(arm,stn,rp);
258  RPindexValid[indexP] = 1;
259 
260  CTPPSDetId(ID.getRPId()).rpName(rpTitle, CTPPSDetId::nFull);
261  CTPPSDetId(ID.getRPId()).rpName(rpd, CTPPSDetId::nPath);
262 
263  ibooker.setCurrentFolder(rpd);
264 
265  hRPotActivPlanes[indexP] =
266  ibooker.bookProfile("number of fired planes per event", rpTitle+";nPlanes;Probability",
267  NplaneMAX+1, -0.5, NplaneMAX+0.5, -0.5,NplaneMAX+0.5,"");
268  hRPotActivBX[indexP] =
269  ibooker.book1D("5 fired planes per BX", rpTitle+";Event.BX", 4002, -1.5, 4000.+0.5);
270 
271  h2HitsMultROC[indexP] = ibooker.bookProfile2D("ROCs hits multiplicity per event",
272  rpTitle+";plane # ;ROC #", NplaneMAX,-0.5,NplaneMAX-0.5, NROCsMAX,-0.5,NROCsMAX-0.5,
273  0.,ROCSizeInX*ROCSizeInY,"");
274  h2HitsMultROC[indexP]->getTProfile2D()->SetOption("colztext");
275  h2HitsMultROC[indexP]->getTProfile2D()->SetMinimum(1.e-10);
276 
277 
278  hp2HitsMultROC_LS[indexP]=ibooker.bookProfile2D("ROCs_hits_multiplicity_per_event vs LS",
279  rpTitle+";LumiSection;Plane#___ROC#", 1000,0.,1000.,
280  NplaneMAX*NROCsMAX,0.,double(NplaneMAX*NROCsMAX),0.,ROCSizeInX*ROCSizeInY,"");
281  hp2HitsMultROC_LS[indexP]->getTProfile2D()->SetOption("colz");
282  hp2HitsMultROC_LS[indexP]->getTProfile2D()->SetMinimum(1.0e-10);
283  hp2HitsMultROC_LS[indexP]->getTProfile2D()->SetCanExtend(TProfile2D::kXaxis);
284  TAxis *yahp2 = hp2HitsMultROC_LS[indexP]->getTProfile2D()->GetYaxis();
285  for(int p=0; p<NplaneMAX; p++) {
286  sprintf(s,"plane%d_0",p);
287  yahp2->SetBinLabel(p*NplaneMAX+1,s);
288  for(int r=1; r<NROCsMAX; r++) {
289  sprintf(s," %d_%d",p,r);
290  yahp2->SetBinLabel(p*NplaneMAX+r+1,s);
291  }
292  }
293 
294  hRPotActivROCs[indexP] = ibooker.bookProfile2D("number of fired aligned_ROCs per event",
295  rpTitle+";ROC ID;number of fired aligned ROCs", NROCsMAX,-0.5,NROCsMAX-0.5,
296  7,-0.5,6.5, 0,NROCsMAX,"");
297  hRPotActivROCs[indexP]->getTProfile2D()->SetOption("colz");
298 
299  ibooker.setCurrentFolder(rpd+"/latency");
300 
301  hRPotActivBXroc[indexP] =
302  ibooker.book1D("4 fired ROCs per BX", rpTitle+";Event.BX", 4002, -1.5, 4000.+0.5);
303 
304  hRPotActivBXall[indexP] =
305  ibooker.book1D("hits per BX", rpTitle+";Event.BX", 4002, -1.5, 4000.+0.5);
306 
307  int nbins = pixRowMAX/pixBinW;
308 
309  for(int p=0; p<NplaneMAX; p++) {
310  sprintf(s,"plane_%d",p);
311  string pd = rpd+"/"+string(s);
312  ibooker.setCurrentFolder(pd);
313  string st1 = ": "+rpTitle+"_"+string(s);
314  st = "hits position";
315  h2xyHits[indexP][p]=ibooker.book2DD(st,st1+";pix col;pix row",
316  nbins,0,pixRowMAX,nbins,0,pixRowMAX);
317  h2xyHits[indexP][p]->getTH2D()->SetOption("colz");
318 
319  st = "adc average value";
320  hp2xyADC[indexP][p]=ibooker.bookProfile2D(st,st1+";pix col;pix row",
321  nbins,0,pixRowMAX,nbins,0,pixRowMAX, 0.,512.,"");
322  hp2xyADC[indexP][p]->getTProfile2D()->SetOption("colz");
323 
324  st = "hits multiplicity";
325  hHitsMult[indexP][p]=ibooker.book1DD(st,st1+";number of hits;N / 1 hit",
326  hitMultMAX,-0.5,hitMultMAX-0.5);
327 
328  ibooker.setCurrentFolder(pd + "/ROCs");
329  int index = getPlaneIndex(arm,stn,rp,p);
330 
331  for(int roc=0; roc<NROCsMAX; roc++) {
332  sprintf(s,"ROC_%d",roc);
333  string st2 = st1 + "_" + string(s);
334  ibooker.setCurrentFolder(pd + "/ROCs/" + string(s));
335 
336  h2xyROCHits[index][roc]=ibooker.book2DD("hits",st2+";pix col;pix row",
337  ROCSizeInY,0,ROCSizeInY, ROCSizeInX,0,ROCSizeInX);
338  h2xyROCHits[index][roc]->getTH2D()->SetOption("colz");
339 
340  string st = "adc average value";
341  h2xyROCadc[index][roc]=ibooker.bookProfile2D(st,st2+";pix col;pix row",
342  ROCSizeInY,0,ROCSizeInY,ROCSizeInX,0,ROCSizeInX, 0.,512.,"");
343  h2xyROCadc[index][roc]->getTProfile2D()->SetOption("colz");
344  }
345  } // end of for(int p=0; p<NplaneMAX;..
346 
347  } // end for(int rp=0; rp<NRPotsMAX;...
348  } // end of for(int stn=0; stn<
349  } //end of for(int arm=0; arm<2;...
350 
351  return;
352 }
MonitorElement * hHitsMult[RPotsTotalNumber][NplaneMAX]
MonitorElement * hp2xyADC[RPotsTotalNumber][NplaneMAX]
MonitorElement * hp2HitsMultROC_LS[RPotsTotalNumber]
MonitorElement * h2CluSize[NArms][NStationMAX]
TProfile2D * getTProfile2D() const
MonitorElement * bookProfile(Args &&...args)
Definition: DQMStore.h:160
MonitorElement * hp2HitsOcc[NArms][NStationMAX]
MonitorElement * h2HitsMultROC[RPotsTotalNumber]
uint32_t ID
Definition: Definitions.h:26
int RPindexValid[RPotsTotalNumber]
int RPstatus[NStationMAX][NRPotsMAX]
MonitorElement * h2ClusMultipl[NArms][NStationMAX]
int n0
Definition: AMPTWrapper.h:34
MonitorElement * bookProfile2D(Args &&...args)
Definition: DQMStore.h:166
MonitorElement * hRPotActivBX[RPotsTotalNumber]
MonitorElement * h2xyROCadc[RPotsTotalNumber *NplaneMAX][NROCsMAX]
TH2D * getTH2D() const
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:118
int getRPindex(int arm, int station, int rp)
TH2F * getTH2F() const
MonitorElement * hRPotActivBXroc[RPotsTotalNumber]
MonitorElement * h2PlaneActive[NArms][NStationMAX]
MonitorElement * h2xyROCHits[RPotsTotalNumber *NplaneMAX][NROCsMAX]
MonitorElement * hRPotActivBXall[RPotsTotalNumber]
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:279
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:136
double sd
Base class for CTPPS detector IDs.
Definition: CTPPSDetId.h:32
MonitorElement * hRPotActivROCs[RPotsTotalNumber]
MonitorElement * book2DD(Args &&...args)
Definition: DQMStore.h:148
int StationStatus[NStationMAX]
int getPlaneIndex(int arm, int station, int rp, int plane)
MonitorElement * h2xyHits[RPotsTotalNumber][NplaneMAX]
MonitorElement * hRPotActivPlanes[RPotsTotalNumber]
MonitorElement * book1DD(Args &&...args)
Definition: DQMStore.h:130
MonitorElement * hBXshort
MonitorElement * h2HitsMultipl[NArms][NStationMAX]
void CTPPSPixelDQMSource::dqmBeginRun ( edm::Run const &  run,
edm::EventSetup const &   
)
overrideprotectedvirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 151 of file CTPPSPixelDQMSource.cc.

References cluSizeMax, CTPPSPixelIndices::getDefaultColDetSize(), CTPPSPixelIndices::getDefaultRowDetSize(), multHitsMax, nEvents, NRPotsMAX, pixColMAX, pixRowMAX, ROCSizeInX, ROCSizeInY, RPindexValid, RPstatus, rpStatusWord, StationStatus, thePixIndices, and verbosity.

152 {
153  if(verbosity) LogPrint("CTPPSPixelDQMSource") <<"RPstatusWord= "<<rpStatusWord;
154  nEvents = 0;
155 
158  ROCSizeInX = pixRowMAX/2; // ROC row size in pixels = 80
159  ROCSizeInY = pixColMAX/3;
160 
161  unsigned int rpSts = rpStatusWord<<1;
162  for(int stn=0; stn<3; stn++) {
163  int stns = 0;
164  for(int rp=0; rp<NRPotsMAX; rp++) {
165  rpSts = (rpSts >> 1); RPstatus[stn][rp] = rpSts&1;
166  if(RPstatus[stn][rp] > 0) stns = 1;
167  }
168  StationStatus[stn]=stns;
169  }
170 
171  for(int ind=0; ind<2*3*NRPotsMAX; ind++) RPindexValid[ind] = 0;
172 
173  multHitsMax = cluSizeMax = -1;
174 }
int getDefaultRowDetSize() const
CTPPSPixelIndices thePixIndices
int RPindexValid[RPotsTotalNumber]
int RPstatus[NStationMAX][NRPotsMAX]
int getDefaultColDetSize() const
int StationStatus[NStationMAX]
void CTPPSPixelDQMSource::endRun ( edm::Run const &  run,
edm::EventSetup const &  eSetup 
)
overrideprotectedvirtual

Reimplemented from edm::stream::EDAnalyzerBase.

Definition at line 540 of file CTPPSPixelDQMSource.cc.

References cluSizeMax, DEFINE_FWK_MODULE, multHitsMax, nEvents, edm::RunBase::run(), and verbosity.

541 {
542  if(!verbosity) return;
543  LogPrint("CTPPSPixelDQMSource")
544  <<"end of Run "<<run.run()<<": "<<nEvents<<" events\n"
545  <<"multHitsMax= "<<multHitsMax <<" cluSizeMax= "<<cluSizeMax;
546 }
int CTPPSPixelDQMSource::getDet ( int  id)
inlineprivate

Definition at line 117 of file CTPPSPixelDQMSource.cc.

References DetId::kDetOffset.

Referenced by analyze().

118  { return (id>>DetId::kDetOffset)&0xF; }
static const int kDetOffset
Definition: DetId.h:20
int CTPPSPixelDQMSource::getPixPlane ( int  id)
inlineprivate

Definition at line 119 of file CTPPSPixelDQMSource.cc.

Referenced by analyze().

120  { return ((id>>16)&0x7); }
int CTPPSPixelDQMSource::getPlaneIndex ( int  arm,
int  station,
int  rp,
int  plane 
)
inlineprivate

Definition at line 108 of file CTPPSPixelDQMSource.cc.

References getRPindex().

Referenced by analyze(), and bookHistograms().

108  {
109  if(plane<0 || plane>=NplaneMAX) return(IndexNotValid);
110  int rc = getRPindex(arm, station, rp);
111  if(rc == IndexNotValid) return(IndexNotValid);
112  return(rc*NplaneMAX + plane);
113  }
int getRPindex(int arm, int station, int rp)
int CTPPSPixelDQMSource::getRPindex ( int  arm,
int  station,
int  rp 
)
inlineprivate

Definition at line 101 of file CTPPSPixelDQMSource.cc.

References relativeConstraints::station.

Referenced by analyze(), bookHistograms(), and getPlaneIndex().

101  {
102  if(arm<0 || station<0 || rp<0) return(IndexNotValid);
103  if(arm>1 || station>=NStationMAX || rp>=NRPotsMAX) return(IndexNotValid);
104  int rc = (arm*NStationMAX+station)*NRPotsMAX + rp;
105  return(rc);
106  }
int CTPPSPixelDQMSource::prIndex ( int  rp,
int  plane 
)
inlineprivate

Definition at line 115 of file CTPPSPixelDQMSource.cc.

Referenced by analyze().

116  {return((rp - RPn_first)*NplaneMAX + plane);}

Member Data Documentation

int CTPPSPixelDQMSource::cluSizeMax
private

Definition at line 123 of file CTPPSPixelDQMSource.cc.

Referenced by analyze(), dqmBeginRun(), and endRun().

const int CTPPSPixelDQMSource::ClusMultMAX = 10
private

Definition at line 57 of file CTPPSPixelDQMSource.cc.

Referenced by bookHistograms().

int CTPPSPixelDQMSource::ClusMultPlane[RPotsTotalNumber][NplaneMAX]
private

Definition at line 93 of file CTPPSPixelDQMSource.cc.

Referenced by analyze().

MonitorElement* CTPPSPixelDQMSource::h2CluSize[NArms][NStationMAX]
private

Definition at line 74 of file CTPPSPixelDQMSource.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* CTPPSPixelDQMSource::h2ClusMultipl[NArms][NStationMAX]
private

Definition at line 73 of file CTPPSPixelDQMSource.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* CTPPSPixelDQMSource::h2HitsMultipl[NArms][NStationMAX]
private

Definition at line 71 of file CTPPSPixelDQMSource.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* CTPPSPixelDQMSource::h2HitsMultROC[RPotsTotalNumber]
private

Definition at line 82 of file CTPPSPixelDQMSource.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* CTPPSPixelDQMSource::h2PlaneActive[NArms][NStationMAX]
private

Definition at line 72 of file CTPPSPixelDQMSource.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* CTPPSPixelDQMSource::h2xyHits[RPotsTotalNumber][NplaneMAX]
private

Definition at line 86 of file CTPPSPixelDQMSource.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* CTPPSPixelDQMSource::h2xyROCadc[RPotsTotalNumber *NplaneMAX][NROCsMAX]
private

Definition at line 89 of file CTPPSPixelDQMSource.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* CTPPSPixelDQMSource::h2xyROCHits[RPotsTotalNumber *NplaneMAX][NROCsMAX]
private

Definition at line 88 of file CTPPSPixelDQMSource.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* CTPPSPixelDQMSource::hBX
private

Definition at line 68 of file CTPPSPixelDQMSource.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement * CTPPSPixelDQMSource::hBXshort
private

Definition at line 68 of file CTPPSPixelDQMSource.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* CTPPSPixelDQMSource::hHitsMult[RPotsTotalNumber][NplaneMAX]
private

Definition at line 85 of file CTPPSPixelDQMSource.cc.

Referenced by analyze(), and bookHistograms().

const int CTPPSPixelDQMSource::hitMultMAX = 300
private

Definition at line 56 of file CTPPSPixelDQMSource.cc.

Referenced by bookHistograms().

int CTPPSPixelDQMSource::HitsMultPlane[RPotsTotalNumber][NplaneMAX]
private

Definition at line 92 of file CTPPSPixelDQMSource.cc.

Referenced by analyze().

int CTPPSPixelDQMSource::HitsMultROC[RPotsTotalNumber *NplaneMAX][NROCsMAX]
private

Definition at line 91 of file CTPPSPixelDQMSource.cc.

Referenced by analyze().

MonitorElement* CTPPSPixelDQMSource::hp2HitsMultROC_LS[RPotsTotalNumber]
private

Definition at line 83 of file CTPPSPixelDQMSource.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* CTPPSPixelDQMSource::hp2HitsOcc[NArms][NStationMAX]
private

Definition at line 70 of file CTPPSPixelDQMSource.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* CTPPSPixelDQMSource::hp2xyADC[RPotsTotalNumber][NplaneMAX]
private

Definition at line 87 of file CTPPSPixelDQMSource.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* CTPPSPixelDQMSource::hRPotActivBX[RPotsTotalNumber]
private

Definition at line 80 of file CTPPSPixelDQMSource.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* CTPPSPixelDQMSource::hRPotActivBXall[RPotsTotalNumber]
private

Definition at line 90 of file CTPPSPixelDQMSource.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* CTPPSPixelDQMSource::hRPotActivBXroc[RPotsTotalNumber]
private

Definition at line 81 of file CTPPSPixelDQMSource.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* CTPPSPixelDQMSource::hRPotActivPlanes[RPotsTotalNumber]
private

Definition at line 79 of file CTPPSPixelDQMSource.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* CTPPSPixelDQMSource::hRPotActivROCs[RPotsTotalNumber]
private

Definition at line 84 of file CTPPSPixelDQMSource.cc.

Referenced by analyze(), and bookHistograms().

const int CTPPSPixelDQMSource::IndexNotValid = 0
private

Definition at line 99 of file CTPPSPixelDQMSource.cc.

int CTPPSPixelDQMSource::multHitsMax
private

Definition at line 123 of file CTPPSPixelDQMSource.cc.

Referenced by analyze(), dqmBeginRun(), and endRun().

int CTPPSPixelDQMSource::NArms =2
staticprivate

Definition at line 50 of file CTPPSPixelDQMSource.cc.

Referenced by analyze().

long int CTPPSPixelDQMSource::nEvents = 0
private

Definition at line 46 of file CTPPSPixelDQMSource.cc.

Referenced by analyze(), dqmBeginRun(), endRun(), and looper.Looper::loop().

int CTPPSPixelDQMSource::NPlaneBins = NplaneMAX*NRPotBinsInStation
staticprivate

Definition at line 66 of file CTPPSPixelDQMSource.cc.

Referenced by bookHistograms().

int CTPPSPixelDQMSource::NplaneMAX =6
staticprivate

Definition at line 53 of file CTPPSPixelDQMSource.cc.

Referenced by analyze(), and bookHistograms().

int CTPPSPixelDQMSource::NROCsMAX = 6
staticprivate

Definition at line 54 of file CTPPSPixelDQMSource.cc.

Referenced by analyze(), and bookHistograms().

int CTPPSPixelDQMSource::NRPotBinsInStation = RPn_last-RPn_first
staticprivate

Definition at line 65 of file CTPPSPixelDQMSource.cc.

Referenced by bookHistograms().

int CTPPSPixelDQMSource::NRPotsMAX =6
staticprivate

Definition at line 52 of file CTPPSPixelDQMSource.cc.

Referenced by analyze(), and dqmBeginRun().

int CTPPSPixelDQMSource::NStationMAX =3
staticprivate

Definition at line 51 of file CTPPSPixelDQMSource.cc.

Referenced by analyze(), and bookHistograms().

int CTPPSPixelDQMSource::pixColMAX = 156
private

Definition at line 61 of file CTPPSPixelDQMSource.cc.

Referenced by analyze(), and dqmBeginRun().

int CTPPSPixelDQMSource::pixRowMAX = 160
private

Definition at line 60 of file CTPPSPixelDQMSource.cc.

Referenced by analyze(), bookHistograms(), and dqmBeginRun().

int CTPPSPixelDQMSource::ROCSizeInX = pixRowMAX/2
private

Definition at line 62 of file CTPPSPixelDQMSource.cc.

Referenced by bookHistograms(), and dqmBeginRun().

int CTPPSPixelDQMSource::ROCSizeInY = pixColMAX/3
private

Definition at line 63 of file CTPPSPixelDQMSource.cc.

Referenced by bookHistograms(), and dqmBeginRun().

int CTPPSPixelDQMSource::RPindexValid[RPotsTotalNumber]
private

Definition at line 78 of file CTPPSPixelDQMSource.cc.

Referenced by analyze(), bookHistograms(), and dqmBeginRun().

int CTPPSPixelDQMSource::RPn_first = 3
staticprivate

Definition at line 55 of file CTPPSPixelDQMSource.cc.

Referenced by bookHistograms().

int CTPPSPixelDQMSource::RPn_last = 4
staticprivate

Definition at line 55 of file CTPPSPixelDQMSource.cc.

Referenced by bookHistograms().

int CTPPSPixelDQMSource::RPotsTotalNumber =NArms*NStationMAX*NRPotsMAX
staticprivate

Definition at line 76 of file CTPPSPixelDQMSource.cc.

int CTPPSPixelDQMSource::RPstatus[NStationMAX][NRPotsMAX]
private

Definition at line 97 of file CTPPSPixelDQMSource.cc.

Referenced by analyze(), bookHistograms(), and dqmBeginRun().

unsigned int CTPPSPixelDQMSource::rpStatusWord = 0x8000
private

Definition at line 96 of file CTPPSPixelDQMSource.cc.

Referenced by dqmBeginRun().

int CTPPSPixelDQMSource::StationStatus[NStationMAX]
private

Definition at line 98 of file CTPPSPixelDQMSource.cc.

Referenced by analyze(), bookHistograms(), and dqmBeginRun().

CTPPSPixelIndices CTPPSPixelDQMSource::thePixIndices
private

Definition at line 59 of file CTPPSPixelDQMSource.cc.

Referenced by analyze(), and dqmBeginRun().

edm::EDGetTokenT< edm::DetSetVector<CTPPSPixelCluster> > CTPPSPixelDQMSource::tokenCluster
private

Definition at line 48 of file CTPPSPixelDQMSource.cc.

Referenced by analyze(), and CTPPSPixelDQMSource().

edm::EDGetTokenT<edm::DetSetVector<CTPPSPixelDigi> > CTPPSPixelDQMSource::tokenDigi
private

Definition at line 47 of file CTPPSPixelDQMSource.cc.

Referenced by analyze(), and CTPPSPixelDQMSource().

unsigned int CTPPSPixelDQMSource::verbosity
private

Definition at line 45 of file CTPPSPixelDQMSource.cc.

Referenced by analyze(), dqmBeginRun(), and endRun().