ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitHzz4l/DataStruct/interface/GenInfoStruct.h
Revision: 1.5
Committed: Tue Jun 19 15:41:40 2012 UTC (12 years, 10 months ago) by khahn
Content type: text/plain
Branch: MAIN
CVS Tags: compiled
Changes since 1.4: +1 -1 lines
Log Message:
adding a def-only preprocessor flag

File Contents

# Content
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