ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitHzz4l/DataStruct/interface/AngleTuple.h
Revision: 1.7
Committed: Mon Dec 17 17:13:23 2012 UTC (12 years, 5 months ago) by dkralph
Content type: text/plain
Branch: MAIN
CVS Tags: compiled
Changes since 1.6: +22 -3 lines
Log Message:
*** empty log message ***

File Contents

# Content
1 #ifndef ANGLE_TUPLE
2 #define ANGLE_TUPLE
3
4 #include <iostream>
5 #include <fstream>
6 #include <sstream>
7
8 #include "NtuplerBase.h"
9 #include "Angles.h" // ZZ angles
10 #include "KinematicsStruct.h" // ZZ & lepton kinematics
11 #include "WeightStruct.h" // weights for MC
12 #include "InfoStruct.h" // rn,evt,lumi,channel
13 #include "GenInfoStruct.h" //
14 #include "JetInfoStruct.h" // vbf variables
15
16 #define VARLIST_JETINFO "nJets/I:ptJet1/F:ptJet2/F:ptJet3/F:ptJet4/F:etaJet1/F:etaJet2/F:etaJet3/F:etaJet4/F:phiJet1/F:phiJet2/F:phiJet3/F:phiJet4/F:mvaJet1/F:mvaJet2/F:mvaJet3/F:mvaJet4/F:mjj/F:dEta/F:etaProd/F"
17
18 typedef struct {
19 Int_t nJets;
20 Float_t ptJet1,ptJet2,ptJet3,ptJet4;
21 Float_t etaJet1,etaJet2,etaJet3,etaJet4;
22 Float_t phiJet1,phiJet2,phiJet3,phiJet4;
23 Float_t mvaJet1,mvaJet2,mvaJet3,mvaJet4;
24 Float_t mjj,dEta,etaProd;
25 } JetInfoStruct;
26
27 class AngleTuple : public NtuplerBase {
28 public :
29
30 AngleTuple( const char* fname, const char* tname) : NtuplerBase(fname, tname) {
31 t->SetDirectory(f);
32 };
33
34 AngleTuple( TFile * f_rhs, const char* tname) : NtuplerBase(f_rhs, tname) {
35 f_rhs->Print();
36 t->SetDirectory(f);
37 };
38
39 void makeAngleBranch(Angles &);
40 void makeAngleBranch(const char *, Angles &);
41 void makeKinematicsBranch(KinematicsStruct &);
42 void makeKinematicsBranch(const char *, KinematicsStruct &);
43 void makeWeightBranch(WeightStruct &);
44 void makeWeightBranch(const char *,WeightStruct &);
45 void makeInfoBranch(InfoStruct &);
46 void makeInfoBranch(const char *, InfoStruct &);
47 void makeGenInfoBranch(GenInfoStruct &);
48 void makeGenInfoBranch(const char *, GenInfoStruct &);
49 void makeJetInfoBranch(JetInfoStruct &);
50 void makeJetInfoBranch(const char *, JetInfoStruct &);
51 void makeJetAngleBranches(TString varfile, map<TString,Int_t> *ints=0, map<TString,Float_t> *floats=0);
52
53 };
54
55 void fillJetInfo( vector<SimpleLepton>,
56 JetInfoStruct &,
57 ControlFlags &);
58 void fillJetAngleBranches( JetInfoStruct, // JetInfoStruct must be filled before calling this
59 EventData,
60 NtuplerBase *,
61 ControlFlags &);
62 #endif