CMS 3D CMS Logo

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

Public Types

typedef dqm::legacy::DQMStore DQMStore
 
typedef dqm::legacy::MonitorElement MonitorElement
 
- Public Types inherited from edm::one::EDAnalyzerBase
typedef EDAnalyzerBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 

Public Member Functions

 StripValidationPlots (const edm::ParameterSet &)
 
 ~StripValidationPlots () override=default
 
- Public Member Functions inherited from edm::one::EDAnalyzer<>
 EDAnalyzer ()=default
 
 EDAnalyzer (const EDAnalyzer &)=delete
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
const EDAnalyzeroperator= (const EDAnalyzer &)=delete
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () const final
 
- Public Member Functions inherited from edm::one::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDAnalyzerBase () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESResolverIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESResolverIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (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::array< std::vector< ModuleDescription const *> *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, 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
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProductResolverIndices 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

- Static Public Member Functions inherited from edm::one::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< Bconsumes (edm::InputTag tag) noexcept
 
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 ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes ()
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag)
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
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)
 
void resetItemsToGetFrom (BranchType iType)
 

Detailed Description

Definition at line 35 of file StripValidationPlots.cc.

Member Typedef Documentation

◆ DQMStore

Definition at line 37 of file StripValidationPlots.cc.

◆ MonitorElement

Definition at line 38 of file StripValidationPlots.cc.

Constructor & Destructor Documentation

◆ StripValidationPlots()

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

Definition at line 141 of file StripValidationPlots.cc.

142  : infilename(iConfig.getUntrackedParameter<std::string>("inputFilename", "in.root")),
143  outfilename(iConfig.getUntrackedParameter<std::string>("outputFilename", "out.root"))
144 
145 {
146  //now do what ever initialization is needed
147 }
T getUntrackedParameter(std::string const &, T const &) const

◆ ~StripValidationPlots()

StripValidationPlots::~StripValidationPlots ( )
overridedefault

Member Function Documentation

◆ analyze()

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

Implements edm::one::EDAnalyzerBase.

Definition at line 154 of file StripValidationPlots.cc.

154 {}

◆ beginJob()

void StripValidationPlots::beginJob ( void  )
overrideprivatevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 157 of file StripValidationPlots.cc.

References dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), dqm::implementation::IBooker::bookProfile(), distanceVsStripNumber, dqmStore_, dqm::legacy::MonitorElement::getTH1F(), dqm::legacy::MonitorElement::getTH2F(), dqm::legacy::MonitorElement::getTProfile(), HltBtagPostValidation_cff::histoName, mps_fire::i, dqmiolumiharvest::j, 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, dqm::implementation::DQMStore::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, subDetName, tmp, and tmp_prof.

