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::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
 
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::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 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 ()
 
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

Definition at line 37 of file StripValidationPlots.cc.

Definition at line 38 of file StripValidationPlots.cc.

Constructor & Destructor Documentation

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 ( )
overridedefault

Member Function Documentation

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 {}
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(), 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");
175  std::string histoName;
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);
187  tmp = dqmStore_->bookProfile(histoName.c_str(), tmp_prof);
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);
220  tmp = dqmStore_->bookProfile(histoName.c_str(), tmp_prof);
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);
244  tmp = dqmStore_->bookProfile(histoName.c_str(), tmp_prof);
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);
268  tmp = dqmStore_->bookProfile(histoName.c_str(), tmp_prof);
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);
292  tmp = dqmStore_->bookProfile(histoName.c_str(), tmp_prof);
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);
316  tmp = dqmStore_->bookProfile(histoName.c_str(), tmp_prof);
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);
340  tmp = dqmStore_->bookProfile(histoName.c_str(), tmp_prof);
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);
364  tmp = dqmStore_->bookProfile(histoName.c_str(), tmp_prof);
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);
393  tmp = dqmStore_->bookProfile(histoName.c_str(), tmp_prof);
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);
422  tmp = dqmStore_->bookProfile(histoName.c_str(), tmp_prof);
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]
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:646
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: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 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: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
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, 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 =
530  vHotStripsInModule[vHotStripsInModule.size() - 1] - vHotStripsInModule[vHotStripsInModule.size() - 2];
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;
539  distanceVsStripNumber[0]->Fill(vHotStripsInModule[iVec], distance);
540  distanceVsStripNumber[savedSubDetId - 2]->Fill(vHotStripsInModule[iVec], distance);
541  }
542  }
543 
544  i += savedNStrips;
545  }
546 
547  std::string histoName;
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: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 115 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::DetRawId
private

Definition at line 103 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::Disc
private

Definition at line 106 of file StripValidationPlots.cc.

Referenced by endJob().

unsigned int StripValidationPlots::distance
private

Definition at line 131 of file StripValidationPlots.cc.

Referenced by endJob().

unsigned int StripValidationPlots::distanceL
private

Definition at line 132 of file StripValidationPlots.cc.

Referenced by endJob().

unsigned int StripValidationPlots::distanceR
private

Definition at line 132 of file StripValidationPlots.cc.

Referenced by endJob().

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

Definition at line 56 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

DQMStore* StripValidationPlots::dqmStore_
private

Definition at line 50 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

Int_t StripValidationPlots::firstEntry
private

Definition at line 129 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::HotStripsPerAPV
private

Definition at line 120 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::HotStripsPerModule
private

Definition at line 121 of file StripValidationPlots.cc.

Referenced by endJob().

TFile* StripValidationPlots::infile
private

Definition at line 99 of file StripValidationPlots.cc.

Referenced by endJob().

std::string StripValidationPlots::infilename
private

Definition at line 96 of file StripValidationPlots.cc.

Referenced by endJob().

TTree* StripValidationPlots::intree
private

Definition at line 100 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::IsBack
private

Definition at line 107 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::IsExternalString
private

Definition at line 108 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::IsHot
private

Definition at line 119 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::IsStereo
private

Definition at line 111 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::IsZMinusSide
private

Definition at line 109 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::Layer_Ring
private

Definition at line 105 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::ModulePosition
private

Definition at line 112 of file StripValidationPlots.cc.

Referenced by endJob().

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

Definition at line 89 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 85 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 81 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 133 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

Int_t StripValidationPlots::NumberOfStrips
private

Definition at line 113 of file StripValidationPlots.cc.

Referenced by endJob().

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

Definition at line 67 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 64 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 61 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

std::ostringstream StripValidationPlots::oss
private

Definition at line 48 of file StripValidationPlots.cc.

Referenced by beginJob().

std::string StripValidationPlots::outfilename
private

Definition at line 97 of file StripValidationPlots.cc.

Referenced by endJob().

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

Definition at line 57 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 90 of file StripValidationPlots.cc.

Referenced by beginJob().

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

Definition at line 86 of file StripValidationPlots.cc.

Referenced by beginJob().

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

Definition at line 82 of file StripValidationPlots.cc.

Referenced by beginJob().

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

Definition at line 68 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 65 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 62 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 78 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 75 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 72 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

Double_t StripValidationPlots::PoissonProb
private

Definition at line 124 of file StripValidationPlots.cc.

Referenced by endJob().

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

Definition at line 77 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 74 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 71 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 58 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 91 of file StripValidationPlots.cc.

Referenced by beginJob().

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

Definition at line 87 of file StripValidationPlots.cc.

Referenced by beginJob().

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

Definition at line 83 of file StripValidationPlots.cc.

Referenced by beginJob().

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

Definition at line 59 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 92 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 88 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 84 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 69 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 66 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 63 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 79 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 76 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

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

Definition at line 73 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

Int_t StripValidationPlots::RodStringPetal
private

Definition at line 110 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::savedDetRawId
private

Definition at line 126 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::savedNStrips
private

Definition at line 127 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::savedSubDetId
private

Definition at line 128 of file StripValidationPlots.cc.

Referenced by endJob().

Float_t StripValidationPlots::StripGlobalPositionX
private

Definition at line 116 of file StripValidationPlots.cc.

Referenced by endJob().

Float_t StripValidationPlots::StripGlobalPositionY
private

Definition at line 117 of file StripValidationPlots.cc.

Referenced by endJob().

Float_t StripValidationPlots::StripGlobalPositionZ
private

Definition at line 118 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::StripHits
private

Definition at line 123 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::StripNumber
private

Definition at line 114 of file StripValidationPlots.cc.

Referenced by endJob().

Double_t StripValidationPlots::StripOccupancy
private

Definition at line 122 of file StripValidationPlots.cc.

Referenced by endJob().

Int_t StripValidationPlots::SubDetId
private

Definition at line 104 of file StripValidationPlots.cc.

Referenced by endJob().

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

Definition at line 94 of file StripValidationPlots.cc.

Referenced by beginJob(), and endJob().

MonitorElement* StripValidationPlots::tmp
private

Definition at line 52 of file StripValidationPlots.cc.

Referenced by beginJob().

TProfile* StripValidationPlots::tmp_prof
private

Definition at line 53 of file StripValidationPlots.cc.

Referenced by beginJob().

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

Definition at line 130 of file StripValidationPlots.cc.

Referenced by endJob().