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;
118 for (
int charge=-1;charge<=1;charge+=2){
122 initialMomentum, charge, &*
bfield),
126 LogDebug(
"CosmicSeedCreator")<<
"Position freeState: " << usedHit->globalPosition()
127 <<
"\nCharge: "<< charge
128 <<
"\nInitial momentum :" << initialMomentum ;
136 seedCollection.push_back(seed);
149 <<
"Using SeedCreator---------->\n"
150 <<
"seedCollections size = " << seedCollection.size();
152 if ( seedCollection.size() >
maxseeds_ ) {
153 edm::LogError(
"TooManySeeds") <<
"Found too many seeds (" << seedCollection.size() <<
" > " <<
maxseeds_ <<
"), bailing out.\n";
154 seedCollection.clear();
edm::ESHandle< MagneticField > bfield
virtual bool compatible(const SeedingHitSet &hits, const TrackingRegion ®ion) const =0
const SeedComparitor * filter
GlobalVector const & direction() const
the direction around which region is constructed
BaseTrackerRecHit const * ConstRecHitPointer
std::vector< TrajectorySeed > TrajectorySeedCollection
virtual void makeSeed(TrajectorySeedCollection &seedCollection, const SeedingHitSet &hits)
const TrackingRegion * region
Square< F >::type sqr(const F &f)
unsigned int size() const
bool isUndef(TrackingRecHit const &hit)
virtual void init(const TrackingRegion ®ion, const edm::EventSetup &es, const SeedComparitor *filter)