|
|
#include <SeedGeneratorForCosmics.h>
Definition at line 26 of file SeedGeneratorForCosmics.h.
◆ TSOS
◆ SeedGeneratorForCosmics()
◆ ~SeedGeneratorForCosmics()
virtual SeedGeneratorForCosmics::~SeedGeneratorForCosmics |
( |
| ) |
|
|
inlinevirtual |
◆ init()
Definition at line 8 of file SeedGeneratorForCosmics.cc.
29 cosmiclayers.init(collstereo, collrphi, collmatched, iSetup);
37 cosmiclayers2.
init(collstereo, collrphi, collmatched,
geometry, iSetup);
References alongMomentum, builderName, edm::EventSetup::get(), get, CosmicHitPairGenerator::hitPairs(), HitPairs, hitsforseeds, CosmicHitTripletGenerator::hitTriplets(), HitTriplets, CosmicLayerPairs::init(), CosmicLayerTriplets::init(), LogDebug, magfield, oppositeToMomentum, edm::ESHandle< T >::product(), region, thePairGenerator, thePropagatorAl, thePropagatorOp, theTripletGenerator, theUpdator, tracker, and TTTRHBuilder.
Referenced by CosmicSeedGenerator::produce().
◆ run()
◆ seeds()
Definition at line 75 of file SeedGeneratorForCosmics.cc.
108 if (
positiveYOnly && (outrhit->globalPosition().y() < 0 || innrhit->globalPosition().y() < 0 ||
109 outrhit->globalPosition().y() < innrhit->globalPosition().y()))
111 if (
negativeYOnly && (outrhit->globalPosition().y() > 0 || innrhit->globalPosition().y() > 0 ||
112 outrhit->globalPosition().y() > innrhit->globalPosition().y()))
120 float ch = helix.stateAtVertex().charge();
121 float mom2 = gv.
x() * gv.x() + gv.y() * gv.y() + gv.z() * gv.z();
136 LogDebug(
"CosmicSeedFinder") <<
"outerState " << outerState;
139 LogDebug(
"CosmicSeedFinder") <<
"outerUpdated " << outerUpdated;
147 edm::LogError(
"TooManySeeds") <<
"Found too many seeds, bailing out.\n";
157 LogDebug(
"CosmicSeedFinder") <<
"outerState " << outerState;
160 LogDebug(
"CosmicSeedFinder") <<
"outerUpdated " << outerUpdated;
168 edm::LogError(
"TooManySeeds") <<
"Found too many seeds, bailing out.\n";
185 LogDebug(
"CosmicSeedFinder") <<
"inner point of the seed " <<
inner <<
" outer point of the seed " <<
outer;
190 if (
positiveYOnly && (outrhit->globalPosition().y() < 0 || innrhit->globalPosition().y() < 0 ||
191 outrhit->globalPosition().y() < innrhit->globalPosition().y()))
193 if (
negativeYOnly && (outrhit->globalPosition().y() > 0 || innrhit->globalPosition().y() > 0 ||
194 outrhit->globalPosition().y() > innrhit->globalPosition().y()))
202 for (
int i = 0;
i < 2;
i++) {
204 int predsign = (2 *
i) - 1;
211 LogDebug(
"CosmicSeedFinder") <<
" FirstTSOS " << CosmicSeed;
216 LogDebug(
"CosmicSeedFinder") <<
"outerState " << outerState;
219 LogDebug(
"CosmicSeedFinder") <<
"outerUpdated " << outerUpdated;
222 outerUpdated, (*(
HitPairs[is].
outer())).geographicalId().rawId());
227 edm::LogError(
"TooManySeeds") <<
"Found too many seeds, bailing out.\n";
233 edm::LogWarning(
"CosmicSeedFinder") <<
" SeedForCosmics first update failed ";
235 edm::LogWarning(
"CosmicSeedFinder") <<
" SeedForCosmics first propagation failed ";
241 LogDebug(
"CosmicSeedFinder") <<
" FirstTSOS " << CosmicSeed;
246 LogDebug(
"CosmicSeedFinder") <<
"outerState " << outerState;
249 LogDebug(
"CosmicSeedFinder") <<
"outerUpdated " << outerUpdated;
252 outerUpdated, (*(
HitPairs[is].
outer())).geographicalId().rawId());
257 edm::LogError(
"TooManySeeds") <<
"Found too many seeds, bailing out.\n";
263 edm::LogWarning(
"CosmicSeedFinder") <<
" SeedForCosmics first update failed ";
265 edm::LogWarning(
"CosmicSeedFinder") <<
" SeedForCosmics first propagation failed ";
References alongMomentum, clone(), HitPairs, hfClusterShapes_cfi::hits, HitTriplets, mps_fire::i, TrackerGeometry::idToDet(), SurfaceOrientation::inner, edm::isNotFinite(), TrajectoryStateOnSurface::isValid(), LogDebug, mag(), magfield, maxSeeds_, negativeYOnly, MagneticField::nominalValue(), oppositeToMomentum, SurfaceOrientation::outer, convertSQLitetoXML_cfg::output, trajectoryStateTransform::persistentState(), positiveYOnly, PropagatorWithMaterial::propagate(), seedpt, OrderedHitPairs::size(), OrderedHitTriplets::size(), GeomDet::surface(), thePropagatorAl, thePropagatorOp, theUpdator, Surface::toGlobal(), tracker, KFUpdator::update(), and PV3DBase< T, PVType, FrameType >::x().
Referenced by run().
◆ builderName
std::string SeedGeneratorForCosmics::builderName |
|
private |
◆ geometry
std::string SeedGeneratorForCosmics::geometry |
|
private |
◆ HitPairs
◆ hitsforseeds
std::string SeedGeneratorForCosmics::hitsforseeds |
|
private |
◆ HitTriplets
◆ magfield
◆ maxSeeds_
int32_t SeedGeneratorForCosmics::maxSeeds_ |
|
private |
◆ negativeYOnly
bool SeedGeneratorForCosmics::negativeYOnly |
|
private |
◆ positiveYOnly
bool SeedGeneratorForCosmics::positiveYOnly |
|
private |
◆ region
◆ seedpt
float SeedGeneratorForCosmics::seedpt |
|
private |
◆ thePairGenerator
◆ thePropagatorAl
◆ thePropagatorOp
◆ theTripletGenerator
◆ theUpdator
KFUpdator* SeedGeneratorForCosmics::theUpdator |
|
private |
◆ tracker
◆ TTTRHBuilder
const TrackerGeomDet * idToDet(DetId) const override
T const * product() const
edm::ESHandle< MagneticField > magfield
TrajectoryStateOnSurface update(const TrajectoryStateOnSurface &, const TrackingRecHit &) const override
TrajectoryStateOnSurface propagate(STA const &state, SUR const &surface) const
constexpr bool isNotFinite(T x)
edm::ESHandle< TrackerGeometry > tracker
BaseTrackerRecHit const * ConstRecHitPointer
T getUntrackedParameter(std::string const &, T const &) const
Log< level::Info, false > LogInfo
Log< level::Warning, false > LogWarning
ROOT::Math::SMatrixIdentity AlgebraicMatrixID
CosmicHitPairGenerator * thePairGenerator
const Plane & surface() const
The nominal surface of the GeomDet.
PropagatorWithMaterial * thePropagatorAl
GlobalTrackingRegion region
OrderedHitTriplets HitTriplets
PropagatorWithMaterial * thePropagatorOp
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
CosmicHitTripletGenerator * theTripletGenerator
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
int nominalValue() const
The nominal field value for this map in kGauss.
bool seeds(TrajectorySeedCollection &output, const edm::EventSetup &c, const TrackingRegion ®ion)
void init(const SiStripRecHit2DCollection &collstereo, const SiStripRecHit2DCollection &collrphi, const SiStripMatchedRecHit2DCollection &collmatched, std::string geometry, const edm::EventSetup &iSetup)
unsigned int size() const override
Log< level::Error, false > LogError
void hitTriplets(const TrackingRegion ®, OrderedHitTriplets &prs, const edm::EventSetup &iSetup)
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
T getParameter(std::string const &) const
unsigned int size() const override
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepSym< double, 5 > > AlgebraicSymMatrix55
void hitPairs(const TrackingRegion ®, OrderedHitPairs &prs, const edm::EventSetup &iSetup)
form base class
const TransientTrackingRecHitBuilder * TTTRHBuilder