CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
MeasurementTrackerEventProducer Class Referencefinal

#include <MeasurementTrackerEventProducer.h>

Inheritance diagram for MeasurementTrackerEventProducer:
edm::stream::EDProducer<> edm::stream::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 MeasurementTrackerEventProducer (const edm::ParameterSet &iConfig)
 
 ~MeasurementTrackerEventProducer ()
 
- Public Member Functions inherited from edm::stream::EDProducer<>
 EDProducer ()=default
 
- Public Member Functions inherited from edm::stream::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDProducerBase ()
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 ProducerBase ()
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription
const &)> 
registrationCallback () const
 used by the fwk to register list of products More...
 
virtual ~ProducerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (std::string const &iProcessName, std::string const &iModuleLabel, bool iPrint, std::vector< char const * > &oModuleLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Protected Member Functions

void getInactiveStrips (const edm::Event &event, std::vector< uint32_t > &rawInactiveDetIds) const
 
void updatePixels (const edm::Event &, PxMeasurementDetSet &thePxDets, std::vector< bool > &pixelClustersToSkip) const
 
void updateStrips (const edm::Event &, StMeasurementDetSet &theStDets, std::vector< bool > &stripClustersToSkip) const
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename 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)
 

Protected Attributes

std::string measurementTrackerLabel_
 
const edm::ParameterSetpset_
 
bool selfUpdateSkipClusters_
 
std::vector< edm::EDGetTokenT
< DetIdCollection > > 
theInactivePixelDetectorLabels
 
std::vector< edm::EDGetTokenT
< DetIdCollection > > 
theInactiveStripDetectorLabels
 
edm::EDGetTokenT
< edmNew::DetSetVector
< SiPixelCluster > > 
thePixelClusterLabel
 
edm::EDGetTokenT
< edm::ContainerMask
< edmNew::DetSetVector
< SiPixelCluster > > > 
thePixelClusterMask
 
edm::EDGetTokenT
< edmNew::DetSetVector
< SiStripCluster > > 
theStripClusterLabel
 
edm::EDGetTokenT
< edm::ContainerMask
< edmNew::DetSetVector
< SiStripCluster > > > 
theStripClusterMask
 

Private Member Functions

virtual void produce (edm::Event &, const edm::EventSetup &) override
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDProducer<>
typedef CacheContexts< T...> CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T...> HasAbility
 
typedef
CacheTypes::LuminosityBlockCache 
LuminosityBlockCache
 
typedef
LuminosityBlockContextT
< LuminosityBlockCache,
RunCache, GlobalCache
LuminosityBlockContext
 
typedef
CacheTypes::LuminosityBlockSummaryCache 
LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache,
GlobalCache
RunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Public Types inherited from edm::stream::EDProducerBase
typedef EDProducerAdaptorBase ModuleType
 
- Public Types inherited from edm::ProducerBase
typedef
ProductRegistryHelper::TypeLabelList 
TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::stream::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Detailed Description

Definition at line 14 of file MeasurementTrackerEventProducer.h.

Constructor & Destructor Documentation

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

Definition at line 10 of file MeasurementTrackerEventProducer.cc.

References edm::ParameterSet::exists(), edm::ParameterSet::getParameter(), HLT_FULL_cff::InputTag, LogDebug, pset_, selfUpdateSkipClusters_, createPayload::skip, AlCaHLTBitMon_QueryRunRegistry::string, lumiQTWidget::t, theInactivePixelDetectorLabels, theInactiveStripDetectorLabels, thePixelClusterLabel, thePixelClusterMask, theStripClusterLabel, and theStripClusterMask.

