ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitHzz4l/Selection/interface/ReferenceSelection.h
Revision: 1.6
Committed: Mon Dec 17 12:34:25 2012 UTC (12 years, 4 months ago) by dkralph
Content type: text/plain
Branch: MAIN
CVS Tags: compiled, HEAD
Changes since 1.5: +22 -10 lines
Log Message:
*** empty log message ***

File Contents

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