CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 =
31  position()+direction()*(clus.pos.z()-position().z())/cos(direction().theta());
32  // cout << "pos :" << clus.pos << " posAtSL " << posAtSL << endl;
33  constexpr float errScaleFact=10.;
34  constexpr float minError=25.; // (cm)
35  // cout << "clus.err.xx() " << clus.err << endl;
36  return fabs((posAtSL-clus.pos).x())<max(errScaleFact*sqrt(clus.err.xx()), minError);
37 }
38 
39 unsigned int DTSegmentExtendedCand::nHits() const {
40  return DTSegmentCand::nHits()+theClus.size();
41 }
42 
44  if (superLayer()->id().superLayer()==2)
45  return DTSegmentCand::nHits()>=nHitsMin && chi2()/NDOF() < chi2max*2.;
46  return DTSegmentCand::nHits()>=nHitsMin && chi2()/NDOF() < chi2max ;
47 }
float xx() const
Definition: LocalError.h:24
virtual bool good() const
static int position[TOTALCHAMBERS][3]
Definition: ReadPGInfo.cc:509
const T & max(const T &a, const T &b)
T sqrt(T t)
Definition: SSEVec.h:48
T z() const
Definition: PV3DBase.h:64
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
bool isCompatible(const DTSegmentExtendedCand::DTSLRecClusterForFit &clus)
virtual unsigned int nHits() const
virtual unsigned int nHits() const
Definition: DTSegmentCand.h:60
#define constexpr