31 cosmicTrajectoryBuilder_(conf) ,
32 crackTrajectoryBuilder_(conf) ,
45 seedToken_ = consumes<TrajectorySeedCollection>(
48 produces<TrackCandidateCollection>();
75 <<
"Collection SiPixelRecHitCollection with InputTag "
77 <<
" cannot be found, using empty collection of same type.";
97 edm::LogVerbatim(
"CosmicTrackFinder") <<
"========== Cosmic Track Finder Info ==========";
98 edm::LogVerbatim(
"CosmicTrackFinder") <<
" Numbers of Seeds " << (*seed).size();
101 std::vector<Trajectory> trajoutput;
129 edm::LogVerbatim(
"CosmicTrackFinder") <<
" Numbers of Temp Trajectories " << trajoutput.size();
131 if(trajoutput.size()>0){
134 std::vector<Trajectory*> tmpTraj;
135 std::vector<Trajectory>::iterator itr;
136 for (itr=trajoutput.begin();itr!=trajoutput.end();itr++)tmpTraj.push_back(&(*itr));
146 const Trajectory theTraj = *(*tmpTraj.begin());
150 LogDebug(
"CosmicTrackFinder")<<
"Reconstruction " << (seedplus ?
"along" :
"opposite to") <<
" momentum";
175 unsigned int firstId;
178 firstState=theTraj.lastMeasurement().updatedState();
179 firstId = theTraj.lastMeasurement().recHitR().rawId();
195 edm::LogWarning(
"CosmicTrackFinder") <<
"invalid innerState, will not make TrackCandidate";
202 edm::LogWarning(
"CosmicTrackFinder") <<
"Mismatch in DetID of first hit: firstID= " <<firstId
211 output->push_back(
TrackCandidate(recHits,theTraj.seed(),state,theTraj.seedRef() ) );
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
const LocalTrajectoryParameters & localParameters() const
edm::EDGetTokenT< SiStripRecHit2DCollection > stereorecHitsToken_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
ROOT::Math::SMatrixIdentity AlgebraicMatrixID
std::vector< TrackCandidate > TrackCandidateCollection
CosmicTrajectoryBuilder cosmicTrajectoryBuilder_
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepSym< double, 5 > > AlgebraicSymMatrix55
const MagneticField * magneticField() const
uint32_t rawId() const
get the raw id
const TransientTrackingRecHitBuilder * hitBuilder() const
const SurfaceType & surface() const
void run(const TrajectorySeedCollection &collseed, const SiStripRecHit2DCollection &collstereo, const SiStripRecHit2DCollection &collrphi, const SiStripMatchedRecHit2DCollection &collmatched, const SiPixelRecHitCollection &collpixel, const edm::EventSetup &es, edm::Event &e, std::vector< Trajectory > &trajoutput)
Runs the algorithm.
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
CRackTrajectoryBuilder crackTrajectoryBuilder_
edm::EDGetTokenT< SiPixelRecHitCollection > pixelRecHitsToken_
CosmicTrackFinder(const edm::ParameterSet &conf)
const TransientTrackingRecHitBuilder * hitBuilder() const
edm::EDGetTokenT< TrajectorySeedCollection > seedToken_
virtual ~CosmicTrackFinder()
edm::EDGetTokenT< SiStripMatchedRecHit2DCollection > matchedrecHitsToken_
virtual void produce(edm::Event &e, const edm::EventSetup &c)
void run(const TrajectorySeedCollection &collseed, const SiStripRecHit2DCollection &collstereo, const SiStripRecHit2DCollection &collrphi, const SiStripMatchedRecHit2DCollection &collmatched, const SiPixelRecHitCollection &collpixel, const edm::EventSetup &es, edm::Event &e, std::vector< Trajectory > &trajoutput)
Runs the algorithm.
edm::EDGetTokenT< SiStripRecHit2DCollection > rphirecHitsToken_
void labelsForToken(EDGetToken iToken, Labels &oLabels) const
DetId geographicalId() const