CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes
RPCChamberQuality Class Reference

#include <RPCChamberQuality.h>

Inheritance diagram for RPCChamberQuality:
DQMEDHarvester edm::one::EDProducer< edm::Accumulator, edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns, edm::one::SharedResources > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 RPCChamberQuality (const edm::ParameterSet &ps)
 
 ~RPCChamberQuality () override
 
- Public Member Functions inherited from DQMEDHarvester
void accumulate (edm::Event const &ev, edm::EventSetup const &es) final
 
void beginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) final
 
void beginRun (edm::Run const &, edm::EventSetup const &) override
 
 DQMEDHarvester ()
 
void endJob () final
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) final
 
void endLuminosityBlockProduce (edm::LuminosityBlock &, edm::EventSetup const &) final
 
void endRun (edm::Run const &, edm::EventSetup const &) override
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) override
 
 ~DQMEDHarvester () override=default
 
- Public Member Functions inherited from edm::one::EDProducer< edm::Accumulator, edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns, edm::one::SharedResources >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInLumis () const final
 
bool hasAbilityToProduceInRuns () const final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
 ~ProducerBase () noexcept(false) 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 beginJob () override
 
void dqmEndJob (DQMStore::IBooker &, DQMStore::IGetter &) override
 
void dqmEndLuminosityBlock (DQMStore::IBooker &, DQMStore::IGetter &, edm::LuminosityBlock const &, edm::EventSetup const &) 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 Types

enum  chamberQualityState {
  GoodState = 1, OffState =2, NoisyStripState = 3, NoisyRollState = 4,
  PartiallyDeadState =5, DeadState =6, BadShapeState =7
}
 

Private Member Functions

void fillMonitorElements (DQMStore::IGetter &)
 
void myBooker (DQMStore::IBooker &)
 
void performeClientOperation (std::string, int, MonitorElement *, DQMStore::IGetter &)
 

Private Attributes

bool enableDQMClients_
 
bool init_
 
int lumiCounter_
 
int minEvents
 
int numberOfDisks_
 
int numLumBlock_
 
bool offlineDQM_
 
std::string prefixDir_
 
int prescaleFactor_
 
MonitorElementRpcEvents
 
std::string summaryDir_
 
bool useRollInfo_
 

Static Private Attributes

static const std::string regions_ [3] = {"EndcapNegative","Barrel","EndcapPositive"}
 
static const std::string xLabels_ [7] = {"Good", "OFF", "Nois.St","Nois.Ch","Part.Dead","Dead","Bad.Shape"}
 

Additional Inherited Members

- Public Types inherited from edm::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >>
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Attributes inherited from DQMEDHarvester
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

Definition at line 11 of file RPCChamberQuality.h.

Member Enumeration Documentation

Constructor & Destructor Documentation

RPCChamberQuality::RPCChamberQuality ( const edm::ParameterSet ps)

Definition at line 13 of file RPCChamberQuality.cc.

References enableDQMClients_, edm::ParameterSet::getUntrackedParameter(), init_, lumiCounter_, minEvents, numberOfDisks_, offlineDQM_, prefixDir_, prescaleFactor_, AlCaHLTBitMon_QueryRunRegistry::string, summaryDir_, and useRollInfo_.

