#include <GEMCSCSegAlgoRR.h>
Public Member Functions | |
GEMCSCSegAlgoRR (const edm::ParameterSet &ps) | |
Constructor. More... | |
std::vector< GEMCSCSegment > | run (const std::map< uint32_t, const CSCLayer * > &csclayermap, const std::map< uint32_t, const GEMEtaPartition * > &gemrollmap, const std::vector< const CSCSegment * > &cscsegments, const std::vector< const GEMRecHit * > &gemrechits) override |
~GEMCSCSegAlgoRR () override | |
Destructor. More... | |
Public Member Functions inherited from GEMCSCSegmentAlgorithm | |
GEMCSCSegmentAlgorithm (const edm::ParameterSet &) | |
Constructor. More... | |
virtual | ~GEMCSCSegmentAlgorithm () |
Destructor. More... | |
Private Member Functions | |
std::vector< GEMCSCSegment > | buildSegments (const CSCSegment *cscsegment, const std::vector< const TrackingRecHit * > &rechits) |
std::vector< const TrackingRecHit * > | chainHitsToSegm (const CSCSegment *cscsegment, const std::vector< const GEMRecHit * > &gemrechits) |
Utility functions. More... | |
Private Attributes | |
bool | debug |
Configuration parameters. More... | |
double | dPhiChainBoxMax |
double | dRChainBoxMax |
double | dThetaChainBoxMax |
double | dXclusBoxMax |
double | dYclusBoxMax |
int | maxRecHitsInCluster |
unsigned int | minHitsPerSegment |
const std::string | myName |
Member variables. More... | |
bool | preClustering |
bool | preClustering_useChaining |
GEMCSCSegFit * | sfit_ |
std::map< uint32_t, const CSCLayer * > | theCSCLayers_ |
std::map< uint32_t, const GEMEtaPartition * > | theGEMEtaParts_ |
This algorithm is very basic, there is no attempt to deal with ambiguities, such as noise etc. The GEMCSC track segment is built starting from a CSC segment and trying to match GEM rechits. The GEM rechits are searched inside a conigurable (eta,phi) window and associated to the segment. This collection of GEM rechits and CSC semgent is called the GEMCSC Ensemble.
Definition at line 25 of file GEMCSCSegAlgoRR.h.
|
explicit |
Constructor.
Constructor
Definition at line 30 of file GEMCSCSegAlgoRR.cc.
References debug, dPhiChainBoxMax, dRChainBoxMax, dThetaChainBoxMax, dXclusBoxMax, dYclusBoxMax, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), maxRecHitsInCluster, minHitsPerSegment, preClustering, and preClustering_useChaining.
|
override |
|
private |
Build the GEMCSCSegment.
This algorithm uses a Minimum Spanning Tree (ST) approach to build endcap muon track segments from the rechits in the 6 layers of a CSC and the 2 layers inside a GE1/1 GEM. Fit is implemented in GEMCSCSegFit.cc
Definition at line 279 of file GEMCSCSegAlgoRR.cc.
References CSCSegment::chi2(), GEMCSCSegFit::chi2(), GEMCSCSegFit::covarianceMatrix(), CSCSegment::cscDetId(), GEMCSCSegFit::fit(), MuonSubdetId::GEM, GEMCSCSegFit::intercept(), GEMCSCSegFit::localdir(), minHitsPerSegment, sfit_, CSCSegment::specificRecHits(), theCSCLayers_, theGEMEtaParts_, and createJobs::tmp.
Referenced by run().
|
private |
Utility functions.
Search for GEMHits inside a Box around the position extrapolated from the CSC segment.
Chain hits :: make a TrackingRecHit vector containing both CSC and GEM rechits take the hits from the CSCSegment and add a clone of them take the hits from the GEM RecHit vector and check whether they are compatible with the CSC segment extrapolation to the GEM plane. If they are compatible, add these GEM rechits
Definition at line 154 of file GEMCSCSegAlgoRR.cc.
References CSCLayer::chamber(), GEMRecHit::clone(), dPhiChainBoxMax, dThetaChainBoxMax, CSCSegment::localDirection(), GEMRecHit::localPosition(), CSCSegment::localPosition(), PV3DBase< T, PVType, FrameType >::phi(), edm::second(), CSCSegment::specificRecHits(), theCSCLayers_, theGEMEtaParts_, GeomDet::toGlobal(), GeomDet::toLocal(), and PV3DBase< T, PVType, FrameType >::x().
Referenced by run().
|
overridevirtual |
Build segments for all desired groups of hits
Run the algorithm
Implements GEMCSCSegmentAlgorithm.
Definition at line 52 of file GEMCSCSegAlgoRR.cc.
References buildSegments(), chainHitsToSegm(), CSCDetId, AlCaHLTBitMon_QueryRunRegistry::string, theCSCLayers_, theGEMEtaParts_, and createJobs::tmp.
|
private |
Configuration parameters.
Definition at line 56 of file GEMCSCSegAlgoRR.h.
Referenced by GEMCSCSegAlgoRR(), runTauIdMVA.TauIDEmbedder::loadMVA_WPs_run2_2017(), and runTauIdMVA.TauIDEmbedder::runTauID().
|
private |
Definition at line 62 of file GEMCSCSegAlgoRR.h.
Referenced by chainHitsToSegm(), and GEMCSCSegAlgoRR().
|
private |
Definition at line 64 of file GEMCSCSegAlgoRR.h.
Referenced by GEMCSCSegAlgoRR().
|
private |
Definition at line 63 of file GEMCSCSegAlgoRR.h.
Referenced by chainHitsToSegm(), and GEMCSCSegAlgoRR().
|
private |
Definition at line 59 of file GEMCSCSegAlgoRR.h.
Referenced by GEMCSCSegAlgoRR().
|
private |
Definition at line 60 of file GEMCSCSegAlgoRR.h.
Referenced by GEMCSCSegAlgoRR().
|
private |
Definition at line 65 of file GEMCSCSegAlgoRR.h.
Referenced by GEMCSCSegAlgoRR().
|
private |
Definition at line 57 of file GEMCSCSegAlgoRR.h.
Referenced by buildSegments(), and GEMCSCSegAlgoRR().
|
private |
Member variables.
Definition at line 68 of file GEMCSCSegAlgoRR.h.
|
private |
Definition at line 58 of file GEMCSCSegAlgoRR.h.
Referenced by GEMCSCSegAlgoRR().
|
private |
Definition at line 61 of file GEMCSCSegAlgoRR.h.
Referenced by GEMCSCSegAlgoRR().
|
private |
Definition at line 72 of file GEMCSCSegAlgoRR.h.
Referenced by buildSegments().
|
private |
Definition at line 70 of file GEMCSCSegAlgoRR.h.
Referenced by buildSegments(), chainHitsToSegm(), and run().
|
private |
Definition at line 71 of file GEMCSCSegAlgoRR.h.
Referenced by buildSegments(), chainHitsToSegm(), and run().