15 produces<std::vector<unsigned>>(
Prefix +
"number");
16 produces<std::vector<unsigned>>(
Prefix +
"width");
17 produces<std::vector<float>>(
Prefix +
"variance");
18 produces<std::vector<float>>(
Prefix +
"barystrip");
19 produces<std::vector<float>>(
Prefix +
"middlestrip");
20 produces<std::vector<unsigned>>(
Prefix +
"charge");
21 produces<std::vector<float>>(
Prefix +
"noise");
22 produces<std::vector<float>>(
Prefix +
"ston");
23 produces<std::vector<unsigned>>(
Prefix +
"seedstrip");
24 produces<std::vector<unsigned>>(
Prefix +
"seedindex");
25 produces<std::vector<unsigned>>(
Prefix +
"seedcharge");
26 produces<std::vector<float>>(
Prefix +
"seednoise");
27 produces<std::vector<float>>(
Prefix +
"seedgain");
28 produces<std::vector<unsigned>>(
Prefix +
"qualityisbad");
30 produces<std::vector<float>>(
Prefix +
"rawchargeC");
31 produces<std::vector<float>>(
Prefix +
"rawchargeL");
32 produces<std::vector<float>>(
Prefix +
"rawchargeR");
33 produces<std::vector<float>>(
Prefix +
"rawchargeLL");
34 produces<std::vector<float>>(
Prefix +
"rawchargeRR");
35 produces<std::vector<float>>(
Prefix +
"eta");
36 produces<std::vector<float>>(
Prefix +
"foldedeta");
37 produces<std::vector<float>>(
Prefix +
"etaX");
38 produces<std::vector<float>>(
Prefix +
"etaasymm");
39 produces<std::vector<float>>(
Prefix +
"outsideasymm");
40 produces<std::vector<float>>(
Prefix +
"neweta");
41 produces<std::vector<float>>(
Prefix +
"newetaerr");
43 produces<std::vector<unsigned>>(
Prefix +
"detid");
44 produces<std::vector<int>>(
Prefix +
"subdetid");
45 produces<std::vector<int>>(
Prefix +
"module");
46 produces<std::vector<int>>(
Prefix +
"side");
47 produces<std::vector<int>>(
Prefix +
"layerwheel");
48 produces<std::vector<int>>(
Prefix +
"stringringrod");
49 produces<std::vector<int>>(
Prefix +
"petal");
50 produces<std::vector<int>>(
Prefix +
"stereo");
62 auto number = std::make_unique<std::vector<unsigned>>(7, 0);
63 auto width = std::make_unique<std::vector<unsigned>>();
64 auto variance = std::make_unique<std::vector<float>>();
65 auto barystrip = std::make_unique<std::vector<float>>();
66 auto middlestrip = std::make_unique<std::vector<float>>();
67 auto charge = std::make_unique<std::vector<unsigned>>();
68 auto noise = std::make_unique<std::vector<float>>();
69 auto ston = std::make_unique<std::vector<float>>();
70 auto seedstrip = std::make_unique<std::vector<unsigned>>();
71 auto seedindex = std::make_unique<std::vector<unsigned>>();
72 auto seedcharge = std::make_unique<std::vector<unsigned>>();
73 auto seednoise = std::make_unique<std::vector<float>>();
74 auto seedgain = std::make_unique<std::vector<float>>();
75 auto qualityisbad = std::make_unique<std::vector<unsigned>>();
77 auto rawchargeC = std::make_unique<std::vector<float>>();
78 auto rawchargeL = std::make_unique<std::vector<float>>();
79 auto rawchargeR = std::make_unique<std::vector<float>>();
80 auto rawchargeLL = std::make_unique<std::vector<float>>();
81 auto rawchargeRR = std::make_unique<std::vector<float>>();
82 auto etaX = std::make_unique<std::vector<float>>();
83 auto eta = std::make_unique<std::vector<float>>();
84 auto foldedeta = std::make_unique<std::vector<float>>();
85 auto etaasymm = std::make_unique<std::vector<float>>();
86 auto outsideasymm = std::make_unique<std::vector<float>>();
87 auto neweta = std::make_unique<std::vector<float>>();
88 auto newetaerr = std::make_unique<std::vector<float>>();
90 auto detid = std::make_unique<std::vector<unsigned>>();
91 auto subdetid = std::make_unique<std::vector<int>>();
92 auto side = std::make_unique<std::vector<int>>();
93 auto module = std::make_unique<std::vector<int>>();
94 auto layerwheel = std::make_unique<std::vector<int>>();
95 auto stringringrod = std::make_unique<std::vector<int>>();
96 auto petal = std::make_unique<std::vector<int>>();
97 auto stereo = std::make_unique<std::vector<int>>();
108 for (; itClusters != clusters->
end(); ++itClusters) {
109 uint32_t
id = itClusters->
id();
118 width->push_back(cluster->amplitudes().size());
119 barystrip->push_back(cluster->barycenter());
120 variance->push_back(info.
variance());
122 charge->push_back(info.
charge());
125 seedstrip->push_back(info.
maxStrip());
126 seedindex->push_back(info.
maxIndex());
132 rawchargeC->push_back(digis.
max);
133 rawchargeL->push_back(digis.
left);
134 rawchargeR->push_back(digis.
right);
135 rawchargeLL->push_back(digis.
Lleft);
136 rawchargeRR->push_back(digis.
Rright);
137 etaX->push_back(digis.
etaX());
138 eta->push_back(digis.
eta());
139 etaasymm->push_back(digis.
etaasymm());
144 detid->push_back(
id);
145 subdetid->push_back(moduleV.
subdetid);
146 side->push_back(moduleV.
side);
147 module->push_back(moduleV.
module);
150 petal->push_back(moduleV.
petal);
151 stereo->push_back(moduleV.
stereo);
206 if (digiframe != rawProcessedDigis.
end()) {
210 right = unsigned(info.
maxStrip() + 1) < digiframe->data.
size() ? digiframe->data.at(info.
maxStrip() + 1).
adc() : 0;
211 Rright = unsigned(info.
maxStrip() + 2) < digiframe->data.
size() ? digiframe->data.at(info.
maxStrip() + 2).
adc() : 0;
225 layerwheel = tTopo->
tibLayer(detid);
231 layerwheel = tTopo->
tidWheel(detid);
232 stringringrod = tTopo->
tidRing(detid);
237 layerwheel = tTopo->
tobLayer(detid);
238 stringringrod = tTopo->
tobRod(detid);
243 layerwheel = tTopo->
tecWheel(detid);
244 stringringrod = tTopo->
tecRing(detid);
uint8_t maxCharge() const
float outsideasymm() const
T getParameter(std::string const &) const
const_iterator end(bool update=false) const
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
uint16_t firstStrip() const
iterator find(det_id_type id)
unsigned int tibLayer(const DetId &id) const
unsigned int tibString(const DetId &id) const
unsigned int tidRing(const DetId &id) const
std::vector< float > stripGains() const
bool IsAnythingBad() const
bool tobIsStereo(const DetId &id) const
bool getByToken(EDGetToken token, Handle< PROD > &result) const
float noiseRescaledByGain() const
static constexpr auto TID
unsigned int tecRing(const DetId &id) const
ring id
ShallowClustersProducer(const edm::ParameterSet &)
unsigned int tidWheel(const DetId &id) const
data_type const * const_iterator
uint16_t maxIndex() const
auto stripCharges() const -> decltype(cluster() ->amplitudes())
id_type id(size_t cell) const
moduleVars(uint32_t, const TrackerTopology *)
bool tecIsZMinusSide(const DetId &id) const
bool tidIsStereo(const DetId &id) const
bool tidIsZMinusSide(const DetId &id) const
bool tecIsStereo(const DetId &id) const
float signalOverNoise() const
bool tibIsZMinusSide(const DetId &id) const
unsigned int tidModule(const DetId &id) const
bool tobIsZMinusSide(const DetId &id) const
NearDigis(const SiStripClusterInfo &)
constexpr int adc(sample_type sample)
get the ADC sample (12 bits)
static constexpr auto TOB
iterator end()
Return the off-the-end iterator.
size_type size() const
Return the number of contained DetSets.
unsigned int tibModule(const DetId &id) const
unsigned int tecModule(const DetId &id) const
Detector identifier class for the strip tracker.
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
SubDetector subDetector() const
uint16_t maxStrip() const
bool tibIsStereo(const DetId &id) const
void produce(edm::Event &, const edm::EventSetup &) override
static constexpr auto TIB
unsigned int tobModule(const DetId &id) const
edm::EDGetTokenT< edmNew::DetSetVector< SiStripCluster > > theClustersToken_
edm::EDGetTokenT< edm::DetSetVector< SiStripProcessedRawDigi > > theDigisToken_
unsigned int tecPetalNumber(const DetId &id) const
unsigned int tobRod(const DetId &id) const
collection_type::const_iterator const_iterator
unsigned int tecWheel(const DetId &id) const
T const * product() const
Power< A, B >::type pow(const A &a, const B &b)
const_iterator begin(bool update=false) const
static constexpr auto TEC
unsigned int tobLayer(const DetId &id) const
std::vector< float > stripNoisesRescaledByGain() const