33 theTrajBuilder(ConcreteMuonTrajectoryBuilder),
35 theTrackLoader(trackLoader) {
42 theTrajBuilder(ConcreteMuonTrajectoryBuilder),
43 theTrajCleaner(cleaner),
44 theTrackLoader(trackLoader) {
50 LogTrace(
"Muon|RecoMuon|MuonTrackFinder")<<
"MuonTrackFinder destructor called"<<endl;
83 const string metname =
"Muon|RecoMuon|MuonTrackFinder";
84 LogTrace(metname)<<
"SA Recostruction starting from: "<<seeds->size()<<endl;
94 for(seed = seeds->
begin();
95 seed != seeds->
end(); ++seed, ++nSeed){
96 LogTrace(metname)<<
"+++ New Seed +++"<<endl;
98 for(TrajectoryContainer::iterator it = muonTrajs_temp.begin();
99 it != muonTrajs_temp.end(); ++it){
100 (*it)->setSeedRef(seeds->refAt(nSeed));
101 muonTrajectories.push_back(*it);
106 LogTrace(metname)<<
"Clean the trajectories container"<<endl;
111 <<
"Convert the trajectories into tracks and load them in to the event"<<endl;
112 return load(muonTrajectories,event);
121 const string metname =
"Muon|RecoMuon|MuonTrackFinder";
130 for (vector<TrackCand>::const_iterator staCand = staCandColl.begin(); staCand != staCandColl.end(); ++staCand) {
132 muonCandidates.insert(muonCandidates.end(), muonCands_temp.begin(),muonCands_temp.end());
139 LogTrace(metname)<<
"Load Muon Candidates into the event"<<endl;
140 load(muonCandidates,event);
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
const std::string metname
virtual TrajectoryContainer trajectories(const TrajectorySeed &)=0
return a container of the reconstructed trajectories compatible with a given seed ...
void setEvent(const edm::Event &)
percolate the Event Setup
virtual ~MuonTrackFinder()
destructor
virtual void setEvent(const edm::Event &event)=0
pass the Event to the algo at each event
void clean(TrajectoryContainer &muonTrajectories, edm::Event &evt)
Clean the trajectories container, erasing the (worst) clone trajectory.
MuonTrackFinder(MuonTrajectoryBuilder *ConcreteMuonTrajectoryBuilder, MuonTrackLoader *trackLoader)
Constructor, with default cleaner. For the STA reconstruction the trackLoader must have the propagato...
MuonTrackLoader * theTrackLoader
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
MuonCandidate::TrajectoryContainer TrajectoryContainer
edm::OrphanHandle< reco::TrackCollection > loadTracks(const TrajectoryContainer &, edm::Event &, const std::string &="", bool=true)
Convert the trajectories into tracks and load the tracks in the event.
edm::OrphanHandle< reco::TrackCollection > load(const TrajectoryContainer &, edm::Event &)
convert the trajectories into tracks and load them in to the event
MuonTrajectoryBuilder * theTrajBuilder
MuonTrajectoryCleaner * theTrajCleaner
const_iterator begin() const
const_iterator end() const
edm::OrphanHandle< reco::TrackCollection > reconstruct(const edm::Handle< edm::View< TrajectorySeed > > &, edm::Event &)
reconstruct standalone tracks starting from a collection of seeds
MuonCandidate::CandidateContainer CandidateContainer