CMS 3D CMS Logo

ShallowClustersProducer.cc
Go to the documentation of this file.
17 
19 public:
21 
22 private:
25  void produce(edm::Event& iEvent, const edm::EventSetup& iSetup) override;
26 
27  struct moduleVars {
28  moduleVars(uint32_t, const TrackerTopology*);
30  uint32_t module;
31  };
32 
33  struct NearDigis {
37  float etaX() const { return ((left + right) / max) / 2.; }
38  float eta() const { return right > left ? max / (max + right) : left / (left + max); }
39  float etaasymm() const { return right > left ? (right - max) / (right + max) : (max - left) / (max + left); }
40  float outsideasymm() const { return (last - first) / (last + first); }
41  };
42 
47 };
48 
51 
53  : Prefix(iConfig.getParameter<std::string>("Prefix")),
55  siStripClusterInfo_(consumesCollector()) {
56  produces<std::vector<unsigned>>(Prefix + "number");
57  produces<std::vector<unsigned>>(Prefix + "width");
58  produces<std::vector<float>>(Prefix + "variance");
59  produces<std::vector<float>>(Prefix + "barystrip");
60  produces<std::vector<float>>(Prefix + "middlestrip");
61  produces<std::vector<unsigned>>(Prefix + "charge");
62  produces<std::vector<float>>(Prefix + "noise");
63  produces<std::vector<float>>(Prefix + "ston");
64  produces<std::vector<unsigned>>(Prefix + "seedstrip");
65  produces<std::vector<unsigned>>(Prefix + "seedindex");
66  produces<std::vector<unsigned>>(Prefix + "seedcharge");
67  produces<std::vector<float>>(Prefix + "seednoise");
68  produces<std::vector<float>>(Prefix + "seedgain");
69  produces<std::vector<unsigned>>(Prefix + "qualityisbad");
70 
71  produces<std::vector<float>>(Prefix + "rawchargeC");
72  produces<std::vector<float>>(Prefix + "rawchargeL");
73  produces<std::vector<float>>(Prefix + "rawchargeR");
74  produces<std::vector<float>>(Prefix + "rawchargeLL");
75  produces<std::vector<float>>(Prefix + "rawchargeRR");
76  produces<std::vector<float>>(Prefix + "eta");
77  produces<std::vector<float>>(Prefix + "foldedeta");
78  produces<std::vector<float>>(Prefix + "etaX");
79  produces<std::vector<float>>(Prefix + "etaasymm");
80  produces<std::vector<float>>(Prefix + "outsideasymm");
81  produces<std::vector<float>>(Prefix + "neweta");
82  produces<std::vector<float>>(Prefix + "newetaerr");
83 
84  produces<std::vector<unsigned>>(Prefix + "detid");
85  produces<std::vector<int>>(Prefix + "subdetid");
86  produces<std::vector<int>>(Prefix + "module");
87  produces<std::vector<int>>(Prefix + "side");
88  produces<std::vector<int>>(Prefix + "layerwheel");
89  produces<std::vector<int>>(Prefix + "stringringrod");
90  produces<std::vector<int>>(Prefix + "petal");
91  produces<std::vector<int>>(Prefix + "stereo");
92 
93  theClustersToken_ = consumes<edmNew::DetSetVector<SiStripCluster>>(iConfig.getParameter<edm::InputTag>("Clusters"));
94  theDigisToken_ = consumes<edm::DetSetVector<SiStripProcessedRawDigi>>(edm::InputTag("siStripProcessedRawDigis", ""));
95 }
96 
98  //Retrieve tracker topology from geometry
100  const TrackerTopology* const tTopo = tTopoHandle.product();
101 
103 
104  auto number = std::make_unique<std::vector<unsigned>>(7, 0);
105  auto width = std::make_unique<std::vector<unsigned>>();
106  auto variance = std::make_unique<std::vector<float>>();
107  auto barystrip = std::make_unique<std::vector<float>>();
108  auto middlestrip = std::make_unique<std::vector<float>>();
109  auto charge = std::make_unique<std::vector<unsigned>>();
110  auto noise = std::make_unique<std::vector<float>>();
111  auto ston = std::make_unique<std::vector<float>>();
112  auto seedstrip = std::make_unique<std::vector<unsigned>>();
113  auto seedindex = std::make_unique<std::vector<unsigned>>();
114  auto seedcharge = std::make_unique<std::vector<unsigned>>();
115  auto seednoise = std::make_unique<std::vector<float>>();
116  auto seedgain = std::make_unique<std::vector<float>>();
117  auto qualityisbad = std::make_unique<std::vector<unsigned>>();
118 
119  auto rawchargeC = std::make_unique<std::vector<float>>();
120  auto rawchargeL = std::make_unique<std::vector<float>>();
121  auto rawchargeR = std::make_unique<std::vector<float>>();
122  auto rawchargeLL = std::make_unique<std::vector<float>>();
123  auto rawchargeRR = std::make_unique<std::vector<float>>();
124  auto etaX = std::make_unique<std::vector<float>>();
125  auto eta = std::make_unique<std::vector<float>>();
126  auto foldedeta = std::make_unique<std::vector<float>>();
127  auto etaasymm = std::make_unique<std::vector<float>>();
128  auto outsideasymm = std::make_unique<std::vector<float>>();
129  auto neweta = std::make_unique<std::vector<float>>();
130  auto newetaerr = std::make_unique<std::vector<float>>();
131 
132  auto detid = std::make_unique<std::vector<unsigned>>();
133  auto subdetid = std::make_unique<std::vector<int>>();
134  auto side = std::make_unique<std::vector<int>>();
135  auto module = std::make_unique<std::vector<int>>();
136  auto layerwheel = std::make_unique<std::vector<int>>();
137  auto stringringrod = std::make_unique<std::vector<int>>();
138  auto petal = std::make_unique<std::vector<int>>();
139  auto stereo = std::make_unique<std::vector<int>>();
140 
142  // iEvent.getByLabel(theClustersLabel, clusters);
143  iEvent.getByToken(theClustersToken_, clusters);
144 
146  // iEvent.getByLabel("siStripProcessedRawDigis", "", rawProcessedDigis);
147  iEvent.getByToken(theDigisToken_, rawProcessedDigis);
148 
150  for (; itClusters != clusters->end(); ++itClusters) {
151  uint32_t id = itClusters->id();
152  const moduleVars moduleV(id, tTopo);
153  for (edmNew::DetSet<SiStripCluster>::const_iterator cluster = itClusters->begin(); cluster != itClusters->end();
154  ++cluster) {
155  siStripClusterInfo_.setCluster(*cluster, id);
157  const NearDigis digis = rawProcessedDigis.isValid() ? NearDigis(info, *rawProcessedDigis) : NearDigis(info);
158 
159  (number->at(0))++;
160  (number->at(moduleV.subdetid))++;
161  width->push_back(cluster->amplitudes().size());
162  barystrip->push_back(cluster->barycenter());
163  variance->push_back(info.variance());
164  middlestrip->push_back(info.firstStrip() + info.width() / 2.0);
165  charge->push_back(info.charge());
166  noise->push_back(info.noiseRescaledByGain());
167  ston->push_back(info.signalOverNoise());
168  seedstrip->push_back(info.maxStrip());
169  seedindex->push_back(info.maxIndex());
170  seedcharge->push_back(info.maxCharge());
171  seednoise->push_back(info.stripNoisesRescaledByGain().at(info.maxIndex()));
172  seedgain->push_back(info.stripGains().at(info.maxIndex()));
173  qualityisbad->push_back(info.IsAnythingBad());
174 
175  rawchargeC->push_back(digis.max);
176  rawchargeL->push_back(digis.left);
177  rawchargeR->push_back(digis.right);
178  rawchargeLL->push_back(digis.Lleft);
179  rawchargeRR->push_back(digis.Rright);
180  etaX->push_back(digis.etaX());
181  eta->push_back(digis.eta());
182  etaasymm->push_back(digis.etaasymm());
183  outsideasymm->push_back(digis.outsideasymm());
184  neweta->push_back((digis.last - digis.first) / info.charge());
185  newetaerr->push_back((sqrt(digis.last + digis.first)) / pow(info.charge(), 1.5));
186 
187  detid->push_back(id);
188  subdetid->push_back(moduleV.subdetid);
189  side->push_back(moduleV.side);
190  module->push_back(moduleV.module);
191  layerwheel->push_back(moduleV.layerwheel);
192  stringringrod->push_back(moduleV.stringringrod);
193  petal->push_back(moduleV.petal);
194  stereo->push_back(moduleV.stereo);
195  }
196  }
197 
198  iEvent.put(std::move(number), Prefix + "number");
199  iEvent.put(std::move(width), Prefix + "width");
200  iEvent.put(std::move(variance), Prefix + "variance");
201  iEvent.put(std::move(barystrip), Prefix + "barystrip");
202  iEvent.put(std::move(middlestrip), Prefix + "middlestrip");
203  iEvent.put(std::move(charge), Prefix + "charge");
204  iEvent.put(std::move(noise), Prefix + "noise");
205  iEvent.put(std::move(ston), Prefix + "ston");
206  iEvent.put(std::move(seedstrip), Prefix + "seedstrip");
207  iEvent.put(std::move(seedindex), Prefix + "seedindex");
208  iEvent.put(std::move(seedcharge), Prefix + "seedcharge");
209  iEvent.put(std::move(seednoise), Prefix + "seednoise");
210  iEvent.put(std::move(seedgain), Prefix + "seedgain");
211  iEvent.put(std::move(qualityisbad), Prefix + "qualityisbad");
212 
213  iEvent.put(std::move(rawchargeC), Prefix + "rawchargeC");
214  iEvent.put(std::move(rawchargeL), Prefix + "rawchargeL");
215  iEvent.put(std::move(rawchargeR), Prefix + "rawchargeR");
216  iEvent.put(std::move(rawchargeLL), Prefix + "rawchargeLL");
217  iEvent.put(std::move(rawchargeRR), Prefix + "rawchargeRR");
218  iEvent.put(std::move(etaX), Prefix + "etaX");
219  iEvent.put(std::move(eta), Prefix + "eta");
220  iEvent.put(std::move(foldedeta), Prefix + "foldedeta");
221  iEvent.put(std::move(etaasymm), Prefix + "etaasymm");
222  iEvent.put(std::move(outsideasymm), Prefix + "outsideasymm");
223  iEvent.put(std::move(neweta), Prefix + "neweta");
224  iEvent.put(std::move(newetaerr), Prefix + "newetaerr");
225 
226  iEvent.put(std::move(detid), Prefix + "detid");
227  iEvent.put(std::move(subdetid), Prefix + "subdetid");
228  iEvent.put(std::move(module), Prefix + "module");
229  iEvent.put(std::move(side), Prefix + "side");
230  iEvent.put(std::move(layerwheel), Prefix + "layerwheel");
231  iEvent.put(std::move(stringringrod), Prefix + "stringringrod");
232  iEvent.put(std::move(petal), Prefix + "petal");
233  iEvent.put(std::move(stereo), Prefix + "stereo");
234 }
235 
237  max = info.maxCharge();
238  left = info.maxIndex() > uint16_t(0) ? info.stripCharges()[info.maxIndex() - 1] : 0;
239  Lleft = info.maxIndex() > uint16_t(1) ? info.stripCharges()[info.maxIndex() - 2] : 0;
240  right = unsigned(info.maxIndex() + 1) < info.stripCharges().size() ? info.stripCharges()[info.maxIndex() + 1] : 0;
241  Rright = unsigned(info.maxIndex() + 2) < info.stripCharges().size() ? info.stripCharges()[info.maxIndex() + 2] : 0;
242  first = info.stripCharges()[0];
243  last = info.stripCharges()[info.width() - 1];
244 }
245 
247  const edm::DetSetVector<SiStripProcessedRawDigi>& rawProcessedDigis) {
248  edm::DetSetVector<SiStripProcessedRawDigi>::const_iterator digiframe = rawProcessedDigis.find(info.detId());
249  if (digiframe != rawProcessedDigis.end()) {
250  max = digiframe->data.at(info.maxStrip()).adc();
251  left = info.maxStrip() > uint16_t(0) ? digiframe->data.at(info.maxStrip() - 1).adc() : 0;
252  Lleft = info.maxStrip() > uint16_t(1) ? digiframe->data.at(info.maxStrip() - 2).adc() : 0;
253  right = unsigned(info.maxStrip() + 1) < digiframe->data.size() ? digiframe->data.at(info.maxStrip() + 1).adc() : 0;
254  Rright = unsigned(info.maxStrip() + 2) < digiframe->data.size() ? digiframe->data.at(info.maxStrip() + 2).adc() : 0;
255  first = digiframe->data.at(info.firstStrip()).adc();
256  last = digiframe->data.at(info.firstStrip() + info.width() - 1).adc();
257  } else {
258  *this = NearDigis(info);
259  }
260 }
261 
263  SiStripDetId subdet(detid);
264  subdetid = subdet.subDetector();
265  if (SiStripDetId::TIB == subdetid) {
266  module = tTopo->tibModule(detid);
267  side = tTopo->tibIsZMinusSide(detid) ? -1 : 1;
268  layerwheel = tTopo->tibLayer(detid);
269  stringringrod = tTopo->tibString(detid);
270  stereo = tTopo->tibIsStereo(detid) ? 1 : 0;
271  } else if (SiStripDetId::TID == subdetid) {
272  module = tTopo->tidModule(detid);
273  side = tTopo->tidIsZMinusSide(detid) ? -1 : 1;
274  layerwheel = tTopo->tidWheel(detid);
275  stringringrod = tTopo->tidRing(detid);
276  stereo = tTopo->tidIsStereo(detid) ? 1 : 0;
277  } else if (SiStripDetId::TOB == subdetid) {
278  module = tTopo->tobModule(detid);
279  side = tTopo->tobIsZMinusSide(detid) ? -1 : 1;
280  layerwheel = tTopo->tobLayer(detid);
281  stringringrod = tTopo->tobRod(detid);
282  stereo = tTopo->tobIsStereo(detid) ? 1 : 0;
283  } else if (SiStripDetId::TEC == subdetid) {
284  module = tTopo->tecModule(detid);
285  side = tTopo->tecIsZMinusSide(detid) ? -1 : 1;
286  layerwheel = tTopo->tecWheel(detid);
287  stringringrod = tTopo->tecRing(detid);
288  petal = tTopo->tecPetalNumber(detid);
289  stereo = tTopo->tecIsStereo(detid) ? 1 : 0;
290  } else {
291  module = 0;
292  side = 0;
293  layerwheel = -1;
294  stringringrod = -1;
295  petal = -1;
296  }
297 }
SiStripClusterInfo
Definition: SiStripClusterInfo.h:21
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
edm::DetSetVector
Definition: DetSetVector.h:61
ApeEstimator_cff.width
width
Definition: ApeEstimator_cff.py:24
TrackerTopology::tidIsZMinusSide
bool tidIsZMinusSide(const DetId &id) const
Definition: TrackerTopology.h:259
SiStripClusterInfo.h
edmNew::DetSetVector::id
id_type id(size_t cell) const
Definition: DetSetVectorNew.h:564
ShallowClustersProducer::NearDigis::max
float max
Definition: ShallowClustersProducer.cc:36
ShallowClustersProducer::NearDigis::etaX
float etaX() const
Definition: ShallowClustersProducer.cc:37
ShallowClustersProducer::topoToken_
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > topoToken_
Definition: ShallowClustersProducer.cc:43
ESHandle.h
edm::DetSetVector::end
iterator end()
Return the off-the-end iterator.
Definition: DetSetVector.h:325
TrackerTopology::tobIsStereo
bool tobIsStereo(const DetId &id) const
Definition: TrackerTopology.h:264
TrackerTopology::tecIsZMinusSide
bool tecIsZMinusSide(const DetId &id) const
Definition: TrackerTopology.h:262
edm::EDGetTokenT
Definition: EDGetToken.h:33
ShallowClustersProducer::NearDigis::left
float left
Definition: ShallowClustersProducer.cc:36
gpuClustering::adc
uint16_t *__restrict__ uint16_t const *__restrict__ adc
Definition: gpuClusterChargeCut.h:20
ShallowClustersProducer::moduleVars::petal
int petal
Definition: ShallowClustersProducer.cc:29
TrackerTopology
Definition: TrackerTopology.h:16
ShallowClustersProducer::NearDigis::etaasymm
float etaasymm() const
Definition: ShallowClustersProducer.cc:39
ShallowClustersProducer::moduleVars::layerwheel
int layerwheel
Definition: ShallowClustersProducer.cc:29
ShallowClustersProducer::NearDigis::last
float last
Definition: ShallowClustersProducer.cc:36
ShallowClustersProducer::moduleVars::side
int side
Definition: ShallowClustersProducer.cc:29
ShallowClustersProducer::produce
void produce(edm::Event &iEvent, const edm::EventSetup &iSetup) override
Definition: ShallowClustersProducer.cc:97
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89285
edmNew::DetSetVector::const_iterator
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
Definition: DetSetVectorNew.h:197
TrackerTopology::tecIsStereo
bool tecIsStereo(const DetId &id) const
Definition: TrackerTopology.h:265
EDProducer.h
info
static const TGPicture * info(bool iBackgroundIsBlack)
Definition: FWCollectionSummaryWidget.cc:153
SiStripDetId.h
edmNew::DetSetVector::begin
const_iterator begin(bool update=false) const
Definition: DetSetVectorNew.h:530
ShallowClustersProducer::moduleVars::subdetid
int subdetid
Definition: ShallowClustersProducer.cc:29
ShallowClustersProducer::NearDigis::Rright
float Rright
Definition: ShallowClustersProducer.cc:36
ShallowClustersProducer::moduleVars::stereo
int stereo
Definition: ShallowClustersProducer.cc:29
edm::Handle
Definition: AssociativeIterator.h:50
TrackerTopology::tidModule
unsigned int tidModule(const DetId &id) const
Definition: TrackerTopology.h:175
TrackerTopology::tidRing
unsigned int tidRing(const DetId &id) const
Definition: TrackerTopology.h:218
TrackerTopology::tobRod
unsigned int tobRod(const DetId &id) const
Definition: TrackerTopology.h:195
TrackerTopology::tidWheel
unsigned int tidWheel(const DetId &id) const
Definition: TrackerTopology.h:201
TrackerTopology::tidIsStereo
bool tidIsStereo(const DetId &id) const
Definition: TrackerTopology.h:267
ShallowClustersProducer::ShallowClustersProducer
ShallowClustersProducer(const edm::ParameterSet &)
Definition: ShallowClustersProducer.cc:52
MakerMacros.h
TrackerTopology.h
dqmdumpme.last
last
Definition: dqmdumpme.py:56
TrackerTopologyRcd.h
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
contentValuesFiles.number
number
Definition: contentValuesFiles.py:53
SiStripProcessedRawDigi.h
PVValHelper::eta
Definition: PVValidationHelpers.h:70
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
L1TCaloTriggerNtuples_cff.Prefix
Prefix
Definition: L1TCaloTriggerNtuples_cff.py:8
edm::ESHandle< TrackerTopology >
TrackerTopology::tibIsStereo
bool tibIsStereo(const DetId &id) const
Definition: TrackerTopology.h:266
edm::DetSetVector::size
size_type size() const
Return the number of contained DetSets.
Definition: DetSetVector.h:259
EDGetToken.h
ShallowClustersProducer::moduleVars::moduleVars
moduleVars(uint32_t, const TrackerTopology *)
Definition: ShallowClustersProducer.cc:262
SiStripDetId::TEC
static constexpr auto TEC
Definition: SiStripDetId.h:40
ShallowClustersProducer::NearDigis::Lleft
float Lleft
Definition: ShallowClustersProducer.cc:36
first
auto first
Definition: CAHitNtupletGeneratorKernelsImpl.h:112
ShallowClustersProducer::moduleVars
Definition: ShallowClustersProducer.cc:27
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
bsc_activity_cfg.clusters
clusters
Definition: bsc_activity_cfg.py:36
ALCARECOTkAlJpsiMuMu_cff.charge
charge
Definition: ALCARECOTkAlJpsiMuMu_cff.py:47
SiStripClusterInfo::setCluster
void setCluster(const SiStripCluster &cluster, int detId)
Definition: SiStripClusterInfo.cc:16
TrackerTopology::tibString
unsigned int tibString(const DetId &id) const
Definition: TrackerTopology.h:419
ShallowClustersProducer::NearDigis::outsideasymm
float outsideasymm() const
Definition: ShallowClustersProducer.cc:40
edm::ParameterSet
Definition: ParameterSet.h:47
SiStripCluster.h
Event.h
TrackerTopology::tecPetalNumber
unsigned int tecPetalNumber(const DetId &id) const
Definition: TrackerTopology.h:221
TrackerTopology::tobIsZMinusSide
bool tobIsZMinusSide(const DetId &id) const
Definition: TrackerTopology.h:253
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
ShallowClustersProducer::NearDigis::first
float first
Definition: ShallowClustersProducer.cc:36
edm::DetSetVector::const_iterator
collection_type::const_iterator const_iterator
Definition: DetSetVector.h:102
ShallowClustersProducer
Definition: ShallowClustersProducer.cc:18
edm::DetSetVector::find
iterator find(det_id_type id)
Definition: DetSetVector.h:264
TrackerTopology::tibModule
unsigned int tibModule(const DetId &id) const
Definition: TrackerTopology.h:172
iEvent
int iEvent
Definition: GenABIO.cc:224
TrackerTopology::tecRing
unsigned int tecRing(const DetId &id) const
ring id
Definition: TrackerTopology.h:217
edm::EventSetup::getHandle
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
Definition: EventSetup.h:155
edm::stream::EDProducer
Definition: EDProducer.h:38
SiStripDetId::TOB
static constexpr auto TOB
Definition: SiStripDetId.h:39
edm::EventSetup
Definition: EventSetup.h:58
DetSetVector.h
ShallowClustersProducer::moduleVars::stringringrod
int stringringrod
Definition: ShallowClustersProducer.cc:29
gpuVertexFinder::noise
__shared__ int noise
Definition: gpuFitVertices.h:50
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd >
ShallowClustersProducer::NearDigis::eta
float eta() const
Definition: ShallowClustersProducer.cc:38
ShallowClustersProducer::Prefix
std::string Prefix
Definition: ShallowClustersProducer.cc:24
InputTag.h
SiStripDetId::TID
static constexpr auto TID
Definition: SiStripDetId.h:38
ShallowClustersProducer::theClustersToken_
edm::EDGetTokenT< edmNew::DetSetVector< SiStripCluster > > theClustersToken_
Definition: ShallowClustersProducer.cc:44
ShallowClustersProducer::NearDigis
Definition: ShallowClustersProducer.cc:33
TrackerTopology::tobLayer
unsigned int tobLayer(const DetId &id) const
Definition: TrackerTopology.h:147
SiStripClusterInfo::initEvent
void initEvent(const edm::EventSetup &iSetup)
Definition: SiStripClusterInfo.cc:10
eostools.move
def move(src, dest)
Definition: eostools.py:511
std
Definition: JetResolutionObject.h:76
TrackerTopology::tobModule
unsigned int tobModule(const DetId &id) const
Definition: TrackerTopology.h:166
Frameworkfwd.h
edmNew::DetSetVector::end
const_iterator end(bool update=false) const
Definition: DetSetVectorNew.h:535
SiStripDetId::subDetector
SubDetector subDetector() const
Definition: SiStripDetId.h:105
ShallowClustersProducer::NearDigis::right
float right
Definition: ShallowClustersProducer.cc:36
SiStripDetId::TIB
static constexpr auto TIB
Definition: SiStripDetId.h:37
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
ShallowClustersProducer::theDigisToken_
edm::EDGetTokenT< edm::DetSetVector< SiStripProcessedRawDigi > > theDigisToken_
Definition: ShallowClustersProducer.cc:45
TrackerTopology::tecModule
unsigned int tecModule(const DetId &id) const
Definition: TrackerTopology.h:169
funct::pow
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:29
ShallowClustersProducer::theClustersLabel
edm::InputTag theClustersLabel
Definition: ShallowClustersProducer.cc:23
TrackerTopologyRcd
Definition: TrackerTopologyRcd.h:10
ParameterSet.h
SiStripDetId
Detector identifier class for the strip tracker.
Definition: SiStripDetId.h:18
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
DeDxTools::esConsumes
ESGetTokenH3DDVariant esConsumes(std::string const &Reccord, edm::ConsumesCollector &)
Definition: DeDxTools.cc:283
edm::Event
Definition: Event.h:73
ShallowClustersProducer::NearDigis::NearDigis
NearDigis(const SiStripClusterInfo &)
Definition: ShallowClustersProducer.cc:236
TrackerTopology::tibIsZMinusSide
bool tibIsZMinusSide(const DetId &id) const
Definition: TrackerTopology.h:256
TrackerTopology::tecWheel
unsigned int tecWheel(const DetId &id) const
Definition: TrackerTopology.h:198
DetSetVectorNew.h
edm::InputTag
Definition: InputTag.h:15
ShallowClustersProducer::siStripClusterInfo_
SiStripClusterInfo siStripClusterInfo_
Definition: ShallowClustersProducer.cc:46
ShallowClustersProducer::moduleVars::module
uint32_t module
Definition: ShallowClustersProducer.cc:30
TrackerTopology::tibLayer
unsigned int tibLayer(const DetId &id) const
Definition: TrackerTopology.h:150
edmNew::DetSet::const_iterator
const data_type * const_iterator
Definition: DetSetNew.h:31