157  {
158  oss.str("");
159  oss << 1; //runNumber
160 
162  dqmStore_->setCurrentFolder("ChannelStatusPlots");
163 
164  for (int i = 0; i < 768; i++) {
165  for (int j = 0; j < 5; j++)
166  nReadStrips[i][j] = 0;
167  }
168 
169  // Initialize histograms
170  subDetName.push_back("");
171  subDetName.push_back("TIB");
172  subDetName.push_back("TID");
173  subDetName.push_back("TOB");
174  subDetName.push_back("TEC");
176  std::string histoTitle;
177  for (unsigned int i = 0; i < subDetName.size(); i++) {
178  histoName = "distanceVsStripNumber" + subDetName[i];
179  histoTitle = "Distance between hot strips vs. strip number";
180  if (i != 0)
181  histoTitle += " in " + subDetName[i];
182  tmp = dqmStore_->book2D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5, 999, 0.5, 999.5);
183  distanceVsStripNumber.push_back(tmp->getTH2F());
184 
185  histoName = "pfxDistanceVsStripNumber" + subDetName[i];
186  tmp_prof = new TProfile(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
189  pfxDistanceVsStripNumber[i]->GetXaxis()->SetTitle("Strip");
190  pfxDistanceVsStripNumber[i]->GetYaxis()->SetTitle("Distance");
191 
192  histoName = "projXDistanceVsStripNumber" + subDetName[i];
193  histoTitle = "Number of hot strips vs. strip number";
194  if (i != 0)
195  histoTitle += " in " + subDetName[i];
196  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
197  projXDistanceVsStripNumber.push_back(tmp->getTH1F());
198  projXDistanceVsStripNumber[i]->GetXaxis()->SetTitle("Strip");
199  projXDistanceVsStripNumber[i]->GetYaxis()->SetTitle("N_{hot}");
200 
201  histoName = "projYDistanceVsStripNumber" + subDetName[i];
202  histoTitle = "Distribution of distance between hot strips";
203  if (i != 0)
204  histoTitle += " in " + subDetName[i];
205  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 999, 0.5, 999.5);
206  projYDistanceVsStripNumber.push_back(tmp->getTH1F());
207  projYDistanceVsStripNumber[i]->GetXaxis()->SetTitle("Distance");
208  projYDistanceVsStripNumber[i]->GetYaxis()->SetTitle("N_{strips}");
209 
210  //
211  histoName = "occupancyVsStripNumber" + subDetName[i];
212  histoTitle = "Occupancy of strips vs. strip number";
213  if (i != 0)
214  histoTitle += " in " + subDetName[i];
215  tmp = dqmStore_->book2D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5, 1000, -8., 0.);
216  occupancyVsStripNumber.push_back(tmp->getTH2F());
217 
218  histoName = "pfxOccupancyVsStripNumber" + subDetName[i];
219  tmp_prof = new TProfile(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
222  pfxOccupancyVsStripNumber[i]->GetXaxis()->SetTitle("Strip");
223  pfxOccupancyVsStripNumber[i]->GetYaxis()->SetTitle("log_{10}(Occupancy)");
224 
225  histoName = "projYOccupancyVsStripNumber" + subDetName[i];
226  histoTitle = "Distribution of strip occupancy";
227  if (i != 0)
228  histoTitle += " in " + subDetName[i];
229  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 1000, -8., 0.);
231  projYOccupancyVsStripNumber[i]->GetXaxis()->SetTitle("log_{10}(Occupancy)");
232  projYOccupancyVsStripNumber[i]->GetYaxis()->SetTitle("N_{strips}");
233 
234  //
235  histoName = "occupancyHotStripsVsStripNumber" + subDetName[i];
236  histoTitle = "Occupancy of hot strips vs. strip number";
237  if (i != 0)
238  histoTitle += " in " + subDetName[i];
239  tmp = dqmStore_->book2D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5, 1000, -8., 0.);
241 
242  histoName = "pfxOccupancyHotStripsVsStripNumber" + subDetName[i];
243  tmp_prof = new TProfile(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
246  pfxOccupancyHotStripsVsStripNumber[i]->GetXaxis()->SetTitle("Strip");
247  pfxOccupancyHotStripsVsStripNumber[i]->GetYaxis()->SetTitle("log_{10}(Occupancy)");
248 
249  histoName = "projYOccupancyHotStripsVsStripNumber" + subDetName[i];
250  histoTitle = "Distribution of hot strip occupancy";
251  if (i != 0)
252  histoTitle += " in " + subDetName[i];
253  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 1000, -8., 0.);
255  projYOccupancyHotStripsVsStripNumber[i]->GetXaxis()->SetTitle("log_{10}(Occupancy)");
256  projYOccupancyHotStripsVsStripNumber[i]->GetYaxis()->SetTitle("N_{strips}");
257 
258  //
259  histoName = "occupancyGoodStripsVsStripNumber" + subDetName[i];
260  histoTitle = "Occupancy of good strips vs. strip number";
261  if (i != 0)
262  histoTitle += " in " + subDetName[i];
263  tmp = dqmStore_->book2D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5, 1000, -8., 0.);
265 
266  histoName = "pfxOccupancyGoodStripsVsStripNumber" + subDetName[i];
267  tmp_prof = new TProfile(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
270  pfxOccupancyGoodStripsVsStripNumber[i]->GetXaxis()->SetTitle("Strip");
271  pfxOccupancyGoodStripsVsStripNumber[i]->GetYaxis()->SetTitle("log_{10}(Occupancy)");
272 
273  histoName = "projYOccupancyGoodStripsVsStripNumber" + subDetName[i];
274  histoTitle = "Distribution of good strip occupancy";
275  if (i != 0)
276  histoTitle += " in " + subDetName[i];
277  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 1000, -8., 0.);
279  projYOccupancyGoodStripsVsStripNumber[i]->GetXaxis()->SetTitle("log_{10}(Occupancy)");
280  projYOccupancyGoodStripsVsStripNumber[i]->GetYaxis()->SetTitle("N_{strips}");
281 
282  //
283  histoName = "poissonProbVsStripNumber" + subDetName[i];
284  histoTitle = "Poisson probability of strips vs. strip number";
285  if (i != 0)
286  histoTitle += " in " + subDetName[i];
287  tmp = dqmStore_->book2D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5, 1000, -18., 0.);
288  poissonProbVsStripNumber.push_back(tmp->getTH2F());
289 
290  histoName = "pfxPoissonProbVsStripNumber" + subDetName[i];
291  tmp_prof = new TProfile(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
294  pfxPoissonProbVsStripNumber[i]->GetXaxis()->SetTitle("Strip");
295  pfxPoissonProbVsStripNumber[i]->GetYaxis()->SetTitle("log_{10}(Probability)");
296 
297  histoName = "projYPoissonProbVsStripNumber" + subDetName[i];
298  histoTitle = "Distribution of strip Poisson probability";
299  if (i != 0)
300  histoTitle += " in " + subDetName[i];
301  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 1000, -18., 0.);
303  projYPoissonProbVsStripNumber[i]->GetXaxis()->SetTitle("log_{10}(Probability)");
304  projYPoissonProbVsStripNumber[i]->GetYaxis()->SetTitle("N_{strips}");
305 
306  //
307  histoName = "poissonProbHotStripsVsStripNumber" + subDetName[i];
308  histoTitle = "Poisson probability of hot strips vs. strip number";
309  if (i != 0)
310  histoTitle += " in " + subDetName[i];
311  tmp = dqmStore_->book2D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5, 1000, -18., 0.);
313 
314  histoName = "pfxPoissonProbHotStripsVsStripNumber" + subDetName[i];
315  tmp_prof = new TProfile(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
318  pfxPoissonProbHotStripsVsStripNumber[i]->GetXaxis()->SetTitle("Strip");
319  pfxPoissonProbHotStripsVsStripNumber[i]->GetYaxis()->SetTitle("log_{10}(Probability)");
320 
321  histoName = "projYPoissonProbHotStripsVsStripNumber" + subDetName[i];
322  histoTitle = "Distribution of hot strip Poisson probability";
323  if (i != 0)
324  histoTitle += " in " + subDetName[i];
325  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 1000, -18., 0.);
327  projYPoissonProbHotStripsVsStripNumber[i]->GetXaxis()->SetTitle("log_{10}(Probability)");
328  projYPoissonProbHotStripsVsStripNumber[i]->GetYaxis()->SetTitle("N_{strips}");
329 
330  //
331  histoName = "poissonProbGoodStripsVsStripNumber" + subDetName[i];
332  histoTitle = "Poisson probability of good strips vs. strip number";
333  if (i != 0)
334  histoTitle += " in " + subDetName[i];
335  tmp = dqmStore_->book2D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5, 1000, -18., 0.);
337 
338  histoName = "pfxPoissonProbGoodStripsVsStripNumber" + subDetName[i];
339  tmp_prof = new TProfile(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
342  pfxPoissonProbGoodStripsVsStripNumber[i]->GetXaxis()->SetTitle("Strip");
343  pfxPoissonProbGoodStripsVsStripNumber[i]->GetYaxis()->SetTitle("log_{10}(Probability)");
344 
345  histoName = "projYPoissonProbGoodStripsVsStripNumber" + subDetName[i];
346  histoTitle = "Distribution of good strip Poisson probability";
347  if (i != 0)
348  histoTitle += " in " + subDetName[i];
349  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 1000, -18., 0.);
351  projYPoissonProbGoodStripsVsStripNumber[i]->GetXaxis()->SetTitle("log_{10}(Probability)");
352  projYPoissonProbGoodStripsVsStripNumber[i]->GetYaxis()->SetTitle("N_{strips}");
353 
354  //
355  histoName = "nHitsVsStripNumber" + subDetName[i];
356  histoTitle = "NHits in strips vs. strip number";
357  if (i != 0)
358  histoTitle += " in " + subDetName[i];
359  tmp = dqmStore_->book2D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5, 10000, -0.5, 9999.5);
360  nHitsVsStripNumber.push_back(tmp->getTH2F());
361 
362  histoName = "pfxNHitsVsStripNumber" + subDetName[i];
363  tmp_prof = new TProfile(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
365  pfxNHitsVsStripNumber.push_back(tmp->getTProfile());
366 
367  histoName = "projXNHitsVsStripNumber" + subDetName[i];
368  histoTitle = "Cumulative nHits in strips vs. strip number";
369  if (i != 0)
370  histoTitle += " in " + subDetName[i];
371  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
372  projXNHitsVsStripNumber.push_back(tmp->getTH1F());
373 
374  histoName = "projYNHitsVsStripNumber" + subDetName[i];
375  histoTitle = "Distribution of nHits for all strips";
376  if (i != 0)
377  histoTitle += " in " + subDetName[i];
378  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 10000, -0.5, 9999.5);
379  projYNHitsVsStripNumber.push_back(tmp->getTH1F());
380  projYNHitsVsStripNumber[i]->GetXaxis()->SetTitle("N_{hits}");
381  projYNHitsVsStripNumber[i]->GetYaxis()->SetTitle("N_{strips}");
382 
383  //
384  histoName = "nHitsHotStripsVsStripNumber" + subDetName[i];
385  histoTitle = "NHits in hot strips vs. strip number";
386  if (i != 0)
387  histoTitle += " in " + subDetName[i];
388  tmp = dqmStore_->book2D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5, 10000, -0.5, 9999.5);
390 
391  histoName = "pfxNHitsHotStripsVsStripNumber" + subDetName[i];
392  tmp_prof = new TProfile(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
395 
396  histoName = "projXNHitsHotStripsVsStripNumber" + subDetName[i];
397  histoTitle = "Cumulative nHits in hot strips vs. strip number";
398  if (i != 0)
399  histoTitle += " in " + subDetName[i];
400  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
402 
403  histoName = "projYNHitsHotStripsVsStripNumber" + subDetName[i];
404  histoTitle = "Distribution of nHits for hot strips";
405  if (i != 0)
406  histoTitle += " in " + subDetName[i];
407  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 10000, -0.5, 9999.5);
409  projYNHitsHotStripsVsStripNumber[i]->GetXaxis()->SetTitle("N_{hits}");
410  projYNHitsHotStripsVsStripNumber[i]->GetYaxis()->SetTitle("N_{strips}");
411 
412  //
413  histoName = "nHitsGoodStripsVsStripNumber" + subDetName[i];
414  histoTitle = "NHits in good strips vs. strip number";
415  if (i != 0)
416  histoTitle += " in " + subDetName[i];
417  tmp = dqmStore_->book2D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5, 10000, -0.5, 9999.5);
419 
420  histoName = "pfxNHitsGoodStripsVsStripNumber" + subDetName[i];
421  tmp_prof = new TProfile(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
424 
425  histoName = "projXNHitsGoodStripsVsStripNumber" + subDetName[i];
426  histoTitle = "Cumulative nHits in good strips vs. strip number";
427  if (i != 0)
428  histoTitle += " in " + subDetName[i];
429  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
431 
432  histoName = "projYNHitsGoodStripsVsStripNumber" + subDetName[i];
433  histoTitle = "Distribution of nHits for good strips";
434  if (i != 0)
435  histoTitle += " in " + subDetName[i];
436  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 10000, -0.5, 9999.5);
438  projYNHitsGoodStripsVsStripNumber[i]->GetXaxis()->SetTitle("N_{hits}");
439  projYNHitsGoodStripsVsStripNumber[i]->GetYaxis()->SetTitle("N_{strips}");
440  }
441 }
std::vector< TH2F * > occupancyVsStripNumber
unsigned int nReadStrips[768][5]
std::vector< TProfile * > pfxNHitsVsStripNumber
virtual TProfile * getTProfile() const
std::vector< TH1F * > projXNHitsGoodStripsVsStripNumber
std::vector< TH2F * > poissonProbGoodStripsVsStripNumber
std::vector< TH2F * > poissonProbVsStripNumber
std::vector< TH2F * > nHitsHotStripsVsStripNumber
std::vector< TH1F * > projYPoissonProbHotStripsVsStripNumber
std::vector< TH2F * > distanceVsStripNumber
std::vector< TProfile * > pfxNHitsGoodStripsVsStripNumber
void setCurrentFolder(std::string const &fullpath) override
Definition: DQMStore.h:647
std::vector< TProfile * > pfxPoissonProbVsStripNumber
std::vector< TH2F * > nHitsVsStripNumber
std::vector< TProfile * > pfxPoissonProbGoodStripsVsStripNumber
std::vector< TH1F * > projYNHitsVsStripNumber
std::vector< TH2F * > nHitsGoodStripsVsStripNumber
std::vector< TH1F * > projXNHitsHotStripsVsStripNumber
virtual TH2F * getTH2F() const
std::vector< TH2F * > poissonProbHotStripsVsStripNumber
std::vector< TH1F * > projYNHitsHotStripsVsStripNumber
std::vector< TH2F * > occupancyHotStripsVsStripNumber
MonitorElement * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int, double lowY, double highY, char const *option="s", FUNC onbooking=NOOP())
Definition: DQMStore.h:399
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
std::vector< TProfile * > pfxPoissonProbHotStripsVsStripNumber
std::vector< TProfile * > pfxDistanceVsStripNumber
std::vector< TProfile * > pfxOccupancyVsStripNumber
std::vector< TProfile * > pfxOccupancyGoodStripsVsStripNumber
virtual TH1F * getTH1F() const
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:212
std::ostringstream oss
std::vector< TH1F * > projYDistanceVsStripNumber
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
std::vector< TH1F * > projYOccupancyGoodStripsVsStripNumber
std::vector< TH2F * > occupancyGoodStripsVsStripNumber
std::vector< TH1F * > projYOccupancyHotStripsVsStripNumber

