CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
StripValidationPlots Class Reference
Inheritance diagram for StripValidationPlots:
edm::EDAnalyzer edm::EDConsumerBase

Public Types

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

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
 
std::vector< ESProxyIndex > 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
 
bool registeredToConsumeMany (TypeID const &, 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::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

- 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 wantsInputProcessBlocks ()
 
static bool wantsProcessBlocks ()
 
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)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< B > consumes (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 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<Transition Tr = Transition::Event>
constexpr auto esConsumes () noexcept
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag) noexcept
 
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 40 of file StripValidationPlots.cc.

Member Typedef Documentation

Definition at line 42 of file StripValidationPlots.cc.

Definition at line 43 of file StripValidationPlots.cc.

Constructor & Destructor Documentation

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

Definition at line 154 of file StripValidationPlots.cc.

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

Definition at line 162 of file StripValidationPlots.cc.

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

Member Function Documentation

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

Implements edm::EDAnalyzer.

Definition at line 172 of file StripValidationPlots.cc.

172 {}
void StripValidationPlots::beginJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 175 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(), 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.

175  {
176  oss.str("");
177  oss << 1; //runNumber
178 
180  dqmStore_->setCurrentFolder("ChannelStatusPlots");
181 
182  for (int i = 0; i < 768; i++) {
183  for (int j = 0; j < 5; j++)
184  nReadStrips[i][j] = 0;
185  }
186 
187  // Initialize histograms
188  subDetName.push_back("");
189  subDetName.push_back("TIB");
190  subDetName.push_back("TID");
191  subDetName.push_back("TOB");
192  subDetName.push_back("TEC");
193  std::string histoName;
194  std::string histoTitle;
195  for (unsigned int i = 0; i < subDetName.size(); i++) {
196  histoName = "distanceVsStripNumber" + subDetName[i];
197  histoTitle = "Distance between hot strips vs. strip number";
198  if (i != 0)
199  histoTitle += " in " + subDetName[i];
200  tmp = dqmStore_->book2D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5, 999, 0.5, 999.5);
201  distanceVsStripNumber.push_back(tmp->getTH2F());
202 
203  histoName = "pfxDistanceVsStripNumber" + subDetName[i];
204  tmp_prof = new TProfile(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
205  tmp = dqmStore_->bookProfile(histoName.c_str(), tmp_prof);
207  pfxDistanceVsStripNumber[i]->GetXaxis()->SetTitle("Strip");
208  pfxDistanceVsStripNumber[i]->GetYaxis()->SetTitle("Distance");
209 
210  histoName = "projXDistanceVsStripNumber" + subDetName[i];
211  histoTitle = "Number of hot strips vs. strip number";
212  if (i != 0)
213  histoTitle += " in " + subDetName[i];
214  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
215  projXDistanceVsStripNumber.push_back(tmp->getTH1F());
216  projXDistanceVsStripNumber[i]->GetXaxis()->SetTitle("Strip");
217  projXDistanceVsStripNumber[i]->GetYaxis()->SetTitle("N_{hot}");
218 
219  histoName = "projYDistanceVsStripNumber" + subDetName[i];
220  histoTitle = "Distribution of distance between hot strips";
221  if (i != 0)
222  histoTitle += " in " + subDetName[i];
223  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 999, 0.5, 999.5);
224  projYDistanceVsStripNumber.push_back(tmp->getTH1F());
225  projYDistanceVsStripNumber[i]->GetXaxis()->SetTitle("Distance");
226  projYDistanceVsStripNumber[i]->GetYaxis()->SetTitle("N_{strips}");
227 
228  //
229  histoName = "occupancyVsStripNumber" + subDetName[i];
230  histoTitle = "Occupancy of strips vs. strip number";
231  if (i != 0)
232  histoTitle += " in " + subDetName[i];
233  tmp = dqmStore_->book2D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5, 1000, -8., 0.);
234  occupancyVsStripNumber.push_back(tmp->getTH2F());
235 
236  histoName = "pfxOccupancyVsStripNumber" + subDetName[i];
237  tmp_prof = new TProfile(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
238  tmp = dqmStore_->bookProfile(histoName.c_str(), tmp_prof);
240  pfxOccupancyVsStripNumber[i]->GetXaxis()->SetTitle("Strip");
241  pfxOccupancyVsStripNumber[i]->GetYaxis()->SetTitle("log_{10}(Occupancy)");
242 
243  histoName = "projYOccupancyVsStripNumber" + subDetName[i];
244  histoTitle = "Distribution of strip occupancy";
245  if (i != 0)
246  histoTitle += " in " + subDetName[i];
247  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 1000, -8., 0.);
249  projYOccupancyVsStripNumber[i]->GetXaxis()->SetTitle("log_{10}(Occupancy)");
250  projYOccupancyVsStripNumber[i]->GetYaxis()->SetTitle("N_{strips}");
251 
252  //
253  histoName = "occupancyHotStripsVsStripNumber" + subDetName[i];
254  histoTitle = "Occupancy of hot strips vs. strip number";
255  if (i != 0)
256  histoTitle += " in " + subDetName[i];
257  tmp = dqmStore_->book2D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5, 1000, -8., 0.);
259 
260  histoName = "pfxOccupancyHotStripsVsStripNumber" + subDetName[i];
261  tmp_prof = new TProfile(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
262  tmp = dqmStore_->bookProfile(histoName.c_str(), tmp_prof);
264  pfxOccupancyHotStripsVsStripNumber[i]->GetXaxis()->SetTitle("Strip");
265  pfxOccupancyHotStripsVsStripNumber[i]->GetYaxis()->SetTitle("log_{10}(Occupancy)");
266 
267  histoName = "projYOccupancyHotStripsVsStripNumber" + subDetName[i];
268  histoTitle = "Distribution of hot strip occupancy";
269  if (i != 0)
270  histoTitle += " in " + subDetName[i];
271  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 1000, -8., 0.);
273  projYOccupancyHotStripsVsStripNumber[i]->GetXaxis()->SetTitle("log_{10}(Occupancy)");
274  projYOccupancyHotStripsVsStripNumber[i]->GetYaxis()->SetTitle("N_{strips}");
275 
276  //
277  histoName = "occupancyGoodStripsVsStripNumber" + subDetName[i];
278  histoTitle = "Occupancy of good strips vs. strip number";
279  if (i != 0)
280  histoTitle += " in " + subDetName[i];
281  tmp = dqmStore_->book2D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5, 1000, -8., 0.);
283 
284  histoName = "pfxOccupancyGoodStripsVsStripNumber" + subDetName[i];
285  tmp_prof = new TProfile(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
286  tmp = dqmStore_->bookProfile(histoName.c_str(), tmp_prof);
288  pfxOccupancyGoodStripsVsStripNumber[i]->GetXaxis()->SetTitle("Strip");
289  pfxOccupancyGoodStripsVsStripNumber[i]->GetYaxis()->SetTitle("log_{10}(Occupancy)");
290 
291  histoName = "projYOccupancyGoodStripsVsStripNumber" + subDetName[i];
292  histoTitle = "Distribution of good strip occupancy";
293  if (i != 0)
294  histoTitle += " in " + subDetName[i];
295  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 1000, -8., 0.);
297  projYOccupancyGoodStripsVsStripNumber[i]->GetXaxis()->SetTitle("log_{10}(Occupancy)");
298  projYOccupancyGoodStripsVsStripNumber[i]->GetYaxis()->SetTitle("N_{strips}");
299 
300  //
301  histoName = "poissonProbVsStripNumber" + subDetName[i];
302  histoTitle = "Poisson probability of strips vs. strip number";
303  if (i != 0)
304  histoTitle += " in " + subDetName[i];
305  tmp = dqmStore_->book2D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5, 1000, -18., 0.);
306  poissonProbVsStripNumber.push_back(tmp->getTH2F());
307 
308  histoName = "pfxPoissonProbVsStripNumber" + subDetName[i];
309  tmp_prof = new TProfile(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
310  tmp = dqmStore_->bookProfile(histoName.c_str(), tmp_prof);
312  pfxPoissonProbVsStripNumber[i]->GetXaxis()->SetTitle("Strip");
313  pfxPoissonProbVsStripNumber[i]->GetYaxis()->SetTitle("log_{10}(Probability)");
314 
315  histoName = "projYPoissonProbVsStripNumber" + subDetName[i];
316  histoTitle = "Distribution of strip Poisson probability";
317  if (i != 0)
318  histoTitle += " in " + subDetName[i];
319  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 1000, -18., 0.);
321  projYPoissonProbVsStripNumber[i]->GetXaxis()->SetTitle("log_{10}(Probability)");
322  projYPoissonProbVsStripNumber[i]->GetYaxis()->SetTitle("N_{strips}");
323 
324  //
325  histoName = "poissonProbHotStripsVsStripNumber" + subDetName[i];
326  histoTitle = "Poisson probability of hot strips vs. strip number";
327  if (i != 0)
328  histoTitle += " in " + subDetName[i];
329  tmp = dqmStore_->book2D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5, 1000, -18., 0.);
331 
332  histoName = "pfxPoissonProbHotStripsVsStripNumber" + subDetName[i];
333  tmp_prof = new TProfile(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
334  tmp = dqmStore_->bookProfile(histoName.c_str(), tmp_prof);
336  pfxPoissonProbHotStripsVsStripNumber[i]->GetXaxis()->SetTitle("Strip");
337  pfxPoissonProbHotStripsVsStripNumber[i]->GetYaxis()->SetTitle("log_{10}(Probability)");
338 
339  histoName = "projYPoissonProbHotStripsVsStripNumber" + subDetName[i];
340  histoTitle = "Distribution of hot strip Poisson probability";
341  if (i != 0)
342  histoTitle += " in " + subDetName[i];
343  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 1000, -18., 0.);
345  projYPoissonProbHotStripsVsStripNumber[i]->GetXaxis()->SetTitle("log_{10}(Probability)");
346  projYPoissonProbHotStripsVsStripNumber[i]->GetYaxis()->SetTitle("N_{strips}");
347 
348  //
349  histoName = "poissonProbGoodStripsVsStripNumber" + subDetName[i];
350  histoTitle = "Poisson probability of good strips vs. strip number";
351  if (i != 0)
352  histoTitle += " in " + subDetName[i];
353  tmp = dqmStore_->book2D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5, 1000, -18., 0.);
355 
356  histoName = "pfxPoissonProbGoodStripsVsStripNumber" + subDetName[i];
357  tmp_prof = new TProfile(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
358  tmp = dqmStore_->bookProfile(histoName.c_str(), tmp_prof);
360  pfxPoissonProbGoodStripsVsStripNumber[i]->GetXaxis()->SetTitle("Strip");
361  pfxPoissonProbGoodStripsVsStripNumber[i]->GetYaxis()->SetTitle("log_{10}(Probability)");
362 
363  histoName = "projYPoissonProbGoodStripsVsStripNumber" + subDetName[i];
364  histoTitle = "Distribution of good strip Poisson probability";
365  if (i != 0)
366  histoTitle += " in " + subDetName[i];
367  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 1000, -18., 0.);
369  projYPoissonProbGoodStripsVsStripNumber[i]->GetXaxis()->SetTitle("log_{10}(Probability)");
370  projYPoissonProbGoodStripsVsStripNumber[i]->GetYaxis()->SetTitle("N_{strips}");
371 
372  //
373  histoName = "nHitsVsStripNumber" + subDetName[i];
374  histoTitle = "NHits in strips vs. strip number";
375  if (i != 0)
376  histoTitle += " in " + subDetName[i];
377  tmp = dqmStore_->book2D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5, 10000, -0.5, 9999.5);
378  nHitsVsStripNumber.push_back(tmp->getTH2F());
379 
380  histoName = "pfxNHitsVsStripNumber" + subDetName[i];
381  tmp_prof = new TProfile(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
382  tmp = dqmStore_->bookProfile(histoName.c_str(), tmp_prof);
383  pfxNHitsVsStripNumber.push_back(tmp->getTProfile());
384 
385  histoName = "projXNHitsVsStripNumber" + subDetName[i];
386  histoTitle = "Cumulative nHits in strips vs. strip number";
387  if (i != 0)
388  histoTitle += " in " + subDetName[i];
389  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
390  projXNHitsVsStripNumber.push_back(tmp->getTH1F());
391 
392  histoName = "projYNHitsVsStripNumber" + subDetName[i];
393  histoTitle = "Distribution of nHits for all strips";
394  if (i != 0)
395  histoTitle += " in " + subDetName[i];
396  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 10000, -0.5, 9999.5);
397  projYNHitsVsStripNumber.push_back(tmp->getTH1F());
398  projYNHitsVsStripNumber[i]->GetXaxis()->SetTitle("N_{hits}");
399  projYNHitsVsStripNumber[i]->GetYaxis()->SetTitle("N_{strips}");
400 
401  //
402  histoName = "nHitsHotStripsVsStripNumber" + subDetName[i];
403  histoTitle = "NHits in hot strips vs. strip number";
404  if (i != 0)
405  histoTitle += " in " + subDetName[i];
406  tmp = dqmStore_->book2D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5, 10000, -0.5, 9999.5);
408 
409  histoName = "pfxNHitsHotStripsVsStripNumber" + subDetName[i];
410  tmp_prof = new TProfile(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
411  tmp = dqmStore_->bookProfile(histoName.c_str(), tmp_prof);
413 
414  histoName = "projXNHitsHotStripsVsStripNumber" + subDetName[i];
415  histoTitle = "Cumulative nHits in hot strips vs. strip number";
416  if (i != 0)
417  histoTitle += " in " + subDetName[i];
418  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
420 
421  histoName = "projYNHitsHotStripsVsStripNumber" + subDetName[i];
422  histoTitle = "Distribution of nHits for hot strips";
423  if (i != 0)
424  histoTitle += " in " + subDetName[i];
425  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 10000, -0.5, 9999.5);
427  projYNHitsHotStripsVsStripNumber[i]->GetXaxis()->SetTitle("N_{hits}");
428  projYNHitsHotStripsVsStripNumber[i]->GetYaxis()->SetTitle("N_{strips}");
429 
430  //
431  histoName = "nHitsGoodStripsVsStripNumber" + subDetName[i];
432  histoTitle = "NHits in good strips vs. strip number";
433  if (i != 0)
434  histoTitle += " in " + subDetName[i];
435  tmp = dqmStore_->book2D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5, 10000, -0.5, 9999.5);
437 
438  histoName = "pfxNHitsGoodStripsVsStripNumber" + subDetName[i];
439  tmp_prof = new TProfile(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
440  tmp = dqmStore_->bookProfile(histoName.c_str(), tmp_prof);
442 
443  histoName = "projXNHitsGoodStripsVsStripNumber" + subDetName[i];
444  histoTitle = "Cumulative nHits in good strips vs. strip number";
445  if (i != 0)
446  histoTitle += " in " + subDetName[i];
447  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 768, 0.5, 768.5);
449 
450  histoName = "projYNHitsGoodStripsVsStripNumber" + subDetName[i];
451  histoTitle = "Distribution of nHits for good strips";
452  if (i != 0)
453  histoTitle += " in " + subDetName[i];
454  tmp = dqmStore_->book1D(histoName.c_str(), histoTitle.c_str(), 10000, -0.5, 9999.5);
456  projYNHitsGoodStripsVsStripNumber[i]->GetXaxis()->SetTitle("N_{hits}");
457  projYNHitsGoodStripsVsStripNumber[i]->GetYaxis()->SetTitle("N_{strips}");
458  }
459 }
std::vector< TH2F * > occupancyVsStripNumber
unsigned int nReadStrips[768][5]
virtual TH2F * getTH2F() const
std::vector< TProfile * > pfxNHitsVsStripNumber
std::vector< TH1F * > projXNHitsGoodStripsVsStripNumber
std::vector< TH2F * > poissonProbGoodStripsVsStripNumber
std::vector< TH2F * > poissonProbVsStripNumber
std::vector< TH2F * > nHitsHotStripsVsStripNumber
std::vector< TH1F * > projYPoissonProbHotStripsVsStripNumber
virtual TH1F * getTH1F() const
std::vector< TH2F * > distanceVsStripNumber
std::vector< TProfile * > pfxNHitsGoodStripsVsStripNumber
void setCurrentFolder(std::string const &fullpath) override
Definition: DQMStore.h:569
std::vector< TProfile * > pfxPoissonProbVsStripNumber
std::vector< TH2F * > nHitsVsStripNumber
std::vector< TProfile * > pfxPoissonProbGoodStripsVsStripNumber
std::vector< TH1F * > projYNHitsVsStripNumber
std::vector< TH2F * > nHitsGoodStripsVsStripNumber
std::vector< TH1F * > projXNHitsHotStripsVsStripNumber
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:322
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 TProfile * getTProfile() 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:177
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
void StripValidationPlots::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 462 of file StripValidationPlots.cc.

