#include <MuonSeedBuilder.h>
Public Types | |
typedef std::deque< bool > | BoolContainer |
typedef MuonTransientTrackingRecHit::MuonRecHitContainer | SegmentContainer |
Public Member Functions | |
int | build (edm::Event &event, const edm::EventSetup &eventSetup, TrajectorySeedCollection &seeds) |
Build seed collection. More... | |
MuonSeedBuilder (const edm::ParameterSet &, edm::ConsumesCollector &) | |
Constructor. More... | |
void | setBField (const MagneticField *theField) |
Cache pointer to Magnetic field. More... | |
void | setGeometry (const MuonDetLayerGeometry *lgeom) |
Cache pointer to geometry. More... | |
~MuonSeedBuilder () | |
Destructor. More... | |
Public Attributes | |
std::vector< int > | badSeedLayer |
Private Member Functions | |
double | etaError (const GlobalPoint gp, double rErr) |
calculate the eta error from global R error More... | |
bool | foundMatchingSegment (int type, SegmentContainer &protoTrack, SegmentContainer &segments, BoolContainer &usedSeg, float &eta_temp, float &phi_temp, int &lastLayer, bool &showeringBefore) |
Find segment which matches protoTrack for endcap only. More... | |
bool | IdentifyShowering (SegmentContainer &segs, BoolContainer &usedSeg, float &eta_last, float &phi_last, int layer, int &NShoweringSegments) |
identify the showering layer More... | |
std::vector< TrajectorySeed > | seedCleaner (const edm::EventSetup &eventSetup, std::vector< TrajectorySeed > &seeds) |
cleaning the seeds More... | |
Private Attributes | |
const MagneticField * | BField |
bool | debug |
group the seeds More... | |
bool | enableCSCMeasurement |
bool | enableDTMeasurement |
float | maxDeltaEtaCSC |
float | maxDeltaEtaDT |
float | maxDeltaEtaOverlap |
float | maxDeltaPhiCSC |
float | maxDeltaPhiDT |
float | maxDeltaPhiOverlap |
float | maxEtaResolutionCSC |
float | maxEtaResolutionDT |
float | maxPhiResolutionCSC |
float | maxPhiResolutionDT |
int | minCSCHitsPerSegment |
int | minDTHitsPerSegment |
const MuonDetLayerGeometry * | muonLayers |
MuonDetLayerMeasurements * | muonMeasurements |
MuonSeedCleaner * | muonSeedClean_ |
MuonSeedCreator * | muonSeedCreate_ |
Create seed according to region (CSC, DT, Overlap) More... | |
int | NShowerSeg |
std::vector< int > | ShoweringLayers |
SegmentContainer | ShoweringSegments |
edm::InputTag | theCSCSegmentLabel |
Name of the CSC segment collection. More... | |
edm::InputTag | theDTSegmentLabel |
Name of the DT segment collection. More... | |
float | theMinMomentum |
MuonServiceProxy * | theService |
Algorith to build TrajectorySeed for muon standalone reconstruction. The segments are sorted out to make a protoTrack (vector of matching segments in different stations a.k.a. layers), for DT+overlap and CSC regions, in that order. The protoTrack is then passed to the seed creator to create CSC, overlap and/or DT seeds.
Definition at line 33 of file MuonSeedBuilder.h.
typedef std::deque<bool> MuonSeedBuilder::BoolContainer |
Definition at line 36 of file MuonSeedBuilder.h.
Definition at line 35 of file MuonSeedBuilder.h.
|
explicit |
Constructor.
See header file for a description of this class.
Definition at line 51 of file MuonSeedBuilder.cc.
References debug, enableCSCMeasurement, enableDTMeasurement, edm::ParameterSet::getParameter(), maxDeltaEtaCSC, maxDeltaEtaDT, maxDeltaEtaOverlap, maxDeltaPhiCSC, maxDeltaPhiDT, maxDeltaPhiOverlap, maxEtaResolutionCSC, maxEtaResolutionDT, maxPhiResolutionCSC, maxPhiResolutionDT, minCSCHitsPerSegment, minDTHitsPerSegment, muonMeasurements, muonSeedClean_, muonSeedCreate_, MuonServiceProxy_cff::MuonServiceProxy, theCSCSegmentLabel, theDTSegmentLabel, and theService.
MuonSeedBuilder::~MuonSeedBuilder | ( | ) |
Destructor.
Definition at line 108 of file MuonSeedBuilder.cc.
References muonMeasurements, muonSeedClean_, muonSeedCreate_, and theService.
int MuonSeedBuilder::build | ( | edm::Event & | event, |
const edm::EventSetup & | eventSetup, | ||
TrajectorySeedCollection & | seeds | ||
) |
Build seed collection.
Definition at line 125 of file MuonSeedBuilder.cc.
References MuonDetLayerGeometry::allDTLayers(), MuonDetLayerGeometry::backwardCSCLayers(), BField, gather_cfg::cout, MuonSeedCreator::createSeed(), debug, PV3DBase< T, PVType, FrameType >::eta(), MuonDetLayerGeometry::forwardCSCLayers(), foundMatchingSegment(), runTauDisplay::gp, mps_fire::i, IdentifyShowering(), hgcalTopologyTester_cfi::layers, minCSCHitsPerSegment, minDTHitsPerSegment, muonLayers, muonMeasurements, muonSeedClean_, muonSeedCreate_, NShowerSeg, PV3DBase< T, PVType, FrameType >::phi(), MuonDetLayerMeasurements::recHits(), MuonSeedCleaner::seedCleaner(), MuonSeedCreator::setBField(), ShoweringLayers, and ShoweringSegments.
Referenced by MuonSeedProducer::produce(), and setBField().
|
private |
calculate the eta error from global R error
Definition at line 1463 of file MuonSeedBuilder.cc.
References PV3DBase< T, PVType, FrameType >::mag(), PV3DBase< T, PVType, FrameType >::perp(), PV3DBase< T, PVType, FrameType >::perp2(), and PV3DBase< T, PVType, FrameType >::z().
|
private |
Find segment which matches protoTrack for endcap only.
segment for seeding , segments collection
reject possible edge segments
Definition at line 1241 of file MuonSeedBuilder.cc.
References case1, case2, cuy::dh, HGC3DClusterGenMatchSelector_cfi::dR, PV3DBase< T, PVType, FrameType >::eta(), IdentifyShowering(), maxDeltaEtaCSC, maxDeltaEtaDT, maxDeltaEtaOverlap, maxDeltaPhiCSC, maxDeltaPhiDT, maxDeltaPhiOverlap, minCSCHitsPerSegment, minDTHitsPerSegment, muonSeedClean_, MuonSeedCleaner::NRecHitsFromSegment(), NShowerSeg, convertSQLiteXML::ok, PV3DBase< T, PVType, FrameType >::phi(), and mathSSE::sqrt().
Referenced by build().
|
private |
identify the showering layer
Definition at line 1386 of file MuonSeedBuilder.cc.
References cuy::dh, HGC3DClusterGenMatchSelector_cfi::dR, MuonSubdetId::DT, PV3DBase< T, PVType, FrameType >::eta(), runTauDisplay::gp, GeomDetEnumerators::isDT(), muonSeedClean_, MuonSeedCleaner::NRecHitsFromSegment(), PV3DBase< T, PVType, FrameType >::phi(), ShoweringLayers, ShoweringSegments, mathSSE::sqrt(), and DetId::subdetId().
Referenced by build(), and foundMatchingSegment().
|
private |
cleaning the seeds
|
inline |
Cache pointer to Magnetic field.
Definition at line 50 of file MuonSeedBuilder.h.
References BField, and build().
Referenced by MuonSeedProducer::produce().
|
inline |
Cache pointer to geometry.
Definition at line 47 of file MuonSeedBuilder.h.
References muonLayers.
Referenced by MuonSeedProducer::produce().
std::vector<int> MuonSeedBuilder::badSeedLayer |
Definition at line 55 of file MuonSeedBuilder.h.
|
private |
Definition at line 149 of file MuonSeedBuilder.h.
Referenced by build(), and setBField().
|
private |
group the seeds
pick the seed by better parameter error filter out the bad pt seeds, if all are bad pt seeds then keep all collect long seeds pick the seeds w/ 1st layer information and w/ more than 1 segments check overlapping segment for seeds retrieve number of rechits& normalized chi2 of associated segments of a seed retrieve seed global position retrieve seed global momentum
Definition at line 109 of file MuonSeedBuilder.h.
Referenced by build(), runTauIdMVA.TauIDEmbedder::loadMVA_WPs_run2_2017(), MuonSeedBuilder(), and runTauIdMVA.TauIDEmbedder::runTauID().
|
private |
Definition at line 115 of file MuonSeedBuilder.h.
Referenced by MuonSeedBuilder().
|
private |
Definition at line 112 of file MuonSeedBuilder.h.
Referenced by MuonSeedBuilder().
|
private |
Definition at line 124 of file MuonSeedBuilder.h.
Referenced by foundMatchingSegment(), and MuonSeedBuilder().
|
private |
Definition at line 128 of file MuonSeedBuilder.h.
Referenced by foundMatchingSegment(), and MuonSeedBuilder().
|
private |
Definition at line 126 of file MuonSeedBuilder.h.
Referenced by foundMatchingSegment(), and MuonSeedBuilder().
|
private |
Definition at line 125 of file MuonSeedBuilder.h.
Referenced by foundMatchingSegment(), and MuonSeedBuilder().
|
private |
Definition at line 129 of file MuonSeedBuilder.h.
Referenced by foundMatchingSegment(), and MuonSeedBuilder().
|
private |
Definition at line 127 of file MuonSeedBuilder.h.
Referenced by foundMatchingSegment(), and MuonSeedBuilder().
|
private |
Definition at line 157 of file MuonSeedBuilder.h.
Referenced by MuonSeedBuilder().
|
private |
Definition at line 156 of file MuonSeedBuilder.h.
Referenced by MuonSeedBuilder().
|
private |
Definition at line 159 of file MuonSeedBuilder.h.
Referenced by MuonSeedBuilder().
|
private |
Definition at line 158 of file MuonSeedBuilder.h.
Referenced by MuonSeedBuilder().
|
private |
Definition at line 118 of file MuonSeedBuilder.h.
Referenced by build(), foundMatchingSegment(), and MuonSeedBuilder().
|
private |
Definition at line 121 of file MuonSeedBuilder.h.
Referenced by build(), foundMatchingSegment(), and MuonSeedBuilder().
|
private |
Definition at line 146 of file MuonSeedBuilder.h.
Referenced by build(), and setGeometry().
|
private |
Definition at line 162 of file MuonSeedBuilder.h.
Referenced by build(), MuonSeedBuilder(), and ~MuonSeedBuilder().
|
private |
Definition at line 143 of file MuonSeedBuilder.h.
Referenced by build(), foundMatchingSegment(), IdentifyShowering(), MuonSeedBuilder(), and ~MuonSeedBuilder().
|
private |
Create seed according to region (CSC, DT, Overlap)
Definition at line 142 of file MuonSeedBuilder.h.
Referenced by build(), MuonSeedBuilder(), and ~MuonSeedBuilder().
|
private |
Definition at line 132 of file MuonSeedBuilder.h.
Referenced by build(), and foundMatchingSegment().
|
private |
Definition at line 134 of file MuonSeedBuilder.h.
Referenced by build(), and IdentifyShowering().
|
private |
Definition at line 133 of file MuonSeedBuilder.h.
Referenced by build(), and IdentifyShowering().
|
private |
Name of the CSC segment collection.
Definition at line 139 of file MuonSeedBuilder.h.
Referenced by MuonSeedBuilder().
|
private |
Name of the DT segment collection.
Definition at line 136 of file MuonSeedBuilder.h.
Referenced by MuonSeedBuilder().
|
private |
Definition at line 160 of file MuonSeedBuilder.h.
|
private |
Definition at line 152 of file MuonSeedBuilder.h.
Referenced by MuonSeedBuilder(), and ~MuonSeedBuilder().