CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
List of all members | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
GEMCSCSegFit Class Reference

#include <GEMCSCSegFit.h>

Public Types

typedef ROOT::Math::SMatrix< double, 16, 4 > SMatrix16by4
 
typedef ROOT::Math::SMatrix< double, 4 > SMatrix4
 
typedef ROOT::Math::SMatrix< double, 16, 16, ROOT::Math::MatRepSym< double, 16 > > SMatrixSym16
 
typedef ROOT::Math::SMatrix< double, 2, 2, ROOT::Math::MatRepSym< double, 2 > > SMatrixSym2
 
typedef ROOT::Math::SMatrix< double, 4, 4, ROOT::Math::MatRepSym< double, 4 > > SMatrixSym4
 
typedef ROOT::Math::SVector< double, 4 > SVector4
 

Public Member Functions

double chi2 (void) const
 
AlgebraicSymMatrix covarianceMatrix (void)
 
const CSCChambercscchamber (uint32_t id) const
 
const CSCLayercsclayer (uint32_t id) const
 
void fit (void)
 
bool fitdone () const
 
 GEMCSCSegFit (std::map< uint32_t, const CSCLayer *> csclayermap, std::map< uint32_t, const GEMEtaPartition *> gemrollmap, const std::vector< const TrackingRecHit *> hits)
 
const GEMEtaPartitiongemetapartition (uint32_t id) const
 
std::vector< const TrackingRecHit * > hits (void) const
 
LocalPoint intercept () const
 
LocalVector localdir () const
 
int ndof (void) const
 
size_t nhits (void) const
 
float Rdev (float x, float y, float z) const
 
const CSCChamberrefcscchamber () const
 
double scaleXError (void) const
 
void setScaleXError (double factor)
 
float xdev (float x, float z) const
 
float xfit (float z) const
 
float ydev (float y, float z) const
 
float yfit (float z) const
 
virtual ~GEMCSCSegFit ()
 

Protected Member Functions

SMatrix16by4 derivativeMatrix (void)
 
AlgebraicSymMatrix flipErrors (const SMatrixSym4 &)
 
void setOutFromIP (void)
 
SMatrixSym16 weightMatrix (void)
 

Protected Attributes

double chi2_
 
std::map< uint32_t, const CSCLayer * > csclayermap_
 
bool fitdone_
 
std::map< uint32_t, const GEMEtaPartition * > gemetapartmap_
 
std::vector< const TrackingRecHit * > hits_
 
LocalPoint intercept_
 
LocalVector localdir_
 
int ndof_
 
const CSCChamberrefcscchamber_
 
uint32_t refid_
 
double scaleXError_
 
float uslope_
 
float vslope_
 

Private Member Functions

void fit2 (void)
 
void fitlsq (void)
 
void setChi2 (void)
 

Detailed Description

Definition at line 47 of file GEMCSCSegFit.h.

Member Typedef Documentation

◆ SMatrix16by4

typedef ROOT::Math::SMatrix<double, 16, 4> GEMCSCSegFit::SMatrix16by4

Definition at line 55 of file GEMCSCSegFit.h.

◆ SMatrix4

typedef ROOT::Math::SMatrix<double, 4> GEMCSCSegFit::SMatrix4

Definition at line 58 of file GEMCSCSegFit.h.

◆ SMatrixSym16

typedef ROOT::Math::SMatrix<double, 16, 16, ROOT::Math::MatRepSym<double, 16> > GEMCSCSegFit::SMatrixSym16

Definition at line 52 of file GEMCSCSegFit.h.

◆ SMatrixSym2

typedef ROOT::Math::SMatrix<double, 2, 2, ROOT::Math::MatRepSym<double, 2> > GEMCSCSegFit::SMatrixSym2

Definition at line 62 of file GEMCSCSegFit.h.

◆ SMatrixSym4

typedef ROOT::Math::SMatrix<double, 4, 4, ROOT::Math::MatRepSym<double, 4> > GEMCSCSegFit::SMatrixSym4

Definition at line 59 of file GEMCSCSegFit.h.

◆ SVector4

typedef ROOT::Math::SVector<double, 4> GEMCSCSegFit::SVector4

Definition at line 65 of file GEMCSCSegFit.h.

Constructor & Destructor Documentation

◆ GEMCSCSegFit()