10  :
11  measurementTrackerLabel_(iConfig.getParameter<std::string>("measurementTracker")),
12  pset_(iConfig)
13 {
14  std::vector<edm::InputTag> inactivePixelDetectorTags(iConfig.getParameter<std::vector<edm::InputTag> >("inactivePixelDetectorLabels"));
15  for (auto &t : inactivePixelDetectorTags) theInactivePixelDetectorLabels.push_back(consumes<DetIdCollection>(t));
16 
17  std::vector<edm::InputTag> inactiveStripDetectorTags(iConfig.getParameter<std::vector<edm::InputTag> >("inactiveStripDetectorLabels"));
18  for (auto &t : inactiveStripDetectorTags) theInactiveStripDetectorLabels.push_back(consumes<DetIdCollection>(t));
19 
20  //the measurement tracking is set to skip clusters, the other option is set from outside
21  selfUpdateSkipClusters_=iConfig.exists("skipClusters");
23  {
24  edm::InputTag skip=iConfig.getParameter<edm::InputTag>("skipClusters");
25  if (skip==edm::InputTag("")) selfUpdateSkipClusters_=false;
26  }
27  LogDebug("MeasurementTracker")<<"skipping clusters: "<<selfUpdateSkipClusters_;
28 
29  if (pset_.getParameter<std::string>("stripClusterProducer") != "") {
30  theStripClusterLabel = consumes<edmNew::DetSetVector<SiStripCluster> >(edm::InputTag(pset_.getParameter<std::string>("stripClusterProducer")));
31  if (selfUpdateSkipClusters_) theStripClusterMask = consumes<edm::ContainerMask<edmNew::DetSetVector<SiStripCluster>>>(iConfig.getParameter<edm::InputTag>("skipClusters"));
32  }
33  if (pset_.getParameter<std::string>("pixelClusterProducer") != "") {
34  thePixelClusterLabel = consumes<edmNew::DetSetVector<SiPixelCluster> >(edm::InputTag(pset_.getParameter<std::string>("pixelClusterProducer")));
35  if (selfUpdateSkipClusters_) thePixelClusterMask = consumes<edm::ContainerMask<edmNew::DetSetVector<SiPixelCluster>>>(iConfig.getParameter<edm::InputTag>("skipClusters"));
36  }
37 
38  produces<MeasurementTrackerEvent>();
39 }
#define LogDebug(id)
T getParameter(std::string const &) const
std::vector< edm::EDGetTokenT< DetIdCollection > > theInactiveStripDetectorLabels
bool exists(std::string const &parameterName) const
checks if a parameter exists
edm::EDGetTokenT< edm::ContainerMask< edmNew::DetSetVector< SiPixelCluster > > > thePixelClusterMask
edm::EDGetTokenT< edmNew::DetSetVector< SiStripCluster > > theStripClusterLabel
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > thePixelClusterLabel
edm::EDGetTokenT< edm::ContainerMask< edmNew::DetSetVector< SiStripCluster > > > theStripClusterMask
std::vector< edm::EDGetTokenT< DetIdCollection > > theInactivePixelDetectorLabels
MeasurementTrackerEventProducer::~MeasurementTrackerEventProducer ( )
inline

Definition at line 17 of file MeasurementTrackerEventProducer.h.

17 {}

Member Function Documentation

void MeasurementTrackerEventProducer::getInactiveStrips ( const edm::Event event,
std::vector< uint32_t > &  rawInactiveDetIds 
) const
protected

Definition at line 219 of file MeasurementTrackerEventProducer.cc.

References edm::Event::getByToken(), and theInactiveStripDetectorLabels.

Referenced by updateStrips().

220 {
221  if (!theInactiveStripDetectorLabels.empty()) {
224  if (event.getByToken(tk, detIds)){
225  rawInactiveDetIds.insert(rawInactiveDetIds.end(), detIds->begin(), detIds->end());
226  }
227  }
228  if (!rawInactiveDetIds.empty()) std::sort(rawInactiveDetIds.begin(), rawInactiveDetIds.end());
229  }
230 
231 }
std::vector< edm::EDGetTokenT< DetIdCollection > > theInactiveStripDetectorLabels
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:462
void MeasurementTrackerEventProducer::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivatevirtual

Implements edm::stream::EDProducerBase.

Definition at line 42 of file MeasurementTrackerEventProducer.cc.

References edm::EventSetup::get(), HLT_FULL_cff::measurementTracker, MeasurementTrackerEventProducer_cfi::MeasurementTrackerEvent, measurementTrackerLabel_, GenerateHcalLaserBadRunList::out, edm::Event::put(), updatePixels(), and updateStrips().

