CMS 3D CMS Logo

DTSegmentExtendedCand.cc
Go to the documentation of this file.
1 /******* \class DTSegmentExtendedCand *******
2  *
3  * Description:
4  *
5  * detailed description
6  *
7  * \author : Stefano Lacaprara - INFN LNL <stefano.lacaprara@pd.infn.it>
8  *
9  * Modification:
10  *
11  *********************************/
12 
13 /* This Class Header */
15 
16 /* Collaborating Class Header */
17 
18 /* C++ Headers */
19 #include <iostream>
20 using namespace std;
21 
22 /* ====================================================================== */
23 
24 /* Constructor */
25 
26 /* Destructor */
27 
28 /* Operations */
30  LocalPoint posAtSL = position() + direction() * (clus.pos.z() - position().z()) / cos(direction().theta());
31  // cout << "pos :" << clus.pos << " posAtSL " << posAtSL << endl;
32  static constexpr float errScaleFact = 10.;
33  static constexpr float minError = 25.; // (cm)
34  // cout << "clus.err.xx() " << clus.err << endl;
35  return std::abs((posAtSL - clus.pos).x()) < max(errScaleFact * sqrt(clus.err.xx()), minError);
36 }
37 
38 unsigned int DTSegmentExtendedCand::nHits() const { return DTSegmentCand::nHits() + theClus.size(); }
39 
41  if (superLayer()->id().superLayer() == 2)
42  return DTSegmentCand::nHits() >= nHitsMin && chi2() / NDOF() < chi2max * 2.;
43  return DTSegmentCand::nHits() >= nHitsMin && chi2() / NDOF() < chi2max;
44 }
float xx() const
Definition: LocalError.h:22
bool good() const override
T sqrt(T t)
Definition: SSEVec.h:19
unsigned int nHits() const override
T z() const
Definition: PV3DBase.h:61
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
bool isCompatible(const DTSegmentExtendedCand::DTSLRecClusterForFit &clus)
virtual unsigned int nHits() const
Definition: DTSegmentCand.h:58
static int position[264][3]
Definition: ReadPGInfo.cc:289
#define constexpr