1 |
/*
|
2 |
* MET.cpp
|
3 |
*
|
4 |
* Created on: Jun 25, 2010
|
5 |
* Author: lkreczko
|
6 |
*/
|
7 |
|
8 |
#include "../../interface/RecoObjects/MET.h"
|
9 |
|
10 |
namespace BAT {
|
11 |
|
12 |
|
13 |
MET::MET() :
|
14 |
Particle(),
|
15 |
usedAlgorithm(METAlgorithm::Calo) {
|
16 |
}
|
17 |
|
18 |
MET::MET(float ex, float ey) :
|
19 |
Particle(sqrt(ex * ex + ey * ey), ex, ey, 0), usedAlgorithm(METAlgorithm::Calo) {
|
20 |
|
21 |
}
|
22 |
|
23 |
MET::~MET() {
|
24 |
}
|
25 |
|
26 |
bool MET::isGood() const {
|
27 |
return et() > 20;
|
28 |
}
|
29 |
|
30 |
void MET::setUsedAlgorithm(METAlgorithm::value algo) {
|
31 |
usedAlgorithm = algo;
|
32 |
}
|
33 |
|
34 |
METAlgorithm::value MET::getUsedAlgorithm() const {
|
35 |
return usedAlgorithm;
|
36 |
}
|
37 |
|
38 |
|
39 |
void MET::adjForUnc(const JetCollection &jets)
|
40 |
{
|
41 |
if (Jet::correctDirection == JetCorrDirection::NONE ||
|
42 |
jets.size() <= 0)
|
43 |
return;
|
44 |
FourVector new4vec = getFourVector();
|
45 |
for (unsigned int index = 0; index < jets.size(); ++index)
|
46 |
new4vec += jets.at(index)->DiffVec;
|
47 |
new4vec.SetPz(0.0); // Make sure no longitudinal component
|
48 |
new4vec.SetE(new4vec.Pt()); // Make sure it stays massless
|
49 |
setFourVector(new4vec);
|
50 |
}
|
51 |
|
52 |
|
53 |
|
54 |
}
|