13  {
14  edm::LogVerbatim ("rpcchamberquality") << "[RPCChamberQuality]: Constructor";
15 
16  prescaleFactor_ = ps.getUntrackedParameter<int>("PrescaleFactor", 5);
17 
18  std::string subsystemFolder = ps.getUntrackedParameter<std::string>("RPCFolder", "RPC");
19  std::string recHitTypeFolder = ps.getUntrackedParameter<std::string>("RecHitTypeFolder", "AllHits");
20  std::string summaryFolder = ps.getUntrackedParameter<std::string>("SummaryFolder", "SummaryHistograms");
21 
22  summaryDir_ = subsystemFolder +"/"+ recHitTypeFolder +"/"+ summaryFolder ;
23  prefixDir_ = subsystemFolder +"/"+ recHitTypeFolder ;
24 
25  enableDQMClients_ = ps.getUntrackedParameter<bool> ("EnableRPCDqmClient",true);
26 
27  minEvents = ps.getUntrackedParameter<int>("MinimumRPCEvents", 10000);
28  numberOfDisks_ = ps.getUntrackedParameter<int>("NumberOfEndcapDisks", 4);
29  useRollInfo_ = ps.getUntrackedParameter<bool> ("UseRollInfo",false);
30  offlineDQM_ = ps.getUntrackedParameter<bool> ("OfflineDQM",true);
31 
32  init_ = false;
33  lumiCounter_ = 0;
34 }
T getUntrackedParameter(std::string const &, T const &) const
std::string summaryDir_
std::string prefixDir_
RPCChamberQuality::~RPCChamberQuality ( )
override

Definition at line 36 of file RPCChamberQuality.cc.

36  {
37  edm::LogVerbatim ("rpcchamberquality") << "[RPCChamberQuality]: Destructor ";
38 }

Member Function Documentation

void RPCChamberQuality::beginJob ( void  )
overrideprotectedvirtual

Reimplemented from edm::one::EDProducerBase.

Definition at line 40 of file RPCChamberQuality.cc.

40  {
41  edm::LogVerbatim ("rpcchamberquality") << "[RPCChamberQuality]: Begin job ";
42 }
void RPCChamberQuality::dqmEndJob ( DQMStore::IBooker ibooker,
DQMStore::IGetter igetter 
)
overrideprotectedvirtual

Implements DQMEDHarvester.

Definition at line 68 of file RPCChamberQuality.cc.

References enableDQMClients_, fillMonitorElements(), init_, myBooker(), and offlineDQM_.

68  {
69 
70  edm::LogVerbatim ("rpcchamberquality") <<"[RPCChamberQuality]: End Job";
71 
72  if( enableDQMClients_ ) {
73  edm::LogVerbatim ("rpcchamberquality") <<"[RPCChamberQuality]: Performing DQM client operation";
74  if( offlineDQM_ && !init_ ) {this->myBooker(ibooker);}
75  if(init_){this->fillMonitorElements(igetter);}
76  }
77 }
void fillMonitorElements(DQMStore::IGetter &)
void myBooker(DQMStore::IBooker &)
void RPCChamberQuality::dqmEndLuminosityBlock ( DQMStore::IBooker ibooker,
DQMStore::IGetter igetter,
edm::LuminosityBlock const &  iLumi,
edm::EventSetup const &  iSetup 
)
overrideprotectedvirtual

Reimplemented from DQMEDHarvester.

Definition at line 46 of file RPCChamberQuality.cc.

References enableDQMClients_, fillMonitorElements(), lumiCounter_, myBooker(), offlineDQM_, and prescaleFactor_.

46  {
47 
48  edm::LogVerbatim ("rpcchamberquality") <<"[RPCChamberQuality]: End Lumi Block";
49 
50  if( enableDQMClients_ && !offlineDQM_ ) {
51 
52  edm::LogVerbatim ("rpcchamberquality") <<"[RPCChamberQuality]: Performing DQM client operation";
53 
54  if (lumiCounter_==0){ //book histograms during at firt LB end
55  this->myBooker(ibooker);
57  }
58 
59  if (lumiCounter_%prescaleFactor_ == 0){//Fill histograms every N=prescaleFactor_ LBs
60  this->fillMonitorElements(igetter);
61  }
62  }
63  lumiCounter_++;
64 }
void fillMonitorElements(DQMStore::IGetter &)
void myBooker(DQMStore::IBooker &)
void RPCChamberQuality::fillMonitorElements ( DQMStore::IGetter igetter)
private

Definition at line 145 of file RPCChamberQuality.cc.