GEMCSCSegFit::GEMCSCSegFit ( std::map< uint32_t, const CSCLayer *>  csclayermap,
std::map< uint32_t, const GEMEtaPartition *>  gemrollmap,
const std::vector< const TrackingRecHit *>  hits 
)
inline

Definition at line 70 of file GEMCSCSegFit.h.

References csclayermap_, gemetapartmap_, and AlCaHLTBitMon_QueryRunRegistry::string.

73  : csclayermap_(csclayermap),
74  gemetapartmap_(gemrollmap),
75  hits_(hits),
76  scaleXError_(1.0),
77  refid_(csclayermap_.begin()->first),
78  fitdone_(false) {
79  // --- LogDebug info about reading of CSC Layer map and GEM Eta Partition map -----------------------
80  edm::LogVerbatim("GEMCSCSegFit") << "[GEMCSCSegFit::ctor] cached the csclayermap and the gemrollmap";
81 
82  // --- LogDebug for CSC Layer map -------------------------------------------------------------------
83  std::stringstream csclayermapss;
84  csclayermapss << "[GEMCSCSegFit::ctor] :: csclayermap :: elements [" << std::endl;
85  for (std::map<uint32_t, const CSCLayer*>::const_iterator mapIt = csclayermap_.begin(); mapIt != csclayermap_.end();
86  ++mapIt) {
87  csclayermapss << "[CSC DetId " << mapIt->first << " =" << CSCDetId(mapIt->first) << ", CSC Layer "
88  << mapIt->second << " =" << (mapIt->second)->id() << "]," << std::endl;
89  }
90  csclayermapss << "]" << std::endl;
91  std::string csclayermapstr = csclayermapss.str();
92  edm::LogVerbatim("GEMCSCSegFit") << csclayermapstr;
93  // --- End LogDebug -----------------------------------------------------------------------------------
94 
95  // --- LogDebug for GEM Eta Partition map ------------------------------------------------------------
96  std::stringstream gemetapartmapss;
97  gemetapartmapss << "[GEMCSCSegFit::ctor] :: gemetapartmap :: elements [" << std::endl;
98  for (std::map<uint32_t, const GEMEtaPartition*>::const_iterator mapIt = gemetapartmap_.begin();
99  mapIt != gemetapartmap_.end();
100  ++mapIt) {
101  gemetapartmapss << "[GEM DetId " << mapIt->first << " =" << GEMDetId(mapIt->first) << ", GEM EtaPart "
102  << mapIt->second << "]," << std::endl;
103  }
104  gemetapartmapss << "]" << std::endl;
105  std::string gemetapartmapstr = gemetapartmapss.str();
106  edm::LogVerbatim("GEMCSCSegFit") << gemetapartmapstr;
107  // --- End LogDebug -----------------------------------------------------------------------------------
108  }
Log< level::Info, true > LogVerbatim
std::vector< const TrackingRecHit * > hits_
Definition: GEMCSCSegFit.h:196
std::vector< const TrackingRecHit * > hits(void) const
Definition: GEMCSCSegFit.h:131
uint32_t refid_
Definition: GEMCSCSegFit.h:204
double scaleXError_
Definition: GEMCSCSegFit.h:203
std::map< uint32_t, const GEMEtaPartition * > gemetapartmap_
Definition: GEMCSCSegFit.h:193
std::map< uint32_t, const CSCLayer * > csclayermap_
Definition: GEMCSCSegFit.h:192

◆ ~GEMCSCSegFit()

virtual GEMCSCSegFit::~GEMCSCSegFit ( )
inlinevirtual

Definition at line 110 of file GEMCSCSegFit.h.

110 {}

Member Function Documentation

◆ chi2()

double GEMCSCSegFit::chi2 ( void  ) const
inline

Definition at line 134 of file GEMCSCSegFit.h.

References chi2_.

Referenced by GEMCSCSegAlgoRR::buildSegments().

134 { return chi2_; }

◆ covarianceMatrix()

AlgebraicSymMatrix GEMCSCSegFit::covarianceMatrix ( void  )

◆ cscchamber()

const CSCChamber* GEMCSCSegFit::cscchamber ( uint32_t  id) const
inline

Definition at line 139 of file GEMCSCSegFit.h.

References relativeConstraints::chamber, csclayermap_, and Exception.

Referenced by fit2(), and fitlsq().

