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

Constructor & Destructor Documentation

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

Definition at line 13 of file MuonChamberResidual.cc.

17  : m_globalGeometry(globalGeometry),
18  m_navigator(navigator),
19  m_chamberId(chamberId),
20  m_chamberAlignable(chamberAlignable),
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
virtual MuonChamberResidual::~MuonChamberResidual ( )
inlinevirtual

Definition at line 35 of file MuonChamberResidual.h.

References addResidual(), and setSegmentResidual().

35 {}

Member Function Documentation

virtual void MuonChamberResidual::addResidual ( edm::ESHandle< Propagator prop,
const TrajectoryStateOnSurface ,
const TrackingRecHit ,
double  ,
double   
)
pure virtual
AlignableDetOrUnitPtr MuonChamberResidual::chamberAlignable ( ) const
inline
DetId MuonChamberResidual::chamberId ( ) const
inline

Definition at line 48 of file MuonChamberResidual.h.

References m_chamberId.

48 { return m_chamberId; }
double MuonChamberResidual::Chambl ( ) const
inline

Definition at line 68 of file MuonChamberResidual.h.

References m_Chambl.

Referenced by MuonAlignmentFromReference::processMuonResidualsFromTrack().

68 { return m_Chambl; }
double MuonChamberResidual::ChambW ( ) const
inline

Definition at line 67 of file MuonChamberResidual.h.

References m_ChambW.

Referenced by MuonAlignmentFromReference::processMuonResidualsFromTrack().

67 { return m_ChambW; }
double MuonChamberResidual::chi2 ( ) const
inline
double MuonChamberResidual::global_hitresid ( int  i) const

Definition at line 53 of file MuonChamberResidual.cc.

References hitresid(), and signConvention().

Referenced by segy().

53 { return hitresid(i) * signConvention(); }
double hitresid(int i) const
virtual double signConvention() const
double MuonChamberResidual::global_residual ( ) const
double MuonChamberResidual::global_resslope ( ) const
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(), and segy().

45  {
47 }
AlignableDetOrUnitPtr chamberAlignable() const
const AlignableSurface & surface() const
Return the Surface (global position and orientation) of the object.
Definition: Alignable.h:132
align::GlobalPoints toGlobal(const align::LocalPoints &) const
Return in global coord given a set of local points.
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(), and segy().

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

Definition at line 60 of file MuonChamberResidual.cc.

References MuonSubdetId::CSC, MuonSubdetId::DT, DTLayerId::layer(), CSCDetId::layer(), m_chamberId, m_localIDs, DetId::subdetId(), and DTSuperLayerId::superlayer().

Referenced by segy().

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 }
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
double MuonChamberResidual::hitposition ( int  i) const

Definition at line 72 of file MuonChamberResidual.cc.

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

Referenced by segy().

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 y() const
Definition: PV3DBase.h:60
std::vector< DetId > m_localIDs
const Surface::PositionType & position() const
The position (origin of the R.F.)
Definition: GeomDet.h:43
T sqrt(T t)
Definition: SSEVec.h:19
T z() const
Definition: PV3DBase.h:61
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:48
edm::ESHandle< GlobalTrackingGeometry > m_globalGeometry
const GeomDet * idToDet(DetId) const override
static constexpr int DT
Definition: MuonSubdetId.h:11
static constexpr int CSC
Definition: MuonSubdetId.h:12
T x() const
Definition: PV3DBase.h:59
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:30
double MuonChamberResidual::hitresid ( int  i) const

Definition at line 55 of file MuonChamberResidual.cc.

References mps_fire::i, m_localIDs, and m_localResids.

Referenced by global_hitresid(), and segy().

55  {
56  assert(0 <= i && i < int(m_localIDs.size()));
57  return m_localResids[i];
58 }
std::vector< DetId > m_localIDs
std::vector< double > m_localResids
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
int MuonChamberResidual::ndof ( ) const
inline
int MuonChamberResidual::numHits ( ) const
inline
double MuonChamberResidual::residual ( ) const
inline
double MuonChamberResidual::residual_error ( ) const
inline

Definition at line 55 of file MuonChamberResidual.h.

References m_residual_error.

55 { return m_residual_error; }
double MuonChamberResidual::resslope ( ) const
inline
double MuonChamberResidual::resslope_error ( ) const
inline

Definition at line 57 of file MuonChamberResidual.h.

References m_resslope_error.

57 { return m_resslope_error; }
double MuonChamberResidual::segdxdz ( ) const
inline

Definition at line 70 of file MuonChamberResidual.h.

References m_segdxdz.

70 { return m_segdxdz; }
double MuonChamberResidual::segdydz ( ) const
inline

Definition at line 71 of file MuonChamberResidual.h.

References m_segdydz.

71 { return m_segdydz; }
double MuonChamberResidual::segx ( ) const
inline

Definition at line 72 of file MuonChamberResidual.h.

References m_segx.

Referenced by global_stubpos().

72 { return m_segx; }
double MuonChamberResidual::segy ( ) const
inline
virtual void MuonChamberResidual::setSegmentResidual ( const reco::MuonChamberMatch ,
const reco::MuonSegmentMatch  
)
pure virtual
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; }
double MuonChamberResidual::trackdxdz ( ) const
inline
double MuonChamberResidual::trackdydz ( ) const
inline
double MuonChamberResidual::trackx ( ) const
inline
double MuonChamberResidual::tracky ( ) const
inline
int MuonChamberResidual::type ( ) const
inline

Member Data Documentation

AlignableDetOrUnitPtr MuonChamberResidual::m_chamberAlignable
protected
DetId MuonChamberResidual::m_chamberId
protected
double MuonChamberResidual::m_Chambl
protected

Definition at line 117 of file MuonChamberResidual.h.

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

double MuonChamberResidual::m_ChambW
protected

Definition at line 116 of file MuonChamberResidual.h.

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

double MuonChamberResidual::m_chi2
protected
edm::ESHandle<GlobalTrackingGeometry> MuonChamberResidual::m_globalGeometry
protected
std::vector<double> MuonChamberResidual::m_individual_weight
protected
std::vector<double> MuonChamberResidual::m_individual_x
protected
std::vector<double> MuonChamberResidual::m_individual_y
protected
std::vector<DetId> MuonChamberResidual::m_localIDs
protected
std::vector<double> MuonChamberResidual::m_localResids
protected
AlignableNavigator* MuonChamberResidual::m_navigator
protected

Definition at line 89 of file MuonChamberResidual.h.

int MuonChamberResidual::m_ndof
protected
int MuonChamberResidual::m_numHits
protected
double MuonChamberResidual::m_residual
protected
double MuonChamberResidual::m_residual_error
protected
double MuonChamberResidual::m_resslope
protected
double MuonChamberResidual::m_resslope_error
protected
double MuonChamberResidual::m_segdxdz
protected
double MuonChamberResidual::m_segdydz
protected
double MuonChamberResidual::m_segx
protected
double MuonChamberResidual::m_segy
protected
double MuonChamberResidual::m_sign
protected
double MuonChamberResidual::m_trackdxdz
protected
double MuonChamberResidual::m_trackdydz
protected
double MuonChamberResidual::m_trackx
protected
double MuonChamberResidual::m_tracky
protected
int MuonChamberResidual::m_type
protected