#include <MuonSeedCleaner.h>
Public Types | |
typedef std::deque< bool > | BoolContainer |
typedef MuonTransientTrackingRecHit::MuonRecHitContainer | SegmentContainer |
Public Member Functions | |
MuonSeedCleaner (const edm::ParameterSet &, edm::ConsumesCollector &&) | |
Constructor. More... | |
int | NRecHitsFromSegment (const TrackingRecHit &rhit) |
int | NRecHitsFromSegment (MuonTransientTrackingRecHit *rhit) |
std::vector< TrajectorySeed > | seedCleaner (const edm::EventSetup &eventSetup, std::vector< TrajectorySeed > &seeds) |
Cache pointer to geometry. More... | |
~MuonSeedCleaner () | |
Destructor. More... | |
Public Attributes | |
std::vector< int > | badSeedLayer |
Private Member Functions | |
TrajectorySeed | BiggerCone (std::vector< TrajectorySeed > &seeds) |
select the seed with bigger projection cone to next layer More... | |
TrajectorySeed | Chi2LengthSelection (std::vector< TrajectorySeed > &seeds) |
select seed by balance length and chi2 More... | |
std::vector< SeedContainer > | GroupSeeds (std::vector< TrajectorySeed > &seeds) |
group the seeds More... | |
TrajectorySeed | LeanHighMomentum (std::vector< TrajectorySeed > &seeds) |
select the highest momentum pt seed More... | |
SeedContainer | LengthFilter (std::vector< TrajectorySeed > &seeds) |
bool | MomentumFilter (std::vector< TrajectorySeed > &seeds) |
filter out the bad pt seeds, if all are bad pt seeds then keep all More... | |
TrajectorySeed | MoreRecHits (std::vector< TrajectorySeed > &seeds) |
select the seed with more rechits More... | |
double | NChi2OfSegment (const TrackingRecHit &rhit) |
retrieve number of rechits& normalized chi2 of associated segments of a seed More... | |
unsigned int | OverlapSegments (const TrajectorySeed &seed1, const TrajectorySeed &seed2) |
check overlapping segment for seeds More... | |
SeedContainer | SeedCandidates (std::vector< TrajectorySeed > &seeds, bool good) |
pick the seeds w/ 1st layer information and w/ more than 1 segments More... | |
double | SeedChi2 (const TrajectorySeed &seed) |
int | SeedLength (const TrajectorySeed &seed) |
GlobalVector | SeedMomentum (const TrajectorySeed &seed) |
retrieve seed global momentum More... | |
GlobalPoint | SeedPosition (const TrajectorySeed &seed) |
retrieve seed global position More... | |
Private Attributes | |
bool | debug |
std::vector< int > | ShoweringLayers |
SegmentContainer | ShoweringSegments |
MuonServiceProxy * | theService |
Algorith to clean duplicate seeds and select a right one
author: Shih-Chuan Kao - UCR
Definition at line 28 of file MuonSeedCleaner.h.
typedef std::deque<bool> MuonSeedCleaner::BoolContainer |
Definition at line 31 of file MuonSeedCleaner.h.
Definition at line 30 of file MuonSeedCleaner.h.
|
explicit |
Constructor.
Definition at line 49 of file MuonSeedCleaner.cc.
References debug, edm::ParameterSet::getParameter(), eostools::move(), MuonServiceProxy_cff::MuonServiceProxy, and theService.
MuonSeedCleaner::~MuonSeedCleaner | ( | ) |
|
private |
select the seed with bigger projection cone to next layer
Definition at line 162 of file MuonSeedCleaner.cc.
References mps_fire::i, NRecHitsFromSegment(), diffTwoXMLs::r1, and mathSSE::sqrt().
Referenced by seedCleaner().
|
private |
select seed by balance length and chi2
Definition at line 124 of file MuonSeedCleaner.cc.
References mps_fire::i, and SeedChi2().
Referenced by seedCleaner().
|
private |
group the seeds
Definition at line 326 of file MuonSeedCleaner.cc.
References isotrackApplyRegressor::df, cuy::dh, PV3DBase< T, PVType, FrameType >::eta(), mps_fire::i, dqmiolumiharvest::j, lengthSorting(), nHits, OverlapSegments(), PV3DBase< T, PVType, FrameType >::phi(), SeedPosition(), and mathSSE::sqrt().
Referenced by seedCleaner().
|
private |
select the highest momentum pt seed
Definition at line 194 of file MuonSeedCleaner.cc.
References mps_fire::i, DiDispStaMuonMonitor_cfi::pt, SeedMomentum(), mathSSE::sqrt(), PV3DBase< T, PVType, FrameType >::x(), and PV3DBase< T, PVType, FrameType >::y().
Referenced by seedCleaner().
|
private |
pick the seed by better parameter error collect long seeds
Definition at line 243 of file MuonSeedCleaner.cc.
References mps_fire::i.
|
private |
filter out the bad pt seeds, if all are bad pt seeds then keep all
Definition at line 263 of file MuonSeedCleaner.cc.
References mps_fire::i, DiDispStaMuonMonitor_cfi::pt, SeedMomentum(), DetachedQuadStep_cff::seeds, mathSSE::sqrt(), PV3DBase< T, PVType, FrameType >::x(), and PV3DBase< T, PVType, FrameType >::y().
Referenced by seedCleaner().
|
private |
select the seed with more rechits
Definition at line 213 of file MuonSeedCleaner.cc.
References mps_fire::i, NRecHitsFromSegment(), diffTwoXMLs::r1, HLT_FULL_cff::recHits, and SeedChi2().
Referenced by seedCleaner().
|
private |
retrieve number of rechits& normalized chi2 of associated segments of a seed
Definition at line 492 of file MuonSeedCleaner.cc.
References TrackingRecHit::clone(), TrackingRecHit::geographicalId(), MuonTransientTrackingRecHit::specificBuild(), theService, and MuonServiceProxy::trackingGeometry().
Referenced by SeedChi2().
int MuonSeedCleaner::NRecHitsFromSegment | ( | const TrackingRecHit & | rhit | ) |
Definition at line 449 of file MuonSeedCleaner.cc.
References TrackingRecHit::clone(), MuonSubdetId::CSC, MuonSubdetId::DT, GeomDet::geographicalId(), TrackingRecHit::geographicalId(), dqmiolumiharvest::j, findQualityFiles::size, MuonTransientTrackingRecHit::specificBuild(), theService, and MuonServiceProxy::trackingGeometry().
Referenced by BiggerCone(), MuonSeedBuilder::foundMatchingSegment(), MuonSeedBuilder::IdentifyShowering(), MoreRecHits(), and SeedLength().
int MuonSeedCleaner::NRecHitsFromSegment | ( | MuonTransientTrackingRecHit * | rhit | ) |
Definition at line 472 of file MuonSeedCleaner.cc.
References MuonSubdetId::CSC, MuonSubdetId::DT, TrackingRecHit::geographicalId(), dqmiolumiharvest::j, GenericTransientTrackingRecHit::recHits(), findQualityFiles::size, and DetId::subdetId().
|
private |
check overlapping segment for seeds
Definition at line 377 of file MuonSeedCleaner.cc.
References PVValHelper::dx, PVValHelper::dy, PVValHelper::dz, diffTwoXMLs::r1, diffTwoXMLs::r2, TrajectorySeed::recHits(), mathSSE::sqrt(), theService, GeomDet::toGlobal(), MuonServiceProxy::trackingGeometry(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by GroupSeeds().
|
private |
pick the seeds w/ 1st layer information and w/ more than 1 segments
Definition at line 283 of file MuonSeedCleaner.cc.
References MuonSubdetId::CSC, CSCDetId, MuonSubdetId::DT, GeomDet::geographicalId(), mps_fire::i, nHits, diffTwoXMLs::r1, HLT_FULL_cff::recHits, CSCDetId::station(), DetId::subdetId(), theService, and MuonServiceProxy::trackingGeometry().
Referenced by seedCleaner().
|
private |
Definition at line 404 of file MuonSeedCleaner.cc.
References NChi2OfSegment(), TrajectorySeed::nHits(), diffTwoXMLs::r1, and TrajectorySeed::recHits().
Referenced by Chi2LengthSelection(), and MoreRecHits().
std::vector< TrajectorySeed > MuonSeedCleaner::seedCleaner | ( | const edm::EventSetup & | eventSetup, |
std::vector< TrajectorySeed > & | seeds | ||
) |
Cache pointer to geometry.
Cache pointer to Magnetic field cleaning the seeds
Definition at line 72 of file MuonSeedCleaner.cc.
References BiggerCone(), Chi2LengthSelection(), PVValHelper::eta, PV3DBase< T, PVType, FrameType >::eta(), GroupSeeds(), mps_fire::i, LeanHighMomentum(), MomentumFilter(), MoreRecHits(), SeedCandidates(), SeedPosition(), theService, and MuonServiceProxy::update().
Referenced by MuonSeedBuilder::build().
|
private |
Definition at line 416 of file MuonSeedCleaner.cc.
References NRecHitsFromSegment(), and TrajectorySeed::recHits().
|
private |
retrieve seed global momentum
Definition at line 438 of file MuonSeedCleaner.cc.
References PTrajectoryStateOnDet::detId(), TrajectoryStateOnSurface::globalMomentum(), MuonServiceProxy::magneticField(), TrajectorySeed::startingState(), theService, MuonServiceProxy::trackingGeometry(), and trajectoryStateTransform::transientState().
Referenced by LeanHighMomentum(), and MomentumFilter().
|
private |
retrieve seed global position
Definition at line 427 of file MuonSeedCleaner.cc.
References PTrajectoryStateOnDet::detId(), TrajectoryStateOnSurface::globalPosition(), MuonServiceProxy::magneticField(), TrajectorySeed::startingState(), theService, MuonServiceProxy::trackingGeometry(), and trajectoryStateTransform::transientState().
Referenced by GroupSeeds(), and seedCleaner().
std::vector<int> MuonSeedCleaner::badSeedLayer |
Definition at line 54 of file MuonSeedCleaner.h.
|
private |
Definition at line 93 of file MuonSeedCleaner.h.
Referenced by runTauIdMVA.TauIDEmbedder::loadMVA_WPs_run2_2017(), MuonSeedCleaner(), and runTauIdMVA.TauIDEmbedder::runTauID().
|
private |
Definition at line 97 of file MuonSeedCleaner.h.
|
private |
Definition at line 96 of file MuonSeedCleaner.h.
|
private |
Definition at line 100 of file MuonSeedCleaner.h.
Referenced by MuonSeedCleaner(), NChi2OfSegment(), NRecHitsFromSegment(), OverlapSegments(), SeedCandidates(), seedCleaner(), SeedMomentum(), SeedPosition(), and ~MuonSeedCleaner().