References APVChannel, dqm::implementation::DQMStore::cd(), gather_cfg::cout, DetRawId, Disc, distance, distanceL, distanceR, distanceVsStripNumber, dqmStore_, firstEntry, 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.

462  {
463  infile = new TFile(infilename.c_str(), "READ");
464  intree = (TTree*)infile->Get("stripOccupancy");
465 
466  intree->SetBranchAddress("DetRawId", &DetRawId);
467  intree->SetBranchAddress("SubDetId", &SubDetId);
468  intree->SetBranchAddress("Layer_Ring", &Layer_Ring);
469  intree->SetBranchAddress("Disc", &Disc);
470  intree->SetBranchAddress("IsBack", &IsBack);
471  intree->SetBranchAddress("IsExternalString", &IsExternalString);
472  intree->SetBranchAddress("IsZMinusSide", &IsZMinusSide);
473  intree->SetBranchAddress("RodStringPetal", &RodStringPetal);
474  intree->SetBranchAddress("IsStereo", &IsStereo);
475  intree->SetBranchAddress("ModulePosition", &ModulePosition);
476  intree->SetBranchAddress("NumberOfStrips", &NumberOfStrips);
477  intree->SetBranchAddress("StripNumber", &StripNumber);
478  intree->SetBranchAddress("APVChannel", &APVChannel);
479  intree->SetBranchAddress("StripGlobalPositionX", &StripGlobalPositionX);
480  intree->SetBranchAddress("StripGlobalPositionY", &StripGlobalPositionY);
481  intree->SetBranchAddress("StripGlobalPositionZ", &StripGlobalPositionZ);
482  intree->SetBranchAddress("IsHot", &IsHot);
483  intree->SetBranchAddress("HotStripsPerAPV", &HotStripsPerAPV);
484  intree->SetBranchAddress("HotStripsPerModule", &HotStripsPerModule);
485  intree->SetBranchAddress("StripOccupancy", &StripOccupancy);
486  intree->SetBranchAddress("StripHits", &StripHits);
487  intree->SetBranchAddress("PoissonProb", &PoissonProb);
488 
489  for (int i = 0; i < intree->GetEntries(); /* */) {
490  intree->GetEntry(i);
491 
493  firstEntry = i;
496  vHotStripsInModule.clear();
497 
498  for (int j = firstEntry; j < firstEntry + savedNStrips; j++) {
499  intree->GetEntry(j);
500 
501  if (DetRawId != savedDetRawId) {
502  std::cout << "ERROR! DetRawId changed but I expected to be on the same module!\n";
503  return;
504  }
505 
506  double logStripOccupancy = log10(StripOccupancy);
507  double logPoissonProb = log10(fabs(PoissonProb));
508 
509  (nReadStrips[StripNumber - 1][0])++;
510  (nReadStrips[StripNumber - 1][SubDetId - 2])++;
511  //std::cout << "StripNumber = " << StripNumber << ", SubDetId = " << SubDetId << ", nReadStripsAll = " << nReadStrips[StripNumber-1][0] << ", nReadStripsSubDet = " << nReadStrips[StripNumber-1][SubDetId-2] << std::endl;
512  occupancyVsStripNumber[0]->Fill(StripNumber, logStripOccupancy);
513  occupancyVsStripNumber[SubDetId - 2]->Fill(StripNumber, logStripOccupancy);
514  poissonProbVsStripNumber[0]->Fill(StripNumber, logPoissonProb);
515  poissonProbVsStripNumber[SubDetId - 2]->Fill(StripNumber, logPoissonProb);
518 
519  if (IsHot) {
520  vHotStripsInModule.push_back(StripNumber);
521  // std::cout << "detId = " << DetRawId << ", StripN = " << StripNumber << ", StripOccupancy = " << StripOccupancy << " PoissonProb = " << PoissonProb << std::endl ;
522  occupancyHotStripsVsStripNumber[0]->Fill(StripNumber, logStripOccupancy);
523  occupancyHotStripsVsStripNumber[SubDetId - 2]->Fill(StripNumber, logStripOccupancy);
524  poissonProbHotStripsVsStripNumber[0]->Fill(StripNumber, logPoissonProb);
525  poissonProbHotStripsVsStripNumber[SubDetId - 2]->Fill(StripNumber, logPoissonProb);
528  } else {
529  occupancyGoodStripsVsStripNumber[0]->Fill(StripNumber, logStripOccupancy);
530  occupancyGoodStripsVsStripNumber[SubDetId - 2]->Fill(StripNumber, logStripOccupancy);
531  poissonProbGoodStripsVsStripNumber[0]->Fill(StripNumber, logPoissonProb);
532  poissonProbGoodStripsVsStripNumber[SubDetId - 2]->Fill(StripNumber, logPoissonProb);
535  }
536  }
537 
538  if (vHotStripsInModule.size() == 1) {
539  distance = 999;
542  } else if (vHotStripsInModule.size() > 1) {
543  for (unsigned int iVec = 0; iVec != vHotStripsInModule.size(); iVec++) {
544  if (iVec == 0)
546  else if (iVec == vHotStripsInModule.size() - 1) {
547  distance =
548  vHotStripsInModule[vHotStripsInModule.size() - 1] - vHotStripsInModule[vHotStripsInModule.size() - 2];
549  } else if (vHotStripsInModule.size() > 2) {
550  distanceR = vHotStripsInModule[iVec + 1] - vHotStripsInModule[iVec];
551  distanceL = vHotStripsInModule[iVec] - vHotStripsInModule[iVec - 1];
553  } else {
554  std::cout << "ERROR! distance is never computed!!!\n";
555  }
556  // std::cout << "detId = " << savedDetRawId << ", StripN = " << vHotStripsInModule[iVec] << ", distance = " << distance << std::endl;
557  distanceVsStripNumber[0]->Fill(vHotStripsInModule[iVec], distance);
558  distanceVsStripNumber[savedSubDetId - 2]->Fill(vHotStripsInModule[iVec], distance);
559  }
560  }
561 
562  i += savedNStrips;
563  }
564 
565  std::string histoName;
566  std::string histoTitle;
567 
568  for (unsigned int i = 0; i < subDetName.size(); i++) {
569  projYDistanceVsStripNumber[i]->Add((TH1F*)distanceVsStripNumber[i]->ProjectionY());
571  distanceVsStripNumber[i]->ProfileX(pfxDistanceVsStripNumber[i]->GetName(), 1, 998));
572  projYNHitsVsStripNumber[i]->Add(nHitsVsStripNumber[i]->ProjectionY());
575  projYOccupancyVsStripNumber[i]->Add(occupancyVsStripNumber[i]->ProjectionY());
579  occupancyVsStripNumber[i]->ProfileX(pfxOccupancyVsStripNumber[i]->GetName(), -8., 0.));
583  occupancyHotStripsVsStripNumber[i]->ProfileX(pfxOccupancyHotStripsVsStripNumber[i]->GetName(), -8., 0.));
588  poissonProbVsStripNumber[i]->ProfileX(pfxPoissonProbVsStripNumber[i]->GetName(), -18., 0.));
594  distanceVsStripNumber[i]->ProjectionX(projXDistanceVsStripNumber[i]->GetName(), 1, 998));
595  }
596 
597  dqmStore_->cd();
598  dqmStore_->save(outfilename, "ChannelStatusPlots");
599 }
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:784
std::vector< unsigned int > vHotStripsInModule
tuple cout
Definition: gather_cfg.py:144
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 120 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::DetRawId
private

