CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
SiStripQualityHotStripIdentifier Class Reference

#include <SiStripQualityHotStripIdentifier.h>

Inheritance diagram for SiStripQualityHotStripIdentifier:
ConditionDBWriter< SiStripBadStrip > edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

 SiStripQualityHotStripIdentifier (const edm::ParameterSet &)
 
 ~SiStripQualityHotStripIdentifier () override
 
- Public Member Functions inherited from ConditionDBWriter< SiStripBadStrip >
 ConditionDBWriter (const edm::ParameterSet &iConfig)
 
 ~ConditionDBWriter () override
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
SerialTaskQueueglobalLuminosityBlocksQueue ()
 
SerialTaskQueueglobalRunsQueue ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
 ~EDAnalyzer () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Member Functions

void algoAnalyze (const edm::Event &, const edm::EventSetup &) override
 
void algoBeginJob (const edm::EventSetup &) override
 
void algoBeginLuminosityBlock (const edm::LuminosityBlock &, const edm::EventSetup &) override
 
void algoBeginRun (const edm::Run &, const edm::EventSetup &) override
 
void algoEndJob () override
 
void bookHistos ()
 
void fillHisto (uint32_t detid, float value)
 
std::unique_ptr< SiStripBadStripgetNewObject () override
 
void resetHistos ()
 

Private Attributes

edm::InputTag Cluster_src_
 
SiStrip::QualityHistosMap ClusterPositionHistoMap
 
const edm::ParameterSet conf_
 
std::string dataLabel_
 
edm::FileInPath fp_
 
unsigned long long m_cacheID_
 
unsigned short MaxClusterWidth_
 
unsigned short MinClusterWidth_
 
SiStripDetInfoFileReaderreader
 
edm::ESHandle< SiStripQualitySiStripQuality_
 
edm::InputTag Track_src_
 
bool tracksCollection_in_EventTree
 
const TrackerTopologytTopo
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
static bool wantsGlobalLuminosityBlocks ()
 
static bool wantsGlobalRuns ()
 
static bool wantsStreamLuminosityBlocks ()
 
static bool wantsStreamRuns ()
 
- Protected Member Functions inherited from ConditionDBWriter< SiStripBadStrip >
void setDoStore (const bool doStore)
 When set to false the payload will not be written to the db. More...
 
void storeOnDbNow ()
 
cond::Time_t timeOfLastIOV ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

Definition at line 22 of file SiStripQualityHotStripIdentifier.h.

Constructor & Destructor Documentation

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

Definition at line 19 of file SiStripQualityHotStripIdentifier.cc.

References bookHistos(), fp_, edm::FileInPath::fullPath(), edm::ParameterSet::getUntrackedParameter(), MaxClusterWidth_, MinClusterWidth_, muonDTDigis_cfi::pset, and reader.