◆ endJob()

void StripValidationPlots::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 444 of file StripValidationPlots.cc.

References APVChannel, dqm::implementation::DQMStore::cd(), gather_cfg::cout, DetRawId, Disc, distance, distanceL, distanceR, distanceVsStripNumber, dqmStore_, firstEntry, HltBtagPostValidation_cff::histoName, HotStripsPerAPV, HotStripsPerModule, mps_fire::i, infile, infilename, intree, IsBack, IsExternalString, IsHot, IsStereo, IsZMinusSide, dqmiolumiharvest::j, 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, dqm::implementation::DQMStore::save(), savedDetRawId, savedNStrips, savedSubDetId, AlCaHLTBitMon_QueryRunRegistry::string, StripGlobalPositionX, StripGlobalPositionY, StripGlobalPositionZ, StripHits, StripNumber, StripOccupancy, SubDetId, subDetName, and vHotStripsInModule.

444  {
445  infile = new TFile(infilename.c_str(), "READ");
446  intree = (TTree*)infile->Get("stripOccupancy");
447 
448  intree->SetBranchAddress("DetRawId", &DetRawId);
449  intree->SetBranchAddress("SubDetId", &SubDetId);
450  intree->SetBranchAddress("Layer_Ring", &Layer_Ring);
451  intree->SetBranchAddress("Disc", &Disc);
452  intree->SetBranchAddress("IsBack", &IsBack);
453  intree->SetBranchAddress("IsExternalString", &IsExternalString);
454  intree->SetBranchAddress("IsZMinusSide", &IsZMinusSide);
455  intree->SetBranchAddress("RodStringPetal", &RodStringPetal);
456  intree->SetBranchAddress("IsStereo", &IsStereo);
457  intree->SetBranchAddress("ModulePosition", &ModulePosition);
458  intree->SetBranchAddress("NumberOfStrips", &NumberOfStrips);
459  intree->SetBranchAddress("StripNumber", &StripNumber);
460  intree->SetBranchAddress("APVChannel", &APVChannel);
461  intree->SetBranchAddress("StripGlobalPositionX", &StripGlobalPositionX);
462  intree->SetBranchAddress("StripGlobalPositionY", &StripGlobalPositionY);
463  intree->SetBranchAddress("StripGlobalPositionZ", &StripGlobalPositionZ);
464  intree->SetBranchAddress("IsHot", &IsHot);
465  intree->SetBranchAddress("HotStripsPerAPV", &HotStripsPerAPV);
466  intree->SetBranchAddress("HotStripsPerModule", &HotStripsPerModule);
467  intree->SetBranchAddress("StripOccupancy", &StripOccupancy);
468  intree->SetBranchAddress("StripHits", &StripHits);
469  intree->SetBranchAddress("PoissonProb", &PoissonProb);
470 
471  for (int i = 0; i < intree->GetEntries(); /* */) {
472  intree->GetEntry(i);
473 
475  firstEntry = i;
478  vHotStripsInModule.clear();
479 
480  for (int j = firstEntry; j < firstEntry + savedNStrips; j++) {
481  intree->GetEntry(j);
482 
483  if (DetRawId != savedDetRawId) {
484  std::cout << "ERROR! DetRawId changed but I expected to be on the same module!\n";
485  return;
486  }
487 
488  double logStripOccupancy = log10(StripOccupancy);
489  double logPoissonProb = log10(fabs(PoissonProb));
490 
491  (nReadStrips[StripNumber - 1][0])++;
492  (nReadStrips[StripNumber - 1][SubDetId - 2])++;
493  //std::cout << "StripNumber = " << StripNumber << ", SubDetId = " << SubDetId << ", nReadStripsAll = " << nReadStrips[StripNumber-1][0] << ", nReadStripsSubDet = " << nReadStrips[StripNumber-1][SubDetId-2] << std::endl;
494  occupancyVsStripNumber[0]->Fill(StripNumber, logStripOccupancy);
495  occupancyVsStripNumber[SubDetId - 2]->Fill(StripNumber, logStripOccupancy);
496  poissonProbVsStripNumber[0]->Fill(StripNumber, logPoissonProb);
497  poissonProbVsStripNumber[SubDetId - 2]->Fill(StripNumber, logPoissonProb);
500 
501  if (IsHot) {
502  vHotStripsInModule.push_back(StripNumber);
503  // std::cout << "detId = " << DetRawId << ", StripN = " << StripNumber << ", StripOccupancy = " << StripOccupancy << " PoissonProb = " << PoissonProb << std::endl ;
504  occupancyHotStripsVsStripNumber[0]->Fill(StripNumber, logStripOccupancy);
505  occupancyHotStripsVsStripNumber[SubDetId - 2]->Fill(StripNumber, logStripOccupancy);
506  poissonProbHotStripsVsStripNumber[0]->Fill(StripNumber, logPoissonProb);
507  poissonProbHotStripsVsStripNumber[SubDetId - 2]->Fill(StripNumber, logPoissonProb);
510  } else {
511  occupancyGoodStripsVsStripNumber[0]->Fill(StripNumber, logStripOccupancy);
512  occupancyGoodStripsVsStripNumber[SubDetId - 2]->Fill(StripNumber, logStripOccupancy);
513  poissonProbGoodStripsVsStripNumber[0]->Fill(StripNumber, logPoissonProb);
514  poissonProbGoodStripsVsStripNumber[SubDetId - 2]->Fill(StripNumber, logPoissonProb);
517  }
518  }
519 
520  if (vHotStripsInModule.size() == 1) {
521  distance = 999;
524  } else if (vHotStripsInModule.size() > 1) {
525  for (unsigned int iVec = 0; iVec != vHotStripsInModule.size(); iVec++) {
526  if (iVec == 0)
528  else if (iVec == vHotStripsInModule.size() - 1) {
529  distance =
531  } else if (vHotStripsInModule.size() > 2) {
532  distanceR = vHotStripsInModule[iVec + 1] - vHotStripsInModule[iVec];
533  distanceL = vHotStripsInModule[iVec] - vHotStripsInModule[iVec - 1];
535  } else {
536  std::cout << "ERROR! distance is never computed!!!\n";
537  }
538  // std::cout << "detId = " << savedDetRawId << ", StripN = " << vHotStripsInModule[iVec] << ", distance = " << distance << std::endl;
541  }
542  }
543 
544  i += savedNStrips;
545  }
546 
548  std::string histoTitle;
549 
550  for (unsigned int i = 0; i < subDetName.size(); i++) {
551  projYDistanceVsStripNumber[i]->Add((TH1F*)distanceVsStripNumber[i]->ProjectionY());
553  distanceVsStripNumber[i]->ProfileX(pfxDistanceVsStripNumber[i]->GetName(), 1, 998));
554  projYNHitsVsStripNumber[i]->Add(nHitsVsStripNumber[i]->ProjectionY());
557  projYOccupancyVsStripNumber[i]->Add(occupancyVsStripNumber[i]->ProjectionY());
561  occupancyVsStripNumber[i]->ProfileX(pfxOccupancyVsStripNumber[i]->GetName(), -8., 0.));
565  occupancyHotStripsVsStripNumber[i]->ProfileX(pfxOccupancyHotStripsVsStripNumber[i]->GetName(), -8., 0.));
570  poissonProbVsStripNumber[i]->ProfileX(pfxPoissonProbVsStripNumber[i]->GetName(), -18., 0.));
576  distanceVsStripNumber[i]->ProjectionX(projXDistanceVsStripNumber[i]->GetName(), 1, 998));
577  }
578 
579  dqmStore_->cd();
580  dqmStore_->save(outfilename, "ChannelStatusPlots");
581 }
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
std::vector< TProfile * > pfxOccupancyGoodStripsVsStripNumber
DQM_DEPRECATED void save(std::string const &filename, std::string const &path="")
Definition: DQMStore.cc:824
std::vector< unsigned int > vHotStripsInModule
std::vector< TH1F * > projYDistanceVsStripNumber
std::vector< TH1F * > projYOccupancyGoodStripsVsStripNumber
std::vector< TH2F * > occupancyGoodStripsVsStripNumber
std::vector< TH1F * > projYOccupancyHotStripsVsStripNumber