139  {
140  // Test whether id is found
141  if (csclayermap_.find(id) == csclayermap_.end()) { // id is not found
142  throw cms::Exception("InvalidDetId") << "[GEMCSCSegFit] Failed to find CSCChamber in CSCLayerMap" << std::endl;
143  } // chamber is not found and exception is thrown
144  else { // id is found
145  return (csclayermap_.find(id)->second)->chamber();
146  } // chamber found and returned
147  }
std::map< uint32_t, const CSCLayer * > csclayermap_
Definition: GEMCSCSegFit.h:192

◆ csclayer()

const CSCLayer* GEMCSCSegFit::csclayer ( uint32_t  id) const
inline

Definition at line 148 of file GEMCSCSegFit.h.

References csclayermap_, and Exception.

148  {
149  if (csclayermap_.find(id) == csclayermap_.end()) {
150  throw cms::Exception("InvalidDetId") << "[GEMCSCSegFit] Failed to find CSCLayer in CSCLayerMap" << std::endl;
151  } else {
152  return csclayermap_.find(id)->second;
153  }
154  }
std::map< uint32_t, const CSCLayer * > csclayermap_
Definition: GEMCSCSegFit.h:192

◆ derivativeMatrix()

SMatrix16by4 GEMCSCSegFit::derivativeMatrix ( void  )
protected

◆ fit()

void GEMCSCSegFit::fit ( void  )

Definition at line 19 of file GEMCSCSegFit.cc.

References fit2(), fitdone(), fitlsq(), dqmiodumpmetadata::n, and nhits().

Referenced by GEMCSCSegAlgoRR::buildSegments(), and trackingPlots.Iteration::modules().

19  {
20  edm::LogVerbatim("GEMCSCSegFit") << "[GEMCSCSegFit::fit] - start the fitting fun :: nhits = " << nhits();
21  if (fitdone())
22  return; // don't redo fit unnecessarily
23  short n = nhits();
24  switch (n) {
25  case 1:
26  edm::LogVerbatim("GEMCSCSegFit") << "[GEMCSCSegFit::fit] - cannot fit just 1 hit!!";
27  break;
28  case 2:
29  fit2();
30  break;
31  case 3:
32  case 4:
33  case 5:
34  case 6:
35  case 7:
36  case 8:
37  fitlsq();
38  break;
39  default:
40  edm::LogVerbatim("GEMCSCSegFit") << "[GEMCSCSegFit::fit] - cannot fit more than 8 hits!!";
41  }
42 }
Log< level::Info, true > LogVerbatim
size_t nhits(void) const
Definition: GEMCSCSegFit.h:133
void fitlsq(void)
bool fitdone() const
Definition: GEMCSCSegFit.h:171
void fit2(void)
Definition: GEMCSCSegFit.cc:44

◆ fit2()

void GEMCSCSegFit::fit2 ( void  )
private

Definition at line 44 of file GEMCSCSegFit.cc.

References chi2_, MuonSubdetId::CSC, cscchamber(), d1, PVValHelper::dz, fitdone_, MuonSubdetId::GEM, gemetapartition(), hits_, intercept_, CSCChamber::layer(), CSCDetId::layer(), phase1PixelTopology::layer, GEMDetId::layer(), TrackingRecHit::localPosition(), ndof_, refcscchamber(), setOutFromIP(), DetId::subdetId(), GeomDet::toGlobal(), GeomDet::toLocal(), uslope_, vslope_, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

Referenced by fit().

