CMS 3D CMS Logo

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

#include <CastorPSMonitor.h>

Inheritance diagram for CastorPSMonitor:
CastorBaseMonitor

Public Member Functions

 CastorPSMonitor ()
 
void processEvent (const CastorDigiCollection &castorDigis, const CastorDbService &conditions, std::vector< HcalGenericDetId > listEMap, int iBunch, float PedSigmaInChannel[14][16])
 
void reset ()
 
void setup (const edm::ParameterSet &ps, DQMStore *dbe)
 
 ~CastorPSMonitor ()
 
- Public Member Functions inherited from CastorBaseMonitor
 CastorBaseMonitor ()
 
virtual void clearME ()
 
virtual void done ()
 
bool getDiagnostics () const
 
int getVerbosity () const
 
void setDiagnostics (bool myval)
 
void setVerbosity (int verb)
 
bool vetoCell (HcalCastorDetId id)
 
virtual ~CastorBaseMonitor ()
 

Private Attributes

std::vector< NewBunchBunches_
 
struct {
   MonitorElement *   meDigi_pulseBX
 
castorDigiHists
 
MonitorElementChannelSummaryMap
 
MonitorElementDigiOccupancyMap
 
bool doPerChannel_
 
double firstRegionThreshold_
 
bool firstTime_
 
double fraction
 
TH2F * h_reportSummaryMap
 
int ievt_
 
MonitorElementmeEvt_
 
double numberSigma_
 
int numOK
 
bool offline_
 
MonitorElementoverallStatus
 
std::map< int, MonitorElement * > PSsector
 
MonitorElementreportSummary
 
MonitorElementreportSummaryMap
 
int saturatedMap [14][16]
 
double saturatedThreshold_
 
MonitorElementSaturationSummaryMap
 
double secondRegionThreshold_
 
double status
 
double statusRS
 
double statusSaturated
 
double sumDigiForEachChannel [14][16]
 
double thirdRegionThreshold_
 

Additional Inherited Members

- Protected Attributes inherited from CastorBaseMonitor
std::string baseFolder_
 
edm::CPUTimer cpu_timer
 
int fVerbosity
 
DQMStorem_dbe
 
bool makeDiagnostics
 
std::string rootFolder_
 
bool showTiming
 

Detailed Description

Definition at line 14 of file CastorPSMonitor.h.

Constructor & Destructor Documentation

CastorPSMonitor::CastorPSMonitor ( )

Definition at line 48 of file CastorPSMonitor.cc.

References doPerChannel_, firstRegionThreshold_, ievt_, secondRegionThreshold_, status, statusRS, and statusSaturated.

48  {
49  doPerChannel_ = true;
50  ievt_=0;
53  status=-99;
54  statusRS=-99;
55  statusSaturated=-99;
56 }
double secondRegionThreshold_
double firstRegionThreshold_
CastorPSMonitor::~CastorPSMonitor ( )

Definition at line 61 of file CastorPSMonitor.cc.

61  {
62 }

Member Function Documentation

void CastorPSMonitor::processEvent ( const CastorDigiCollection castorDigis,
const CastorDbService conditions,
std::vector< HcalGenericDetId listEMap,
int  iBunch,
float  PedSigmaInChannel[14][16] 
)

Definition at line 153 of file CastorPSMonitor.cc.

References HcalQIESample::adc(), edm::SortedCollection< T, SORT >::begin(), Bunches_, HcalQIESample::capid(), castorDigiHists, ChannelSummaryMap, CastorQIECoder::charge(), gather_cfg::cout, CastorBaseMonitor::cpu_timer, edm::CPUTimer::cpuTime(), NewBunch::detid, DigiOccupancyMap, edm::SortedCollection< T, SORT >::end(), MonitorElement::Fill(), firstRegionThreshold_, firstTime_, ExpressReco_HICollisions_FallBack::firstTS, fraction, CastorBaseMonitor::fVerbosity, CastorDbService::getCastorCalibrations(), CastorDbService::getCastorCoder(), CastorDbService::getCastorShape(), MonitorElement::getTH2F(), i, CastorDataFrame::id(), ievt_, j, gen::k, ExpressReco_HICollisions_FallBack::lastTS, CastorBaseMonitor::m_dbe, meEvt_, module(), numberSigma_, numOK, overallStatus, CastorCalibrations::pedestal(), CastorDataFrame::presamples(), PSsector, DetId::rawId(), reportSummary, reportSummaryMap, edm::CPUTimer::reset(), CastorDataFrame::sample(), saturatedMap, saturatedThreshold_, SaturationSummaryMap, secondRegionThreshold_, CastorBaseMonitor::showTiming, CastorDataFrame::size(), edm::SortedCollection< T, SORT >::size(), edm::CPUTimer::start(), status, statusRS, statusSaturated, edm::CPUTimer::stop(), sumDigiForEachChannel, thirdRegionThreshold_, NewBunch::tsAdc, NewBunch::tsCapId, NewBunch::tsfC, and NewBunch::usedflag.

Referenced by CastorMonitorModule::analyze().

154  {
155 
156 
157  if(fVerbosity>0) std::cout << "==>CastorPSMonitor::processEvent !!!" << std::endl;
158 
159  if(!m_dbe) {
160  if(fVerbosity>0) std::cout <<"CastorPSMonitor::processEvent => DQMStore not instantiated !!!"<<std::endl;
161  return;
162  }
163 
164  meEvt_->Fill(ievt_);
165 
167  ievt_++;
168 
169  status = -99; statusRS = -99; statusSaturated=-99;
170 
172  const CastorQIEShape* shape = conditions.getCastorShape();
173 
174  if(firstTime_)
175  {
176  //===> show the array of sigmas
177  for (int i=0; i<14; i++){
178  for (int k=0; k<16; k++){
179  if(fVerbosity>0) std::cout<< "module:"<<i+1<< " sector:"<<k+1<< " Sigma=" << PedSigmaInChannel[i][k] << std::endl;
180  }
181  }
182  for (std::vector<HcalGenericDetId>::const_iterator it = listEMap.begin(); it != listEMap.end(); it++)
183  {
184  HcalGenericDetId mygenid(it->rawId());
185  if(mygenid.isHcalCastorDetId())
186  {
187  NewBunch myBunch;
188  HcalCastorDetId chanid(mygenid.rawId());
189  myBunch.detid = chanid;
190  myBunch.usedflag = false;
191  std::string type;
192  type = "CASTOR";
193  for(int i = 0; i != 20; i++)
194  {
195  myBunch.tsCapId[i] = 0;
196  myBunch.tsAdc[i] = 0;
197  myBunch.tsfC[i] = 0.0;
198  }
199  Bunches_.push_back(myBunch);
200  }
201  }
202 
203  firstTime_ = false;
204  }
205 
206 
207  if(castorDigis.size()>0) {
209  int firstTS = 0;
210  int lastTS = 9;
211  std::vector<NewBunch>::iterator bunch_it;
212  int numBunches = 0;
213  bool firstDigi = true;
214  bool saturated = false;
215 
217  for(CastorDigiCollection::const_iterator j = castorDigis.begin(); j != castorDigis.end(); j++)
218  {
219 
220  const CastorDataFrame digi = (const CastorDataFrame)(*j);
221  if ( lastTS+1 > digi.size() ) lastTS = digi.size()-1;
222  for(bunch_it = Bunches_.begin(); bunch_it != Bunches_.end(); bunch_it++)
223  if(bunch_it->detid.rawId() == digi.id().rawId()) break;
224  bunch_it->usedflag = true;
225 
226  numBunches++;
227  //
228  //---- Skip noisy channels present in 2009 beam data:
229  // if ( (bunch_it->detid.sector() == 16 && bunch_it->detid.module() == 6) ||
230  // (bunch_it->detid.sector() == 3 && bunch_it->detid.module() == 8) ||
231  // (bunch_it->detid.sector() == 8 && bunch_it->detid.module() == 8) ) continue;
232  //
233 
234  if ( lastTS+1 > digi.size() ) lastTS = digi.size()-1;
235 
237  const CastorCalibrations& calibrations=conditions.getCastorCalibrations(digi.id().rawId());
238 
240  double sumDigi=0.; double sumDigiADC=0.; int bxTS=-9999; saturated = false;
241 
243  for(int ts = firstTS; ts != lastTS+1; ts++)
244  {
245  if (firstDigi) {
246  bxTS = (iBunch+ts-1-digi.presamples());
247  if ( bxTS < 0 ) bxTS += 3563;
248  bxTS = ( bxTS % 3563 ) + 1;
249  if(fVerbosity>0) std::cout << "!!! " << bxTS << " " << iBunch <<" "<< ts << " " << digi.presamples() << std::endl;
250  }
251 
252  const CastorQIECoder* coder = conditions.getCastorCoder(digi.id().rawId());
253  bunch_it->tsCapId[ts] = digi.sample(ts).capid();
254  bunch_it->tsAdc[ts] = digi.sample(ts).adc();
255 
257  double charge_fC = coder->charge(*shape, digi.sample(ts).adc(), digi.sample(ts).capid());
258 
260  bunch_it->tsfC[ts] = charge_fC - calibrations.pedestal(digi.sample(ts).capid());
262  castorDigiHists.meDigi_pulseBX->Fill(static_cast<double>(bxTS),(bunch_it->tsfC[ts])/224.);
264  PSsector[bunch_it->detid.sector()-1]->Fill(10*(bunch_it->detid.module()-1)+ts, bunch_it->tsfC[ts]);
265 
267  sumDigi += bunch_it->tsfC[ts]; //std::cout<< " signal(fC) in TS:"<<ts << " =" << bunch_it->tsfC[ts] << std::endl;
269  sumDigiADC += bunch_it->tsAdc[ts]; //std::cout<< " signal(ADC) in TS:"<<ts << " =" << bunch_it->tsAdc[ts] << std::endl;
270 
272  if(bunch_it->tsAdc[ts]>126.95) {
273  saturated = true;
274  std::cout<< "WARNING: ==> Module:" << bunch_it->detid.module() << " Sector:" << bunch_it->detid.sector() << " SATURATED !!! in TS:"<< ts <<std::endl;
275  }
276 
277  } //-- end of the loop for time slices
278 
280  sumDigiForEachChannel[bunch_it->detid.module()-1][bunch_it->detid.sector()-1] += sumDigi;
281 
283  if(saturated) saturatedMap[bunch_it->detid.module()-1][bunch_it->detid.sector()-1] += 1;
284 
286  DigiOccupancyMap->Fill(bunch_it->detid.module()-1,bunch_it->detid.sector()-1, double(sumDigi/10)); //std::cout<< "=====> sumDigi=" << sumDigi << std::endl;
287 
288 
289  if(fVerbosity>0){
290  std::cout<< "==> Module:" << bunch_it->detid.module() << " Sector:" << bunch_it->detid.sector() << std::endl;
291  std::cout<< "==> Total charge in fC:" << sumDigi << std::endl;
292  std::cout<< "==> Total charge in ADC:" << sumDigiADC << std::endl;
293  }
294 
295  firstDigi = false;
296  } //-- end of the loop over digis
297 
298 
299 
300 
301 
305  if( ievt_ == 25 || ievt_ % 500 == 0 ) {
306 
307  numOK = 0;
308 
310  for (int sector=0; sector<16; sector++){
311  for (int module=0; module<14; module++){
312 
314  firstRegionThreshold_ = (-1)*(numberSigma_*PedSigmaInChannel[module][sector]);
315  secondRegionThreshold_ = numberSigma_*PedSigmaInChannel[module][sector] ;
316 
317 
319  if(double(sumDigiForEachChannel[module][sector]/(10*ievt_)) < firstRegionThreshold_ )
320  { status = -1.; statusRS=0.; }
321 
324  { status = 0.25; statusRS=0.95; }
325 
328  { status = 1.; statusRS=1.0; }
329 
330  //---- leave it out for the time being
332  // if(double(sumDigiForEachChannel[module][sector]/(10*ievt_)) > thirdRegionThreshold_ )
333  // { status = -0.25; statusRS=0.88 ; }
334 
335  //-- define the fraction of saturated events for a particular channel
336  double fractionSaturated = double(saturatedMap[module][sector])/double(ievt_) ;
338  if(fVerbosity>0) std::cout<< "==> module: " << module << " sector: " << sector << " ==> N_saturation:" << saturatedMap[module][sector] << " events:"<< ievt_ << " fraction:" << fractionSaturated << std::endl;
339 
340  if( fractionSaturated > saturatedThreshold_ )
341  { status = -0.25; statusRS=0.88 ; statusSaturated=-1.0; }
342 
344  if( saturatedMap[module][sector] > 0 && fractionSaturated < saturatedThreshold_ )
345  { statusSaturated= 0; }
346 
348  if( saturatedMap[module][sector] == 0 )
349  { statusSaturated= 1; }
350 
352  ChannelSummaryMap->getTH2F()->SetBinContent(module+1,sector+1,status);
353 
355  reportSummaryMap->getTH2F()->SetBinContent(module+1,sector+1,statusRS);
356 
358  SaturationSummaryMap->getTH2F()->SetBinContent(module+1,sector+1,double(statusSaturated));
359 
361  if ( statusRS > 0.9) numOK++;
362 
363  } //-- end of the loop over the modules
364  } //-- end of the loop over the sectors
365 
367  fraction=double(numOK)/224;
369 
370  } //-- end of if for the number of events
371 
372 
373 
374 
376  for (int sector=16; sector<20; sector++){
377  for (int module=0; module<14; module++){
378  ChannelSummaryMap->getTH2F()->SetBinContent(module+1,sector+1,99);
379  }
380  }
382  for (int sector=16; sector<20; sector++){
383  for (int module=0; module<14; module++){
384  SaturationSummaryMap->getTH2F()->SetBinContent(module+1,sector+1, 99);
385  }
386  }
387 
388 
389 
390 
391 
392  } //-- end of the if castDigi
393 
394  else { if(fVerbosity>0) std::cout<<"CastorPSMonitor::processEvent NO Castor Digis !!!"<<std::endl; }
395 
396 
397  if (showTiming) {
398  cpu_timer.stop(); std::cout << " TIMER::CastorPS -> " << cpu_timer.cpuTime() << std::endl;
400  }
401 
402 
403  return;
404 }
type
Definition: HCALResponse.h:22
std::vector< NewBunch > Bunches_
int i
Definition: DBlmapReader.cc:9
edm::CPUTimer cpu_timer
int module() const
Definition: HLTadd.h:12
void start()
Definition: CPUTimer.cc:74
int presamples() const
number of samples before the sample from the triggered beam crossing (according to the hardware) ...
MonitorElement * SaturationSummaryMap
MonitorElement * DigiOccupancyMap
int adc() const
get the ADC sample
Definition: HcalQIESample.h:24
const HcalQIESample & sample(int i) const
access a sample
MonitorElement * meEvt_
std::vector< T >::const_iterator const_iterator
const CastorCalibrations & getCastorCalibrations(const HcalGenericDetId &fId) const
double tsfC[20]
Definition: CastorBunch.h:13
void reset()
Definition: CPUTimer.cc:107
MonitorElement * reportSummary
void Fill(long long x)
HcalCastorDetId detid
Definition: CastorBunch.h:8
double sumDigiForEachChannel[14][16]
uint32_t rawId() const
get the raw id
Definition: DetId.h:45
double saturatedThreshold_
int saturatedMap[14][16]
const CastorQIEShape * getCastorShape() const
float charge(const CastorQIEShape &fShape, unsigned fAdc, unsigned fCapId) const
ADC [0..127] + capid [0..3] -&gt; fC conversion.
double thirdRegionThreshold_
int j
Definition: DBlmapReader.cc:9
double tsCapId[20]
Definition: CastorBunch.h:10
MonitorElement * ChannelSummaryMap
bool usedflag
Definition: CastorBunch.h:9
Times stop()
Definition: CPUTimer.cc:94
double secondRegionThreshold_
int k[5][pyjets_maxn]
double pedestal(int fCapId) const
get pedestal for capid=0..3
const_iterator end() const
double cpuTime() const
Definition: CPUTimer.cc:157
int capid() const
get the Capacitor id
Definition: HcalQIESample.h:28
double firstRegionThreshold_
MonitorElement * reportSummaryMap
size_type size() const
double tsAdc[20]
Definition: CastorBunch.h:11
tuple cout
Definition: gather_cfg.py:41
MonitorElement * overallStatus
std::map< int, MonitorElement * > PSsector
TH2F * getTH2F(void) const
const HcalCastorDetId & id() const
int size() const
total number of samples in the digi
Definition: vlib.h:209
struct CastorPSMonitor::@164 castorDigiHists
const_iterator begin() const
const CastorQIECoder * getCastorCoder(const HcalGenericDetId &fId) const
void CastorPSMonitor::reset ( void  )

Definition at line 64 of file CastorPSMonitor.cc.

Referenced by CastorMonitorModule::reset().

64  {
65 }
void CastorPSMonitor::setup ( const edm::ParameterSet ps,
DQMStore dbe 
)
virtual

Reimplemented from CastorBaseMonitor.

Definition at line 71 of file CastorPSMonitor.cc.

References CastorBaseMonitor::baseFolder_, DQMStore::book1D(), DQMStore::book2D(), DQMStore::bookFloat(), DQMStore::bookInt(), castorDigiHists, ChannelSummaryMap, gather_cfg::cout, DigiOccupancyMap, MonitorElement::Fill(), firstRegionThreshold_, firstTime_, fraction, CastorBaseMonitor::fVerbosity, MonitorElement::getTH2F(), edm::ParameterSet::getUntrackedParameter(), h_reportSummaryMap, i, ievt_, CastorBaseMonitor::m_dbe, meEvt_, AlCaRecoCosmics_cfg::name, NULL, numberSigma_, numOK, offline_, overallStatus, PSsector, reportSummary, reportSummaryMap, CastorBaseMonitor::rootFolder_, saturatedMap, saturatedThreshold_, SaturationSummaryMap, secondRegionThreshold_, DQMStore::setCurrentFolder(), CastorBaseMonitor::setup(), sumDigiForEachChannel, and thirdRegionThreshold_.

Referenced by CastorMonitorModule::CastorMonitorModule().

71  {
72 
74  baseFolder_ = rootFolder_+"CastorPSMonitor";
75 
77  numberSigma_ = ps.getUntrackedParameter<double>("numberSigma", 1.5);
78  thirdRegionThreshold_ = ps.getUntrackedParameter<double>("thirdRegionThreshold", 300);
79  saturatedThreshold_ = ps.getUntrackedParameter<double>("saturatedThreshold", 0.05); //-- fraction of events in which chargeTS > 127 ADC
80  offline_ = ps.getUntrackedParameter<bool>("OfflineMode", false);
81 
82  if(fVerbosity>0) std::cout << "CastorPSMonitor::setup (start)" << std::endl;
83 
84  ievt_=0; firstTime_ = true;
87  numOK = 0;
88  fraction=0.;
89 
91  for (int row=0; row<14; row++){
92  for (int col=0; col<16; col++){
93  sumDigiForEachChannel[row][col] = 0;
94  saturatedMap [row][col] = 0;
95  }
96  }
97 
98  if ( m_dbe !=NULL ) {
100 
102  meEvt_ = m_dbe->bookInt("PS Event Number");
103  castorDigiHists.meDigi_pulseBX = m_dbe->book1D("CASTOR average pulse in bunch crossings","CASTOR average pulse in bunch crossings", 3600, -0.5, 3600);
104  TH1F* h_meDigi_pulseBX = castorDigiHists.meDigi_pulseBX->getTH1F();
105  h_meDigi_pulseBX->GetXaxis()->SetTitle("orbit");
106 
107  //---- Pulse Shape per sector
108  char name[1024];
109  for(int i=0; i<16; i++){
110  sprintf(name,"Castor Pulse Shape for sector=%d (in all 14 modules)",i+1);
111  PSsector[i] = m_dbe->book1D(name,name,140,-0.5,139.5);
112  }
113 
115  DigiOccupancyMap = m_dbe->book2D("CASTOR Digi Occupancy Map","CASTOR Digi Occupancy Map",14,0.0,14.0,16,0.0,16.0);
117  ChannelSummaryMap = m_dbe->book2D("CASTOR Digi ChannelSummaryMap","CASTOR Digi ChannelSummaryMap",14,0.0,14.0,20,0.0,20.0); // put 20 instead of 16 to get some space for the legend
118 
121  SaturationSummaryMap = m_dbe->book2D("CASTOR Digi SaturationSummaryMap","CASTOR Digi SaturationSummaryMap",14,0.0,14.0,20,0.0,20.0); // put 20 instead of 16 to get some space for the legend
122 
123 
124 
126  m_dbe->setCurrentFolder(rootFolder_+"EventInfo");
127  reportSummary = m_dbe->bookFloat("reportSummary");
128  reportSummaryMap = m_dbe->book2D("reportSummaryMap","CASTOR reportSummaryMap",14,0.0,14.0,16,0.0,16.0);
129  if(offline_){
131  h_reportSummaryMap->SetOption("textcolz");
132  h_reportSummaryMap->GetXaxis()->SetTitle("module");
133  h_reportSummaryMap->GetYaxis()->SetTitle("sector");
134  }
135  m_dbe->setCurrentFolder(rootFolder_+"EventInfo/reportSummaryContents");
136  overallStatus = m_dbe->bookFloat("fraction of good channels");
138  }
139 
140  else{
141  if(fVerbosity>0) std::cout << "CastorPSMonitor::setup - NO DQMStore service" << std::endl;
142  }
143 
144  if(fVerbosity>0) std::cout << "CastorPSMonitor::setup (end)" << std::endl;
145 
146  return;
147 }
T getUntrackedParameter(std::string const &, T const &) const
int i
Definition: DBlmapReader.cc:9
virtual void setup(const edm::ParameterSet &ps, DQMStore *dbe)
TH2F * h_reportSummaryMap
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:519
MonitorElement * SaturationSummaryMap
MonitorElement * DigiOccupancyMap
MonitorElement * meEvt_
#define NULL
Definition: scimark2.h:8
MonitorElement * reportSummary
MonitorElement * bookFloat(const char *name)
Book float.
Definition: DQMStore.cc:456
void Fill(long long x)
double sumDigiForEachChannel[14][16]
std::string baseFolder_
double saturatedThreshold_
int saturatedMap[14][16]
double thirdRegionThreshold_
MonitorElement * ChannelSummaryMap
double secondRegionThreshold_
double firstRegionThreshold_
MonitorElement * reportSummaryMap
std::string rootFolder_
tuple cout
Definition: gather_cfg.py:41
MonitorElement * overallStatus
std::map< int, MonitorElement * > PSsector
TH2F * getTH2F(void) const
MonitorElement * bookInt(const char *name)
Book int.
Definition: DQMStore.cc:426
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
Definition: DQMStore.cc:647
struct CastorPSMonitor::@164 castorDigiHists
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:237

Member Data Documentation

std::vector<NewBunch> CastorPSMonitor::Bunches_
private

Definition at line 60 of file CastorPSMonitor.h.

Referenced by processEvent().

struct { ... } CastorPSMonitor::castorDigiHists

Referenced by processEvent(), and setup().

MonitorElement* CastorPSMonitor::ChannelSummaryMap
private

Definition at line 41 of file CastorPSMonitor.h.

Referenced by processEvent(), and setup().

MonitorElement* CastorPSMonitor::DigiOccupancyMap
private

Definition at line 37 of file CastorPSMonitor.h.

Referenced by processEvent(), and setup().

bool CastorPSMonitor::doPerChannel_
private

Definition at line 25 of file CastorPSMonitor.h.

Referenced by CastorPSMonitor().

double CastorPSMonitor::firstRegionThreshold_
private

Definition at line 54 of file CastorPSMonitor.h.

Referenced by CastorPSMonitor(), processEvent(), and setup().

bool CastorPSMonitor::firstTime_
private

Definition at line 44 of file CastorPSMonitor.h.

Referenced by processEvent(), and setup().

double CastorPSMonitor::fraction
private

Definition at line 51 of file CastorPSMonitor.h.

Referenced by processEvent(), and setup().

TH2F* CastorPSMonitor::h_reportSummaryMap
private

Definition at line 52 of file CastorPSMonitor.h.

Referenced by setup().

int CastorPSMonitor::ievt_
private

Definition at line 27 of file CastorPSMonitor.h.

Referenced by CastorPSMonitor(), processEvent(), and setup().

MonitorElement* CastorPSMonitor::meDigi_pulseBX

Definition at line 31 of file CastorPSMonitor.h.

MonitorElement* CastorPSMonitor::meEvt_
private

Definition at line 34 of file CastorPSMonitor.h.

Referenced by processEvent(), and setup().

double CastorPSMonitor::numberSigma_
private

Definition at line 46 of file CastorPSMonitor.h.

Referenced by processEvent(), and setup().

int CastorPSMonitor::numOK
private

Definition at line 47 of file CastorPSMonitor.h.

Referenced by processEvent(), and setup().

bool CastorPSMonitor::offline_
private

Definition at line 45 of file CastorPSMonitor.h.

Referenced by setup().

MonitorElement* CastorPSMonitor::overallStatus
private

Definition at line 40 of file CastorPSMonitor.h.

Referenced by processEvent(), and setup().

std::map<int,MonitorElement*> CastorPSMonitor::PSsector
private

Definition at line 35 of file CastorPSMonitor.h.

Referenced by processEvent(), and setup().

MonitorElement* CastorPSMonitor::reportSummary
private

Definition at line 38 of file CastorPSMonitor.h.

Referenced by processEvent(), and setup().

MonitorElement* CastorPSMonitor::reportSummaryMap
private

Definition at line 39 of file CastorPSMonitor.h.

Referenced by processEvent(), and setup().

int CastorPSMonitor::saturatedMap[14][16]
private

Definition at line 59 of file CastorPSMonitor.h.

Referenced by processEvent(), and setup().

double CastorPSMonitor::saturatedThreshold_
private

Definition at line 57 of file CastorPSMonitor.h.

Referenced by processEvent(), and setup().

MonitorElement* CastorPSMonitor::SaturationSummaryMap
private

Definition at line 42 of file CastorPSMonitor.h.

Referenced by processEvent(), and setup().

double CastorPSMonitor::secondRegionThreshold_
private

Definition at line 55 of file CastorPSMonitor.h.

Referenced by CastorPSMonitor(), processEvent(), and setup().

double CastorPSMonitor::status
private

Definition at line 48 of file CastorPSMonitor.h.

Referenced by CastorPSMonitor(), and processEvent().

double CastorPSMonitor::statusRS
private

Definition at line 49 of file CastorPSMonitor.h.

Referenced by CastorPSMonitor(), and processEvent().

double CastorPSMonitor::statusSaturated
private

Definition at line 50 of file CastorPSMonitor.h.

Referenced by CastorPSMonitor(), and processEvent().

double CastorPSMonitor::sumDigiForEachChannel[14][16]
private

Definition at line 58 of file CastorPSMonitor.h.

Referenced by processEvent(), and setup().

double CastorPSMonitor::thirdRegionThreshold_
private

Definition at line 56 of file CastorPSMonitor.h.

Referenced by processEvent(), and setup().