CMS 3D CMS Logo

List of all members | Public Member Functions | Private Types | Private Member Functions | Private Attributes
PixelClusterShapeExtractor Class Referencefinal
Inheritance diagram for PixelClusterShapeExtractor:
edm::global::EDAnalyzer<> edm::global::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

void analyze (edm::StreamID, const edm::Event &evt, const edm::EventSetup &) const override
 
void endJob () override
 
 PixelClusterShapeExtractor (const edm::ParameterSet &pset)
 
- Public Member Functions inherited from edm::global::EDAnalyzer<>
 EDAnalyzer ()=default
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () const final
 
bool wantsStreamLuminosityBlocks () const final
 
bool wantsStreamRuns () const final
 
- Public Member Functions inherited from edm::global::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () 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 &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
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::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
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 Types

using Lock = std::unique_lock< std::mutex >
 

Private Member Functions

void analyzeRecTracks (const edm::Event &ev, const edm::EventSetup &es) const
 
void analyzeSimHits (const edm::Event &ev, const edm::EventSetup &es) const
 
bool checkSimHits (const TrackingRecHit &recHit, TrackerHitAssociator const &theAssociator, PSimHit &simHit, pair< unsigned int, float > &key, unsigned int &ss) const
 
void init ()
 
bool isSuitable (const PSimHit &simHit, const GeomDetUnit &gdu) const
 
void processPixelRecHits (SiPixelRecHitCollection::DataContainer const &recHits, TrackerHitAssociator const &theAssociator, ClusterShapeHitFilter const &theFilter, SiPixelClusterShapeCache const &clusterShapeCache, const TrackerTopology &tkTpl) const
 
void processRec (const SiPixelRecHit &recHit, ClusterShapeHitFilter const &theFilter, LocalVector ldir, const SiPixelClusterShapeCache &clusterShapeCache, const vector< TH2F * > &histo) const
 
void processSim (const SiPixelRecHit &recHit, ClusterShapeHitFilter const &theClusterFilter, const PSimHit &simHit, const SiPixelClusterShapeCache &clusterShapeCache, const vector< TH2F * > &histo) const
 

Private Attributes

const edm::EDGetTokenT< SiPixelClusterShapeCacheclusterShapeCache_token
 
TFile * file
 
const bool hasRecTracks
 
const bool hasSimHits
 
std::vector< TH2F * > hrpc
 
std::vector< TH2F * > hspc
 
const bool noBPIX1
 
const edm::EDGetTokenT< edmNew::DetSetVector< SiPixelRecHit > > pixelRecHits_token
 
std::unique_ptr< std::mutex[]> theMutex
 
const TrackerHitAssociator::Config trackerHitAssociatorConfig_
 
const edm::EDGetTokenT< reco::TrackCollectiontracks_token
 

Additional Inherited Members

- Public Types inherited from edm::global::EDAnalyzerBase
typedef EDAnalyzerBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::global::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::EDConsumerBase
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< B > consumes (edm::InputTag tag) noexcept
 
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<Transition Tr = Transition::Event>
constexpr auto esConsumes () noexcept
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
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...
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 

Detailed Description

Definition at line 54 of file PixelClusterShapeExtractor.cc.

Member Typedef Documentation

◆ Lock

using PixelClusterShapeExtractor::Lock = std::unique_lock<std::mutex>
private

Definition at line 105 of file PixelClusterShapeExtractor.cc.

Constructor & Destructor Documentation

◆ PixelClusterShapeExtractor()

PixelClusterShapeExtractor::PixelClusterShapeExtractor ( const edm::ParameterSet pset)
explicit

Definition at line 145 of file PixelClusterShapeExtractor.cc.

146  : hasSimHits(pset.getParameter<bool>("hasSimHits")),
147  hasRecTracks(pset.getParameter<bool>("hasRecTracks")),
148  noBPIX1(pset.getParameter<bool>("noBPIX1")),
149  tracks_token(hasRecTracks ? consumes<reco::TrackCollection>(pset.getParameter<edm::InputTag>("tracks"))
153  consumes<SiPixelClusterShapeCache>(pset.getParameter<edm::InputTag>("clusterShapeCacheSrc"))),
155  file = new TFile("clusterShape.root", "RECREATE");
156  file->cd();
157  init();
158 }

References file, and init().

Member Function Documentation

◆ analyze()

