30 cosmiclayers.
init(collstereo,collrphi,collmatched,iSetup);
38 cosmiclayers2.
init(collstereo,collrphi,collmatched,
geometry,iSetup);
47 maxSeeds_(conf.getParameter<int32_t>(
"maxSeeds"))
51 float originradius=conf.
getParameter<
double>(
"originRadius");
52 float halflength=conf.
getParameter<
double>(
"originHalfLength");
53 float originz=conf.
getParameter<
double>(
"originZPosition");
61 edm::LogInfo(
"SeedGeneratorForCosmics")<<
" PtMin of track is "<<ptmin<<
62 " The Radius of the cylinder for seeds is "<<originradius <<
"cm" <<
" The set Seed Momentum" <<
seedpt;
101 toGlobal((*(
HitTriplets[it].middle())).localPosition());
111 if (
positiveYOnly && (outrhit->globalPosition().y()<0 || innrhit->globalPosition().y()<0
112 || outrhit->globalPosition().y() < innrhit->globalPosition().y()
114 if (
negativeYOnly && (outrhit->globalPosition().y()>0 || innrhit->globalPosition().y()>0
115 || outrhit->globalPosition().y() > innrhit->globalPosition().y()
123 float ch=helix.stateAtVertex().charge();
124 float Mom =
sqrt( gv.x()*gv.x() + gv.y()*gv.y() + gv.z()*gv.z() );
137 if((outer.
y()-inner.
y())>0){
138 const TSOS outerState =
142 LogDebug(
"CosmicSeedFinder") <<
"outerState "<<outerState;
145 LogDebug(
"CosmicSeedFinder") <<
"outerUpdated "<<outerUpdated;
151 edm::LogError(
"TooManySeeds") <<
"Found too many seeds, bailing out.\n";
158 const TSOS outerState =
162 LogDebug(
"CosmicSeedFinder") <<
"outerState "<<outerState;
165 LogDebug(
"CosmicSeedFinder") <<
"outerUpdated "<<outerUpdated;
171 edm::LogError(
"TooManySeeds") <<
"Found too many seeds, bailing out.\n";
188 LogDebug(
"CosmicSeedFinder") <<
"inner point of the seed "<<inner <<
" outer point of the seed "<<
outer;
193 if (
positiveYOnly && (outrhit->globalPosition().y()<0 || innrhit->globalPosition().y()<0
194 || outrhit->globalPosition().y() < innrhit->globalPosition().y()
196 if (
negativeYOnly && (outrhit->globalPosition().y()>0 || innrhit->globalPosition().y()>0
197 || outrhit->globalPosition().y() > innrhit->globalPosition().y()
205 for (
int i=0;
i<2;
i++){
207 int predsign=(2*
i)-1;
208 if((outer.y()-inner.
y())>0){
210 (inner-outer)*(
seedpt/(inner-outer).
mag()),
218 LogDebug(
"CosmicSeedFinder") <<
" FirstTSOS "<<CosmicSeed;
220 const TSOS outerState =
222 tracker->idToDet((*(
HitPairs[is].outer())).geographicalId())->surface());
224 LogDebug(
"CosmicSeedFinder") <<
"outerState "<<outerState;
227 LogDebug(
"CosmicSeedFinder") <<
"outerUpdated "<<outerUpdated;
235 edm::LogError(
"TooManySeeds") <<
"Found too many seeds, bailing out.\n";
240 }
else edm::LogWarning(
"CosmicSeedFinder") <<
" SeedForCosmics first update failed ";
241 }
else edm::LogWarning(
"CosmicSeedFinder") <<
" SeedForCosmics first propagation failed ";
247 (outer-inner)*(
seedpt/(outer-inner).
mag()),
252 LogDebug(
"CosmicSeedFinder") <<
" FirstTSOS "<<CosmicSeed;
254 const TSOS outerState =
256 tracker->idToDet((*(
HitPairs[is].outer())).geographicalId())->surface());
259 LogDebug(
"CosmicSeedFinder") <<
"outerState "<<outerState;
262 LogDebug(
"CosmicSeedFinder") <<
"outerUpdated "<<outerUpdated;
270 edm::LogError(
"TooManySeeds") <<
"Found too many seeds, bailing out.\n";
275 }
else edm::LogWarning(
"CosmicSeedFinder") <<
" SeedForCosmics first update failed ";
276 }
else edm::LogWarning(
"CosmicSeedFinder") <<
" SeedForCosmics first propagation failed ";
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
edm::ESHandle< TrackerGeometry > tracker
void run(TrajectorySeedCollection &, const edm::EventSetup &c)
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
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)
void hitTriplets(const TrackingRegion ®, OrderedHitTriplets &prs, const edm::EventSetup &iSetup)
CosmicHitPairGenerator * thePairGenerator
BaseTrackerRecHit const * ConstRecHitPointer
GlobalTrackingRegion region
PropagatorWithMaterial * thePropagatorAl
TrajectoryStateOnSurface update(const TrajectoryStateOnSurface &, const TrackingRecHit &) const
std::vector< TrajectorySeed > TrajectorySeedCollection
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)
T const * product() const
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
TrajectoryStateOnSurface propagate(STA const &state, SUR const &surface) const
SeedGeneratorForCosmics(const edm::ParameterSet &conf)
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)