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);
115 const NearDigis digis = rawProcessedDigis.
isValid() ? NearDigis(
info, *rawProcessedDigis) : NearDigis(
info);
118 (number->at(moduleV.subdetid))++;
119 width->push_back( cluster->amplitudes().size() );
120 barystrip->push_back( cluster->barycenter() );
121 variance->push_back(
info.variance() );
122 middlestrip->push_back(
info.firstStrip() +
info.width()/2.0 );
123 charge->push_back(
info.charge() );
124 noise->push_back(
info.noiseRescaledByGain() );
125 ston->push_back(
info.signalOverNoise() );
126 seedstrip->push_back(
info.maxStrip() );
127 seedindex->push_back(
info.maxIndex() );
128 seedcharge->push_back(
info.maxCharge() );
129 seednoise->push_back(
info.stripNoisesRescaledByGain().at(
info.maxIndex()) );
130 seedgain->push_back(
info.stripGains().at(
info.maxIndex()) );
131 qualityisbad->push_back(
info.IsAnythingBad() );
133 rawchargeC->push_back( digis.max );
134 rawchargeL->push_back( digis.left );
135 rawchargeR->push_back( digis.right );
136 rawchargeLL->push_back( digis.Lleft );
137 rawchargeRR->push_back( digis.Rright );
138 etaX->push_back( digis.etaX() );
139 eta->push_back( digis.eta() );
140 etaasymm->push_back( digis.etaasymm() );
141 outsideasymm->push_back( digis.outsideasymm() );
142 neweta->push_back( (digis.last-digis.first)/
info.charge() );
143 newetaerr->push_back( (
sqrt(digis.last+digis.first))/
pow(
info.charge(),1.5) );
145 detid->push_back(
id );
146 subdetid->push_back( moduleV.subdetid );
147 side->push_back( moduleV.side );
148 module->push_back( moduleV.module );
149 layerwheel->push_back( moduleV.layerwheel );
150 stringringrod->push_back( moduleV.stringringrod );
151 petal->push_back( moduleV.petal );
152 stereo->push_back( moduleV.stereo );
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
const_iterator end(bool update=false) const
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
bool getByToken(EDGetToken token, Handle< PROD > &result) const
data_type const * const_iterator
id_type id(size_t cell) const
edm::EDGetTokenT< edmNew::DetSetVector< SiStripCluster > > theClustersToken_
edm::EDGetTokenT< edm::DetSetVector< SiStripProcessedRawDigi > > theDigisToken_
T const * product() const
Power< A, B >::type pow(const A &a, const B &b)
const_iterator begin(bool update=false) const