63 auto number = std::make_unique<std::vector<unsigned>>(7, 0);
64 auto width = std::make_unique<std::vector<unsigned>>();
65 auto variance = std::make_unique<std::vector<float>>();
66 auto barystrip = std::make_unique<std::vector<float>>();
67 auto middlestrip = std::make_unique<std::vector<float>>();
68 auto charge = std::make_unique<std::vector<unsigned>>();
69 auto noise = std::make_unique<std::vector<float>>();
70 auto ston = std::make_unique<std::vector<float>>();
71 auto seedstrip = std::make_unique<std::vector<unsigned>>();
72 auto seedindex = std::make_unique<std::vector<unsigned>>();
73 auto seedcharge = std::make_unique<std::vector<unsigned>>();
74 auto seednoise = std::make_unique<std::vector<float>>();
75 auto seedgain = std::make_unique<std::vector<float>>();
76 auto qualityisbad = std::make_unique<std::vector<unsigned>>();
78 auto rawchargeC = std::make_unique<std::vector<float>>();
79 auto rawchargeL = std::make_unique<std::vector<float>>();
80 auto rawchargeR = std::make_unique<std::vector<float>>();
81 auto rawchargeLL = std::make_unique<std::vector<float>>();
82 auto rawchargeRR = std::make_unique<std::vector<float>>();
83 auto etaX = std::make_unique<std::vector<float>>();
84 auto eta = std::make_unique<std::vector<float>>();
85 auto foldedeta = std::make_unique<std::vector<float>>();
86 auto etaasymm = std::make_unique<std::vector<float>>();
87 auto outsideasymm = std::make_unique<std::vector<float>>();
88 auto neweta = std::make_unique<std::vector<float>>();
89 auto newetaerr = std::make_unique<std::vector<float>>();
91 auto detid = std::make_unique<std::vector<unsigned>>();
92 auto subdetid = std::make_unique<std::vector<int>>();
93 auto side = std::make_unique<std::vector<int>>();
94 auto module = std::make_unique<std::vector<int>>();
95 auto layerwheel = std::make_unique<std::vector<int>>();
96 auto stringringrod = std::make_unique<std::vector<int>>();
97 auto petal = std::make_unique<std::vector<int>>();
98 auto stereo = std::make_unique<std::vector<int>>();
109 for (; itClusters !=
clusters->end(); ++itClusters) {
110 uint32_t
id = itClusters->
id();
111 const moduleVars moduleV(
id, tTopo);
116 const NearDigis digis = rawProcessedDigis.
isValid() ? NearDigis(
info, *rawProcessedDigis) : NearDigis(
info);
119 (
number->at(moduleV.subdetid))++;
120 width->push_back(cluster->amplitudes().size());
121 barystrip->push_back(cluster->barycenter());
122 variance->push_back(
info.variance());
123 middlestrip->push_back(
info.firstStrip() +
info.width() / 2.0);
125 noise->push_back(
info.noiseRescaledByGain());
126 ston->push_back(
info.signalOverNoise());
127 seedstrip->push_back(
info.maxStrip());
128 seedindex->push_back(
info.maxIndex());
129 seedcharge->push_back(
info.maxCharge());
130 seednoise->push_back(
info.stripNoisesRescaledByGain().at(
info.maxIndex()));
131 seedgain->push_back(
info.stripGains().at(
info.maxIndex()));
132 qualityisbad->push_back(
info.IsAnythingBad());
134 rawchargeC->push_back(digis.max);
135 rawchargeL->push_back(digis.left);
136 rawchargeR->push_back(digis.right);
137 rawchargeLL->push_back(digis.Lleft);
138 rawchargeRR->push_back(digis.Rright);
139 etaX->push_back(digis.etaX());
140 eta->push_back(digis.eta());
141 etaasymm->push_back(digis.etaasymm());
142 outsideasymm->push_back(digis.outsideasymm());
143 neweta->push_back((digis.last - digis.first) /
info.charge());
144 newetaerr->push_back((
sqrt(digis.last + digis.first)) /
pow(
info.charge(), 1.5));
146 detid->push_back(
id);
147 subdetid->push_back(moduleV.subdetid);
148 side->push_back(moduleV.side);
149 module->push_back(moduleV.module);
150 layerwheel->push_back(moduleV.layerwheel);
151 stringringrod->push_back(moduleV.stringringrod);
152 petal->push_back(moduleV.petal);
153 stereo->push_back(moduleV.stereo);