Definition at line 108 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::Disc
private

Definition at line 111 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 61 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

DQMStore* StripValidationPlots::dqmStore_
private

Definition at line 55 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 125 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::HotStripsPerModule
private

Definition at line 126 of file StripValidationPlots.cc.

Referenced by endJob().

TFile* StripValidationPlots::infile
private

Definition at line 104 of file StripValidationPlots.cc.

Referenced by endJob().

std::string StripValidationPlots::infilename
private

Definition at line 101 of file StripValidationPlots.cc.

Referenced by endJob().

TTree* StripValidationPlots::intree
private

Definition at line 105 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::IsBack
private

Definition at line 112 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::IsExternalString
private

Definition at line 113 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::IsHot
private

Definition at line 124 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::IsStereo
private

Definition at line 116 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::IsZMinusSide
private

Definition at line 114 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::Layer_Ring
private

Definition at line 110 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::ModulePosition
private

Definition at line 117 of file StripValidationPlots.cc.

Referenced by endJob().

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

Definition at line 94 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 90 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 86 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 118 of file StripValidationPlots.cc.

Referenced by endJob().

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

Definition at line 72 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 69 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 66 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

std::ostringstream StripValidationPlots::oss
private

Definition at line 53 of file StripValidationPlots.cc.

Referenced by beginJob().

