CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
GEMCSCSegAlgoRR Class Reference

#include <GEMCSCSegAlgoRR.h>

Inheritance diagram for GEMCSCSegAlgoRR:
GEMCSCSegmentAlgorithm

Public Member Functions

 GEMCSCSegAlgoRR (const edm::ParameterSet &ps)
 Constructor. More...
 
std::vector< GEMCSCSegmentrun (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)
 
 ~GEMCSCSegAlgoRR ()
 Destructor. More...
 
- Public Member Functions inherited from GEMCSCSegmentAlgorithm
 GEMCSCSegmentAlgorithm (const edm::ParameterSet &)
 Constructor. More...
 
virtual ~GEMCSCSegmentAlgorithm ()
 Destructor. More...
 

Private Member Functions

std::vector< GEMCSCSegmentbuildSegments (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
 
GEMCSCSegFitsfit_
 
std::map< uint32_t, const
CSCLayer * > 
theCSCLayers_
 
std::map< uint32_t, const
GEMEtaPartition * > 
theGEMEtaParts_
 

Detailed Description

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.

Authors
Raffaella Radogna

Definition at line 26 of file GEMCSCSegAlgoRR.h.

Constructor & Destructor Documentation

GEMCSCSegAlgoRR::GEMCSCSegAlgoRR ( const edm::ParameterSet ps)
explicit

Constructor.

Constructor

Definition at line 32 of file GEMCSCSegAlgoRR.cc.

GEMCSCSegAlgoRR::~GEMCSCSegAlgoRR ( )

Destructor.

Destructor

Definition at line 51 of file GEMCSCSegAlgoRR.cc.

Member Function Documentation

std::vector< GEMCSCSegment > GEMCSCSegAlgoRR::buildSegments ( const CSCSegment cscsegment,
const std::vector< const TrackingRecHit * > &  rechits 
)
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 293 of file GEMCSCSegAlgoRR.cc.

std::vector< const TrackingRecHit * > GEMCSCSegAlgoRR::chainHitsToSegm ( const CSCSegment cscsegment,
const std::vector< const GEMRecHit * > &  gemrechits 
)
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 157 of file GEMCSCSegAlgoRR.cc.

std::vector< GEMCSCSegment > GEMCSCSegAlgoRR::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 
)
virtual

Build segments for all desired groups of hits

Run the algorithm

Implements GEMCSCSegmentAlgorithm.

Definition at line 58 of file GEMCSCSegAlgoRR.cc.

Member Data Documentation

bool GEMCSCSegAlgoRR::debug
private

Configuration parameters.

Definition at line 58 of file GEMCSCSegAlgoRR.h.

double GEMCSCSegAlgoRR::dPhiChainBoxMax
private

Definition at line 64 of file GEMCSCSegAlgoRR.h.

double GEMCSCSegAlgoRR::dRChainBoxMax
private

Definition at line 66 of file GEMCSCSegAlgoRR.h.

double GEMCSCSegAlgoRR::dThetaChainBoxMax
private

Definition at line 65 of file GEMCSCSegAlgoRR.h.

double GEMCSCSegAlgoRR::dXclusBoxMax
private

Definition at line 61 of file GEMCSCSegAlgoRR.h.

double GEMCSCSegAlgoRR::dYclusBoxMax
private

Definition at line 62 of file GEMCSCSegAlgoRR.h.

int GEMCSCSegAlgoRR::maxRecHitsInCluster
private

Definition at line 67 of file GEMCSCSegAlgoRR.h.

unsigned int GEMCSCSegAlgoRR::minHitsPerSegment
private

Definition at line 59 of file GEMCSCSegAlgoRR.h.

const std::string GEMCSCSegAlgoRR::myName
private

Member variables.

Definition at line 70 of file GEMCSCSegAlgoRR.h.

bool GEMCSCSegAlgoRR::preClustering
private

Definition at line 60 of file GEMCSCSegAlgoRR.h.

bool GEMCSCSegAlgoRR::preClustering_useChaining
private

Definition at line 63 of file GEMCSCSegAlgoRR.h.

GEMCSCSegFit* GEMCSCSegAlgoRR::sfit_
private

Definition at line 74 of file GEMCSCSegAlgoRR.h.

std::map<uint32_t, const CSCLayer*> GEMCSCSegAlgoRR::theCSCLayers_
private

Definition at line 72 of file GEMCSCSegAlgoRR.h.

std::map<uint32_t, const GEMEtaPartition*> GEMCSCSegAlgoRR::theGEMEtaParts_
private

Definition at line 73 of file GEMCSCSegAlgoRR.h.