#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 |
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 30 of file MuonSeedBuilder.h.
typedef std::deque<bool> MuonSeedBuilder::BoolContainer |
Definition at line 33 of file MuonSeedBuilder.h.
Definition at line 32 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_, theCSCSegmentLabel, and theDTSegmentLabel.
MuonSeedBuilder::~MuonSeedBuilder | ( | ) |
Destructor.
Definition at line 104 of file MuonSeedBuilder.cc.
References muonMeasurements, muonSeedClean_, and muonSeedCreate_.
int MuonSeedBuilder::build | ( | edm::Event & | event, |
const edm::EventSetup & | eventSetup, | ||
TrajectorySeedCollection & | seeds | ||
) |
Build seed collection.
Definition at line 119 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(), LayerTriplets::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().
|
private |
calculate the eta error from global R error
Definition at line 1457 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 1235 of file MuonSeedBuilder.cc.
References isotrackApplyRegressor::df, cuy::dh, PV3DBase< T, PVType, FrameType >::eta(), IdentifyShowering(), maxDeltaEtaCSC, maxDeltaEtaDT, maxDeltaEtaOverlap, maxDeltaPhiCSC, maxDeltaPhiDT, maxDeltaPhiOverlap, mkfit::Config::maxdEta, mkfit::Config::maxdPhi, 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 1380 of file MuonSeedBuilder.cc.
References isotrackApplyRegressor::df, cuy::dh, 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 47 of file MuonSeedBuilder.h.
References BField.
Referenced by MuonSeedProducer::produce().
|
inline |
Cache pointer to geometry.
Definition at line 44 of file MuonSeedBuilder.h.
References muonLayers.
Referenced by MuonSeedProducer::produce().
std::vector<int> MuonSeedBuilder::badSeedLayer |
Definition at line 52 of file MuonSeedBuilder.h.
|
private |
Definition at line 146 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 106 of file MuonSeedBuilder.h.
Referenced by build(), runTauIdMVA.TauIDEmbedder::loadMVA_WPs_run2_2017(), MuonSeedBuilder(), and runTauIdMVA.TauIDEmbedder::runTauID().
|
private |
Definition at line 112 of file MuonSeedBuilder.h.
Referenced by MuonSeedBuilder().
|
private |
Definition at line 109 of file MuonSeedBuilder.h.
Referenced by MuonSeedBuilder().
|
private |
Definition at line 121 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 123 of file MuonSeedBuilder.h.
Referenced by foundMatchingSegment(), and MuonSeedBuilder().
|
private |
Definition at line 122 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 124 of file MuonSeedBuilder.h.
Referenced by foundMatchingSegment(), and MuonSeedBuilder().
|
private |
Definition at line 151 of file MuonSeedBuilder.h.
Referenced by MuonSeedBuilder().
|
private |
Definition at line 150 of file MuonSeedBuilder.h.
Referenced by MuonSeedBuilder().
|
private |
Definition at line 153 of file MuonSeedBuilder.h.
Referenced by MuonSeedBuilder().
|
private |
Definition at line 152 of file MuonSeedBuilder.h.
Referenced by MuonSeedBuilder().
|
private |
Definition at line 115 of file MuonSeedBuilder.h.
Referenced by build(), foundMatchingSegment(), and MuonSeedBuilder().
|
private |
Definition at line 118 of file MuonSeedBuilder.h.
Referenced by build(), foundMatchingSegment(), and MuonSeedBuilder().
|
private |
Definition at line 143 of file MuonSeedBuilder.h.
Referenced by build(), and setGeometry().
|
private |
Definition at line 156 of file MuonSeedBuilder.h.
Referenced by build(), MuonSeedBuilder(), and ~MuonSeedBuilder().
|
private |
Definition at line 140 of file MuonSeedBuilder.h.
Referenced by build(), foundMatchingSegment(), IdentifyShowering(), MuonSeedBuilder(), and ~MuonSeedBuilder().
|
private |
Create seed according to region (CSC, DT, Overlap)
Definition at line 139 of file MuonSeedBuilder.h.
Referenced by build(), MuonSeedBuilder(), and ~MuonSeedBuilder().
|
private |
Definition at line 129 of file MuonSeedBuilder.h.
Referenced by build(), and foundMatchingSegment().
|
private |
Definition at line 131 of file MuonSeedBuilder.h.
Referenced by build(), and IdentifyShowering().
|
private |
Definition at line 130 of file MuonSeedBuilder.h.
Referenced by build(), and IdentifyShowering().
|
private |
Name of the CSC segment collection.
Definition at line 136 of file MuonSeedBuilder.h.
Referenced by MuonSeedBuilder().
|
private |
Name of the DT segment collection.
Definition at line 133 of file MuonSeedBuilder.h.
Referenced by MuonSeedBuilder().
|
private |
Definition at line 154 of file MuonSeedBuilder.h.