71 LogDebug(
"TrackerSeedCleaner")<<seeds.size()<<
" trajectory seeds to the events before cleaning"<<endl;
78 std::vector<TrajectorySeed >
result;
83 for(TrajectorySeedCollection::iterator seed = seeds.begin(); seed<seeds.end(); ++seed){
84 if(seed->nHits() < 2)
continue;
90 if (!tsAtClosestApproachSeed.
isValid())
continue;
98 double phiSeed = pSeed.
phi();
105 double etaLimit = (fabs(fabs(etaRange.max()) - fabs(etaRange.mean())) <0.1) ? 0.1 : fabs(fabs(etaRange.max()) - fabs(etaRange.mean())) ;
108 double phiLimit = (phiMargin.right() < 0.1 ) ? 0.1 : phiMargin.
right();
110 double ptSeed = pSeed.
perp();
113 bool inEtaRange = etaSeed >= (etaRange.mean() - etaLimit) && etaSeed <= (etaRange.mean() + etaLimit) ;
116 bool inPtRange = ptSeed >= ptMin && ptSeed<= 2*(muR->pt());
119 if(seed->nHits()==3) inPtRange =
true;
124 result.push_back(*seed);
125 LogDebug(
"TrackerSeedCleaner")<<
" Keeping the seed : this seed passed pt selection";
131 result.push_back(*seed);
132 LogDebug(
"TrackerSeedCleaner")<<
" Keeping the seed : this seed passed direction selection";
139 result.push_back(*seed);
140 LogDebug(
"TrackerSeedCleaner")<<
" Keeping the seed : this seed passed direction and pt selection";
145 LogDebug(
"TrackerSeedCleaner")<<
" eta for current seed "<<etaSeed<<
"\n"
146 <<
" phi for current seed "<<phiSeed<<
"\n"
147 <<
" eta for L2 track "<<muR->eta()<<
"\n"
148 <<
" phi for L2 track "<<muR->phi()<<
"\n";
156 LogDebug(
"TrackerSeedCleaner")<<seeds.size()<<
" trajectory seeds to the events after cleaning"<<endl;
double z0() const
z coordinate
double deltaPhi(float phi1, float phi2)
const Margin & phiMargin() const
Geom::Phi< T > phi() const
virtual GlobalVector direction() const
the direction around which region is constructed
void define(std::vector< TrajectorySeed > &)
collection definition
RedundantSeedCleaner * theRedundantCleaner
bool useDirection_Cleaner
const MuonServiceProxy * theProxyService
FreeTrajectoryState * freeState(bool withErrors=true) const
virtual float ptMin() const
minimal pt of interest
edm::Handle< reco::BeamSpot > bsHandle_
GlobalVector momentum() const
FTS const & trackStateAtPCA() const
GlobalPoint position() const
PixelRecoRange< float > Range
edm::ESHandle< TransientTrackingRecHitBuilder > theTTRHBuilder
GlobalVector globalMomentum() const
double y0() const
y coordinate
double x0() const
x coordinate
const Range & etaRange() const
allowed eta range [eta_min, eta_max] interval