44  {
45  edm::LogVerbatim("GEMCSCSegFit") << "[GEMCSCSegFit::fit2] - start fit2()";
46  // Just join the two points
47  // Equation of straight line between (x1, y1) and (x2, y2) in xy-plane is
48  // y = mx + c
49  // with m = (y2-y1)/(x2-x1)
50  // and c = (y1*x2-x2*y1)/(x2-x1)
51 
52  // 1) Check whether hits are on the same layer
53  // -------------------------------------------
54  std::vector<const TrackingRecHit*>::const_iterator ih = hits_.begin();
55  // layer numbering: GEM: (1,2) CSC (3,4,5,6,7,8)
56  int il1 = 0, il2 = 0;
57  DetId d1 = DetId((*ih)->rawId());
58  // check whether first hit is GEM or CSC
59  if (d1.subdetId() == MuonSubdetId::GEM) {
60  il1 = GEMDetId(d1).layer();
61  } else if (d1.subdetId() == MuonSubdetId::CSC) {
62  il1 = CSCDetId(d1).layer() + 2;
63  } else {
64  edm::LogVerbatim("GEMCSCSegFit") << "[GEMCSCSegFit:fit2] - TrackingRecHit is not in GEM or CSC subdetector";
65  }
66  const TrackingRecHit& h1 = (**ih);
67  ++ih;
68  DetId d2 = DetId((*ih)->rawId());
69  // check whether second hit is GEM or CSC
70  if (d2.subdetId() == MuonSubdetId::GEM) {
71  il2 = GEMDetId(d2).layer();
72  } else if (d2.subdetId() == MuonSubdetId::CSC) {
73  il2 = GEMDetId(d2).layer() + 2;
74  } else {
75  edm::LogVerbatim("GEMCSCSegFit") << "[GEMCSCSegFit:fit2] - TrackingRecHit is not in GEM or CSC subdetector";
76  }
77  const TrackingRecHit& h2 = (**ih);
78  // Skip if on same layer, but should be impossible :)
79  if (il1 == il2) {
80  edm::LogVerbatim("GEMCSCSegFit") << "[GEMCSCSegFit:fit2] - 2 hits on same layer!!";
81  return;
82  }
83 
84  // 2) Global Positions of hit 1 and 2 and
85  // Local Positions of hit 1 and 2 w.r.t. reference CSC Chamber Frame
86  // ---------------------------------------------------------------------
87  GlobalPoint h1glopos, h2glopos;
88  // global position hit 1
89  if (d1.subdetId() == MuonSubdetId::GEM) {
90  const GEMEtaPartition* roll1 = gemetapartition(GEMDetId(d1));
91  h1glopos = roll1->toGlobal(h1.localPosition());
92  } else if (d1.subdetId() == MuonSubdetId::CSC) {
93  const CSCLayer* layer1 = cscchamber(CSCDetId(d1))->layer(CSCDetId(d1).layer());
94  h1glopos = layer1->toGlobal(h1.localPosition());
95  } else {
96  edm::LogVerbatim("GEMCSCSegFit") << "[GEMCSCSegFit:fit2] - TrackingRecHit is not in GEM or CSC subdetector";
97  }
98  // global position hit 2
99  if (d2.subdetId() == MuonSubdetId::GEM) {
100  const GEMEtaPartition* roll2 = gemetapartition(GEMDetId(d2));
101  h2glopos = roll2->toGlobal(h2.localPosition());
102  } else if (d2.subdetId() == MuonSubdetId::CSC) {
103  const CSCLayer* layer2 = cscchamber(CSCDetId(d2))->layer(CSCDetId(d2).layer());
104  h2glopos = layer2->toGlobal(h2.localPosition());
105  } else {
106  edm::LogVerbatim("GEMCSCSegFit") << "[GEMCSCSegFit:fit2] - TrackingRecHit is not in GEM or CSC subdetector";
107  }
108  // local positions hit 1 and 2 w.r.t. ref CSC Chamber Frame
109  // We want hit wrt chamber (and local z will be != 0)
110  LocalPoint h1pos = refcscchamber()->toLocal(h1glopos);
111  LocalPoint h2pos = refcscchamber()->toLocal(h2glopos);
112 
113  // 3) Now make straight line between the two points in local coords
114  // ----------------------------------------------------------------
115  float dz = h2pos.z() - h1pos.z();
116  if (dz != 0) {
117  uslope_ = (h2pos.x() - h1pos.x()) / dz;
118  vslope_ = (h2pos.y() - h1pos.y()) / dz;
119  }
120  float uintercept = (h1pos.x() * h2pos.z() - h2pos.x() * h1pos.z()) / dz;
121  float vintercept = (h1pos.y() * h2pos.z() - h2pos.y() * h1pos.z()) / dz;
122  intercept_ = LocalPoint(uintercept, vintercept, 0.);
123 
124  setOutFromIP();
125 
126  //@@ NOT SURE WHAT IS SENSIBLE FOR THESE...
127  chi2_ = 0.;
128  ndof_ = 0;
129 
130  fitdone_ = true;
131 }
Log< level::Info, true > LogVerbatim
const CSCLayer * layer(CSCDetId id) const
Return the layer corresponding to the given id.
Definition: CSCChamber.cc:30
std::vector< const TrackingRecHit * > hits_
Definition: GEMCSCSegFit.h:196
Point3DBase< Scalar, LocalTag > LocalPoint
Definition: Definitions.h:30
static constexpr int GEM
Definition: MuonSubdetId.h:14
LocalPoint toLocal(const GlobalPoint &gp) const
Conversion to the R.F. of the GeomDet.
Definition: GeomDet.h:58
T z() const
Definition: PV3DBase.h:61
int layer() const
Definition: CSCDetId.h:56
constexpr int layer() const
Definition: GEMDetId.h:190
constexpr std::array< uint8_t, layerIndexSize > layer
const GEMEtaPartition * gemetapartition(uint32_t id) const
Definition: GEMCSCSegFit.h:155
T x() const
Definition: PV3DBase.h:59
T y() const
Definition: PV3DBase.h:60
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 CSCChamber * refcscchamber() const
Definition: GEMCSCSegFit.h:163
const CSCChamber * cscchamber(uint32_t id) const
Definition: GEMCSCSegFit.h:139
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
Definition: GeomDet.h:49
Definition: DetId.h:17
LocalPoint intercept_
Definition: GEMCSCSegFit.h:199
void setOutFromIP(void)
static constexpr float d1
static constexpr int CSC
Definition: MuonSubdetId.h:12
virtual LocalPoint localPosition() const =0