21  m_cacheID_(0),
22  dataLabel_(iConfig.getUntrackedParameter<std::string>("dataLabel", "")),
23  conf_(iConfig),
25  "file", edm::FileInPath("CalibTracker/SiStripCommon/data/SiStripDetInfo.dat"))),
26  Cluster_src_(iConfig.getParameter<edm::InputTag>("Cluster_src")),
27  Track_src_(iConfig.getUntrackedParameter<edm::InputTag>("Track_src")),
28  tracksCollection_in_EventTree(iConfig.getUntrackedParameter<bool>("RemoveTrackClusters", false)),
29  tTopo(nullptr) {
31 
33  MinClusterWidth_ = pset.getUntrackedParameter<uint32_t>("minWidth", 1);
34  MaxClusterWidth_ = pset.getUntrackedParameter<uint32_t>("maxWidth", 1000);
35 
36  bookHistos();
37 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
std::string fullPath() const
Definition: FileInPath.cc:163
SiStripQualityHotStripIdentifier::~SiStripQualityHotStripIdentifier ( )
override

Definition at line 39 of file SiStripQualityHotStripIdentifier.cc.

39 {}

Member Function Documentation

void SiStripQualityHotStripIdentifier::algoAnalyze ( const edm::Event e,
const edm::EventSetup eSetup 
)
overrideprivatevirtual

Reimplemented from ConditionDBWriter< SiStripBadStrip >.

Definition at line 150 of file SiStripQualityHotStripIdentifier.cc.

References edm::DetSetVector< T >::begin(), SiStripRecHit2D::cluster(), Cluster_src_, edm::DetSetVector< T >::end(), fillHisto(), spr::find(), edm::Event::getByLabel(), mps_fire::i, edm::isDebugEnabled(), edm::HandleBase::isValid(), LogTrace, MaxClusterWidth_, SiStripMatchedRecHit2D::monoCluster(), ProjectedSiStripRecHit2D::originalHit(), edm::Handle< T >::product(), rpcPointValidation_cfi::recHit, edm::DetSet< T >::size(), findQualityFiles::size, SiStripMatchedRecHit2D::stereoCluster(), HiIsolationCommonParameters_cff::track, Track_src_, findElectronsInSiStrips_cfi::trackCollection, and tracksCollection_in_EventTree.

Referenced by algoBeginLuminosityBlock().

150  {
152  e.getByLabel(Cluster_src_, dsv_SiStripCluster);
153 
156  e.getByLabel(Track_src_, trackCollection);
157  if (!trackCollection.isValid()) {
158  edm::LogError("SiStripQualityHotStripIdentifier")
159  << " [SiStripQualityHotStripIdentifier::algoAnalyze] missing trackCollection with label " << Track_src_
160  << std::endl;
161  }
162  }
163 
164  std::set<const void*> vPSiStripCluster;
165  //Perform track study
167  const reco::TrackCollection tC = *(trackCollection.product());
168  int i = 0;
169  for (reco::TrackCollection::const_iterator track = tC.begin(); track != tC.end(); track++) {
170  LogTrace("SiStripQualityHotStripIdentifier")
171  << "Track number " << i + 1 << "\n\tmomentum: " << track->momentum() << "\n\tPT: " << track->pt()
172  << "\n\tvertex: " << track->vertex() << "\n\timpact parameter: " << track->d0()
173  << "\n\tcharge: " << track->charge() << "\n\tnormalizedChi2: " << track->normalizedChi2()
174  << "\n\tFrom EXTRA : "
175  << "\n\t\touter PT " << track->outerPt() << std::endl;
176 
177  //Loop on rechits
178  for (auto const& recHit : track->recHits()) {
179  if (!recHit->isValid()) {
180  LogTrace("SiStripQualityHotStripIdentifier") << "\t\t Invalid Hit " << std::endl;
181  continue;
182  }
183 
184  const SiStripRecHit2D* singleHit = dynamic_cast<const SiStripRecHit2D*>(recHit);
185  const SiStripMatchedRecHit2D* matchedHit = dynamic_cast<const SiStripMatchedRecHit2D*>(recHit);
186  const ProjectedSiStripRecHit2D* projectedHit = dynamic_cast<const ProjectedSiStripRecHit2D*>(recHit);
187 
188  if (matchedHit) {
189  vPSiStripCluster.insert((void*)&(matchedHit->monoCluster()));
190  vPSiStripCluster.insert((void*)&(matchedHit->stereoCluster()));
191  } else if (projectedHit) {
192  vPSiStripCluster.insert((void*)&*(projectedHit->originalHit().cluster()));
193  } else if (singleHit) {
194  vPSiStripCluster.insert((void*)&*(singleHit->cluster()));
195  } else {
196  LogTrace("SiStripQualityHotStripIdentifier") << "NULL hit" << std::endl;
197  }
198  }
199  }
200  }
201 
202  std::stringstream ss;
203  //Loop on Det Clusters
204  edm::DetSetVector<SiStripCluster>::const_iterator DSViter = dsv_SiStripCluster->begin();
205  for (; DSViter != dsv_SiStripCluster->end(); DSViter++) {
207  edm::DetSet<SiStripCluster>::const_iterator ClusIterEnd = DSViter->data.end();
208  for (; ClusIter != ClusIterEnd; ++ClusIter) {
209  if (MinClusterWidth_ <= ClusIter->amplitudes().size() && ClusIter->amplitudes().size() <= MaxClusterWidth_) {
210  if (std::find(vPSiStripCluster.begin(), vPSiStripCluster.end(), (void*)&*ClusIter) == vPSiStripCluster.end()) {
211  if (edm::isDebugEnabled())
212  ss << " adding cluster to histo for detid " << DSViter->id << " with barycenter " << ClusIter->barycenter()
213  << std::endl;
214  fillHisto(DSViter->id, ClusIter->barycenter());
215  }
216  }
217  }
218  }
219  LogTrace("SiStripQualityHotStripIdentifier") << ss.str();
220 }
size
Write out results.
bool isDebugEnabled()
void fillHisto(uint32_t detid, float value)
SiStripCluster const & monoCluster() const
std::vector< Track > TrackCollection
collection of Tracks
Definition: TrackFwd.h:15
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:20
size_type size() const
Definition: DetSet.h:63
edmNew::DetSet< SiStripCluster >::const_iterator ClusIter
ClusterRef cluster() const
bool isValid() const
Definition: HandleBase.h:74
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:480
iterator end()
Return the off-the-end iterator.
Definition: DetSetVector.h:361
#define LogTrace(id)
SiStripRecHit2D originalHit() const
T const * product() const
Definition: Handle.h:74
SiStripCluster const & stereoCluster() const
iterator begin()
Return an iterator to the first DetSet.
Definition: DetSetVector.h:346
collection_type::const_iterator const_iterator
Definition: DetSet.h:33
collection_type::const_iterator const_iterator
Definition: DetSetVector.h:104
void SiStripQualityHotStripIdentifier::algoBeginJob ( const edm::EventSetup )
inlineoverrideprivatevirtual

