30 cosmiclayers.
init(collstereo,collrphi,collmatched,iSetup);
38 cosmiclayers2.
init(collstereo,collrphi,collmatched,
geometry,iSetup);
48 maxSeeds_(conf.getParameter<int32_t>(
"maxSeeds"))
62 edm::LogInfo(
"SeedGeneratorForCosmics")<<
" PtMin of track is "<<ptmin<<
63 " The Radius of the cylinder for seeds is "<<originradius <<
"cm" <<
" The set Seed Momentum" <<
seedpt;
102 toGlobal((*(
HitTriplets[it].middle())).localPosition());
112 if (
positiveYOnly && (outrhit->globalPosition().y()<0 || innrhit->globalPosition().y()<0
113 || outrhit->globalPosition().y() < innrhit->globalPosition().y()
115 if (
negativeYOnly && (outrhit->globalPosition().y()>0 || innrhit->globalPosition().y()>0
116 || outrhit->globalPosition().y() > innrhit->globalPosition().y()
122 FastHelix helix(inner, middle, outer,iSetup);
125 float Mom =
sqrt( gv.
x()*gv.
x() + gv.
y()*gv.
y() + gv.
z()*gv.
z() );
138 if((outer.
y()-inner.
y())>0){
139 const TSOS outerState =
143 LogDebug(
"CosmicSeedFinder") <<
"outerState "<<outerState;
146 LogDebug(
"CosmicSeedFinder") <<
"outerUpdated "<<outerUpdated;
152 edm::LogError(
"TooManySeeds") <<
"Found too many seeds, bailing out.\n";
159 const TSOS outerState =
163 LogDebug(
"CosmicSeedFinder") <<
"outerState "<<outerState;
166 LogDebug(
"CosmicSeedFinder") <<
"outerUpdated "<<outerUpdated;
172 edm::LogError(
"TooManySeeds") <<
"Found too many seeds, bailing out.\n";
189 LogDebug(
"CosmicSeedFinder") <<
"inner point of the seed "<<inner <<
" outer point of the seed "<<
outer;
194 if (
positiveYOnly && (outrhit->globalPosition().y()<0 || innrhit->globalPosition().y()<0
195 || outrhit->globalPosition().y() < innrhit->globalPosition().y()
197 if (
negativeYOnly && (outrhit->globalPosition().y()>0 || innrhit->globalPosition().y()>0
198 || outrhit->globalPosition().y() > innrhit->globalPosition().y()
206 for (
int i=0;
i<2;
i++){
208 int predsign=(2*
i)-1;
209 if((outer.y()-inner.
y())>0){
211 (inner-outer)*(
seedpt/(inner-outer).
mag()),
219 LogDebug(
"CosmicSeedFinder") <<
" FirstTSOS "<<CosmicSeed;
221 const TSOS outerState =
223 tracker->idToDet((*(
HitPairs[is].outer())).geographicalId())->surface());
225 LogDebug(
"CosmicSeedFinder") <<
"outerState "<<outerState;
228 LogDebug(
"CosmicSeedFinder") <<
"outerUpdated "<<outerUpdated;
236 edm::LogError(
"TooManySeeds") <<
"Found too many seeds, bailing out.\n";
241 }
else edm::LogWarning(
"CosmicSeedFinder") <<
" SeedForCosmics first update failed ";
242 }
else edm::LogWarning(
"CosmicSeedFinder") <<
" SeedForCosmics first propagation failed ";
248 (outer-inner)*(
seedpt/(outer-inner).
mag()),
253 LogDebug(
"CosmicSeedFinder") <<
" FirstTSOS "<<CosmicSeed;
255 const TSOS outerState =
257 tracker->idToDet((*(
HitPairs[is].outer())).geographicalId())->surface());
260 LogDebug(
"CosmicSeedFinder") <<
"outerState "<<outerState;
263 LogDebug(
"CosmicSeedFinder") <<
"outerUpdated "<<outerUpdated;
271 edm::LogError(
"TooManySeeds") <<
"Found too many seeds, bailing out.\n";
276 }
else edm::LogWarning(
"CosmicSeedFinder") <<
" SeedForCosmics first update failed ";
277 }
else edm::LogWarning(
"CosmicSeedFinder") <<
" SeedForCosmics first propagation failed ";
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
FTS stateAtVertex() const
edm::ESHandle< TrackerGeometry > tracker
void run(TrajectorySeedCollection &, const edm::EventSetup &c)
const GlobalTrajectoryParameters & parameters() const
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
ROOT::Math::SMatrixIdentity AlgebraicMatrixID
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepSym< double, 5 > > AlgebraicSymMatrix55
virtual unsigned int size() const
virtual void hitPairs(const TrackingRegion ®, OrderedHitPairs &prs, const edm::EventSetup &iSetup)
form base class
PropagatorWithMaterial * thePropagatorOp
OrderedHitTriplets HitTriplets
CosmicHitTripletGenerator * theTripletGenerator
void init(const SiStripRecHit2DCollection &collstereo, const SiStripRecHit2DCollection &collrphi, const SiStripMatchedRecHit2DCollection &collmatched, std::string geometry, const edm::EventSetup &iSetup)
virtual void hitTriplets(const TrackingRegion ®, OrderedHitTriplets &prs, const edm::EventSetup &iSetup)
form base class
CosmicHitPairGenerator * thePairGenerator
GlobalTrackingRegion region
PropagatorWithMaterial * thePropagatorAl
std::vector< TrajectorySeed > TrajectorySeedCollection
virtual RecHitPointer build(const TrackingRecHit *p) const =0
build a tracking rechit from an existing rechit
GlobalVector momentum() const
bool seeds(TrajectorySeedCollection &output, const edm::EventSetup &c, const TrackingRegion ®ion)
void init(const SiStripRecHit2DCollection &collstereo, const SiStripRecHit2DCollection &collrphi, const SiStripMatchedRecHit2DCollection &collmatched, const edm::EventSetup &iSetup)
virtual TrajectoryStateOnSurface propagate(const TrajectoryStateOnSurface &tsos, const Plane &plane) const
T const * product() const
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
TrajectoryStateOnSurface update(const TrajectoryStateOnSurface &, const TransientTrackingRecHit &) const
SeedGeneratorForCosmics(const edm::ParameterSet &conf)
TrackCharge charge() const
virtual unsigned int size() const
const TransientTrackingRecHitBuilder * TTTRHBuilder
edm::ESHandle< MagneticField > magfield
void init(const SiStripRecHit2DCollection &collstereo, const SiStripRecHit2DCollection &collrphi, const SiStripMatchedRecHit2DCollection &collmatched, const edm::EventSetup &c)