◆ fitdone()

bool GEMCSCSegFit::fitdone ( ) const
inline

Definition at line 171 of file GEMCSCSegFit.h.

References fitdone_.

Referenced by fit().

171 { return fitdone_; }

◆ fitlsq()

void GEMCSCSegFit::fitlsq ( void  )
private

◆ flipErrors()

AlgebraicSymMatrix GEMCSCSegFit::flipErrors ( const SMatrixSym4 )
protected

◆ gemetapartition()

const GEMEtaPartition* GEMCSCSegFit::gemetapartition ( uint32_t  id) const
inline

Definition at line 155 of file GEMCSCSegFit.h.

References Exception, and gemetapartmap_.

Referenced by fit2(), and fitlsq().

155  {
156  if (gemetapartmap_.find(id) == gemetapartmap_.end()) {
157  throw cms::Exception("InvalidDetId")
158  << "[GEMCSCSegFit] Failed to find GEMEtaPartition in GEMEtaPartMap" << std::endl;
159  } else {
160  return gemetapartmap_.find(id)->second;
161  }
162  }
std::map< uint32_t, const GEMEtaPartition * > gemetapartmap_
Definition: GEMCSCSegFit.h:193

◆ hits()

std::vector<const TrackingRecHit*> GEMCSCSegFit::hits ( void  ) const
inline

Definition at line 131 of file GEMCSCSegFit.h.

References hits_.

131 { return hits_; }
std::vector< const TrackingRecHit * > hits_
Definition: GEMCSCSegFit.h:196

◆ intercept()

LocalPoint GEMCSCSegFit::intercept ( ) const
inline

Definition at line 136 of file GEMCSCSegFit.h.

References intercept_.

Referenced by GEMCSCSegAlgoRR::buildSegments().

136 { return intercept_; }
LocalPoint intercept_
Definition: GEMCSCSegFit.h:199

◆ localdir()

LocalVector GEMCSCSegFit::localdir ( ) const
inline

Definition at line 137 of file GEMCSCSegFit.h.

References localdir_.

Referenced by GEMCSCSegAlgoRR::buildSegments().

137 { return localdir_; }
LocalVector localdir_
Definition: GEMCSCSegFit.h:200

◆ ndof()

int GEMCSCSegFit::ndof ( void  ) const
inline

Definition at line 135 of file GEMCSCSegFit.h.

References ndof_.

135 { return ndof_; }

◆ nhits()

size_t GEMCSCSegFit::nhits ( void  ) const
inline

Definition at line 133 of file GEMCSCSegFit.h.

References hits_.

Referenced by fit().

133 { return hits_.size(); }
std::vector< const TrackingRecHit * > hits_
Definition: GEMCSCSegFit.h:196

◆ Rdev()

float GEMCSCSegFit::Rdev ( float  x,
float  y,
float  z 
) const

◆ refcscchamber()

const CSCChamber* GEMCSCSegFit::refcscchamber ( ) const
inline

Definition at line 163 of file GEMCSCSegFit.h.

References relativeConstraints::chamber, csclayermap_, Exception, and refid_.

Referenced by fit2(), and fitlsq().