Reimplemented from ConditionDBWriter< SiStripBadStrip >.

Definition at line 29 of file SiStripQualityHotStripIdentifier.h.

References algoBeginRun().

29 {}
void SiStripQualityHotStripIdentifier::algoBeginLuminosityBlock ( const edm::LuminosityBlock ,
const edm::EventSetup  
)
inlineoverrideprivatevirtual
void SiStripQualityHotStripIdentifier::algoBeginRun ( const edm::Run run,
const edm::EventSetup iSetup 
)
overrideprivatevirtual

Reimplemented from ConditionDBWriter< SiStripBadStrip >.

Definition at line 91 of file SiStripQualityHotStripIdentifier.cc.

References dataLabel_, edm::EventSetup::get(), m_cacheID_, edm::ESHandle< T >::product(), resetHistos(), SiStripQuality_, and tTopo.

Referenced by algoBeginJob().

91  {
92  //Retrieve tracker topology from geometry
94  iSetup.get<TrackerTopologyRcd>().get(tTopoHandle);
95  tTopo = tTopoHandle.product();
96 
97  resetHistos();
98  unsigned long long cacheID = iSetup.get<SiStripQualityRcd>().cacheIdentifier();
99 
100  if (m_cacheID_ == cacheID)
101  return;
102 
103  m_cacheID_ = cacheID;
104 
106 }
edm::ESHandle< SiStripQuality > SiStripQuality_
T get() const
Definition: EventSetup.h:71
T const * product() const
Definition: ESHandle.h:86
void SiStripQualityHotStripIdentifier::algoEndJob ( )
overrideprivatevirtual

Reimplemented from ConditionDBWriter< SiStripBadStrip >.

Definition at line 108 of file SiStripQualityHotStripIdentifier.cc.

References ClusterPositionHistoMap.

Referenced by algoBeginLuminosityBlock().

108  {
109  //Clear map
110  ClusterPositionHistoMap.clear();
111 }
void SiStripQualityHotStripIdentifier::bookHistos ( )
private

Definition at line 122 of file SiStripQualityHotStripIdentifier.cc.

References ClusterPositionHistoMap, SiStripDetInfoFileReader::getAllData(), and reader.

Referenced by algoBeginLuminosityBlock(), and SiStripQualityHotStripIdentifier().

