CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Protected Attributes
MuonChamberResidual Class Referenceabstract

#include <MuonChamberResidual.h>

Inheritance diagram for MuonChamberResidual:
MuonHitsChamberResidual MuonTrackCSCChamberResidual MuonTrackDT13ChamberResidual MuonTrackDT2ChamberResidual MuonCSCChamberResidual MuonDT13ChamberResidual MuonDT2ChamberResidual

Public Types

enum  { kDT13, kDT2, kCSC }
 

Public Member Functions

virtual void addResidual (edm::ESHandle< Propagator > prop, const TrajectoryStateOnSurface *, const TrackingRecHit *, double, double)=0
 
AlignableDetOrUnitPtr chamberAlignable () const
 
DetId chamberId () const
 
double Chambl () const
 
double ChambW () const
 
double chi2 () const
 
double global_hitresid (int i) const
 
double global_residual () const
 
double global_resslope () const
 
align::GlobalPoint global_stubpos ()
 
align::GlobalPoint global_trackpos ()
 
int hitlayer (int i) const
 
double hitposition (int i) const
 
double hitresid (int i) const
 
DetId localid (int i) const
 
 MuonChamberResidual (edm::ESHandle< GlobalTrackingGeometry > globalGeometry, AlignableNavigator *navigator, DetId chamberId, AlignableDetOrUnitPtr chamberAlignable)
 
int ndof () const
 
int numHits () const
 
double residual () const
 
double residual_error () const
 
double resslope () const
 
double resslope_error () const
 
double segdxdz () const
 
double segdydz () const
 
double segx () const
 
double segy () const
 
virtual void setSegmentResidual (const reco::MuonChamberMatch *, const reco::MuonSegmentMatch *)=0
 
virtual double signConvention () const
 
double trackdxdz () const
 
double trackdydz () const
 
double trackx () const
 
double tracky () const
 
int type () const
 
virtual ~MuonChamberResidual ()
 

Protected Attributes

AlignableDetOrUnitPtr m_chamberAlignable
 
DetId m_chamberId
 
double m_Chambl
 
double m_ChambW
 
double m_chi2
 
edm::ESHandle< GlobalTrackingGeometrym_globalGeometry
 
std::vector< double > m_individual_weight
 
std::vector< double > m_individual_x
 
std::vector< double > m_individual_y
 
std::vector< DetIdm_localIDs
 
std::vector< double > m_localResids
 
AlignableNavigatorm_navigator
 
int m_ndof
 
int m_numHits
 
double m_residual
 
double m_residual_error
 
double m_resslope
 
double m_resslope_error
 
double m_segdxdz
 
double m_segdydz
 
double m_segx
 
double m_segy
 
double m_sign
 
double m_trackdxdz
 
double m_trackdydz
 
double m_trackx
 
double m_tracky
 
int m_type
 

Detailed Description

Abstract base class for muon chamber residulas

Id
Author
J. Pivarski - Texas A&M University pivar.nosp@m.ski@.nosp@m.physi.nosp@m.cs.t.nosp@m.amu.e.nosp@m.du
Id
Author
V. Khotilovich - Texas A&M University khoti.nosp@m.lov@.nosp@m.cern..nosp@m.ch

Definition at line 26 of file MuonChamberResidual.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

Constructor & Destructor Documentation

◆ MuonChamberResidual()

MuonChamberResidual::MuonChamberResidual ( edm::ESHandle< GlobalTrackingGeometry globalGeometry,
AlignableNavigator navigator,
DetId  chamberId,
AlignableDetOrUnitPtr  chamberAlignable 
)

Definition at line 13 of file MuonChamberResidual.cc.