43 {
45  iSetup.get<CkfComponentsRecord>().get(measurementTrackerLabel_, measurementTracker);
46 
47  // create new data structures from templates
48  std::auto_ptr<StMeasurementDetSet> stripData(new StMeasurementDetSet(measurementTracker->stripDetConditions()));
49  std::auto_ptr<PxMeasurementDetSet> pixelData(new PxMeasurementDetSet(measurementTracker->pixelDetConditions()));
50  //std::cout << "Created new strip data @" << &* stripData << std::endl;
51  std::vector<bool> stripClustersToSkip;
52  std::vector<bool> pixelClustersToSkip;
53 
54  // fill them
55  updateStrips(iEvent, *stripData, stripClustersToSkip);
56  updatePixels(iEvent, *pixelData, pixelClustersToSkip);
57 
58  // put into MTE
59  std::auto_ptr<MeasurementTrackerEvent> out(new MeasurementTrackerEvent(*measurementTracker, stripData.release(), pixelData.release(), stripClustersToSkip, pixelClustersToSkip));
60 
61  // put into event
62  iEvent.put(out);
63 }
tuple measurementTracker
void updateStrips(const edm::Event &, StMeasurementDetSet &theStDets, std::vector< bool > &stripClustersToSkip) const
void updatePixels(const edm::Event &, PxMeasurementDetSet &thePxDets, std::vector< bool > &pixelClustersToSkip) const
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
Definition: Event.h:121
const T & get() const
Definition: EventSetup.h:56
void MeasurementTrackerEventProducer::updatePixels ( const edm::Event event,
PxMeasurementDetSet thePxDets,
std::vector< bool > &  pixelClustersToSkip 
) const
protected

Definition at line 66 of file MeasurementTrackerEventProducer.cc.

References assert(), edmNew::DetSetVector< T >::begin(), edmNew::DetSetVector< T >::dataSize(), edmNew::DetSetVector< T >::empty(), edmNew::DetSetVector< T >::end(), edm::HandleBase::failedToGet(), lumiContext::fill, PxMeasurementDetSet::find(), edm::Event::getByToken(), edm::ParameterSet::getParameter(), PxMeasurementDetSet::handle(), i, edmNew::DetSet< T >::id(), edm::HandleBase::id(), PxMeasurementDetSet::id(), PxMeasurementDetSet::isActive(), LogDebug, HLT_FULL_cff::pixelClusterProducer, HLT_FULL_cff::pixelClusters, edm::Handle< T >::product(), pset_, selfUpdateSkipClusters_, PxMeasurementDetSet::setActiveThisEvent(), PxMeasurementDetSet::setEmpty(), PxMeasurementDetSet::size(), AlCaHLTBitMon_QueryRunRegistry::string, HLT_FULL_cff::switchOffPixelsIfEmpty, theInactivePixelDetectorLabels, thePixelClusterLabel, thePixelClusterMask, and PxMeasurementDetSet::update().

Referenced by produce().