void PixelClusterShapeExtractor::analyze ( edm::StreamID  ,
const edm::Event evt,
const edm::EventSetup es 
) const
overridevirtual

Implements edm::global::EDAnalyzerBase.

Definition at line 382 of file PixelClusterShapeExtractor.cc.

382  {
383  if (hasSimHits) {
384  LogTrace("MinBiasTracking") << " [ClusterShape] analyze simHits, recHits";
385  analyzeSimHits(ev, es);
386  }
387 
388  if (hasRecTracks) {
389  LogTrace("MinBiasTracking") << " [ClusterShape] analyze recHits on recTracks";
390  analyzeRecTracks(ev, es);
391  }
392 }

References analyzeRecTracks(), analyzeSimHits(), ev, hasRecTracks, hasSimHits, and LogTrace.

◆ analyzeRecTracks()

void PixelClusterShapeExtractor::analyzeRecTracks ( const edm::Event ev,
const edm::EventSetup es 
) const
private

Definition at line 331 of file PixelClusterShapeExtractor.cc.

331  {
333  es.get<CkfComponentsRecord>().get("ClusterShapeHitFilter", shape);
334  auto const& theClusterShape = *shape.product();
335 
336  edm::ESHandle<TrackerTopology> tTopoHandle;
337  es.get<TrackerTopologyRcd>().get(tTopoHandle);
338  auto const& tkTpl = *tTopoHandle;
339 
340  // Get tracks
342  ev.getByToken(tracks_token, tracks);
343 
346 
347  for (auto const& track : *tracks) {
348  if (!track.quality(reco::Track::highPurity))
349  continue;
350  if (track.numberOfValidHits() < 8)
351  continue;
352  auto const& trajParams = track.extra()->trajParams();
353  assert(trajParams.size() == track.recHitsSize());
354  auto hb = track.recHitsBegin();
355  for (unsigned int h = 0; h < track.recHitsSize(); h++) {
356  auto recHit = *(hb + h);
357  if (!recHit->isValid())
358  continue;
359  auto id = recHit->geographicalId();
360  if (noBPIX1 && tkTpl.pxbLayer(id) == 1)
361  continue;
362 
363  // check that we are in the pixel
364  auto subdetid = (id.subdetId());
365  bool isPixel = subdetid == PixelSubdetector::PixelBarrel || subdetid == PixelSubdetector::PixelEndcap;
366 
367  auto const& ltp = trajParams[h];
368  auto ldir = ltp.momentum() / ltp.momentum().mag();
369 
370  if (isPixel) {
371  // Pixel
372  const SiPixelRecHit* pixelRecHit = dynamic_cast<const SiPixelRecHit*>(recHit);
373 
374  if (pixelRecHit != nullptr)
375  processRec(*pixelRecHit, theClusterShape, ldir, *clusterShapeCache, hrpc);
376  }
377  }
378  }
379 }

References cms::cuda::assert(), SiPixelPhase1OnlineDQM_cff::clusterShapeCache, clusterShapeCache_token, ev, edm::EventSetup::get(), get, h, hcalSimParameters_cfi::hb, reco::TrackBase::highPurity, hrpc, fastTrackerRecHitType::isPixel(), noBPIX1, PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, processRec(), edm::ESHandle< T >::product(), rpcPointValidation_cfi::recHit, HLT_FULL_cff::track, PDWG_EXOHSCP_cff::tracks, and tracks_token.

Referenced by analyze().

◆ analyzeSimHits()

void PixelClusterShapeExtractor::analyzeSimHits ( const edm::Event ev,
const edm::EventSetup es 
) const
private

Definition at line 302 of file PixelClusterShapeExtractor.cc.

302  {
304  es.get<CkfComponentsRecord>().get("ClusterShapeHitFilter", shape);
305  auto const& theClusterShape = *shape.product();
306 
307  edm::ESHandle<TrackerTopology> tTopoHandle;
308  es.get<TrackerTopologyRcd>().get(tTopoHandle);
309  auto const& tkTpl = *tTopoHandle;
310 
313 
314  // Get associator
315  auto theHitAssociator = std::make_unique<TrackerHitAssociator>(ev, trackerHitAssociatorConfig_);
316 
317  // Pixel hits
318  {
320  ev.getByToken(pixelRecHits_token, coll);
321 
324 
325  auto const& recHits = coll.product()->data();
326  processPixelRecHits(recHits, *theHitAssociator, theClusterShape, *clusterShapeCache, tkTpl);
327  }
328 }

