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
Enumerator
kDT13 
kDT2 
kCSC 

Definition at line 30 of file MuonChamberResidual.h.

Constructor & Destructor Documentation

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

Definition at line 14 of file MuonChamberResidual.cc.

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

Definition at line 39 of file MuonChamberResidual.h.

References addResidual(), and setSegmentResidual().

39 {}

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 51 of file MuonChamberResidual.h.

References m_chamberId.

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

Definition at line 71 of file MuonChamberResidual.h.

References m_Chambl.

Referenced by MuonAlignmentFromReference::processMuonResidualsFromTrack().

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

Definition at line 70 of file MuonChamberResidual.h.

References m_ChambW.

Referenced by MuonAlignmentFromReference::processMuonResidualsFromTrack().

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

Definition at line 68 of file MuonChamberResidual.cc.

References hitresid(), and signConvention().

Referenced by segy().

69 {
70  return hitresid(i) * signConvention();
71 }
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 50 of file MuonChamberResidual.cc.

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

Referenced by AlignmentMonitorMuonSystemMap1D::processMuonResidualsFromTrack(), and segy().

51 {
53 }
AlignableDetOrUnitPtr chamberAlignable() const
const AlignableSurface & surface() const
Return the Surface (global position and orientation) of the object.
Definition: Alignable.h:135
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 44 of file MuonChamberResidual.cc.

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

Referenced by AlignmentMonitorMuonSystemMap1D::processMuonResidualsFromTrack(), and segy().

45 {
47 }
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:135
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 81 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().

82 { // only difference between DTs and CSCs is the DetId subclass
83  assert(0 <= i && i < int(m_localIDs.size()));
85  DTLayerId layerId(m_localIDs[i].rawId());
86  return 4*(layerId.superlayer() - 1) + layerId.layer();
87  }
88  else if (m_chamberId.subdetId() == MuonSubdetId::CSC) {
89  CSCDetId layerId(m_localIDs[i].rawId());
90  return layerId.layer();
91  }
92  else assert(false);
93 }
static const int CSC
Definition: MuonSubdetId.h:13
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:41
static const int DT
Definition: MuonSubdetId.h:12
double MuonChamberResidual::hitposition ( int  i) const

Definition at line 96 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().

97 {
98  assert(0 <= i && i < int(m_localIDs.size()));
101  return sqrt(pow(pos.x(), 2) + pow(pos.y(), 2)); // R for DTs
102  }
103  else if (m_chamberId.subdetId() == MuonSubdetId::CSC) {
104  return m_globalGeometry->idToDet(m_localIDs[i])->position().z(); // Z for CSCs
105  }
106  else assert(false);
107 }
T y() const
Definition: PV3DBase.h:63
static const int CSC
Definition: MuonSubdetId.h:13
std::vector< DetId > m_localIDs
const Surface::PositionType & position() const
The position (origin of the R.F.)
Definition: GeomDet.h:48
T sqrt(T t)
Definition: SSEVec.h:18
T z() const
Definition: PV3DBase.h:64
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:41
edm::ESHandle< GlobalTrackingGeometry > m_globalGeometry
const GeomDet * idToDet(DetId) const override
static const int DT
Definition: MuonSubdetId.h:12
T x() const
Definition: PV3DBase.h:62
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
double MuonChamberResidual::hitresid ( int  i) const

Definition at line 74 of file MuonChamberResidual.cc.

References mps_fire::i, m_localIDs, and m_localResids.

Referenced by global_hitresid(), and segy().

75 {
76  assert(0 <= i && i < int(m_localIDs.size()));
77  return m_localResids[i];
78 }
std::vector< DetId > m_localIDs
std::vector< double > m_localResids
DetId MuonChamberResidual::localid ( int  i) const
inline

Definition at line 89 of file MuonChamberResidual.h.

References mps_fire::i, and m_localIDs.

89 { 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 58 of file MuonChamberResidual.h.

References m_residual_error.

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

Definition at line 60 of file MuonChamberResidual.h.

References m_resslope_error.

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

Definition at line 73 of file MuonChamberResidual.h.

References m_segdxdz.

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

Definition at line 74 of file MuonChamberResidual.h.

References m_segdydz.

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

Definition at line 75 of file MuonChamberResidual.h.

References m_segx.

Referenced by global_stubpos().

75 { 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 49 of file MuonChamberResidual.h.

References m_sign.

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

49 {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 121 of file MuonChamberResidual.h.

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

double MuonChamberResidual::m_ChambW
protected

Definition at line 120 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 93 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