17  : m_globalGeometry(globalGeometry),
21  m_numHits(0),
22  m_type(-1),
23  m_sign(0.),
24  m_chi2(-999.),
25  m_ndof(-1),
26  m_residual(-999.),
27  m_residual_error(-999.),
28  m_resslope(-999.),
29  m_resslope_error(-999.),
30  m_trackdxdz(-999.),
31  m_trackdydz(-999.),
32  m_trackx(-999.),
33  m_tracky(-999.),
34  m_segdxdz(-999.),
35  m_segdydz(-999.),
36  m_segx(-999.),
37  m_segy(-999.),
38  m_ChambW(-999),
39  m_Chambl(-999) {}
AlignableNavigator * m_navigator
AlignableDetOrUnitPtr m_chamberAlignable
edm::ESHandle< GlobalTrackingGeometry > m_globalGeometry
AlignableDetOrUnitPtr chamberAlignable() const

◆ ~MuonChamberResidual()

virtual MuonChamberResidual::~MuonChamberResidual ( )
inlinevirtual

Definition at line 35 of file MuonChamberResidual.h.

35 {}

Member Function Documentation

◆ addResidual()

virtual void MuonChamberResidual::addResidual ( edm::ESHandle< Propagator prop,
const TrajectoryStateOnSurface ,
const TrackingRecHit ,
double  ,
double   
)
pure virtual

◆ chamberAlignable()

AlignableDetOrUnitPtr MuonChamberResidual::chamberAlignable ( ) const
inline

◆ chamberId()

DetId MuonChamberResidual::chamberId ( ) const
inline

Definition at line 48 of file MuonChamberResidual.h.

References m_chamberId.

48 { return m_chamberId; }

◆ Chambl()

double MuonChamberResidual::Chambl ( ) const
inline

Definition at line 68 of file MuonChamberResidual.h.

References m_Chambl.

Referenced by MuonAlignmentFromReference::processMuonResidualsFromTrack().

68 { return m_Chambl; }

◆ ChambW()

double MuonChamberResidual::ChambW ( ) const
inline

Definition at line 67 of file MuonChamberResidual.h.

References m_ChambW.

Referenced by MuonAlignmentFromReference::processMuonResidualsFromTrack().

67 { return m_ChambW; }

◆ chi2()

double MuonChamberResidual::chi2 ( ) const
inline

◆ global_hitresid()

double MuonChamberResidual::global_hitresid ( int  i) const

Definition at line 53 of file MuonChamberResidual.cc.

References hitresid(), mps_fire::i, and signConvention().

53 { return hitresid(i) * signConvention(); }
virtual double signConvention() const
double hitresid(int i) const

◆ global_residual()

double MuonChamberResidual::global_residual ( ) const

◆ global_resslope()

double MuonChamberResidual::global_resslope ( ) const

◆ global_stubpos()

align::GlobalPoint MuonChamberResidual::global_stubpos ( )

Definition at line 45 of file MuonChamberResidual.cc.

References chamberAlignable(), segx(), segy(), Alignable::surface(), and AlignableSurface::toGlobal().

Referenced by AlignmentMonitorMuonSystemMap1D::processMuonResidualsFromTrack().

45  {
47 }
align::GlobalPoints toGlobal(const align::LocalPoints &) const
Return in global coord given a set of local points.
const AlignableSurface & surface() const
Return the Surface (global position and orientation) of the object.
Definition: Alignable.h:132
AlignableDetOrUnitPtr chamberAlignable() const

◆ global_trackpos()

align::GlobalPoint MuonChamberResidual::global_trackpos ( )

Definition at line 41 of file MuonChamberResidual.cc.

References chamberAlignable(), Alignable::surface(), AlignableSurface::toGlobal(), trackx(), and tracky().

Referenced by AlignmentMonitorMuonSystemMap1D::processMuonResidualsFromTrack().

41  {
43 }
align::GlobalPoints toGlobal(const align::LocalPoints &) const
Return in global coord given a set of local points.
const AlignableSurface & surface() const
Return the Surface (global position and orientation) of the object.
Definition: Alignable.h:132
AlignableDetOrUnitPtr chamberAlignable() const

◆ hitlayer()

int MuonChamberResidual::hitlayer ( int  i) const

Definition at line 60 of file MuonChamberResidual.cc.

References cms::cuda::assert(), MuonSubdetId::CSC, MuonSubdetId::DT, mps_fire::i, DTLayerId::layer(), CSCDetId::layer(), m_chamberId, m_localIDs, nano_mu_digi_cff::rawId, DetId::subdetId(), and DTSuperLayerId::superlayer().

