CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
StripValidationPlots Class Reference
Inheritance diagram for StripValidationPlots:
edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

 StripValidationPlots (const edm::ParameterSet &)
 
 ~StripValidationPlots () override
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
SerialTaskQueueglobalLuminosityBlocksQueue ()
 
SerialTaskQueueglobalRunsQueue ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
 ~EDAnalyzer () 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
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
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)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void beginJob () override
 
void endJob () override
 

Private Attributes

Int_t APVChannel
 
Int_t DetRawId
 
Int_t Disc
 
unsigned int distance
 
unsigned int distanceL
 
unsigned int distanceR
 
std::vector< TH2F * > distanceVsStripNumber
 
DQMStoredqmStore_
 
Int_t firstEntry
 
Int_t HotStripsPerAPV
 
Int_t HotStripsPerModule
 
TFile * infile
 
std::string infilename
 
TTree * intree
 
Int_t IsBack
 
Int_t IsExternalString
 
Int_t IsHot
 
Int_t IsStereo
 
Int_t IsZMinusSide
 
Int_t Layer_Ring
 
Int_t ModulePosition
 
std::vector< TH2F * > nHitsGoodStripsVsStripNumber
 
std::vector< TH2F * > nHitsHotStripsVsStripNumber
 
std::vector< TH2F * > nHitsVsStripNumber
 
unsigned int nReadStrips [768][5]
 
Int_t NumberOfStrips
 
std::vector< TH2F * > occupancyGoodStripsVsStripNumber
 
std::vector< TH2F * > occupancyHotStripsVsStripNumber
 
std::vector< TH2F * > occupancyVsStripNumber
 
std::ostringstream oss
 
std::string outfilename
 
std::vector< TProfile * > pfxDistanceVsStripNumber
 
std::vector< TProfile * > pfxNHitsGoodStripsVsStripNumber
 
std::vector< TProfile * > pfxNHitsHotStripsVsStripNumber
 
std::vector< TProfile * > pfxNHitsVsStripNumber
 
std::vector< TProfile * > pfxOccupancyGoodStripsVsStripNumber
 
std::vector< TProfile * > pfxOccupancyHotStripsVsStripNumber
 
std::vector< TProfile * > pfxOccupancyVsStripNumber
 
std::vector< TProfile * > pfxPoissonProbGoodStripsVsStripNumber
 
std::vector< TProfile * > pfxPoissonProbHotStripsVsStripNumber
 
std::vector< TProfile * > pfxPoissonProbVsStripNumber
 
Double_t PoissonProb
 
std::vector< TH2F * > poissonProbGoodStripsVsStripNumber
 
std::vector< TH2F * > poissonProbHotStripsVsStripNumber
 
std::vector< TH2F * > poissonProbVsStripNumber
 
std::vector< TH1F * > projXDistanceVsStripNumber
 
std::vector< TH1F * > projXNHitsGoodStripsVsStripNumber
 
std::vector< TH1F * > projXNHitsHotStripsVsStripNumber
 
std::vector< TH1F * > projXNHitsVsStripNumber
 
std::vector< TH1F * > projYDistanceVsStripNumber
 
std::vector< TH1F * > projYNHitsGoodStripsVsStripNumber
 
std::vector< TH1F * > projYNHitsHotStripsVsStripNumber
 
std::vector< TH1F * > projYNHitsVsStripNumber
 
std::vector< TH1F * > projYOccupancyGoodStripsVsStripNumber
 
std::vector< TH1F * > projYOccupancyHotStripsVsStripNumber
 
std::vector< TH1F * > projYOccupancyVsStripNumber
 
std::vector< TH1F * > projYPoissonProbGoodStripsVsStripNumber
 
std::vector< TH1F * > projYPoissonProbHotStripsVsStripNumber
 
std::vector< TH1F * > projYPoissonProbVsStripNumber
 
Int_t RodStringPetal
 
Int_t savedDetRawId
 
Int_t savedNStrips
 
Int_t savedSubDetId
 
Float_t StripGlobalPositionX
 
Float_t StripGlobalPositionY
 
Float_t StripGlobalPositionZ
 
Int_t StripHits
 
Int_t StripNumber
 
Double_t StripOccupancy
 
Int_t SubDetId
 
std::vector< std::string > subDetName
 
MonitorElementtmp
 
TProfile * tmp_prof
 
std::vector< unsigned int > vHotStripsInModule
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
static bool wantsGlobalLuminosityBlocks ()
 
static bool wantsGlobalRuns ()
 
static bool wantsStreamLuminosityBlocks ()
 
static bool wantsStreamRuns ()
 
- 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 ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
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)
 

Detailed Description

Definition at line 41 of file StripValidationPlots.cc.

Constructor & Destructor Documentation

StripValidationPlots::StripValidationPlots ( const edm::ParameterSet iConfig)
explicit

Definition at line 154 of file StripValidationPlots.cc.

154  : infilename(iConfig.getUntrackedParameter<std::string>("inputFilename","in.root")),
155  outfilename(iConfig.getUntrackedParameter<std::string>("outputFilename","out.root"))
156 
157 {
158  //now do what ever initialization is needed
159 
160 }
T getUntrackedParameter(std::string const &, T const &) const
StripValidationPlots::~StripValidationPlots ( )
override

Definition at line 163 of file StripValidationPlots.cc.

164 {
165 
166  // do anything here that needs to be done at desctruction time
167  // (e.g. close files, deallocate resources etc.)
168 
169 }

Member Function Documentation

void StripValidationPlots::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivate

Definition at line 178 of file StripValidationPlots.cc.

179 {
180 
181 }
void StripValidationPlots::beginJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 186 of file StripValidationPlots.cc.

