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 | Private Member Functions | Private Attributes
MuonSeedCreator Class Reference

#include <MuonSeedCreator.h>

Public Types

typedef
MuonTransientTrackingRecHit::MuonRecHitContainer 
SegmentContainer
 

Public Member Functions

TrajectorySeed createSeed (int type, const SegmentContainer &seg, const std::vector< int > &layers, int NShower, int NShowerSeg)
 Create a seed from set of segments. More...
 
 MuonSeedCreator (const edm::ParameterSet &pset)
 Constructor. More...
 
void setBField (const MagneticField *theField)
 Cache Magnetic Field for current event. More...
 
 ~MuonSeedCreator ()
 Destructor. More...
 

Private Member Functions

void estimatePtCSC (const SegmentContainer &seg, const std::vector< int > &layers, double &pt, double &spt)
 Estimate transverse momentum of track from CSC measurements. More...
 
void estimatePtDT (const SegmentContainer &seg, const std::vector< int > &layers, double &pt, double &spt)
 Estimate transverse momentum of track from DT measurements. More...
 
void estimatePtOverlap (const SegmentContainer &seg, const std::vector< int > &layers, double &pt, double &spt)
 Estimate transverse momentum of track from CSC + DT measurements. More...
 
void estimatePtShowering (int &NShowers, int &NShowerSeg, double &pt, double &spt)
 Estimate transverse momentum of track from showering segment. More...
 
void estimatePtSingle (const SegmentContainer &seg, const std::vector< int > &layers, double &pt, double &spt)
 Estimate transverse momentum of track from single segment. More...
 
std::vector< double > getPt (const std::vector< double > &vParameters, double eta, double dPhi)
 Compute pt from parameters. More...
 
double scaledPhi (double dphi, double t1)
 Scale the dPhi from segment position. More...
 
void weightedPt (const std::vector< double > &ptEstimate, const std::vector< double > &sptEstimate, double &ptAvg, double &sptAvg)
 Compute weighted mean pt from different pt estimators. More...
 

Private Attributes

const MagneticFieldBField
 
std::vector< double > CSC01
 
std::vector< double > CSC01_1
 
std::vector< double > CSC02
 
std::vector< double > CSC03
 
std::vector< double > CSC12
 
std::vector< double > CSC12_1
 
std::vector< double > CSC12_2
 
std::vector< double > CSC12_3
 
std::vector< double > CSC13
 
std::vector< double > CSC13_2
 
std::vector< double > CSC13_3
 
std::vector< double > CSC14
 
std::vector< double > CSC14_3
 
std::vector< double > CSC23
 
std::vector< double > CSC23_1
 
std::vector< double > CSC23_2
 
std::vector< double > CSC24
 
std::vector< double > CSC24_1
 
std::vector< double > CSC34
 
std::vector< double > CSC34_1
 
bool debug
 
float defaultMomentum
 
std::vector< double > DT12
 
std::vector< double > DT12_1
 
std::vector< double > DT12_2
 
std::vector< double > DT13
 
std::vector< double > DT13_1
 
std::vector< double > DT13_2
 
std::vector< double > DT14
 
std::vector< double > DT14_1
 
std::vector< double > DT14_2
 
std::vector< double > DT23
 
std::vector< double > DT23_1
 
std::vector< double > DT23_2
 
std::vector< double > DT24
 
std::vector< double > DT24_1
 
std::vector< double > DT24_2
 
std::vector< double > DT34
 
std::vector< double > DT34_1
 
std::vector< double > DT34_2
 
std::vector< double > OL1213
 
std::vector< double > OL1222
 
std::vector< double > OL1232
 
std::vector< double > OL2213
 
std::vector< double > OL2222
 
std::vector< double > OL_1213
 
std::vector< double > OL_1222
 
std::vector< double > OL_1232
 
std::vector< double > OL_2213
 
std::vector< double > OL_2222
 
std::vector< double > SMB10
 
std::vector< double > SMB11
 
std::vector< double > SMB12
 
std::vector< double > SMB20
 
std::vector< double > SMB21
 
std::vector< double > SMB22
 
std::vector< double > SMB30
 
std::vector< double > SMB31
 
std::vector< double > SMB32
 
std::vector< double > SMB_10S
 
std::vector< double > SMB_11S
 
std::vector< double > SMB_12S
 
std::vector< double > SMB_20S
 
std::vector< double > SMB_21S
 