Member Data Documentation

◆ APVChannel

Int_t StripValidationPlots::APVChannel
private

Definition at line 115 of file StripValidationPlots.cc.

Referenced by endJob().

◆ DetRawId

Int_t StripValidationPlots::DetRawId
private

Definition at line 103 of file StripValidationPlots.cc.

Referenced by endJob().

◆ Disc

Int_t StripValidationPlots::Disc
private

Definition at line 106 of file StripValidationPlots.cc.

Referenced by endJob().

◆ distance

unsigned int StripValidationPlots::distance
private

Definition at line 131 of file StripValidationPlots.cc.

Referenced by endJob().

◆ distanceL

unsigned int StripValidationPlots::distanceL
private

Definition at line 132 of file StripValidationPlots.cc.

Referenced by endJob().

◆ distanceR

unsigned int StripValidationPlots::distanceR
private

Definition at line 132 of file StripValidationPlots.cc.

Referenced by endJob().

◆ distanceVsStripNumber

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

Definition at line 56 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

◆ dqmStore_

DQMStore* StripValidationPlots::dqmStore_
private

Definition at line 50 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

◆ firstEntry

Int_t StripValidationPlots::firstEntry
private

Definition at line 129 of file StripValidationPlots.cc.

Referenced by endJob(), and postprocessor.PostProcessor::run().