References DQMStore::IGetter::get(), MonitorElement::getBinContent(), MonitorElement::getEntries(), mps_fire::i, init_, createfilelist::int, minEvents, numberOfDisks_, performeClientOperation(), prefixDir_, alignCSCRings::r, regions_, MonitorElement::Reset(), RpcEvents, heppy_report::summary, summaryDir_, makeMuonMisalignmentScenario::wheel, and x.

Referenced by dqmEndJob(), and dqmEndLuminosityBlock().

145  {
146 
147  std::stringstream meName;
148 
149  meName.str("");
150  meName<<prefixDir_<<"/RPCEvents";
151  int rpcEvents=minEvents;
152  RpcEvents = igetter.get(meName.str());
153 
154  if(RpcEvents) rpcEvents= (int)RpcEvents->getBinContent(1);
155 
156  if(rpcEvents >= minEvents){
157 
158  init_ = true;
159 
160  MonitorElement * summary[3];
161 
162  for(int r = 0 ; r < 3 ; r++) {
163  meName.str("");
164  meName<<summaryDir_<<"/RPCChamberQuality_"<<RPCChamberQuality::regions_[r];
165  summary[r] = igetter.get(meName.str());
166 
167  if( summary[r] != nullptr ) summary[r]->Reset();
168  }
169 
170  //Barrel
171  for (int wheel=-2; wheel<3; wheel++) { // loop by Wheels
172  meName.str("");
173  meName<<"Roll_vs_Sector_Wheel"<<wheel;
174 
175  this->performeClientOperation(meName.str(), 0 , summary[1],igetter);
176  } // loop by Wheels
177 
178 
179  // Endcap
180  for(int i=-numberOfDisks_; i<=numberOfDisks_; i++) {//loop on Disks
181  if(i==0) continue;
182 
183  meName.str("");
184  meName<<"Ring_vs_Segment_Disk"<<i;
185 
186  if(i<0) this->performeClientOperation(meName.str(), -1 , summary[0],igetter);
187  else this->performeClientOperation(meName.str(), 1 , summary[2],igetter);
188  }//loop on Disks
189 
190  MonitorElement * RpcOverview = nullptr;
191  meName.str("");
192  meName<<summaryDir_<<"/RPC_System_Quality_Overview";
193  RpcOverview = igetter.get(meName.str());
194  RpcOverview->Reset();
195 
196  if(RpcOverview) {//Fill Overview ME
197  for(int r = 0 ; r< 3; r++) {
198  if (summary[r] == nullptr ) continue;
199  double entries = summary[r]->getEntries();
200  if(entries == 0) continue;
201  for (int x = 1; x <= 7; x++) {
202  RpcOverview->setBinContent(x,r+1,(summary[r]->getBinContent(x)/entries));
203  }
204  }
205  } //loop by LimiBloks
206  }
207 }
MonitorElement * get(const std::string &path)
Definition: DQMStore.cc:302
std::string summaryDir_
void Reset()
reset ME (ie. contents, errors, etc)
void performeClientOperation(std::string, int, MonitorElement *, DQMStore::IGetter &)
double getEntries() const
get # of entries
MonitorElement * RpcEvents
static const std::string regions_[3]
std::string prefixDir_
double getBinContent(int binx) const
get content of bin (1-D)
void RPCChamberQuality::myBooker ( DQMStore::IBooker ibooker)
private

Definition at line 81 of file RPCChamberQuality.cc.

References DQMStore::IBooker::book1D(), DQMStore::IBooker::book2D(), edmIntegrityCheck::d, init_, rpcdqm::utils::labelXAxisSector(), rpcdqm::utils::labelXAxisSegment(), rpcdqm::utils::labelYAxisRing(), rpcdqm::utils::labelYAxisRoll(), numberOfDisks_, alignCSCRings::r, regions_, MonitorElement::setBinLabel(), DQMStore::IBooker::setCurrentFolder(), summaryDir_, useRollInfo_, w, x, and xLabels_.