60  { // only difference between DTs and CSCs is the DetId subclass
61  assert(0 <= i && i < int(m_localIDs.size()));
63  DTLayerId layerId(m_localIDs[i].rawId());
64  return 4 * (layerId.superlayer() - 1) + layerId.layer();
65  } else if (m_chamberId.subdetId() == MuonSubdetId::CSC) {
66  CSCDetId layerId(m_localIDs[i].rawId());
67  return layerId.layer();
68  } else
69  assert(false);
70 }
assert(be >=bs)
std::vector< DetId > m_localIDs
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:48
static constexpr int DT
Definition: MuonSubdetId.h:11
static constexpr int CSC
Definition: MuonSubdetId.h:12

◆ hitposition()

double MuonChamberResidual::hitposition ( int  i) const

Definition at line 72 of file MuonChamberResidual.cc.

References cms::cuda::assert(), MuonSubdetId::CSC, MuonSubdetId::DT, mps_fire::i, GlobalTrackingGeometry::idToDet(), m_chamberId, m_globalGeometry, m_localIDs, GeomDet::position(), funct::pow(), mathSSE::sqrt(), DetId::subdetId(), and PV3DBase< T, PVType, FrameType >::z().

72  {
73  assert(0 <= i && i < int(m_localIDs.size()));
76  return sqrt(pow(pos.x(), 2) + pow(pos.y(), 2)); // R for DTs
77  } else if (m_chamberId.subdetId() == MuonSubdetId::CSC) {
78  return m_globalGeometry->idToDet(m_localIDs[i])->position().z(); // Z for CSCs
79  } else
80  assert(false);
81 }
T z() const
Definition: PV3DBase.h:61
assert(be >=bs)
const GeomDet * idToDet(DetId) const override
std::vector< DetId > m_localIDs
T sqrt(T t)
Definition: SSEVec.h:23
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:48
const Surface::PositionType & position() const
The position (origin of the R.F.)
Definition: GeomDet.h:43
edm::ESHandle< GlobalTrackingGeometry > m_globalGeometry
static constexpr int DT
Definition: MuonSubdetId.h:11
static constexpr int CSC
Definition: MuonSubdetId.h:12
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:29

◆ hitresid()

double MuonChamberResidual::hitresid ( int  i) const

Definition at line 55 of file MuonChamberResidual.cc.

References cms::cuda::assert(), mps_fire::i, m_localIDs, and m_localResids.

Referenced by global_hitresid().

55  {
56  assert(0 <= i && i < int(m_localIDs.size()));
57  return m_localResids[i];
58 }
assert(be >=bs)
std::vector< DetId > m_localIDs
std::vector< double > m_localResids

◆ localid()

DetId MuonChamberResidual::localid ( int  i) const
inline

Definition at line 85 of file MuonChamberResidual.h.

References mps_fire::i, and m_localIDs.

85 { return m_localIDs[i]; }
std::vector< DetId > m_localIDs

◆ ndof()

int MuonChamberResidual::ndof ( ) const
inline

◆ numHits()

int MuonChamberResidual::numHits ( ) const
inline

◆ residual()

double MuonChamberResidual::residual ( ) const
inline

◆ residual_error()

double MuonChamberResidual::residual_error ( ) const
inline

Definition at line 55 of file MuonChamberResidual.h.

References m_residual_error.

55 { return m_residual_error; }

◆ resslope()

double MuonChamberResidual::resslope ( ) const
inline

◆ resslope_error()

double MuonChamberResidual::resslope_error ( ) const
inline

Definition at line 57 of file MuonChamberResidual.h.

References m_resslope_error.

57 { return m_resslope_error; }

◆ segdxdz()

double MuonChamberResidual::segdxdz ( ) const
inline

Definition at line 70 of file MuonChamberResidual.h.

References m_segdxdz.

70 { return m_segdxdz; }

◆ segdydz()

double MuonChamberResidual::segdydz ( ) const
inline

Definition at line 71 of file MuonChamberResidual.h.

References m_segdydz.

71 { return m_segdydz; }