◆ HotStripsPerAPV

Int_t StripValidationPlots::HotStripsPerAPV
private

Definition at line 120 of file StripValidationPlots.cc.

Referenced by endJob().

◆ HotStripsPerModule

Int_t StripValidationPlots::HotStripsPerModule
private

Definition at line 121 of file StripValidationPlots.cc.

Referenced by endJob().

◆ infile

TFile* StripValidationPlots::infile
private

Definition at line 99 of file StripValidationPlots.cc.

Referenced by endJob().

◆ infilename

std::string StripValidationPlots::infilename
private

Definition at line 96 of file StripValidationPlots.cc.

Referenced by endJob().

◆ intree

TTree* StripValidationPlots::intree
private

Definition at line 100 of file StripValidationPlots.cc.

Referenced by endJob().

◆ IsBack

Int_t StripValidationPlots::IsBack
private

Definition at line 107 of file StripValidationPlots.cc.

Referenced by endJob().

◆ IsExternalString

Int_t StripValidationPlots::IsExternalString
private

Definition at line 108 of file StripValidationPlots.cc.

Referenced by endJob().

◆ IsHot

Int_t StripValidationPlots::IsHot
private

Definition at line 119 of file StripValidationPlots.cc.

Referenced by endJob().

◆ IsStereo

