ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitHzz4l/Selection/interface/ReferenceSelection.h
Revision: 1.4
Committed: Tue Oct 23 11:36:21 2012 UTC (12 years, 6 months ago) by dkralph
Content type: text/plain
Branch: MAIN
Changes since 1.3: +2 -0 lines
Log Message:
*** empty log message ***

File Contents

# Content
1 #ifndef REFERENCE2_SELECTION
2 #define REFERENCE2_SELECTION
3
4 // System headers
5 //
6 #include <vector> // STL vector class
7 #include <iostream> // standard I/O
8 #include <iomanip> // functions to format standard I/O
9 #include <fstream> // functions for file I/O
10 #include <string> // C++ string class
11 #include <sstream> // class for parsing strings
12 #include <assert.h>
13 #include <stdlib.h>
14 #include <getopt.h>
15 using namespace std;
16 using namespace mithep;
17
18 //
19 // ROOT headers
20 //
21 #include <TROOT.h> // access to gROOT, entry point to ROOT system
22 #include <TTree.h>
23 #include <TFile.h>
24 #include <TChain.h> //
25 #include <TBranch.h> // class to access branches in TTree
26 #include <TClonesArray.h> // ROOT array class
27 #include <TLorentzVector.h> // 4-vector class
28 #include <TVector3.h> // 3D vector class
29 #include <TH1D.h>
30
31 //
32 // ntuple format headers
33 //
34 #include "EventHeader.h"
35 #include "Electron.h"
36 #include "Muon.h"
37 #include "PFCandidate.h"
38 #include "PFCandidateCol.h"
39 #include "RunLumiRangeMap.h"
40
41 #include "ParseArgs.h"
42 #include "EventData.h"
43 #include "SelectionStatus.h"
44 #include "ElectronEnergyCorrection.h"
45
46 #define PASS_SKIM0 0
47 #define PASS_SKIM1 1
48 #define PASS_SKIM2 2
49 #define PASS_TRIGGER 3
50 #define PASS_ZCANDIDATE 4
51 #define PASS_GOODZ1 5
52 #define PASS_4L 6
53 #define PASS_ZZCANDIDATE 7
54 #define PASS_GOODZ2 8
55 #define PASS_ZZ_20_10 9
56 #define PASS_RESONANCE 10
57 #define PASS_m4l_GT_70 11
58 #define PASS_m4l_GT_100 12
59
60 EventData
61 apply_HZZ4L_reference_selection(ControlFlags &ctrl, // input control
62 const mithep::EventHeader *info, // input event info
63 const mithep::Array<mithep::Vertex> * vtxArr ,
64 const mithep::Array<mithep::PFCandidate> *fPFCandidates,
65 const mithep::Array<mithep::PileupEnergyDensity> *puEnergyDensity,
66 const mithep::Array<mithep::Electron> *electronArr, // input electrons
67 SelectionStatus (*ElectronPreSelector)( ControlFlags &,
68 const mithep::Electron*,
69 const mithep::Vertex *),
70 SelectionStatus (*ElectronIDSelector)( ControlFlags &,
71 const mithep::Electron*,
72 const mithep::Vertex *),
73 SelectionStatus (*ElectronIsoSelector)( ControlFlags &,
74 const mithep::Electron*,
75 const mithep::Vertex *,
76 const mithep::Array<mithep::PFCandidate> *,
77 const mithep::Array<mithep::PileupEnergyDensity> *puEnergyDensity,
78
79 mithep::ElectronTools::EElectronEffectiveAreaTarget,
80 vector<const mithep::PFCandidate*>),
81 const mithep::Array<mithep::Muon> *muonArr, // input muons
82 SelectionStatus (*MuonPreSelector)( ControlFlags &,
83 const mithep::Muon*,
84 const mithep::Vertex *,
85 const mithep::Array<mithep::PFCandidate> *),
86 SelectionStatus (*MuonIDSelector)( ControlFlags &,
87 const mithep::Muon*,
88 // const mithep::Vertex *),
89 const mithep::Vertex *,
90 const mithep::Array<mithep::PFCandidate> *),
91 SelectionStatus (*MuonIsoSelector)( ControlFlags &,
92 const mithep::Muon*,
93 const mithep::Vertex * ,
94 const mithep::Array<mithep::PFCandidate> *,
95 const mithep::Array<mithep::PileupEnergyDensity> *,
96 mithep::MuonTools::EMuonEffectiveAreaTarget,
97 vector<const mithep::PFCandidate*>)
98 );
99 #endif