67 {
68  // start by clearinng everything
69  thePxDets.setEmpty();
70 
71  bool switchOffPixelsIfEmpty = pset_.getParameter<bool>("switchOffPixelsIfEmpty");
72  std::vector<uint32_t> rawInactiveDetIds;
73  if (!theInactivePixelDetectorLabels.empty()) {
76  if (event.getByToken(tk, detIds)){
77  rawInactiveDetIds.insert(rawInactiveDetIds.end(), detIds->begin(), detIds->end());
78  }else{
79  static std::atomic<bool> iFailedAlready{false};
80  bool expected = false;
81  if (iFailedAlready.compare_exchange_strong(expected,true,std::memory_order_acq_rel)){
82  edm::LogError("MissingProduct")<<"I fail to get the list of inactive pixel modules, because of 4.2/4.4 event content change.";
83  }
84  }
85  }
86  if (!rawInactiveDetIds.empty()) std::sort(rawInactiveDetIds.begin(), rawInactiveDetIds.end());
87  // mark as inactive if in rawInactiveDetIds
88  int i=0, endDet = thePxDets.size();
89  unsigned int idp=0;
90  for ( auto id : rawInactiveDetIds) {
91  if (id==idp) continue; // skip multiple id
92  idp=id;
93  i=thePxDets.find(id,i);
94  assert(i!=endDet && id == thePxDets.id(i));
95  thePxDets.setActiveThisEvent(i,false);
96  }
97  }
98 
99  // Pixel Clusters
101  if( pixelClusterProducer.empty() ) { //clusters have not been produced
102  if (switchOffPixelsIfEmpty) {
103  thePxDets.setActiveThisEvent(false);
104  }
105  }else{
106 
108  event.getByToken(thePixelClusterLabel, pixelClusters);
109 
110  const edmNew::DetSetVector<SiPixelCluster>* pixelCollection = pixelClusters.product();
111 
112  if (switchOffPixelsIfEmpty && pixelCollection->empty()) {
113  thePxDets.setActiveThisEvent(false);
114  } else {
115 
116  //std::cout <<"updatePixels "<<pixelCollection->dataSize()<<std::endl;
117  pixelClustersToSkip.resize(pixelCollection->dataSize());
118  std::fill(pixelClustersToSkip.begin(),pixelClustersToSkip.end(),false);
119 
122  //and get the collection of pixel ref to skip
123  event.getByToken(thePixelClusterMask,pixelClusterMask);
124  LogDebug("MeasurementTracker")<<"getting pxl refs to skip";
125  if (pixelClusterMask.failedToGet())edm::LogError("MeasurementTracker")<<"not getting the pixel clusters to skip";
126  if (pixelClusterMask->refProd().id()!=pixelClusters.id()){
127  edm::LogError("ProductIdMismatch")<<"The pixel masking does not point to the proper collection of clusters: "<<pixelClusterMask->refProd().id()<<"!="<<pixelClusters.id();
128  }
129  pixelClusterMask->copyMaskTo(pixelClustersToSkip);
130  }
131 
132 
133  // FIXME: should check if lower_bound is better
134  int i = 0, endDet = thePxDets.size();
135  for (edmNew::DetSetVector<SiPixelCluster>::const_iterator it = pixelCollection->begin(), ed = pixelCollection->end(); it != ed; ++it) {
137  unsigned int id = set.id();
138  while ( id != thePxDets.id(i)) {
139  ++i;
140  if (endDet==i) throw "we have a problem!!!!";
141  }
142  // push cluster range in det
143  if ( thePxDets.isActive(i) ) {
144  thePxDets.update(i,set);
145  }
146  }
147  }
148  }
149 
150 }
#define LogDebug(id)
T getParameter(std::string const &) const
int i
Definition: DBlmapReader.cc:9
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
const_iterator end(bool update=false) const
size_type dataSize() const
string fill
Definition: lumiContext.py:319
ProductID id() const
Definition: HandleBase.cc:15
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:462
assert(m_qm.get())
const edm::Handle< edmNew::DetSetVector< SiPixelCluster > > & handle() const
unsigned int id(int i) const
tuple pixelClusterProducer
bool isActive(int i) const
tuple switchOffPixelsIfEmpty
void update(int i, const PixelDetSet &detSet)
bool failedToGet() const
Definition: HandleBase.h:79
T const * product() const
Definition: Handle.h:81
edm::EDGetTokenT< edm::ContainerMask< edmNew::DetSetVector< SiPixelCluster > > > thePixelClusterMask
tuple pixelClusters
void setActiveThisEvent(bool active)
int find(unsigned int jd, int i=0) const
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > thePixelClusterLabel
const_iterator begin(bool update=false) const
std::vector< edm::EDGetTokenT< DetIdCollection > > theInactivePixelDetectorLabels
void MeasurementTrackerEventProducer::updateStrips ( const edm::Event event,
StMeasurementDetSet theStDets,
std::vector< bool > &  stripClustersToSkip 
) const
protected

Definition at line 153 of file MeasurementTrackerEventProducer.cc.

References assert(), edm::HandleBase::failedToGet(), StMeasurementDetSet::find(), getInactiveStrips(), edm::ParameterSet::getParameter(), StMeasurementDetSet::handle(), i, edm::HandleBase::id(), StMeasurementDetSet::id(), StMeasurementDetSet::isActive(), j, LogDebug, edm::Handle< T >::product(), pset_, selfUpdateSkipClusters_, StMeasurementDetSet::setActiveThisEvent(), StMeasurementDetSet::setEmpty(), StMeasurementDetSet::size(), AlCaHLTBitMon_QueryRunRegistry::string, HLT_FULL_cff::stripClusterProducer, theStripClusterLabel, theStripClusterMask, and StMeasurementDetSet::update().

Referenced by produce().