References DQMStore::book1D(), DQMStore::book2D(), DQMStore::bookProfile(), distanceVsStripNumber, dqmStore_, MonitorElement::getTH1F(), MonitorElement::getTH2F(), MonitorElement::getTProfile(), mps_fire::i, nHitsGoodStripsVsStripNumber, nHitsHotStripsVsStripNumber, nHitsVsStripNumber, nReadStrips, occupancyGoodStripsVsStripNumber, occupancyHotStripsVsStripNumber, occupancyVsStripNumber, Utilities::operator, oss, pfxDistanceVsStripNumber, pfxNHitsGoodStripsVsStripNumber, pfxNHitsHotStripsVsStripNumber, pfxNHitsVsStripNumber, pfxOccupancyGoodStripsVsStripNumber, pfxOccupancyHotStripsVsStripNumber, pfxOccupancyVsStripNumber, pfxPoissonProbGoodStripsVsStripNumber, pfxPoissonProbHotStripsVsStripNumber, pfxPoissonProbVsStripNumber, poissonProbGoodStripsVsStripNumber, poissonProbHotStripsVsStripNumber, poissonProbVsStripNumber, projXDistanceVsStripNumber, projXNHitsGoodStripsVsStripNumber, projXNHitsHotStripsVsStripNumber, projXNHitsVsStripNumber, projYDistanceVsStripNumber, projYNHitsGoodStripsVsStripNumber, projYNHitsHotStripsVsStripNumber, projYNHitsVsStripNumber, projYOccupancyGoodStripsVsStripNumber, projYOccupancyHotStripsVsStripNumber, projYOccupancyVsStripNumber, projYPoissonProbGoodStripsVsStripNumber, projYPoissonProbHotStripsVsStripNumber, projYPoissonProbVsStripNumber, DQMStore::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, subDetName, tmp, and tmp_prof.