122  {
123  edm::LogInfo("SiStripQualityHotStripIdentifier") << " [SiStripQualityHotStripIdentifier::bookHistos] " << std::endl;
124  char hname[1024];
125  std::map<uint32_t, SiStripDetInfoFileReader::DetInfo>::const_iterator it = reader->getAllData().begin();
126  std::map<uint32_t, SiStripDetInfoFileReader::DetInfo>::const_iterator iEnd = reader->getAllData().end();
127  for (; it != iEnd; ++it) {
128  sprintf(hname, "h_%d", it->first);
129  SiStrip::QualityHistosMap::iterator ref = ClusterPositionHistoMap.find(it->first);
130  if (ref == ClusterPositionHistoMap.end()) {
131  ClusterPositionHistoMap[it->first] =
132  boost::shared_ptr<TH1F>(new TH1F(hname, hname, it->second.nApvs * 128, -0.5, it->second.nApvs * 128 - 0.5));
133  } else
134  edm::LogError("SiStripQualityHotStripIdentifier")
135  << " [SiStripQualityHotStripIdentifier::bookHistos] DetId " << it->first
136  << " already found in map. Ignoring new data" << std::endl;
137  }
138 }
const std::map< uint32_t, DetInfo > & getAllData() const
void SiStripQualityHotStripIdentifier::fillHisto ( uint32_t  detid,
float  value 
)
private

Definition at line 140 of file SiStripQualityHotStripIdentifier.cc.

References ClusterPositionHistoMap.

Referenced by algoAnalyze(), and algoBeginLuminosityBlock().

140  {
141  SiStrip::QualityHistosMap::iterator ref = ClusterPositionHistoMap.find(detid);
142  if (ref != ClusterPositionHistoMap.end())
143  ref->second->Fill(value);
144  else
145  edm::LogError("SiStripQualityHotStripIdentifier")
146  << " [SiStripQualityHotStripIdentifier::fillHisto] Histogram not found in the list for DetId " << detid
147  << " Ignoring data value " << value << std::endl;
148 }
Definition: value.py:1
std::unique_ptr< SiStripBadStrip > SiStripQualityHotStripIdentifier::getNewObject ( )
overrideprivatevirtual

Implements ConditionDBWriter< SiStripBadStrip >.

Definition at line 41 of file SiStripQualityHotStripIdentifier.cc.

References a, ClusterPositionHistoMap, conf_, SiStripHotStripAlgorithmFromClusterOccupancy::extractBadStrips(), SiStripBadStrip::getDataVectorBegin(), edm::ParameterSet::getParameter(), SiStripBadStrip::getRegistryVectorBegin(), SiStripBadStrip::getRegistryVectorEnd(), haddnano::obj, SiStripHotStripAlgorithmFromClusterOccupancy::setMinNumEntries(), SiStripHotStripAlgorithmFromClusterOccupancy::setMinNumEntriesPerStrip(), SiStripHotStripAlgorithmFromClusterOccupancy::setProbabilityThreshold(), SiStripQuality_, AlCaHLTBitMon_QueryRunRegistry::string, and tTopo.

Referenced by algoBeginLuminosityBlock().

41  {
42  auto obj = std::make_unique<SiStripBadStrip>();
43 
45  std::string AlgoName = parameters.getParameter<std::string>("AlgoName");
46  if (AlgoName == "SiStripHotStripAlgorithmFromClusterOccupancy") {
47  edm::LogInfo("SiStripQualityHotStripIdentifier")
48  << " [SiStripQualityHotStripIdentifier::getNewObject] call to SiStripHotStripAlgorithmFromClusterOccupancy"
49  << std::endl;
50 
52  theIdentifier.setProbabilityThreshold(parameters.getUntrackedParameter<double>("ProbabilityThreshold", 1.E-7));
53  theIdentifier.setMinNumEntries(parameters.getUntrackedParameter<uint32_t>("MinNumEntries", 100));
54  theIdentifier.setMinNumEntriesPerStrip(parameters.getUntrackedParameter<uint32_t>("MinNumEntriesPerStrip", 5));
55 
56  SiStripQuality* qobj = new SiStripQuality();
57  theIdentifier.extractBadStrips(qobj, ClusterPositionHistoMap, SiStripQuality_);
58 
59  edm::LogInfo("SiStripQualityHotStripIdentifier")
60  << " [SiStripQualityHotStripIdentifier::getNewObject] copy SiStripObject in SiStripBadStrip" << std::endl;
61 
62  std::stringstream ss;
63 
66  for (; rIter != rIterEnd; ++rIter) {
67  SiStripBadStrip::Range range(qobj->getDataVectorBegin() + rIter->ibegin,
68  qobj->getDataVectorBegin() + rIter->iend);
69  if (!obj->put(rIter->detid, range))
70  edm::LogError("SiStripQualityHotStripIdentifier")
71  << "[SiStripQualityHotStripIdentifier::getNewObject] detid already exists" << std::endl;
72  }
73  edm::LogInfo("SiStripQualityHotStripIdentifier")
74  << " [SiStripQualityHotStripIdentifier::getNewObject] " << ss.str() << std::endl;
75 
76  } else {
77  edm::LogError("SiStripQualityHotStripIdentifier")
78  << " [SiStripQualityHotStripIdentifier::getNewObject] call for a unknow HotStrip identification algoritm"
79  << std::endl;
80 
81  std::vector<uint32_t> a;
82  SiStripBadStrip::Range range(a.begin(), a.end());
83  if (!obj->put(0xFFFFFFFF, range))
84  edm::LogError("SiStripQualityHotStripIdentifier")
85  << "[SiStripQualityHotStripIdentifier::getNewObject] detid already exists" << std::endl;
86  }
87 
88  return obj;
89 }
T getParameter(std::string const &) const
Registry::const_iterator RegistryIterator
RegistryIterator getRegistryVectorEnd() const
edm::ESHandle< SiStripQuality > SiStripQuality_
ContainerIterator getDataVectorBegin() const
RegistryIterator getRegistryVectorBegin() const
double a
Definition: hdecay.h:121
std::pair< ContainerIterator, ContainerIterator > Range
void SiStripQualityHotStripIdentifier::resetHistos ( )
private

