CMS 3D CMS Logo

Phase2ITValidateCluster.cc
Go to the documentation of this file.
1 // -*- C++ -*-
3 // Package: Phase2ITValidateCluster
4 // Class: Phase2ITValidateCluster
5 //
11 //
12 // Author: Gabriel Ramirez, Suvankar Roy Chowdhury
13 // Date: May 23, 2020
14 //
15 #include <memory>
25 
33 
38 
43 
44 // DQM Histograming
48 
50 public:
51  typedef std::map<unsigned int, std::vector<PSimHit>> SimHitsMap;
52  typedef std::map<unsigned int, SimTrack> SimTracksMap;
53 
55  ~Phase2ITValidateCluster() override;
56  void bookHistograms(DQMStore::IBooker& ibooker, edm::Run const& iRun, edm::EventSetup const& iSetup) override;
57  void analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) override;
58  void dqmBeginRun(const edm::Run& iRun, const edm::EventSetup& iSetup) override;
59  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
60 
61 private:
62  struct ClusterMEs {
67  };
68 
69  void fillITHistos(const edm::Event& iEvent,
71  const std::map<unsigned int, SimTrack>& simTracks);
72  void bookLayerHistos(DQMStore::IBooker& ibooker, uint32_t det_it, const std::string& subdir);
73  std::vector<unsigned int> getSimTrackId(const edm::Handle<edm::DetSetVector<PixelDigiSimLink>>& pixelSimLinks,
74  const DetId& detId,
75  unsigned int channel);
76 
77  std::map<std::string, ClusterMEs> layerMEs_;
78 
81  std::vector<edm::EDGetTokenT<edm::PSimHitContainer>> simHitTokens_;
85  std::vector<edm::InputTag> pSimHitSrc_;
88  const TrackerGeometry* tkGeom_ = nullptr;
89  const TrackerTopology* tTopo_ = nullptr;
90 };
93 
94 //
95 // constructors
96 //
97 
99  : config_(iConfig),
100  simtrackminpt_(config_.getParameter<double>("SimTrackMinPt")),
101  simITLinksToken_(consumes<edm::DetSetVector<PixelDigiSimLink>>(
102  config_.getParameter<edm::InputTag>("InnerTrackerDigiSimLinkSource"))),
103  simTracksToken_(consumes<edm::SimTrackContainer>(config_.getParameter<edm::InputTag>("simtracks"))),
104  clustersToken_(
105  consumes<edmNew::DetSetVector<SiPixelCluster>>(config_.getParameter<edm::InputTag>("ClusterSource"))),
106  pSimHitSrc_(config_.getParameter<std::vector<edm::InputTag>>("PSimHitSource")),
108  topoToken_(esConsumes<TrackerTopology, TrackerTopologyRcd, edm::Transition::BeginRun>()) {
109  edm::LogInfo("Phase2ITValidateCluster") << ">>> Construct Phase2ITValidateCluster ";
110  for (const auto& itag : pSimHitSrc_)
111  simHitTokens_.push_back(consumes<edm::PSimHitContainer>(itag));
112 }
113 
115  // do anything here that needs to be done at desctruction time
116  // (e.g. close files, deallocate resources etc.)
117  edm::LogInfo("Phase2ITValidateCluster") << ">>> Destroy Phase2ITValidateCluster ";
118 }
119 //
120 // -- DQM Begin Run
121 //
123  tkGeom_ = &iSetup.getData(geomToken_);
124  tTopo_ = &iSetup.getData(topoToken_);
125 }
126 
127 // -- Analyze
128 //
130  // Getting simHits
131  std::vector<edm::Handle<edm::PSimHitContainer>> simHits;
132  for (const auto& itoken : simHitTokens_) {
133  const auto& simHitHandle = iEvent.getHandle(itoken);
134  if (!simHitHandle.isValid())
135  continue;
136  simHits.emplace_back(simHitHandle);
137  }
138  // Get the SimTracks
139  const auto& simTracksRaw = iEvent.getHandle(simTracksToken_);
140  // Rearrange the simTracks for ease of use <simTrackID, simTrack>
142  for (edm::SimTrackContainer::const_iterator simTrackIt(simTracksRaw->begin()); simTrackIt != simTracksRaw->end();
143  ++simTrackIt) {
144  if (simTrackIt->momentum().pt() > simtrackminpt_) {
145  simTracks.emplace(simTrackIt->trackId(), *simTrackIt);
146  }
147  }
149 }
150 
153  const std::map<unsigned int, SimTrack>& simTracks) {
154  // Getting the clusters
155  const auto& clusterHandle = iEvent.getHandle(clustersToken_);
156  // Getting PixelDigiSimLinks
157  const auto& pixelSimLinksHandle = iEvent.getHandle(simITLinksToken_);
158 
159  for (const auto& DSVItr : *clusterHandle) {
160  // Getting the id of detector unit
161  uint32_t rawid = DSVItr.detId();
162  DetId detId(rawid);
163  const GeomDetUnit* geomDetUnit(tkGeom_->idToDetUnit(detId));
164  if (!geomDetUnit)
165  continue;
166 
167  std::string folderkey = phase2tkutil::getITHistoId(detId, tTopo_);
168  for (const auto& clusterItr : DSVItr) {
169  MeasurementPoint mpCluster(clusterItr.x(), clusterItr.y());
170  Local3DPoint localPosCluster = geomDetUnit->topology().localPosition(mpCluster);
171  // Get simTracks from the cluster
172  std::vector<unsigned int> clusterSimTrackIds;
173  for (int irow = clusterItr.minPixelRow(); irow <= clusterItr.maxPixelRow(); ++irow) {
174  for (int icol = clusterItr.minPixelCol(); icol <= clusterItr.maxPixelCol(); ++icol) {
175  uint32_t channel = PixelChannelIdentifier::pixelToChannel(irow, icol);
176  std::vector<unsigned int> simTrackIds(getSimTrackId(pixelSimLinksHandle, detId, channel));
177  for (auto it : simTrackIds) {
178  bool add = true;
179  for (unsigned int j = 0; j < clusterSimTrackIds.size(); ++j) {
180  // only save simtrackids that are not present yet
181  if (it == clusterSimTrackIds.at(j))
182  add = false;
183  }
184  if (add)
185  clusterSimTrackIds.push_back(it);
186  }
187  }
188  }
189  std::sort(clusterSimTrackIds.begin(), clusterSimTrackIds.end());
190  const PSimHit* closestSimHit = nullptr;
191  float mind = 10000.;
192  // Get the SimHit
193  for (const auto& psimhitCont : simHits) {
194  for (const auto& simhitIt : *psimhitCont) {
195  if (rawid == simhitIt.detUnitId()) {
196  auto it = std::lower_bound(clusterSimTrackIds.begin(), clusterSimTrackIds.end(), simhitIt.trackId());
197  if (it != clusterSimTrackIds.end() && *it == simhitIt.trackId()) {
198  float dx = simhitIt.localPosition().x() - localPosCluster.x();
199  float dy = simhitIt.localPosition().y() - localPosCluster.y();
200  float dist = dx * dx + dy * dy;
201  if (!closestSimHit || dist < mind) {
202  mind = dist;
203  closestSimHit = &simhitIt;
204  }
205  }
206  }
207  } //end loop over PSimhitcontainers
208  } //end loop over simHits
209 
210  if (!closestSimHit)
211  continue;
212  // only look at simhits from highpT tracks
213  auto simTrackIt(simTracks.find(closestSimHit->trackId()));
214  if (simTrackIt == simTracks.end())
215  continue;
216  Local3DPoint localPosSimHit(closestSimHit->localPosition());
217  const double deltaX = phase2tkutil::cmtomicron * (localPosCluster.x() - localPosSimHit.x());
218  const double deltaY = phase2tkutil::cmtomicron * (localPosCluster.y() - localPosSimHit.y());
219 
220  auto layerMEIt = layerMEs_.find(folderkey);
221  if (layerMEIt == layerMEs_.end())
222  continue;
223 
224  ClusterMEs& local_mes = layerMEIt->second;
225  local_mes.deltaX_P->Fill(deltaX);
226  local_mes.deltaY_P->Fill(deltaY);
227  // Primary particles only
228  if (phase2tkutil::isPrimary(simTrackIt->second, closestSimHit)) {
229  local_mes.deltaX_P_primary->Fill(deltaX);
230  local_mes.deltaY_P_primary->Fill(deltaY);
231  }
232  }
233  }
234 }
235 
236 //
237 // -- Book Histograms
238 //
240  edm::Run const& iRun,
241  edm::EventSetup const& iSetup) {
242  std::string top_folder = config_.getParameter<std::string>("TopFolderName");
243  edm::LogInfo("Phase2ITValidateCluster") << " Booking Histograms in: " << top_folder;
244 
245  edm::ESWatcher<TrackerDigiGeometryRecord> theTkDigiGeomWatcher;
246  if (theTkDigiGeomWatcher.check(iSetup)) {
247  for (auto const& det_u : tkGeom_->detUnits()) {
248  //Always check TrackerNumberingBuilder before changing this part
249  if (!(det_u->subDetector() == GeomDetEnumerators::SubDetector::P2PXB ||
250  det_u->subDetector() == GeomDetEnumerators::SubDetector::P2PXEC))
251  continue; //continue if not Pixel
252  uint32_t detId_raw = det_u->geographicalId().rawId();
253  bookLayerHistos(ibooker, detId_raw, top_folder);
254  }
255  }
256 }
257 
259 void Phase2ITValidateCluster::bookLayerHistos(DQMStore::IBooker& ibooker, uint32_t det_id, const std::string& subdir) {
261  if (folderName.empty()) {
262  edm::LogWarning("Phase2ITValidateCluster") << ">>>> Invalid histo_id ";
263  return;
264  }
265 
266  if (layerMEs_.find(folderName) == layerMEs_.end()) {
267  ibooker.cd();
268  ibooker.setCurrentFolder(subdir + '/' + folderName);
269  edm::LogInfo("Phase2TrackerValidateDigi") << " Booking Histograms in: " << subdir + '/' + folderName;
270  ClusterMEs local_mes;
271 
272  local_mes.deltaX_P =
274 
275  local_mes.deltaY_P =
277 
278  // Puting primary digis in a subfolder
279  ibooker.setCurrentFolder(subdir + '/' + folderName + "/PrimarySimHits");
280 
281  local_mes.deltaX_P_primary =
282  phase2tkutil::book1DFromPSet(config_.getParameter<edm::ParameterSet>("Delta_X_Pixel_Primary"), ibooker);
283 
284  local_mes.deltaY_P_primary =
285  phase2tkutil::book1DFromPSet(config_.getParameter<edm::ParameterSet>("Delta_Y_Pixel_Primary"), ibooker);
286  layerMEs_.emplace(folderName, local_mes);
287  }
288 }
289 
290 std::vector<unsigned int> Phase2ITValidateCluster::getSimTrackId(
291  const edm::Handle<edm::DetSetVector<PixelDigiSimLink>>& pixelSimLinks, const DetId& detId, unsigned int channel) {
292  std::vector<unsigned int> retvec;
293  edm::DetSetVector<PixelDigiSimLink>::const_iterator DSViter(pixelSimLinks->find(detId));
294  if (DSViter == pixelSimLinks->end())
295  return retvec;
296  for (edm::DetSet<PixelDigiSimLink>::const_iterator it = DSViter->data.begin(); it != DSViter->data.end(); ++it) {
297  if (channel == it->channel()) {
298  retvec.push_back(it->SimTrackId());
299  }
300  }
301  return retvec;
302 }
303 
306  //for macro-pixel sensors
307  {
309  psd0.add<std::string>("name", "Delta_X_Pixel");
310  psd0.add<std::string>("title", "#Delta X;Cluster resolution X coordinate [#mum]");
311  psd0.add<bool>("switch", true);
312  psd0.add<double>("xmax", 250.);
313  psd0.add<double>("xmin", -250.);
314  psd0.add<int>("NxBins", 100);
315  desc.add<edm::ParameterSetDescription>("Delta_X_Pixel", psd0);
316  }
317  {
319  psd0.add<std::string>("name", "Delta_Y_Pixel");
320  psd0.add<std::string>("title", "#Delta Y ;Cluster resolution Y coordinate [#mum]");
321  psd0.add<double>("xmin", -250.);
322  psd0.add<double>("xmax", 250.);
323  psd0.add<bool>("switch", true);
324  psd0.add<int>("NxBins", 100);
325  desc.add<edm::ParameterSetDescription>("Delta_Y_Pixel", psd0);
326  }
327  {
329  psd0.add<std::string>("name", "Delta_X_Pixel_Primary");
330  psd0.add<std::string>("title", "#Delta X ;cluster resolution X coordinate [#mum]");
331  psd0.add<double>("xmin", -250.);
332  psd0.add<double>("xmax", 250.);
333  psd0.add<bool>("switch", true);
334  psd0.add<int>("NxBins", 100);
335  desc.add<edm::ParameterSetDescription>("Delta_X_Pixel_Primary", psd0);
336  }
337  {
339  psd0.add<std::string>("name", "Delta_Y_Pixel_Primary");
340  psd0.add<std::string>("title", "#Delta Y ;cluster resolution Y coordinate [#mum]");
341  psd0.add<double>("xmin", -250.);
342  psd0.add<double>("xmax", 250.);
343  psd0.add<bool>("switch", true);
344  psd0.add<int>("NxBins", 100);
345  desc.add<edm::ParameterSetDescription>("Delta_Y_Pixel_Primary", psd0);
346  }
347 
348  desc.add<std::string>("TopFolderName", "TrackerPhase2ITClusterV");
349  desc.add<edm::InputTag>("ClusterSource", edm::InputTag("siPixelClusters"));
350  desc.add<edm::InputTag>("InnerTrackerDigiSimLinkSource", edm::InputTag("simSiPixelDigis", "Pixel"));
351  desc.add<edm::InputTag>("simtracks", edm::InputTag("g4SimHits"));
352  desc.add<double>("SimTrackMinPt", 0.0);
353  desc.add<std::vector<edm::InputTag>>("PSimHitSource",
354  {
355  edm::InputTag("g4SimHits:TrackerHitsPixelBarrelLowTof"),
356  edm::InputTag("g4SimHits:TrackerHitsPixelBarrelHighTof"),
357  edm::InputTag("g4SimHits:TrackerHitsPixelEndcapLowTof"),
358  edm::InputTag("g4SimHits:TrackerHitsPixelEndcapHighTof"),
359  });
360  descriptions.add("Phase2ITValidateCluster", desc);
361 }
edm::ESWatcher::check
bool check(const edm::EventSetup &iSetup)
Definition: ESWatcher.h:57
edm::DetSetVector< PixelDigiSimLink >
Point2DBase
Definition: Point2DBase.h:9
dqm::impl::MonitorElement
Definition: MonitorElement.h:99
Phase2ITValidateCluster::analyze
void analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup) override
Definition: Phase2ITValidateCluster.cc:129
phase2tkutil::book1DFromPSet
MonitorElement * book1DFromPSet(const edm::ParameterSet &hpars, DQMStore::IBooker &ibooker)
Definition: TrackerPhase2DQMUtil.cc:50
Phase2ITValidateCluster::Phase2ITValidateCluster
Phase2ITValidateCluster(const edm::ParameterSet &)
Definition: Phase2ITValidateCluster.cc:98
Handle.h
edm::ParameterSetDescription::add
ParameterDescriptionBase * add(U const &iLabel, T const &value)
Definition: ParameterSetDescription.h:95
MessageLogger.h
TrackerGeometry.h
GeomDet
Definition: GeomDet.h:27
Phase2ITValidateCluster::simITLinksToken_
edm::EDGetTokenT< edm::DetSetVector< PixelDigiSimLink > > simITLinksToken_
Definition: Phase2ITValidateCluster.cc:82
Phase2ITValidateCluster::tkGeom_
const TrackerGeometry * tkGeom_
Definition: Phase2ITValidateCluster.cc:88
edm::ESWatcher< TrackerDigiGeometryRecord >
ESHandle.h
Phase2ITValidateCluster::pSimHitSrc_
std::vector< edm::InputTag > pSimHitSrc_
Definition: Phase2ITValidateCluster.cc:85
Phase2ITValidateCluster::ClusterMEs
Definition: Phase2ITValidateCluster.cc:62
edm::Run
Definition: Run.h:45
edm::EDGetTokenT
Definition: EDGetToken.h:33
edm
HLT enums.
Definition: AlignableModifier.h:19
TrackerTopology
Definition: TrackerTopology.h:16
PSimHitContainer.h
SiPixelCluster.h
Phase2ITValidateCluster::layerMEs_
std::map< std::string, ClusterMEs > layerMEs_
Definition: Phase2ITValidateCluster.cc:77
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89301
Phase2ITValidateCluster::tTopo_
const TrackerTopology * tTopo_
Definition: Phase2ITValidateCluster.cc:89
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
TrackerPhase2ValidationUtil.h
FastTrackerRecHitCombiner_cfi.simHits
simHits
Definition: FastTrackerRecHitCombiner_cfi.py:5
TrackCandidateProducer_cfi.simTracks
simTracks
Definition: TrackCandidateProducer_cfi.py:15
Phase2ITValidateCluster::simTracksToken_
edm::EDGetTokenT< edm::SimTrackContainer > simTracksToken_
Definition: Phase2ITValidateCluster.cc:83
DQMStore.h
PixelChannelIdentifier.h
Phase2ITValidateCluster::ClusterMEs::deltaX_P
MonitorElement * deltaX_P
Definition: Phase2ITValidateCluster.cc:63
SiPixelCluster
Pixel cluster – collection of neighboring pixels above threshold.
Definition: SiPixelCluster.h:28
Phase2ITValidateCluster
bookLayer
Definition: Phase2ITValidateCluster.cc:49
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
edm::Handle< edm::PSimHitContainer >
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
Phase2ITValidateCluster::ClusterMEs::deltaY_P
MonitorElement * deltaY_P
Definition: Phase2ITValidateCluster.cc:64
edmNew
Definition: DetSet2RangeMap.h:11
Phase2ITValidateCluster::bookHistograms
void bookHistograms(DQMStore::IBooker &ibooker, edm::Run const &iRun, edm::EventSetup const &iSetup) override
Definition: Phase2ITValidateCluster.cc:239
TrackerGeometry::idToDetUnit
const TrackerGeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
Definition: TrackerGeometry.cc:183
Phase2ITValidateCluster::simHitTokens_
std::vector< edm::EDGetTokenT< edm::PSimHitContainer > > simHitTokens_
Definition: Phase2ITValidateCluster.cc:81
DetId
Definition: DetId.h:17
MakerMacros.h
TrackerTopology.h
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
PixelChannelIdentifier::pixelToChannel
static int pixelToChannel(int row, int col)
Definition: PixelChannelIdentifier.h:65
TrackerGeometry::detUnits
const DetContainer & detUnits() const override
Returm a vector of all GeomDet.
Definition: TrackerGeometry.h:61
Service.h
TrackerDigiGeometryRecord
Definition: TrackerDigiGeometryRecord.h:16
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
Phase2ITValidateCluster::config_
edm::ParameterSet config_
Definition: Phase2ITValidateCluster.cc:79
TrackerPhase2DQMUtil.h
dqm::implementation::NavigatorBase::cd
virtual void cd()
Definition: DQMStore.cc:29
Phase2ITValidateCluster::SimHitsMap
std::map< unsigned int, std::vector< PSimHit > > SimHitsMap
Definition: Phase2ITValidateCluster.cc:51
Point3DBase< float, LocalTag >
DQMEDAnalyzer.h
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
DQMEDAnalyzer
Definition: DQMEDAnalyzer.py:1
pfDeepBoostedJetPreprocessParams_cfi.lower_bound
lower_bound
Definition: pfDeepBoostedJetPreprocessParams_cfi.py:15
TrackerDigiGeometryRecord.h
MonitorElement.h
edm::ParameterSet
Definition: ParameterSet.h:47
edm::Transition
Transition
Definition: Transition.h:12
Event.h
Phase2ITValidateCluster::ClusterMEs::deltaY_P_primary
MonitorElement * deltaY_P_primary
Definition: Phase2ITValidateCluster.cc:66
phase2tkutil::isPrimary
bool isPrimary(const SimTrack &simTrk, const PSimHit *simHit)
Definition: TrackerPhase2ValidationUtil.cc:2
PVValHelper::add
void add(std::map< std::string, TH1 * > &h, TH1 *hist)
Definition: PVValidationHelpers.cc:12
edm::DetSetVector::const_iterator
collection_type::const_iterator const_iterator
Definition: DetSetVector.h:102
jetUpdater_cfi.sort
sort
Definition: jetUpdater_cfi.py:29
iEvent
int iEvent
Definition: GenABIO.cc:224
Phase2ITValidateCluster::geomToken_
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > geomToken_
Definition: Phase2ITValidateCluster.cc:86
Phase2ITValidateCluster::ClusterMEs::deltaX_P_primary
MonitorElement * deltaX_P_primary
Definition: Phase2ITValidateCluster.cc:65
trackerHitRTTI::vector
Definition: trackerHitRTTI.h:21
PVValHelper::dy
Definition: PVValidationHelpers.h:50
Phase2ITValidateCluster::SimTracksMap
std::map< unsigned int, SimTrack > SimTracksMap
Definition: Phase2ITValidateCluster.cc:52
edm::EventSetup
Definition: EventSetup.h:58
phase2tkutil::cmtomicron
static constexpr float cmtomicron
Definition: TrackerPhase2ValidationUtil.h:9
DetSetVector.h
Phase2ITValidateCluster::dqmBeginRun
void dqmBeginRun(const edm::Run &iRun, const edm::EventSetup &iSetup) override
Definition: Phase2ITValidateCluster.cc:122
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord >
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
ALCARECODTCalibSynchCosmicsDQM_cff.folderName
folderName
Definition: ALCARECODTCalibSynchCosmicsDQM_cff.py:9
InputTag.h
edm::EventSetup::getData
bool getData(T &iHolder) const
Definition: EventSetup.h:127
Phase2ITValidateCluster::~Phase2ITValidateCluster
~Phase2ITValidateCluster() override
Definition: Phase2ITValidateCluster.cc:114
Phase2ITValidateCluster::getSimTrackId
std::vector< unsigned int > getSimTrackId(const edm::Handle< edm::DetSetVector< PixelDigiSimLink >> &pixelSimLinks, const DetId &detId, unsigned int channel)
Definition: Phase2ITValidateCluster.cc:290
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
std
Definition: JetResolutionObject.h:76
phase2tkutil::getITHistoId
std::string getITHistoId(uint32_t det_id, const TrackerTopology *tTopo)
Definition: TrackerPhase2DQMUtil.cc:2
edm::SimTrackContainer
std::vector< SimTrack > SimTrackContainer
Definition: SimTrackContainer.h:12
DetId.h
Phase2ITValidateCluster::bookLayerHistos
void bookLayerHistos(DQMStore::IBooker &ibooker, uint32_t det_it, const std::string &subdir)
Definition: Phase2ITValidateCluster.cc:259
Frameworkfwd.h
ESWatcher.h
PixelGeomDetUnit.h
Phase2ITValidateCluster::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: Phase2ITValidateCluster.cc:304
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
dqm::implementation::IBooker
Definition: DQMStore.h:43
GeomDetEnumerators::P2PXB
Definition: GeomDetEnumerators.h:27
Phase2ITValidateCluster::fillITHistos
void fillITHistos(const edm::Event &iEvent, const std::vector< edm::Handle< edm::PSimHitContainer >> &simHits, const std::map< unsigned int, SimTrack > &simTracks)
Definition: Phase2ITValidateCluster.cc:151
Phase2ITValidateCluster::clustersToken_
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > clustersToken_
Definition: Phase2ITValidateCluster.cc:84
TrackerTopologyRcd
Definition: TrackerTopologyRcd.h:10
ParameterSet.h
PSimHit
Definition: PSimHit.h:15
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
DeDxTools::esConsumes
ESGetTokenH3DDVariant esConsumes(std::string const &Reccord, edm::ConsumesCollector &)
Definition: DeDxTools.cc:283
edm::Event
Definition: Event.h:73
Phase2ITValidateCluster::topoToken_
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > topoToken_
Definition: Phase2ITValidateCluster.cc:87
SimTrackContainer.h
DetSetVectorNew.h
edm::InputTag
Definition: InputTag.h:15
Phase2ITValidateCluster::simtrackminpt_
double simtrackminpt_
Definition: Phase2ITValidateCluster.cc:80
PVValHelper::dx
Definition: PVValidationHelpers.h:49
SimVertexContainer.h
GeomDetEnumerators::P2PXEC
Definition: GeomDetEnumerators.h:28
TrackerGeometry
Definition: TrackerGeometry.h:14
edm::DetSet::const_iterator
collection_type::const_iterator const_iterator
Definition: DetSet.h:31