std::vector< double > SMB_22S
 
std::vector< double > SMB_30S
 
std::vector< double > SMB_31S
 
std::vector< double > SMB_32S
 
std::vector< double > SME11
 
std::vector< double > SME12
 
std::vector< double > SME13
 
std::vector< double > SME21
 
std::vector< double > SME22
 
std::vector< double > SME31
 
std::vector< double > SME32
 
std::vector< double > SME41
 
std::vector< double > SME_11S
 
std::vector< double > SME_12S
 
std::vector< double > SME_13S
 
std::vector< double > SME_21S
 
std::vector< double > SME_22S
 
double sysError
 
float theMaxMomentum
 
float theMinMomentum
 

Detailed Description

Creates seed from vector of segment

Determine pt of seed using various combination of segments from different layers (stations) Parameterization used to determine pt between layers i and j:

pt = [ c_0 + c_1 * (Delta phi_ij) + c_2 * (Delta phi_ij)^2 ] / eta

Author
Dominique Fortin - UCR

Definition at line 30 of file MuonSeedCreator.h.

Member Typedef Documentation

Definition at line 34 of file MuonSeedCreator.h.

Constructor & Destructor Documentation

MuonSeedCreator::MuonSeedCreator ( const edm::ParameterSet pset)
explicit

Constructor.

See header file for a description of this class.

Author
: Shih-Chuan Kao, Dominique Fortin - UCR

Definition at line 37 of file MuonSeedCreator.cc.

MuonSeedCreator::~MuonSeedCreator ( )

Destructor.

Definition at line 141 of file MuonSeedCreator.cc.

Member Function Documentation

TrajectorySeed MuonSeedCreator::createSeed ( int  type,
const SegmentContainer seg,
const std::vector< int > &  layers,
int  NShower,
int  NShowerSeg 
)

Create a seed from set of segments.

get the Global position

get the Global direction

scale the magnitude of total momentum

Trasfer into local direction

get the Global position

get the Global direction

count the energy loss - from parameterization

scale the magnitude of total momentum

Trasfer into local direction

Definition at line 153 of file MuonSeedCreator.cc.

void MuonSeedCreator::estimatePtCSC ( const SegmentContainer seg,
const std::vector< int > &  layers,
double &  pt,
double &  spt 
)
private

Estimate transverse momentum of track from CSC measurements.

Definition at line 332 of file MuonSeedCreator.cc.

void MuonSeedCreator::estimatePtDT ( const SegmentContainer seg,
const std::vector< int > &  layers,
double &  pt,
double &  spt 
)
private

Estimate transverse momentum of track from DT measurements.

Definition at line 504 of file MuonSeedCreator.cc.

void MuonSeedCreator::estimatePtOverlap ( const SegmentContainer seg,
const std::vector< int > &  layers,
double &  pt,
double &  spt 
)
private

Estimate transverse momentum of track from CSC + DT measurements.

Definition at line 638 of file MuonSeedCreator.cc.

void MuonSeedCreator::estimatePtShowering ( int &  NShowers,
int &  NShowerSeg,
double &  pt,
double &  spt 
)
private

Estimate transverse momentum of track from showering segment.

Definition at line 901 of file MuonSeedCreator.cc.

void MuonSeedCreator::estimatePtSingle ( const SegmentContainer seg,
const std::vector< int > &  layers,
double &  pt,
double &  spt 
)
private

Estimate transverse momentum of track from single segment.

Definition at line 767 of file MuonSeedCreator.cc.

std::vector< double > MuonSeedCreator::getPt ( const std::vector< double > &  vParameters,
double  eta,
double  dPhi 
)
private

Compute pt from parameters.

Definition at line 992 of file MuonSeedCreator.cc.

double MuonSeedCreator::scaledPhi ( double  dphi,
double  t1 
)
private

Scale the dPhi from segment position.

Definition at line 1005 of file MuonSeedCreator.cc.

void MuonSeedCreator::setBField ( const MagneticField theField)
inline

Cache Magnetic Field for current event.

Definition at line 45 of file MuonSeedCreator.h.

References BField.

45 { BField = theField; };
const MagneticField * BField
void MuonSeedCreator::weightedPt ( const std::vector< double > &  ptEstimate,
const std::vector< double > &  sptEstimate,
double &  ptAvg,
double &  sptAvg 
)
private

Compute weighted mean pt from different pt estimators.

