67 #ifndef RPCLayerNumber
68 #define RPCLayerNumber 12
71 #ifndef BarrelLayerNumber
72 #define BarrelLayerNumber 6
75 #ifndef EachEndcapLayerNumber
76 #define EachEndcapLayerNumber 3
94 void endJob()
override;
130 Finder.configure(iConfig);
131 recHitFinder.configure(iConfig);
132 CosmicrecHitFinder.configure(iConfig);
133 LayerFinder.configure(iConfig);
134 Overlapper.configure(iConfig);
136 produces<TrajectorySeedCollection>(
"goodSeeds");
137 produces<TrajectorySeedCollection>(
"candidateSeeds");
156 cout << endl <<
"[RPCSeedGenerator] --> Constructor called" << endl;
162 cout <<
"[RPCSeedGenerator] --> Destructor called" << endl;
164 if (muonMeasurements)
165 delete muonMeasurements;
175 goodweightedSeeds.clear();
176 candidateweightedSeeds.clear();
179 auto goodCollection = std::make_unique<TrajectorySeedCollection>();
180 auto candidateCollection = std::make_unique<TrajectorySeedCollection>();
187 vector<const DetLayer*> RPCBarrelLayers = muonLayers->
barrelRPCLayers();
188 const DetLayer* RB4L = RPCBarrelLayers[5];
189 const DetLayer* RB3L = RPCBarrelLayers[4];
190 const DetLayer* RB22L = RPCBarrelLayers[3];
191 const DetLayer* RB21L = RPCBarrelLayers[2];
192 const DetLayer* RB12L = RPCBarrelLayers[1];
193 const DetLayer* RB11L = RPCBarrelLayers[0];
194 vector<const DetLayer*> RPCEndcapLayers = muonLayers->
endcapRPCLayers();
195 const DetLayer* REM3L = RPCEndcapLayers[0];
196 const DetLayer* REM2L = RPCEndcapLayers[1];
197 const DetLayer* REM1L = RPCEndcapLayers[2];
198 const DetLayer* REP1L = RPCEndcapLayers[3];
199 const DetLayer* REP2L = RPCEndcapLayers[4];
200 const DetLayer* REP3L = RPCEndcapLayers[5];
204 recHitsRPC[0] = muonMeasurements->recHits(RB11L,
iEvent);
205 recHitsRPC[1] = muonMeasurements->recHits(RB12L,
iEvent);
206 recHitsRPC[2] = muonMeasurements->recHits(RB21L,
iEvent);
207 recHitsRPC[3] = muonMeasurements->recHits(RB22L,
iEvent);
208 recHitsRPC[4] = muonMeasurements->recHits(RB3L,
iEvent);
209 recHitsRPC[5] = muonMeasurements->recHits(RB4L,
iEvent);
210 recHitsRPC[6] = muonMeasurements->recHits(REM1L,
iEvent);
211 recHitsRPC[7] = muonMeasurements->recHits(REM2L,
iEvent);
212 recHitsRPC[8] = muonMeasurements->recHits(REM3L,
iEvent);
213 recHitsRPC[9] = muonMeasurements->recHits(REP1L,
iEvent);
214 recHitsRPC[10] = muonMeasurements->recHits(REP2L,
iEvent);
215 recHitsRPC[11] = muonMeasurements->recHits(REP3L,
iEvent);
218 cout <<
"RB1in " << recHitsRPC[0].size() <<
" recHits" << endl;
219 cout <<
"RB1out " << recHitsRPC[1].size() <<
" recHits" << endl;
220 cout <<
"RB2in " << recHitsRPC[2].size() <<
" recHits" << endl;
221 cout <<
"RB2out " << recHitsRPC[3].size() <<
" recHits" << endl;
222 cout <<
"RB3 " << recHitsRPC[4].size() <<
" recHits" << endl;
223 cout <<
"RB4 " << recHitsRPC[5].size() <<
" recHits" << endl;
224 cout <<
"REM1 " << recHitsRPC[6].size() <<
" recHits" << endl;
225 cout <<
"REM2 " << recHitsRPC[7].size() <<
" recHits" << endl;
226 cout <<
"REM3 " << recHitsRPC[8].size() <<
" recHits" << endl;
227 cout <<
"REP1 " << recHitsRPC[9].size() <<
" recHits" << endl;
228 cout <<
"REP2 " << recHitsRPC[10].size() <<
" recHits" << endl;
229 cout <<
"REP3 " << recHitsRPC[11].size() <<
" recHits" << endl;
232 recHitFinder.setInput(recHitsRPC);
233 CosmicrecHitFinder.setInput(recHitsRPC);
234 LayerFinder.setInput(recHitsRPC);
237 Finder.setEventSetup(iSetup);
241 Overlapper.setEventSetup(iSetup);
245 for (vector<weightedTrajectorySeed>::iterator weightedseed = goodweightedSeeds.begin();
246 weightedseed != goodweightedSeeds.end();
248 goodCollection->push_back((*weightedseed).first);
249 for (vector<weightedTrajectorySeed>::iterator weightedseed = candidateweightedSeeds.begin();
250 weightedseed != candidateweightedSeeds.end();
252 candidateCollection->push_back((*weightedseed).first);
259 recHitFinder.unsetInput();
260 CosmicrecHitFinder.unsetInput();
261 LayerFinder.unsetInput();
266 cout <<
"set link and Geometry EventSetup of RPCSeedFinder, RPCSeedrecHitFinder, RPCCosmicSeedrecHitFinder, "
267 "RPCSeedLayerFinder and RPCSeedOverlapper"
270 Finder.setOutput(&goodweightedSeeds, &candidateweightedSeeds);
271 recHitFinder.setOutput(&
Finder);
272 CosmicrecHitFinder.setOutput(&
Finder);
273 LayerFinder.setOutput(&recHitFinder, &CosmicrecHitFinder);
276 CosmicrecHitFinder.setEdge(iSetup);
277 Overlapper.setEventSetup(iSetup);
278 Overlapper.setIO(&goodweightedSeeds, &candidateweightedSeeds);