1 |
#ifndef GENINFO
|
2 |
#define GENINFO
|
3 |
|
4 |
#if !defined __CINT__ && !defined DEFINITION_ONLY
|
5 |
#include "MCParticle.h"
|
6 |
#include "MCEventInfo.h"
|
7 |
#include "Array.h"
|
8 |
|
9 |
#include "ParseArgs.h"
|
10 |
#endif
|
11 |
|
12 |
#define VARLIST_GENINFO "weight/F:genQid/I:pid_1/I:pid_2/I:x_1/F:x_2/F:id_1/I:id_2/I:vmass_a/F:vpt_a/F:veta_a/F:vphi_a/F:vmass_b/F:vpt_b/F:veta_b/F:vphi_b/F:id_1_a/I:id_2_a/I:id_1_b/I:id_2_b/I:pt_1_a/F:eta_1_a/F:phi_1_a/F:pt_2_a/F:eta_2_a/F:phi_2_a/F:pt_1_b/F:eta_1_b/F:phi_1_b/F:pt_2_b/F:eta_2_b/F:phi_2_b/F:pt_zz/F:y_zz/F:phi_ZZ/F:m_zz/F"
|
13 |
|
14 |
typedef struct {
|
15 |
float weight; // event weight
|
16 |
int genQid; // largest abs(id) of quark in the hard interaction
|
17 |
int pid_1, pid_2; // parton ID
|
18 |
float x_1, x_2; // parton momentum fraction
|
19 |
int id_a, id_b; // boson IDs
|
20 |
float vmass_a, vpt_a, veta_a, vphi_a; // boson A info
|
21 |
float vmass_b, vpt_b, veta_b, vphi_b; // boson B info
|
22 |
int id_1_a, id_2_a; // lepton/quark IDs
|
23 |
int id_1_b, id_2_b; // lepton/quark IDs
|
24 |
float pt_1_a, eta_1_a, phi_1_a; // lepton info
|
25 |
float pt_2_a, eta_2_a, phi_2_a;
|
26 |
float pt_1_b, eta_1_b, phi_1_b;
|
27 |
float pt_2_b, eta_2_b, phi_2_b;
|
28 |
|
29 |
float pt_zz, y_zz, phi_zz, m_zz;
|
30 |
|
31 |
} GenInfoStruct;
|
32 |
|
33 |
// particle ids in TGeninfo for bosons, leptons, quarks, neutrinos, etc.
|
34 |
namespace EGenType {
|
35 |
enum {
|
36 |
kMuon = 1,
|
37 |
kElectron = 2,
|
38 |
kTau = 3,
|
39 |
kTauMuon = 4,
|
40 |
kTauElectron = 5,
|
41 |
kTauHadr = 6,
|
42 |
kW = 7,
|
43 |
kZ = 8,
|
44 |
// kWW = 9, [do NOT use this]
|
45 |
kHiggs = 10,
|
46 |
kNeutrino = 11,
|
47 |
kQuark = 12, // no longer used!
|
48 |
kttH = 13,
|
49 |
kUp = 14,
|
50 |
kDown = 15,
|
51 |
kStrange = 16,
|
52 |
kCharm = 17,
|
53 |
kBottom = 18,
|
54 |
kTop = 19
|
55 |
};
|
56 |
}
|
57 |
|
58 |
// enum to keep track [in the ntupler] of which gen info to fill in the sample you run on
|
59 |
namespace ESampleType {
|
60 |
enum {
|
61 |
kH = 1,
|
62 |
kZ = 2,
|
63 |
kW = 3,
|
64 |
kVV = 4,
|
65 |
kHWW = 5,
|
66 |
kHZZ = 6,
|
67 |
kVttH = 7
|
68 |
};
|
69 |
}
|
70 |
|
71 |
|
72 |
void fillGenInfo( const mithep::Array<mithep::MCParticle> *,
|
73 |
const mithep::MCEventInfo *,
|
74 |
GenInfoStruct &,
|
75 |
unsigned,
|
76 |
ControlFlags &);
|
77 |
|
78 |
#endif
|