References SiPixelPhase1OnlineDQM_cff::clusterShapeCache, clusterShapeCache_token, edmNew::DetSetVector< T >::data(), ev, edm::EventSetup::get(), get, pixelRecHits_token, processPixelRecHits(), edm::Handle< T >::product(), edm::ESHandle< T >::product(), FastTrackerRecHitMaskProducer_cfi::recHits, and trackerHitAssociatorConfig_.

Referenced by analyze().

◆ checkSimHits()

bool PixelClusterShapeExtractor::checkSimHits ( const TrackingRecHit recHit,
TrackerHitAssociator const &  theAssociator,
PSimHit simHit,
pair< unsigned int, float > &  key,
unsigned int &  ss 
) const
private

Definition at line 238 of file PixelClusterShapeExtractor.cc.

242  {
243  auto const& simHits = theHitAssociator.associateHit(recHit);
244 
245  //std::cout << "simHits.size() = " << simHits.size() << std::endl;
246  for (auto const& sh : simHits) {
247  if (isSuitable(sh, *recHit.detUnit())) {
248  simHit = sh;
249  key = {simHit.trackId(), simHit.timeOfFlight()};
250  ss = simHits.size();
251  return true;
252  }
253  }
254 
255  return false;
256 }

References TrackerHitAssociator::associateHit(), isSuitable(), crabWrapper::key, rpcPointValidation_cfi::recHit, rpcPointValidation_cfi::simHit, FastTrackerRecHitCombiner_cfi::simHits, and contentValuesCheck::ss.

Referenced by processPixelRecHits().

◆ endJob()

void PixelClusterShapeExtractor::endJob ( void  )
overridevirtual

Reimplemented from edm::global::EDAnalyzerBase.

Definition at line 161 of file PixelClusterShapeExtractor.cc.

161  {
162  file->cd();
163 
164  // simulated
165  for (auto h = hspc.begin(); h != hspc.end(); h++)
166  (*h)->Write();
167 
168  // reconstructed
169  for (auto h = hrpc.begin(); h != hrpc.end(); h++)
170  (*h)->Write();
171 
172  file->Close();
173 }

References file, hrpc, and hspc.

◆ init()

void PixelClusterShapeExtractor::init ( void  )
private

Definition at line 112 of file PixelClusterShapeExtractor.cc.

112  {
113  // Declare histograms
114  char histName[256];
115 
116  // pixel
117  for (int subdet = 0; subdet <= 1; subdet++) {
118  for (int ex = 0; ex <= exMax; ex++)
119  for (int ey = 0; ey <= eyMax; ey++) {
120  sprintf(histName, "hspc_%d_%d_%d", subdet, ex, ey);
121  hspc.push_back(new TH2F(histName,
122  histName,
123  10 * 2 * (exMax + 2),
124  -(exMax + 2),
125  (exMax + 2),
126  10 * 2 * (eyMax + 2),
127  -(eyMax + 2),
128  (eyMax + 2)));
129 
130  sprintf(histName, "hrpc_%d_%d_%d", subdet, ex, ey);
131  hrpc.push_back(new TH2F(histName,
132  histName,
133  10 * 2 * (exMax + 2),
134  -(exMax + 2),
135  (exMax + 2),
136  10 * 2 * (eyMax + 2),
137  -(eyMax + 2),
138  (eyMax + 2)));
139  }
140  }
141  theMutex = std::make_unique<std::mutex[]>(hspc.size());
142 }

References exMax, and eyMax.

Referenced by PixelClusterShapeExtractor().

◆ isSuitable()

bool PixelClusterShapeExtractor::isSuitable ( const PSimHit simHit,
const GeomDetUnit gdu 
) const
private

?????

Definition at line 176 of file PixelClusterShapeExtractor.cc.

