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

References CLUSTERS, clusterSrcToken, DIGIS, digiSrcToken, Exception, edm::ParameterSet::getParameter(), 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.

165  : geomToken_(esConsumes()),
168  m_opMode(iConfig.getParameter<int>("opMode")),
169  m_analyzeMode(iConfig.getParameter<int>("analyzeMode")) {
170  usesResource("TFileService");
171 
172  if (m_opMode == MODE_REMAP) {
173  m_stripRemapFile = iConfig.getParameter<std::string>("stripRemapFile");
174  m_stripDesiredHistogram = iConfig.getParameter<std::string>("stripHistogram");
175  runString = iConfig.getParameter<std::string>("runString");
176 
177  m_pixelRemapFile = std::string("DQM_V0001_PixelPhase1_R000305516.root");
178 
179  m_stripBaseDir = std::string("DQMData/Run " + runString + "/SiStrip/Run summary/MechanicalView/");
180  m_pixelBaseDir = std::string("DQMData/Run " + runString + "/PixelPhase1/Run summary/Phase1_MechanicalView/");
181 
182  m_pixelDesiredHistogramBarrel = std::string("adc_per_SignedModule_per_SignedLadder");
183  m_pixelDesiredHistogramDisk = std::string("adc_per_PXDisk_per_SignedBladePanel");
184 
187  } else if (m_opMode == MODE_ANALYZE) {
188  m_analyzeModeNameMap[RECHITS] = "# Rechits";
189  m_analyzeModeNameMap[DIGIS] = "# Digis";
190  m_analyzeModeNameMap[CLUSTERS] = "# Clusters";
191 
192  switch (m_analyzeMode) {
193  case RECHITS:
194  rechitSrcToken = consumes<reco::TrackCollection>(iConfig.getParameter<edm::InputTag>("src"));
195  break;
196  case DIGIS:
197  digiSrcToken = consumes<edmNew::DetSetVector<SiStripDigi>>(iConfig.getParameter<edm::InputTag>("src"));
198  break;
199  case CLUSTERS:
200  clusterSrcToken = consumes<edmNew::DetSetVector<SiStripCluster>>(iConfig.getParameter<edm::InputTag>("src"));
201  break;
202  default:
203  edm::LogError("LogicError") << "Unrecognized analyze mode!" << std::endl;
204  }
205  } else {
206  throw cms::Exception("TrackerRemapper") << "Unrecognized operations mode!" << std::endl;
207  }
208 
209  // TColor::SetPalette(1);
210 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
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::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 309 of file TrackerRemapper.cc.

309 {}

Member Function Documentation

◆ analyze()

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

Implements edm::one::EDAnalyzerBase.

Definition at line 312 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.

314 {
315  // get the ES products
316 
317  const TrackerGeometry* theTrackerGeometry = &iSetup.getData(geomToken_);
318  const TrackerTopology* tt = &iSetup.getData(topoToken_);
319  m_tkdetmap = &iSetup.getData(tkDetMapToken_);
320 
321  if (!trackerMap)
322  bookBins();
323 
324  if (m_opMode == MODE_ANALYZE) {
325  switch (m_analyzeMode) {
326  case AnalyzeData::RECHITS:
328  break;
329  case AnalyzeData::DIGIS:
331  break;
332  case AnalyzeData::CLUSTERS:
334  break;
335  default:
336  edm::LogError("LogicError") << "Unrecognized Analyze mode!" << std::endl;
337  return;
338  }
339  } else if (m_opMode == MODE_REMAP) {
340  fillStripRemap();
341  fillPixelRemap(theTrackerGeometry, tt);
342  }
343 }
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 137 of file TrackerRemapper.cc.

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

Referenced by analyze().

139 {
141  iEvent.getByToken(src, input);
142 
143  if (!input.isValid()) {
144  edm::LogError("TrackerRemapper") << "<GENERIC> not found... Aborting...\n";
145  return;
146  }
147 
148  typename T::const_iterator it;
149  for (it = input->begin(); it != input->end(); ++it) {
150  auto id = DetId(it->detId());
151  trackerMap->Fill(TString::Format("%ld", (long)id.rawId()), it->size());
152  }
153 }
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 157 of file TrackerRemapper.cc.

References iEvent, and submitPVValidationJobs::t.

159 {
161 }
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 346 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.

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

619 {}

◆ bookBins()

void TrackerRemapper::bookBins ( )
private

Definition at line 377 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().

379 {
380  // Read vertices from file
381  double minx = 0xFFFFFF, maxx = -0xFFFFFF, miny = 0xFFFFFF, maxy = -0xFFFFFFF;
382  readVertices(minx, maxx, miny, maxy);
383 
384  TObject* ghostObj = fs->make<TH2Poly>("ghost", "ghost", -1, 1, -1, 1);
385 
386  TDirectory* topDir = fs->getBareDirectory();
387  topDir->cd();
388 
389  int margin = 50;
390  std::string mapTitle;
391  switch (m_opMode) {
392  case MODE_ANALYZE:
394  break;
395  case MODE_REMAP:
396  mapTitle = std::string(m_stripDesiredHistogram + " - " + runString);
397  break;
398  }
399 
400  trackerMap = new TH2Poly("Tracker Map", mapTitle.c_str(), minx - margin, maxx + margin, miny - margin, maxy + margin);
401  trackerMap->SetFloat();
402  trackerMap->SetOption("COLZ");
403  trackerMap->SetStats(false);
404 
405  for (auto pair : m_bins) {
406  trackerMap->AddBin(pair.second->Clone());
407  }
408 
409  topDir->Add(trackerMap);
410 
411  ghostObj->Delete(); //not needed any more
412 }
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 621 of file TrackerRemapper.cc.

621 {}

◆ fillBarrelRemap()

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

Definition at line 537 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().

541 {
542  TrackingGeometry::DetContainer pxb = theTrackerGeometry->detsPXB();
543 
544  for (auto& i : pxb) {
545  const GeomDet* det = i;
546 
547  PXBDetId id = det->geographicalId();
548  long rawid = id.rawId();
549 
550  int module = tt->pxbModule(id);
551  int layer = tt->pxbLayer(id);
552 
553  int signedOnlineModule = module - 4;
554  if (signedOnlineModule <= 0)
555  --signedOnlineModule;
556 
557  PixelBarrelName pixelBarrelName = PixelBarrelName(id, tt, true);
558  int onlineShell = pixelBarrelName.shell();
559 
560  int signedOnlineLadder = ((onlineShell & 1) ? -pixelBarrelName.ladderName() : pixelBarrelName.ladderName());
561 
562  const TProfile2D* histHandle = (TProfile2D*)rootFileHandle->Get(m_pixelHistnameMap[layer].c_str());
563 
564  unsigned nx = histHandle->GetNbinsX();
565  unsigned ny = histHandle->GetNbinsY();
566 
567  unsigned binX = signedOnlineModule + ((nx + 1) >> 1);
568  unsigned binY = (signedOnlineLadder) + ((ny + 1) >> 1);
569 
570  double val = histHandle->GetBinContent(binX, binY);
571 
572  trackerMap->Fill(TString::Format("%ld", rawid), val);
573  }
574 }
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 624 of file TrackerRemapper.cc.

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

626 {
628  desc.setComment(
629  "Creates TH2Poly Strip Tracker maps by either analyzing the event or remapping exising DQM historams");
630  desc.add<edm::InputTag>("src", edm::InputTag("generalTracks"));
631  desc.ifValue(edm::ParameterDescription<int>("opMode", 0, true),
633  1 >> (edm::ParameterDescription<std::string>("stripRemapFile", "", true) and
634  edm::ParameterDescription<std::string>("stripHistogram", "", true) and
635  edm::ParameterDescription<std::string>("runString", "", true)))
636  ->setComment("0 for Analyze, 1 for Remap");
637 
638  desc.ifValue(edm::ParameterDescription<int>("analyzeMode", 1, true), edm::allowedValues<int>(1, 2, 3))
639  ->setComment("1=Rechits, 2=Digis, 3=Clusters");
640 
641  //desc.add<unsigned int>("analyzeMode", 1)->setComment("1=Rechits, 2=Digis, 3=Clusters");
642  //desc.add<unsigned int>("opMode", 0)->setComment("0 for Analyze, 1 for Remap");
643  //desc.addOptional<std::string>("stripRemapFile","" )->setComment("file name to analyze, will come from the config file");
644  //desc.addOptional<std::string>("stripHistogram","TkHMap_NumberValidHits" )->setComment("histogram to use to remap");
645  //desc.addOptional<std::string>("runString", "")->setComment("run number, will come form config file");
646  descriptions.addWithDefaultLabel(desc);
647 }
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 577 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().

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

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

Referenced by analyze().

523 {
524  TFile* rootFileHandle = new TFile(m_pixelRemapFile.c_str());
525 
526  if (!rootFileHandle) {
527  edm::LogError("TrackerRemapper") << "Could not find file:\n\t" << m_pixelRemapFile << std::endl;
528  return;
529  }
530  fillBarrelRemap(rootFileHandle, theTrackerGeometry, tt);
531  fillEndcapRemap(rootFileHandle, theTrackerGeometry, tt);
532 
533  rootFileHandle->Close();
534 }
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 481 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().

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

References m_pixelBaseDir, m_pixelDesiredHistogramBarrel, m_pixelDesiredHistogramDisk, and m_pixelHistnameMap.

Referenced by TrackerRemapper().

293 {
294  m_pixelHistnameMap[PixelLayerEnum::PXB_L1] =
295  m_pixelBaseDir + "PXBarrel/" + m_pixelDesiredHistogramBarrel + "_PXLayer_1;1";
296  m_pixelHistnameMap[PixelLayerEnum::PXB_L2] =
297  m_pixelBaseDir + "PXBarrel/" + m_pixelDesiredHistogramBarrel + "_PXLayer_2;1";
298  m_pixelHistnameMap[PixelLayerEnum::PXB_L3] =
299  m_pixelBaseDir + "PXBarrel/" + m_pixelDesiredHistogramBarrel + "_PXLayer_3;1";
300  m_pixelHistnameMap[PixelLayerEnum::PXB_L4] =
301  m_pixelBaseDir + "PXBarrel/" + m_pixelDesiredHistogramBarrel + "_PXLayer_4;1";
302 
303  m_pixelHistnameMap[PixelLayerEnum::PXF_R1] =
304  m_pixelBaseDir + "PXForward/" + m_pixelDesiredHistogramDisk + "_PXRing_1;1";
305  m_pixelHistnameMap[PixelLayerEnum::PXF_R2] =
306  m_pixelBaseDir + "PXForward/" + m_pixelDesiredHistogramDisk + "_PXRing_2;1";
307 }
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 213 of file TrackerRemapper.cc.

References m_stripBaseDir, m_stripDesiredHistogram, and m_stripHistnameMap.

Referenced by TrackerRemapper().

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

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

Referenced by analyze(), and TrackerRemapper().

◆ digiSrcToken

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

Definition at line 131 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().

◆ m_analyzeMode

int TrackerRemapper::m_analyzeMode
private

Definition at line 109 of file TrackerRemapper.cc.

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

◆ m_analyzeModeNameMap

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

Definition at line 118 of file TrackerRemapper.cc.

Referenced by bookBins(), and TrackerRemapper().

◆ m_bins

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

Definition at line 111 of file TrackerRemapper.cc.

Referenced by bookBins(), and readVertices().

◆ m_detIdVector

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

Definition at line 112 of file TrackerRemapper.cc.

Referenced by readVertices().

◆ m_opMode

int TrackerRemapper::m_opMode
private

Definition at line 108 of file TrackerRemapper.cc.

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

◆ m_pixelBaseDir

std::string TrackerRemapper::m_pixelBaseDir
private

Definition at line 124 of file TrackerRemapper.cc.

Referenced by preparePixelNames(), and TrackerRemapper().

◆ m_pixelDesiredHistogramBarrel

std::string TrackerRemapper::m_pixelDesiredHistogramBarrel
private

Definition at line 124 of file TrackerRemapper.cc.

Referenced by preparePixelNames(), and TrackerRemapper().

◆ m_pixelDesiredHistogramDisk

std::string TrackerRemapper::m_pixelDesiredHistogramDisk
private

Definition at line 124 of file TrackerRemapper.cc.

Referenced by preparePixelNames(), and TrackerRemapper().

◆ m_pixelHistnameMap

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

Definition at line 117 of file TrackerRemapper.cc.

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

◆ m_pixelRemapFile

std::string TrackerRemapper::m_pixelRemapFile
private

Definition at line 121 of file TrackerRemapper.cc.

Referenced by fillPixelRemap(), and TrackerRemapper().

◆ m_stripBaseDir

std::string TrackerRemapper::m_stripBaseDir
private

Definition at line 123 of file TrackerRemapper.cc.

Referenced by prepareStripNames(), and TrackerRemapper().

◆ m_stripDesiredHistogram

std::string TrackerRemapper::m_stripDesiredHistogram
private

Definition at line 123 of file TrackerRemapper.cc.

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

◆ m_stripHistnameMap

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

Definition at line 116 of file TrackerRemapper.cc.

Referenced by fillStripRemap(), and prepareStripNames().

◆ m_stripRemapFile

std::string TrackerRemapper::m_stripRemapFile
private

Definition at line 120 of file TrackerRemapper.cc.

Referenced by fillStripRemap(), and TrackerRemapper().

◆ m_tkdetmap

const TkDetMap* TrackerRemapper::m_tkdetmap
private

Definition at line 114 of file TrackerRemapper.cc.

Referenced by analyze(), and fillStripRemap().

◆ rechitSrcToken

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

Definition at line 130 of file TrackerRemapper.cc.

Referenced by analyze(), and TrackerRemapper().

◆ runString

std::string TrackerRemapper::runString
private

Definition at line 126 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