CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
TrackerRemapper Class Reference
Inheritance diagram for TrackerRemapper:
edm::one::EDAnalyzer< edm::one::SharedResources > edm::one::EDAnalyzerBase edm::EDConsumerBase

Public Types

enum  AnalyzeData { RECHITS = 1, DIGIS, CLUSTERS }
 
enum  OpMode { MODE_ANALYZE = 0, MODE_REMAP = 1 }
 
enum  PixelLayerEnum {
  INVALID = 0, PXB_L1, PXB_L2, PXB_L3,
  PXB_L4, PXF_R1, PXF_R2
}
 
- Public Types inherited from edm::one::EDAnalyzerBase
typedef EDAnalyzerBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 

Public Member Functions

template<>
void analyzeGeneric (const edm::Event &iEvent, const edm::EDGetTokenT< reco::TrackCollection > &t)
 
 TrackerRemapper (const edm::ParameterSet &)
 
 ~TrackerRemapper () override
 
- Public Member Functions inherited from edm::one::EDAnalyzer< edm::one::SharedResources >
 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
 
ESResolverIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESResolverIndex > 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
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProductResolverIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::one::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Private Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
template<class T >
void analyzeGeneric (const edm::Event &iEvent, const edm::EDGetTokenT< T > &src)
 
void analyzeRechits (const edm::Event &iEvent, const edm::EDGetTokenT< reco::TrackCollection > &src)
 
void beginJob () override
 
void bookBins ()
 
void endJob () override
 
void fillBarrelRemap (TFile *rootFileHandle, const TrackerGeometry *theTrackerGeometry, const TrackerTopology *tt)
 
void fillEndcapRemap (TFile *rootFileHandle, const TrackerGeometry *theTrackerGeometry, const TrackerTopology *tt)
 
void fillPixelRemap (const TrackerGeometry *theTrackerGeometry, const TrackerTopology *tt)
 
void fillStripRemap ()
 
void preparePixelNames ()
 
void prepareStripNames ()
 
void readVertices (double &minx, double &maxx, double &miny, double &maxy)
 

Private Attributes

edm::EDGetTokenT< edmNew::DetSetVector< SiStripCluster > > clusterSrcToken
 
edm::EDGetTokenT< edmNew::DetSetVector< SiStripDigi > > digiSrcToken
 
edm::Service< TFileServicefs
 
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecordgeomToken_
 
const edm::ParameterSetiConfig
 
int m_analyzeMode
 
std::map< unsigned, std::string > m_analyzeModeNameMap
 
std::map< long, TGraph * > m_bins
 
std::vector< unsigned > m_detIdVector
 
int m_opMode
 
std::string m_pixelBaseDir
 
std::string m_pixelDesiredHistogramBarrel
 
std::string m_pixelDesiredHistogramDisk
 
std::map< unsigned, std::string > m_pixelHistnameMap
 
std::string m_pixelRemapFile
 
std::string m_stripBaseDir
 
std::string m_stripDesiredHistogram
 
std::map< unsigned, std::string > m_stripHistnameMap
 
std::string m_stripRemapFile
 
const TkDetMapm_tkdetmap
 
edm::EDGetTokenT< reco::TrackCollectionrechitSrcToken
 
std::string runString
 
const edm::ESGetToken< TkDetMap, TrackerTopologyRcdtkDetMapToken_
 
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcdtopoToken_
 
TH2Poly * trackerMap {nullptr}
 

Additional Inherited Members

- 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 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 54 of file TrackerRemapper.cc.

Member Enumeration Documentation

◆ AnalyzeData

Enumerator
RECHITS 
DIGIS 
CLUSTERS 

Definition at line 73 of file TrackerRemapper.cc.

◆ OpMode

Enumerator
MODE_ANALYZE 
MODE_REMAP 

Definition at line 79 of file TrackerRemapper.cc.

◆ PixelLayerEnum

Enumerator
INVALID 
PXB_L1 
PXB_L2 
PXB_L3 
PXB_L4 
PXF_R1 
PXF_R2 

Definition at line 61 of file TrackerRemapper.cc.

Constructor & Destructor Documentation

◆ TrackerRemapper()

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

Definition at line 165 of file TrackerRemapper.cc.

References CLUSTERS, clusterSrcToken, DIGIS, digiSrcToken, Exception, edm::ParameterSet::getParameter(), iConfig, m_analyzeMode, m_analyzeModeNameMap, m_opMode, m_pixelBaseDir, m_pixelDesiredHistogramBarrel, m_pixelDesiredHistogramDisk, m_pixelRemapFile, m_stripBaseDir, m_stripDesiredHistogram, m_stripRemapFile, MODE_ANALYZE, MODE_REMAP, preparePixelNames(), prepareStripNames(), RECHITS, rechitSrcToken, runString, and AlCaHLTBitMon_QueryRunRegistry::string.

