113 vtx = pvHandle->front();
117 <<
"No Primary Vertex available from EventSetup \n";
128 <<
"No beam spot available from EventSetup \n";
146 vector<TrackCand> trackerTracks;
149 LogDebug(category) <<
"Found " << regionalTkTracks.size() <<
" tracks within region of interest";
154 LogDebug(category) <<
"Found " << trackerTracks.size() <<
" matching tracker tracks within region of interest";
161 LogDebug(category) <<
"turn tkMatchedTracks into MuonCandidates";
163 for (vector<TrackCand>::const_iterator tkt = trackerTracks.begin(); tkt != trackerTracks.end(); tkt++) {
164 if ((*tkt).first != 0 && (*tkt).first->isValid()) {
167 tkTrajs.push_back(muonCand);
172 tkTrajs.push_back(muonCand);
176 if ( tkTrajs.empty() ) {
177 LogDebug(category) <<
"tkTrajs empty";
182 LogDebug(category) <<
"Found "<< result.size() <<
" L3Muons from one L2Cand";
185 if ( staCandIn.first == 0)
delete staCand.first;
187 for( CandidateContainer::const_iterator it = tkTrajs.begin(); it != tkTrajs.end(); ++it) {
188 if ( (*it)->trajectory() )
delete (*it)->trajectory();
189 if ( (*it)->trackerTrajectory() )
delete (*it)->trackerTrajectory();
190 if ( *it )
delete (*it);
194 for ( vector<TrackCand>::const_iterator is = regionalTkTracks.begin(); is != regionalTkTracks.end(); ++is) {
209 vector<TrackCand> tkCandColl;
211 vector<TrackCand> tkTrackCands;
216 tkCandColl.push_back(tkCand);
219 for(vector<TrackCand>::const_iterator tk = tkCandColl.begin(); tk != tkCandColl.end() ; ++tk) {
222 if( staTrack == (staCand.second) ) {
230 tkTrackCands.push_back(*tk);
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
T getParameter(std::string const &) const
MuonCandidate::CandidateContainer CandidateContainer
GlobalMuonTrackMatcher * trackMatcher() const
virtual void setEvent(const edm::Event &)
pass the Event to the algo at each event
std::pair< const Trajectory *, reco::TrackRef > TrackCand
std::vector< Track > TrackCollection
collection of Tracks
const Point & position() const
position
static int position[TOTALCHAMBERS][3]
virtual void setEvent(const edm::Event &)
pass the Event to the algo at each event
U second(std::pair< T, U > const &p)
edm::EDGetTokenT< reco::TrackCollection > trackToken_
edm::Handle< reco::TrackCollection > allTrackerTracks
edm::Handle< reco::VertexCollection > pvHandle
std::vector< TrackCand > makeTkCandCollection(const TrackCand &)
make a TrackCand collection using tracker Track, Trajectory information
edm::InputTag theTkCollName
std::vector< MuonCandidate * > CandidateContainer
double match(const TrackCand &sta, const TrackCand &track, int matchOption=0, int surfaceOption=1) const
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
~L3MuonTrajectoryBuilder()
destructor
MuonTrajectoryBuilder::CandidateContainer trajectories(const TrackCand &)
return a container reconstructed muons starting from a given track
MuonTrajectoryBuilder::CandidateContainer build(const TrackCand &, MuonTrajectoryBuilder::CandidateContainer &) const
build combined trajectory from sta Track and tracker RecHits
edm::InputTag theBeamSpotInputTag
TrajectoryCleaner * theTrajectoryCleaner
edm::Handle< reco::BeamSpot > beamSpotHandle
const Point & position() const
position
L3MuonTrajectoryBuilder(const edm::ParameterSet &, const MuonServiceProxy *, edm::ConsumesCollector &)
constructor with Parameter Set and MuonServiceProxy
edm::InputTag theVertexCollInputTag