176  {
177  // Outgoing?
178  // very expensive....
179  GlobalVector gvec = gdu.position() - GlobalPoint(0, 0, 0);
180  LocalVector lvec = gdu.toLocal(gvec);
181  LocalVector ldir = simHit.exitPoint() - simHit.entryPoint();
182 
183  // cut on size as well (pixel is 285um thick...
184  bool isOutgoing = std::abs(ldir.z()) > 0.01f && (lvec.z() * ldir.z() > 0);
185 
187  const bool isRelevant = RelevantProcesses.count(simHit.processType());
188  // From a relevant process? primary or decay
189  //bool isRelevant = (simHit.processType() == 2 ||
190  // simHit.processType() == 4);
191 
192  constexpr float ptCut2 = 0.2 * 0.2; // 0.050*0.050;
193  // Fast enough? pt > 50 MeV/c FIXME (at least 200MeV....
194  bool isFast = (simHit.momentumAtEntry().perp2() > ptCut2);
195 
196  //std::cout << "isOutgoing = " << isOutgoing << ", isRelevant = " << simHit.processType() << ", isFast = " << isFast << std::endl;
197  return (isOutgoing && isRelevant && isFast);
198 }

References funct::abs(), f, trackerHitRTTI::isFast(), GeomDet::position(), rpcPointValidation_cfi::simHit, GeomDet::toLocal(), and PV3DBase< T, PVType, FrameType >::z().

Referenced by checkSimHits().

◆ processPixelRecHits()

void PixelClusterShapeExtractor::processPixelRecHits ( SiPixelRecHitCollection::DataContainer const &  recHits,
TrackerHitAssociator const &  theAssociator,
ClusterShapeHitFilter const &  theFilter,
SiPixelClusterShapeCache const &  clusterShapeCache,
const TrackerTopology tkTpl 
) const
private

Definition at line 259 of file PixelClusterShapeExtractor.cc.

263  {
264  struct Elem {
265  const SiPixelRecHit* rhit;
266  PSimHit shit;
267  unsigned int size;
268  };
269  std::map<pair<unsigned int, float>, Elem> simHitMap;
270 
271  PSimHit simHit;
272  pair<unsigned int, float> key;
273  unsigned int ss;
274 
275  for (auto const& recHit : recHits) {
276  if (noBPIX1 && tkTpl.pxbLayer(recHit.geographicalId()) == 1)
277  continue;
278  if (!checkSimHits(recHit, theHitAssociator, simHit, key, ss))
279  continue;
280  // Fill map
281  if (simHitMap.count(key) == 0) {
282  simHitMap[key] = {&recHit, simHit, ss};
283  } else if (recHit.cluster()->size() > simHitMap[key].rhit->cluster()->size())
284  simHitMap[key] = {&recHit, simHit, std::max(ss, simHitMap[key].size)};
285  }
286  for (auto const& elem : simHitMap) {
287  /* irrelevant
288  auto const rh = *elem.second.rhit;
289  auto const& topol = reinterpret_cast<const PixelGeomDetUnit*>(rh.detUnit())->specificTopology();
290  auto const & cl = *rh.cluster();
291  if (cl.minPixelCol()==0) continue;
292  if (cl.maxPixelCol()+1==topol.ncolumns()) continue;
293  if (cl.minPixelRow()==0) continue;
294  if (cl.maxPixelRow()+1==topol.nrows()) continue;
295  */
296  if (elem.second.size == 1)
297  processSim(*elem.second.rhit, theFilter, elem.second.shit, clusterShapeCache, hspc);
298  }
299 }

References checkSimHits(), SiPixelPhase1OnlineDQM_cff::clusterShapeCache, hspc, crabWrapper::key, SiStripPI::max, noBPIX1, processSim(), TrackerTopology::pxbLayer(), rpcPointValidation_cfi::recHit, FastTrackerRecHitMaskProducer_cfi::recHits, rpcPointValidation_cfi::simHit, findQualityFiles::size, and contentValuesCheck::ss.

Referenced by analyzeSimHits().

◆ processRec()

void PixelClusterShapeExtractor::processRec ( const SiPixelRecHit recHit,
ClusterShapeHitFilter const &  theFilter,
LocalVector  ldir,
const SiPixelClusterShapeCache clusterShapeCache,
const vector< TH2F * > &  histo 
) const
private

Definition at line 201 of file PixelClusterShapeExtractor.cc.

