CMS 3D CMS Logo

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

#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< TrajectorySeedseedCleaner (const edm::EventSetup &eventSetup, std::vector< TrajectorySeed > &seeds)
 cleaning the seeds More...
 

Private Attributes

const MagneticFieldBField
 
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 MuonDetLayerGeometrymuonLayers
 
MuonDetLayerMeasurementsmuonMeasurements
 
MuonSeedCleanermuonSeedClean_
 
MuonSeedCreatormuonSeedCreate_
 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
 
MuonServiceProxytheService
 

Detailed Description

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.

Author
Shih-Chuan Kao, Dominique Fortin - UCR

Definition at line 33 of file MuonSeedBuilder.h.

Member Typedef Documentation

typedef std::deque<bool> MuonSeedBuilder::BoolContainer

Definition at line 39 of file MuonSeedBuilder.h.

Definition at line 38 of file MuonSeedBuilder.h.

Constructor & Destructor Documentation

MuonSeedBuilder::MuonSeedBuilder ( const edm::ParameterSet pset,
edm::ConsumesCollector iC 
)
explicit

Constructor.

See header file for a description of this class.

Author
Shih-Chuan Kao, Dominique Fortin - UCR

Definition at line 52 of file MuonSeedBuilder.cc.

MuonSeedBuilder::~MuonSeedBuilder ( )

Destructor.

Definition at line 104 of file MuonSeedBuilder.cc.

Member Function Documentation

int MuonSeedBuilder::build ( edm::Event event,
const edm::EventSetup eventSetup,
TrajectorySeedCollection seeds 
)

Build seed collection.

Definition at line 121 of file MuonSeedBuilder.cc.

Referenced by MuonSeedProducer::produce().

double MuonSeedBuilder::etaError ( const GlobalPoint  gp,
double  rErr 
)
private

calculate the eta error from global R error

Definition at line 1280 of file MuonSeedBuilder.cc.

bool MuonSeedBuilder::foundMatchingSegment ( int  type,
SegmentContainer protoTrack,
SegmentContainer segments,
BoolContainer usedSeg,
float &  eta_temp,
float &  phi_temp,
int &  lastLayer,
bool &  showeringBefore 
)
private

Find segment which matches protoTrack for endcap only.

segment for seeding , segments collection

reject possible edge segments

Definition at line 1090 of file MuonSeedBuilder.cc.

bool MuonSeedBuilder::IdentifyShowering ( SegmentContainer segs,
BoolContainer usedSeg,
float &  eta_last,
float &  phi_last,
int  layer,
int &  NShoweringSegments 
)
private

identify the showering layer

Definition at line 1211 of file MuonSeedBuilder.cc.

std::vector<TrajectorySeed> MuonSeedBuilder::seedCleaner ( const edm::EventSetup eventSetup,
std::vector< TrajectorySeed > &  seeds 
)
private

cleaning the seeds

void MuonSeedBuilder::setBField ( const MagneticField theField)
inline

Cache pointer to Magnetic field.

Definition at line 53 of file MuonSeedBuilder.h.

References BField.

Referenced by MuonSeedProducer::produce().

53 {BField = theField;}
const MagneticField * BField
void MuonSeedBuilder::setGeometry ( const MuonDetLayerGeometry lgeom)
inline

Cache pointer to geometry.

Definition at line 50 of file MuonSeedBuilder.h.

References muonLayers.

Referenced by MuonSeedProducer::produce().

50 {muonLayers = lgeom;}
const MuonDetLayerGeometry * muonLayers

Member Data Documentation

std::vector<int> MuonSeedBuilder::badSeedLayer

Definition at line 58 of file MuonSeedBuilder.h.

const MagneticField* MuonSeedBuilder::BField
private

Definition at line 145 of file MuonSeedBuilder.h.

Referenced by setBField().

bool MuonSeedBuilder::debug
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 105 of file MuonSeedBuilder.h.

bool MuonSeedBuilder::enableCSCMeasurement
private

Definition at line 111 of file MuonSeedBuilder.h.

bool MuonSeedBuilder::enableDTMeasurement
private

Definition at line 108 of file MuonSeedBuilder.h.

float MuonSeedBuilder::maxDeltaEtaCSC
private

Definition at line 120 of file MuonSeedBuilder.h.

float MuonSeedBuilder::maxDeltaEtaDT
private

Definition at line 124 of file MuonSeedBuilder.h.

float MuonSeedBuilder::maxDeltaEtaOverlap
private

Definition at line 122 of file MuonSeedBuilder.h.

float MuonSeedBuilder::maxDeltaPhiCSC
private

Definition at line 121 of file MuonSeedBuilder.h.

float MuonSeedBuilder::maxDeltaPhiDT
private

Definition at line 125 of file MuonSeedBuilder.h.

float MuonSeedBuilder::maxDeltaPhiOverlap
private

Definition at line 123 of file MuonSeedBuilder.h.

float MuonSeedBuilder::maxEtaResolutionCSC
private

Definition at line 153 of file MuonSeedBuilder.h.

float MuonSeedBuilder::maxEtaResolutionDT
private

Definition at line 152 of file MuonSeedBuilder.h.

float MuonSeedBuilder::maxPhiResolutionCSC
private

Definition at line 155 of file MuonSeedBuilder.h.

float MuonSeedBuilder::maxPhiResolutionDT
private

Definition at line 154 of file MuonSeedBuilder.h.

int MuonSeedBuilder::minCSCHitsPerSegment
private

Definition at line 114 of file MuonSeedBuilder.h.

int MuonSeedBuilder::minDTHitsPerSegment
private

Definition at line 117 of file MuonSeedBuilder.h.

const MuonDetLayerGeometry* MuonSeedBuilder::muonLayers
private

Definition at line 142 of file MuonSeedBuilder.h.

Referenced by setGeometry().

MuonDetLayerMeasurements* MuonSeedBuilder::muonMeasurements
private

Definition at line 158 of file MuonSeedBuilder.h.

MuonSeedCleaner* MuonSeedBuilder::muonSeedClean_
private

Definition at line 139 of file MuonSeedBuilder.h.

MuonSeedCreator* MuonSeedBuilder::muonSeedCreate_
private

Create seed according to region (CSC, DT, Overlap)

Definition at line 138 of file MuonSeedBuilder.h.

int MuonSeedBuilder::NShowerSeg
private

Definition at line 128 of file MuonSeedBuilder.h.

std::vector<int> MuonSeedBuilder::ShoweringLayers
private

Definition at line 130 of file MuonSeedBuilder.h.

SegmentContainer MuonSeedBuilder::ShoweringSegments
private

Definition at line 129 of file MuonSeedBuilder.h.

edm::InputTag MuonSeedBuilder::theCSCSegmentLabel
private

Name of the CSC segment collection.

Definition at line 135 of file MuonSeedBuilder.h.

edm::InputTag MuonSeedBuilder::theDTSegmentLabel
private

Name of the DT segment collection.

Definition at line 132 of file MuonSeedBuilder.h.

float MuonSeedBuilder::theMinMomentum
private

Definition at line 156 of file MuonSeedBuilder.h.

MuonServiceProxy* MuonSeedBuilder::theService
private

Definition at line 148 of file MuonSeedBuilder.h.