187 {
188  oss.str("");
189  oss << 1; //runNumber
190 
192  dqmStore_->setCurrentFolder("ChannelStatusPlots");
193 
194  for (int i=0; i<768; i++)
195  {
196  for (int j=0; j<5; j++)
197  nReadStrips[i][j]=0;
198  }
199 
200  // Initialize histograms
201  subDetName.push_back(""); subDetName.push_back("TIB"); subDetName.push_back("TID"); subDetName.push_back("TOB"); subDetName.push_back("TEC");
202  std::string histoName;
203  std::string histoTitle;
204  for(unsigned int i = 0; i < subDetName.size(); i++)
205  {
206  histoName = "distanceVsStripNumber" + subDetName[i];
207  histoTitle = "Distance between hot strips vs. strip number";
208  if(i!=0)
209  histoTitle += " in " + subDetName[i];
210  tmp = dqmStore_->book2D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5, 999, 0.5, 999.5);
211  distanceVsStripNumber.push_back(tmp->getTH2F());
212 
213  histoName = "pfxDistanceVsStripNumber" + subDetName[i];
214  tmp_prof = new TProfile(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
215  tmp = dqmStore_->bookProfile(histoName.c_str(), tmp_prof);
217  pfxDistanceVsStripNumber[i]->GetXaxis()->SetTitle("Strip");
218  pfxDistanceVsStripNumber[i]->GetYaxis()->SetTitle("Distance");
219 
220  histoName = "projXDistanceVsStripNumber" + subDetName[i];
221  histoTitle = "Number of hot strips vs. strip number";
222  if(i!=0)
223  histoTitle += " in " + subDetName[i];
224  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
225  projXDistanceVsStripNumber.push_back(tmp->getTH1F());
226  projXDistanceVsStripNumber[i]->GetXaxis()->SetTitle("Strip");
227  projXDistanceVsStripNumber[i]->GetYaxis()->SetTitle("N_{hot}");
228 
229  histoName = "projYDistanceVsStripNumber" + subDetName[i];
230  histoTitle = "Distribution of distance between hot strips";
231  if(i!=0)
232  histoTitle += " in " + subDetName[i];
233  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 999, 0.5, 999.5);
234  projYDistanceVsStripNumber.push_back(tmp->getTH1F());
235  projYDistanceVsStripNumber[i]->GetXaxis()->SetTitle("Distance");
236  projYDistanceVsStripNumber[i]->GetYaxis()->SetTitle("N_{strips}");
237 
238  //
239  histoName = "occupancyVsStripNumber" + subDetName[i];
240  histoTitle = "Occupancy of strips vs. strip number";
241  if(i!=0)
242  histoTitle += " in " + subDetName[i];
243  tmp = dqmStore_->book2D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5, 1000, -8.,0.);
244  occupancyVsStripNumber.push_back(tmp->getTH2F());
245 
246  histoName = "pfxOccupancyVsStripNumber" + subDetName[i];
247  tmp_prof = new TProfile(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
248  tmp = dqmStore_->bookProfile(histoName.c_str(), tmp_prof);
250  pfxOccupancyVsStripNumber[i]->GetXaxis()->SetTitle("Strip");
251  pfxOccupancyVsStripNumber[i]->GetYaxis()->SetTitle("log_{10}(Occupancy)");
252 
253  histoName = "projYOccupancyVsStripNumber" + subDetName[i];
254  histoTitle = "Distribution of strip occupancy";
255  if(i!=0)
256  histoTitle += " in " + subDetName[i];
257  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 1000, -8., 0.);
259  projYOccupancyVsStripNumber[i]->GetXaxis()->SetTitle("log_{10}(Occupancy)");
260  projYOccupancyVsStripNumber[i]->GetYaxis()->SetTitle("N_{strips}");
261 
262  //
263  histoName = "occupancyHotStripsVsStripNumber" + subDetName[i];
264  histoTitle = "Occupancy of hot strips vs. strip number";
265  if(i!=0)
266  histoTitle += " in " + subDetName[i];
267  tmp = dqmStore_->book2D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5, 1000, -8., 0.);
269 
270  histoName = "pfxOccupancyHotStripsVsStripNumber" + subDetName[i];
271  tmp_prof = new TProfile(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
272  tmp = dqmStore_->bookProfile(histoName.c_str(), tmp_prof);
274  pfxOccupancyHotStripsVsStripNumber[i]->GetXaxis()->SetTitle("Strip");
275  pfxOccupancyHotStripsVsStripNumber[i]->GetYaxis()->SetTitle("log_{10}(Occupancy)");
276 
277  histoName = "projYOccupancyHotStripsVsStripNumber" + subDetName[i];
278  histoTitle = "Distribution of hot strip occupancy";
279  if(i!=0)
280  histoTitle += " in " + subDetName[i];
281  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 1000, -8., 0.);
283  projYOccupancyHotStripsVsStripNumber[i]->GetXaxis()->SetTitle("log_{10}(Occupancy)");
284  projYOccupancyHotStripsVsStripNumber[i]->GetYaxis()->SetTitle("N_{strips}");
285 
286  //
287  histoName = "occupancyGoodStripsVsStripNumber" + subDetName[i];
288  histoTitle = "Occupancy of good strips vs. strip number";
289  if(i!=0)
290  histoTitle += " in " + subDetName[i];
291  tmp = dqmStore_->book2D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5, 1000, -8., 0.);
293 
294  histoName = "pfxOccupancyGoodStripsVsStripNumber" + subDetName[i];
295  tmp_prof = new TProfile(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
296  tmp = dqmStore_->bookProfile(histoName.c_str(), tmp_prof);
298  pfxOccupancyGoodStripsVsStripNumber[i]->GetXaxis()->SetTitle("Strip");
299  pfxOccupancyGoodStripsVsStripNumber[i]->GetYaxis()->SetTitle("log_{10}(Occupancy)");
300 
301  histoName = "projYOccupancyGoodStripsVsStripNumber" + subDetName[i];
302  histoTitle = "Distribution of good strip occupancy";
303  if(i!=0)
304  histoTitle += " in " + subDetName[i];
305  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 1000, -8., 0.);
307  projYOccupancyGoodStripsVsStripNumber[i]->GetXaxis()->SetTitle("log_{10}(Occupancy)");
308  projYOccupancyGoodStripsVsStripNumber[i]->GetYaxis()->SetTitle("N_{strips}");
309 
310  //
311  histoName = "poissonProbVsStripNumber" + subDetName[i];
312  histoTitle = "Poisson probability of strips vs. strip number";
313  if(i!=0)
314  histoTitle += " in " + subDetName[i];
315  tmp = dqmStore_->book2D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5, 1000, -18., 0.);
316  poissonProbVsStripNumber.push_back(tmp->getTH2F());
317 
318  histoName = "pfxPoissonProbVsStripNumber" + subDetName[i];
319  tmp_prof = new TProfile(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
320  tmp = dqmStore_->bookProfile(histoName.c_str(), tmp_prof);
322  pfxPoissonProbVsStripNumber[i]->GetXaxis()->SetTitle("Strip");
323  pfxPoissonProbVsStripNumber[i]->GetYaxis()->SetTitle("log_{10}(Probability)");
324 
325  histoName = "projYPoissonProbVsStripNumber" + subDetName[i];
326  histoTitle = "Distribution of strip Poisson probability";
327  if(i!=0)
328  histoTitle += " in " + subDetName[i];
329  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 1000, -18., 0.);
331  projYPoissonProbVsStripNumber[i]->GetXaxis()->SetTitle("log_{10}(Probability)");
332  projYPoissonProbVsStripNumber[i]->GetYaxis()->SetTitle("N_{strips}");
333 
334  //
335  histoName = "poissonProbHotStripsVsStripNumber" + subDetName[i];
336  histoTitle = "Poisson probability of hot strips vs. strip number";
337  if(i!=0)
338  histoTitle += " in " + subDetName[i];
339  tmp = dqmStore_->book2D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5, 1000, -18., 0.);
341 
342  histoName = "pfxPoissonProbHotStripsVsStripNumber" + subDetName[i];
343  tmp_prof = new TProfile(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
344  tmp = dqmStore_->bookProfile(histoName.c_str(), tmp_prof);
346  pfxPoissonProbHotStripsVsStripNumber[i]->GetXaxis()->SetTitle("Strip");
347  pfxPoissonProbHotStripsVsStripNumber[i]->GetYaxis()->SetTitle("log_{10}(Probability)");
348 
349  histoName = "projYPoissonProbHotStripsVsStripNumber" + subDetName[i];
350  histoTitle = "Distribution of hot strip Poisson probability";
351  if(i!=0)
352  histoTitle += " in " + subDetName[i];
353  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 1000, -18., 0.);
355  projYPoissonProbHotStripsVsStripNumber[i]->GetXaxis()->SetTitle("log_{10}(Probability)");
356  projYPoissonProbHotStripsVsStripNumber[i]->GetYaxis()->SetTitle("N_{strips}");
357 
358  //
359  histoName = "poissonProbGoodStripsVsStripNumber" + subDetName[i];
360  histoTitle = "Poisson probability of good strips vs. strip number";
361  if(i!=0)
362  histoTitle += " in " + subDetName[i];
363  tmp = dqmStore_->book2D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5, 1000, -18., 0.);
365 
366  histoName = "pfxPoissonProbGoodStripsVsStripNumber" + subDetName[i];
367  tmp_prof = new TProfile(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
368  tmp = dqmStore_->bookProfile(histoName.c_str(), tmp_prof);
370  pfxPoissonProbGoodStripsVsStripNumber[i]->GetXaxis()->SetTitle("Strip");
371  pfxPoissonProbGoodStripsVsStripNumber[i]->GetYaxis()->SetTitle("log_{10}(Probability)");
372 
373  histoName = "projYPoissonProbGoodStripsVsStripNumber" + subDetName[i];
374  histoTitle = "Distribution of good strip Poisson probability";
375  if(i!=0)
376  histoTitle += " in " + subDetName[i];
377  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 1000, -18., 0.);
379  projYPoissonProbGoodStripsVsStripNumber[i]->GetXaxis()->SetTitle("log_{10}(Probability)");
380  projYPoissonProbGoodStripsVsStripNumber[i]->GetYaxis()->SetTitle("N_{strips}");
381 
382  //
383  histoName = "nHitsVsStripNumber" + subDetName[i];
384  histoTitle = "NHits in strips vs. strip number";
385  if(i!=0)
386  histoTitle += " in " + subDetName[i];
387  tmp = dqmStore_->book2D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5, 10000, -0.5, 9999.5);
388  nHitsVsStripNumber.push_back(tmp->getTH2F());
389 
390  histoName = "pfxNHitsVsStripNumber" + subDetName[i];
391  tmp_prof = new TProfile(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
392  tmp = dqmStore_->bookProfile(histoName.c_str(), tmp_prof);
393  pfxNHitsVsStripNumber.push_back(tmp->getTProfile());
394 
395  histoName = "projXNHitsVsStripNumber" + subDetName[i];
396  histoTitle = "Cumulative nHits in strips vs. strip number";
397  if(i!=0)
398  histoTitle += " in " + subDetName[i];
399  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
400  projXNHitsVsStripNumber.push_back(tmp->getTH1F());
401 
402  histoName = "projYNHitsVsStripNumber" + subDetName[i];
403  histoTitle = "Distribution of nHits for all strips";
404  if(i!=0)
405  histoTitle += " in " + subDetName[i];
406  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 10000, -0.5, 9999.5);
407  projYNHitsVsStripNumber.push_back(tmp->getTH1F());
408  projYNHitsVsStripNumber[i]->GetXaxis()->SetTitle("N_{hits}");
409  projYNHitsVsStripNumber[i]->GetYaxis()->SetTitle("N_{strips}");
410 
411  //
412  histoName = "nHitsHotStripsVsStripNumber" + subDetName[i];
413  histoTitle = "NHits in hot strips vs. strip number";
414  if(i!=0)
415  histoTitle += " in " + subDetName[i];
416  tmp = dqmStore_->book2D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5, 10000, -0.5, 9999.5);
418 
419  histoName = "pfxNHitsHotStripsVsStripNumber" + subDetName[i];
420  tmp_prof = new TProfile(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
421  tmp = dqmStore_->bookProfile(histoName.c_str(), tmp_prof);
423 
424  histoName = "projXNHitsHotStripsVsStripNumber" + subDetName[i];
425  histoTitle = "Cumulative nHits in hot strips vs. strip number";
426  if(i!=0)
427  histoTitle += " in " + subDetName[i];
428  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
430 
431  histoName = "projYNHitsHotStripsVsStripNumber" + subDetName[i];
432  histoTitle = "Distribution of nHits for hot strips";
433  if(i!=0)
434  histoTitle += " in " + subDetName[i];
435  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 10000, -0.5, 9999.5);
437  projYNHitsHotStripsVsStripNumber[i]->GetXaxis()->SetTitle("N_{hits}");
438  projYNHitsHotStripsVsStripNumber[i]->GetYaxis()->SetTitle("N_{strips}");
439 
440  //
441  histoName = "nHitsGoodStripsVsStripNumber" + subDetName[i];
442  histoTitle = "NHits in good strips vs. strip number";
443  if(i!=0)
444  histoTitle += " in " + subDetName[i];
445  tmp = dqmStore_->book2D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5, 10000, -0.5, 9999.5);
447 
448  histoName = "pfxNHitsGoodStripsVsStripNumber" + subDetName[i];
449  tmp_prof = new TProfile(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
450  tmp = dqmStore_->bookProfile(histoName.c_str(), tmp_prof);
452 
453  histoName = "projXNHitsGoodStripsVsStripNumber" + subDetName[i];
454  histoTitle = "Cumulative nHits in good strips vs. strip number";
455  if(i!=0)
456  histoTitle += " in " + subDetName[i];
457  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
459 
460  histoName = "projYNHitsGoodStripsVsStripNumber" + subDetName[i];
461  histoTitle = "Distribution of nHits for good strips";
462  if(i!=0)
463  histoTitle += " in " + subDetName[i];
464  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 10000, -0.5, 9999.5);
466  projYNHitsGoodStripsVsStripNumber[i]->GetXaxis()->SetTitle("N_{hits}");
467  projYNHitsGoodStripsVsStripNumber[i]->GetYaxis()->SetTitle("N_{strips}");
468  }
469 
470 }
std::vector< TH2F * > occupancyVsStripNumber
MonitorElement * book2D(char_string const &name, char_string const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
Definition: DQMStore.cc:1173
TProfile * getTProfile() const
unsigned int nReadStrips[768][5]
std::vector< TProfile * > pfxNHitsVsStripNumber
std::vector< TH1F * > projXNHitsGoodStripsVsStripNumber
std::vector< TH2F * > poissonProbGoodStripsVsStripNumber
std::vector< TH2F * > poissonProbVsStripNumber
std::vector< TH2F * > nHitsHotStripsVsStripNumber
TH1F * getTH1F() const
std::vector< TH1F * > projYPoissonProbHotStripsVsStripNumber
std::vector< TH2F * > distanceVsStripNumber
std::vector< TProfile * > pfxNHitsGoodStripsVsStripNumber
std::vector< TProfile * > pfxPoissonProbVsStripNumber
std::vector< TH2F * > nHitsVsStripNumber
std::vector< TProfile * > pfxPoissonProbGoodStripsVsStripNumber
MonitorElement * book1D(char_string const &name, char_string const &title, int const nchX, double const lowX, double const highX)
Book 1D histogram.
Definition: DQMStore.cc:1098
std::vector< TH1F * > projYNHitsVsStripNumber
std::vector< TH2F * > nHitsGoodStripsVsStripNumber
std::vector< TH1F * > projXNHitsHotStripsVsStripNumber
std::vector< TH2F * > poissonProbHotStripsVsStripNumber
std::vector< TH1F * > projYNHitsHotStripsVsStripNumber
std::vector< TH2F * > occupancyHotStripsVsStripNumber
std::vector< TH1F * > projXDistanceVsStripNumber
std::vector< TH1F * > projYPoissonProbGoodStripsVsStripNumber
std::vector< TH1F * > projYOccupancyVsStripNumber
std::vector< TH1F * > projYNHitsGoodStripsVsStripNumber
std::vector< TH1F * > projYPoissonProbVsStripNumber
std::vector< TH1F * > projXNHitsVsStripNumber
std::vector< TProfile * > pfxNHitsHotStripsVsStripNumber
std::vector< std::string > subDetName
std::vector< TProfile * > pfxOccupancyHotStripsVsStripNumber
TH2F * getTH2F() const
std::vector< TProfile * > pfxPoissonProbHotStripsVsStripNumber
std::vector< TProfile * > pfxDistanceVsStripNumber
void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:571
std::vector< TProfile * > pfxOccupancyVsStripNumber
MonitorElement * bookProfile(char_string const &name, char_string const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, char const *option="s")
Definition: DQMStore.cc:1285
std::vector< TProfile * > pfxOccupancyGoodStripsVsStripNumber
std::ostringstream oss
std::vector< TH1F * > projYDistanceVsStripNumber
std::vector< TH1F * > projYOccupancyGoodStripsVsStripNumber
std::vector< TH2F * > occupancyGoodStripsVsStripNumber
std::vector< TH1F * > projYOccupancyHotStripsVsStripNumber
void StripValidationPlots::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 474 of file StripValidationPlots.cc.

References APVChannel, DQMStore::cd(), gather_cfg::cout, DEFINE_FWK_MODULE, DetRawId, Disc, distance, distanceL, distanceR, distanceVsStripNumber, dqmStore_, firstEntry, HotStripsPerAPV, HotStripsPerModule, mps_fire::i, infile, infilename, intree, IsBack, IsExternalString, IsHot, IsStereo, IsZMinusSide, Layer_Ring, ModulePosition, nHitsGoodStripsVsStripNumber, nHitsHotStripsVsStripNumber, nHitsVsStripNumber, nReadStrips, NumberOfStrips, occupancyGoodStripsVsStripNumber, occupancyHotStripsVsStripNumber, occupancyVsStripNumber, outfilename, pfxDistanceVsStripNumber, pfxOccupancyGoodStripsVsStripNumber, pfxOccupancyHotStripsVsStripNumber, pfxOccupancyVsStripNumber, pfxPoissonProbGoodStripsVsStripNumber, pfxPoissonProbHotStripsVsStripNumber, pfxPoissonProbVsStripNumber, PoissonProb, poissonProbGoodStripsVsStripNumber, poissonProbHotStripsVsStripNumber, poissonProbVsStripNumber, projXDistanceVsStripNumber, projYDistanceVsStripNumber, projYNHitsGoodStripsVsStripNumber, projYNHitsHotStripsVsStripNumber, projYNHitsVsStripNumber, projYOccupancyGoodStripsVsStripNumber, projYOccupancyHotStripsVsStripNumber, projYOccupancyVsStripNumber, projYPoissonProbGoodStripsVsStripNumber, projYPoissonProbHotStripsVsStripNumber, projYPoissonProbVsStripNumber, RodStringPetal, DQMStore::save(), savedDetRawId, savedNStrips, savedSubDetId, AlCaHLTBitMon_QueryRunRegistry::string, StripGlobalPositionX, StripGlobalPositionY, StripGlobalPositionZ, StripHits, StripNumber, StripOccupancy, SubDetId, subDetName, and vHotStripsInModule.

474  {
475 
476  infile = new TFile(infilename.c_str(),"READ");
477  intree = (TTree*)infile->Get("stripOccupancy");
478 
479  intree->SetBranchAddress("DetRawId", &DetRawId);
480  intree->SetBranchAddress("SubDetId", &SubDetId);
481  intree->SetBranchAddress("Layer_Ring", &Layer_Ring);
482  intree->SetBranchAddress("Disc", &Disc);
483  intree->SetBranchAddress("IsBack", &IsBack);
484  intree->SetBranchAddress("IsExternalString", &IsExternalString);
485  intree->SetBranchAddress("IsZMinusSide", &IsZMinusSide);
486  intree->SetBranchAddress("RodStringPetal", &RodStringPetal);
487  intree->SetBranchAddress("IsStereo", &IsStereo);
488  intree->SetBranchAddress("ModulePosition", &ModulePosition);
489  intree->SetBranchAddress("NumberOfStrips", &NumberOfStrips);
490  intree->SetBranchAddress("StripNumber", &StripNumber);
491  intree->SetBranchAddress("APVChannel", &APVChannel);
492  intree->SetBranchAddress("StripGlobalPositionX", &StripGlobalPositionX);
493  intree->SetBranchAddress("StripGlobalPositionY", &StripGlobalPositionY);
494  intree->SetBranchAddress("StripGlobalPositionZ", &StripGlobalPositionZ);
495  intree->SetBranchAddress("IsHot", &IsHot);
496  intree->SetBranchAddress("HotStripsPerAPV", &HotStripsPerAPV);
497  intree->SetBranchAddress("HotStripsPerModule", &HotStripsPerModule);
498  intree->SetBranchAddress("StripOccupancy", &StripOccupancy);
499  intree->SetBranchAddress("StripHits", &StripHits);
500  intree->SetBranchAddress("PoissonProb", &PoissonProb);
501 
502  for (int i=0; i<intree->GetEntries(); /* */)
503  {
504  intree->GetEntry(i);
505 
507  firstEntry = i;
510  vHotStripsInModule.clear();
511 
512  for(int j = firstEntry; j < firstEntry + savedNStrips; j++)
513  {
514  intree->GetEntry(j);
515 
516  if(DetRawId != savedDetRawId)
517  {
518  std::cout << "ERROR! DetRawId changed but I expected to be on the same module!\n";
519  return;
520  }
521 
522  double logStripOccupancy = log10(StripOccupancy);
523  double logPoissonProb = log10(fabs(PoissonProb));
524 
525  (nReadStrips[StripNumber-1][0])++;
526  (nReadStrips[StripNumber-1][SubDetId-2])++;
527  //std::cout << "StripNumber = " << StripNumber << ", SubDetId = " << SubDetId << ", nReadStripsAll = " << nReadStrips[StripNumber-1][0] << ", nReadStripsSubDet = " << nReadStrips[StripNumber-1][SubDetId-2] << std::endl;
528  occupancyVsStripNumber[0]->Fill(StripNumber,logStripOccupancy);
529  occupancyVsStripNumber[SubDetId-2]->Fill(StripNumber,logStripOccupancy);
530  poissonProbVsStripNumber[0]->Fill(StripNumber,logPoissonProb);
531  poissonProbVsStripNumber[SubDetId-2]->Fill(StripNumber,logPoissonProb);
534 
535  if(IsHot)
536  {
537  vHotStripsInModule.push_back(StripNumber);
538  // std::cout << "detId = " << DetRawId << ", StripN = " << StripNumber << ", StripOccupancy = " << StripOccupancy << " PoissonProb = " << PoissonProb << std::endl ;
539  occupancyHotStripsVsStripNumber[0]->Fill(StripNumber,logStripOccupancy);
540  occupancyHotStripsVsStripNumber[SubDetId-2]->Fill(StripNumber,logStripOccupancy);
541  poissonProbHotStripsVsStripNumber[0]->Fill(StripNumber,logPoissonProb);
542  poissonProbHotStripsVsStripNumber[SubDetId-2]->Fill(StripNumber,logPoissonProb);
545  }
546  else
547  {
548  occupancyGoodStripsVsStripNumber[0]->Fill(StripNumber,logStripOccupancy);
549  occupancyGoodStripsVsStripNumber[SubDetId-2]->Fill(StripNumber,logStripOccupancy);
550  poissonProbGoodStripsVsStripNumber[0]->Fill(StripNumber,logPoissonProb);
554  }
555  }
556 
557  if(vHotStripsInModule.size()==1)
558  {
559  distance = 999;
562  }
563  else if(vHotStripsInModule.size()>1)
564  {
565  for(unsigned int iVec = 0; iVec != vHotStripsInModule.size(); iVec++)
566  {
567  if(iVec==0)
569  else if(iVec==vHotStripsInModule.size()-1)
570  {
571  distance = vHotStripsInModule[vHotStripsInModule.size()-1] - vHotStripsInModule[vHotStripsInModule.size() -2];
572  }
573  else if(vHotStripsInModule.size()>2)
574  {
575  distanceR = vHotStripsInModule[iVec + 1] - vHotStripsInModule[iVec];
576  distanceL = vHotStripsInModule[iVec] - vHotStripsInModule[iVec - 1];
578  }
579  else
580  {
581  std::cout << "ERROR! distance is never computed!!!\n";
582  }
583  // std::cout << "detId = " << savedDetRawId << ", StripN = " << vHotStripsInModule[iVec] << ", distance = " << distance << std::endl;
584  distanceVsStripNumber[0]->Fill(vHotStripsInModule[iVec], distance);
585  distanceVsStripNumber[savedSubDetId-2]->Fill(vHotStripsInModule[iVec], distance);
586  }
587  }
588 
589  i+=savedNStrips;
590 
591  }
592 
593 
594  std::string histoName;
595  std::string histoTitle;
596 
597  for(unsigned int i = 0; i < subDetName.size(); i++)
598  {
599  projYDistanceVsStripNumber[i]->Add((TH1F*)distanceVsStripNumber[i]->ProjectionY());
600  pfxDistanceVsStripNumber[i]->Add(distanceVsStripNumber[i]->ProfileX(pfxDistanceVsStripNumber[i]->GetName(),1,998));
601  projYNHitsVsStripNumber[i]->Add(nHitsVsStripNumber[i]->ProjectionY());
604  projYOccupancyVsStripNumber[i]->Add(occupancyVsStripNumber[i]->ProjectionY());
607  pfxOccupancyVsStripNumber[i]->Add(occupancyVsStripNumber[i]->ProfileX(pfxOccupancyVsStripNumber[i]->GetName(),-8.,0.));
616  projXDistanceVsStripNumber[i]->Add(distanceVsStripNumber[i]->ProjectionX(projXDistanceVsStripNumber[i]->GetName(),1,998));
617 
618  }
619 
620  dqmStore_->cd();
621  dqmStore_->save(outfilename,"ChannelStatusPlots");
622 
623 }
std::vector< TH2F * > occupancyVsStripNumber
unsigned int nReadStrips[768][5]
std::vector< TH2F * > poissonProbGoodStripsVsStripNumber
std::vector< TH2F * > poissonProbVsStripNumber
std::vector< TH2F * > nHitsHotStripsVsStripNumber
std::vector< TH1F * > projYPoissonProbHotStripsVsStripNumber
std::vector< TH2F * > distanceVsStripNumber
std::vector< TProfile * > pfxPoissonProbVsStripNumber
std::vector< TH2F * > nHitsVsStripNumber
std::vector< TProfile * > pfxPoissonProbGoodStripsVsStripNumber
std::vector< TH1F * > projYNHitsVsStripNumber
std::vector< TH2F * > nHitsGoodStripsVsStripNumber
std::vector< TH2F * > poissonProbHotStripsVsStripNumber
std::vector< TH1F * > projYNHitsHotStripsVsStripNumber
std::vector< TH2F * > occupancyHotStripsVsStripNumber
std::vector< TH1F * > projXDistanceVsStripNumber
std::vector< TH1F * > projYPoissonProbGoodStripsVsStripNumber
std::vector< TH1F * > projYOccupancyVsStripNumber
std::vector< TH1F * > projYNHitsGoodStripsVsStripNumber
std::vector< TH1F * > projYPoissonProbVsStripNumber
std::vector< std::string > subDetName
std::vector< TProfile * > pfxOccupancyHotStripsVsStripNumber
std::vector< TProfile * > pfxPoissonProbHotStripsVsStripNumber
std::vector< TProfile * > pfxDistanceVsStripNumber
std::vector< TProfile * > pfxOccupancyVsStripNumber
void cd()
go to top directory (ie. root)
Definition: DQMStore.cc:546
std::vector< TProfile * > pfxOccupancyGoodStripsVsStripNumber
void save(std::string const &filename, std::string const &path="", std::string const &pattern="", std::string const &rewrite="", uint32_t run=0, uint32_t lumi=0, SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, std::string const &fileupdate="RECREATE")
Definition: DQMStore.cc:2465
std::vector< unsigned int > vHotStripsInModule
std::vector< TH1F * > projYDistanceVsStripNumber
std::vector< TH1F * > projYOccupancyGoodStripsVsStripNumber
std::vector< TH2F * > occupancyGoodStripsVsStripNumber
std::vector< TH1F * > projYOccupancyHotStripsVsStripNumber

Member Data Documentation

Int_t StripValidationPlots::APVChannel
private

Definition at line 119 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::DetRawId
private

Definition at line 107 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::Disc
private

Definition at line 110 of file StripValidationPlots.cc.

Referenced by endJob().

unsigned int StripValidationPlots::distance
private

Definition at line 136 of file StripValidationPlots.cc.

Referenced by endJob().

unsigned int StripValidationPlots::distanceL
private

Definition at line 137 of file StripValidationPlots.cc.

Referenced by endJob().

unsigned int StripValidationPlots::distanceR
private

Definition at line 137 of file StripValidationPlots.cc.

Referenced by endJob().

std::vector<TH2F*> StripValidationPlots::distanceVsStripNumber
private

Definition at line 60 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

DQMStore* StripValidationPlots::dqmStore_
private

Definition at line 54 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

Int_t StripValidationPlots::firstEntry
private

Definition at line 134 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::HotStripsPerAPV
private

Definition at line 124 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::HotStripsPerModule
private

Definition at line 125 of file StripValidationPlots.cc.

Referenced by endJob().

TFile* StripValidationPlots::infile
private

Definition at line 103 of file StripValidationPlots.cc.

Referenced by endJob().

std::string StripValidationPlots::infilename
private

Definition at line 100 of file StripValidationPlots.cc.

Referenced by endJob().

TTree* StripValidationPlots::intree
private

Definition at line 104 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::IsBack
private

Definition at line 111 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::IsExternalString
private

Definition at line 112 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::IsHot
private

Definition at line 123 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::IsStereo
private

Definition at line 115 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::IsZMinusSide
private

Definition at line 113 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::Layer_Ring
private

Definition at line 109 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::ModulePosition
private

Definition at line 116 of file StripValidationPlots.cc.

Referenced by endJob().

std::vector<TH2F*> StripValidationPlots::nHitsGoodStripsVsStripNumber
private

Definition at line 93 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

std::vector<TH2F*> StripValidationPlots::nHitsHotStripsVsStripNumber
private

Definition at line 89 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

std::vector<TH2F*> StripValidationPlots::nHitsVsStripNumber
private

Definition at line 85 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

unsigned int StripValidationPlots::nReadStrips[768][5]
private

Definition at line 138 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

Int_t StripValidationPlots::NumberOfStrips
private

Definition at line 117 of file StripValidationPlots.cc.

Referenced by endJob().

std::vector<TH2F*> StripValidationPlots::occupancyGoodStripsVsStripNumber
private

Definition at line 71 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

std::vector<TH2F*> StripValidationPlots::occupancyHotStripsVsStripNumber
private

Definition at line 68 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

std::vector<TH2F*> StripValidationPlots::occupancyVsStripNumber
private

Definition at line 65 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

std::ostringstream StripValidationPlots::oss
private

Definition at line 52 of file StripValidationPlots.cc.

Referenced by beginJob().

std::string StripValidationPlots::outfilename
private

Definition at line 101 of file StripValidationPlots.cc.

Referenced by endJob().

std::vector<TProfile*> StripValidationPlots::pfxDistanceVsStripNumber
private

Definition at line 61 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

std::vector<TProfile*> StripValidationPlots::pfxNHitsGoodStripsVsStripNumber
private

Definition at line 94 of file StripValidationPlots.cc.

Referenced by beginJob().

std::vector<TProfile*> StripValidationPlots::pfxNHitsHotStripsVsStripNumber
private

Definition at line 90 of file StripValidationPlots.cc.

Referenced by beginJob().

std::vector<TProfile*> StripValidationPlots::pfxNHitsVsStripNumber
private

Definition at line 86 of file StripValidationPlots.cc.

Referenced by beginJob().

std::vector<TProfile*> StripValidationPlots::pfxOccupancyGoodStripsVsStripNumber
private

Definition at line 72 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

std::vector<TProfile*> StripValidationPlots::pfxOccupancyHotStripsVsStripNumber
private

Definition at line 69 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

std::vector<TProfile*> StripValidationPlots::pfxOccupancyVsStripNumber
private

Definition at line 66 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

std::vector<TProfile*> StripValidationPlots::pfxPoissonProbGoodStripsVsStripNumber
private

Definition at line 82 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

std::vector<TProfile*> StripValidationPlots::pfxPoissonProbHotStripsVsStripNumber
private

Definition at line 79 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

std::vector<TProfile*> StripValidationPlots::pfxPoissonProbVsStripNumber
private

Definition at line 76 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

Double_t StripValidationPlots::PoissonProb
private

Definition at line 128 of file StripValidationPlots.cc.

Referenced by endJob().

std::vector<TH2F*> StripValidationPlots::poissonProbGoodStripsVsStripNumber
private

Definition at line 81 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

std::vector<TH2F*> StripValidationPlots::poissonProbHotStripsVsStripNumber
private

Definition at line 78 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

std::vector<TH2F*> StripValidationPlots::poissonProbVsStripNumber
private

Definition at line 75 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

std::vector<TH1F*> StripValidationPlots::projXDistanceVsStripNumber
private

Definition at line 62 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

std::vector<TH1F*> StripValidationPlots::projXNHitsGoodStripsVsStripNumber
private

Definition at line 95 of file StripValidationPlots.cc.

Referenced by beginJob().

std::vector<TH1F*> StripValidationPlots::projXNHitsHotStripsVsStripNumber
private

Definition at line 91 of file StripValidationPlots.cc.

Referenced by beginJob().

std::vector<TH1F*> StripValidationPlots::projXNHitsVsStripNumber
private

Definition at line 87 of file StripValidationPlots.cc.

Referenced by beginJob().

std::vector<TH1F*> StripValidationPlots::projYDistanceVsStripNumber
private

Definition at line 63 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

std::vector<TH1F*> StripValidationPlots::projYNHitsGoodStripsVsStripNumber
private

Definition at line 96 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

std::vector<TH1F*> StripValidationPlots::projYNHitsHotStripsVsStripNumber
private

Definition at line 92 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

std::vector<TH1F*> StripValidationPlots::projYNHitsVsStripNumber
private

Definition at line 88 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

std::vector<TH1F*> StripValidationPlots::projYOccupancyGoodStripsVsStripNumber
private

Definition at line 73 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

std::vector<TH1F*> StripValidationPlots::projYOccupancyHotStripsVsStripNumber
private

Definition at line 70 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

std::vector<TH1F*> StripValidationPlots::projYOccupancyVsStripNumber
private

Definition at line 67 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

std::vector<TH1F*> StripValidationPlots::projYPoissonProbGoodStripsVsStripNumber
private

Definition at line 83 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

std::vector<TH1F*> StripValidationPlots::projYPoissonProbHotStripsVsStripNumber
private

Definition at line 80 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

std::vector<TH1F*> StripValidationPlots::projYPoissonProbVsStripNumber
private

Definition at line 77 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

Int_t StripValidationPlots::RodStringPetal
private

Definition at line 114 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::savedDetRawId
private

Definition at line 131 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::savedNStrips
private

Definition at line 132 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::savedSubDetId
private

Definition at line 133 of file StripValidationPlots.cc.

Referenced by endJob().

Float_t StripValidationPlots::StripGlobalPositionX
private

Definition at line 120 of file StripValidationPlots.cc.

Referenced by endJob().

Float_t StripValidationPlots::StripGlobalPositionY
private

Definition at line 121 of file StripValidationPlots.cc.

Referenced by endJob().

Float_t StripValidationPlots::StripGlobalPositionZ
private

Definition at line 122 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::StripHits
private

Definition at line 127 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::StripNumber
private

Definition at line 118 of file StripValidationPlots.cc.

Referenced by endJob().

Double_t StripValidationPlots::StripOccupancy
private

Definition at line 126 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::SubDetId
private

Definition at line 108 of file StripValidationPlots.cc.

Referenced by endJob().

std::vector<std::string> StripValidationPlots::subDetName
private

Definition at line 98 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

MonitorElement* StripValidationPlots::tmp
private

Definition at line 56 of file StripValidationPlots.cc.

Referenced by beginJob().

TProfile* StripValidationPlots::tmp_prof
private

Definition at line 57 of file StripValidationPlots.cc.

Referenced by beginJob().

std::vector<unsigned int> StripValidationPlots::vHotStripsInModule
private

Definition at line 135 of file StripValidationPlots.cc.

Referenced by endJob().