Child pages
  • L3 Muon Structure
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

The flow of processes defined in the HLT menu are as follows:

HLTDoLocalPixelSequence
HLTDoLocalStripSequence

hltL3TrajSeedOIState
hltL3TrackCandidateFromL2OIState
hltL3TkTracksFromL2OIState
hltL3MuonsOIState

hltL3TrajSeedOIHit
hltL3TrackCandidateFromL2OIHit
hltL3TkTracksFromL2OIHit
hltL3MuonsOIHit

hltL3TkFromL2OICombination

hltL3TrajSeedIOHit
hltL3TrackCandidateFromL2IOHit
hltL3TkTracksFromL2IOHit
hltL3MuonsIOHit

hltL3TrajectorySeed
hltL3TrackCandidateFromL2


After the local pixel and strip sequences the three different seeding algorithms are visited in the sequence: OIState, OIHit and IOHit.
The first step is to create L3 muon trajectory seeds from the hltL3TrajSeed.


hltL3TrajSeed runs cms.EDProducer( "TSGFromL2Muon" ): RecoMuon/TrackerSeedGenerator/plugins/TSGFromL2Muon.cc

 

hltL3TrackCandidateFromL2 run cms.EDProducer("CkfTrajectoryMaker"):
RecoTracker/CkfPattern/interface/CkfTrajectoryMaker.h
RecoTracker/CkfPattern/src/CkfTrackCandidateMakerBase.cc

 

hltL3TkTracksFromL2 runs cms.EDProducer("TrackProducer")


hltL3Muons runs cms.EDProducer("L3MuonProducer"): RecoMuon/L3MuonProducer/src/L3MuonProducer.cc
From the L3MuonProducer constructor we create a new MuonTrackLoader and L3MuonTrajectoryBuilder using the trackLoaderParameters and trajectoryBuilderParameters respectively.
Then we create a new MuonTrackFinder using the newly created L3MuonTrajectoryBuilder and MuonTrackLoader.
In the MuonTrackFinder constructor we create a new MuonTrajectoryCleaner.
After this we run produces

 

In L3MuonProducer::produce a vector of MuonTrajectoryBuilder::TrackCand's is created: L2TrackCands.
A loop over the TrajTrackAssociationCollection: L2AssoMap is then performed.


In MuonTrackFinder::reconstruct:
// reconstruct the muon candidates
for (vector<TrackCand>::const_iterator staCand = staCandColl.begin(); staCand != staCandColl.end(); ++staCand) {
CandidateContainer muonCands_temp = theTrajBuilder->trajectories(*staCand);
muonCandidates.insert(muonCandidates.end(), muonCands_temp.begin(),muonCands_temp.end());
}

  • No labels