1 |
#ifndef KINEMATICS
|
2 |
#define KINEMATICS
|
3 |
|
4 |
#if !defined __CINT__ && !defined DEFINITION_ONLY
|
5 |
#include "EventData.h"
|
6 |
#include "Array.h"
|
7 |
#include "Muon.h"
|
8 |
#include "Electron.h"
|
9 |
#endif
|
10 |
|
11 |
#define VARLIST_KINEMATICS "l1type/b:l2type/b:l3type/b:l4type/b:l1q/B:l2q/B:l3q/B:l4q/B:l1pt/F:l2pt/F:l3pt/F:l4pt/F:l1eta/F:l2eta/F:l3eta/F:l4eta/F:l1phi/F:l2phi/F:l3phi/F:l4phi/F:Z1pt/F:Z2pt/F:ZZpt/F:ZZdotZ1/F:ZZdotZ2/F:ZZptCosDphiZ1pt/F:ZZptCosDphiZ2pt/F:Z1eta/F:Z2eta/F:ZZy/F:mZ1/F:mZ2/F:m4l/F:channel/I:mZ1err/F:mZ2err/F:m4lerr/F"
|
12 |
|
13 |
typedef struct {
|
14 |
UChar_t l1type,l2type,l3type,l4type;
|
15 |
Char_t l1q,l2q,l3q,l4q;
|
16 |
float l1pt,l2pt,l3pt,l4pt;
|
17 |
float l1eta,l2eta,l3eta,l4eta;
|
18 |
float l1phi,l2phi,l3phi,l4phi;
|
19 |
float Z1pt, Z2pt, ZZpt;
|
20 |
float ZZdotZ1, ZZdotZ2, ZZptZ1ptCosDphi, ZZptZ2ptCosDphi;
|
21 |
float Z1eta, Z2eta, ZZy;
|
22 |
float mZ1, mZ2, m4l;
|
23 |
int channel;
|
24 |
float mZ1err, mZ2err, m4lerr;
|
25 |
} KinematicsStruct;
|
26 |
|
27 |
#if !defined __CINT__ && !defined DEFINITION_ONLY
|
28 |
void fillKinematics( EventData &, KinematicsStruct &);
|
29 |
void fillKinematics(KinematicsStruct &k,
|
30 |
TLorentzVector lep1, int type1,
|
31 |
TLorentzVector lep2, int type2,
|
32 |
TLorentzVector lep3, int type3,
|
33 |
TLorentzVector lep4, int type4
|
34 |
);
|
35 |
void fillMassErrors( EventData &,
|
36 |
mithep::Array<mithep::Muon> *,
|
37 |
mithep::Array<mithep::Electron> *,
|
38 |
KinematicsStruct &);
|
39 |
void dump(KinematicsStruct kine);
|
40 |
#endif
|
41 |
|
42 |
#endif
|