◆ segx()

double MuonChamberResidual::segx ( ) const
inline

Definition at line 72 of file MuonChamberResidual.h.

References m_segx.

Referenced by global_stubpos().

72 { return m_segx; }

◆ segy()

double MuonChamberResidual::segy ( ) const
inline

Definition at line 73 of file MuonChamberResidual.h.

References m_segy.

Referenced by global_stubpos().

73 { return m_segy; }

◆ setSegmentResidual()

virtual void MuonChamberResidual::setSegmentResidual ( const reco::MuonChamberMatch ,
const reco::MuonSegmentMatch  
)
pure virtual

◆ signConvention()

virtual double MuonChamberResidual::signConvention ( ) const
inlinevirtual

Definition at line 46 of file MuonChamberResidual.h.

References m_sign.

Referenced by global_hitresid(), global_residual(), and global_resslope().

46 { return m_sign; }

◆ trackdxdz()

double MuonChamberResidual::trackdxdz ( ) const
inline

◆ trackdydz()

double MuonChamberResidual::trackdydz ( ) const
inline

◆ trackx()

double MuonChamberResidual::trackx ( ) const
inline

◆ tracky()

double MuonChamberResidual::tracky ( ) const
inline

◆ type()

int MuonChamberResidual::type ( ) const
inline

Definition at line 44 of file MuonChamberResidual.h.

References m_type.

44 { return m_type; }

Member Data Documentation

◆ m_chamberAlignable

AlignableDetOrUnitPtr MuonChamberResidual::m_chamberAlignable
protected

◆ m_chamberId

DetId MuonChamberResidual::m_chamberId
protected

◆ m_Chambl

double MuonChamberResidual::m_Chambl
protected

Definition at line 117 of file MuonChamberResidual.h.

Referenced by Chambl(), and MuonHitsChamberResidual::segment_fit().

◆ m_ChambW

double MuonChamberResidual::m_ChambW
protected

Definition at line 116 of file MuonChamberResidual.h.

Referenced by ChambW(), and MuonHitsChamberResidual::segment_fit().

◆ m_chi2

double MuonChamberResidual::m_chi2
protected

◆ m_globalGeometry

edm::ESHandle<GlobalTrackingGeometry> MuonChamberResidual::m_globalGeometry
protected

◆ m_individual_weight

std::vector<double> MuonChamberResidual::m_individual_weight
protected

◆ m_individual_x

std::vector<double> MuonChamberResidual::m_individual_x
protected

◆ m_individual_y

std::vector<double> MuonChamberResidual::m_individual_y
protected

◆ m_localIDs

std::vector<DetId> MuonChamberResidual::m_localIDs
protected

◆ m_localResids

std::vector<double> MuonChamberResidual::m_localResids
protected

◆ m_navigator

AlignableNavigator* MuonChamberResidual::m_navigator
protected

Definition at line 89 of file MuonChamberResidual.h.

◆ m_ndof

int MuonChamberResidual::m_ndof
protected

◆ m_numHits

int MuonChamberResidual::m_numHits
protected

◆ m_residual

double MuonChamberResidual::m_residual
protected

◆ m_residual_error

double MuonChamberResidual::m_residual_error
protected

◆ m_resslope

double MuonChamberResidual::m_resslope
protected

◆ m_resslope_error

double MuonChamberResidual::m_resslope_error
protected

◆ m_segdxdz

double MuonChamberResidual::m_segdxdz
protected

◆ m_segdydz

double MuonChamberResidual::m_segdydz
protected

◆ m_segx

double MuonChamberResidual::m_segx
protected

◆ m_segy

double MuonChamberResidual::m_segy
protected

◆ m_sign

double MuonChamberResidual::m_sign
protected

◆ m_trackdxdz

double MuonChamberResidual::m_trackdxdz
protected

◆ m_trackdydz

double MuonChamberResidual::m_trackdydz
protected

◆ m_trackx

double MuonChamberResidual::m_trackx
protected

◆ m_tracky

double MuonChamberResidual::m_tracky
protected

◆ m_type

int MuonChamberResidual::m_type
protected