11 #include "boost/foreach.hpp"
16 produces <std::vector<unsigned> > (
Prefix +
"number" );
17 produces <std::vector<unsigned> > (
Prefix +
"width" );
18 produces <std::vector<float> > (
Prefix +
"variance" );
19 produces <std::vector<float> > (
Prefix +
"barystrip" );
20 produces <std::vector<float> > (
Prefix +
"middlestrip" );
21 produces <std::vector<unsigned> > (
Prefix +
"charge" );
22 produces <std::vector<float> > (
Prefix +
"noise" );
23 produces <std::vector<float> > (
Prefix +
"ston" );
24 produces <std::vector<unsigned> > (
Prefix +
"seedstrip" );
25 produces <std::vector<unsigned> > (
Prefix +
"seedindex" );
26 produces <std::vector<unsigned> > (
Prefix +
"seedcharge" );
27 produces <std::vector<float> > (
Prefix +
"seednoise" );
28 produces <std::vector<float> > (
Prefix +
"seedgain" );
29 produces <std::vector<unsigned> > (
Prefix +
"qualityisbad" );
31 produces <std::vector<float> > (
Prefix +
"rawchargeC" );
32 produces <std::vector<float> > (
Prefix +
"rawchargeL" );
33 produces <std::vector<float> > (
Prefix +
"rawchargeR" );
34 produces <std::vector<float> > (
Prefix +
"rawchargeLL" );
35 produces <std::vector<float> > (
Prefix +
"rawchargeRR" );
36 produces <std::vector<float> > (
Prefix +
"eta" );
37 produces <std::vector<float> > (
Prefix +
"foldedeta" );
38 produces <std::vector<float> > (
Prefix +
"etaX" );
39 produces <std::vector<float> > (
Prefix +
"etaasymm" );
40 produces <std::vector<float> > (
Prefix +
"outsideasymm");
41 produces <std::vector<float> > (
Prefix +
"neweta");
42 produces <std::vector<float> > (
Prefix +
"newetaerr");
44 produces <std::vector<unsigned> > (
Prefix +
"detid" );
45 produces <std::vector<int> > (
Prefix +
"subdetid" );
46 produces <std::vector<int> > (
Prefix +
"module" );
47 produces <std::vector<int> > (
Prefix +
"side" );
48 produces <std::vector<int> > (
Prefix +
"layerwheel" );
49 produces <std::vector<int> > (
Prefix +
"stringringrod" );
50 produces <std::vector<int> > (
Prefix +
"petal" );
51 produces <std::vector<int> > (
Prefix +
"stereo" );
64 std::auto_ptr<std::vector<unsigned> >
number (
new std::vector<unsigned>(7,0) );
65 std::auto_ptr<std::vector<unsigned> >
width (
new std::vector<unsigned>() );
66 std::auto_ptr<std::vector<float> > variance (
new std::vector<float>() );
67 std::auto_ptr<std::vector<float> > barystrip (
new std::vector<float>() );
68 std::auto_ptr<std::vector<float> > middlestrip (
new std::vector<float>() );
69 std::auto_ptr<std::vector<unsigned> >
charge (
new std::vector<unsigned>() );
70 std::auto_ptr<std::vector<float> > noise (
new std::vector<float>() );
71 std::auto_ptr<std::vector<float> > ston (
new std::vector<float>() );
72 std::auto_ptr<std::vector<unsigned> > seedstrip (
new std::vector<unsigned>() );
73 std::auto_ptr<std::vector<unsigned> > seedindex (
new std::vector<unsigned>() );
74 std::auto_ptr<std::vector<unsigned> > seedcharge (
new std::vector<unsigned>() );
75 std::auto_ptr<std::vector<float> > seednoise (
new std::vector<float>() );
76 std::auto_ptr<std::vector<float> > seedgain (
new std::vector<float>() );
77 std::auto_ptr<std::vector<unsigned> > qualityisbad (
new std::vector<unsigned>() );
79 std::auto_ptr<std::vector<float> > rawchargeC (
new std::vector<float>() );
80 std::auto_ptr<std::vector<float> > rawchargeL (
new std::vector<float>() );
81 std::auto_ptr<std::vector<float> > rawchargeR (
new std::vector<float>() );
82 std::auto_ptr<std::vector<float> > rawchargeLL (
new std::vector<float>() );
83 std::auto_ptr<std::vector<float> > rawchargeRR (
new std::vector<float>() );
84 std::auto_ptr<std::vector<float> > etaX (
new std::vector<float>() );
85 std::auto_ptr<std::vector<float> >
eta (
new std::vector<float>() );
86 std::auto_ptr<std::vector<float> > foldedeta (
new std::vector<float>() );
87 std::auto_ptr<std::vector<float> > etaasymm (
new std::vector<float>() );
88 std::auto_ptr<std::vector<float> > outsideasymm (
new std::vector<float>() );
89 std::auto_ptr<std::vector<float> > neweta (
new std::vector<float>() );
90 std::auto_ptr<std::vector<float> > newetaerr (
new std::vector<float>() );
92 std::auto_ptr<std::vector<unsigned> >
detid (
new std::vector<unsigned>() );
93 std::auto_ptr<std::vector<int> > subdetid (
new std::vector<int>() );
94 std::auto_ptr<std::vector<int> > side (
new std::vector<int>() );
95 std::auto_ptr<std::vector<int> >
module (
new std::vector<int>() );
96 std::auto_ptr<std::vector<int> > layerwheel (
new std::vector<int>() );
97 std::auto_ptr<std::vector<int> > stringringrod (
new std::vector<int>() );
98 std::auto_ptr<std::vector<int> > petal (
new std::vector<int>() );
99 std::auto_ptr<std::vector<int> > stereo (
new std::vector<int>());
110 for(;itClusters!=clusters->end();++itClusters){
111 uint32_t
id = itClusters->
id();
120 width->push_back( cluster->amplitudes().size() );
121 barystrip->push_back( cluster->barycenter() );
122 variance->push_back( info.
variance() );
124 charge->push_back( info.
charge() );
127 seedstrip->push_back( info.
maxStrip() );
128 seedindex->push_back( info.
maxIndex() );
129 seedcharge->push_back( info.
maxCharge() );
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() );
146 detid->push_back(
id );
147 subdetid->push_back( moduleV.
subdetid );
148 side->push_back( moduleV.
side );
149 module->push_back( moduleV.
module );
152 petal->push_back( moduleV.
petal );
153 stereo->push_back( moduleV.
stereo );
159 iEvent.
put( variance,
Prefix +
"variance" );
160 iEvent.
put( barystrip,
Prefix +
"barystrip" );
161 iEvent.
put( middlestrip,
Prefix +
"middlestrip" );
165 iEvent.
put( seedstrip,
Prefix +
"seedstrip" );
166 iEvent.
put( seedindex,
Prefix +
"seedindex" );
167 iEvent.
put( seedcharge,
Prefix +
"seedcharge" );
168 iEvent.
put( seednoise,
Prefix +
"seednoise" );
169 iEvent.
put( seedgain,
Prefix +
"seedgain" );
170 iEvent.
put( qualityisbad,
Prefix +
"qualityisbad" );
172 iEvent.
put( rawchargeC,
Prefix +
"rawchargeC" );
173 iEvent.
put( rawchargeL,
Prefix +
"rawchargeL" );
174 iEvent.
put( rawchargeR,
Prefix +
"rawchargeR" );
175 iEvent.
put( rawchargeLL,
Prefix +
"rawchargeLL" );
176 iEvent.
put( rawchargeRR,
Prefix +
"rawchargeRR" );
179 iEvent.
put( foldedeta,
Prefix +
"foldedeta" );
180 iEvent.
put( etaasymm,
Prefix +
"etaasymm" );
181 iEvent.
put( outsideasymm,
Prefix +
"outsideasymm" );
183 iEvent.
put( newetaerr,
Prefix +
"newetaerr" );
186 iEvent.
put( subdetid,
Prefix +
"subdetid" );
189 iEvent.
put( layerwheel,
Prefix +
"layerwheel" );
190 iEvent.
put( stringringrod,
Prefix +
"stringringrod" );
210 if( digiframe != rawProcessedDigis.
end()) {
214 right = unsigned(info.
maxStrip()+1) < digiframe->data.
size() ? digiframe->data.at(info.
maxStrip()+1).
adc() : 0 ;
215 Rright = unsigned(info.
maxStrip()+2) < digiframe->data.
size() ? digiframe->data.at(info.
maxStrip()+2).
adc() : 0 ;
231 layerwheel = tTopo->
tibLayer(detid);
239 layerwheel = tTopo->
tidWheel(detid);
240 stringringrod = tTopo->
tidRing(detid);
247 layerwheel = tTopo->
tobLayer(detid);
248 stringringrod = tTopo->
tobRod(detid);
255 layerwheel = tTopo->
tecWheel(detid);
256 stringringrod = tTopo->
tecRing(detid);
int adc(sample_type sample)
get the ADC sample (12 bits)
uint8_t maxCharge() const
float outsideasymm() const
T getParameter(std::string const &) const
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
const_iterator end(bool update=false) const
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
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
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
const T & max(const T &a, const T &b)
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
unsigned int tidModule(const DetId &id) const
bool tobIsZMinusSide(const DetId &id) const
NearDigis(const SiStripClusterInfo &)
edm::EDGetTokenT< edm::DetSetVector< SiStripCluster > > theClustersToken_
void produce(edm::Event &, const edm::EventSetup &)
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.
SubDetector subDetector() const
uint16_t maxStrip() const
bool tibIsStereo(const DetId &id) const
T const * product() const
unsigned int tobModule(const DetId &id) const
const std::vector< uint8_t > & stripCharges() const
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
Power< A, B >::type pow(const A &a, const B &b)
const_iterator begin(bool update=false) const
unsigned int tobLayer(const DetId &id) const
std::vector< float > stripNoisesRescaledByGain() const