205  {
206  int part;
208  pair<float, float> pred;
209 
210  if (theClusterShape.getSizes(recHit, ldir, clusterShapeCache, part, meas, pred))
211  if (meas.size() == 1)
212  if (meas.front().first <= exMax && meas.front().second <= eyMax) {
213  int i = (part * (exMax + 1) + meas.front().first) * (eyMax + 1) + meas.front().second;
214 #ifdef DO_DEBUG
215  if (meas.front().second == 0 && std::abs(pred.second) > 3) {
216  Lock lock(theMutex[0]);
217  int id = recHit.geographicalId();
218  std::cout << id << " bigpred " << meas.front().first << '/' << meas.front().second << ' ' << pred.first << '/'
219  << pred.second << ' ' << ldir << ' ' << ldir.mag() << std::endl;
220  }
221 #endif
222  Lock lock(theMutex[i]);
223  histo[i]->Fill(pred.first, pred.second);
224  }
225 }

References funct::abs(), SiPixelPhase1OnlineDQM_cff::clusterShapeCache, gather_cfg::cout, exMax, eyMax, edm::VecArray< T, N >::front(), ClusterShapeHitFilter::getSizes(), timingPdfMaker::histo, mps_fire::i, CommonMethods::lock(), PV3DBase< T, PVType, FrameType >::mag(), rpcPointValidation_cfi::recHit, edm::VecArray< T, N >::size(), and theMutex.

Referenced by analyzeRecTracks(), and processSim().

◆ processSim()

void PixelClusterShapeExtractor::processSim ( const SiPixelRecHit recHit,
ClusterShapeHitFilter const &  theClusterFilter,
const PSimHit simHit,
const SiPixelClusterShapeCache clusterShapeCache,
const vector< TH2F * > &  histo 
) const
private

Definition at line 228 of file PixelClusterShapeExtractor.cc.

232  {
233  LocalVector ldir = simHit.exitPoint() - simHit.entryPoint();
234  processRec(recHit, theClusterFilter, ldir, clusterShapeCache, histo);
235 }

References SiPixelPhase1OnlineDQM_cff::clusterShapeCache, timingPdfMaker::histo, processRec(), rpcPointValidation_cfi::recHit, and rpcPointValidation_cfi::simHit.

Referenced by processPixelRecHits().

Member Data Documentation

◆ clusterShapeCache_token

const edm::EDGetTokenT<SiPixelClusterShapeCache> PixelClusterShapeExtractor::clusterShapeCache_token
private

Definition at line 102 of file PixelClusterShapeExtractor.cc.

Referenced by analyzeRecTracks(), and analyzeSimHits().

◆ file

TFile* PixelClusterShapeExtractor::file
private

Definition at line 94 of file PixelClusterShapeExtractor.cc.

Referenced by endJob(), and PixelClusterShapeExtractor().

◆ hasRecTracks

const bool PixelClusterShapeExtractor::hasRecTracks
private

Definition at line 97 of file PixelClusterShapeExtractor.cc.

Referenced by analyze().

◆ hasSimHits

const bool PixelClusterShapeExtractor::hasSimHits
private

Definition at line 96 of file PixelClusterShapeExtractor.cc.

Referenced by analyze().

◆ hrpc

std::vector<TH2F*> PixelClusterShapeExtractor::hrpc
private

Definition at line 108 of file PixelClusterShapeExtractor.cc.

Referenced by analyzeRecTracks(), and endJob().

◆ hspc

std::vector<TH2F*> PixelClusterShapeExtractor::hspc
private

Definition at line 107 of file PixelClusterShapeExtractor.cc.

Referenced by endJob(), and processPixelRecHits().

◆ noBPIX1

const bool PixelClusterShapeExtractor::noBPIX1
private

Definition at line 98 of file PixelClusterShapeExtractor.cc.

Referenced by analyzeRecTracks(), and processPixelRecHits().

◆ pixelRecHits_token

const edm::EDGetTokenT<edmNew::DetSetVector<SiPixelRecHit> > PixelClusterShapeExtractor::pixelRecHits_token
private

Definition at line 101 of file PixelClusterShapeExtractor.cc.

Referenced by analyzeSimHits().

◆ theMutex

std::unique_ptr<std::mutex[]> PixelClusterShapeExtractor::theMutex
private

Definition at line 106 of file PixelClusterShapeExtractor.cc.

Referenced by processRec().

◆ trackerHitAssociatorConfig_

const TrackerHitAssociator::Config PixelClusterShapeExtractor::trackerHitAssociatorConfig_
private

Definition at line 103 of file PixelClusterShapeExtractor.cc.

Referenced by analyzeSimHits().

◆ tracks_token

const edm::EDGetTokenT<reco::TrackCollection> PixelClusterShapeExtractor::tracks_token
private