Int_t StripValidationPlots::IsStereo
private

Definition at line 111 of file StripValidationPlots.cc.

Referenced by endJob().

◆ IsZMinusSide

Int_t StripValidationPlots::IsZMinusSide
private

Definition at line 109 of file StripValidationPlots.cc.

Referenced by endJob().

◆ Layer_Ring

Int_t StripValidationPlots::Layer_Ring
private

Definition at line 105 of file StripValidationPlots.cc.

Referenced by endJob().

◆ ModulePosition

Int_t StripValidationPlots::ModulePosition
private

Definition at line 112 of file StripValidationPlots.cc.

Referenced by endJob().

◆ nHitsGoodStripsVsStripNumber

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

Definition at line 89 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

◆ nHitsHotStripsVsStripNumber

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

Definition at line 85 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

◆ nHitsVsStripNumber

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

Definition at line 81 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

◆ nReadStrips

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

Definition at line 133 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

◆ NumberOfStrips

Int_t StripValidationPlots::NumberOfStrips
private

Definition at line 113 of file StripValidationPlots.cc.

Referenced by endJob().

◆ occupancyGoodStripsVsStripNumber

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

Definition at line 67 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

◆ occupancyHotStripsVsStripNumber

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

Definition at line 64 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

◆ occupancyVsStripNumber

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