Referenced by dqmEndJob(), and dqmEndLuminosityBlock().

81  {
82 
83  init_ = true;
84 
86 
87  MonitorElement* me;
88  std::stringstream histoName;
89 
90  rpcdqm::utils rpcUtils;
91 
92  for (int r = 0 ; r < 3; r++){
93 
94  histoName.str("");
95  histoName<<"RPCChamberQuality_"<<regions_[r];
96  me = ibooker.book1D(histoName.str().c_str(), histoName.str().c_str(), 7, 0.5, 7.5);
97 
98  for (int x = 1; x <8 ; x++) {me->setBinLabel(x, xLabels_[x-1]);}
99  }
100 
101 
102  histoName.str("");
103  histoName<<"RPC_System_Quality_Overview";
104  me = ibooker.book2D(histoName.str().c_str(), histoName.str().c_str(), 7, 0.5, 7.5, 3, 0.5, 3.5);
105  me->setBinLabel(1, "E-", 2);
106  me->setBinLabel(2, "B", 2);
107  me->setBinLabel(3, "E+", 2);
108 
109  for (int x = 1; x <8 ; x++) {me->setBinLabel(x, xLabels_[x-1]);}
110 
111  for(int w=-2; w<3;w++){//Loop on wheels
112 
113  histoName.str("");
114  histoName<<"RPCChamberQuality_Roll_vs_Sector_Wheel"<<w;
115  me = ibooker.book2D(histoName.str().c_str(), histoName.str().c_str(), 12, 0.5, 12.5, 21, 0.5, 21.5);
116 
117  rpcUtils.labelXAxisSector( me);
118  rpcUtils.labelYAxisRoll(me, 0, w, useRollInfo_ );
119 
120  histoName.str("");
121  histoName<<"RPCChamberQuality_Distribution_Wheel"<<w;
122  me = ibooker.book1D(histoName.str().c_str(), histoName.str().c_str(), 7, 0.5, 7.5);
123 
124  for (int x = 1; x <8; x++) {me->setBinLabel(x, xLabels_[x-1]);}
125  }//end loop on wheels
126 
127  for(int d= -numberOfDisks_; d<= numberOfDisks_ ; d++) { // Loop on disk
128  if(d==0) continue;
129  histoName.str("");
130  histoName<<"RPCChamberQuality_Ring_vs_Segment_Disk"<<d; // 2D histo for RPC Qtest
131  me = ibooker.book2D(histoName.str().c_str(), histoName.str().c_str(), 36, 0.5, 36.5, 6, 0.5, 6.5);
132  rpcUtils.labelXAxisSegment(me);
133  rpcUtils.labelYAxisRing(me, 2, useRollInfo_ );
134 
135  histoName.str("");
136  histoName<<"RPCChamberQuality_Distribution_Disk"<<d;
137  me = ibooker.book1D(histoName.str().c_str(), histoName.str().c_str(), 7, 0.5, 7.5);
138 
139  for (int x = 1; x <8 ; x++) {me->setBinLabel(x, xLabels_[x-1]);}
140  }
141 }
const double w
Definition: UKUtility.cc:23
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
void labelXAxisSegment(MonitorElement *myMe)
Definition: utils.h:264
void labelYAxisRoll(MonitorElement *myMe, int region, int ring, bool useRollInfo)
Definition: utils.h:283
static const std::string xLabels_[7]
std::string summaryDir_
void labelYAxisRing(MonitorElement *myMe, int numberOfRings, bool useRollInfo)
Definition: utils.h:311
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:118
void labelXAxisSector(MonitorElement *myMe)
Definition: utils.h:249
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:274
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:136
static const std::string regions_[3]
void RPCChamberQuality::performeClientOperation ( std::string  MESufix,
int  region,
MonitorElement quality,
DQMStore::IGetter igetter 
)
private

Definition at line 214 of file RPCChamberQuality.cc.