166  : geomToken_(esConsumes()),
169  iConfig(iConfig),
170  m_opMode(iConfig.getParameter<int>("opMode")),
171  m_analyzeMode(iConfig.getParameter<int>("analyzeMode")) {
172  usesResource("TFileService");
173 
174  if (m_opMode == MODE_REMAP) {
175  m_stripRemapFile = iConfig.getParameter<std::string>("stripRemapFile");
177  runString = iConfig.getParameter<std::string>("runString");
178 
179  m_pixelRemapFile = std::string("DQM_V0001_PixelPhase1_R000305516.root");
180 
181  m_stripBaseDir = std::string("DQMData/Run " + runString + "/SiStrip/Run summary/MechanicalView/");
182  m_pixelBaseDir = std::string("DQMData/Run " + runString + "/PixelPhase1/Run summary/Phase1_MechanicalView/");
183 
184  m_pixelDesiredHistogramBarrel = std::string("adc_per_SignedModule_per_SignedLadder");
185  m_pixelDesiredHistogramDisk = std::string("adc_per_PXDisk_per_SignedBladePanel");
186 
189  } else if (m_opMode == MODE_ANALYZE) {
190  m_analyzeModeNameMap[RECHITS] = "# Rechits";
191  m_analyzeModeNameMap[DIGIS] = "# Digis";
192  m_analyzeModeNameMap[CLUSTERS] = "# Clusters";
193 
194  switch (m_analyzeMode) {
195  case RECHITS:
196  rechitSrcToken = consumes<reco::TrackCollection>(iConfig.getParameter<edm::InputTag>("src"));
197  break;
198  case DIGIS:
199  digiSrcToken = consumes<edmNew::DetSetVector<SiStripDigi>>(iConfig.getParameter<edm::InputTag>("src"));
200  break;
201  case CLUSTERS:
202  clusterSrcToken = consumes<edmNew::DetSetVector<SiStripCluster>>(iConfig.getParameter<edm::InputTag>("src"));
203  break;
204  default:
205  edm::LogError("LogicError") << "Unrecognized analyze mode!" << std::endl;
206  }
207  } else {
208  throw cms::Exception("TrackerRemapper") << "Unrecognized operations mode!" << std::endl;
209  }
210 
211  // TColor::SetPalette(1);
212 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
std::string m_stripBaseDir
edm::EDGetTokenT< reco::TrackCollection > rechitSrcToken
std::string m_stripRemapFile
edm::EDGetTokenT< edmNew::DetSetVector< SiStripCluster > > clusterSrcToken
std::string m_pixelRemapFile
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > topoToken_
Log< level::Error, false > LogError
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > geomToken_
std::string m_pixelDesiredHistogramDisk
std::string m_stripDesiredHistogram
edm::EDGetTokenT< edmNew::DetSetVector< SiStripDigi > > digiSrcToken
const edm::ParameterSet & iConfig
const edm::ESGetToken< TkDetMap, TrackerTopologyRcd > tkDetMapToken_
std::string runString
std::map< unsigned, std::string > m_analyzeModeNameMap
std::string m_pixelDesiredHistogramBarrel
std::string m_pixelBaseDir

◆ ~TrackerRemapper()

TrackerRemapper::~TrackerRemapper ( )
override

Definition at line 311 of file TrackerRemapper.cc.

311 {}

Member Function Documentation

◆ analyze()

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

Implements edm::one::EDAnalyzerBase.

Definition at line 314 of file TrackerRemapper.cc.

References analyzeGeneric(), bookBins(), clusterSrcToken, digiSrcToken, fillPixelRemap(), fillStripRemap(), geomToken_, edm::EventSetup::getData(), iEvent, m_analyzeMode, m_opMode, m_tkdetmap, MODE_ANALYZE, MODE_REMAP, rechitSrcToken, tkDetMapToken_, topoToken_, and trackerMap.

316 {
317  // get the ES products
318 
319  const TrackerGeometry* theTrackerGeometry = &iSetup.getData(geomToken_);
320  const TrackerTopology* tt = &iSetup.getData(topoToken_);
321  m_tkdetmap = &iSetup.getData(tkDetMapToken_);
322 
323  if (!trackerMap)
324  bookBins();
325 
326  if (m_opMode == MODE_ANALYZE) {
327  switch (m_analyzeMode) {
328  case AnalyzeData::RECHITS:
330  break;
331  case AnalyzeData::DIGIS:
333  break;
334  case AnalyzeData::CLUSTERS:
336  break;
337  default:
338  edm::LogError("LogicError") << "Unrecognized Analyze mode!" << std::endl;
339  return;
340  }
341  } else if (m_opMode == MODE_REMAP) {
342  fillStripRemap();
343  fillPixelRemap(theTrackerGeometry, tt);
344  }
345 }
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
Definition: EventSetup.h:119
edm::EDGetTokenT< reco::TrackCollection > rechitSrcToken
edm::EDGetTokenT< edmNew::DetSetVector< SiStripCluster > > clusterSrcToken
void analyzeGeneric(const edm::Event &iEvent, const edm::EDGetTokenT< T > &src)
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > topoToken_
Log< level::Error, false > LogError
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > geomToken_
int iEvent
Definition: GenABIO.cc:224
Definition: TTTypes.h:54
void fillPixelRemap(const TrackerGeometry *theTrackerGeometry, const TrackerTopology *tt)
const TkDetMap * m_tkdetmap
edm::EDGetTokenT< edmNew::DetSetVector< SiStripDigi > > digiSrcToken
const edm::ESGetToken< TkDetMap, TrackerTopologyRcd > tkDetMapToken_

◆ analyzeGeneric() [1/2]

template<class T >
void TrackerRemapper::analyzeGeneric ( const edm::Event iEvent,
const edm::EDGetTokenT< T > &  src 
)
private

Definition at line 138 of file TrackerRemapper.cc.

References iEvent, input, nano_mu_digi_cff::rawId, and TrackRefitter_38T_cff::src.

Referenced by analyze().

140 {
142  iEvent.getByToken(src, input);
143 
144  if (!input.isValid()) {
145  edm::LogError("TrackerRemapper") << "<GENERIC> not found... Aborting...\n";
146  return;
147  }
148 
149  typename T::const_iterator it;
150  for (it = input->begin(); it != input->end(); ++it) {
151  auto id = DetId(it->detId());
152  trackerMap->Fill(TString::Format("%ld", (long)id.rawId()), it->size());
153  }
154 }
Log< level::Error, false > LogError
static std::string const input
Definition: EdmProvDump.cc:50
int iEvent
Definition: GenABIO.cc:224
Definition: DetId.h:17

◆ analyzeGeneric() [2/2]

template<>
void TrackerRemapper::analyzeGeneric ( const edm::Event iEvent,
const edm::EDGetTokenT< reco::TrackCollection > &  t 
)

Definition at line 158 of file TrackerRemapper.cc.

References iEvent, and submitPVValidationJobs::t.

160 {
162 }
int iEvent
Definition: GenABIO.cc:224
void analyzeRechits(const edm::Event &iEvent, const edm::EDGetTokenT< reco::TrackCollection > &src)

◆ analyzeRechits()

void TrackerRemapper::analyzeRechits ( const edm::Event iEvent,
const edm::EDGetTokenT< reco::TrackCollection > &  src 
)
private

Definition at line 348 of file TrackerRemapper.cc.

References mps_fire::i, iEvent, PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, nano_mu_digi_cff::rawId, rpcPointValidation_cfi::recHit, TrackRefitter_38T_cff::src, HLT_2023v12_cff::track, trackerMap, and pwdgSkimBPark_cfi::tracks.

350 {
352  iEvent.getByToken(src, tracks);
353  if (!tracks.isValid()) {
354  LogInfo("Analyzer") << "reco::TrackCollection not found... Aborting...\n";
355  return;
356  }
357 
358  for (auto const& track : *tracks) {
359  auto recHitsBegin = track.recHitsBegin();
360  for (unsigned i = 0; i < track.recHitsSize(); ++i) {
361  auto recHit = *(recHitsBegin + i);
362  if (!recHit->isValid())
363  continue;
364 
365  DetId id = recHit->geographicalId();
366  unsigned subdetId = id.subdetId();
367 
368  //reject Pixel
369  if (subdetId == PixelSubdetector::PixelBarrel || subdetId == PixelSubdetector::PixelEndcap)
370  continue;
371 
372  // NRECHITS
373  trackerMap->Fill(TString::Format("%ld", (long)id.rawId()), 1);
374  }
375  }
376 }
int iEvent
Definition: GenABIO.cc:224
Log< level::Info, false > LogInfo
Definition: DetId.h:17

◆ beginJob()

void TrackerRemapper::beginJob ( void  )
overrideprivatevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 621 of file TrackerRemapper.cc.

621 {}

◆ bookBins()

void TrackerRemapper::bookBins ( )
private

Definition at line 379 of file TrackerRemapper.cc.

References fs, TFileService::getBareDirectory(), m_analyzeMode, m_analyzeModeNameMap, m_bins, m_opMode, m_stripDesiredHistogram, TFileService::make(), margin, MODE_ANALYZE, MODE_REMAP, readVertices(), runString, AlCaHLTBitMon_QueryRunRegistry::string, and trackerMap.

Referenced by analyze().

381 {
382  // Read vertices from file
383  double minx = 0xFFFFFF, maxx = -0xFFFFFF, miny = 0xFFFFFF, maxy = -0xFFFFFFF;
384  readVertices(minx, maxx, miny, maxy);
385 
386  TObject* ghostObj = fs->make<TH2Poly>("ghost", "ghost", -1, 1, -1, 1);
387 
388  TDirectory* topDir = fs->getBareDirectory();
389  topDir->cd();
390 
391  int margin = 50;
392  std::string mapTitle;
393  switch (m_opMode) {
394  case MODE_ANALYZE:
396  break;
397  case MODE_REMAP:
398  mapTitle = std::string(m_stripDesiredHistogram + " - " + runString);
399  break;
400  }
401 
402  trackerMap = new TH2Poly("Tracker Map", mapTitle.c_str(), minx - margin, maxx + margin, miny - margin, maxy + margin);
403  trackerMap->SetFloat();
404  trackerMap->SetOption("COLZ");
405  trackerMap->SetStats(false);
406 
407  for (auto pair : m_bins) {
408  trackerMap->AddBin(pair.second->Clone());
409  }
410 
411  topDir->Add(trackerMap);
412 
413  ghostObj->Delete(); //not needed any more
414 }
Double_t margin
std::string m_stripDesiredHistogram
TDirectory * getBareDirectory(const std::string &subdir="") const
Definition: TFileService.h:52
edm::Service< TFileService > fs
T * make(const Args &...args) const
make new ROOT object
Definition: TFileService.h:64
void readVertices(double &minx, double &maxx, double &miny, double &maxy)
std::string runString
std::map< unsigned, std::string > m_analyzeModeNameMap
std::map< long, TGraph * > m_bins

◆ endJob()

void TrackerRemapper::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 623 of file TrackerRemapper.cc.

623 {}

◆ fillBarrelRemap()

void TrackerRemapper::fillBarrelRemap ( TFile *  rootFileHandle,
const TrackerGeometry theTrackerGeometry,
const TrackerTopology tt 
)
private

Definition at line 539 of file TrackerRemapper.cc.

References TrackerGeometry::detsPXB(), GeomDet::geographicalId(), mps_fire::i, PixelBarrelName::ladderName(), nano_mu_digi_cff::layer, m_pixelHistnameMap, DetId::rawId(), PixelBarrelName::shell(), trackerMap, and heppy_batch::val.

Referenced by fillPixelRemap().

543 {
544  TrackingGeometry::DetContainer pxb = theTrackerGeometry->detsPXB();
545 
546  for (auto& i : pxb) {
547  const GeomDet* det = i;
548 
549  PXBDetId id = det->geographicalId();
550  long rawid = id.rawId();
551 
552  int module = tt->pxbModule(id);
553  int layer = tt->pxbLayer(id);
554 
555  int signedOnlineModule = module - 4;
556  if (signedOnlineModule <= 0)
557  --signedOnlineModule;
558 
559  PixelBarrelName pixelBarrelName = PixelBarrelName(id, tt, true);
560  int onlineShell = pixelBarrelName.shell();
561 
562  int signedOnlineLadder = ((onlineShell & 1) ? -pixelBarrelName.ladderName() : pixelBarrelName.ladderName());
563 
564  const TProfile2D* histHandle = (TProfile2D*)rootFileHandle->Get(m_pixelHistnameMap[layer].c_str());
565 
566  unsigned nx = histHandle->GetNbinsX();
567  unsigned ny = histHandle->GetNbinsY();
568 
569  unsigned binX = signedOnlineModule + ((nx + 1) >> 1);
570  unsigned binY = (signedOnlineLadder) + ((ny + 1) >> 1);
571 
572  double val = histHandle->GetBinContent(binX, binY);
573 
574  trackerMap->Fill(TString::Format("%ld", rawid), val);
575  }
576 }
const DetContainer & detsPXB() const
std::map< unsigned, std::string > m_pixelHistnameMap
std::vector< const GeomDet * > DetContainer
Definition: TTTypes.h:54
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:64
Shell shell() const
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
int ladderName() const
ladder id (index in phi)

◆ fillDescriptions()

void TrackerRemapper::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 626 of file TrackerRemapper.cc.

References edm::ConfigurationDescriptions::addWithDefaultLabel(), submitPVResolutionJobs::desc, ProducerED_cfi::InputTag, and or.

628 {
630  desc.setComment(
631  "Creates TH2Poly Strip Tracker maps by either analyzing the event or remapping exising DQM historams");
632  desc.add<edm::InputTag>("src", edm::InputTag("generalTracks"));
633  desc.ifValue(edm::ParameterDescription<int>("opMode", 0, true),
635  1 >> (edm::ParameterDescription<std::string>("stripRemapFile", "", true) and
636  edm::ParameterDescription<std::string>("stripHistogram", "", true) and
637  edm::ParameterDescription<std::string>("runString", "", true)))
638  ->setComment("0 for Analyze, 1 for Remap");
639 
640  desc.ifValue(edm::ParameterDescription<int>("analyzeMode", 1, true), edm::allowedValues<int>(1, 2, 3))
641  ->setComment("1=Rechits, 2=Digis, 3=Clusters");
642 
643  //desc.add<unsigned int>("analyzeMode", 1)->setComment("1=Rechits, 2=Digis, 3=Clusters");
644  //desc.add<unsigned int>("opMode", 0)->setComment("0 for Analyze, 1 for Remap");
645  //desc.addOptional<std::string>("stripRemapFile","" )->setComment("file name to analyze, will come from the config file");
646  //desc.addOptional<std::string>("stripHistogram","TkHMap_NumberValidHits" )->setComment("histogram to use to remap");
647  //desc.addOptional<std::string>("runString", "")->setComment("run number, will come form config file");
648  descriptions.addWithDefaultLabel(desc);
649 }
void addWithDefaultLabel(ParameterSetDescription const &psetDescription)
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
Definition: Activities.doc:12

◆ fillEndcapRemap()

void TrackerRemapper::fillEndcapRemap ( TFile *  rootFileHandle,
const TrackerGeometry theTrackerGeometry,
const TrackerTopology tt 
)
private

Definition at line 579 of file TrackerRemapper.cc.

References PixelEndcapName::bladeName(), TrackerGeometry::detsPXF(), GeomDet::geographicalId(), PixelEndcapName::halfCylinder(), mps_fire::i, nano_mu_digi_cff::layer, m_pixelHistnameMap, PixelEndcapName::pannelName(), PixelEndcapName::ringName(), trackerMap, and heppy_batch::val.

Referenced by fillPixelRemap().

583 {
584  TrackingGeometry::DetContainer pxf = theTrackerGeometry->detsPXF();
585 
586  for (auto& i : pxf) {
587  const GeomDet* det = i;
588 
589  PXFDetId id = det->geographicalId();
590 
591  int side = tt->side(id);
592  int disk = tt->layer(id);
593 
594  long rawid = id.rawId();
595 
596  PixelEndcapName pixelEndcapName = PixelEndcapName(PXFDetId(rawid), tt, true);
597 
598  unsigned layer = pixelEndcapName.ringName() - 1 + PixelLayerEnum::PXF_R1;
599  const TProfile2D* histHandle = (TProfile2D*)rootFileHandle->Get(m_pixelHistnameMap[layer].c_str());
600 
601  // ---- REMAP (Online -> Offline)
602  unsigned nx = histHandle->GetNbinsX();
603  unsigned ny = histHandle->GetNbinsY();
604 
605  int onlineBlade = pixelEndcapName.bladeName();
606  bool isInnerOnlineBlade = !(pixelEndcapName.halfCylinder() & 1); // inner -> blade > 0 (?)
607 
608  int signedOnlineBlade = (isInnerOnlineBlade) ? onlineBlade : -onlineBlade;
609  int signedDisk = (side == 2) ? disk : -disk;
610  int pannel = pixelEndcapName.pannelName() - 1;
611 
612  unsigned binX = signedDisk + ((nx + 1) >> 1);
613  unsigned binY = (signedOnlineBlade * 2) + (ny >> 1);
614 
615  double val = histHandle->GetBinContent(binX, binY + pannel);
616 
617  trackerMap->Fill(TString::Format("%ld", rawid), val);
618  }
619 }
int ringName() const
ring Id
int bladeName() const
blade id
const DetContainer & detsPXF() const
std::map< unsigned, std::string > m_pixelHistnameMap
std::vector< const GeomDet * > DetContainer
Definition: TTTypes.h:54
HalfCylinder halfCylinder() const
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:64
int pannelName() const
pannel id

◆ fillPixelRemap()

void TrackerRemapper::fillPixelRemap ( const TrackerGeometry theTrackerGeometry,
const TrackerTopology tt 
)
private

Definition at line 523 of file TrackerRemapper.cc.

References fillBarrelRemap(), fillEndcapRemap(), and m_pixelRemapFile.

Referenced by analyze().

525 {
526  TFile* rootFileHandle = new TFile(m_pixelRemapFile.c_str());
527 
528  if (!rootFileHandle) {
529  edm::LogError("TrackerRemapper") << "Could not find file:\n\t" << m_pixelRemapFile << std::endl;
530  return;
531  }
532  fillBarrelRemap(rootFileHandle, theTrackerGeometry, tt);
533  fillEndcapRemap(rootFileHandle, theTrackerGeometry, tt);
534 
535  rootFileHandle->Close();
536 }
std::string m_pixelRemapFile
Log< level::Error, false > LogError
void fillEndcapRemap(TFile *rootFileHandle, const TrackerGeometry *theTrackerGeometry, const TrackerTopology *tt)
Definition: TTTypes.h:54
void fillBarrelRemap(TFile *rootFileHandle, const TrackerGeometry *theTrackerGeometry, const TrackerTopology *tt)

◆ fillStripRemap()

void TrackerRemapper::fillStripRemap ( )
private

Definition at line 483 of file TrackerRemapper.cc.

References TkDetMap::getComponents(), TkDetMap::getDetFromBin(), nano_mu_digi_cff::layer, m_stripHistnameMap, m_stripRemapFile, m_tkdetmap, trackerMap, and heppy_batch::val.

Referenced by analyze().

485 {
486  int nchX;
487  int nchY;
488  double lowX, highX;
489  double lowY, highY;
490 
491  TFile* rootFileHandle = new TFile(m_stripRemapFile.c_str());
492 
493  for (int layer = TkLayerMap::TkLayerEnum::TIB_L1; layer <= TkLayerMap::TkLayerEnum::TECP_W9; ++layer) {
494  m_tkdetmap->getComponents(layer, nchX, lowX, highX, nchY, lowY, highY);
495 
496  const TProfile2D* histHandle = (TProfile2D*)rootFileHandle->Get(m_stripHistnameMap[layer].c_str());
497 
498  if (!histHandle) {
499  edm::LogError("TrackerRemapper") << "Could not find histogram:\n\t" << m_stripHistnameMap[layer] << std::endl;
500  return;
501  }
502 
503  for (unsigned binx = 1; binx <= (unsigned)nchX; ++binx) {
504  for (unsigned biny = 1; biny <= (unsigned)nchY; ++biny) {
505  long rawid = m_tkdetmap->getDetFromBin(layer, binx, biny);
506 
507  if (rawid) //bin represents real module -> go to file
508  {
509  double val = histHandle->GetBinContent(binx, biny);
510 
511  // edm::LogInfo("TrackerRemapper") << rawid << " " << val << "\n";
512 
513  trackerMap->Fill(TString::Format("%ld", rawid), val);
514  }
515  }
516  }
517  }
518 
519  rootFileHandle->Close();
520 }
std::string m_stripRemapFile
std::map< unsigned, std::string > m_stripHistnameMap
Log< level::Error, false > LogError
DetId getDetFromBin(int layer, int ix, int iy) const
Definition: TkDetMap.h:191
const TkDetMap * m_tkdetmap
void getComponents(int layer, int &nchX, double &lowX, double &highX, int &nchY, double &lowY, double &highY) const
Definition: TkDetMap.cc:594

◆ preparePixelNames()

void TrackerRemapper::preparePixelNames ( )
private

Definition at line 293 of file TrackerRemapper.cc.

References m_pixelBaseDir, m_pixelDesiredHistogramBarrel, m_pixelDesiredHistogramDisk, and m_pixelHistnameMap.

Referenced by TrackerRemapper().

295 {
296  m_pixelHistnameMap[PixelLayerEnum::PXB_L1] =
297  m_pixelBaseDir + "PXBarrel/" + m_pixelDesiredHistogramBarrel + "_PXLayer_1;1";
298  m_pixelHistnameMap[PixelLayerEnum::PXB_L2] =
299  m_pixelBaseDir + "PXBarrel/" + m_pixelDesiredHistogramBarrel + "_PXLayer_2;1";
300  m_pixelHistnameMap[PixelLayerEnum::PXB_L3] =
301  m_pixelBaseDir + "PXBarrel/" + m_pixelDesiredHistogramBarrel + "_PXLayer_3;1";
302  m_pixelHistnameMap[PixelLayerEnum::PXB_L4] =
303  m_pixelBaseDir + "PXBarrel/" + m_pixelDesiredHistogramBarrel + "_PXLayer_4;1";
304 
305  m_pixelHistnameMap[PixelLayerEnum::PXF_R1] =
306  m_pixelBaseDir + "PXForward/" + m_pixelDesiredHistogramDisk + "_PXRing_1;1";
307  m_pixelHistnameMap[PixelLayerEnum::PXF_R2] =
308  m_pixelBaseDir + "PXForward/" + m_pixelDesiredHistogramDisk + "_PXRing_2;1";
309 }
std::map< unsigned, std::string > m_pixelHistnameMap
std::string m_pixelDesiredHistogramDisk
std::string m_pixelDesiredHistogramBarrel
std::string m_pixelBaseDir

◆ prepareStripNames()

void TrackerRemapper::prepareStripNames ( )
private

Definition at line 215 of file TrackerRemapper.cc.

References m_stripBaseDir, m_stripDesiredHistogram, and m_stripHistnameMap.

Referenced by TrackerRemapper().

217 {
218  m_stripHistnameMap[TkLayerMap::TkLayerEnum::TIB_L1] =
219  m_stripBaseDir + "TIB/layer_1/" + m_stripDesiredHistogram + "_TIB_L1;1";
220  m_stripHistnameMap[TkLayerMap::TkLayerEnum::TIB_L2] =
221  m_stripBaseDir + "TIB/layer_2/" + m_stripDesiredHistogram + "_TIB_L2;1";
222  m_stripHistnameMap[TkLayerMap::TkLayerEnum::TIB_L3] =
223  m_stripBaseDir + "TIB/layer_3/" + m_stripDesiredHistogram + "_TIB_L3;1";
224  m_stripHistnameMap[TkLayerMap::TkLayerEnum::TIB_L4] =
225  m_stripBaseDir + "TIB/layer_4/" + m_stripDesiredHistogram + "_TIB_L4;1";
226 
227  m_stripHistnameMap[TkLayerMap::TkLayerEnum::TIDM_D1] =
228  m_stripBaseDir + "TID/MINUS/wheel_1/" + m_stripDesiredHistogram + "_TIDM_D1;1";
229  m_stripHistnameMap[TkLayerMap::TkLayerEnum::TIDM_D2] =
230  m_stripBaseDir + "TID/MINUS/wheel_2/" + m_stripDesiredHistogram + "_TIDM_D2;1";
231  m_stripHistnameMap[TkLayerMap::TkLayerEnum::TIDM_D3] =
232  m_stripBaseDir + "TID/MINUS/wheel_3/" + m_stripDesiredHistogram + "_TIDM_D3;1";
233  m_stripHistnameMap[TkLayerMap::TkLayerEnum::TIDP_D1] =
234  m_stripBaseDir + "TID/PLUS/wheel_1/" + m_stripDesiredHistogram + "_TIDP_D1;1";
235  m_stripHistnameMap[TkLayerMap::TkLayerEnum::TIDP_D2] =
236  m_stripBaseDir + "TID/PLUS/wheel_2/" + m_stripDesiredHistogram + "_TIDP_D2;1";
237  m_stripHistnameMap[TkLayerMap::TkLayerEnum::TIDP_D3] =
238  m_stripBaseDir + "TID/PLUS/wheel_3/" + m_stripDesiredHistogram + "_TIDP_D3;1";
239 
240  m_stripHistnameMap[TkLayerMap::TkLayerEnum::TOB_L1] =
241  m_stripBaseDir + "TOB/layer_1/" + m_stripDesiredHistogram + "_TOB_L1;1";
242  m_stripHistnameMap[TkLayerMap::TkLayerEnum::TOB_L2] =
243  m_stripBaseDir + "TOB/layer_2/" + m_stripDesiredHistogram + "_TOB_L2;1";
244  m_stripHistnameMap[TkLayerMap::TkLayerEnum::TOB_L3] =
245  m_stripBaseDir + "TOB/layer_3/" + m_stripDesiredHistogram + "_TOB_L3;1";
246  m_stripHistnameMap[TkLayerMap::TkLayerEnum::TOB_L4] =
247  m_stripBaseDir + "TOB/layer_4/" + m_stripDesiredHistogram + "_TOB_L4;1";
248  m_stripHistnameMap[TkLayerMap::TkLayerEnum::TOB_L5] =
249  m_stripBaseDir + "TOB/layer_5/" + m_stripDesiredHistogram + "_TOB_L5;1";
250  m_stripHistnameMap[TkLayerMap::TkLayerEnum::TOB_L6] =
251  m_stripBaseDir + "TOB/layer_6/" + m_stripDesiredHistogram + "_TOB_L6;1";
252 
253  m_stripHistnameMap[TkLayerMap::TkLayerEnum::TECM_W1] =
254  m_stripBaseDir + "TEC/MINUS/wheel_1/" + m_stripDesiredHistogram + "_TECM_W1;1";
255  m_stripHistnameMap[TkLayerMap::TkLayerEnum::TECM_W2] =
256  m_stripBaseDir + "TEC/MINUS/wheel_2/" + m_stripDesiredHistogram + "_TECM_W2;1";
257  m_stripHistnameMap[TkLayerMap::TkLayerEnum::TECM_W3] =
258  m_stripBaseDir + "TEC/MINUS/wheel_3/" + m_stripDesiredHistogram + "_TECM_W3;1";
259  m_stripHistnameMap[TkLayerMap::TkLayerEnum::TECM_W4] =
260  m_stripBaseDir + "TEC/MINUS/wheel_4/" + m_stripDesiredHistogram + "_TECM_W4;1";
261  m_stripHistnameMap[TkLayerMap::TkLayerEnum::TECM_W5] =
262  m_stripBaseDir + "TEC/MINUS/wheel_5/" + m_stripDesiredHistogram + "_TECM_W5;1";
263  m_stripHistnameMap[TkLayerMap::TkLayerEnum::TECM_W6] =
264  m_stripBaseDir + "TEC/MINUS/wheel_6/" + m_stripDesiredHistogram + "_TECM_W6;1";
265  m_stripHistnameMap[TkLayerMap::TkLayerEnum::TECM_W7] =
266  m_stripBaseDir + "TEC/MINUS/wheel_7/" + m_stripDesiredHistogram + "_TECM_W7;1";
267  m_stripHistnameMap[TkLayerMap::TkLayerEnum::TECM_W8] =
268  m_stripBaseDir + "TEC/MINUS/wheel_8/" + m_stripDesiredHistogram + "_TECM_W8;1";
269  m_stripHistnameMap[TkLayerMap::TkLayerEnum::TECM_W9] =
270  m_stripBaseDir + "TEC/MINUS/wheel_9/" + m_stripDesiredHistogram + "_TECM_W9;1";
271 
272  m_stripHistnameMap[TkLayerMap::TkLayerEnum::TECP_W1] =
273  m_stripBaseDir + "TEC/PLUS/wheel_1/" + m_stripDesiredHistogram + "_TECP_W1;1";
274  m_stripHistnameMap[TkLayerMap::TkLayerEnum::TECP_W2] =
275  m_stripBaseDir + "TEC/PLUS/wheel_2/" + m_stripDesiredHistogram + "_TECP_W2;1";
276  m_stripHistnameMap[TkLayerMap::TkLayerEnum::TECP_W3] =
277  m_stripBaseDir + "TEC/PLUS/wheel_3/" + m_stripDesiredHistogram + "_TECP_W3;1";
278  m_stripHistnameMap[TkLayerMap::TkLayerEnum::TECP_W4] =
279  m_stripBaseDir + "TEC/PLUS/wheel_4/" + m_stripDesiredHistogram + "_TECP_W4;1";
280  m_stripHistnameMap[TkLayerMap::TkLayerEnum::TECP_W5] =
281  m_stripBaseDir + "TEC/PLUS/wheel_5/" + m_stripDesiredHistogram + "_TECP_W5;1";
282  m_stripHistnameMap[TkLayerMap::TkLayerEnum::TECP_W6] =
283  m_stripBaseDir + "TEC/PLUS/wheel_6/" + m_stripDesiredHistogram + "_TECP_W6;1";
284  m_stripHistnameMap[TkLayerMap::TkLayerEnum::TECP_W7] =
285  m_stripBaseDir + "TEC/PLUS/wheel_7/" + m_stripDesiredHistogram + "_TECP_W7;1";
286  m_stripHistnameMap[TkLayerMap::TkLayerEnum::TECP_W8] =
287  m_stripBaseDir + "TEC/PLUS/wheel_8/" + m_stripDesiredHistogram + "_TECP_W8;1";
288  m_stripHistnameMap[TkLayerMap::TkLayerEnum::TECP_W9] =
289  m_stripBaseDir + "TEC/PLUS/wheel_9/" + m_stripDesiredHistogram + "_TECP_W9;1";
290 }
std::string m_stripBaseDir
std::map< unsigned, std::string > m_stripHistnameMap
std::string m_stripDesiredHistogram

◆ readVertices()

void TrackerRemapper::readVertices ( double &  minx,
double &  maxx,
double &  miny,
double &  maxy 
)
private

Definition at line 417 of file TrackerRemapper.cc.

References mps_check::array, hcalRecHitTable_cff::detId, Exception, contentValuesFiles::fullPath, mps_fire::i, recoMuon::in, fastTrackerRecHitType::isPixel(), mps_splice::line, m_bins, m_detIdVector, PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, AlCaHLTBitMon_QueryRunRegistry::string, x, and y.

Referenced by bookBins().

419 {
420  std::ifstream in;
421 
422  // TPolyline vertices stored at https://github.com/cms-data/DQM-SiStripMonitorClient
423  in.open(edm::FileInPath("DQM/SiStripMonitorClient/data/Geometry/tracker_map_bare").fullPath().c_str());
424 
425  if (!in.good()) {
426  throw cms::Exception("TrackerRemapper") << "Error Reading File" << std::endl;
427  }
428  while (in.good()) {
429  long detid = 0;
430  double x[5], y[5];
431 
433  std::getline(in, line);
434 
435  TString string(line);
436  TObjArray* array = string.Tokenize(" ");
437  int ix{0}, iy{0};
438  bool isPixel{false};
439  for (int i = 0; i < array->GetEntries(); ++i) {
440  if (i == 0) {
441  detid = static_cast<TObjString*>(array->At(i))->String().Atoll();
442 
443  // Drop Pixel Data
444  DetId detId(detid);
445  if (detId.subdetId() == PixelSubdetector::PixelBarrel || detId.subdetId() == PixelSubdetector::PixelEndcap) {
446  isPixel = true;
447  break;
448  }
449  } else {
450  if (i % 2 == 0) {
451  x[ix] = static_cast<TObjString*>(array->At(i))->String().Atof();
452 
453  if (x[ix] < minx)
454  minx = x[ix];
455  if (x[ix] > maxx)
456  maxx = x[ix];
457 
458  ++ix;
459  } else {
460  y[iy] = static_cast<TObjString*>(array->At(i))->String().Atof();
461 
462  if (y[iy] < miny)
463  miny = y[iy];
464  if (y[iy] > maxy)
465  maxy = y[iy];
466 
467  ++iy;
468  }
469  }
470  }
471 
472  if (isPixel)
473  continue;
474 
475  m_detIdVector.push_back(detid);
476  m_bins[detid] = new TGraph(ix, x, y);
477  m_bins[detid]->SetName(TString::Format("%ld", detid));
478  m_bins[detid]->SetTitle(TString::Format("Module ID=%ld", detid));
479  }
480 }
Definition: DetId.h:17
bool isPixel(HitType hitType)
std::map< long, TGraph * > m_bins
std::vector< unsigned > m_detIdVector

Member Data Documentation

◆ clusterSrcToken

edm::EDGetTokenT<edmNew::DetSetVector<SiStripCluster> > TrackerRemapper::clusterSrcToken
private

Definition at line 133 of file TrackerRemapper.cc.

Referenced by analyze(), and TrackerRemapper().

◆ digiSrcToken

edm::EDGetTokenT<edmNew::DetSetVector<SiStripDigi> > TrackerRemapper::digiSrcToken
private

Definition at line 132 of file TrackerRemapper.cc.

Referenced by analyze(), and TrackerRemapper().

◆ fs

edm::Service<TFileService> TrackerRemapper::fs
private

Definition at line 106 of file TrackerRemapper.cc.

Referenced by bookBins().

◆ geomToken_

const edm::ESGetToken<TrackerGeometry, TrackerDigiGeometryRecord> TrackerRemapper::geomToken_
private

Definition at line 102 of file TrackerRemapper.cc.

Referenced by analyze().

◆ iConfig

const edm::ParameterSet& TrackerRemapper::iConfig
private

Definition at line 107 of file TrackerRemapper.cc.

Referenced by TrackerRemapper().

◆ m_analyzeMode

int TrackerRemapper::m_analyzeMode
private

Definition at line 110 of file TrackerRemapper.cc.

Referenced by analyze(), bookBins(), and TrackerRemapper().

◆ m_analyzeModeNameMap

std::map<unsigned, std::string> TrackerRemapper::m_analyzeModeNameMap
private

Definition at line 119 of file TrackerRemapper.cc.

Referenced by bookBins(), and TrackerRemapper().

◆ m_bins

std::map<long, TGraph*> TrackerRemapper::m_bins
private

Definition at line 112 of file TrackerRemapper.cc.

Referenced by bookBins(), and readVertices().

◆ m_detIdVector

std::vector<unsigned> TrackerRemapper::m_detIdVector
private

Definition at line 113 of file TrackerRemapper.cc.

Referenced by readVertices().

◆ m_opMode

int TrackerRemapper::m_opMode
private

Definition at line 109 of file TrackerRemapper.cc.

Referenced by analyze(), bookBins(), and TrackerRemapper().

◆ m_pixelBaseDir

std::string TrackerRemapper::m_pixelBaseDir
private

Definition at line 125 of file TrackerRemapper.cc.

Referenced by preparePixelNames(), and TrackerRemapper().

◆ m_pixelDesiredHistogramBarrel

std::string TrackerRemapper::m_pixelDesiredHistogramBarrel
private

Definition at line 125 of file TrackerRemapper.cc.

Referenced by preparePixelNames(), and TrackerRemapper().

◆ m_pixelDesiredHistogramDisk

std::string TrackerRemapper::m_pixelDesiredHistogramDisk
private

Definition at line 125 of file TrackerRemapper.cc.

Referenced by preparePixelNames(), and TrackerRemapper().

◆ m_pixelHistnameMap

std::map<unsigned, std::string> TrackerRemapper::m_pixelHistnameMap
private

Definition at line 118 of file TrackerRemapper.cc.

Referenced by fillBarrelRemap(), fillEndcapRemap(), and preparePixelNames().

◆ m_pixelRemapFile

std::string TrackerRemapper::m_pixelRemapFile
private

Definition at line 122 of file TrackerRemapper.cc.

Referenced by fillPixelRemap(), and TrackerRemapper().

◆ m_stripBaseDir

std::string TrackerRemapper::m_stripBaseDir
private

Definition at line 124 of file TrackerRemapper.cc.

Referenced by prepareStripNames(), and TrackerRemapper().

◆ m_stripDesiredHistogram

std::string TrackerRemapper::m_stripDesiredHistogram
private

Definition at line 124 of file TrackerRemapper.cc.

Referenced by bookBins(), prepareStripNames(), and TrackerRemapper().

◆ m_stripHistnameMap

std::map<unsigned, std::string> TrackerRemapper::m_stripHistnameMap
private

Definition at line 117 of file TrackerRemapper.cc.

Referenced by fillStripRemap(), and prepareStripNames().

◆ m_stripRemapFile

std::string TrackerRemapper::m_stripRemapFile
private

Definition at line 121 of file TrackerRemapper.cc.

Referenced by fillStripRemap(), and TrackerRemapper().

◆ m_tkdetmap

const TkDetMap* TrackerRemapper::m_tkdetmap
private

Definition at line 115 of file TrackerRemapper.cc.

Referenced by analyze(), and fillStripRemap().

◆ rechitSrcToken

edm::EDGetTokenT<reco::TrackCollection> TrackerRemapper::rechitSrcToken
private

Definition at line 131 of file TrackerRemapper.cc.

Referenced by analyze(), and TrackerRemapper().

◆ runString

std::string TrackerRemapper::runString
private

Definition at line 127 of file TrackerRemapper.cc.

Referenced by bookBins(), and TrackerRemapper().

◆ tkDetMapToken_

const edm::ESGetToken<TkDetMap, TrackerTopologyRcd> TrackerRemapper::tkDetMapToken_
private

Definition at line 104 of file TrackerRemapper.cc.

Referenced by analyze().

◆ topoToken_

const edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> TrackerRemapper::topoToken_
private

Definition at line 103 of file TrackerRemapper.cc.

Referenced by analyze().

◆ trackerMap

TH2Poly* TrackerRemapper::trackerMap {nullptr}
private