#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 &) | |
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 |
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 32 of file MuonSeedBuilder.h.
typedef std::deque<bool> MuonSeedBuilder::BoolContainer |
Definition at line 38 of file MuonSeedBuilder.h.
Definition at line 37 of file MuonSeedBuilder.h.
|
explicit |
Constructor.
See header file for a description of this class.
Definition at line 52 of file MuonSeedBuilder.cc.
References debug, enableCSCMeasurement, enableDTMeasurement, edm::ParameterSet::getParameter(), maxDeltaEtaCSC, maxDeltaEtaDT, maxDeltaEtaOverlap, maxDeltaPhiCSC, maxDeltaPhiDT, maxDeltaPhiOverlap, maxEtaResolutionCSC, maxEtaResolutionDT, maxPhiResolutionCSC, maxPhiResolutionDT, minCSCHitsPerSegment, minDTHitsPerSegment, muonSeedClean_, muonSeedCreate_, MuonServiceProxy_cff::MuonServiceProxy, theCSCSegmentLabel, theDTSegmentLabel, and theService.
MuonSeedBuilder::~MuonSeedBuilder | ( | ) |
Destructor.
Definition at line 98 of file MuonSeedBuilder.cc.
References muonSeedClean_, muonSeedCreate_, and theService.
int MuonSeedBuilder::build | ( | edm::Event & | event, |
const edm::EventSetup & | eventSetup, | ||
TrajectorySeedCollection & | seeds | ||
) |
Build seed collection.
Definition at line 113 of file MuonSeedBuilder.cc.
References MuonDetLayerGeometry::allDTLayers(), MuonDetLayerGeometry::backwardCSCLayers(), BField, gather_cfg::cout, MuonSeedCreator::createSeed(), debug, enableCSCMeasurement, enableDTMeasurement, PV3DBase< T, PVType, FrameType >::eta(), MuonDetLayerGeometry::forwardCSCLayers(), foundMatchingSegment(), i, IdentifyShowering(), getHLTprescales::index, minCSCHitsPerSegment, minDTHitsPerSegment, muonLayers, muonSeedClean_, muonSeedCreate_, NShowerSeg, PV3DBase< T, PVType, FrameType >::phi(), MuonDetLayerMeasurements::recHits(), MuonSeedCleaner::seedCleaner(), MuonSeedCreator::setBField(), ShoweringLayers, ShoweringSegments, theCSCSegmentLabel, theDTSegmentLabel, and funct::true.
Referenced by MuonSeedProducer::produce().
|
private |
calculate the eta error from global R error
Definition at line 1273 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 1085 of file MuonSeedBuilder.cc.
References case1, case2, PFRecoTauDiscriminationAgainstElectronDeadECAL_cfi::dR, PV3DBase< T, PVType, FrameType >::eta(), funct::false, IdentifyShowering(), getHLTprescales::index, 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 1204 of file MuonSeedBuilder.cc.
References PFRecoTauDiscriminationAgainstElectronDeadECAL_cfi::dR, MuonSubdetId::DT, PV3DBase< T, PVType, FrameType >::eta(), funct::false, getHLTprescales::index, muonSeedClean_, MuonSeedCleaner::NRecHitsFromSegment(), PV3DBase< T, PVType, FrameType >::phi(), ShoweringLayers, ShoweringSegments, mathSSE::sqrt(), DetId::subdetId(), and funct::true.
Referenced by build(), and foundMatchingSegment().
|
private |
cleaning the seeds
|
inline |
Cache pointer to Magnetic field.
Definition at line 52 of file MuonSeedBuilder.h.
References BField.
Referenced by MuonSeedProducer::produce().
|
inline |
Cache pointer to geometry.
Definition at line 49 of file MuonSeedBuilder.h.
References muonLayers.
Referenced by MuonSeedProducer::produce().
std::vector<int> MuonSeedBuilder::badSeedLayer |
Definition at line 57 of file MuonSeedBuilder.h.
|
private |
Definition at line 144 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 104 of file MuonSeedBuilder.h.
Referenced by build(), and MuonSeedBuilder().
|
private |
Definition at line 110 of file MuonSeedBuilder.h.
Referenced by build(), and MuonSeedBuilder().
|
private |
Definition at line 107 of file MuonSeedBuilder.h.
Referenced by build(), and MuonSeedBuilder().
|
private |
Definition at line 119 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 121 of file MuonSeedBuilder.h.
Referenced by foundMatchingSegment(), and MuonSeedBuilder().
|
private |
Definition at line 120 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 122 of file MuonSeedBuilder.h.
Referenced by foundMatchingSegment(), and MuonSeedBuilder().
|
private |
Definition at line 152 of file MuonSeedBuilder.h.
Referenced by MuonSeedBuilder().
|
private |
Definition at line 151 of file MuonSeedBuilder.h.
Referenced by MuonSeedBuilder().
|
private |
Definition at line 154 of file MuonSeedBuilder.h.
Referenced by MuonSeedBuilder().
|
private |
Definition at line 153 of file MuonSeedBuilder.h.
Referenced by MuonSeedBuilder().
|
private |
Definition at line 113 of file MuonSeedBuilder.h.
Referenced by build(), foundMatchingSegment(), and MuonSeedBuilder().
|
private |
Definition at line 116 of file MuonSeedBuilder.h.
Referenced by build(), foundMatchingSegment(), and MuonSeedBuilder().
|
private |
Definition at line 141 of file MuonSeedBuilder.h.
Referenced by build(), and setGeometry().
|
private |
Definition at line 138 of file MuonSeedBuilder.h.
Referenced by build(), foundMatchingSegment(), IdentifyShowering(), MuonSeedBuilder(), and ~MuonSeedBuilder().
|
private |
Create seed according to region (CSC, DT, Overlap)
Definition at line 137 of file MuonSeedBuilder.h.
Referenced by build(), MuonSeedBuilder(), and ~MuonSeedBuilder().
|
private |
Definition at line 127 of file MuonSeedBuilder.h.
Referenced by build(), and foundMatchingSegment().
|
private |
Definition at line 129 of file MuonSeedBuilder.h.
Referenced by build(), and IdentifyShowering().
|
private |
Definition at line 128 of file MuonSeedBuilder.h.
Referenced by build(), and IdentifyShowering().
|
private |
Name of the CSC segment collection.
Definition at line 134 of file MuonSeedBuilder.h.
Referenced by build(), and MuonSeedBuilder().
|
private |
Name of the DT segment collection.
Definition at line 131 of file MuonSeedBuilder.h.
Referenced by build(), and MuonSeedBuilder().
|
private |
Definition at line 155 of file MuonSeedBuilder.h.
|
private |
Definition at line 147 of file MuonSeedBuilder.h.
Referenced by MuonSeedBuilder(), and ~MuonSeedBuilder().