|
|
Go to the documentation of this file.
29 : cosmicTrajectoryBuilder_(conf), crackTrajectoryBuilder_(conf) {
39 produces<TrackCandidateCollection>();
63 edm::LogWarning(
"CosmicTrackFinder") <<
"Collection SiPixelRecHitCollection with InputTag " <<
l.module
64 <<
" cannot be found, using empty collection of same type.";
77 auto output = std::make_unique<TrackCandidateCollection>();
81 edm::LogVerbatim(
"CosmicTrackFinder") <<
"========== Cosmic Track Finder Info ==========";
82 edm::LogVerbatim(
"CosmicTrackFinder") <<
" Numbers of Seeds " << (*seed).size();
83 if (!(*seed).empty()) {
84 std::vector<Trajectory> trajoutput;
99 edm::LogVerbatim(
"CosmicTrackFinder") <<
" Numbers of Temp Trajectories " << trajoutput.size();
101 if (!trajoutput.empty()) {
103 std::vector<Trajectory*> tmpTraj;
104 std::vector<Trajectory>::iterator
itr;
105 for (
itr = trajoutput.begin();
itr != trajoutput.end();
itr++)
106 tmpTraj.push_back(&(*
itr));
118 const Trajectory theTraj = *(*tmpTraj.begin());
119 bool seedplus = (theTraj.seed().direction() ==
alongMomentum);
122 LogDebug(
"CosmicTrackFinder") <<
"Reconstruction " << (seedplus ?
"along" :
"opposite to") <<
" momentum";
130 std::cout <<
"cosmic: along momentum... " << std::endl;
148 unsigned int firstId;
151 firstState = theTraj.lastMeasurement().updatedState();
152 firstId = theTraj.lastMeasurement().recHitR().rawId();
167 edm::LogWarning(
"CosmicTrackFinder") <<
"invalid innerState, will not make TrackCandidate";
173 if (firstId !=
recHits.front().rawId()) {
174 edm::LogWarning(
"CosmicTrackFinder") <<
"Mismatch in DetID of first hit: firstID= " << firstId
175 <<
" DetId= " <<
recHits.front().geographicalId().rawId();
edm::EDGetTokenT< SiStripMatchedRecHit2DCollection > matchedrecHitsToken_
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.
T const * product() const
void produce(edm::Event &e, const edm::EventSetup &c) override
edm::EDGetTokenT< SiPixelRecHitCollection > pixelRecHitsToken_
T getUntrackedParameter(std::string const &, T const &) const
ROOT::Math::SMatrixIdentity AlgebraicMatrixID
CosmicTrackFinder(const edm::ParameterSet &conf)
CRackTrajectoryBuilder crackTrajectoryBuilder_
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.
const LocalTrajectoryParameters & localParameters() const
edm::EDGetTokenT< SiStripRecHit2DCollection > stereorecHitsToken_
~CosmicTrackFinder() override
CosmicTrajectoryBuilder cosmicTrajectoryBuilder_
const TransientTrackingRecHitBuilder * hitBuilder() const
edm::EDGetTokenT< TrajectorySeedCollection > seedToken_
std::vector< std::pair< float, float > >::iterator itr
edm::EDGetTokenT< SiStripRecHit2DCollection > rphirecHitsToken_
T getParameter(std::string const &) const
const SurfaceType & surface() const
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepSym< double, 5 > > AlgebraicSymMatrix55
const TransientTrackingRecHitBuilder * hitBuilder() const
const MagneticField * magneticField() const
Namespace of DDCMS conversion namespace.