1 |
#ifndef SIMPLE_LEPTON
|
2 |
#define SIMPLE_LEPTON
|
3 |
|
4 |
#include <iostream>
|
5 |
#include <iomanip>
|
6 |
#include "TROOT.h"
|
7 |
#include "TBits.h"
|
8 |
#include "TLorentzVector.h"
|
9 |
#include "SelectionStatus.h"
|
10 |
|
11 |
class SimpleLepton {
|
12 |
public :
|
13 |
|
14 |
SimpleLepton() {
|
15 |
// vec = new TLorentzVector();
|
16 |
// vecorig = new TLorentzVector();
|
17 |
}
|
18 |
|
19 |
~SimpleLepton() {
|
20 |
// vec->Delete();
|
21 |
// vecorig->Delete();
|
22 |
// delete(vec);
|
23 |
// delete(vecorig);
|
24 |
};
|
25 |
|
26 |
int type, index, charge;
|
27 |
unsigned scID;
|
28 |
double ip3dSig;
|
29 |
float d0,dz;
|
30 |
bool is4l, isEB, isTight, isLoose, tightCutsApplied, fsrRecoveryAttempted;
|
31 |
|
32 |
TLorentzVector vec;
|
33 |
|
34 |
SelectionStatus status;
|
35 |
|
36 |
inline void print() {
|
37 |
std::cout <<
|
38 |
"type: " << std::left << std::setw(3) << type << " "
|
39 |
"pt: " << std::left << std::setw(7) << vec.Pt() << " "
|
40 |
"eta: " << std::left << std::setw(8) << vec.Eta() << " "
|
41 |
"phi: " << std::left << std::setw(8) << vec.Phi() << " "
|
42 |
"index: " << std::left << std::setw(3) << index << std::endl;
|
43 |
}
|
44 |
static bool lep_pt_sort( const SimpleLepton &l1, const SimpleLepton &l2 ) {
|
45 |
if( l1.vec.Pt() > l2.vec.Pt() ) return true;
|
46 |
else return false;
|
47 |
};
|
48 |
static bool lep_reversept_sort( const SimpleLepton &l1, const SimpleLepton &l2 ) {
|
49 |
if( l1.vec.Pt() < l2.vec.Pt() ) return true;
|
50 |
else return false;
|
51 |
};
|
52 |
|
53 |
};
|
54 |
|
55 |
#endif
|