References BadShapeState, DeadState, MonitorElement::Fill(), HcalObjRepresent::Fill(), DQMStore::IGetter::get(), MonitorElement::getBinContent(), GoodState, AnalysisDataFormats_SUSYBSMObjects::hv, createfilelist::int, NoisyRollState, NoisyStripState, OffState, PartiallyDeadState, MonitorElement::Reset(), summaryDir_, x, and y.

Referenced by fillMonitorElements().

214  {
215 
216 
217  MonitorElement * RCQ=nullptr;
218  MonitorElement * RCQD=nullptr;
219 
220  MonitorElement * DEAD=nullptr;
221  MonitorElement * CLS=nullptr;
222  MonitorElement * MULT=nullptr;
223  MonitorElement * NoisySt=nullptr;
224  MonitorElement * Chip=nullptr;
225  MonitorElement * HV=nullptr;
226  MonitorElement * LV=nullptr;
227  std::stringstream meName;
228 
229  meName.str("");
230  meName<<summaryDir_<<"/RPCChamberQuality_"<<MESufix;
231  RCQ = igetter.get(meName.str());
232  // if (RCQ) RCQ->Reset();
233 
234 
235  int pos = MESufix.find_last_of("_");
236  meName.str("");
237  meName<<summaryDir_<<"/RPCChamberQuality_Distribution"<<MESufix.substr(pos);
238  RCQD = igetter.get(meName.str());
239  if (RCQD) RCQD->Reset();
240 
241  //get HV Histo
242  meName.str("");
243  meName<<summaryDir_<<"/HVStatus_"<<MESufix;
244  HV = igetter.get(meName.str());
245  //get LV Histo
246  meName.str("");
247  meName<<summaryDir_<<"/LVStatus_"<<MESufix;
248  LV = igetter.get(meName.str());
249  //Dead
250  meName.str("");
251  meName << summaryDir_<<"/DeadChannelFraction_"<<MESufix;
252  DEAD = igetter.get(meName.str());
253  //ClusterSize
254  meName.str("");
255  meName<<summaryDir_<<"/ClusterSizeIn1Bin_"<<MESufix;
256  CLS = igetter.get(meName.str());
257  //NoisyStrips
258  meName.str("");
259  meName<<summaryDir_<<"/RPCNoisyStrips_"<<MESufix;
260  NoisySt = igetter.get(meName.str());
261  //Multiplicity
262  meName.str("");
263  meName<<summaryDir_<<"/NumberOfDigi_Mean_"<<MESufix;
264  MULT = igetter.get(meName.str());
265  //Asymetry
266  meName.str("");
267  meName<<summaryDir_<<"/AsymmetryLeftRight_"<<MESufix;
268  Chip = igetter.get(meName.str());
269 
270  int xBinMax, yBinMax;
271 
272  if (region != 0) xBinMax = 37;
273  else xBinMax = 13;
274 
275  for(int x=1; x<xBinMax; x++) {
276  if (region != 0 ) {
277  yBinMax = 7;
278  }else {
279  if(x==4) yBinMax=22;
280  else if(x==9 || x==11) yBinMax=16;
281  else yBinMax=18;
282  }
283  for(int y=1; y<yBinMax; y++) {
284  int hv=1;
285  int lv=1;
286  float dead =0;
287  float firstbin= 0;
288  float noisystrips = 0;
289  float mult = 0;
290  float asy = 0;
291  chamberQualityState chamberState = GoodState;
292 
293  if(HV) hv = (int)HV ->getBinContent(x,y);
294  if(LV) lv = (int)LV ->getBinContent(x,y);
295 
296  if( hv!=1 || lv!=1) {
297  chamberState = OffState;
298  }else {
299  if(DEAD) dead= DEAD -> getBinContent(x,y);
300  if(dead>=0.80 ) {
301  chamberState = DeadState;
302  }else if (0.33<=dead && dead<0.80 ){
303  chamberState = PartiallyDeadState;
304  }else {
305  if(CLS ) firstbin = CLS -> getBinContent(x,y);
306  if(firstbin >= 0.88) {
307  chamberState = NoisyStripState;
308  } else {
309  if(NoisySt) noisystrips = NoisySt -> getBinContent(x,y);
310  if (noisystrips > 0){
311  chamberState = NoisyStripState;
312  }else {
313  if(MULT) mult = MULT -> getBinContent(x,y);
314  if(mult>=6) {
315  chamberState = NoisyRollState;
316  }else {
317  if (Chip) asy = Chip->getBinContent(x,y);
318  if(asy>0.35) {
319  chamberState = BadShapeState;
320  }else {
321  chamberState = GoodState;
322  }
323  }
324  }
325  }
326  }
327  }
328  if (RCQ) RCQ -> setBinContent(x,y, chamberState);
329  if (RCQD) RCQD -> Fill(chamberState);
330  if (quality) quality->Fill(chamberState);
331  }
332  }
333  return;
334 }
MonitorElement * get(const std::string &path)
Definition: DQMStore.cc:302
math::XYZTLorentzVectorD LV
susybsm::HSCParticleRefVector hv
Definition: classes.h:28
std::string summaryDir_
void Fill(long long x)
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
void Reset()
reset ME (ie. contents, errors, etc)
double getBinContent(int binx) const
get content of bin (1-D)