Definition at line 113 of file SiStripQualityHotStripIdentifier.cc.

References ClusterPositionHistoMap.

Referenced by algoBeginLuminosityBlock(), and algoBeginRun().

113  {
114  edm::LogInfo("SiStripQualityHotStripIdentifier") << " [SiStripQualityHotStripIdentifier::resetHistos] " << std::endl;
115  SiStrip::QualityHistosMap::iterator it = ClusterPositionHistoMap.begin();
116  SiStrip::QualityHistosMap::iterator iEnd = ClusterPositionHistoMap.end();
117  for (; it != iEnd; ++it) {
118  it->second->Reset();
119  }
120 }

Member Data Documentation

edm::InputTag SiStripQualityHotStripIdentifier::Cluster_src_
private

Definition at line 53 of file SiStripQualityHotStripIdentifier.h.

Referenced by algoAnalyze().

SiStrip::QualityHistosMap SiStripQualityHotStripIdentifier::ClusterPositionHistoMap
private
const edm::ParameterSet SiStripQualityHotStripIdentifier::conf_
private

Definition at line 50 of file SiStripQualityHotStripIdentifier.h.

Referenced by getNewObject().

std::string SiStripQualityHotStripIdentifier::dataLabel_
private

Definition at line 48 of file SiStripQualityHotStripIdentifier.h.

Referenced by algoBeginRun().

edm::FileInPath SiStripQualityHotStripIdentifier::fp_
private

Definition at line 51 of file SiStripQualityHotStripIdentifier.h.

Referenced by SiStripQualityHotStripIdentifier().

unsigned long long SiStripQualityHotStripIdentifier::m_cacheID_
private

Definition at line 47 of file SiStripQualityHotStripIdentifier.h.

Referenced by algoBeginRun().

unsigned short SiStripQualityHotStripIdentifier::MaxClusterWidth_
private
unsigned short SiStripQualityHotStripIdentifier::MinClusterWidth_
private

Definition at line 58 of file SiStripQualityHotStripIdentifier.h.

Referenced by SiStripQualityHotStripIdentifier().

SiStripDetInfoFileReader* SiStripQualityHotStripIdentifier::reader
private
edm::ESHandle<SiStripQuality> SiStripQualityHotStripIdentifier::SiStripQuality_
private

Definition at line 49 of file SiStripQualityHotStripIdentifier.h.

Referenced by algoBeginRun(), and getNewObject().

edm::InputTag SiStripQualityHotStripIdentifier::Track_src_
private

Definition at line 54 of file SiStripQualityHotStripIdentifier.h.

Referenced by algoAnalyze().

bool SiStripQualityHotStripIdentifier::tracksCollection_in_EventTree
private

Definition at line 55 of file SiStripQualityHotStripIdentifier.h.

Referenced by algoAnalyze().

const TrackerTopology* SiStripQualityHotStripIdentifier::tTopo
private

Definition at line 56 of file SiStripQualityHotStripIdentifier.h.

Referenced by algoBeginRun(), and getNewObject().