Definition at line 61 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

◆ oss

std::ostringstream StripValidationPlots::oss
private

Definition at line 48 of file StripValidationPlots.cc.

Referenced by beginJob().

◆ outfilename

std::string StripValidationPlots::outfilename
private

Definition at line 97 of file StripValidationPlots.cc.

Referenced by endJob().

◆ pfxDistanceVsStripNumber

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

Definition at line 57 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

◆ pfxNHitsGoodStripsVsStripNumber

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

Definition at line 90 of file StripValidationPlots.cc.

Referenced by beginJob().

◆ pfxNHitsHotStripsVsStripNumber

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

Definition at line 86 of file StripValidationPlots.cc.

Referenced by beginJob().

◆ pfxNHitsVsStripNumber

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

Definition at line 82 of file StripValidationPlots.cc.

Referenced by beginJob().

◆ pfxOccupancyGoodStripsVsStripNumber

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

Definition at line 68 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

◆ pfxOccupancyHotStripsVsStripNumber

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

Definition at line 65 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

◆ pfxOccupancyVsStripNumber

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

Definition at line 62 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

◆ pfxPoissonProbGoodStripsVsStripNumber

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

Definition at line 78 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

◆ pfxPoissonProbHotStripsVsStripNumber

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

Definition at line 75 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