Definition at line 928 of file MuonSeedCreator.cc.

Member Data Documentation

const MagneticField* MuonSeedCreator::BField
private

Definition at line 90 of file MuonSeedCreator.h.

Referenced by setBField().

std::vector<double> MuonSeedCreator::CSC01
private

Definition at line 100 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::CSC01_1
private

Definition at line 137 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::CSC02
private

Definition at line 102 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::CSC03
private

Definition at line 104 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::CSC12
private

Definition at line 101 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::CSC12_1
private

Definition at line 138 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::CSC12_2
private

Definition at line 139 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::CSC12_3
private

Definition at line 140 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::CSC13
private

Definition at line 103 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::CSC13_2
private

Definition at line 141 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::CSC13_3
private

Definition at line 142 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::CSC14
private

Definition at line 105 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::CSC14_3
private

Definition at line 143 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::CSC23
private

Definition at line 106 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::CSC23_1
private

Definition at line 144 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::CSC23_2
private

Definition at line 145 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::CSC24
private

Definition at line 107 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::CSC24_1
private

Definition at line 146 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::CSC34
private

Definition at line 108 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::CSC34_1
private

Definition at line 147 of file MuonSeedCreator.h.

bool MuonSeedCreator::debug
private

Definition at line 87 of file MuonSeedCreator.h.

float MuonSeedCreator::defaultMomentum
private

Definition at line 81 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::DT12
private

Definition at line 93 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::DT12_1
private

Definition at line 149 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::DT12_2
private

Definition at line 150 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::DT13
private

Definition at line 94 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::DT13_1
private

Definition at line 151 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::DT13_2
private

Definition at line 152 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::DT14
private

Definition at line 95 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::DT14_1
private

Definition at line 153 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::DT14_2
private

Definition at line 154 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::DT23
private

Definition at line 96 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::DT23_1
private

Definition at line 155 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::DT23_2
private

Definition at line 156 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::DT24
private

Definition at line 97 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::DT24_1
private

Definition at line 157 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::DT24_2
private

Definition at line 158 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::DT34
private

Definition at line 98 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::DT34_1
private

Definition at line 159 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::DT34_2
private

Definition at line 160 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::OL1213
private

Definition at line 110 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::OL1222
private

Definition at line 111 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::OL1232
private

Definition at line 112 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::OL2213
private

Definition at line 113 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::OL2222
private

Definition at line 114 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::OL_1213
private

Definition at line 162 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::OL_1222
private

Definition at line 163 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::OL_1232
private

Definition at line 164 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::OL_2213
private

Definition at line 165 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::OL_2222
private

Definition at line 166 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::SMB10
private

Definition at line 125 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::SMB11
private

Definition at line 126 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::SMB12
private

Definition at line 127 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::SMB20
private

Definition at line 128 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::SMB21
private

Definition at line 129 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::SMB22
private

Definition at line 130 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::SMB30
private

Definition at line 131 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::SMB31
private

Definition at line 132 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::SMB32
private

Definition at line 133 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::SMB_10S
private

Definition at line 168 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::SMB_11S
private

Definition at line 169 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::SMB_12S
private

Definition at line 170 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::SMB_20S
private

Definition at line 171 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::SMB_21S
private

Definition at line 172 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::SMB_22S
private

Definition at line 173 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::SMB_30S
private

Definition at line 174 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::SMB_31S
private

Definition at line 175 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::SMB_32S
private

Definition at line 176 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::SME11
private

Definition at line 116 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::SME12
private

Definition at line 117 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::SME13
private

Definition at line 118 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::SME21
private

Definition at line 119 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::SME22
private

Definition at line 120 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::SME31
private

Definition at line 121 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::SME32
private

Definition at line 122 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::SME41
private

Definition at line 123 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::SME_11S
private

Definition at line 178 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::SME_12S
private

Definition at line 179 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::SME_13S
private

Definition at line 180 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::SME_21S
private

Definition at line 181 of file MuonSeedCreator.h.

std::vector<double> MuonSeedCreator::SME_22S
private

Definition at line 182 of file MuonSeedCreator.h.

double MuonSeedCreator::sysError
private

Definition at line 84 of file MuonSeedCreator.h.

float MuonSeedCreator::theMaxMomentum
private

Definition at line 80 of file MuonSeedCreator.h.

float MuonSeedCreator::theMinMomentum
private

Definition at line 79 of file MuonSeedCreator.h.