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 | 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 (const TrajectoryStateOnSurface *, const TransientTrackingRecHit *)=0
 
AlignableDetOrUnitPtr chamberAlignable () const
 
DetId chamberId () 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, const 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_chi2
 
edm::ESHandle
< GlobalTrackingGeometry
m_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 24 of file MuonChamberResidual.h.

Member Enumeration Documentation

anonymous enum
Enumerator
kDT13 
kDT2 
kCSC 

Definition at line 28 of file MuonChamberResidual.h.

Constructor & Destructor Documentation

MuonChamberResidual::MuonChamberResidual ( edm::ESHandle< GlobalTrackingGeometry globalGeometry,
AlignableNavigator navigator,
DetId  chamberId,
const 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 {}
AlignableNavigator * m_navigator
AlignableDetOrUnitPtr m_chamberAlignable
edm::ESHandle< GlobalTrackingGeometry > m_globalGeometry
virtual MuonChamberResidual::~MuonChamberResidual ( )
inlinevirtual

Definition at line 37 of file MuonChamberResidual.h.

37 {}

Member Function Documentation

virtual void MuonChamberResidual::addResidual ( const TrajectoryStateOnSurface ,
const TransientTrackingRecHit  
)
pure virtual
AlignableDetOrUnitPtr MuonChamberResidual::chamberAlignable ( ) const
inline
DetId MuonChamberResidual::chamberId ( ) const
inline

Definition at line 49 of file MuonChamberResidual.h.

References m_chamberId.

49 { return m_chamberId; }
double MuonChamberResidual::chi2 ( ) const
inline
double MuonChamberResidual::global_hitresid ( int  i) const

Definition at line 66 of file MuonChamberResidual.cc.

References hitresid(), and signConvention().

67 {
68  return hitresid(i) * signConvention();
69 }
int i
Definition: DBlmapReader.cc:9
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 48 of file MuonChamberResidual.cc.

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

Referenced by AlignmentMonitorMuonSystemMap1D::processMuonResidualsFromTrack().

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

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

Referenced by AlignmentMonitorMuonSystemMap1D::processMuonResidualsFromTrack().

43 {
45 }
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:131
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 79 of file MuonChamberResidual.cc.

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

80 { // only difference between DTs and CSCs is the DetId subclass
81  assert(0 <= i && i < int(m_localIDs.size()));
83  DTLayerId layerId(m_localIDs[i].rawId());
84  return 4*(layerId.superlayer() - 1) + layerId.layer();
85  }
86  else if (m_chamberId.subdetId() == MuonSubdetId::CSC) {
87  CSCDetId layerId(m_localIDs[i].rawId());
88  return layerId.layer();
89  }
90  else assert(false);
91 }
int i
Definition: DBlmapReader.cc:9
assert(m_qm.get())
static const int CSC
Definition: MuonSubdetId.h:13
std::vector< DetId > m_localIDs
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:37
static const int DT
Definition: MuonSubdetId.h:12
double MuonChamberResidual::hitposition ( int  i) const

Definition at line 94 of file MuonChamberResidual.cc.

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

95 {
96  assert(0 <= i && i < int(m_localIDs.size()));
98  align::GlobalPoint pos = m_globalGeometry->idToDet(m_localIDs[i])->position();
99  return sqrt(pow(pos.x(), 2) + pow(pos.y(), 2)); // R for DTs
100  }
101  else if (m_chamberId.subdetId() == MuonSubdetId::CSC) {
102  return m_globalGeometry->idToDet(m_localIDs[i])->position().z(); // Z for CSCs
103  }
104  else assert(false);
105 }
int i
Definition: DBlmapReader.cc:9
assert(m_qm.get())
T y() const
Definition: PV3DBase.h:63
static const int CSC
Definition: MuonSubdetId.h:13
std::vector< DetId > m_localIDs
T sqrt(T t)
Definition: SSEVec.h:48
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:37
edm::ESHandle< GlobalTrackingGeometry > m_globalGeometry
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 72 of file MuonChamberResidual.cc.

References assert(), i, m_localIDs, and m_localResids.

Referenced by global_hitresid().

73 {
74  assert(0 <= i && i < int(m_localIDs.size()));
75  return m_localResids[i];
76 }
int i
Definition: DBlmapReader.cc:9
assert(m_qm.get())
std::vector< DetId > m_localIDs
std::vector< double > m_localResids
DetId MuonChamberResidual::localid ( int  i) const
inline

Definition at line 83 of file MuonChamberResidual.h.

References i, and m_localIDs.

83 { return m_localIDs[i]; }
int i
Definition: DBlmapReader.cc:9
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 56 of file MuonChamberResidual.h.

References m_residual_error.

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

Definition at line 58 of file MuonChamberResidual.h.

References m_resslope_error.

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

Definition at line 68 of file MuonChamberResidual.h.

References m_segdxdz.

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

Definition at line 69 of file MuonChamberResidual.h.

References m_segdydz.

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

Definition at line 70 of file MuonChamberResidual.h.

References m_segx.

Referenced by global_stubpos().

70 { return m_segx; }
double MuonChamberResidual::segy ( ) const
inline

Definition at line 71 of file MuonChamberResidual.h.

References m_segy.

Referenced by global_stubpos().

71 { return m_segy; }
virtual void MuonChamberResidual::setSegmentResidual ( const reco::MuonChamberMatch ,
const reco::MuonSegmentMatch  
)
pure virtual
virtual double MuonChamberResidual::signConvention ( ) const
inlinevirtual

Definition at line 47 of file MuonChamberResidual.h.

References m_sign.

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

47 {return m_sign; }
double MuonChamberResidual::trackdxdz ( ) const
inline

Definition at line 63 of file MuonChamberResidual.h.

References m_trackdxdz.

Referenced by MuonAlignmentFromReference::processMuonResidualsFromTrack().

63 { return m_trackdxdz; }
double MuonChamberResidual::trackdydz ( ) const
inline

Definition at line 64 of file MuonChamberResidual.h.

References m_trackdydz.

Referenced by MuonAlignmentFromReference::processMuonResidualsFromTrack().

64 { return m_trackdydz; }
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_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 87 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