Definition at line 100 of file PixelClusterShapeExtractor.cc.

Referenced by analyzeRecTracks().

SiPixelPhase1OnlineDQM_cff.clusterShapeCache
clusterShapeCache
Definition: SiPixelPhase1OnlineDQM_cff.py:120
Vector3DBase
Definition: Vector3DBase.h:8
PixelClusterShapeExtractor::hasRecTracks
const bool hasRecTracks
Definition: PixelClusterShapeExtractor.cc:97
GeomDet::position
const Surface::PositionType & position() const
The position (origin of the R.F.)
Definition: GeomDet.h:43
PixelClusterShapeExtractor::init
void init()
Definition: PixelClusterShapeExtractor.cc:112
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
PDWG_EXOHSCP_cff.tracks
tracks
Definition: PDWG_EXOHSCP_cff.py:28
PixelClusterShapeExtractor::checkSimHits
bool checkSimHits(const TrackingRecHit &recHit, TrackerHitAssociator const &theAssociator, PSimHit &simHit, pair< unsigned int, float > &key, unsigned int &ss) const
Definition: PixelClusterShapeExtractor.cc:238
mps_fire.i
i
Definition: mps_fire.py:428
HLT_FULL_cff.track
track
Definition: HLT_FULL_cff.py:11713
PixelSubdetector::PixelEndcap
Definition: PixelSubdetector.h:11
PixelSubdetector::PixelBarrel
Definition: PixelSubdetector.h:11
edm::Handle::product
T const * product() const
Definition: Handle.h:70
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
edm::EDGetTokenT< reco::TrackCollection >
h
FWCore Framework interface EventSetupRecordImplementation h
Helper function to determine trigger accepts.
Definition: L1TUtmAlgorithmRcd.h:4
gather_cfg.cout
cout
Definition: gather_cfg.py:144
PixelClusterShapeExtractor::theMutex
std::unique_ptr< std::mutex[]> theMutex
Definition: PixelClusterShapeExtractor.cc:106
timingPdfMaker.histo
histo
Definition: timingPdfMaker.py:279
cms::cuda::assert
assert(be >=bs)
FastTrackerRecHitCombiner_cfi.simHits
simHits
Definition: FastTrackerRecHitCombiner_cfi.py:5
edm::EDConsumerBase::consumesCollector
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
Definition: EDConsumerBase.cc:46
PixelClusterShapeExtractor::clusterShapeCache_token
const edm::EDGetTokenT< SiPixelClusterShapeCache > clusterShapeCache_token
Definition: PixelClusterShapeExtractor.cc:102
edm::Handle< reco::TrackCollection >
rpcPointValidation_cfi.recHit
recHit
Definition: rpcPointValidation_cfi.py:7
PixelClusterShapeExtractor::noBPIX1
const bool noBPIX1
Definition: PixelClusterShapeExtractor.cc:98
SiPixelRecHit
Our base class.
Definition: SiPixelRecHit.h:23
TrackerTopology::pxbLayer
unsigned int pxbLayer(const DetId &id) const
Definition: TrackerTopology.h:144
PV3DBase::z
T z() const
Definition: PV3DBase.h:61
PixelClusterShapeExtractor::analyzeSimHits
void analyzeSimHits(const edm::Event &ev, const edm::EventSetup &es) const
Definition: PixelClusterShapeExtractor.cc:302
contentValuesCheck.ss
ss
Definition: contentValuesCheck.py:33
PixelClusterShapeExtractor::hspc
std::vector< TH2F * > hspc
Definition: PixelClusterShapeExtractor.cc:107
part
part
Definition: HCALResponse.h:20
PixelClusterShapeExtractor::analyzeRecTracks
void analyzeRecTracks(const edm::Event &ev, const edm::EventSetup &es) const
Definition: PixelClusterShapeExtractor.cc:331
h
edm::EventSetup::get
T get() const
Definition: EventSetup.h:80
CkfComponentsRecord
Definition: CkfComponentsRecord.h:22
PixelClusterShapeExtractor::processRec
void processRec(const SiPixelRecHit &recHit, ClusterShapeHitFilter const &theFilter, LocalVector ldir, const SiPixelClusterShapeCache &clusterShapeCache, const vector< TH2F * > &histo) const
Definition: PixelClusterShapeExtractor.cc:201
rpcPointValidation_cfi.simHit
simHit
Definition: rpcPointValidation_cfi.py:24
edm::ESHandle< ClusterShapeHitFilter >
PixelClusterShapeExtractor::processPixelRecHits
void processPixelRecHits(SiPixelRecHitCollection::DataContainer const &recHits, TrackerHitAssociator const &theAssociator, ClusterShapeHitFilter const &theFilter, SiPixelClusterShapeCache const &clusterShapeCache, const TrackerTopology &tkTpl) const
Definition: PixelClusterShapeExtractor.cc:259
edm::VecArray::front
reference front()
Definition: VecArray.h:50
GlobalPoint
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
GeomDet::toLocal
LocalPoint toLocal(const GlobalPoint &gp) const
Conversion to the R.F. of the GeomDet.
Definition: GeomDet.h:58
eyMax
#define eyMax
Definition: PixelClusterShapeExtractor.cc:44
FastTrackerRecHitMaskProducer_cfi.recHits
recHits
Definition: FastTrackerRecHitMaskProducer_cfi.py:8
edm::VecArray< std::pair< int, int >, 9 >
fastTrackerRecHitType::isPixel
bool isPixel(HitType hitType)
Definition: FastTrackerRecHit.h:37
CommonMethods.lock
def lock()
Definition: CommonMethods.py:82
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
PixelClusterShapeExtractor::processSim
void processSim(const SiPixelRecHit &recHit, ClusterShapeHitFilter const &theClusterFilter, const PSimHit &simHit, const SiPixelClusterShapeCache &clusterShapeCache, const vector< TH2F * > &histo) const
Definition: PixelClusterShapeExtractor.cc:228
PixelClusterShapeExtractor::Lock
std::unique_lock< std::mutex > Lock
Definition: PixelClusterShapeExtractor.cc:105
PixelClusterShapeExtractor::trackerHitAssociatorConfig_
const TrackerHitAssociator::Config trackerHitAssociatorConfig_
Definition: PixelClusterShapeExtractor.cc:103
get
#define get
hcalSimParameters_cfi.hb
hb
Definition: hcalSimParameters_cfi.py:60
PixelClusterShapeExtractor::file
TFile * file
Definition: PixelClusterShapeExtractor.cc:94
PV3DBase::mag
T mag() const
Definition: PV3DBase.h:64
edmNew::DetSetVector
Definition: DetSetNew.h:13
edmNew::DetSetVector::data
data_type const * data(size_t cell) const
Definition: DetSetVectorNew.h:560
PixelClusterShapeExtractor::pixelRecHits_token
const edm::EDGetTokenT< edmNew::DetSetVector< SiPixelRecHit > > pixelRecHits_token
Definition: PixelClusterShapeExtractor.cc:101
ev
bool ev
Definition: Hydjet2Hadronizer.cc:95
edm::VecArray::size
constexpr size_type size() const noexcept
Definition: VecArray.h:70
PixelClusterShapeExtractor::hasSimHits
const bool hasSimHits
Definition: PixelClusterShapeExtractor.cc:96
exMax
#define exMax
Definition: PixelClusterShapeExtractor.cc:43
PixelClusterShapeExtractor::isSuitable
bool isSuitable(const PSimHit &simHit, const GeomDetUnit &gdu) const
Definition: PixelClusterShapeExtractor.cc:176
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
LogTrace
#define LogTrace(id)
Definition: MessageLogger.h:224
TrackerTopologyRcd
Definition: TrackerTopologyRcd.h:10
edm::EDConsumerBase::consumes
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
Definition: EDConsumerBase.h:153
PSimHit
Definition: PSimHit.h:15
PixelClusterShapeExtractor::tracks_token
const edm::EDGetTokenT< reco::TrackCollection > tracks_token
Definition: PixelClusterShapeExtractor.cc:100
crabWrapper.key
key
Definition: crabWrapper.py:19
edm::InputTag
Definition: InputTag.h:15
PixelClusterShapeExtractor::hrpc
std::vector< TH2F * > hrpc
Definition: PixelClusterShapeExtractor.cc:108
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
trackerHitRTTI::isFast
bool isFast(TrackingRecHit const &hit)
Definition: trackerHitRTTI.h:37
findQualityFiles.size
size
Write out results.
Definition: findQualityFiles.py:443
reco::TrackBase::highPurity
Definition: TrackBase.h:154