CMS 3D CMS Logo

CPPFCluster.cc
Go to the documentation of this file.
1 #include "CPPFCluster.h"
2 #include <iostream>
3 #include <fstream>
4 #include <cmath>
5 
6 using namespace std;
7 
9  : fstrip(0), lstrip(0), bunchx(0), sumTime(0), sumTime2(0), nTime(0), sumY(0), sumY2(0), nY(0) {}
10 
11 CPPFCluster::CPPFCluster(int fs, int ls, int bx)
12  : fstrip(fs), lstrip(ls), bunchx(bx), sumTime(0), sumTime2(0), nTime(0), sumY(0), sumY2(0), nY(0) {}
13 
15 
16 int CPPFCluster::firstStrip() const { return fstrip; }
17 int CPPFCluster::lastStrip() const { return lstrip; }
18 int CPPFCluster::clusterSize() const { return lstrip - fstrip + 1; }
19 int CPPFCluster::bx() const { return bunchx; }
20 
21 bool CPPFCluster::hasTime() const { return nTime > 0; }
22 float CPPFCluster::time() const { return hasTime() ? sumTime / nTime : 0; }
23 float CPPFCluster::timeRMS() const {
24  return hasTime() ? sqrt(max(0.F, sumTime2 * nTime - sumTime * sumTime)) / nTime : -1;
25 }
26 
27 bool CPPFCluster::hasY() const { return nY > 0; }
28 float CPPFCluster::y() const { return hasY() ? sumY / nY : 0; }
29 float CPPFCluster::yRMS() const { return hasY() ? sqrt(max(0.F, sumY2 * nY - sumY * sumY)) / nY : -1; }
30 
32  return ((cl.firstStrip() == this->firstStrip() - 1) && (cl.bx() == this->bx()));
33 }
34 
35 void CPPFCluster::addTime(const float time) {
36  ++nTime;
37  sumTime += time;
38  sumTime2 += time * time;
39 }
40 
41 void CPPFCluster::addY(const float y) {
42  ++nY;
43  sumY += y;
44  sumY2 += y * y;
45 }
46 
48  if (!this->isAdjacent(cl))
49  return;
50 
51  fstrip = cl.firstStrip();
52 
53  nTime += cl.nTime;
54  sumTime += cl.sumTime;
55  sumTime2 += cl.sumTime2;
56 
57  nY += cl.nY;
58  sumY += cl.sumY;
59  sumY2 += cl.sumY2;
60 }
61 
63  if (cl.bx() == this->bx())
64  return cl.firstStrip() < this->firstStrip();
65 
66  return cl.bx() < this->bx();
67 }
68 
70  return ((this->clusterSize() == cl.clusterSize()) && (this->bx() == cl.bx()) &&
71  (this->firstStrip() == cl.firstStrip()));
72 }
eostools.ls
def ls(path, rec=False)
Definition: eostools.py:349
CPPFCluster::sumY2
float sumY2
Definition: CPPFCluster.h:39
CPPFCluster::y
float y() const
Definition: CPPFCluster.cc:28
CPPFCluster::fstrip
uint16_t fstrip
Definition: CPPFCluster.h:32
CPPFCluster::firstStrip
int firstStrip() const
Definition: CPPFCluster.cc:16
CPPFCluster::sumTime2
float sumTime2
Definition: CPPFCluster.h:36
CPPFCluster.h
CPPFCluster::nY
uint16_t nY
Definition: CPPFCluster.h:40
F
static uInt32 F(BLOWFISH_CTX *ctx, uInt32 x)
Definition: blowfish.cc:163
simKBmtfDigis_cfi.bx
bx
Definition: simKBmtfDigis_cfi.py:55
GetRecoTauVFromDQM_MC_cff.cl
cl
Definition: GetRecoTauVFromDQM_MC_cff.py:38
CPPFCluster::addTime
void addTime(const float time)
Definition: CPPFCluster.cc:35
CPPFCluster::nTime
uint16_t nTime
Definition: CPPFCluster.h:37
CPPFCluster::timeRMS
float timeRMS() const
Definition: CPPFCluster.cc:23
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
CPPFCluster::sumTime
float sumTime
Definition: CPPFCluster.h:36
CPPFCluster::lstrip
uint16_t lstrip
Definition: CPPFCluster.h:33
CPPFCluster::merge
void merge(const CPPFCluster &cl)
Definition: CPPFCluster.cc:47
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
CPPFCluster::operator<
bool operator<(const CPPFCluster &cl) const
Definition: CPPFCluster.cc:62
CPPFCluster::bx
int bx() const
Definition: CPPFCluster.cc:19
CPPFCluster::operator==
bool operator==(const CPPFCluster &cl) const
Definition: CPPFCluster.cc:69
CPPFCluster::sumY
float sumY
Definition: CPPFCluster.h:39
CPPFCluster::isAdjacent
bool isAdjacent(const CPPFCluster &cl) const
Definition: CPPFCluster.cc:31
CPPFCluster::~CPPFCluster
~CPPFCluster()
Definition: CPPFCluster.cc:14
std
Definition: JetResolutionObject.h:76
CPPFCluster::time
float time() const
Definition: CPPFCluster.cc:22
detailsBasic3DVector::y
float float y
Definition: extBasic3DVector.h:14
CPPFCluster::hasTime
bool hasTime() const
Definition: CPPFCluster.cc:21
CPPFCluster::addY
void addY(const float y)
Definition: CPPFCluster.cc:41
CPPFCluster::yRMS
float yRMS() const
Definition: CPPFCluster.cc:29
CPPFCluster::bunchx
int16_t bunchx
Definition: CPPFCluster.h:34
ntuplemaker.time
time
Definition: ntuplemaker.py:310
CPPFCluster::clusterSize
int clusterSize() const
Definition: CPPFCluster.cc:18
CPPFCluster::CPPFCluster
CPPFCluster()
Definition: CPPFCluster.cc:8
CPPFCluster::lastStrip
int lastStrip() const
Definition: CPPFCluster.cc:17
CPPFCluster::hasY
bool hasY() const
Definition: CPPFCluster.cc:27
CPPFCluster
Definition: CPPFCluster.h:4