#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, eostools::move(), MuonServiceProxy_cff::MuonServiceProxy, muonDTDigis_cfi::pset, 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, DetachedQuadStep_cff::seeds, 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, SeedChi2(), DetachedQuadStep_cff::seeds, and bscTrigger_cfi::theHits.
Referenced by seedCleaner().
|
private |
group the seeds
Definition at line 323 of file MuonSeedCleaner.cc.
References hgcalPerformanceValidation::df, cuy::dh, HGC3DClusterGenMatchSelector_cfi::dR, PV3DBase< T, PVType, FrameType >::eta(), mps_fire::i, dqmiolumiharvest::j, lengthSorting(), nHits, OverlapSegments(), PV3DBase< T, PVType, FrameType >::phi(), ElectronSeedTrackRefFix_cfi::seedCollection, SeedPosition(), DetachedQuadStep_cff::seeds, jetUpdater_cfi::sort, 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(), DetachedQuadStep_cff::seeds, 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, and DetachedQuadStep_cff::seeds.
|
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, FastTrackerRecHitMaskProducer_cfi::recHits, SeedChi2(), DetachedQuadStep_cff::seeds, and bscTrigger_cfi::theHits.
Referenced by seedCleaner().
|
private |
retrieve number of rechits& normalized chi2 of associated segments of a seed
Definition at line 489 of file MuonSeedCleaner.cc.
References TrackingRecHit::clone(), TrackingRecHit::geographicalId(), GlobalTrackingGeometry::idToDet(), MuonTransientTrackingRecHit::specificBuild(), theService, and MuonServiceProxy::trackingGeometry().
Referenced by SeedChi2().
int MuonSeedCleaner::NRecHitsFromSegment | ( | const TrackingRecHit & | rhit | ) |
Definition at line 446 of file MuonSeedCleaner.cc.
References TrackingRecHit::clone(), MuonSubdetId::CSC, MuonSubdetId::DT, GeomDet::geographicalId(), TrackingRecHit::geographicalId(), GlobalTrackingGeometry::idToDet(), 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 469 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 374 of file MuonSeedCleaner.cc.
References PVValHelper::dx, PVValHelper::dy, PVValHelper::dz, globals_cff::id1, globals_cff::id2, GlobalTrackingGeometry::idToDet(), 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, MuonSubdetId::DT, GeomDet::geographicalId(), caHitNtupletGeneratorKernels::good, mps_fire::i, GlobalTrackingGeometry::idToDet(), nHits, diffTwoXMLs::r1, FastTrackerRecHitMaskProducer_cfi::recHits, DetachedQuadStep_cff::seeds, CSCDetId::station(), DetId::subdetId(), theService, and MuonServiceProxy::trackingGeometry().
Referenced by seedCleaner().
|
private |
Definition at line 401 of file MuonSeedCleaner.cc.
References NChi2OfSegment(), diffTwoXMLs::r1, and fileCollector::seed.
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(), options_cfi::eventSetup, GroupSeeds(), mps_fire::i, LeanHighMomentum(), MomentumFilter(), MoreRecHits(), SeedCandidates(), SeedPosition(), DetachedQuadStep_cff::seeds, theService, and MuonServiceProxy::update().
Referenced by MuonSeedBuilder::build().
|
private |
Definition at line 413 of file MuonSeedCleaner.cc.
References NRecHitsFromSegment(), rpcPointValidation_cfi::recHit, fileCollector::seed, and bscTrigger_cfi::theHits.
|
private |
retrieve seed global momentum
Definition at line 435 of file MuonSeedCleaner.cc.
References PTrajectoryStateOnDet::detId(), TrajectoryStateOnSurface::globalMomentum(), GlobalTrackingGeometry::idToDet(), MuonServiceProxy::magneticField(), fileCollector::seed, theService, MuonServiceProxy::trackingGeometry(), and trajectoryStateTransform::transientState().
Referenced by LeanHighMomentum(), and MomentumFilter().
|
private |
retrieve seed global position
Definition at line 424 of file MuonSeedCleaner.cc.
References PTrajectoryStateOnDet::detId(), TrajectoryStateOnSurface::globalPosition(), GlobalTrackingGeometry::idToDet(), MuonServiceProxy::magneticField(), fileCollector::seed, 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().