12 inline T sqr(
T t) {
return t*
t;}
37 if ( hits.
size() < 2)
return;
55 LogDebug(
"CosmicSeedCreator") <<
"initial momentum = " << initialMomentum;
67 bool reverseAll =
false;
68 if ( fabs(tth1->globalPosition().perp()) < fabs(tth2->globalPosition().perp()) )
81 bool bottomSeed = (usedHit->globalPosition().y()<0);
89 LogDebug(
"CosmicSeedCreator") <<
"Reverse all applied";
107 if (reverseAll) initialMomentum *=-1;
112 initialMomentum *=-1;
126 LogDebug(
"CosmicSeedCreator")<<
"Position freeState: " << usedHit->globalPosition()
127 <<
"\nCharge: "<< charge
128 <<
"\nInitial momentum :" << initialMomentum ;
134 seedCollection.emplace_back(PTraj,seedHits,seedDirection);
146 <<
"Using SeedCreator---------->\n" 147 <<
"seedCollections size = " << seedCollection.size();
149 if ( seedCollection.size() >
maxseeds_ ) {
150 edm::LogError(
"TooManySeeds") <<
"Found too many seeds (" << seedCollection.size() <<
" > " <<
maxseeds_ <<
"), bailing out.\n";
151 seedCollection.clear();
edm::ESHandle< MagneticField > bfield
void init(const TrackingRegion ®ion, const edm::EventSetup &es, const SeedComparitor *filter) override
const SeedComparitor * filter
GlobalVector const & direction() const
the direction around which region is constructed
BaseTrackerRecHit const * ConstRecHitPointer
std::vector< TrajectorySeed > TrajectorySeedCollection
const TrackingRegion * region
void makeSeed(TrajectorySeedCollection &seedCollection, const SeedingHitSet &hits) override
Square< F >::type sqr(const F &f)
unsigned int size() const
bool isUndef(TrackingRecHit const &hit)