64 auto number = std::make_unique<std::vector<unsigned>>(7,0);
65 auto width = std::make_unique<std::vector<unsigned>>();
66 auto variance = std::make_unique<std::vector<float>>();
67 auto barystrip = std::make_unique<std::vector<float>>();
68 auto middlestrip = std::make_unique<std::vector<float>>();
69 auto charge = std::make_unique<std::vector<unsigned>>();
70 auto noise = std::make_unique<std::vector<float>>();
71 auto ston = std::make_unique<std::vector<float>>();
72 auto seedstrip = std::make_unique<std::vector<unsigned>>();
73 auto seedindex = std::make_unique<std::vector<unsigned>>();
74 auto seedcharge = std::make_unique<std::vector<unsigned>>();
75 auto seednoise = std::make_unique<std::vector<float>>();
76 auto seedgain = std::make_unique<std::vector<float>>();
77 auto qualityisbad = std::make_unique<std::vector<unsigned>>();
79 auto rawchargeC = std::make_unique<std::vector<float>>();
80 auto rawchargeL = std::make_unique<std::vector<float>>();
81 auto rawchargeR = std::make_unique<std::vector<float>>();
82 auto rawchargeLL = std::make_unique<std::vector<float>>();
83 auto rawchargeRR = std::make_unique<std::vector<float>>();
84 auto etaX = std::make_unique<std::vector<float>>();
85 auto eta = std::make_unique<std::vector<float>>();
86 auto foldedeta = std::make_unique<std::vector<float>>();
87 auto etaasymm = std::make_unique<std::vector<float>>();
88 auto outsideasymm = std::make_unique<std::vector<float>>();
89 auto neweta = std::make_unique<std::vector<float>>();
90 auto newetaerr = std::make_unique<std::vector<float>>();
92 auto detid = std::make_unique<std::vector<unsigned>>();
93 auto subdetid = std::make_unique<std::vector<int>>();
94 auto side = std::make_unique<std::vector<int>>();
95 auto module = std::make_unique<std::vector<int>>();
96 auto layerwheel = std::make_unique<std::vector<int>>();
97 auto stringringrod = std::make_unique<std::vector<int>>();
98 auto petal = std::make_unique<std::vector<int>>();
99 auto stereo = std::make_unique<std::vector<int>>();
110 for(;itClusters!=clusters->
end();++itClusters){
111 uint32_t
id = itClusters->
id();
112 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 );
124 charge->push_back(
info.charge() );
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 );
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