std::string StripValidationPlots::outfilename
private

Definition at line 102 of file StripValidationPlots.cc.

Referenced by endJob().

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

Definition at line 62 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 95 of file StripValidationPlots.cc.

Referenced by beginJob().

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

Definition at line 91 of file StripValidationPlots.cc.

Referenced by beginJob().

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

Definition at line 87 of file StripValidationPlots.cc.

Referenced by beginJob().

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

Definition at line 73 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 70 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 67 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 83 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 80 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 77 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

Double_t StripValidationPlots::PoissonProb
private

Definition at line 129 of file StripValidationPlots.cc.

Referenced by endJob().

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

Definition at line 82 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 79 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 76 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 63 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 96 of file StripValidationPlots.cc.

Referenced by beginJob().

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

Definition at line 92 of file StripValidationPlots.cc.

Referenced by beginJob().

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

Definition at line 88 of file StripValidationPlots.cc.

Referenced by beginJob().

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

Definition at line 64 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 97 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 93 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 89 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 74 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 71 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 68 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 84 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 81 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 78 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

Int_t StripValidationPlots::RodStringPetal
private

Definition at line 115 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 121 of file StripValidationPlots.cc.

Referenced by endJob().

Float_t StripValidationPlots::StripGlobalPositionY
private

Definition at line 122 of file StripValidationPlots.cc.

Referenced by endJob().

Float_t StripValidationPlots::StripGlobalPositionZ
private

Definition at line 123 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::StripHits
private

Definition at line 128 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::StripNumber
private

Definition at line 119 of file StripValidationPlots.cc.

Referenced by endJob().

Double_t StripValidationPlots::StripOccupancy
private

Definition at line 127 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::SubDetId
private

Definition at line 109 of file StripValidationPlots.cc.

Referenced by endJob().

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

Definition at line 99 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

MonitorElement* StripValidationPlots::tmp
private

Definition at line 57 of file StripValidationPlots.cc.

Referenced by beginJob().

TProfile* StripValidationPlots::tmp_prof
private

Definition at line 58 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().