◆ pfxPoissonProbVsStripNumber

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

Definition at line 72 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

◆ PoissonProb

Double_t StripValidationPlots::PoissonProb
private

Definition at line 124 of file StripValidationPlots.cc.

Referenced by endJob().

◆ poissonProbGoodStripsVsStripNumber

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

Definition at line 77 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

◆ poissonProbHotStripsVsStripNumber

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

Definition at line 74 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

◆ poissonProbVsStripNumber

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

Definition at line 71 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

◆ projXDistanceVsStripNumber

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

Definition at line 58 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

◆ projXNHitsGoodStripsVsStripNumber

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

Definition at line 91 of file StripValidationPlots.cc.

Referenced by beginJob().

◆ projXNHitsHotStripsVsStripNumber

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

Definition at line 87 of file StripValidationPlots.cc.

Referenced by beginJob().

◆ projXNHitsVsStripNumber

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

Definition at line 83 of file StripValidationPlots.cc.

Referenced by beginJob().

◆ projYDistanceVsStripNumber

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

Definition at line 59 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

◆ projYNHitsGoodStripsVsStripNumber

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

Definition at line 92 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

◆ projYNHitsHotStripsVsStripNumber

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

Definition at line 88 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

◆ projYNHitsVsStripNumber

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

Definition at line 84 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

◆ projYOccupancyGoodStripsVsStripNumber

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

Definition at line 69 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

◆ projYOccupancyHotStripsVsStripNumber

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

Definition at line 66 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

◆ projYOccupancyVsStripNumber

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

Definition at line 63 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

◆ projYPoissonProbGoodStripsVsStripNumber

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

Definition at line 79 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

◆ projYPoissonProbHotStripsVsStripNumber

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

Definition at line 76 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

◆ projYPoissonProbVsStripNumber

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

Definition at line 73 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

◆ RodStringPetal

Int_t StripValidationPlots::RodStringPetal
private

Definition at line 110 of file StripValidationPlots.cc.

Referenced by endJob().

◆ savedDetRawId

Int_t StripValidationPlots::savedDetRawId
private

Definition at line 126 of file StripValidationPlots.cc.

Referenced by endJob().

◆ savedNStrips

Int_t StripValidationPlots::savedNStrips
private

Definition at line 127 of file StripValidationPlots.cc.

Referenced by endJob().

◆ savedSubDetId

Int_t StripValidationPlots::savedSubDetId
private

Definition at line 128 of file StripValidationPlots.cc.

Referenced by endJob().

◆ StripGlobalPositionX

Float_t StripValidationPlots::StripGlobalPositionX
private

Definition at line 116 of file StripValidationPlots.cc.

Referenced by endJob().

◆ StripGlobalPositionY

Float_t StripValidationPlots::StripGlobalPositionY
private

Definition at line 117 of file StripValidationPlots.cc.

Referenced by endJob().

◆ StripGlobalPositionZ

Float_t StripValidationPlots::StripGlobalPositionZ
private

Definition at line 118 of file StripValidationPlots.cc.

Referenced by endJob().

◆ StripHits

Int_t StripValidationPlots::StripHits
private

Definition at line 123 of file StripValidationPlots.cc.

Referenced by endJob().

◆ StripNumber

Int_t StripValidationPlots::StripNumber
private

Definition at line 114 of file StripValidationPlots.cc.

Referenced by endJob().

◆ StripOccupancy

Double_t StripValidationPlots::StripOccupancy
private

Definition at line 122 of file StripValidationPlots.cc.

Referenced by endJob().

◆ SubDetId

Int_t StripValidationPlots::SubDetId
private

Definition at line 104 of file StripValidationPlots.cc.

Referenced by endJob().

◆ subDetName

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

Definition at line 94 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

◆ tmp

MonitorElement* StripValidationPlots::tmp
private

Definition at line 52 of file StripValidationPlots.cc.

Referenced by beginJob().

◆ tmp_prof

TProfile* StripValidationPlots::tmp_prof
private

Definition at line 53 of file StripValidationPlots.cc.

Referenced by beginJob().

◆ vHotStripsInModule

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

Definition at line 130 of file StripValidationPlots.cc.

Referenced by endJob().