154 {
155  typedef edmNew::DetSet<SiStripCluster> StripDetSet;
156 
157  std::vector<uint32_t> rawInactiveDetIds;
158  getInactiveStrips(event,rawInactiveDetIds);
159 
160  // Strip Clusters
162  //first clear all of them
163  theStDets.setEmpty();
164 
165 
166  if( !stripClusterProducer.compare("") ) return; //clusters have not been produced
167 
168  const int endDet = theStDets.size();
169 
170 
171  // mark as inactive if in rawInactiveDetIds
172  int i=0;
173  unsigned int idp=0;
174  for ( auto id : rawInactiveDetIds) {
175  if (id==idp) continue; // skip multiple id
176  idp=id;
177  i=theStDets.find(id,i);
178  assert(i!=endDet && id == theStDets.id(i));
179  theStDets.setActiveThisEvent(i,false);
180  }
181 
182  //========= actually load cluster =============
183  {
185  event.getByToken(theStripClusterLabel, clusterHandle);
186  const edmNew::DetSetVector<SiStripCluster>* clusterCollection = clusterHandle.product();
187 
188 
191  //and get the collection of pixel ref to skip
192  LogDebug("MeasurementTracker")<<"getting strp refs to skip";
193  event.getByToken(theStripClusterMask,stripClusterMask);
194  if (stripClusterMask.failedToGet()) edm::LogError("MeasurementTracker")<<"not getting the strip clusters to skip";
195  if (stripClusterMask->refProd().id()!=clusterHandle.id()){
196  edm::LogError("ProductIdMismatch")<<"The strip masking does not point to the proper collection of clusters: "<<stripClusterMask->refProd().id()<<"!="<<clusterHandle.id();
197  }
198  stripClusterMask->copyMaskTo(stripClustersToSkip);
199  }
200 
201  theStDets.handle() = clusterHandle;
202  int i=0;
203  // cluster and det and in order (both) and unique so let's use set intersection
204  for ( auto j = 0U; j< (*clusterCollection).size(); ++j) {
205  unsigned int id = (*clusterCollection).id(j);
206  while ( id != theStDets.id(i)) { // eventually change to lower_bound
207  ++i;
208  if (endDet==i) throw "we have a problem in strips!!!!";
209  }
210 
211  // push cluster range in det
212  if ( theStDets.isActive(i) )
213  theStDets.update(i,j);
214  }
215  }
216 }
#define LogDebug(id)
T getParameter(std::string const &) const
int i
Definition: DBlmapReader.cc:9
ProductID id() const
Definition: HandleBase.cc:15
tuple stripClusterProducer
assert(m_qm.get())
void update(int i, const StripDetset &detSet)
unsigned int id(int i) const
int find(unsigned int jd, int i=0) const
void setActiveThisEvent(int i, bool active)
Turn on/off the module for reconstruction for one events. This per-event flag is cleared by any call ...
void getInactiveStrips(const edm::Event &event, std::vector< uint32_t > &rawInactiveDetIds) const
int j
Definition: DBlmapReader.cc:9
bool failedToGet() const
Definition: HandleBase.h:79
T const * product() const
Definition: Handle.h:81
bool isActive(int i) const
edm::EDGetTokenT< edmNew::DetSetVector< SiStripCluster > > theStripClusterLabel
edm::Handle< edmNew::DetSetVector< SiStripCluster > > & handle()
edm::EDGetTokenT< edm::ContainerMask< edmNew::DetSetVector< SiStripCluster > > > theStripClusterMask

Member Data Documentation

std::string MeasurementTrackerEventProducer::measurementTrackerLabel_
protected

Definition at line 27 of file MeasurementTrackerEventProducer.h.

Referenced by produce().

const edm::ParameterSet& MeasurementTrackerEventProducer::pset_
protected
bool MeasurementTrackerEventProducer::selfUpdateSkipClusters_
protected
std::vector<edm::EDGetTokenT<DetIdCollection> > MeasurementTrackerEventProducer::theInactivePixelDetectorLabels
protected
std::vector<edm::EDGetTokenT<DetIdCollection> > MeasurementTrackerEventProducer::theInactiveStripDetectorLabels
protected
edm::EDGetTokenT<edmNew::DetSetVector<SiPixelCluster> > MeasurementTrackerEventProducer::thePixelClusterLabel
protected
edm::EDGetTokenT<edm::ContainerMask<edmNew::DetSetVector<SiPixelCluster> > > MeasurementTrackerEventProducer::thePixelClusterMask
protected
edm::EDGetTokenT<edmNew::DetSetVector<SiStripCluster> > MeasurementTrackerEventProducer::theStripClusterLabel
protected
edm::EDGetTokenT<edm::ContainerMask<edmNew::DetSetVector<SiStripCluster> > > MeasurementTrackerEventProducer::theStripClusterMask
protected