Member Data Documentation

bool RPCChamberQuality::enableDQMClients_
private

Definition at line 34 of file RPCChamberQuality.h.

Referenced by dqmEndJob(), dqmEndLuminosityBlock(), and RPCChamberQuality().

bool RPCChamberQuality::init_
private

Definition at line 46 of file RPCChamberQuality.h.

Referenced by dqmEndJob(), fillMonitorElements(), myBooker(), and RPCChamberQuality().

int RPCChamberQuality::lumiCounter_
private

Definition at line 32 of file RPCChamberQuality.h.

Referenced by dqmEndLuminosityBlock(), and RPCChamberQuality().

int RPCChamberQuality::minEvents
private

Definition at line 48 of file RPCChamberQuality.h.

Referenced by fillMonitorElements(), and RPCChamberQuality().

int RPCChamberQuality::numberOfDisks_
private

Definition at line 44 of file RPCChamberQuality.h.

Referenced by fillMonitorElements(), myBooker(), and RPCChamberQuality().

int RPCChamberQuality::numLumBlock_
private

Definition at line 49 of file RPCChamberQuality.h.

bool RPCChamberQuality::offlineDQM_
private

Definition at line 35 of file RPCChamberQuality.h.

Referenced by dqmEndJob(), dqmEndLuminosityBlock(), and RPCChamberQuality().

std::string RPCChamberQuality::prefixDir_
private

Definition at line 39 of file RPCChamberQuality.h.

Referenced by fillMonitorElements(), and RPCChamberQuality().

int RPCChamberQuality::prescaleFactor_
private

Definition at line 43 of file RPCChamberQuality.h.

Referenced by dqmEndLuminosityBlock(), and RPCChamberQuality().

const std::string RPCChamberQuality::regions_ = {"EndcapNegative","Barrel","EndcapPositive"}
staticprivate

Definition at line 41 of file RPCChamberQuality.h.

Referenced by fillMonitorElements(), and myBooker().

MonitorElement* RPCChamberQuality::RpcEvents
private

Definition at line 29 of file RPCChamberQuality.h.

Referenced by fillMonitorElements().

std::string RPCChamberQuality::summaryDir_
private
bool RPCChamberQuality::useRollInfo_
private

Definition at line 42 of file RPCChamberQuality.h.

Referenced by myBooker(), and RPCChamberQuality().

const std::string RPCChamberQuality::xLabels_ = {"Good", "OFF", "Nois.St","Nois.Ch","Part.Dead","Dead","Bad.Shape"}
staticprivate

Definition at line 40 of file RPCChamberQuality.h.

Referenced by myBooker().