163  {
164  if (csclayermap_.find(refid_) == csclayermap_.end()) {
165  throw cms::Exception("InvalidDetId")
166  << "[GEMCSCSegFit] Failed to find Reference CSCChamber in CSCLayerMap" << std::endl;
167  } else {
168  return (csclayermap_.find(refid_)->second)->chamber();
169  }
170  }
uint32_t refid_
Definition: GEMCSCSegFit.h:204
std::map< uint32_t, const CSCLayer * > csclayermap_
Definition: GEMCSCSegFit.h:192

◆ scaleXError()

double GEMCSCSegFit::scaleXError ( void  ) const
inline

Definition at line 132 of file GEMCSCSegFit.h.

References scaleXError_.

132 { return scaleXError_; }
double scaleXError_
Definition: GEMCSCSegFit.h:203

◆ setChi2()

void GEMCSCSegFit::setChi2 ( void  )
private

Referenced by fitlsq().

◆ setOutFromIP()

void GEMCSCSegFit::setOutFromIP ( void  )
protected

Referenced by fit2(), and fitlsq().

◆ setScaleXError()

void GEMCSCSegFit::setScaleXError ( double  factor)
inline

Definition at line 119 of file GEMCSCSegFit.h.

References DQMScaleToClient_cfi::factor, and scaleXError_.

◆ weightMatrix()

SMatrixSym16 GEMCSCSegFit::weightMatrix ( void  )
protected

◆ xdev()

float GEMCSCSegFit::xdev ( float  x,
float  z 
) const

◆ xfit()

float GEMCSCSegFit::xfit ( float  z) const

◆ ydev()

float GEMCSCSegFit::ydev ( float  y,
float  z 
) const

◆ yfit()

float GEMCSCSegFit::yfit ( float  z) const

Member Data Documentation

◆ chi2_

double GEMCSCSegFit::chi2_
protected

Definition at line 201 of file GEMCSCSegFit.h.

Referenced by chi2(), and fit2().

◆ csclayermap_

std::map<uint32_t, const CSCLayer*> GEMCSCSegFit::csclayermap_
protected

Definition at line 192 of file GEMCSCSegFit.h.

Referenced by cscchamber(), csclayer(), GEMCSCSegFit(), and refcscchamber().

◆ fitdone_

bool GEMCSCSegFit::fitdone_
protected

Definition at line 205 of file GEMCSCSegFit.h.

Referenced by fit2(), fitdone(), and fitlsq().

◆ gemetapartmap_

std::map<uint32_t, const GEMEtaPartition*> GEMCSCSegFit::gemetapartmap_
protected

Definition at line 193 of file GEMCSCSegFit.h.

Referenced by GEMCSCSegFit(), and gemetapartition().

◆ hits_

std::vector<const TrackingRecHit*> GEMCSCSegFit::hits_
protected

Definition at line 196 of file GEMCSCSegFit.h.

Referenced by fit2(), fitlsq(), hits(), and nhits().

◆ intercept_

LocalPoint GEMCSCSegFit::intercept_
protected

Definition at line 199 of file GEMCSCSegFit.h.

Referenced by fit2(), fitlsq(), and intercept().

◆ localdir_

LocalVector GEMCSCSegFit::localdir_
protected

Definition at line 200 of file GEMCSCSegFit.h.

Referenced by localdir().

◆ ndof_

int GEMCSCSegFit::ndof_
protected

Definition at line 202 of file GEMCSCSegFit.h.

Referenced by fit2(), and ndof().

◆ refcscchamber_

const CSCChamber* GEMCSCSegFit::refcscchamber_
protected

Definition at line 194 of file GEMCSCSegFit.h.

◆ refid_

uint32_t GEMCSCSegFit::refid_
protected

Definition at line 204 of file GEMCSCSegFit.h.

Referenced by refcscchamber().

◆ scaleXError_

double GEMCSCSegFit::scaleXError_
protected

Definition at line 203 of file GEMCSCSegFit.h.

Referenced by scaleXError(), and setScaleXError().

◆ uslope_

float GEMCSCSegFit::uslope_
protected

Definition at line 197 of file GEMCSCSegFit.h.

Referenced by fit2(), and fitlsq().

◆ vslope_

float GEMCSCSegFit::vslope_
protected

Definition at line 198 of file GEMCSCSegFit.h.

Referenced by fit2(), and fitlsq().